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.