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:
-
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_ROEeINTEGRATIVO_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.