Creazione Fibre Logiche
Generazione delle Fibre di Secondaria
Il metodo generateNewSecondaryFibers crea nuove fibre logiche madri di secondaria 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 delle Fibre Logiche 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 delle fibre logiche 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 delle Fibre Logiche per i nodi validi.
Parametri
-
calcFibersLogicalConfig: Oggetto di configurazione per il calcolo fibre. -
listFibPcabNodes: Elenco di nodi (FibPcabNodes) da elaborare.
-
Inizializza il componente
CreateNewFibersLogical. -
Itera attraverso
listFibPcabNodese 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 seisAreaPFSCNOCalc()eisAreaPfsCnoScp()sono entrambitrue. -
I nodi con
isGcNode()vengono ignorati seserviceApplicationType.isAB()ètrue.
createNewFibersLogical.createNewFibersLogical elabora un determinato FibPcabNode per determinare i tipi di fibra applicabili e tenta di creare le corrispondenti connessioni con le Fibre Logiche.
-
Recupera i tipi di fibra utilizzando
getFibersTypesForNode(). -
Itera attraverso i tipi di fibra:
-
Crea una nuova istanza di Fibra Logica.
-
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 il
NodeZrichiede la creazione di nuove Fibre Logiche. -
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 la creazione della fibra logica determinando unNodeA e inserendo poi la nuova fibra in una lista contenuta nell'oggetto di supporto, un secondo metodo inserirà poi tutte le fibre nel database.
-
Identifica
NodeA. -
Se
NodeAè valido, inserisce la fibra logica nella lista. -
Restituisce
truese l'operazione ha successo,falsealtrimenti.
getNewFibersLogicalByTypeCrea un'istanza di NewFiberLogical in base al tipo di fibra.
Al ternine del ciclo di creazione vengono inserite le fibre madri con il seguente metodo:
public void insertFiberLogicalList(List<FibersLogical> fibersLogicals, ProjectClaimedArea claimedArea) {
Lists.partition(fibersLogicals, PARTITION_SIZE)
.forEach(fiberList -> mapperFiberLogical.insertFibersLogicalList(fiberList));
insertEntitiesIfNeeded(fibersLogicals, claimedArea);
}
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.
Vedi anche Lezione 3 Creazione nuove fibre logiche e aggregazioni
No Comments