Calcolo sulle giunzioni impostate
Questa funzionalità si occupa del routing delle fibers logiche nei cavi (RCablesFibers). Il processo segue un percorso basato sulle connessioni tra junctions e sezioni di cavo, aggiornando i riferimenti delle fibers logiche lungo il tragitto.
Metodi Principali
routingRCablesFibersInTheCable
-
Verifica che
pkRCableFibersnon sia nullo e che non esista un ciclo nel routing. -
Recupera l'entità
RCablesFiberscorrispondente e aggiorna la listalistRCFForUpdate. -
Ottiene i dati di routing sulla junction corrispondente.
-
Determina il prossimo
RCablesFibersda processare tramitegetNextRCFPkTheCable. -
Se il prossimo elemento coincide con il primo della lista, termina l'esecuzione per evitare cicli.
-
Verifica la validità del prossimo elemento e continua il routing ricorsivamente.
Parametri:
-
pkRCableFibers: Identificativo del cavo logico corrente. -
associateRcableFibersConfig: Configurazione del routing.
getNextRCFPkTheCable
-
Determina quale sia il prossimo
RCablesFibersnel percorso in base alle condizioni di routing. -
Se esistono junctions nel percorso, ritorna
null. -
Se il routing può proseguire su junctions o sullo stesso cavo, restituisce il prossimo ID.
-
Se il routing coinvolge un'applicazione CD e non è su un nodo PCN, lancia un'eccezione.
Parametri:
-
fibLogical: Informazioni sulle fibers logiche. -
routingData: Dati di routing sulla junction corrente.
getNextRcfOnSameCable
-
Controlla se il routing può proseguire sullo stesso cavo.
-
Se l'applicazione è di tipo AB e c'è uno splitter nel nodo PCAB, termina il routing.
-
Se il nodo non è di tipo NLC, calcola la prossima sezione di cavo.
-
Se manca il
fk_logic_splice, lancia un'eccezione. -
Trova la prossima sezione PCAB e determina il prossimo
RCablesFibers.
Parametri:
-
routingData: Dati relativi alla posizione corrente.
throwNullLogicSpliceException
-
Recupera informazioni sul nodo PCAB.
-
Lancia un'eccezione se il
fk_logic_spliceè nullo, segnalando un errore di routing.
Parametri:
-
routingData: Informazioni sulla posizione corrente.
getRoutingOnJunctionData
-
Recupera le informazioni di routing sulla junction in base alla direzione (
is_in).
Parametri:
-
pkRCableFibers: Identificativo del cavo logico. -
associateRcableFibersConfig: Configurazione attuale del routing.
checkLoopRCableFibers
-
Controlla se il cavo logico corrente è già presente nella lista di routing, prevenendo loop.
Parametri:
-
pkRCablesFibers: Identificativo del cavo logico corrente. -
listRCFForUpdate: Lista degli elementi di routing attuali.
checkExistsSplitterInThePcabNodes
Descrizione:
-
Verifica se esistono splitter nel nodo PCAB specificato.
Parametri:
-
stopFindSplitter: Flag per determinare se fermarsi alla ricerca dello splitter. -
pkNode: Identificativo del nodo PCAB.
checkNextRcfInRouting
Descrizione:
-
Controlla se il prossimo
RCablesFiberscorrisponde all'elemento iniziale, in tal caso lancia un'eccezione per prevenire loop.
Parametri:
-
nextRcfPk: Identificativo del prossimo elemento di routing. -
associateRcableFibersConfig: Configurazione del routing. -
startRcfPk: Identificativo dell'elemento iniziale nel percorso.
getNextSectionOnCable
Descrizione:
-
Determina la prossima sezione di cavo in base all'ordine e alla direzione del routing.
Parametri:
-
routing: Dati di routing attuali.
findCorrectRoutingForPrimaryFiber
Descrizione:
-
Trova il miglior percorso per una fiber primaria.
-
Rimuove elementi nulli dalla lista dei percorsi.
-
Verifica la correttezza delle sezioni di routing.
Parametri:
-
fibLogical: Informazioni sulle fibers logiche. -
drawing: Identificativo del disegno del progetto.
Error Handling
-
Controllo di cicli nei percorsi con
checkLoopRCableFibers. -
Validazione di dati nulli e lanci di eccezioni con messaggi di errore chiari.
-
Logging degli errori tramite
GisfoExceptionper una migliore tracciabilità.
Dipendenze
-
mapperRCablesFibers: Per la gestione dei dati relativi aiRCablesFibers. -
mapperPcabNodes: Per ottenere informazioni sui nodi PCAB. -
mapperCavi: Per la gestione delle sezioni di cavo. -
ServiceApplicationType: Per determinare il tipo di applicazione (AB, CD, etc.). -
cdPrimaryFibers: Lista di fibers logiche primarie per l'applicazione CD.