Occupazione Fibre Fisiche
Questa funzionalità ha lo scopo di gestire l'associazione tra cavi e fibre logiche all'interno di un progetto di calcolo delle fibre logiche. Il processo prevede la generazione, aggregazione e verifica della connettività delle fibre logiche, assicurando un'organizzazione corretta e coerente delle informazioni.
Flusso di Esecuzione
1. Avvio del Processo
Il metodo principale che avvia l'associazione delle fibre è:
public CalcFibLogicalSupport associatesRCablesFibersToFibersLogicalByDrawing(CalcFibersLogicalConfig calcFibersLogicalConfig, CalcFibLogicalSupport calcFibLogicalSupport)
Passaggi chiave:
-
Generazione della lista aggregata di fibre logiche con
generateAggregatedFibersList. -
Verifica della connettività con
startCheckDisconnectedItems. -
Associazione delle fibre con
associatesRCablesFibersToFibersLogicalByFibersLogical. -
Logging e gestione degli errori tramite
reportManagereCalcLoggingUtils.
2. Generazione della Lista Aggregata di Fibre Logiche
Il metodo generateAggregatedFibersList gestisce la creazione di un supporto logico per le fibre, che include:
-
Inizializzazione della struttura dati (
initCalcFibLogicalSupport). -
Aggregazione delle fibre logiche per nodo A (
aggregatedFibersLogicalByTypeNodeA). -
Ordinamento dei cavi (
startOrderCables). -
Esecuzione di controlli specifici (
startChecks).
3. Aggregazione delle Fibre Logiche
Il metodo aggregatedFibersLogicalByTypeNodeA gestisce l'aggregazione delle fibre logiche considerando le caratteristiche dei nodi:
-
Determina
Node AeNode ZtramitesetNodeAandNodeZForAggregation. -
Verifica la tipologia delle fibre da rimuovere o aggregare.
-
Seleziona il routing adeguato per le fibre (
selectRoutingForAggregation). -
Configura il numero di fibre necessarie (
setNeededFibersForAggregation). -
Popola le mappe di aggregazione (
populateAggregHashMaps).
4. Ordinamento dei Cavi
Il metodo startOrderCables verifica il tipo di calcolo richiesto:
-
Se il tipo di calcolo è
POP, non viene effettuato alcun riordinamento. -
Per altri tipi di calcolo, il metodo
orderAggregatedFibersgestisce l'ordinamento.
5. Controlli di Connettività
Il metodo startChecks verifica la necessità di controllare la connettività tra gli elementi:
-
Se il progetto non richiede tubi con collasso (
projectNeedsTubesWithCollapse), si eseguono ulteriori controlli concheckGPPTConnected.
6. Selezione e Configurazione del Routing
Il metodo selectRoutingForAggregation imposta il percorso della fibra logica:
-
Se la fibra è di tipo
OLT_ODF, viene utilizzato il routing interno (setRoutingForInternalPopFibers). -
In caso contrario, viene impostato un routing predefinito (
setDefaultRoutingForAggregation).
7. Assegnazione dei Cavi alle Fibre
Il metodo setFkCableForAggregation assegna il cavo corretto a ciascuna fibra aggregata:
-
Recupera il cavo corrispondente alla fibra (
getCorrectFkCable). -
Verifica se il cavo è valido e aggiorna le mappe del progetto (
updateProjectNodesMaps).
Logging e Gestione degli Errori
Durante il processo, vengono registrati log dettagliati tramite:
-
CalcLoggingUtils.logMessageOnFileper eventi informativi. -
CalcLoggingUtils.logErrorper gestire eventuali eccezioni. -
reportManager.appendper aggiungere informazioni al report