Skip to main content

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.

FlussoPreparazione delle aggregazioni di EsecuzioneFibre Logiche

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 reportManager e CalcLoggingUtils.


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 A e Node Z tramite setNodeAandNodeZForAggregation.

  • 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 orderAggregatedFibers gestisce 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 con checkGPPTConnected.


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.logMessageOnFile per eventi informativi.

  • CalcLoggingUtils.logError per gestire eventuali eccezioni.

  • reportManager.append per aggiungere informazioni al report

Questa procedura gestisce l'associazione delle fibre fisiche (RCables Fibers) con le fibre logiche (Fibers Logical) nell'ambito del supporto logico delle fibre (CalcFibLogicalSupport). Il processo include la verifica dell'occupazione, l'associazione delle fibre logiche e la gestione degli aggiornamenti di routing.

Occupazione delle Fibre Fisiche

associatesRCablesFibersToFibersLogicalByFibersLogical

Descrizione:

  • Verifica la pre-occupazione delle fibre logiche.

  • Recupera e ordina la lista delle fibre logiche.

  • Registra l'occupazione delle fibre logiche.

  • Avvia il processo di associazione tra RCables Fibers e Fibers Logical.

  • Aggiunge i messaggi relativi alle fibre nel report finale.

Parametri:

  • calcFibSup: Oggetto di supporto logico per il calcolo delle fibre.

  • calcFibersLogicalConfig: Configurazione specifica per la gestione delle fibre logiche.

Dettagli dei Metodi di Supporto

startAssociatingRcableFiberstoFibLogical

Descrizione:

  • Itera sulla lista delle fibre logiche e verifica se necessitano aggiornamenti di routing.

  • Controlla se il routing è già impostato per le fibre aggregate.

  • Associa le fibre logiche alle RCables Fibers.

  • Aggiunge i messaggi di aggiornamento al report.

Parametri:

  • calcFibSup

  • listFibersLogica

  • calcFibersLogicalConfig

associatesRCablesFibersToSingleFiberLogical

Descrizione:

  • Verifica il percorso di routing per le fibre logiche.

  • Controlla le fibre logiche aggregate.

  • Effettua l'associazione tra RCables Fibers e le fibre logiche corrette.

  • Aggiorna l'ordine delle RCables Fibers.

Parametri:

  • fiberLogical: Fibre logiche aggregate.

  • calcFibSup: Supporto logico per il calcolo.

associateRcableFibers

Descrizione:

  • Imposta i tubi per le fibre successive.

  • Verifica se le fibre sono nuove e le associa di conseguenza.

  • Aggiunge messaggi di conferma o errore all'oggetto fiberLogical.

Parametri:

  • fiberLogical

  • fibersLogicalToCorrect

  • calcFibSup

recoverFibersLogicalAssociationToRcf

Descrizione:

  • Recupera le associazioni delle fibre logiche con le RCables Fibers mancanti.

  • Effettua controlli sulle sezioni di percorso e aggiorna le fibre.

Parametri:

  • fiberLogical

  • fibersLogicalToCorrect

  • calcFibSup

associateFiberToRcf

Descrizione:

  • Associa le fibre logiche alle RCables Fibers per ogni gruppo di fibre logiche.

Parametri:

  • fiberLogical

  • calcFibSup

associateRcableFibersInRouting

Descrizione:

  • Inizializza il supporto logico per la fibra.

  • Itera sulle sezioni del percorso di routing.

  • Determina le fibre libere e le associa alla sezione corrispondente.

  • Aggiorna il numero di fibre associate.

Parametri:

  • fiberLogical

  • pkFibersLogical

  • calcFibSup