Skip to main content

Grecia

Post calcolo solo per Grecia viene eseguito il fill delle giunzioni per il calcolo di primaria e per la sola 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 (fibradel tranodo nodi)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 disegno specifico e una classificazione dell'entità. Se è presente un utilizzo di rete (net_use), filtra i nodi di conseguenza.

  • Parametri:

    • drawing: ID del disegno.

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