Skip to main content

Ordinamento cavi

orderCNOPTAggregations

Questoil metodo ordina le aggregazioni di fibre logiche per i nodi A-Z basandosi sull'ordine dei cavi associati.

  • calcFibSup (CalcFibLogicalSupport): Contiene la mappa delle aggregazioni di fibre e dei cavi.

  • List<AggregatedFibersLogicalByAZNodes>: Lista ordinata delle aggregazioni di fibre logiche.

Logica:

    Per ogni progettoCNO/SCP/PFS CNO:del progetto:

      • Ottiene la mappa dei cavi per il progetto.

      • Ordina i cavi basandosi sulla logica specifica.

      • Ordina le aggregazioni di fibre in base all'ordine dei cavi.


      getCNOPTmapCables

      Recupera e organizza i cavi CNOPTCNO-PT associati a un determinato progetto CNO.

      Parametri:
      • fkCno (Long): Identificativo del progetto CNO.

      • calcFibSup (CalcFibLogicalSupport): Contiene le informazioni sui cavi e le aggregazioni.

      Ritorno:Ritorna:
      • HashMap<Long, List<PcabSection>>: Mappa dei cavi e le relative sezioni.sezioni che portano al primo GC/PCP/PFP.

      Logica:
      • Recupera i cavi PCAB associati al progetto.CNO.

      • Verifica la presenza dell'aggregazione nel cavo e determina il routing corretto.corretto, prelevandolo dal db se mancante.

      • Popola la mappa con i cavi e le loro sezioni.


      orderAggregations

      Ordinaordina le aggregazioni delle fibre logiche in base all'ordine dei cavi.

      Parametri:
      • mapAggregFibers (HashMap<Long, List<AggregatedFibersLogicalByAZNodes>>): Mappa delle aggregazioni di fibre.

      • listPkCableCno (List<Long>): Lista ordinata degli identificativi dei cavi.

      Ritorno:
      • List<AggregatedFibersLogicalByAZNodes>: Lista ordinata delle aggregazioni di fibre logiche.

      Logica:
      • Ordina le aggregazioni in base all'ordine dei cavi.

      • Separa le aggregazioni di tipo SPARE_ROE e INTEGRATIVO_GRE, che vengono aggiunte alla fine.fine, perchè vanno occupate sempre per ultime.


      topologicalSortCables

      Esegueesegue un ordinamento topologico dei cavi basandosi sulla loro dipendenza.

      Parametri:
      • drawing (Long): ID del disegnodrawing di riferimento.

      • mapCables (HashMap<Long, List<PcabSection>>): Mappa dei cavi e delle loro sezioni.

      • fkNode (Long): Nodo di riferimento.

      Ritorno:
      • List<Long>: Lista ordinata di identificativi dei cavi.

      Logica:
      • Identifica i cavi senza dipendenze e li ordina.

      • Se un cavo ha dipendenze non ancora risolte, viene messo in uno stack per essere processato successivamente.

      • Se non è possibile ordinare alcuni cavi a causa di dipendenze cicliche, viene sollevata un'eccezione.


      handleCableNotDepenceStack

      Gestiscegestisce i cavi senza dipendenze, ordinandoli correttamente.

      Parametri:
      • mapCables (HashMap<Long, List<PcabSection>>): Mappa dei cavi.

      • listOrdered (List<Long>): Lista ordinata dei cavi.

      • stackCablesToOrder (List<Long>): Stack dei cavi in attesa di essere ordinati.

      • cablesNotDepence (List<Long>): Lista dei cavi senza dipendenze.

      Logica:
      • Aggiunge i cavi senza dipendenze alla lista ordinata.

      • Se non ci sono cavi disponibili, ne preleva uno dallo stack.


      getNotOrderedCables

      Restituisce una stringa contenente gli identificativi dei cavi che non sono stati ancora ordinati.

      Parametri:

        mapCables (HashMap<Long, List<PcabSection>>): Mappa dei cavi.

        listOrdered (List<Long>): Lista dei cavi già ordinati.

        Ritorno:

          String: Identificativi dei cavi non ordinati separati da virgole.

          Logica:

            Filtra i cavi non ancora ordinati dalla mappa.

            Concatena gli identificativi in una stringa separata da virgole.


            findCableParentNodeOrderAndLength

            Trovatrova il nodo padre di un cavo e la sua lunghezza totale.

            Parametri:
            • pkCable (Long): Identificativo del cavo.

            • listPcabSection (List<PcabSection>): Lista delle sezioni del cavo.

            • mapperCavi (MapperCavi): Mappa delle informazioni sui cavi.

            • lengthTotal (int): Lunghezza totale del cavo.

            Ritorno:
            • int[]: Array contenente l'ordine del nodo e la lunghezza del cavo.

            Logica:
            • Identifica la sezione del cavo che contiene il nodo padre.

            • Recupera l'ordine del nodo e la lunghezza di riferimento.

            • Se non trova dati validi, restituisce un array con valori predefiniti.


            getNotOrderedCables restituisce una stringa contenente gli identificativi dei cavi che non sono stati ancora ordinati.

            Parametri:

              mapCables (HashMap<Long, List<PcabSection>>): Mappa dei cavi.

              listOrdered (List<Long>): Lista dei cavi già ordinati.

              Ritorno:

                String: Identificativi dei cavi non ordinati separati da virgole.

                Logica:

                  Filtra i cavi non ancora ordinati dalla mappa.

                  Concatena gli identificativi in una stringa separata da virgole.