Calcolo mediante giunzioni impostate
Questa funzionalità si occupa del routing delle fibre logiche nei cavi attraverso le giunzioni esistenti sulle fibre fisiche(fisiche (RCablesFibers). Il processo segue un percorso basato sulle connessioni tra Giunzionoi e sezioni di cavo, aggiornando i riferimenti delle fibre 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, ritornanull. Se illa routing può proseguire sujunctionsgiunzioni o sullo stesso cavo, restituisce il prossimoID.ID ,utilizzando il metodo relativo.-
Se
illa routing coinvolge un'applicazione CD e non è su un nodo PCN, lancia un'eccezione.
Parametri:
-
fibLogical: Informazioni sulle fibre logiche. -
routingData: Dati di routing sulla junction corrente.
getNextRcfOnSameCable
-
Controlla se
illa routing può proseguire sullo stesso cavo. -
Se l'applicazione è di tipo AB e c'è uno splitter nel
nodo PCAB,nodo, terminailla routing. -
Se il nodo non è di tipo NLC, calcola la prossima sezione di cavo.
-
Se manca il
fk_logic_splice,e il nodo è di tipo NLC, lancia un'eccezione. -
Trova la prossima sezione
PCABe determina il prossimoRCablesFibers.
Parametri:
-
routingData: Dati relativi alla posizione corrente.
throwNullLogicSpliceException
-
Recupera informazioni sul
nodo PCAB.nodo. -
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
junctiongiunzione in base alla direzione (is_in).
I dati vengono raggruppati in un model specifico RoutingOnJunctionData:
pk_pcab_section: sezione corrente.
pk_pcab_nodes: nodo iniziale della sezione.
is_inverted: Indica se la sezione è invertita.
ordine: Ordine della sezione.
fk_cables: Cavo della sezione.
isNodeNLC: Indica se il nodo è un NLC (Nodo di tipo NLC).
isNodePCN: Indica se il nodo è un PCN (Nodo di tipo PCN).
fk_logic_splice: pk del nodo NLC connesso.
pk_r_cables_fibers: prossima fibra fisica connessa.
fiber_number: Numero della fibra nel cavo.
stopFindSplitter: Indica se fermare la ricerca se si incontra uno splitter.
Parametri:
-
pkRCableFibers:Identificativofibradel cavo logico.fisica. -
associateRcableFibersConfig: Configurazione attuale del routing.
checkLoopRCableFibers
-
Controlla se il cavo logico corrente è già presente nella lista di routing, prevenendo loop.
Parametri:
-
pkRCablesFibers:Identificativoprossimadelfibracavofisicalogicodacorrente.occupare. -
listRCFForUpdate: Lista degli elementididella routingattuali.attuale.
checkExistsSplitterInThePcabNodes
-
Verifica se esistono splitter nel nodo
PCAB specificato.corrente.
Parametri:
-
stopFindSplitter: Flag per determinare se fermarsiallaalricercaprimodellosplittersplitter.incontrato. -
pkNode: Identificativo delnodo PCAB.nodo.
checkNextRcfInRouting
-
Controlla se il prossimo
RCablesFiberscorrisponde all'elemento iniziale, in tal caso lancia un'eccezione per prevenire loop.
Parametri:
-
nextRcfPk: Identificativodeldellaprossimoprossimaelementofibradi routing.fisica. -
associateRcableFibersConfig:ConfigurazioneOggettodeldirouting.stato. -
startRcfPk: Identificativodell'elementodella fibra fisica inizialeneldel percorso.
getNextSectionOnCable
-
Determina la prossima sezione di cavo in base all'ordine e alla direzione del routing.
Parametri:
-
routing:DatiRoutingdi routing attuali.
findCorrectRoutingForPrimaryFiber
Trova il miglior percorso per una fiber primaria.Rimuove elementi nulli dalla lista dei percorsi.Verifica la correttezza delle sezioni di routing.attuale.
Parametri:
fibLogical: Informazioni sulle fibre logiche.drawing: Identificativo del drawing 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 fibre logiche primarie per l'applicazione CD.