Skip to main content

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

Descrizione:

  • Verifica che pkRCableFibers non sia nullo e che non esista un ciclo nel routing.

  • Recupera l'entità RCablesFibers corrispondente e aggiorna la lista listRCFForUpdate.

  • Ottiene i dati di routing sulla junction corrispondente.

  • Determina il prossimo RCablesFibers da processare tramite getNextRCFPkTheCable.

  • 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

Descrizione:

  • Determina quale sia il prossimo RCablesFibers nel 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

Descrizione:

  • 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

Descrizione:

  • 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

Descrizione:

  • 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

Descrizione:

  • 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 RCablesFibers corrisponde 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 GisfoException per una migliore tracciabilità.

Dipendenze

  • mapperRCablesFibers: Per la gestione dei dati relativi ai RCablesFibers.

  • 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.