Skip to main content

Calcolo mediante giunzioni impostate

Questa funzionalità si occupa deldella routing delle fibre logiche nei cavi attraverso le giunzioni esistenti sulle fibre fisiche (RCablesFibers). Il processo segue un percorso basato sulle connessioni tra Giunzionoigiunzioni e sezioni di cavo, aggiornando i riferimenti delle fibre logiche lungo il tragitto.

Metodi PrincipaliPrincipali:

routingRCablesFibersInTheCable
  • Verifica che pkRCableFibers non sia nullo e che non esista un ciclo nelnella 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 illa routing ricorsivamente.

Parametri:

  • pkRCableFibers: Identificativo deldella cavofibra logicofisica corrente.

  • associateRcableFibersConfig: Configurazione deldella routing.

getNextRCFPkTheCable
  • Determina quale sia il prossimo RCablesFibers nel percorso in base alle condizioni di routing.

  • Se la routing può proseguire su giunzioni o sullo stesso cavo, restituisce il prossimo ID ,utilizzando il metodo relativo.

  • Se la 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 la routing può proseguire sullo stesso cavo.

  • Se l'applicazione è di tipo AB e c'è uno splitter nel nodo, termina la 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 e determina il prossimo RCablesFibers.

Parametri:

  • routingData: Dati relativi alla posizione corrente.

throwNullLogicSpliceException
  • Recupera informazioni sul 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 giunzione 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: Identificativo della fibra fisica.

  • associateRcableFibersConfig: Configurazione attuale deldella routing.

checkLoopRCableFibers
  • Controlla se illa cavofibra logicofisica corrente è già presente nella lista di routing, prevenendo loop.

Parametri:

  • pkRCablesFibers: prossima fibra fisica da occupare.

  • listRCFForUpdate: Lista degli elementi della routing attuale.

checkExistsSplitterInThePcabNodes

  • Verifica se esistono splitter nel nodo corrente.

Parametri:

  • stopFindSplitter: Flag per determinare se fermarsi al primo splitter incontrato.

  • pkNode: Identificativo del nodo.

checkNextRcfInRouting
  • Controlla se il prossimo RCablesFibers corrisponde all'elemento iniziale, in tal caso lancia un'eccezione per prevenire loop.

Parametri:

  • nextRcfPk: Identificativo della prossima fibra fisica.

  • associateRcableFibersConfig: Oggetto di stato.

  • startRcfPk: Identificativo della fibra fisica iniziale del percorso.

getNextSectionOnCable
  • Determina la prossima sezione di cavo in base all'ordine e alla direzione del routing.

Parametri:

  • routing: Routing attuale.

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

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