Skip to main content

Creazione Fibre Logiche

Generazione delle Fibre Secondarie

Il metodo generateNewSecondaryFibers crea nuove fibre logiche madri secondarie e, se necessario, esegue controlli sugli Splitter secondari.

private CalcFibLogicalSupport generateNewSecondaryFibers(CalcFibersLogicalConfig calcFibersLogicalConfig) throws GisfoException {
    CalcFibLogicalSupport calcFibLogicalSupport = new CalcFibLogicalSupport(null, calcFibersLogicalConfig);
    
    if (serviceApplicationType.isAB() || serviceApplicationType.isGP())
        serviceSplitterSecondario.checkSecondarySplittersByConfig(calcFibersLogicalConfig);
    
    if (calcFibersLogicalConfig.hasToSkipPrePhase()) return calcFibLogicalSupport;
    
    createNewFibersLogical(calcFibersLogicalConfig);
    return calcFibLogicalSupport;
}

Creazione di Nuove Fibers Logical

Metodo: createNewFibersLogical

  • Registra un messaggio di log sulla creazione delle fibers logical.

  • Recupera i nodi per cui creare nuove fibers logical.

  • Avvia la creazione delle fibers logical utilizzando createNewFibersLogicalForFibPcabNodes.

Questo documento descrive il processo di creazione delle connessioni logiche delle fibreFibre Logiche per i FibPcabNodes all'interno di un sistema di rete. L'implementazione garantisce che vengano elaborati solo i nodi validi, ignorando quelli non necessari, e gestisce eventuali eccezioni.

il metodo createNewFibersLogicalForFibPcabNodes inizializza il processo di creazione della logica delle fibre e itera attraverso un elenco di FibPcabNodes. Applica controlli specifici per determinare se un nodo debba essere ignorato e procede con la creazione delle connessioni logiche delle fibreFibre Logiche per i nodi validi.

Parametri

  • calcFibersLogicalConfig: Oggetto di configurazione per il calcolo della logica delle fibre.

  • listFibPcabNodes: Elenco di nodi (FibPcabNodes) da elaborare.

  1. Inizializza il componente CreateNewFibersLogical.

  2. Chiama init() per impostare il processo di creazione della logica delle fibre.

  3. Itera attraverso listFibPcabNodes e determina se un nodo debba essere ignorato.

  4. Se valido, chiama createNewFibersLogicalByFibPcabNode().


nodeNeedToBeSkipped determina se un FibPcabNode debba essere ignorato in base alle condizioni derivate da CalcFibersLogicalConfig e dal tipo di nodo.

Condizioni

  • I nodi con isCnoNode() vengono ignorati se isAreaPFSCNOCalc() e isAreaPfsCnoScp() sono entrambi true.

  • I nodi con isGcNode() vengono ignorati se serviceApplicationType.isAB() è true.


createNewFibersLogical.createNewFibersLogicalElabora un determinato FibPcabNode per determinare i tipi di fibra applicabili e tenta di creare le corrispondenti connessioni logichecon dellele fibre.Fibre Logiche.

  1. Recupera i tipi di fibra utilizzando getFibersTypesForNode().

  2. Itera attraverso i tipi di fibra:

    • Crea una nuova istanza di logicaFibra della fibra.Logica.

    • Gestisce eccezioni specifiche (es. NoTypeFiberException).


createFiberLogicalByNodeAType tenta di stabilire una nuova connessione logica delle fibre tra un nodo e il suo percorso più breve.

  1. Ordina l'elenco dei nodi slave.

  2. Controlla se il NodeZ richiede la creazione di nuove logicheFibre delle fibre.Logiche.

  3. Itera attraverso i nodi slave:

    • Determina il percorso più breve.

    • Valida la classificazione del nodo.

    • Se trova un nodo valido, inserisce la Fibra logica.


getNodeAForNewFiberLogical Finalizza l'inserimento della fibra logica determinando NodeA e inserendo la connessione logicaFibra della fibraLogica nella rete.

  1. Identifica NodeA.

  2. Se NodeA è valido, inserisce la fibra logica.

  3. Restituisce true se l'operazione ha successo, false altrimenti.


getNewFibersLogicalByTypeCrea un'istanza di NewFiberLogical in base al tipo di fibra.

Tipologie supportate

  • S_FIBER_TYPE_SPLITTER

  • S_FIBER_TYPE_GPON

  • S_FIBER_TYPE_BU

  • S_FIBER_TYPE_SPARE_FOR_CARDS

  • S_FIBER_TYPE_GPON_U

  • S_FIBER_TYPE_P2P_PAC

  • S_FIBER_TYPE_P2P_POI

  • S_FIBER_TYPE_SPARE_CNO

  • S_FIBER_TYPE_SPARE_ROE

  • S_FIBER_TYPE_BUSINESS

  • S_FIBER_TYPE_DARK_FIBER

  • S_FIBER_TYPE_LAN_TO_LAN

  • S_FIBER_TYPE_OLT_ODF

  • S_FIBER_TYPE_POP_SP

  • S_FIBER_TYPE_SP_SS

  • S_FIBER_TYPE_SS_BUSINESS

Se viene fornito un tipo non supportato, viene lanciata un'eccezione NoTypeFiberException.


Gestione delle Eccezioni

  • Registrazione degli errori tramite log.error().

  • Aggiunta dei messaggi di errore a reportManager.

  • Gestione dei casi specifici in cui la creazione della fibra logica non è possibile.

L'errore più comune è:

S_ERROR_ROUTING_FOR_FIBERSINGLE = Non è stato possibile individuare la routing del nodo X

questo errore viene mostrato se tutta la procedura precedentemente spiegata non riesce ad individuare un nodo A valido per il nodo X.