Solution - Fiber - Unhandled Exception with Connection Manager on Splice Points: Same Key has Already been Added

Version 1

    Behavior

     

    When using Connection Manager to view connection information at a splice point, certain conditions can cause an Unhandled Exception dialog to appear.

     

    UnhandledException_SameKey.png

    The Unhandled Exception dialog may appear due to a few different issues. As such, it is important to check the associated message and view the Miner event log for any reported errors. In this scenario, a reported error similar to the following appears within the Event Viewer:

     

    2018-04-11 15:31:31,049 [1] ERROR Miner.Desktop.FiberManager.ConnectionManager [(null)] -  System.ArgumentException: An item with the same key has already been added. at  System.ThrowHelper.ThrowArgumentException(ExceptionResource resource) at  System.Collections.Generic.Dictionary`2.Insert(TKey key, TValue value, Boolean add) at  System.Collections.Generic.Dictionary`2.Add(TKey key, TValue value) at  Miner.FrameworkUI.FiberManager.FiberDataSetFactory.CreateLocationDataSet(String  displayFieldModelName, IFeature feature) at Miner.Desktop.FiberManager.ConnectionManager.ShowConnectionManager(IFeature feature) at  Miner.Desktop.FiberManager.ConnectionManager.OnMouseDown(Int32 Button, Int32 Shift, Int32 X,  Int32 Y)

     

    Cause

     

    This error is affiliated with using the Connection Manager tool on a fiber network junction, such as a patch location or splice point. The issue stems from having these network feature types snapped midspan along a fiber optic cable. With Fiber Manager, connections to fiber strands can only be made at the end-points of the fiber cable features.

     

    Solution

     

    To verify the condition, select the splice point along with the associated cable. Within the ArcFM Attribute Editor, access the selection tab. The selected splice point should be displayed. Expand the Fiber Optic Cable group and verify the number of cables shown.

     

    In the example below, a splice point along with two fiber optic cables are shown. This indicates that the splice point properly split the cable when initially sketched. In this case, Connection Manager would not throw the exception when used on the splice point.

     

    If only a single cable were shown, it would indicate that the fiber cable was not properly split when the splice point was placed. Since the splice point resides along the midspan of the fiber cable, an Unhandled Exception error is thrown when using Connection Manager on this feature.

     

    SplicePointSelected.png

     

    There are a couple of options to correct the error. The recommended (easiest and most straight-forward) option involves the existing splice point being deleted and resketched. In this case, you need to verify that the cable is properly split when a new splice point is placed.

     

    The other option would be to try and move the splice point off the cable, then reposition and snap the splice point back to the cable. In this situation, you need to verify that the cable is properly split with the editing update. In this second case, it is important not to use the Esri split options to manually split the cable. The Esri tools do not honor all the underlying related objects and connections associated with Fiber Manager. Use of the Esri split tools to try and resolve the midspan placement issue will create further data problems.

     

    If splitting of the fiber cable does not occur when the splice point is initially sketched or when the existing splice point is repositioned along the cable, you need to ensure that the ArcFM Fiber Optic Cable Splitter autoupdater is properly assigned to the splice point feature class. These autoupdaters are specifically designed to handle all of the necessary connections associated with splitting fiber optic cables. 

     

    Within ArcCatalog, access the ArcFM Properties Manager dialog for a splice point. Within the Object Info tab, verify that the ArcFM Fiber Optic Cable Splitter is assigned to either or both of the following: On Feature Create, On Feature Update.

     

    CableSplitterAu.png

    With On Feature Create, the autoupdater triggers splitting of the cable when the splice point is initially sketched. With On Feature Update, splitting will occur when editing and repositioning an existing splice point along a fiber cable.

     

    Caution is advised in adding the ArcFM Fiber Optic Cable Splitter to the "On Feature Update" event.  Connections at a splice location are not automatically deleted when the feature is moved away from its connection between cables.  The valid workflows for this configuration are very specific and users must be familiar with the requirements for re-positioning existing Fiber Manager features.