Skip to main content

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.