Unidata
1 Assegnazione degli fk ai cavi
private Boolean checkIfCableCanRoutedWithGcLocation(List<PcabNodes> cableNodesList) {
boolean useGC = true;
if (serviceApplicationType.isAB()) {
if (searchIndexPcabNodesInListByClassif(cableNodesList, PcabNodes.S_ID_ENTITY_CLASSIFICATION_PT_OR_ROE) >= 0) {
useGC = false;
} else {
Integer pdIndex = searchIndexPcabNodesInListByClassif(cableNodesList, PcabNodes.S_ID_ENTITY_CLASSIFICATION_PD);
if (pdIndex >= 0 && checkIfPdIsConnectedToCNO(cableNodesList.get(pdIndex))) {
useGC = false;
}
}
}
return useGC;
}
Solo per Unidata è possibile ridurre il range di ricerca degli fk ai soli PD o PFS, questo per evitare che si intreccino le aree PFS in doppia progettazione. Quindi avremo che in caso di PD presenti tra i nodi del cavo andrò a puntare direttamente al primo PFS, oppure se nel cavo è presente un CNO. La ricerca recursiva viene fatta escludendo i cavi di Unidata.
Calcolo occupazione fibre logiche di secondaria di Unidata:
-
getCurrentSection: Aggiunge logica per verificare se
getOfSingleNode()è attivo. Se lo è, controlla se ci sono sezioni sorelle da occupare. -
checkIfSectionIsFree: Implementa un metodo per verificare se una sezione specifica ha fibre disponibili.
-
getTheFreeNumFibersByApp: Aggiunge logica per gestire fibre prioritarie in base a criteri specifici (es.
VALUE_P2P_OF_BUSINESS,FibersLogical.S_FIBER_TYPE_SPARE_ROE). Può anche rimuovere fibre per uso primario se necessario. -
setFreeFibersInTubes: Usa
serviceRCablesFiberTubes.getFirstFreeFiberIndex()per determinare il primo indice disponibile di una fibra. -
setJointError: Gestisce errori di giunzione e genera un messaggio di avviso.
-
Gestione della priorità delle fibre: Verifica se esistono fibre prioritarie, ridistribuendole in base a esigenze di rete.
-
Verifica sezioni sorelle: Determina se una sezione può essere utilizzata in alternativa per ottimizzare l'allocazione delle fibre.