Skip to main content

Grecia

Post calcolo solo per Grecia viene eseguito il fillriempimento delle giunzioni per il calcolo di primaria e per la solarete di tipo aggregation:

Per creare una documentazione chiara e comprensibile per la classe JunctionFillService, bisogna descrivere i suoi scopi principali, le dipendenze, i metodi, le classi interne e gli algoritmi implementati. La documentazione dovrebbe essere utile per gli sviluppatori che dovranno utilizzare o modificare questo servizio.

Classe JunctionFillService

La classe JunctionFillService è un componente di servizio in un'applicazione Spring che si occupa di gestire le connessioni e la creazione di "giunzioni" tra nodi di una rete di fibra ottica. La sua funzione principale è quella di riempire le giunzioni del nodo anche per le fibre fisiche non occupate, in base ai dati di input relativi alla rete e ai nodi.

Dipendenze

    DaoPcabNodes: Interagisce con il database per ottenere informazioni sui nodi fisici della rete.

    DaoFibJoints: Gestisce l'accesso e le operazioni sulle giunzioni di fibra ottica.

    DaoPcabSection: Gestisce le informazioni relative alle sezioni dei nodi.

    DaoRCablesFiber: Interagisce con le informazioni sui cavi in fibra ottica e le relative connessioni.

    ServicePcabNodes: Fornisce metodi per ottenere informazioni aggiuntive sui nodi e per aggiungere nodi relativi ai progetti.

    ServiceRoutingFibersUtils: Utilizza le rotte di fibra per determinare come indirizzare la fibra tra i nodi.

    RoutingsService: Gestisce le rotte di fibra ottica attraverso diversi progetti.

    CalcFibersReportManager: Si occupa della gestione dei report di calcolo delle fibre.

    CalcFibLogicalMessages: Contiene messaggi di errore e successi.

    Funzioni principali

    fillJunctionOfNodesByDrawingAndClassif

    Riempe le giunzioni per i nodi basati su un disegnoprogetto specifico e una classificazione dell'entità. Se è presente un utilizzo di rete (net_use), filtra i nodi di conseguenza.

    • Parametri:

      • drawing: ID del disegno.progetto.

      • entityClassif: ID della classificazione dell'entità.

      • net_use: ID dell'utilizzo della rete (opzionale).

    • Funzionalità: Recupera i nodi dal database e riempie le giunzioni per quei nodi.

    fillJunctionOfNodesByDrawingAndUse

    Riempe le giunzioni per i nodi basati su un disegnoprogetto e una configurazione logica di fibre.

    • Parametri:

      • calcFibersLogicalConfig: Configurazione logica delle fibre per determinare quali nodi devono essere trattati.

    • Funzionalità: Recupera i nodi e filtra quelli che non sono di tipo waypoint o NLC (Non Leaf Nodes), quindi riempie le giunzioni per questi nodi.

    fillJunctionsOfNodeList

    Il metodo principale che gestisce il riempimento delle giunzioni per un elenco di nodi.

    • Parametri:

      • pcabNodesList: Elenco dei nodi da elaborare.

      • drawing: ID del disegnoprogetto a cui appartengono i nodi.

    • Funzionalità: Costruisce lo stato delle giunzioni (entrate, uscite, dimensioni delle tubazioni, ecc.) e invoca l'inserimento delle giunzioni nel database.

    insertFillJunctions

    Inserisce le giunzioni calcolate nel database in batch.

    • Parametri:

      • fillJunctionsState: Lo stato che contiene tutte le giunzioni da inserire.

    • Funzionalità: Partiziona le giunzioni in gruppi di dimensioni appropriate e le inserisce nel database.

    mapPcabNodesFibJoints

    Mappa i nodi ai rispettivi oggetti di giunzione di fibra ottica.

    • Parametri:

      • pcabNodesList: Lista dei nodi da mappare.

    • Funzionalità: Associa i nodi alle rispettive giunzioni di fibra nel database.

    mapPcabNodeConnections

    Mappa le connessioni in entrata o in uscita per i nodi, a seconda della direzione (inDirection).

    • Parametri:

      • pcabNodesList: Lista dei nodi da elaborare.

      • inDirection: Booleano che determina se stiamo cercando le connessioni in entrata (true) o in uscita (false).

    • Funzionalità: Restituisce una mappa che associa ogni nodo a una lista di connessioni di fibra ottica.

    getBackhauling

    Ottiene la sezione di backhauling per un nodo specifico.

    • Parametri:

      • endNode: Il nodo di destinazione per cui trovare la sezione di backhauling.

    • Funzionalità: Trova la rotta di backhauling e restituisce l'ID della sezione.

    createFillFibJoints

    Crea le giunzioni di fibra da riempire per un determinato stato delle giunzioni.

    • Parametri:

      • junctionsFillState: Lo stato che contiene tutte le informazioni necessarie per creare le giunzioni.

    • Funzionalità: Crea e restituisce una lista di oggetti FibJoints da inserire nel database.

    getOutRcf

    Trova il cavo di fibra ottica in uscita per un nodo specifico, in base ai parametri di giunzione.

    • Parametri:

      • nodePk: ID del nodo di partenza.

      • junctionsFillState: Lo stato che contiene le informazioni delle giunzioni.

      • boundaries: I confini del percorso della sezione di fibra.

    • Funzionalità: Restituisce il cavo di fibra in uscita per il nodo, se disponibile.

    Classi e strutture di supporto

    • JunctionsFillState: Contiene lo stato delle giunzioni da riempire, comprese le connessioni in ingresso e in uscita, le giunzioni esistenti e altre informazioni.

    • FibJoints: Rappresenta una singola giunzione di fibra ottica, collegando due cavi tra i nodi.

    • RCablesFibersUses: Rappresenta l'uso di un cavo di fibra ottica in una specifica sezione.

    • JunctionPathSectionBoundaries: Definisce i confini del percorso della sezione di fibra per la giunzione.

    Errori e messaggi

    La classe gestisce gli errori tramite l'oggetto reportManager, che raccoglie messaggi di errore quando qualcosa va storto durante il riempimento delle giunzioni.