Creazione Fibre Logiche
Generazione delle Fibre Secondarie
Il metodo generateNewSecondaryFibers crea nuove fibre logiche madri secondarie e, se necessario, esegue controlli sugli Splitter secondari.
private CalcFibLogicalSupport generateNewSecondaryFibers(CalcFibersLogicalConfig calcFibersLogicalConfig) throws GisfoException {
CalcFibLogicalSupport calcFibLogicalSupport = new CalcFibLogicalSupport(null, calcFibersLogicalConfig);
if (serviceApplicationType.isAB() || serviceApplicationType.isGP())
serviceSplitterSecondario.checkSecondarySplittersByConfig(calcFibersLogicalConfig);
if (calcFibersLogicalConfig.hasToSkipPrePhase()) return calcFibLogicalSupport;
createNewFibersLogical(calcFibersLogicalConfig);
return calcFibLogicalSupport;
}
Creazione di Nuove Fibers Logical
Metodo: createNewFibersLogical
Registra un messaggio di log sulla creazione delle fibers logical.
Recupera i nodi per cui creare nuove fibers logical.
Avvia la creazione delle fibers logical utilizzando createNewFibersLogicalForFibPcabNodes.
Questo documento descrive il processo di creazione delle connessioni logiche delle fibre per i FibPcabNodes all'interno di un sistema di rete. L'implementazione garantisce che vengano elaborati solo i nodi validi, ignorando quelli non necessari, e gestisce eventuali eccezioni.
il metodo createNewFibersLogicalForFibPcabNodes inizializza il processo di creazione della logica delle fibre e itera attraverso un elenco di FibPcabNodes. Applica controlli specifici per determinare se un nodo debba essere ignorato e procede con la creazione delle connessioni logiche delle fibre per i nodi validi.
Parametri
calcFibersLogicalConfig: Oggetto di configurazione per il calcolo della logica delle fibre.
listFibPcabNodes: Elenco di nodi (FibPcabNodes) da elaborare.
Inizializza il componente CreateNewFibersLogical.
Chiama init() per impostare il processo di creazione della logica delle fibre.
Itera attraverso listFibPcabNodes e determina se un nodo debba essere ignorato.
Se valido, chiama createNewFibersLogicalByFibPcabNode().
nodeNeedToBeSkipped determina se un FibPcabNode debba essere ignorato in base alle condizioni derivate da CalcFibersLogicalConfig e dal tipo di nodo.
Condizioni
I nodi con isCnoNode() vengono ignorati se isAreaPFSCNOCalc() e isAreaPfsCnoScp() sono entrambi true.
I nodi con isGcNode() vengono ignorati se serviceApplicationType.isAB() è true.
createNewFibersLogical.createNewFibersLogicalElabora un determinato FibPcabNode per determinare i tipi di fibra applicabili e tenta di creare le corrispondenti connessioni logiche delle fibre.
Recupera i tipi di fibra utilizzando getFibersTypesForNode().
Itera attraverso i tipi di fibra:
Crea una nuova istanza di logica della fibra.
Gestisce eccezioni specifiche (es. NoTypeFiberException).
createFiberLogicalByNodeAType tenta di stabilire una nuova connessione logica delle fibre tra un nodo e il suo percorso più breve.
Ordina l'elenco dei nodi slave.
Controlla se NodeZ richiede la creazione di nuove logiche delle fibre.
Itera attraverso i nodi slave:
Determina il percorso più breve.
Valida la classificazione del nodo.
Se trova un nodo valido, inserisce la Fibra logica.
getNodeAForNewFiberLogical Finalizza l'inserimento della fibra logica determinando NodeA e inserendo la connessione logica della fibra nella rete.
Identifica NodeA.
Se NodeA è valido, inserisce la fibra logica.
Restituisce true se l'operazione ha successo, false altrimenti.
getNewFibersLogicalByTypeCrea un'istanza di NewFiberLogical in base al tipo di fibra.
Tipologie supportate
S_FIBER_TYPE_SPLITTER
S_FIBER_TYPE_GPON
S_FIBER_TYPE_BU
S_FIBER_TYPE_SPARE_FOR_CARDS
S_FIBER_TYPE_GPON_U
S_FIBER_TYPE_P2P_PAC
S_FIBER_TYPE_P2P_POI
S_FIBER_TYPE_SPARE_CNO
S_FIBER_TYPE_SPARE_ROE
S_FIBER_TYPE_BUSINESS
S_FIBER_TYPE_DARK_FIBER
S_FIBER_TYPE_LAN_TO_LAN
S_FIBER_TYPE_OLT_ODF
S_FIBER_TYPE_POP_SP
S_FIBER_TYPE_SP_SS
S_FIBER_TYPE_SS_BUSINESS
Se viene fornito un tipo non supportato, viene lanciata un'eccezione NoTypeFiberException.
Gestione delle Eccezioni
Registrazione degli errori tramite log.error().
Aggiunta dei messaggi di errore a reportManager.
Gestione dei casi specifici in cui la creazione della fibra logica non è possibile.
L'errore più comune è:
S_ERROR_ROUTING_FOR_FIBERSINGLE = Non è stato possibile individuare la routing del nodo X
questo errore viene mostrato se tutta la procedura precedentemente spiegata non riesce ad individuare un nodo A valido per il nodo X.