Skip to main content

Ordinamento cavi

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

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

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

Logica:
  1. Per ogni progetto CNO:

    • 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 CNOPT associati a un determinato progetto CNO.

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

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

Ritorno:
  • HashMap<Long, List<PcabSection>>: Mappa dei cavi e le relative sezioni.

Logica:
  • Recupera i cavi PCAB associati al progetto.

  • Verifica la presenza dell'aggregazione nel cavo e determina il routing corretto.

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


orderAggregations

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


topologicalSortCables

Esegue un ordinamento topologico dei cavi basandosi sulla loro dipendenza.

Parametri:
  • drawing (Long): ID del disegno 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

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