Fix minor clumsy sonar issues 79/55879/1
authorAdam Wudzinski <adam.wudzinski@nokia.com>
Thu, 5 Jul 2018 13:05:33 +0000 (15:05 +0200)
committerawudzins <adam.wudzinski@nokia.com>
Thu, 5 Jul 2018 13:05:33 +0000 (15:05 +0200)
Change-Id: Ib3c6c469236a635e6f2a1f4314aab67254128c73
Issue-ID: AAI-1366
Signed-off-by: awudzins <adam.wudzinski@nokia.com>
aai-traversal/src/main/java/org/onap/aai/dbgraphgen/ModelBasedProcessing.java
aai-traversal/src/main/java/org/onap/aai/dbgraphmap/SearchGraph.java
aai-traversal/src/main/java/org/onap/aai/rest/QueryConsumer.java
aai-traversal/src/main/java/org/onap/aai/rest/retired/RetiredConsumer.java
aai-traversal/src/main/java/org/onap/aai/rest/search/GenericQueryProcessor.java
aai-traversal/src/main/java/org/onap/aai/util/MakeNamedQuery.java
aai-traversal/src/main/java/org/onap/aai/web/JerseyConfiguration.java

index 9d2b934..1f7a75f 100644 (file)
@@ -60,9 +60,9 @@ public class ModelBasedProcessing {
        private Loader loader;
        private DBSerializer serializer;
        private DbMethHelper dbMethHelper;
-       
+
        protected ModelBasedProcessing() {
-               
+
        }
        public ModelBasedProcessing(Loader loader, TransactionalGraphEngine engine, DBSerializer serializer) {
                this.loader = loader;
@@ -85,25 +85,25 @@ public class ModelBasedProcessing {
         * @throws AAIException the AAI exception
         */
        public Map<String,String> getStartNodesAndModVersionIds( String transId, String fromAppId,
-                       String passedModelVersionId, 
+                       String passedModelVersionId,
                        String passedModelInvId,
                        String passedModelName,
                        String passedTopNodeType,
-                       List<Map<String,Object>> startNodeFilterArrayOfHashes, 
-                       String apiVer ) 
+                       List<Map<String,Object>> startNodeFilterArrayOfHashes,
+                       String apiVer )
                                        throws AAIException {
                // ----------------------------------------------------------------------------------------------------
                // Get a hash for all start-nodes (key = vtxId, val = modelVersionId that applies)
-               //     If no start-node-key info is passed, then use either the passed modelVersion or 
+               //     If no start-node-key info is passed, then use either the passed modelVersion or
                //         the passed model-invariant-id or model-name to collect them.
-               //     If start-node-key info is given, use it instead to look for start-nodes. 
-               //         Note: if ONLY start-node-key info is given, then it would have to map to nodes which 
+               //     If start-node-key info is given, use it instead to look for start-nodes.
+               //         Note: if ONLY start-node-key info is given, then it would have to map to nodes which
                //         have persona data.  Otherwise we'd have no way to know what model to collect data with.
                // ----------------------------------------------------------------------------------------------------
 
                Iterator<Vertex> startVerts = null;
                Map<String, String> startVertInfo = new HashMap<>();
-               
+
                if( startNodeFilterArrayOfHashes.isEmpty() ){
                        // Since they did not give any data to find start instances, we will have to find them
                        // using whatever model-info they provided so we can use it to map to persona-data in the db.
@@ -125,7 +125,7 @@ public class ModelBasedProcessing {
                                        if( calcModId != null ){
                                                startVerts = this.engine.asAdmin().getReadOnlyTraversalSource().V().has(addDBAliasedSuffix("model-invariant-id"),calcModId).has(addDBAliasedSuffix("model-version-id"),passedModelVersionId);
                                        }
-                               }       
+                               }
                                else if( passedModelInvId != null && !passedModelInvId.equals("") ){
                                        // They gave us the model-invariant-id
                                        startVerts = this.engine.asAdmin().getReadOnlyTraversalSource().V().has(addDBAliasedSuffix("model-invariant-id"),passedModelInvId);
@@ -138,11 +138,11 @@ public class ModelBasedProcessing {
                                                for( int i = 0; i < modelVerVtxList.size(); i++ ){
                                                        String calcModVerId = (modelVerVtxList.get(i)).<String>property("model-version-id").orElse(null);
                                                        Vertex modVtx = getModelGivenModelVer(modelVerVtxList.get(i),"");
-                                                       String calcModInvId = modVtx.<String>property("model-invariant-id").orElse(null);               
+                                                       String calcModInvId = modVtx.<String>property("model-invariant-id").orElse(null);
                                                        // Now we can look up instances that match this model's info
                                                        Iterator<Vertex> tmpStartIter = this.engine.asAdmin().getReadOnlyTraversalSource().V().has(addDBAliasedSuffix("model-invariant-id"),calcModInvId).has(addDBAliasedSuffix("model-version-id"),calcModVerId);
                                                        while( tmpStartIter.hasNext() ){
-                                                               Vertex tmpStartVert = (Vertex) tmpStartIter.next();
+                                                               Vertex tmpStartVert = tmpStartIter.next();
                                                                startVtxList.add(tmpStartVert);
                                                        }
                                                }
@@ -150,12 +150,12 @@ public class ModelBasedProcessing {
                                        if( !startVtxList.isEmpty() ){
                                                startVerts = startVtxList.iterator();
                                        }
-                               }       
+                               }
                        }
-                       
-                       if( startVerts != null ){ 
+
+                       if( startVerts != null ){
                                while( startVerts.hasNext() ){
-                                       Vertex tmpStartVert = (Vertex) startVerts.next();
+                                       Vertex tmpStartVert = startVerts.next();
                                        String vid = tmpStartVert.id().toString();
                                        String tmpModId =  tmpStartVert.<String>property(addDBAliasedSuffix("model-invariant-id")).orElse(null);
                                        String tmpModVerId =  tmpStartVert.<String>property(addDBAliasedSuffix("model-version-id")).orElse(null);
@@ -164,12 +164,12 @@ public class ModelBasedProcessing {
                        }
                        if( startVertInfo.isEmpty() ){
                                throw new AAIException("AAI_6114", "Start Node(s) could not be found for model data passed.  " +
-                                               "(modelVersionId = [" + passedModelVersionId + 
+                                               "(modelVersionId = [" + passedModelVersionId +
                                                "], modelInvariantId = [" + passedModelInvId +
                                                "], modelName = [" + passedModelName +
                                                "])");
                        }
-                       
+
                        return startVertInfo;
                }
                else {
@@ -179,17 +179,17 @@ public class ModelBasedProcessing {
                        String modInfoStr = "";
                        if( passedModelVersionId != null && !passedModelVersionId.equals("") ){
                                modTopNodeType = getModelVerTopWidgetType( transId, fromAppId, passedModelVersionId, "", "" );
-                               modInfoStr = "modelVersionId = (" + passedModelVersionId + ")"; 
+                               modInfoStr = "modelVersionId = (" + passedModelVersionId + ")";
                        }
                        else if( passedModelInvId != null && !passedModelInvId.equals("") ){
                                modTopNodeType = getModelVerTopWidgetType( transId, fromAppId,"", passedModelInvId, "" );
-                               modInfoStr = "modelId = (" + passedModelInvId + ")"; 
+                               modInfoStr = "modelId = (" + passedModelInvId + ")";
                        }
                        else if( passedModelName != null && !passedModelName.equals("") ){
                                modTopNodeType = getModelVerTopWidgetType( transId, fromAppId,"", "", passedModelName );
-                               modInfoStr = "modelName = (" + passedModelName + ")"; 
+                               modInfoStr = "modelName = (" + passedModelName + ")";
                        }
-                       
+
                        if( modTopNodeType.equals("") ){
                                if( (passedTopNodeType == null) || passedTopNodeType.equals("") ){
                                        String msg = "Could not determine the top-node nodeType for this request. modelInfo: [" + modInfoStr + "]";
@@ -202,16 +202,16 @@ public class ModelBasedProcessing {
                                }
                        }
                        else {
-                               // we did get a topNode type based on model info - make sure it doesn't contradict 
+                               // we did get a topNode type based on model info - make sure it doesn't contradict
                                // the passsed-in one (if there is one)
-                               if( passedTopNodeType != null && !passedTopNodeType.equals("") 
+                               if( passedTopNodeType != null && !passedTopNodeType.equals("")
                                                && !passedTopNodeType.equals(modTopNodeType) ){
                                        throw new AAIException("AAI_6120", "topNodeType passed in [" + passedTopNodeType
                                                        + "] does not match nodeType derived for model info passed in: ["
-                                                       + modTopNodeType + "]"); 
+                                                       + modTopNodeType + "]");
                                }
                        }
-                               
+
                        List<String> modelVersionIds2Check = new ArrayList<>();
                        if( (passedModelName != null && !passedModelName.equals("")) ){
                                // They passed a modelName, so find all the model UUIDs (model-version-id's) that map to this
@@ -231,7 +231,7 @@ public class ModelBasedProcessing {
                                        modelVersionIds2Check.add(passedModelVersionId);
                                }
                        }
-                       
+
                        // We should now be OK with our topNodeType for this request, so we can look for the actual startNodes
                        for( int i=0; i < startNodeFilterArrayOfHashes.size(); i++ ){
                                // Locate the starting node which will be used to look which corresponds to this set of filter data
@@ -244,42 +244,42 @@ public class ModelBasedProcessing {
                                        startVtx = result.get();
                                }
                                catch( AAIException e ){
-                                       String msg = "Could not find startNode of type = [" + modTopNodeType +  "], given these params: "  
+                                       String msg = "Could not find startNode of type = [" + modTopNodeType +  "], given these params: "
                                                        + startNodeFilterArrayOfHashes.get(i) + ". msg # from getUniqueNode() = " + e.getMessage();
                                        throw new AAIException("AAI_6114", msg);
                                }
-                       
+
                                String vid = startVtx.id().toString();
                                String personaModInvId = startVtx.<String>property(addDBAliasedSuffix("model-invariant-id")).orElse(null);
                                String personaModVerId = startVtx.<String>property(addDBAliasedSuffix("model-version-id")).orElse(null);
-                                       
+
                                // Either this start-node has persona info (which should not contradict any passed-in model info)
                                //    or they should have passed in the model to use - so we'd just use that.
                                if( personaModVerId != null && !personaModVerId.equals("") ){
                                        // There is persona data in this start-node.  So make sure it doesn't contradict any "passed" stuff
-                                       if( modelVersionIds2Check.isEmpty()  
+                                       if( modelVersionIds2Check.isEmpty()
                                                        && (passedModelInvId == null || passedModelInvId.equals("")) ){
                                                // They didn't pass any model info, so use the persona one.
                                                startVertInfo.put(vid, personaModVerId);
                                        }
-                                       else if( modelVersionIds2Check.isEmpty() 
+                                       else if( modelVersionIds2Check.isEmpty()
                                                        && (passedModelInvId != null && !passedModelInvId.equals("")) ){
                                                // They passed in just the modelId - so check it
                                                if( passedModelInvId.equals(personaModInvId) ){
                                                        startVertInfo.put(vid, personaModVerId);
                                                }
                                        }
-                                       else if( !modelVersionIds2Check.isEmpty() 
+                                       else if( !modelVersionIds2Check.isEmpty()
                                                        && (passedModelInvId == null || passedModelInvId.equals("")) ){
                                                // They passed in just modelVersionId - so check
                                                if( modelVersionIds2Check.contains(personaModVerId) ){
                                                        startVertInfo.put(vid, personaModVerId);
                                                }
-                                       }       
-                                       else if( !modelVersionIds2Check.isEmpty() 
+                                       }
+                                       else if( !modelVersionIds2Check.isEmpty()
                                                        && (passedModelInvId != null && !passedModelInvId.equals("")) ){
-                                               // We have BOTH a modelVersionIds and a modelId to check 
-                                               if( passedModelInvId.equals(personaModInvId) 
+                                               // We have BOTH a modelVersionIds and a modelId to check
+                                               if( passedModelInvId.equals(personaModInvId)
                                                                && modelVersionIds2Check.contains(personaModVerId) ){
                                                        startVertInfo.put(vid, personaModVerId);
                                                }
@@ -293,16 +293,14 @@ public class ModelBasedProcessing {
                                        }
                                        else {
                                                throw new AAIException("AAI_6118", "Found startNode but since it does not have persona data, the " +
-                                                               " model-version-id is required. "); 
+                                                               " model-version-id is required. ");
                                        }
                                }
                        }
                }
-               
                return startVertInfo;
-               
-       }//end of  getStartNodesAndModVersionIds()
-               
+       }
+
 
        /**
         * Query by model. (really model-ver)
@@ -326,16 +324,16 @@ public class ModelBasedProcessing {
                                         List<Map<String,Object>> startNodeFilterArrayOfHashes,
                                         String apiVer )
                                        throws AAIException {
-       
+
                final String transId_f = transId;
                final String fromAppId_f = fromAppId;
                final String modelVersionId_f = modelVersionId;
                final String modelInvId_f = modelInvariantId;
                final String modelName_f = modelName;
                final String topNodeType_f = topNodeType;
-               final List<Map<String,Object>> startNodeFilterArrayOfHashes_f = startNodeFilterArrayOfHashes; 
-               final String apiVer_f = apiVer; 
-               
+               final List<Map<String,Object>> startNodeFilterArrayOfHashes_f = startNodeFilterArrayOfHashes;
+               final String apiVer_f = apiVer;
+
                // Find out what our time-limit should be
                int timeLimitSec = 0;
                String timeLimitString = AAIConfig.get("aai.model.query.timeout.sec");
@@ -347,33 +345,33 @@ public class ModelBasedProcessing {
                                // Don't worry, we will leave the limit as zero - which tells us not to use it.
                        }
                }
-               
+
                if( timeLimitSec <= 0 ){
                        // We will NOT be using a timer
                        return queryByModel_Timed( transId, fromAppId,
-                                       modelVersionId, 
+                                       modelVersionId,
                                        modelInvariantId,
                                        modelName,
                                        topNodeType,
-                                       startNodeFilterArrayOfHashes, 
+                                       startNodeFilterArrayOfHashes,
                                        apiVer );
                }
-               
+
                List<ResultSet> resultList = new ArrayList<>();
                TimeLimiter limiter = new SimpleTimeLimiter();
                try {
                        resultList = limiter.callWithTimeout(new Callable <List<ResultSet>>() {
                            public List<ResultSet> call() throws AAIException {
                              return queryByModel_Timed( transId_f, fromAppId_f,
-                                               modelVersionId_f, 
+                                               modelVersionId_f,
                                                modelInvId_f,
                                                modelName_f,
                                                topNodeType_f,
-                                               startNodeFilterArrayOfHashes_f, 
+                                               startNodeFilterArrayOfHashes_f,
                                                apiVer_f );
                            }
                          }, timeLimitSec, TimeUnit.SECONDS, true);
-               } 
+               }
                catch (AAIException ae) {
                        // Re-throw AAIException so we get can tell what happened internally
                        throw ae;
@@ -384,11 +382,10 @@ public class ModelBasedProcessing {
                catch (Exception e) {
                        throw new AAIException("AAI_6128", "Unexpected exception in queryByModel(): " + e.getMessage() );
                }
-
                return resultList;
        }
-       
-               
+
+
        /**
         * Query by model (model-ver) timed.
         *
@@ -411,28 +408,28 @@ public class ModelBasedProcessing {
                                               List<Map<String,Object>> startNodeFilterArrayOfHashesVal,
                                               String apiVer )
                                        throws AAIException {
-                                       
+
                List<ResultSet> resultArray = new ArrayList<>();
-               
+
                // NOTE: this method can be used for different styles of queries:
                //   a) They could pass neither a modelVersionId or a modelInvariantId but just pass a set of data defining start-nodes.
                //      Note - with no model info, we need them to pass the startNodeType for us to be able to use the
-               //      start-node-filter data.  We would look at each start node and ensure that each has persona-model info.  
+               //      start-node-filter data.  We would look at each start node and ensure that each has persona-model info.
                //      Then use whatever model corresponds to each instance to pull that instance's data.
                //   b) They could pass a modelInvariantId, but no modelVersionId and no startNode info.   In this case, we
-               //      Would look in the database for all nodes that have a model-invariant-id-local that matches what was 
+               //      Would look in the database for all nodes that have a model-invariant-id-local that matches what was
                //      passed, and then for each of those instances, pull the data based on the corresponding model.
-               //   c) They could pass a model-version-id, but no startNode info. We'd make sure that if a 
+               //   c) They could pass a model-version-id, but no startNode info. We'd make sure that if a
                //      model-invariant-id was also passed, that it does not conflict - but it really should be null if they
                //      are passing a full model-version-id.   Like case -b-, we'd do a query for all nodes
-               //      that have persona info that corresponds to the model-version-id passed and then 
+               //      that have persona info that corresponds to the model-version-id passed and then
                //      collect data for each one.
                //   d) They could pass either modelVersionId or modelInvariantId AND startNodeFilter info.  In this case we
-               //      would look at the model info to figure out what the top-node-type is, then look at the 
+               //      would look at the model info to figure out what the top-node-type is, then look at the
                //      top-node instances based on the startNodeFilter.   We'd only collect data for each instance if
                //      it's persona model info matches what was passed in.
-               
-               
+
+
                // Sorry to do this, but code that gets called with an empty hash as the first array element was causing errors
                List<Map<String,Object>> startNodeFilterArrayOfHashes = new ArrayList <Map<String,Object>>();
                if( !startNodeFilterArrayOfHashesVal.isEmpty() ){
@@ -443,21 +440,21 @@ public class ModelBasedProcessing {
                                }
                        }
                }
-                               
+
                // ----------------------------------------------------------------------------------------------------------
-               // Get a Hash of all the start-nodes (top instance-data node for a model-ver where we will 
-               // start collecting data) for startNode2ModelVerHash:  
-               //                      key = vertex-id for the startNode, 
-               //                      value = model-version-id for the corresponding model-ver   
+               // Get a Hash of all the start-nodes (top instance-data node for a model-ver where we will
+               // start collecting data) for startNode2ModelVerHash:
+               //                      key = vertex-id for the startNode,
+               //                      value = model-version-id for the corresponding model-ver
                // ----------------------------------------------------------------------------------------------------------
                Map<String, String> startNode2ModelVerHash = getStartNodesAndModVersionIds( transId, fromAppId,
                                modelVersionId, modelInvariantId, modelName, topNodeType,
-                               startNodeFilterArrayOfHashes, apiVer ); 
-               
-               //System.out.println("\nDEBUG -- Here's a dump of the startnodes/model-vers: " + startNode2ModelVerHash.toString()); 
-               
+                               startNodeFilterArrayOfHashes, apiVer );
+
+               //System.out.println("\nDEBUG -- Here's a dump of the startnodes/model-vers: " + startNode2ModelVerHash.toString());
+
                // --------------------------------------------------------------------------------------------------------
-               // Figure out what-all models (model-ver nodes) we will be dealing with 
+               // Figure out what-all models (model-ver nodes) we will be dealing with
                // Note - Instances must all use the same type of start-node, but do not have to all use the same model-ver.
                // --------------------------------------------------------------------------------------------------------
                Map<String, Vertex> distinctModelVersHash = new HashMap<>();
@@ -472,7 +469,7 @@ public class ModelBasedProcessing {
                Set <String> snKeySet = startNode2ModelVerHash.keySet();
                Iterator<String> startNodeIterator = snKeySet.iterator();
                while( startNodeIterator.hasNext() ){
-                       String modVerIdKey = (String) startNodeIterator.next();  
+                       String modVerIdKey = startNodeIterator.next();
                        String modVerId = startNode2ModelVerHash.get(modVerIdKey);
                        if( !distinctModelVersHash.containsKey(modVerId) ){
                                // First time seeing this model-version-id
@@ -490,7 +487,7 @@ public class ModelBasedProcessing {
                                        System.out.println(">>>  WARNING - will not collect model data for this vertex since " +
                                                        "it uses an inconsistant model-ver model.  Model-version-id = " + modVerId );
                                }
-                               
+
                                if( tmpNodeType != null && !tmpNodeType.equals("") ){
                                        if( startNodeType.equals("") ){
                                                startNodeType = tmpNodeType;
@@ -504,12 +501,12 @@ public class ModelBasedProcessing {
                                }
                        }
                }
-               
+
                //System.out.println("\nDEBUG -- Here's a dump of the DISTINCT model-ver hash: " + distinctModelVersHash.toString() );
-       
+
                // ------------------------------------------------------------------------------------------------------
                // Get the "valid-next-step" hash for each distinct model-ver
-               // While we're at it, get a mapping of model-invariant-id|model-version to model-version-id for 
+               // While we're at it, get a mapping of model-invariant-id|model-version to model-version-id for
                //     the model-vers being used
                // ------------------------------------------------------------------------------------------------------
                Map<String, Multimap<String, String>> validNextStepHash = new HashMap<>();
@@ -517,46 +514,46 @@ public class ModelBasedProcessing {
                Set <String> keySet = distinctModelVersHash.keySet();
                Iterator<String> modelVerIterator = keySet.iterator();
                while( modelVerIterator.hasNext() ){
-                       String modVerKey = (String) modelVerIterator.next();
+                       String modVerKey = modelVerIterator.next();
                        if( ! skipModelVerIdList.contains(modVerKey) ){
-                               Vertex modelVerVtx = (Vertex)distinctModelVersHash.get(modVerKey);
+                               Vertex modelVerVtx = distinctModelVersHash.get(modVerKey);
                                Multimap<String, String> tmpTopoMap = genTopoMap4ModelVer( transId, fromAppId,
                                                modelVerVtx, modVerKey);
                                validNextStepHash.put(modVerKey, tmpTopoMap);
                        }
-               } 
-                               
+               }
+
                // -------------------------------------------------------------------------------------------------
-               // Figure out what the "start-node" for each instance will be (plus the info we will use to 
+               // Figure out what the "start-node" for each instance will be (plus the info we will use to
                //       represent that in our topology)
                // -------------------------------------------------------------------------------------------------
                List<String> failedPersonaCheckVids = new ArrayList<>();
-               Map<String, String> firstStepInfoHash = new HashMap<>(); 
+               Map<String, String> firstStepInfoHash = new HashMap<>();
                        // For firstStepInfoHash:   key = startNodeVtxId, val=topNodeType plus personaData if applicable
                        //                            ie. the value is what we'd use as the "first-step" for this model.
                if( !nodeTypeSupportsPersona( startNodeType) ){
-                       // This node type doesn't have persona info, so we just use startNodeType for the first-step-info 
+                       // This node type doesn't have persona info, so we just use startNodeType for the first-step-info
                        snKeySet = startNode2ModelVerHash.keySet();
                        startNodeIterator = snKeySet.iterator();
                        while( startNodeIterator.hasNext() ){
-                               String vtxKey = (String) startNodeIterator.next();
+                               String vtxKey = startNodeIterator.next();
                                firstStepInfoHash.put(vtxKey,startNodeType);
                        }
                }
-               else { 
+               else {
                        // Need to check that this node's persona data is good and if it is - use it for the first step info
                        snKeySet = startNode2ModelVerHash.keySet();
                        startNodeIterator = snKeySet.iterator();
                        while( startNodeIterator.hasNext() ){
-                               String vtxKey = (String) startNodeIterator.next();
+                               String vtxKey = startNodeIterator.next();
                                Iterator<Vertex> vtxIterator = this.engine.asAdmin().getReadOnlyTraversalSource().V(vtxKey);
-                               Vertex tmpVtx = (Vertex)vtxIterator.next();
+                               Vertex tmpVtx = vtxIterator.next();
                                String thisVtxModelVerId = startNode2ModelVerHash.get(vtxKey);
                                if( skipModelVerIdList.contains(thisVtxModelVerId) ){
                                        // Skip this vertex because it uses a model-ver that is bad
                                        continue;
                                }
-                               Vertex modelVerVtx = (Vertex)distinctModelVersHash.get(thisVtxModelVerId);
+                               Vertex modelVerVtx = distinctModelVersHash.get(thisVtxModelVerId);
                                Vertex modelVtx = getModelGivenModelVer( modelVerVtx, "" );
                                String modInvId = modelVtx.<String>property("model-invariant-id").orElse(null);
                                String personaModInvId = tmpVtx.<String>property(addDBAliasedSuffix("model-invariant-id")).orElse(null);
@@ -565,21 +562,21 @@ public class ModelBasedProcessing {
                                        String tmpPersonaInfoStr = startNodeType + "," + personaModInvId + "," + personaModVerId;
                                        firstStepInfoHash.put(vtxKey, tmpPersonaInfoStr );
                                }
-                               else { 
+                               else {
                                        // we won't use this start node below when we collect data because it should have
                                        // had persona data that matched it's model - but it did not.
                                        failedPersonaCheckVids.add(vtxKey);
                                }
-                       }       
-               }       
+                       }
+               }
 
                //System.out.println("\nDEBUG -- Here's a dump of the firstStepInfoHash hash: " + firstStepInfoHash.toString() );
-               
+
                // ------------------------------------------------------------------------------------------------
-               // Loop through each start-node, collect it's data using collectInstanceData() and put the 
+               // Loop through each start-node, collect it's data using collectInstanceData() and put the
                //      resultSet onto the resultArray.
                // ------------------------------------------------------------------------------------------------
-               
+
                // Make sure they're not bringing back too much data
                String maxString = AAIConfig.get("aai.model.query.resultset.maxcount");
                if( maxString != null &&  !maxString.equals("") ){
@@ -590,17 +587,17 @@ public class ModelBasedProcessing {
                        catch ( Exception nfe ){
                                // Don't worry, we will leave the max as zero - which tells us not to use it.
                        }
-                       
+
                        if( maxSets > 0 && (startNode2ModelVerHash.size() > maxSets) ){
                                String msg = " Query returns " + startNode2ModelVerHash.size() + " resultSets.  Max allowed is: " + maxSets;
                                throw new AAIException("AAI_6141", msg);
                        }
                }
-               
+
                snKeySet = startNode2ModelVerHash.keySet();
                startNodeIterator = snKeySet.iterator();
                while( startNodeIterator.hasNext() ){
-                       String topNodeVtxId  = (String) startNodeIterator.next();
+                       String topNodeVtxId  = startNodeIterator.next();
                        if( failedPersonaCheckVids.contains(topNodeVtxId) ){
                                // Skip this vertex because it failed it's persona-data check above
                                continue;
@@ -609,29 +606,27 @@ public class ModelBasedProcessing {
                                // Skip this vertex because it uses a model-ver that is bad
                                continue;
                        }
-                       
+
                        Iterator<Vertex> vtxIterator = this.engine.asAdmin().getReadOnlyTraversalSource().V(topNodeVtxId);
-                       Vertex tmpStartVtx = (Vertex)vtxIterator.next();
-                       String elementLocationTrail = firstStepInfoHash.get(topNodeVtxId); 
+                       Vertex tmpStartVtx = vtxIterator.next();
+                       String elementLocationTrail = firstStepInfoHash.get(topNodeVtxId);
                        String modelVerId = startNode2ModelVerHash.get(topNodeVtxId);
                        Multimap<String, String> validNextStepMap = validNextStepHash.get(modelVerId);
-                       
+
                        List<String> vidsTraversed = new ArrayList<>();
                        Map<String,String> emptyDelKeyHash = new HashMap<>();
                        Map<String,String> emptyNQElementHash = new HashMap<>();  // Only applies to Named Queries
                        ResultSet tmpResSet = collectInstanceData( transId, fromAppId,
-                                       tmpStartVtx, elementLocationTrail, 
+                                       tmpStartVtx, elementLocationTrail,
                                        validNextStepMap, vidsTraversed, 0, emptyDelKeyHash, emptyNQElementHash, apiVer );
-                       
+
                        resultArray.add(tmpResSet);
                }
-               
                return resultArray;
-               
-       }// queryByModel_Timed()
-       
-                       
-       
+       }
+
+
+
        /**
         * Run delete by model-ver.
         *
@@ -646,15 +641,15 @@ public class ModelBasedProcessing {
         * @throws AAIException the AAI exception
         */
        public Map<String,String> runDeleteByModel( String transId, String fromAppId,
-                       String modelVersionId, String topNodeTypeVal, Map<String,Object> startNodeFilterHash, String apiVer, String resVersion ) 
+                       String modelVersionId, String topNodeTypeVal, Map<String,Object> startNodeFilterHash, String apiVer, String resVersion )
                                        throws AAIException {
-               
+
                Map<String,String> retHash = new HashMap<>();
-                               
-               // Locate the Model-ver node to be used 
+
+               // Locate the Model-ver node to be used
                Vertex modelVerVtx = null;
                if( modelVersionId != null && !modelVersionId.equals("") ){
-                       modelVerVtx = getNodeUsingUniqueId(transId, fromAppId, "model-ver", 
+                       modelVerVtx = getNodeUsingUniqueId(transId, fromAppId, "model-ver",
                                        "model-version-id", modelVersionId);
                }
                else {
@@ -663,28 +658,28 @@ public class ModelBasedProcessing {
                        if( topNodeTypeVal == null || topNodeTypeVal.equals("") ){
                                throw new AAIException("AAI_6118", "If no model info is passed, then topNodeType is required. ");
                        }
-                       
+
                        Optional<Vertex> result = dbMethHelper.searchVertexByIdentityMap(topNodeTypeVal, startNodeFilterHash);
                        if (!result.isPresent()) {
                                throw new AAIException("AAI_6114", "No Node of type " + topNodeTypeVal + " found for properties");
                        }
                        Vertex startVtx = result.get();
-                       
+
                        String startVertModVerId = startVtx.<String>property(addDBAliasedSuffix("model-version-id")).orElse(null);
-                       modelVerVtx = getNodeUsingUniqueId(transId, fromAppId, "model-ver", 
+                       modelVerVtx = getNodeUsingUniqueId(transId, fromAppId, "model-ver",
                                        "model-version-id", startVertModVerId);
                }
-               
+
                if( modelVerVtx == null ){
                        throw new AAIException("AAI_6114", "Could not determine the model-ver for the given input parameters. ");
                }
 
                String topNType = "unknown";
                String modelType = getModelTypeFromModelVer( modelVerVtx, "" );
-               
+
                if( modelType.equals("widget") ){
-                       // If they want to delete using a widget-level model..  That is just a delete of the one 
-                       //      instance of one of our nodes.  
+                       // If they want to delete using a widget-level model..  That is just a delete of the one
+                       //      instance of one of our nodes.
                        String widgModNodeType = modelVerVtx.<String>property("model-name").orElse(null);
                        if( (widgModNodeType == null) || widgModNodeType.equals("") ){
                                String msg = "Could not find model-name for the widget model  [" + modelVersionId + "].";
@@ -700,11 +695,11 @@ public class ModelBasedProcessing {
                        retHash.put(widgId, widgModNodeType);
                        return retHash;
                }
-               
+
                // ---------------------------------------------------------------------------------
                // If we got to here, this must be either a service or resource model.
                // So, we'll need to get a Hash of which parts of the model to delete.
-               //  NOTE- deleteByModel is deleting data based on one specific version of a model.  
+               //  NOTE- deleteByModel is deleting data based on one specific version of a model.
                // ---------------------------------------------------------------------------------
                String chkFirstNodePersonaModInvId = "";
                String chkFirstNodePersonaModVerId = "";
@@ -721,18 +716,18 @@ public class ModelBasedProcessing {
                        chkFirstNodePersonaModVerId = modelVerVtx.<String>property("model-version-id").orElse(null);
                        personaData = "," + chkFirstNodePersonaModInvId + "," + chkFirstNodePersonaModVerId;
                }
-               
+
                // Get the deleteKeyHash for this model
                String incomingTrail = "";
                Map<String, String> currentHash = new HashMap<>();
                Map<String, Vertex> modConHash = new HashMap<>();
                ArrayList <String>  vidsTraversed = new ArrayList<>();
                Map<String, String> delKeyHash = collectDeleteKeyHash( transId, fromAppId,
-                                 firstModElementVertex, incomingTrail, currentHash, vidsTraversed, 
-                                 0, modConHash, 
-                                 chkFirstNodePersonaModInvId, chkFirstNodePersonaModVerId ); 
-       
-               
+                                 firstModElementVertex, incomingTrail, currentHash, vidsTraversed,
+                                 0, modConHash,
+                                 chkFirstNodePersonaModInvId, chkFirstNodePersonaModVerId );
+
+
                System.out.println("\n ----DEBUG -----:  Delete Hash for model: [" + modelVersionId + "] looks like: ");
                for( Map.Entry<String, String> entry : delKeyHash.entrySet() ){
                        System.out.println("key = [" + entry.getKey() + "], val = [" + entry.getValue() + "]");
@@ -749,7 +744,7 @@ public class ModelBasedProcessing {
                        //              we need to make sure that the start node matches the persona values.
                        String startVertPersonaModInvId = startVtx.<String>property(addDBAliasedSuffix("model-invariant-id")).orElse(null);
                        String startVertPersonaModVerId = startVtx.<String>property(addDBAliasedSuffix("model-version-id")).orElse(null);
-                       if( !chkFirstNodePersonaModInvId.equals(startVertPersonaModInvId) 
+                       if( !chkFirstNodePersonaModInvId.equals(startVertPersonaModInvId)
                                        || !chkFirstNodePersonaModVerId.equals(startVertPersonaModVerId) ){
                                String msg = "Persona-Model data mismatch for start node (" + topNType +  "), " +
                                                startNodeFilterHash ;
@@ -757,36 +752,34 @@ public class ModelBasedProcessing {
                        }
                }
                String topVid = startVtx.id().toString();
-               
+
                // Read the model-ver into a Map for processing
                Multimap<String, String> validNextStepMap = genTopoMap4ModelVer(transId, fromAppId,
                                modelVerVtx, modelVersionId);
-                       
+
                // Collect the data
                String elementLocationTrail = topNType + personaData;
                vidsTraversed = new ArrayList<>();
-               Map<String,String> emptyHash = new HashMap<>();  
-               
+               Map<String,String> emptyHash = new HashMap<>();
+
                // Pass emptyHash for the NQElement hash since that parameter only applies to Named Queries
                ResultSet retResSet = collectInstanceData( transId, fromAppId,
-                               startVtx, elementLocationTrail, 
+                               startVtx, elementLocationTrail,
                                validNextStepMap, vidsTraversed, 0, delKeyHash, emptyHash, apiVer );
-               
+
                // Note: the new ResultSet will have each element tagged with the del flag so we'll know if it
-               //              should be deleted or not - so loop through the results in a try-block since some things 
+               //              should be deleted or not - so loop through the results in a try-block since some things
                //              will get auto-deleted by parents before we get to them --- and try to remove each one.
                String vidToResCheck = topVid;
-               
-               retHash = deleteAsNeededFromResultSet( transId, fromAppId, retResSet, 
+
+               retHash = deleteAsNeededFromResultSet( transId, fromAppId, retResSet,
                                vidToResCheck, apiVer, resVersion, emptyHash );
                //String msgStr = "processed deletes for these vids: (\n"+ retHash.keySet().toString() + ").";
-               
                return retHash;
-                 
-       }// End of runDeleteByModel()
+       }
+
+
 
-                               
-                               
        /**
         * Delete as needed from result set.
         *
@@ -807,26 +800,26 @@ public class ModelBasedProcessing {
                Map<String,String> retHash = new HashMap<>();
                retHash.putAll( hashSoFar );
                Boolean deleteIt = false;
-                       
+
                if( resSet.getVert() == null ){
                        return retHash;
                }
-               
+
                Vertex thisVtx = resSet.getVert();
                String thisGuyId = "";
                String thisNT = "";
                String thisGuyStr = "";
-               
+
                Boolean gotVtxOK = false;
                try {
                        if( thisVtx != null ){
                                thisGuyId = thisVtx.id().toString();
                                thisNT = thisVtx.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                                thisGuyStr = thisGuyId + "[" + thisNT + " found at:" + resSet.getLocationInModelSubGraph() + "]";
-                               
-                               // NOTE -- will try to set the NodeType to itself to see if the node has been deleted already in 
-                               //       this transaction. It lets you get properties from nodes being deleted where the 
-                               //       delete hasn't been committed yet.  This check used to be accomplished with a call to 
+
+                               // NOTE -- will try to set the NodeType to itself to see if the node has been deleted already in
+                               //       this transaction. It lets you get properties from nodes being deleted where the
+                               //       delete hasn't been committed yet.  This check used to be accomplished with a call to
                                //       "vtx.isRemoved()" but that was a Titan-only feature and is not available anymore since
                                //       we no longer use Titan vertices.
                                // If we don't do this check, we get errors later when we try to delete the node.
@@ -838,17 +831,17 @@ public class ModelBasedProcessing {
                        // Sometimes things have already been deleted by the time we get to them - just log it.
                        LOGGER.warn("Exception when trying to delete: " + thisGuyStr + ".  msg = " + ex.getMessage(), ex);
                }
-               
+
                if( !gotVtxOK ){
                        // The vertex must have already been removed.   Just return.
-                       // Note - We need to catch this because the DB sometimes can still have the vtx 
+                       // Note - We need to catch this because the DB sometimes can still have the vtx
                        // and be able to get its ID but it is flagged internally as removed already.
                        return retHash;
                }
                else {
                        if( resSet.getNewDataDelFlag() != null && resSet.getNewDataDelFlag().equals("T") ){
                                LOGGER.info(">>  will try to delete this one >> " + thisGuyStr);
-                               
+
                                try {
                                        Boolean requireResourceVersion = false;
                                        if( thisGuyId.equals(vidToResCheck) ){
@@ -866,50 +859,48 @@ public class ModelBasedProcessing {
                                        else {
                                                String errText = ae.getErrorObject().getErrorText();
                                                String errDetail = ae.getMessage();
-                                               LOGGER.warn("Exception when deleting " + thisGuyStr + ".  ErrorCode = " + errorCode + 
+                                               LOGGER.warn("Exception when deleting " + thisGuyStr + ".  ErrorCode = " + errorCode +
                                                                ", errorText = " + errText + ", details = " + errDetail);
                                        }
                                }
                                catch( Exception e ){
-                                       // We'd expect to get a "node not found" here sometimes depending on the order that 
+                                       // We'd expect to get a "node not found" here sometimes depending on the order that
                                        // the model has us finding / deleting nodes.
                                        // Ignore the exception - but log it so we can see what happened.
                                        LOGGER.warn("Exception when deleting " + thisGuyStr + e.getMessage(), e);
                                }
-                               
+
                                // We can't depend on a thrown exception to tell us if a node was deleted since it may
-                               // have been auto=deleted before this removeAaiNode() call.  
+                               // have been auto=deleted before this removeAaiNode() call.
                                // --- Not sure if we would want to check anything here -- because the graph.commit() is done outside of this call.
-                               
+
                                deleteIt = true;
                        }
                        else {
-                               // --- DEBUG ---- 
+                               // --- DEBUG ----
                                System.out.println(">>>>>>> NOT DELETING THIS ONE >>>> " + thisGuyStr );
                                List<String> retArr = dbMethHelper.getVertexProperties(thisVtx);
                                for( String info : retArr ){ System.out.println(info); }
                                // --- DEBUG ----
                        }
                }
-               
+
                // Now call this routine for the sub-resultSets
                List <ResultSet> subResultSetList = resSet.getSubResultSet();
                Iterator <ResultSet> subResSetIter = subResultSetList.iterator();
                while( subResSetIter.hasNext() ){
                        ResultSet tmpSubResSet = subResSetIter.next();
-                       retHash = deleteAsNeededFromResultSet( transId, fromAppId, tmpSubResSet, 
+                       retHash = deleteAsNeededFromResultSet( transId, fromAppId, tmpSubResSet,
                                        vidToResCheck, apiVer, resVersion, retHash );
                }
-               
+
                if( deleteIt ){
                        retHash.put(thisGuyId, thisGuyStr);
                }
-               
                return retHash;
-                               
-       }// deleteAsNeededFromResultSet()
-               
-       
+       }
+
+
 
        /**
         * Query by named query (old version).
@@ -927,18 +918,18 @@ public class ModelBasedProcessing {
                                              ArrayList <Map<String,Object>> startNodeFilterArrayOfHashes,
                                              String apiVer )
                                        throws AAIException {
-       
+
                String dummyCutPoint = null;
                Map<String,Object> dummySecondaryFilterHash = null;
-               
+
                return queryByNamedQuery( transId, fromAppId,
-                               namedQueryUuid,  
-                               startNodeFilterArrayOfHashes, 
+                               namedQueryUuid,
+                               startNodeFilterArrayOfHashes,
                                apiVer,
                                dummyCutPoint,
-                               dummySecondaryFilterHash ); 
+                               dummySecondaryFilterHash );
        }
-       
+
 
        /**
         * Query by named query.
@@ -960,15 +951,15 @@ public class ModelBasedProcessing {
                                              String secondaryFilterCutPoint,
                                              Map<String,Object> secondaryFilterHash )
                                        throws AAIException {
-       
+
                final String transId_f = transId;
                final String fromAppId_f = fromAppId;
                final String namedQueryUuid_f = namedQueryUuid;
-               final List<Map<String,Object>> startNodeFilterArrayOfHashes_f = startNodeFilterArrayOfHashes; 
-               final String apiVer_f = apiVer; 
-               final String secondaryFilterCutPoint_f = secondaryFilterCutPoint; 
-               final Map<String,Object> secondaryFilterHash_f = secondaryFilterHash;   
-               
+               final List<Map<String,Object>> startNodeFilterArrayOfHashes_f = startNodeFilterArrayOfHashes;
+               final String apiVer_f = apiVer;
+               final String secondaryFilterCutPoint_f = secondaryFilterCutPoint;
+               final Map<String,Object> secondaryFilterHash_f = secondaryFilterHash;
+
                // Find out what our time-limit should be
                int timeLimitSec = 0;
                String timeLimitString = AAIConfig.get("aai.model.query.timeout.sec");
@@ -985,12 +976,12 @@ public class ModelBasedProcessing {
                        // We will NOT be using a timer
                        return queryByNamedQuery_Timed( transId, fromAppId,
                                        namedQueryUuid,
-                                       startNodeFilterArrayOfHashes, 
+                                       startNodeFilterArrayOfHashes,
                                        apiVer,
                                        secondaryFilterCutPoint_f,
                                        secondaryFilterHash_f );
                }
-               
+
                List<ResultSet> resultList = new ArrayList<>();
                TimeLimiter limiter = new SimpleTimeLimiter();
                try {
@@ -998,14 +989,14 @@ public class ModelBasedProcessing {
                            public List<ResultSet> call() throws AAIException {
                              return queryByNamedQuery_Timed( transId_f, fromAppId_f,
                                                        namedQueryUuid_f,
-                                                       startNodeFilterArrayOfHashes_f, 
+                                                       startNodeFilterArrayOfHashes_f,
                                                        apiVer_f,
                                                        secondaryFilterCutPoint_f,
                                                        secondaryFilterHash_f );
                            }
                        }, timeLimitSec, TimeUnit.SECONDS, true);
-                       
-               } 
+
+               }
                catch (AAIException ae) {
                        // Re-throw AAIException so we get can tell what happened internally
                        throw ae;
@@ -1016,21 +1007,20 @@ public class ModelBasedProcessing {
                catch (Exception e) {
                        throw new AAIException("AAI_6128", "Unexpected exception in queryByNamedQuery(): " + e.getMessage() );
                }
-
                return resultList;
        }
-       
-       
+
+
        /**
         * Query by named query timed.
         *
         * @param transId the trans id
         * @param fromAppId the from app id
         * @param namedQueryUuid the named query uuid
-        * @param startNodeFilterArrayOfHashes the start node filter array of hashes --used to locate the first nodes of instance data  
+        * @param startNodeFilterArrayOfHashes the start node filter array of hashes --used to locate the first nodes of instance data
         * @param apiVer the api ver
         * @param secondaryFilterCutPoint the nodeType where we will parse for the secondary Filter
-        * @param secondaryFilterHash the secondary filter hash 
+        * @param secondaryFilterHash the secondary filter hash
         * @return resultSet
         * @throws AAIException the AAI exception
         */
@@ -1040,13 +1030,13 @@ public class ModelBasedProcessing {
                                                    String apiVer,
                                                    String secondaryFilterCutPoint,
                                                    Map<String,Object> secondaryFilterHash
-                       ) 
+                       )
                                        throws AAIException {
-               
+
                // Locate the Query to be used
                Vertex queryVtx = getNodeUsingUniqueId(transId, fromAppId, "named-query",
                                "named-query-uuid", namedQueryUuid);
-               
+
                // Get the first/top named-query-element used by this query
                Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, queryVtx, "named-query-element");
                Vertex firstNqElementVert = null;
@@ -1057,7 +1047,7 @@ public class ModelBasedProcessing {
                        count++;
                        topNType = getNqElementWidgetType( transId, fromAppId,  firstNqElementVert, "" );
                }
-               
+
                if( count < 1 ){
                        // A named query must start with a single top element
                        throw new AAIException("AAI_6133", "No top-node defined for named-query-uuid = [" + namedQueryUuid + "]");
@@ -1070,7 +1060,7 @@ public class ModelBasedProcessing {
                        String msg = "Could not determine the top-node nodeType for Named Query: [" + namedQueryUuid + "]";
                        throw new AAIException("AAI_6133", msg);
                }
-               
+
                // Read the topology into a hash for processing
                Multimap<String, String> validNextStepMap = genTopoMap4NamedQ(transId, fromAppId, queryVtx, namedQueryUuid);
 
@@ -1087,7 +1077,7 @@ public class ModelBasedProcessing {
                        boolean foundIndexedField = false;
                        int propertiesSet = 0;
                        while( propIter.hasNext() ){
-                               String oldVtxKey = (String) propIter.next(); 
+                               String oldVtxKey = propIter.next();
                                String newKey = oldVtxKey;
                                String [] parts = oldVtxKey.split("\\.");
                                if( parts.length == 2 ){
@@ -1131,7 +1121,7 @@ public class ModelBasedProcessing {
                                }
                        }
                }
-               
+
                if (startVertList.isEmpty()) {
                        throw new AAIException("AAI_6114", "No Node of type " + topNType + " found for properties");
                }
@@ -1144,7 +1134,7 @@ public class ModelBasedProcessing {
                                throw new AAIException("AAI_6141", msg);
                        }
                }
-               
+
                // Loop through each start node and get its data
                List<ResultSet> resSetList = new ArrayList<>();
                for( int i = 0; i < startVertList.size(); i++ ){
@@ -1153,21 +1143,21 @@ public class ModelBasedProcessing {
                        String elementLocationTrail = topNType;
                        ArrayList <String>  vidsTraversed = new ArrayList<>();
                        Map<String,String> emptyDelKeyHash = new HashMap<>();  // Does not apply to Named Queries
-                                       
+
                        // Get the mapping of namedQuery elements to our widget topology for this namedQuery
                        String incomingTrail = "";
                        Map<String, String> currentHash = new HashMap<>();
-                       
+
                        Map<String,String> namedQueryElementHash = collectNQElementHash( transId, fromAppId,
                                          firstNqElementVert, incomingTrail, currentHash, vidsTraversed, 0 );
-                       
+
                        vidsTraversed = new ArrayList<>();
                        ResultSet tmpResSet = collectInstanceData( transId, fromAppId,
-                                       startVtx, elementLocationTrail, 
+                                       startVtx, elementLocationTrail,
                                        validNextStepMap, vidsTraversed, 0, emptyDelKeyHash, namedQueryElementHash, apiVer );
                        resSetList.add(tmpResSet);
                }
-               
+
                // If a secondary filter was defined, we will prune the collected instance data result set(s) based on it.
                List<ResultSet> prunedResSetList = new ArrayList<>();
                if( resSetList != null && !resSetList.isEmpty() ){
@@ -1184,8 +1174,8 @@ public class ModelBasedProcessing {
                                }
                        }
                }
-               
-               // Since a NamedQuery can mark some nodes as "do-not-display", we need to collapse our resultSet so 
+
+               // Since a NamedQuery can mark some nodes as "do-not-display", we need to collapse our resultSet so
                // does not display those nodes.
                List<ResultSet> collapsedResSetList = new ArrayList<>();
                if( prunedResSetList != null && !prunedResSetList.isEmpty() ){
@@ -1194,7 +1184,7 @@ public class ModelBasedProcessing {
                                //    marked all the "top" node-elements as do-not-output.   Ie. the query may
                                //    have had a top-node of "generic-vnf" which joins down to different l-interfaces.
                                //    If they only want to see the l-interfaces, then a single result set
-                               //    would be "collapsed" into many separate resultSets - each of which is 
+                               //    would be "collapsed" into many separate resultSets - each of which is
                                //    just a single l-interface.
                                List<ResultSet> tmpResSetList = collapseForDoNotOutput(prunedResSetList.get(i));
                                if( tmpResSetList != null && !tmpResSetList.isEmpty() ){
@@ -1205,12 +1195,11 @@ public class ModelBasedProcessing {
                                }
                        }
                }
-               
+
                return collapsedResSetList;
-               
-       }// End of queryByNamedQuery()
+       }
+
 
-       
        /**
         * Prune a result set as per a secondary filter.
         *
@@ -1222,13 +1211,13 @@ public class ModelBasedProcessing {
         */
        public ResultSet pruneResultSet(ResultSet resSetVal, String cutPointType, Map<String,Object> secFilterHash )
                throws AAIException {
-               
-               // Given a ResultSet and some secondary filter info, do pruning as needed 
+
+               // Given a ResultSet and some secondary filter info, do pruning as needed
                ResultSet pResSet = new ResultSet();
-                               
-               // For this ResultSet, we will see if we are on a node of the type that is our cutPoint; 
+
+               // For this ResultSet, we will see if we are on a node of the type that is our cutPoint;
                //   then only keep it if we peek "below" and see a match for our filter.
-                               
+
                String nt = resSetVal.getVert().<String>property(AAIProperties.NODE_TYPE).orElse(null);
                if( nt != null && nt.equals(cutPointType) ){
                        // We are on the type of node that may need to be "pruned" along with it's sub-results
@@ -1237,8 +1226,8 @@ public class ModelBasedProcessing {
                                return pResSet;
                        }
                }
-               
-               // If we made it to here, we will not be pruning at this level, so we will 
+
+               // If we made it to here, we will not be pruning at this level, so we will
                // be returning a copy of this resultSet that has it's subResults pruned (as needed).
                pResSet.setVert(resSetVal.getVert());
                pResSet.setDoNotOutputFlag(resSetVal.getDoNotOutputFlag());
@@ -1247,7 +1236,7 @@ public class ModelBasedProcessing {
                pResSet.setNewDataDelFlag(resSetVal.getNewDataDelFlag());
                pResSet.setPropertyLimitDesc(resSetVal.getPropertyLimitDesc());
                pResSet.setPropertyOverRideHash(resSetVal.getPropertyOverRideHash());
-                               
+
                if( !resSetVal.getSubResultSet().isEmpty() ){
                        ListIterator<ResultSet> listItr = resSetVal.getSubResultSet().listIterator();
                        List<ResultSet> newSubSetList = new ArrayList<>();
@@ -1259,13 +1248,11 @@ public class ModelBasedProcessing {
                                }
                        }
                        pResSet.setSubResultSet(newSubSetList);
-               }   
-               
+               }
                return pResSet;
-               
-       }// End pruneResultSet()
-       
-       
+       }
+
+
        /**
         * Satisfies hash of filters.
         *
@@ -1276,18 +1263,18 @@ public class ModelBasedProcessing {
         */
        public boolean satisfiesFilters(ResultSet resSet, Map<String,Object> filterHash )
                        throws AAIException {
-                 
+
                  if( filterHash.isEmpty() ){
                          // Nothing to look for, so no, we didn't find it.
                          return false;
                  }
-                 
+
                  Iterator <?> it = filterHash.entrySet().iterator();
                  while( it.hasNext() ){
                          Map.Entry<?,?> filtEntry = (Map.Entry<?,?>) it.next();
                          String propNodeTypeDotName = (filtEntry.getKey()).toString();
                          String fpv = (filtEntry.getValue()).toString();
-                         
+
                          int periodLoc = propNodeTypeDotName.indexOf(".");
                          if( periodLoc <= 0 ){
                                  String emsg = "Bad filter param key passed in: [" + propNodeTypeDotName + "].  Expected format = [nodeName.paramName]\n";
@@ -1305,13 +1292,11 @@ public class ModelBasedProcessing {
                                  }
                          }
                  }
-                 
                  // Made it through all the filters -- it found what we were looking for.
                  return true;
-                 
-         }// end of satisfiesFilters()
-       
-       
+         }
+
+
        /**
         * Filter met by this set.
         *
@@ -1324,7 +1309,7 @@ public class ModelBasedProcessing {
        public boolean filterMetByThisSet(ResultSet resSet, String filtNodeType, String filtPropName, String filtPropVal ) {
         // Note - we are just looking for a positive match for one filter for this resultSet
                // NOTE: we're expecting the filter to have a format like this: "nodeType.parameterName:parameterValue"
-               
+
                  Vertex vert = resSet.getVert();
                  if( vert == null ){
                          return false;
@@ -1350,7 +1335,7 @@ public class ModelBasedProcessing {
                                  }
                          }
                  }
-                       
+
                  // Didn't find a match at the this level, so check the sets below it meet the criteria
                  if( resSet.getSubResultSet() != null ){
                          ListIterator<ResultSet> listItr = resSet.getSubResultSet().listIterator();
@@ -1360,13 +1345,11 @@ public class ModelBasedProcessing {
                                  }
                          }
                  }
-                 
                  return false;
-                 
-         }// end of filterMetByThisSet()
-         
+         }
+
+
 
-       
        /**
         * Collapse for do not output.
         *
@@ -1376,14 +1359,14 @@ public class ModelBasedProcessing {
         */
        public List<ResultSet> collapseForDoNotOutput(ResultSet resSetVal )
                throws AAIException {
-               
-               // Given a ResultSet -- if it is tagged to NOT be output, then replace it with 
-               // it's sub-ResultSets if it has any. 
+
+               // Given a ResultSet -- if it is tagged to NOT be output, then replace it with
+               // it's sub-ResultSets if it has any.
                List<ResultSet> colResultSet = new ArrayList<>();
-               
+
                if( resSetVal.getDoNotOutputFlag().equals("true") ){
                        // This ResultSet isn't to be displayed, so replace it with it's sub-ResultSets
-                       List<ResultSet> subResList = (ArrayList<ResultSet>) resSetVal.getSubResultSet();
+                       List<ResultSet> subResList = resSetVal.getSubResultSet();
                        for( int k = 0; k < subResList.size(); k++ ){
                                List<ResultSet> newSubResList =  collapseForDoNotOutput(subResList.get(k));
                                colResultSet.addAll(newSubResList);
@@ -1393,11 +1376,11 @@ public class ModelBasedProcessing {
                        // This set will be displayed
                        colResultSet.add(resSetVal);
                }
-               
+
                // For each result set now at this level, call this same routine to collapse their sub-resultSets
                for( int i = 0; i < colResultSet.size(); i++ ){
                        List<ResultSet> newSubSet = new ArrayList<>();
-                       List<ResultSet> subResList = (ArrayList<ResultSet>) colResultSet.get(i).getSubResultSet();
+                       List<ResultSet> subResList = colResultSet.get(i).getSubResultSet();
                        for( int n = 0; n < subResList.size(); n++ ){
                                List<ResultSet> newSubResList =  collapseForDoNotOutput(subResList.get(n));
                                newSubSet.addAll(newSubResList);
@@ -1405,19 +1388,18 @@ public class ModelBasedProcessing {
                        // Replace the old subResultSet with the collapsed set
                        colResultSet.get(i).setSubResultSet(newSubSet);
                }
-               
+
                return colResultSet;
-               
-       }// End collapseForDoNotOutput()
-       
-       
-    
+       }
+
+
+
        /**
         * Collect instance data.
         *
         * @param transId the trans id
         * @param fromAppId the from app id
-        * @param thisLevelElemVtx the element vtx at this level 
+        * @param thisLevelElemVtx the element vtx at this level
         * @param thisVertsTrail the this verts trail
         * @param elementLocationTrail -- trail of nodeTypes that got us here (this element vertex) from the top
         * @param validNextStepMap the valid next step map -- hash of valid next steps (node types) for this model
@@ -1439,33 +1421,33 @@ public class ModelBasedProcessing {
                                          Map<String,String> namedQueryElementHash,  // only applies to named-query data collecting
                                          String apiVer
                  )   throws AAIException {
-               
+
          levelCounter++;
-         
+
          String thisElemVid = thisLevelElemVtx.id().toString();
-          
+
          if( levelCounter > MAX_LEVELS ) {
                  throw new AAIException("AAI_6125", "collectInstanceData() has looped across more levels than allowed: " + MAX_LEVELS + ". ");
          }
-         
+
          ResultSet rs = new ResultSet();
          if( namedQueryElementHash.containsKey(thisVertsTrail) ){
                  // We're collecting data for a named-query, so need to see if we need to do anything special
                  String nqElUuid = namedQueryElementHash.get(thisVertsTrail);
                  Vertex nqElementVtx = getNodeUsingUniqueId(transId, fromAppId, "named-query-element",
                                        "named-query-element-uuid", nqElUuid);
-                
+
                  String tmpDoNotShow = nqElementVtx.<String>property("do-not-output").orElse(null);
                  if( tmpDoNotShow != null && tmpDoNotShow.equals("true") ){
                          rs.setDoNotOutputFlag("true");
                  }
-                                 
+
                  if( namedQueryConstraintSaysStop(transId, fromAppId, nqElementVtx, thisLevelElemVtx, apiVer) ){
-                         // There was a property constraint which says they do not want to collect this vertex or whatever 
+                         // There was a property constraint which says they do not want to collect this vertex or whatever
                          // might be below it.  Just return the empty rs here.
                          return rs;
                  }
-                 
+
                  String propLimDesc = nqElementVtx.<String>property("property-limit-desc").orElse(null);
                  if( (propLimDesc != null) && !propLimDesc.equals("") ){
                          if (propLimDesc.equalsIgnoreCase("show-all")) {
@@ -1481,13 +1463,13 @@ public class ModelBasedProcessing {
                  Map<String,Object> tmpPropertyOverRideHash = getNamedQueryPropOverRide(transId, fromAppId, nqElementVtx, thisLevelElemVtx, apiVer);
                  //System.out.println(" DEBUG --- USING this propertyOverride data set on ResSet [" + tmpPropertyOverRideHash.toString() + "]");
                  rs.setPropertyOverRideHash(tmpPropertyOverRideHash);
-                 
+
                  // See if we need to look up any "unconnected" data that needs to be associated with this result set
                  Map<String,Object> tmpExtraPropHash = getNamedQueryExtraDataLookup(transId, fromAppId, nqElementVtx, thisLevelElemVtx, apiVer);
                  //System.out.println(" DEBUG --- ADDING this EXTRA Lookup data to the ResSet [" + tmpExtraPropHash.toString() + "]");
                  rs.setExtraPropertyHash(tmpExtraPropHash);
          }
-         
+
          rs.setVert(thisLevelElemVtx);
          rs.setLocationInModelSubGraph(thisVertsTrail);
          if( delKeyHash.containsKey(thisVertsTrail) && delKeyHash.get(thisVertsTrail).equals("T") ){
@@ -1496,10 +1478,10 @@ public class ModelBasedProcessing {
          else {
                  rs.setNewDataDelFlag("F");
          }
-               
+
          // Use Gremlin-pipeline to just look for edges that go to a valid "next-steps"
          Collection <String> validNextStepColl = validNextStepMap.get(thisVertsTrail);
-         
+
          // Because of how we process linkage-points, we may have duplicate node-types in our next-stepMap (for one step)
          // So, to keep from looking (and bringing back) the same data twice, we need to make sure our next-steps are unique
          Set<String> validNextStepHashSet = new HashSet<>();
@@ -1508,20 +1490,20 @@ public class ModelBasedProcessing {
                  String targetStepStr = ntcItr.next();
                  validNextStepHashSet.add(targetStepStr);
          }
-         
+
          List<String> tmpVidsTraversedList = new ArrayList<>();
          tmpVidsTraversedList.addAll(vidsTraversed);
          tmpVidsTraversedList.add(thisElemVid);
-         
+
          Iterator <String> ntItr = validNextStepHashSet.iterator();
          while( ntItr.hasNext() ){
                  String targetStep = ntItr.next();
                  // NOTE: NextSteps can either be just a nodeType, or can be a nodeType plus
-                 //     model-invariant-id-local and model-version-id-local (the two persona properties) 
+                 //     model-invariant-id-local and model-version-id-local (the two persona properties)
                  //     if those need to be checked also.
                  //     When the persona stuff is part of the step, it is a comma separated string.
                  //     Ie.  "nodeType,model-inv-id-local,model-version-id-local" (the two "persona" props)
-                 //     
+                 //
                  String targetNodeType = "";
                  String pmid = "";
                  String pmv = "";
@@ -1543,7 +1525,7 @@ public class ModelBasedProcessing {
                          // It's just the nodeType with no other info
                          targetNodeType = targetStep;
                  }
-                 
+
                  GraphTraversal<Vertex, Vertex> modPipe = null;
                  if( stepIsJustNT ){
                          modPipe = this.engine.asAdmin().getReadOnlyTraversalSource().V(thisLevelElemVtx).both().has(AAIProperties.NODE_TYPE, targetNodeType);
@@ -1551,31 +1533,29 @@ public class ModelBasedProcessing {
                  else {
                          modPipe = this.engine.asAdmin().getReadOnlyTraversalSource().V(thisLevelElemVtx).both().has(AAIProperties.NODE_TYPE, targetNodeType).has(addDBAliasedSuffix("model-invariant-id"),pmid).has(addDBAliasedSuffix("model-version-id"),pmv);
                  }
-                 
+
                  if( modPipe == null || !modPipe.hasNext() ){
                         //System.out.println("DEBUG - didn't find any [" + targetStep + "] connected to this guy (which is ok)");
                  }
                  else {
                          while( modPipe.hasNext() ){
-                                 Vertex tmpVert = (Vertex) modPipe.next();
+                                 Vertex tmpVert = modPipe.next();
                                  String tmpVid = tmpVert.id().toString();
                                  String tmpTrail = thisVertsTrail + "|" + targetStep;
                                  if( !vidsTraversed.contains(tmpVid) ){
-                                         // This is one we would like to use - so we'll include the result set we get for it 
+                                         // This is one we would like to use - so we'll include the result set we get for it
                                          ResultSet tmpResSet  = collectInstanceData( transId, fromAppId,
-                                                               tmpVert, tmpTrail, 
-                                                               validNextStepMap, tmpVidsTraversedList, 
+                                                               tmpVert, tmpTrail,
+                                                               validNextStepMap, tmpVidsTraversedList,
                                                                levelCounter, delKeyHash, namedQueryElementHash, apiVer );
-                                         
+
                                          rs.getSubResultSet().add(tmpResSet);
                                  }
                          }
                  }
          }
-       
          return rs;
-         
-       } // End of collectInstanceData()
+       }
 
 
        /**
@@ -1592,17 +1572,17 @@ public class ModelBasedProcessing {
        public Multimap<String, String> genTopoMap4ModelVer(String transId, String fromAppId,
                                                         Vertex modelVerVertex, String modelVerId)
                                  throws AAIException {
-         
+
                if( modelVerVertex == null ){
                        throw new AAIException("AAI_6114", "null modelVerVertex passed to genTopoMap4ModelVer()");
                }
-               
+
                Multimap<String, String> initialEmptyMap = ArrayListMultimap.create();
                List<String> vidsTraversed = new ArrayList<>();
                String modelType = getModelTypeFromModelVer( modelVerVertex, "" );
                if( modelType.equals("widget") ){
                        // A widget model by itself does not have a topoplogy.  That is - it has no "model-elements" which
-                       // define how it is connected to other things.   All it has is a name which ties it to 
+                       // define how it is connected to other things.   All it has is a name which ties it to
                        // an aai-node-type
                        Iterator<Vertex> vertI= this.traverseIncidentEdges(EdgeType.TREE, modelVerVertex, "model-element");
                        if( vertI != null && vertI.hasNext() ){
@@ -1613,42 +1593,39 @@ public class ModelBasedProcessing {
                                return initialEmptyMap;
                        }
                }
-               
+
                String firstModelVerId = modelVerVertex.<String>property("model-version-id").orElse(null);
                String firstModelVersion = modelVerVertex.<String>property("model-version").orElse(null);
                if( firstModelVerId == null || firstModelVerId.equals("") || firstModelVersion == null || firstModelVersion.equals("") ){
                        throw new AAIException("AAI_6132", "Bad Model Definition: Bad model-version-id or model-version.  model-version-id = "
                                  + modelVerId);
                }
-               
+
                Vertex firstElementVertex = getTopElementForSvcOrResModelVer( modelVerVertex, "" );
                Vertex firstEleModVerVtx = getModelVerThatElementRepresents( firstElementVertex, "" );
-               String firstElemModelType = getModelTypeFromModelVer( firstEleModVerVtx, "" );    
+               String firstElemModelType = getModelTypeFromModelVer( firstEleModVerVtx, "" );
                if( ! firstElemModelType.equals("widget") ){
                        throw new AAIException("AAI_6132", "Bad Model Definition: First element must correspond to a widget type model.  Model UUID = "
                                  + modelVerId);
                }
-               
+
                Vertex firstModVtx = getModelGivenModelVer( modelVerVertex, "" );
            String firstModelInvId = firstModVtx.<String>property("model-invariant-id").orElse(null);
            if( firstModelInvId == null || firstModelInvId.equals("") ){
                        throw new AAIException("AAI_6132", "Bad Model Definition: Could not find model.model-invariant-id given model-ver.model-version-id = "
                                  + modelVerId);
                }
-           
-                Multimap<String, String> collectedMap = collectTopology4ModelVer( transId, fromAppId,
+
+               return collectTopology4ModelVer( transId, fromAppId,
                                firstElementVertex, "", initialEmptyMap, vidsTraversed, 0, null, firstModelInvId, firstModelVersion );
-                
-                return collectedMap;
-         
-       } // End of genTopoMap4ModelVer()
+       }
 
 
        public List<String> makeSureItsAnArrayList( String listStringVal ){
                // We're sometimes getting a String back on db properties that should be ArrayList<String>
                // Seems to be how they're defined in OXM - whether they use a "xml-wrapper" or not
                // Need to translate them into ArrayLists sometimes...
-               
+
                List<String> retArrList = new ArrayList<String>();
                String listString = listStringVal;
                listString = listString.replace(" ",  "");
@@ -1661,7 +1638,6 @@ public class ModelBasedProcessing {
                                retArrList.add(pieces[i]);
                        }
                }
-                       
                return retArrList;
        }
 
@@ -1676,33 +1652,33 @@ public class ModelBasedProcessing {
         */
        public Map<String, Vertex> getModConstraintHash(Vertex modelElementVtx, Map<String, Vertex> currentHash )
                                  throws AAIException {
-       
-               // For a given model-element vertex, look to see if there are any "model-constraint" elements that is has 
+
+               // For a given model-element vertex, look to see if there are any "model-constraint" elements that is has
                //   an OUT "uses" edge to.   If it does, then get any "constrained-element-set" nodes that are pointed to
                //   by the "model-constraint".   That will be the replacement "constrained-element-set".  The UUID of the
                //   "constrained-element-set" that it is supposed to replace is found in the property:
-               //   model-constraint.constrained-element-set-uuid-to-replace   
+               //   model-constraint.constrained-element-set-uuid-to-replace
                //
-               //   For now, that is the only type of model-constraint allowed, so that is all we will look for.  
-               //   Pass back any of these "constrained-element-set" nodes along with any that were passed in by 
+               //   For now, that is the only type of model-constraint allowed, so that is all we will look for.
+               //   Pass back any of these "constrained-element-set" nodes along with any that were passed in by
                //   the "currentHash" parameter.
-                               
+
                if( modelElementVtx == null ){
                        String msg = " null modelElementVtx passed to getModConstraintHash() ";
                        throw new AAIException("AAI_6114", msg);
                }
-         
+
                String modelType = modelElementVtx.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                if( modelType == null || (!modelType.equals("model-element")) ){
                        String msg = " getModConstraintHash() called with wrong type model: [" + modelType + "]. ";
                        throw new AAIException("AAI_6114", msg);
                }
-         
+
                Map<String, Vertex> thisHash = new HashMap<>();
                if( currentHash != null ){
                        thisHash.putAll(currentHash);
                }
-        
+
                int count = 0;
                List<Vertex> modelConstraintArray = new ArrayList<>();
                Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, modelElementVtx, "model-constraint");
@@ -1715,7 +1691,7 @@ public class ModelBasedProcessing {
                                count++;
                        }
                }
-         
+
                if( count > 0 ) {
                        for( int i = 0; i < count; i++ ){
                                Vertex vtxOfModelConstraint = modelConstraintArray.get(i);
@@ -1724,7 +1700,7 @@ public class ModelBasedProcessing {
                                // constrained-element-set to use in its place
                                Iterator<Vertex> mvertI = this.traverseIncidentEdges(EdgeType.TREE, vtxOfModelConstraint, "constrained-element-set");
                                while( mvertI != null && mvertI.hasNext() ){
-                                       // There better only be one...  
+                                       // There better only be one...
                                        Vertex tmpVert = mvertI.next();
                                        String connectToType = tmpVert.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                                        if( (connectToType != null) && connectToType.equals("constrained-element-set") ){
@@ -1739,10 +1715,9 @@ public class ModelBasedProcessing {
                        // Didn't find anything to add, so just return what they passed in.
                        return currentHash;
                }
-       
-       } // End of getModConstraintHash()
-       
+       }
+
+
        /**
         * Gets the top element vertex for service or resource model.
         *
@@ -1752,50 +1727,48 @@ public class ModelBasedProcessing {
         */
        public Vertex getTopElementForSvcOrResModelVer(Vertex modelVerVtx, String trail )
                                  throws AAIException {
-       
+
                  // For a "resource" or "service" type model, return the "top" element in that model
                  if( modelVerVtx == null ){
                          String msg = " null modelVertex passed to getTopoElementForSvcOrResModelVer() at [" + trail + "]. ";
                          throw new AAIException("AAI_6114", msg);
                  }
-                
+
                  String modelVerId = modelVerVtx.<String>property("model-version-id").orElse(null);
                  if( modelVerId == null ){
                          String nt = modelVerVtx.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                          if( nt != null && !nt.equals("model-ver") ){
-                                 String msg = "Illegal model defined: model element pointing to nodeType: [" 
+                                 String msg = "Illegal model defined: model element pointing to nodeType: ["
                                                  + nt + "], should be pointing to: [model-ver] at [" + trail + "]. ";
                                  throw new AAIException("AAI_6132", msg);
                          }
                  }
-                 
+
                  Vertex firstElementVertex = null;
-       
+
                  Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, modelVerVtx, "model-element");
                  int elCount = 0;
                  while( vertI != null && vertI.hasNext() ){
                          elCount++;
                          firstElementVertex = vertI.next();
                  }
-                       
+
                  if( elCount > 1 ){
-                         String msg = "Illegal model defined: More than one first element defined for model-ver-id = " + 
+                         String msg = "Illegal model defined: More than one first element defined for model-ver-id = " +
                                          modelVerId + " at [" + trail + "]. ";
                          throw new AAIException("AAI_6132", msg);
                  }
-                         
+
                  if( firstElementVertex == null ){
-                         String msg = "Could not find first model element for model-ver-id = " 
+                         String msg = "Could not find first model element for model-ver-id = "
                                          + modelVerId + " at [" + trail + "]. ";
                          throw new AAIException("AAI_6132", msg);
                  }
-                 
                  return firstElementVertex;
-         
-       } // End of getTopElementForSvcOrResModelVer()
+       }
+
+
 
-       
-                
        /**
         * Gets the named query prop over ride.
         *
@@ -1810,34 +1783,32 @@ public class ModelBasedProcessing {
        public Map<String,Object> getNamedQueryPropOverRide(String transId, String fromAppId,
                                                         Vertex namedQueryElementVertex, Vertex instanceVertex, String apiVer )
                                  throws AAIException {
-               
+
                // If this model-element says that they want an alternative set of properties returned, then pull that
                // data out of the instance vertex.
-               
+
                Map<String,Object> altPropHash = new HashMap<>();
-                       
+
                if( namedQueryElementVertex == null ){
                        String msg = " null namedQueryElementVertex passed to getNamedQueryPropOverRide() ";
                        throw new AAIException("AAI_6114", msg);
                }
-               
+
                List<String> propCollectList = new ArrayList<>();
                Iterator <VertexProperty<Object>> vpI = namedQueryElementVertex.properties("property-collect-list");
                while( vpI.hasNext() ){
                        propCollectList.add((String)vpI.next().value());
                }
-               
+
                for( int i = 0; i < propCollectList.size(); i++ ){
                        String thisPropName = propCollectList.get(i);
                        Object instanceVal = instanceVertex.<Object>property(thisPropName).orElse(null);
                        altPropHash.put(thisPropName, instanceVal);
                }
-                       
                return altPropHash;
-         
-       } // End of getNamedQueryPropOverRide()
+       }
+
 
-       
        /**
         * Named query constraint says stop.
         *
@@ -1852,11 +1823,11 @@ public class ModelBasedProcessing {
        public Boolean namedQueryConstraintSaysStop(String transId, String fromAppId,
                                                 Vertex namedQueryElementVertex, Vertex instanceVertex, String apiVer )
                                  throws AAIException {
-               
+
                // For each (if any) property-constraint defined for this named-query-element, we will evaluate if
                // the constraint is met or not-met.  if there are constraints and any are not-met, then
                // we return "true".
-               
+
                if( namedQueryElementVertex == null ){
                        String msg = " null namedQueryElementVertex passed to namedQueryConstraintSaysStop() ";
                        throw new AAIException("AAI_6114", msg);
@@ -1865,15 +1836,15 @@ public class ModelBasedProcessing {
                        String msg = " null instanceVertex passed to namedQueryConstraintSaysStop() ";
                        throw new AAIException("AAI_6114", msg);
                }
-                               
+
                Iterator<Vertex> constrPipe = this.traverseIncidentEdges(EdgeType.TREE, namedQueryElementVertex, "property-constraint");
                if( constrPipe == null || !constrPipe.hasNext() ){
                        // There's no "property-constraint" defined for this named-query-element.   No problem.
                        return false;
                }
-               
+
                while( constrPipe.hasNext() ){
-                       Vertex constrVtx = (Vertex) constrPipe.next();
+                       Vertex constrVtx = constrPipe.next();
                        // We found a property constraint that we will need to check
                        String conType = constrVtx.<String>property("constraint-type").orElse(null);
                        if( (conType == null) || conType.equals("")){
@@ -1890,13 +1861,13 @@ public class ModelBasedProcessing {
                                String msg = " Bad property-constraint (propVal) found in Named Query definition. ";
                                throw new AAIException("AAI_6133", msg);
                        }
-                       
+
                        // See if that constraint is met or not
                        String val = instanceVertex.<String>property(propName).orElse(null);
                        if( val == null ){
                                val = "";
                        }
-                       
+
                        if( conType.equals("EQUALS") ){
                                if( !val.equals(propVal) ){
                                        // This constraint was not met
@@ -1914,12 +1885,10 @@ public class ModelBasedProcessing {
                                throw new AAIException("AAI_6133", msg);
                        }
                }
-                
-               return false;
-         
-       } // End of namedQueryConstraintSaysStop()
+               return false;
+       }
+
 
-       
        /**
         * Gets the named query extra data lookup.
         *
@@ -1934,10 +1903,10 @@ public class ModelBasedProcessing {
        public Map<String,Object> getNamedQueryExtraDataLookup(String transId, String fromAppId,
                                                            Vertex namedQueryElementVertex, Vertex instanceVertex, String apiVer )
                                  throws AAIException {
-               
+
                // For each (if any) related-lookup defined for this named-query-element, we will go and
                // and try to find it.  All the related-lookup data will get put in a hash and returned.
-               
+
                if( namedQueryElementVertex == null ){
                        String msg = " null namedQueryElementVertex passed to getNamedQueryExtraDataLookup() ";
                        throw new AAIException("AAI_6114", msg);
@@ -1946,22 +1915,22 @@ public class ModelBasedProcessing {
                        String msg = " null instanceVertex passed to getNamedQueryExtraDataLookup() ";
                        throw new AAIException("AAI_6114", msg);
                }
-               
+
                Map<String,Object> retHash = new HashMap<>();
-               
+
                Iterator<Vertex> lookPipe = this.traverseIncidentEdges(EdgeType.TREE, namedQueryElementVertex, "related-lookup");
                if( lookPipe == null || !lookPipe.hasNext() ){
                        // There's no "related-lookup" defined for this named-query-element.   No problem.
                        return retHash;
                }
-               
+
                while( lookPipe.hasNext() ){
-                       Vertex relLookupVtx = (Vertex) lookPipe.next();
+                       Vertex relLookupVtx = lookPipe.next();
                        // We found a related-lookup record to try and use
                        String srcProp = relLookupVtx.<String>property("source-node-property").orElse(null);
                        String srcNodeType = relLookupVtx.<String>property("source-node-type").orElse(null);
                        srcProp = getPropNameWithAliasIfNeeded(srcNodeType, srcProp);
-                       
+
                        if( (srcProp == null) || srcProp.equals("")){
                                String msg = " Bad related-lookup (source-node-property) found in Named Query definition. ";
                                throw new AAIException("AAI_6133", msg);
@@ -1973,38 +1942,38 @@ public class ModelBasedProcessing {
                        }
                        String targetProp = relLookupVtx.<String>property("target-node-property").orElse(null);
                        targetProp = getPropNameWithAliasIfNeeded(targetNodeType, targetProp);
-                                       
+
                        if( (targetProp == null) || targetProp.equals("")){
                                String msg = " Bad related-lookup (target-node-property) found in Named Query definition. ";
                                throw new AAIException("AAI_6133", msg);
                        }
-                       
+
                        List<String> propCollectList = new ArrayList<>();
                        Iterator <VertexProperty<Object>> vpI = relLookupVtx.properties("property-collect-list");
                        while( vpI.hasNext() ){
                                propCollectList.add((String)vpI.next().value());
                        }
 
-                       // Use the value from the source to see if we can find ONE target record using the 
+                       // Use the value from the source to see if we can find ONE target record using the
                        //     value from the source
                        String valFromInstance = instanceVertex.<String>property(srcProp).orElse(null);
                        if( valFromInstance == null ){
                                // if there is no key to use to go look up something, we should end it here and just
-                               // note what happened  - no need to try to look something up by an empty key 
-                               LOGGER.debug("WARNING - the instance data node of type [" + srcNodeType 
-                                               + "] did not have a value for property [" + srcProp 
+                               // note what happened  - no need to try to look something up by an empty key
+                               LOGGER.debug("WARNING - the instance data node of type [" + srcNodeType
+                                               + "] did not have a value for property [" + srcProp
                                                + "], so related-lookup is being abandoned.");
                                return retHash;
                        }
-                       
+
                        Map<String,Object> propHash = new HashMap<String,Object>();
                        propHash.put(targetProp, valFromInstance);
-                       
+
                        Optional<Vertex> result = dbMethHelper.locateUniqueVertex(targetNodeType, propHash);
                        if (!result.isPresent()) {
                                // If it can't find the lookup node, don't fail, just log that it couldn't be found ---
-                               LOGGER.debug("WARNING - Could not find lookup node that corresponds to nodeType [" 
-                                               + targetNodeType + "] propertyName = [" + srcProp 
+                               LOGGER.debug("WARNING - Could not find lookup node that corresponds to nodeType ["
+                                               + targetNodeType + "] propertyName = [" + srcProp
                                                + "], propVal = [" + valFromInstance
                                                + "] so related-lookup is being abandoned.");
                                return retHash;
@@ -2018,21 +1987,20 @@ public class ModelBasedProcessing {
                                Object valObj = tmpVtx.<Object>property(tmpPropName).orElse(null);
                                String lookupKey = targetNodeType + "." + tmpPropName;
                                retHash.put(lookupKey, valObj);
-                               
+
                        }
                }
                }
-                
+
                return retHash;
-         
-       } // End of getNamedQueryExtraDataLookup()
+       }
 
        /**
         * Collect NQ element hash.
         *
         * @param transId the trans id
         * @param fromAppId the from app id
-        * @param thisLevelElemVtx the element verrtx for this level 
+        * @param thisLevelElemVtx the element verrtx for this level
         * @param incomingTrail the incoming trail -- trail of nodeTypes that got us here (this nq-element vertex) from the top
         * @param currentHash the current hash
      * @param Map that got us to this point (that we will use as the base of the map we will return)
@@ -2045,21 +2013,21 @@ public class ModelBasedProcessing {
                                                     Vertex thisLevelElemVtx, String incomingTrail,
                                                     Map<String,String> currentHash, ArrayList <String> vidsTraversed,
                                                     int levelCounter )   throws AAIException {
-       
+
          levelCounter++;
 
          Map<String, String> thisHash = new HashMap<>();
          thisHash.putAll(currentHash);
-        
+
          if( levelCounter > MAX_LEVELS ) {
                  throw new AAIException("AAI_6125", "collectNQElementHash() has looped across more levels than allowed: " + MAX_LEVELS + ". ");
          }
          String thisGuysTrail = "";
          String thisElemVid = thisLevelElemVtx.id().toString();
-        
+
          // Find out what widget (and thereby what aai-node-type) this element represents.
          String thisElementNodeType = getNqElementWidgetType( transId, fromAppId,  thisLevelElemVtx, incomingTrail );
-         
+
          if( incomingTrail == null || incomingTrail.equals("") ){
                  // This is the first one
                  thisGuysTrail = thisElementNodeType;
@@ -2068,28 +2036,28 @@ public class ModelBasedProcessing {
                  thisGuysTrail = incomingTrail + "|" + thisElementNodeType;
          }
          vidsTraversed.add(thisElemVid);
-         
+
          String nqElementUuid = thisLevelElemVtx.<String>property("named-query-element-uuid").orElse(null);
          if( nqElementUuid == null || nqElementUuid.equals("") ){
                  String msg = " named-query element UUID not found at trail = [" + incomingTrail + "].";
                  throw new AAIException("AAI_6133", msg);
          }
-         thisHash.put(thisGuysTrail, nqElementUuid ); 
-         
+         thisHash.put(thisGuysTrail, nqElementUuid );
+
          //  Now go "down" and look at the sub-elements pointed to so we can get their data.
          Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, thisLevelElemVtx, "named-query-element");
          while( vertI != null && vertI.hasNext() ){
                  Vertex tmpVert = vertI.next();
                  String vid = tmpVert.id().toString();
                  Map<String,Object> elementHash = new HashMap<String, Object>();
-                 
+
                  String connectToType = tmpVert.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                  if( connectToType != null && connectToType.equals("named-query-element") ){
                          // This is what we would expect
                          elementHash.put(vid, tmpVert);
                  }
                  else {
-                         String msg = " named query element has [connectedTo] edge to improper nodeType= [" 
+                         String msg = " named query element has [connectedTo] edge to improper nodeType= ["
                                          + connectToType + "] trail = [" + incomingTrail + "].";
                          throw new AAIException("AAI_6133", msg);
                  }
@@ -2098,16 +2066,15 @@ public class ModelBasedProcessing {
                          String tmpElVid = elVert.id().toString();
                          if( !vidsTraversed.contains(tmpElVid) ){
                                  // This is one we would like to use - so we'll recursively get it's result set to add to ours
-                                 Map<String, String> tmpHash = collectNQElementHash( transId, fromAppId, 
+                                 Map<String, String> tmpHash = collectNQElementHash( transId, fromAppId,
                                                        elVert, thisGuysTrail, currentHash, vidsTraversed, levelCounter);
                                  thisHash.putAll(tmpHash);
                          }
-                 }             
+                 }
          }
          return thisHash;
-         
-       } // End of collectNQElementHash()
-       
+       }
+
 
        /**
         * Collect delete key hash.
@@ -2133,47 +2100,47 @@ public class ModelBasedProcessing {
                                                     int levelCounter, Map<String, Vertex> modConstraintHash,
                                                     String overRideModelId, String overRideModelVersionId )
                                  throws AAIException {
-       
+
          levelCounter++;
 
          Map<String, String> thisHash = new HashMap<>();
          thisHash.putAll(currentHash);
-        
+
          if( levelCounter > MAX_LEVELS ) {
                  throw new AAIException("AAI_6125", "collectDeleteKeyHash() has looped across more levels than allowed: " + MAX_LEVELS + ". ");
          }
          String thisGuysTrail = "";
          String thisElemVid = thisLevelElemVtx.id().toString();
          Map<String, Vertex> modConstraintHash2Use = null;
-         
-         // If this element represents a resource or service model, then we will replace this element with 
+
+         // If this element represents a resource or service model, then we will replace this element with
          //    the "top" element of that resource or service model.  That model-element already points to its
-         //    topology, so it will graft in that model's topology.   
+         //    topology, so it will graft in that model's topology.
          // EXCEPT - if this element has "linkage-points" defined, then we need to do some extra
          //     processing for how we join to that model and will not try to go any "deeper".
          List<String> linkagePtList = new ArrayList<>();
          Iterator <VertexProperty<Object>> vpI = thisLevelElemVtx.properties("linkage-points");
 
-         // I am not sure why, but since "linkage-points" is an xml-element-wrapper in the OXM definition, 
+         // I am not sure why, but since "linkage-points" is an xml-element-wrapper in the OXM definition,
          // we get back the whole array of Strings in one String - but still use the "vtx.properties()" to
          // get it - but only look at the first thing returned by the iterator.
          if( vpI.hasNext() ){
                  String tmpLinkageThing = (String)vpI.next().value();
                  linkagePtList = makeSureItsAnArrayList( tmpLinkageThing );
-         }   
-                 
+         }
+
          if( linkagePtList != null && !linkagePtList.isEmpty() ){
                  // Whatever this element is - we are connecting to it via a linkage-point
                  // We will figure out what to do and then return without going any deeper
                  String elemFlag = thisLevelElemVtx.<String>property("new-data-del-flag").orElse(null);
-                 
+
                  Set<String> linkageConnectNodeTypes = getLinkageConnectNodeTypes( linkagePtList );
                  Iterator <?> linkNtIter = linkageConnectNodeTypes.iterator();
                  String incTrail = "";
                  if( incomingTrail != null &&  !incomingTrail.equals("") ){
                          incTrail = incomingTrail + "|";
                  }
-                 
+
                  while( linkNtIter.hasNext() ){
                          // The 'trail' (or trails) for this element should just be the to the first-contact on the linkage point
                          String linkTrail = incTrail + linkNtIter.next();
@@ -2194,14 +2161,14 @@ public class ModelBasedProcessing {
                  }
                  return thisHash;
          }
-  
+
          // ----------------------------------------------------------------------------
-         // If we got to here, then this was not an element that used a linkage-point 
+         // If we got to here, then this was not an element that used a linkage-point
          // ----------------------------------------------------------------------------
-         
+
          // Find out what widget-model (and thereby what aai-node-type) this element represents.
          // Even if this element is pointing to a service or resource model, it must have a
-         // first element which is a single widget-type model.  
+         // first element which is a single widget-type model.
          String thisElementNodeType = getModElementWidgetType( thisLevelElemVtx, incomingTrail );
          String firstElementModelInfo = "";
 
@@ -2219,11 +2186,11 @@ public class ModelBasedProcessing {
                          //    could be a resource or service model.
                          firstElementModelInfo = "," + overRideModelId + "," + overRideModelVersionId;
                  }
-         }     
+         }
          else if( nodeTypeSupportsPersona(thisElementNodeType) ){
                  firstElementModelInfo = "," + subModelFirstModInvId + "," + subModelFirstVerId;
          }
-                         
+
          if( incomingTrail.equals("") ){
                  // This is the first one
                  thisGuysTrail = thisElementNodeType + firstElementModelInfo;
@@ -2231,27 +2198,27 @@ public class ModelBasedProcessing {
          else {
                  thisGuysTrail = incomingTrail + "|" + thisElementNodeType  + firstElementModelInfo;
          }
-         
+
          String tmpFlag = "F";
          Boolean stoppedByASvcOrResourceModelElement = false;
          if( modType.equals("widget") ){
                  elementVtxForThisLevel = thisLevelElemVtx;
-                 // For the element-model for the widget at this level, record it's delete flag 
+                 // For the element-model for the widget at this level, record it's delete flag
                  tmpFlag = elementVtxForThisLevel.<String>property("new-data-del-flag").orElse(null);
          }
          else {
-                 // For an element that is referring to a resource or service model, we replace 
+                 // For an element that is referring to a resource or service model, we replace
              // this element with the "top" element for that resource/service model so that the
                  // topology of that resource/service model will be included in this topology.
                  String modelVerId = thisElementsModelVerVtx.<String>property("model-version-id").orElse(null);
-                 if( subModelFirstModInvId == null || subModelFirstModInvId.equals("") 
+                 if( subModelFirstModInvId == null || subModelFirstModInvId.equals("")
                                  || subModelFirstVerId == null || subModelFirstVerId.equals("") ){
                          throw new AAIException("AAI_6132", "Bad Model Definition: Bad model-invariant-id or model-version-id.  Model-version-id = " +
                                  modelVerId + ", at [" + incomingTrail + "]");
                  }
-                 
-                 // BUT --  if the model-element HERE at the resource/service level does NOT have 
-                 //    it's new-data-del-flag set to "T", then we do not need to go down into the 
+
+                 // BUT --  if the model-element HERE at the resource/service level does NOT have
+                 //    it's new-data-del-flag set to "T", then we do not need to go down into the
                  //    sub-model looking for delete-able things.
 
                  tmpFlag = thisLevelElemVtx.<String>property("new-data-del-flag").orElse(null);
@@ -2262,10 +2229,10 @@ public class ModelBasedProcessing {
                  else {
                          stoppedByASvcOrResourceModelElement = true;
                  }
-                 // For the element-model for the widget at this level, record it's delete flag 
+                 // For the element-model for the widget at this level, record it's delete flag
                  tmpFlag = elementVtxForThisLevel.<String>property("new-data-del-flag").orElse(null);
          }
-         
+
          String flag2Use = "F";  // by default we'll use "F" for the delete flag
          if( ! stoppedByASvcOrResourceModelElement ){
                  // Since we haven't been stopped by a resource/service level "F", we can look at the lower level flag
@@ -2287,8 +2254,8 @@ public class ModelBasedProcessing {
                          flag2Use = "T";
                  }
          }
-         
-         thisHash.put(thisGuysTrail, flag2Use); 
+
+         thisHash.put(thisGuysTrail, flag2Use);
          if( ! stoppedByASvcOrResourceModelElement ){
                  // Since we haven't been stopped by a resource/service level "F", we will continue to
                  //     go "down" and look at the elements pointed to so we can get their data.
@@ -2297,7 +2264,7 @@ public class ModelBasedProcessing {
                          Vertex tmpVert = vertI.next();
                          String vid = tmpVert.id().toString();
                          Map<String,Object> elementHash = new HashMap<String, Object>();
-                         
+
                          String connectToType = tmpVert.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                          if( connectToType != null && connectToType.equals("model-element") ){
                                  // A nice, regular old model-element
@@ -2314,15 +2281,15 @@ public class ModelBasedProcessing {
                                          modConstraintHash.remove(constrainedElementSetUuid);
                                  }
                                  else {
-                                         elementHash = getNextStepElementsFromSet( tmpVert );    
+                                         elementHash = getNextStepElementsFromSet( tmpVert );
                                  }
                          }
                          else {
-                                 String msg = " model-element has [connectedTo] edge to improper nodeType= [" 
+                                 String msg = " model-element has [connectedTo] edge to improper nodeType= ["
                                                  + connectToType + "] trail = [" + incomingTrail + "].";
                                  throw new AAIException("AAI_6132", msg);
                          }
-                         
+
                          for( Map.Entry<String, Object> entry : elementHash.entrySet() ){
                                  Vertex elVert = (Vertex)(entry.getValue());
                                  String tmpElVid = elVert.id().toString();
@@ -2330,20 +2297,19 @@ public class ModelBasedProcessing {
                                  check4EdgeRule(tmpElNT, thisElementNodeType);
                                  if( !vidsTraversed.contains(tmpElVid) ){
                                          // This is one we would like to use - so we'll recursively get it's result set to add to ours
-                                         Map<String, String> tmpHash = collectDeleteKeyHash( transId, fromAppId, 
-                                                               elVert, thisGuysTrail, 
+                                         Map<String, String> tmpHash = collectDeleteKeyHash( transId, fromAppId,
+                                                               elVert, thisGuysTrail,
                                                                currentHash, vidsTraversed, levelCounter, modConstraintHash2Use,
                                                                "", "" );
                                          thisHash.putAll(tmpHash);
                                  }
-                         }             
+                         }
                  }
          }
          return thisHash;
-         
-       } // End of collectDeleteKeyHash()
-       
-       
+       }
+
+
        /**
         * Gets the linkage connect node types.
         *
@@ -2353,18 +2319,18 @@ public class ModelBasedProcessing {
         */
        public Set<String> getLinkageConnectNodeTypes(List<String> linkagePtList )
                          throws AAIException {
-               // linkage points are a path from the top of a model to where we link in.  
-               // This method wants to just bring back a list of distinct last items.  
+               // linkage points are a path from the top of a model to where we link in.
+               // This method wants to just bring back a list of distinct last items.
                // Ie: for the input with these two:  "pserver|lag-link|l-interface" and "pserver|p-interface|l-interface"
                //   it would just return a single item, "l-interface" since both linkage points end in that same node-type.
-               
+
                Set<String> linkPtSet = new HashSet<>();
-               
+
                if( linkagePtList == null ){
                        String detail = " Bad (null) linkagePtList passed to getLinkageConnectNodeTypes() ";
                        throw new AAIException("AAI_6125", detail);
                }
-               
+
                for( int i = 0; i < linkagePtList.size(); i++ ){
                        String [] trailSteps = linkagePtList.get(i).split("\\|");
                        if( trailSteps == null || trailSteps.length == 0 ){
@@ -2374,12 +2340,11 @@ public class ModelBasedProcessing {
                        String lastStepNT = trailSteps[trailSteps.length - 1];
                        linkPtSet.add(lastStepNT);
                }
-               
+
                return linkPtSet;
-       
-       }// End getLinkageConnectNodeTypes()
-       
-       
+       }
+
+
        /**
         * Collect topology for model-ver.
         *
@@ -2403,34 +2368,34 @@ public class ModelBasedProcessing {
                                                              int levelCounter, Map<String, Vertex> modConstraintHash,
                                                              String overRideModelInvId, String overRideModelVersionId )
                                  throws AAIException {
-       
+
          levelCounter++;
 
          Multimap<String, String> thisMap = ArrayListMultimap.create();
          thisMap.putAll(currentMap);
-        
+
          if( levelCounter > MAX_LEVELS ) {
                  throw new AAIException("AAI_6125", "collectTopology4ModelVer() has looped across more levels than allowed: " + MAX_LEVELS + ". ");
          }
          String thisGuysTrail = "";
          String thisElemVid = thisLevelElemVtx.id().toString();
          Map<String, Vertex> modConstraintHash2Use = null;
-         // If this element represents a resource or service model, then we will replace this element with 
+
+         // If this element represents a resource or service model, then we will replace this element with
          // the "top" element of that resource or service model.  That model-element already points to its
-         // topology, so it will graft in that model's topology.   
+         // topology, so it will graft in that model's topology.
          // EXCEPT - if this element defines "linkage-points" defined, then we need to do some extra
          //     processing for how we join to that model.
-       
+
          // Find out what widget-model (and thereby what aai-node-type) this element represents.
          // Even if this element is pointing to a service or resource model, it must have a
-         // first element which is a single widget-type model. 
+         // first element which is a single widget-type model.
          String firstElementModelInfo = "";
          String thisElementNodeType = getModElementWidgetType( thisLevelElemVtx, incomingTrail );
          if( nodeTypeSupportsPersona(thisElementNodeType) && overRideModelInvId != null && !overRideModelInvId.equals("") ){
                  firstElementModelInfo = "," + overRideModelInvId + "," + overRideModelVersionId;
          }
-         
+
          Vertex elementVtxForThisLevel = null;
          Vertex thisElementsModelVerVtx = getModelVerThatElementRepresents( thisLevelElemVtx, incomingTrail );
          String subModelFirstModInvId = "";
@@ -2441,12 +2406,12 @@ public class ModelBasedProcessing {
                  // For an element that is referring to a resource or service model, we replace this
              // this element with the "top" element for that resource/service model so that the
                  // topology of that resource/service model gets included in this topology.
-                 // -- Note - since that top element of a service or resource model will point to a widget model, 
+                 // -- Note - since that top element of a service or resource model will point to a widget model,
                  //    we have to track what modelId/version it really maps so we can make our recursive call
                  Vertex thisElementsModelVtx = getModelGivenModelVer(thisElementsModelVerVtx, incomingTrail);
                  subModelFirstModInvId = thisElementsModelVtx.<String>property("model-invariant-id").orElse(null);
                  subModelFirstModVerId = thisElementsModelVerVtx.<String>property("model-version-id").orElse(null);
-                 
+
                  if( nodeTypeSupportsPersona(thisElementNodeType) ){
                                modInfo4Trail = "," + subModelFirstModInvId + "," + subModelFirstModVerId;
                  }
@@ -2455,13 +2420,13 @@ public class ModelBasedProcessing {
                          throw new AAIException("AAI_6132", "Bad Model Definition: Bad model-invariant-id or model-version-id.  Model-ver-id = " + modelVerId);
                  }
 
-                 elementVtxForThisLevel = getTopElementForSvcOrResModelVer(thisElementsModelVerVtx,  incomingTrail);  
+                 elementVtxForThisLevel = getTopElementForSvcOrResModelVer(thisElementsModelVerVtx,  incomingTrail);
                  modConstraintHash2Use = getModConstraintHash( thisLevelElemVtx, modConstraintHash );
          }
          else {
                  elementVtxForThisLevel = thisLevelElemVtx;
          }
-         
+
          if( incomingTrail.equals("") ){
                  // This is the first one
                  thisGuysTrail = thisElementNodeType + firstElementModelInfo;
@@ -2469,7 +2434,7 @@ public class ModelBasedProcessing {
          else {
                  thisGuysTrail = incomingTrail + "|" + thisElementNodeType + modInfo4Trail;
          }
-         
+
          // We only want to ensure that a particular element does not repeat on a single "branch".
          // It could show up on other branches in the case where it is a sub-model which is being
          // used in more than one place.
@@ -2477,7 +2442,7 @@ public class ModelBasedProcessing {
          List<String> thisTrailsVidsTraversed = new ArrayList <String>();
          thisTrailsVidsTraversed.addAll(vidsTraversed);
          thisTrailsVidsTraversed.add(thisElemVid);
-         
+
          // Look at the elements pointed to at this level and add on their data
          Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, elementVtxForThisLevel, "model-element", "constrained-element-set");
 
@@ -2501,35 +2466,35 @@ public class ModelBasedProcessing {
                                  modConstraintHash.remove(constrainedElementSetUuid);
                          }
                          else {
-                                 elementHash = getNextStepElementsFromSet( tmpVert );    
+                                 elementHash = getNextStepElementsFromSet( tmpVert );
                          }
                  }
                  else {
-                         String msg = " model element has [connectedTo] edge to improper nodeType= [" 
+                         String msg = " model element has [connectedTo] edge to improper nodeType= ["
                                          + connectToType + "] trail = [" + incomingTrail + "].";
                          throw new AAIException("AAI_6132", msg);
                  }
-                 
+
                  for( Map.Entry<String, Object> entry : elementHash.entrySet() ){
                          Vertex elVert = (Vertex)(entry.getValue());
                          String tmpElVid = elVert.id().toString();
                          String tmpElNT = getModElementWidgetType( elVert, thisGuysTrail );
                          String tmpElStepName = getModelElementStepName( elVert, thisGuysTrail);
-                         
+
                          List<String> linkagePtList = new ArrayList <String>();
                          Iterator <VertexProperty<Object>> vpI = elVert.properties("linkage-points");
-                         // I am not sure why, but since "linkage-points" is an xml-element-wrapper in the OXM definition, 
+
+                         // I am not sure why, but since "linkage-points" is an xml-element-wrapper in the OXM definition,
                          // we get back the whole array of Strings in one String - but still use the "vtx.properties()" to
                          // get it - but only look at the first thing returned by the iterator.
                          if( vpI.hasNext() ){
                                  String tmpLinkageThing = (String)vpI.next().value();
                                  linkagePtList = makeSureItsAnArrayList( tmpLinkageThing );
-                         } 
-                 
+                         }
+
                          if( linkagePtList != null && !linkagePtList.isEmpty() ){
-                                 // This is as far as we can go, we will use the linkage point info to define the 
-                                 // rest of this "trail" 
+                                 // This is as far as we can go, we will use the linkage point info to define the
+                                 // rest of this "trail"
                                  for( int i = 0; i < linkagePtList.size(); i++ ){
                                          Multimap<String, String> tmpMap = collectTopology4LinkagePoint( transId, fromAppId,
                                                                linkagePtList.get(i), thisGuysTrail, currentMap);
@@ -2542,8 +2507,8 @@ public class ModelBasedProcessing {
                                  if( !thisTrailsVidsTraversed.contains(tmpElVid) ){
                                          // This is one we would like to use - so we'll recursively get it's result set to add to ours
                                          Multimap<String, String> tmpMap = collectTopology4ModelVer( transId, fromAppId,
-                                                               elVert, thisGuysTrail, 
-                                                               currentMap, thisTrailsVidsTraversed, levelCounter, 
+                                                               elVert, thisGuysTrail,
+                                                               currentMap, thisTrailsVidsTraversed, levelCounter,
                                                                 modConstraintHash2Use, subModelFirstModInvId, subModelFirstModVerId );
                                          thisMap.putAll(tmpMap);
                                  }
@@ -2554,16 +2519,14 @@ public class ModelBasedProcessing {
                                                          " on trail = [" + thisGuysTrail + "]. ";
                                          System.out.println( msg );
                                          throw new AAIException("AAI_6132", msg);
-                                 }       
-                         }  
-                 }             
+                                 }
+                         }
+                 }
          }
-          
          return thisMap;
-         
-       } // End of collectTopology4ModelVer()
-       
-       
+       }
+
+
        /**
         * Check 4 edge rule.
         *
@@ -2574,10 +2537,10 @@ public class ModelBasedProcessing {
         */
        public void check4EdgeRule( String nodeTypeA, String nodeTypeB) throws AAIException {
                // Throw an exception if there is no defined edge rule for this combination of nodeTypes in DbEdgeRules.
-               
+
                final EdgeRules edgeRules = EdgeRules.getInstance();
-               
-               if( !edgeRules.hasEdgeRule(nodeTypeA, nodeTypeB)  
+
+               if( !edgeRules.hasEdgeRule(nodeTypeA, nodeTypeB)
                                &&  !edgeRules.hasEdgeRule(nodeTypeB, nodeTypeA) ){
                        // There's no EdgeRule for this -- find out if one of the nodeTypes is invalid or if
                        // they are valid, but there's just no edgeRule for them.
@@ -2593,16 +2556,14 @@ public class ModelBasedProcessing {
                                String emsg = " Unrecognized nodeType bb [" + nodeTypeB + "]\n";
                                throw new AAIException("AAI_6115", emsg);
                        }
-                       
-                       String msg = " No Edge Rule found for this pair of nodeTypes (order does not matter) [" 
+
+                       String msg = " No Edge Rule found for this pair of nodeTypes (order does not matter) ["
                                          + nodeTypeA + "], [" + nodeTypeB + "].";
                        throw new AAIException("AAI_6120", msg);
                }
-               
-               
        }
-       
-    
+
+
        /**
         * Collect topology 4 linkage point.
         *
@@ -2622,11 +2583,11 @@ public class ModelBasedProcessing {
          Multimap<String, String> thisMap = ArrayListMultimap.create();
          thisMap.putAll(currentMap);
          String thisGuysTrail = incomingTrail;
-         
+
          // NOTE - "trails" can have multiple parts now since we track persona info for some.
          //      We just want to look at the node type info - which would be the piece
          //      before any commas (if there are any).
-        
+
          String [] trailSteps = thisGuysTrail.split("\\|");
          if( trailSteps == null || trailSteps.length == 0 ){
                  throw new AAIException("AAI_6125", "Bad incomingTrail passed to collectTopology4LinkagePoint(): [" + incomingTrail + "] ");
@@ -2634,23 +2595,23 @@ public class ModelBasedProcessing {
          String lastStepString = trailSteps[trailSteps.length - 1];
          String [] stepPieces = lastStepString.split(",");
          String lastStepNT = stepPieces[0];
-         
+
          // It is assumed that the linkagePoint string will be a pipe-delimited string where each
          // piece is an AAIProperties.NODE_TYPE.  For now, the first thing to connect to is what is on the farthest right.
          // Example:  linkagePoint =  "pserver|p-interface|l-interface"   would mean that we're connecting to the l-interface
          //      but that after that, we connect to a p-interface followed by a pserver.
          // It might have been more clear to define it in the other direction, but for now, that is it. (16-07)
          String linkagePointStr = linkagePointStrVal;
-        
-         // We are getting these with more than linkage thing in one string.  
+
+         // We are getting these with more than linkage thing in one string.
          //   Ie. "pserver|lag-interface|l-interface, pserver|p-interface|l-interface, vlan|l-interface"
          linkagePointStr = linkagePointStr.replace("[",  "");
          linkagePointStr = linkagePointStr.replace("]",  "");
          linkagePointStr = linkagePointStr.replace(" ",  "");
-         
+
          String [] linkage = linkagePointStr.split("\\,");
          for( int x = 0; x < linkage.length; x++ ){
-                 lastStepNT = stepPieces[0]; 
+                 lastStepNT = stepPieces[0];
                  String thisStepNT = "";
                  String [] linkageSteps = linkage[x].split("\\|");
                  if( linkageSteps == null || linkageSteps.length == 0 ){
@@ -2665,10 +2626,10 @@ public class ModelBasedProcessing {
                  }
          }
          return thisMap;
-         
-       } // End of collectTopology4LinkagePoint()
-       
-   
+
+       }
+
+
        /**
         * Gets the next step elements from set.
         *
@@ -2680,21 +2641,21 @@ public class ModelBasedProcessing {
                                  throws AAIException {
                // Take a constrained-element-set and figure out the total set of all the possible elements that it
                // represents and return them as a Hash.
-         
+
                Map<String,Object> retElementHash = new HashMap<String, Object>();
-       
+
                if( constrElemSetVtx == null ){
                          String msg = " getNextStepElementsFromSet() called with null constrElemSetVtx ";
                          throw new AAIException("AAI_6125", msg);
                }
-       
+
                String constrNodeType = constrElemSetVtx.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                String constrElemSetUuid = constrElemSetVtx.<String>property("constrained-element-set-uuid").orElse(null);
                if( constrNodeType == null || !constrNodeType.equals("constrained-element-set") ){
                          String msg = " getNextStepElementsFromSet() called with wrong type model: [" + constrNodeType + "]. ";
                          throw new AAIException("AAI_6125", msg);
                }
-               
+
                ArrayList <Vertex>  choiceSetVertArray = new ArrayList<Vertex>();
                Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, constrElemSetVtx, "element-choice-set");
                int setCount = 0;
@@ -2706,12 +2667,12 @@ public class ModelBasedProcessing {
                                setCount++;
                        }
                }
-                       
+
                if( setCount == 0 ){
                          String msg = "No element-choice-set found under constrained-element-set-uuid = " + constrElemSetUuid;
                          throw new AAIException("AAI_6132", msg);
                }
-               
+
                // Loop through each choice-set and grab the model-elements
                for( int i = 0; i < setCount; i++ ){
                        Vertex choiceSetVert = choiceSetVertArray.get(i);
@@ -2727,24 +2688,24 @@ public class ModelBasedProcessing {
                                }
                                else {
                                        // unsupported node type found for this choice-set
-                                       String msg = "Unsupported nodeType (" + elNodeType 
+                                       String msg = "Unsupported nodeType (" + elNodeType
                                                        + ") found under choice-set under constrained-element-set-uuid = " + constrElemSetUuid;
                                        throw new AAIException("AAI_6132", msg);
                                }
                        }
-                               
+
                        if( elCount == 0 ){
                                  String msg = "No model-elements found in choice-set under constrained-element-set-uuid = " + constrElemSetUuid;
                                  throw new AAIException("AAI_6132", msg);
                        }
-                       
+
                }
          return retElementHash;
-         
-       } // End of getNextStepElementsFromSet()
-       
-       
-       
+
+       }
+
+
+
        /**
         * Gen topo map 4 named Q.
         *
@@ -2758,14 +2719,14 @@ public class ModelBasedProcessing {
        public Multimap<String, String> genTopoMap4NamedQ(String transId, String fromAppId,
                                                       Vertex queryVertex, String namedQueryUuid )
                                  throws AAIException {
-         
+
          if( queryVertex == null ){
                  throw new AAIException("AAI_6125", "null queryVertex passed to genTopoMap4NamedQ()");
          }
-         
+
          Multimap<String, String> initialEmptyMap = ArrayListMultimap.create();
          List<String> vidsTraversed = new ArrayList<>();
-         
+
          Vertex firstElementVertex = null;
          Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, queryVertex, "named-query-element");
          int elCount = 0;
@@ -2773,32 +2734,29 @@ public class ModelBasedProcessing {
                  elCount++;
                  firstElementVertex = vertI.next();
          }
-               
+
          if( elCount > 1 ){
                  throw new AAIException("AAI_6133", "Illegal query defined: More than one first element defined for = " + namedQueryUuid);
          }
-         
+
          if( firstElementVertex == null ){
                  throw new AAIException("AAI_6114", "Could not find first query element = " + namedQueryUuid);
          }
-       
+
          Vertex modVtx = getModelThatNqElementRepresents( firstElementVertex, "" );
-         String modelType = getModelTypeFromModel( modVtx, "" );         
+         String modelType = getModelTypeFromModel( modVtx, "" );
          if( ! modelType.equals("widget") ){
                  throw new AAIException("AAI_6133", "Bad Named Query Definition: First element must correspond to a widget type model.  Named Query UUID = "
                                  + namedQueryUuid);
          }
-         
-         Multimap<String, String> collectedMap = collectTopology4NamedQ( transId, fromAppId,
-                               firstElementVertex, "", 
+
+         return collectTopology4NamedQ( transId, fromAppId,
+                               firstElementVertex, "",
                                initialEmptyMap, vidsTraversed, 0);
-         
-         return collectedMap;
-         
-       } // End of genTopoMap4NamedQ()
+       }
+
+
 
-       
-    
        /**
         * Collect topology 4 named Q.
         *
@@ -2813,21 +2771,21 @@ public class ModelBasedProcessing {
                                                            Vertex thisLevelElemVtx, String incomingTrail,
                                                            Multimap<String,String> currentMap, List<String> vidsTraversed, int levelCounter )
                                  throws AAIException {
-       
+
          levelCounter++;
 
          Multimap<String, String> thisMap = ArrayListMultimap.create();
          thisMap.putAll(currentMap);
-        
+
          String thisElemVid = thisLevelElemVtx.id().toString();
          if( levelCounter > MAX_LEVELS ) {
                  throw new AAIException("AAI_6125", "collectModelStructure() has looped across more levels than allowed: " + MAX_LEVELS + ". ");
          }
          String thisGuysTrail = "";
-         
+
          // find out what widget (and thereby what aai-node-type) this element represents
          String thisElementNodeType = getNqElementWidgetType( transId, fromAppId, thisLevelElemVtx, incomingTrail );
-         
+
          if( incomingTrail.equals("") ){
                  // This is the first one
                  thisGuysTrail = thisElementNodeType;
@@ -2835,9 +2793,9 @@ public class ModelBasedProcessing {
          else {
                  thisGuysTrail = incomingTrail + "|" + thisElementNodeType;
          }
-         
+
          vidsTraversed.add(thisElemVid);
-         
+
          // Look at the elements pointed to at this level and add on their data
          Iterator<Vertex> vertI = this.traverseIncidentEdges(EdgeType.TREE, thisLevelElemVtx, "named-query-element");
          while( vertI != null && vertI.hasNext() ){
@@ -2848,15 +2806,15 @@ public class ModelBasedProcessing {
                  if( !vidsTraversed.contains(tmpVid) ){
                          // This is one we would like to use - so we'll recursively get it's result set to add to ours
                          Multimap<String, String> tmpMap = collectTopology4NamedQ( transId, fromAppId,
-                                               tmpVert, thisGuysTrail, 
+                                               tmpVert, thisGuysTrail,
                                                currentMap, vidsTraversed, levelCounter);
                          thisMap.putAll(tmpMap);
                  }
          }
-         
+
          return thisMap;
-         
-       } // End of collectTopology4NamedQ()
+
+       }
 
 
        /**
@@ -2869,7 +2827,7 @@ public class ModelBasedProcessing {
         */
        public Vertex getModelThatNqElementRepresents(Vertex elementVtx, String elementTrail )
                throws AAIException {
-               
+
                  // Get the model that a named-query element represents
                  Vertex modVtx = null;
                  Iterator<Vertex> mvertI = this.traverseIncidentEdges(EdgeType.COUSIN, elementVtx, "model");
@@ -2878,13 +2836,13 @@ public class ModelBasedProcessing {
                          modCount++;
                          modVtx = mvertI.next();
                  }
-                       
+
                  if( modCount > 1 ){
                          String msg = "Illegal element defined: More than one model pointed to by a single named-query-element at [" +
                                          elementTrail + "].";
                          throw new AAIException("AAI_6125", msg);
                  }
-                 
+
                  if( modVtx == null ){
                          String msg = "Bad named-query definition: Could not find model for element. ";
                          if( !elementTrail.equals("") ){
@@ -2892,20 +2850,20 @@ public class ModelBasedProcessing {
                          }
                          throw new AAIException("AAI_6132", msg);
                  }
-                 
+
                  String nodeType = modVtx.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                  if( (nodeType != null) && nodeType.equals("model") ){
                          return modVtx;
                  }
                  else {
-                         String msg = "Illegal Named Query element defined: expecting a 'model', but found 'isA' edge pointing to nodeType = " + 
+                         String msg = "Illegal Named Query element defined: expecting a 'model', but found 'isA' edge pointing to nodeType = " +
                                          nodeType + "] at [" +   elementTrail + "].";
                          throw new AAIException("AAI_6125", msg);
-                 }       
-                   
-       }// getModelThatNqElementRepresents()
-       
-       
+                 }
+
+       }
+
+
        /**
         * Gets the model-ver that element represents.
         *
@@ -2916,7 +2874,7 @@ public class ModelBasedProcessing {
         */
        public Vertex getModelVerThatElementRepresents(Vertex elementVtx, String elementTrail )
                throws AAIException {
-               
+
                  // Get the model-ver that an element represents
                  Vertex modVerVtx = null;
                  Iterator<Vertex> mvertI = this.traverseIncidentEdges(EdgeType.COUSIN, elementVtx, "model-ver");
@@ -2925,13 +2883,13 @@ public class ModelBasedProcessing {
                          modCount++;
                          modVerVtx = mvertI.next();
                  }
-                       
+
                  if( modCount > 1 ){
                          String msg = "Illegal element defined: More than one model pointed to by a single element at [" +
                                          elementTrail + "].";
                          throw new AAIException("AAI_6125", msg);
                  }
-                 
+
                  if( modVerVtx == null ){
                          String msg = "Bad model definition: Could not find model-ver for model-element. ";
                          if( !elementTrail.equals("") ){
@@ -2939,21 +2897,21 @@ public class ModelBasedProcessing {
                          }
                          throw new AAIException("AAI_6132", msg);
                  }
-                 
+
                  String nodeType = modVerVtx.<String>property(AAIProperties.NODE_TYPE).orElse(null);
                  if( (nodeType != null) && nodeType.equals("model-ver") ){
                          return modVerVtx;
                  }
                  else {
-                         String msg = "Illegal model-element defined: expecting a 'model-ver', but found 'isA' edge pointing to nodeType = " + 
+                         String msg = "Illegal model-element defined: expecting a 'model-ver', but found 'isA' edge pointing to nodeType = " +
                                          nodeType + "] at [" +   elementTrail + "].";
                          throw new AAIException("AAI_6125", msg);
                  }
-                   
-       }// getModelVerThatElementRepresents()
-       
-       
-       
+
+       }
+
+
+
        /**
         * Gets the model that is parent to model-ver node.
         *
@@ -2964,7 +2922,7 @@ public class ModelBasedProcessing {
         */
        public Vertex getModelGivenModelVer(Vertex modVerVtx, String elementTrail )
                throws AAIException {
-               
+
                // Get the parent model for this "model-ver" node
                  Vertex modVtx = null;
                  Iterator<Vertex> mvertI = this.traverseIncidentEdges(EdgeType.TREE, modVerVtx, "model");
@@ -2973,13 +2931,13 @@ public class ModelBasedProcessing {
                          modCount++;
                          modVtx = mvertI.next();
                  }
-                       
+
                  if( modCount > 1 ){
                          String msg = "Illegal model-ver node defined: More than one model points to it with a 'has' edge [" +
                                          elementTrail + "].";
                          throw new AAIException("AAI_6125", msg);
                  }
-                 
+
                  if( modVtx == null ){
                          String msg = "Bad model-ver node: Could not find parent model. ";
                          if( !elementTrail.equals("") ){
@@ -2987,7 +2945,7 @@ public class ModelBasedProcessing {
                          }
                          throw new AAIException("AAI_6132", msg);
                  }
-                 
+
                  String nodeType = modVtx.<String>property(AAIProperties.NODE_TYPE).orElse(null);;
                  if( (nodeType != null) && nodeType.equals("model") ){
                          // Found what we were looking for.
@@ -2999,12 +2957,12 @@ public class ModelBasedProcessing {
                                          elementTrail + "].";
                          throw new AAIException("AAI_6125", msg);
                  }
-                   
-               
-       }// getModelGivenModelVer()
-       
-       
-                       
+
+
+       }
+
+
+
        /**
         * Gets the model type.
         *
@@ -3015,30 +2973,30 @@ public class ModelBasedProcessing {
         */
        public String getModelTypeFromModel(Vertex modelVtx, String elementTrail )
                throws AAIException {
-                 
+
                // Get the model-type from a model vertex
                if( modelVtx == null ){
                         String msg = " null modelVtx passed to getModelTypeFromModel() ";
                         throw new AAIException("AAI_6114", msg);
-               }                 
-                
+               }
+
                String modelType = modelVtx.<String>property("model-type").orElse(null);
                if( (modelType == null) || modelType.equals("") ){
                        String msg = "Could not find model-type for model encountered at [" + elementTrail + "].";
                        throw new AAIException("AAI_6132", msg);
                }
-               
+
                if( !modelType.equals("widget") && !modelType.equals("resource") && !modelType.equals("service") ){
                        String msg = "Unrecognized model-type, [" + modelType + "] for model pointed to by element at [" + elementTrail + "].";
                        throw new AAIException("AAI_6132", msg);
                }
-                 
-               return modelType; 
-               
-       }// getModelTypeFromModel()
-       
-       
-               
+
+               return modelType;
+
+       }
+
+
+
        /**
        * Gets the model type given model-ver
        *
@@ -3049,30 +3007,29 @@ public class ModelBasedProcessing {
        */
        public String getModelTypeFromModelVer(Vertex modelVerVtx, String elementTrail )
        throws AAIException {
-         
+
        // Get the model-type given a model-ver vertex
        if( modelVerVtx == null ){
                 String msg = " null modelVerVtx passed to getModelTypeFromModelVer() ";
                 throw new AAIException("AAI_6114", msg);
-       }                 
-        
+       }
+
        Vertex modVtx = getModelGivenModelVer( modelVerVtx, elementTrail );
        String modelType = modVtx.<String>property("model-type").orElse(null);
        if( (modelType == null) || modelType.equals("") ){
                String msg = "Could not find model-type for model encountered at [" + elementTrail + "].";
                throw new AAIException("AAI_6132", msg);
        }
-       
+
        if( !modelType.equals("widget") && !modelType.equals("resource") && !modelType.equals("service") ){
                String msg = "Unrecognized model-type, [" + modelType + "] for model pointed to by element at [" + elementTrail + "].";
                throw new AAIException("AAI_6132", msg);
        }
-         
-       return modelType; 
-       
-       }// getModelTypeFromModelVer()
-               
-               
+
+       return modelType;
+       }
+
+
 
        /**
         * Gets the model-element step name.
@@ -3085,8 +3042,8 @@ public class ModelBasedProcessing {
         */
        public String getModelElementStepName(Vertex elementVtx, String elementTrail)
                throws AAIException {
-               
-               // Get the "step name"  for a model-element 
+
+               // Get the "step name"  for a model-element
                // Step names look like this for widget-models:   AAIProperties.NODE_TYPE
                // Step names look like this for resource/service models: "aai-node-type,model-invariant-id,model-version-id"
                // NOTE -- if the element points to a resource or service model, then we'll return the
@@ -3094,14 +3051,14 @@ public class ModelBasedProcessing {
                String thisElementNodeType = "?";
                Vertex modVerVtx = getModelVerThatElementRepresents( elementVtx, elementTrail );
                String modelType = getModelTypeFromModelVer( modVerVtx, elementTrail );
-               
+
                if( modelType == null ){
                        String msg = " could not determine modelType in getModelElementStepName().  elementTrail = [" + elementTrail + "].";
                        throw new AAIException("AAI_6132", msg);
                }
-                 
+
                if( modelType.equals("widget") ){
-                       // NOTE: for models that have model-type = "widget", their "model-name" maps directly to aai-node-type 
+                       // NOTE: for models that have model-type = "widget", their "model-name" maps directly to aai-node-type
                        thisElementNodeType = modVerVtx.<String>property("model-name").orElse(null);
                        if( (thisElementNodeType == null) || thisElementNodeType.equals("") ){
                                String msg = "Could not find model-name for the widget model pointed to by element at [" + elementTrail + "].";
@@ -3111,17 +3068,17 @@ public class ModelBasedProcessing {
                }
                else if( modelType.equals("resource") || modelType.equals("service") ){
                        Vertex modVtx = getModelGivenModelVer( modVerVtx, elementTrail );
-                       String modInvId = modVtx.<String>property("model-invariant-id").orElse(null); 
+                       String modInvId = modVtx.<String>property("model-invariant-id").orElse(null);
                        String modVerId = modVerVtx.<String>property("model-version-id").orElse(null);
                        Vertex relatedTopElementModelVtx = getTopElementForSvcOrResModelVer( modVerVtx, elementTrail );
                        Vertex relatedModelVtx = getModelVerThatElementRepresents( relatedTopElementModelVtx, elementTrail );
                        thisElementNodeType = relatedModelVtx.<String>property("model-name").orElse(null);
-                       
+
                        if( (thisElementNodeType == null) || thisElementNodeType.equals("") ){
                                String msg = "Could not find model-name for the widget model pointed to by element at [" + elementTrail + "].";
                                throw new AAIException("AAI_6132", msg);
                        }
-                       
+
                        String stepName = "";
                        if( nodeTypeSupportsPersona(thisElementNodeType) ){
                                // This nodeType that this resource or service model refers to does support persona-related fields, so
@@ -3137,11 +3094,10 @@ public class ModelBasedProcessing {
                        String msg = " Unrecognized model-type = [" + modelType + "] pointed to by element at [" + elementTrail + "].";
                        throw new AAIException("AAI_6132", msg);
                }
-                 
-       }// getModelElementStepName()
-       
-       
-       
+       }
+
+
+
        /**
         * Node type supports persona.
         *
@@ -3152,7 +3108,7 @@ public class ModelBasedProcessing {
         */
        public Boolean nodeTypeSupportsPersona(String nodeType)
                        throws AAIException {
-               
+
                if( nodeType == null || nodeType.equals("") ){
                        return false;
                }
@@ -3163,18 +3119,13 @@ public class ModelBasedProcessing {
                        String emsg = " Unrecognized nodeType [" + nodeType + "]\n";
                        throw new AAIException("AAI_6115", emsg);
                }
-               
+
                Collection <String> props4ThisNT = loader.introspectorFromName(nodeType).getProperties();
-               if( !props4ThisNT.contains(addDBAliasedSuffix("model-invariant-id")) || !props4ThisNT.contains(addDBAliasedSuffix("model-version-id")) ){
-                       return false;
-               }
-               else {
-                       return true;
-               }
-               
-       }// nodeTypeSupportsPersona()
-       
-       
+      return props4ThisNT.contains(addDBAliasedSuffix("model-invariant-id")) &&
+          props4ThisNT.contains(addDBAliasedSuffix("model-version-id"));
+  }
+
+
        /**
         * Gets a Named Query element's widget type.
         *
@@ -3186,16 +3137,16 @@ public class ModelBasedProcessing {
        public String getNqElementWidgetType(String transId, String fromAppId,
                                          Vertex elementVtx, String elementTrail )
                throws AAIException {
-               
+
                String thisNqElementWidgetType = "";
                // Get the associated node-type for the model pointed to by a named-query-element.
                // NOTE -- if the element points to a resource or service model, then we'll return the
                //        widget-type of the first element (crown widget) for that model.
                Vertex modVtx = getModelThatNqElementRepresents( elementVtx, elementTrail );
                String modelType = getModelTypeFromModel( modVtx, elementTrail );
-               
+
                if( modelType == null || !modelType.equals("widget") ){
-                       String emsg = " Model Type must be 'widget' for NamedQuery elements.  Found [" + modelType + "] at [" + 
+                       String emsg = " Model Type must be 'widget' for NamedQuery elements.  Found [" + modelType + "] at [" +
                                        elementTrail + "]\n";
                        throw new AAIException("AAI_6132", emsg);
                }
@@ -3213,11 +3164,9 @@ public class ModelBasedProcessing {
                                return thisNqElementWidgetType;
                        }
                }
-               
-               
-       }// End  getNqElementWidgetType()
-       
-       
+       }
+
+
        /**
         * Gets a model-element's top widget type.
         *
@@ -3228,23 +3177,21 @@ public class ModelBasedProcessing {
         */
        public String getModElementWidgetType(Vertex elementVtx, String elementTrail )
                throws AAIException {
-               
+
                // Get the associated node-type for the model-ver pointed to by a model-element.
                // NOTE -- if the element points to a resource or service model, then we'll return the
                //        widget-type of the first element (crown widget) for that model.
                Vertex modVerVtx = getModelVerThatElementRepresents( elementVtx, elementTrail );
-               String thisElementNodeType = getModelVerTopWidgetType( modVerVtx, elementTrail );
-               return thisElementNodeType;
-                       
-       }// End  getModElementWidgetType()
-       
-       
+               return  getModelVerTopWidgetType( modVerVtx, elementTrail );
+       }
+
+
        /**
         * Gets the node using unique identifier
         *
         * @param transId the trans id
         * @param fromAppId the from app id
-        * @param nodeType the nodeType 
+        * @param nodeType the nodeType
         * @param idPropertyName the property name of the unique identifier
         * @param uniqueIdVal the UUID value
         * @return unique vertex found using UUID
@@ -3253,41 +3200,41 @@ public class ModelBasedProcessing {
        public Vertex getNodeUsingUniqueId(String transId, String fromAppId,
                                        String nodeType, String idPropertyName, String uniqueIdVal )
                throws AAIException {
-               
-               // Given a unique identifier, get the Vertex 
+
+               // Given a unique identifier, get the Vertex
                if( uniqueIdVal == null || uniqueIdVal.equals("")  ){
-                       String emsg = " Bad uniqueIdVal passed to getNodeUsingUniqueId(): [" 
+                       String emsg = " Bad uniqueIdVal passed to getNodeUsingUniqueId(): ["
                                        + uniqueIdVal + "]\n";
                        throw new AAIException("AAI_6118", emsg);
                }
-               
+
                if( idPropertyName == null || idPropertyName.equals("")  ){
-                       String emsg = " Bad idPropertyName passed to getNodeUsingUniqueId(): [" 
+                       String emsg = " Bad idPropertyName passed to getNodeUsingUniqueId(): ["
                                        + idPropertyName + "]\n";
                        throw new AAIException("AAI_6118", emsg);
-               }               
-               
+               }
+
                if( nodeType == null || nodeType.equals("")  ){
-                       String emsg = " Bad nodeType passed to getNodeUsingUniqueId(): [" 
+                       String emsg = " Bad nodeType passed to getNodeUsingUniqueId(): ["
                                        + nodeType + "]\n";
                        throw new AAIException("AAI_6118", emsg);
-               }               
-               
+               }
+
                Vertex uniqVtx = null;
                Iterable <?> uniqVerts = null;
                uniqVerts = engine.asAdmin().getReadOnlyTraversalSource().V().has(AAIProperties.NODE_TYPE,nodeType).has(idPropertyName,uniqueIdVal).toList();
                if( uniqVerts == null ){
-                       String emsg = "Node could not be found for nodeType = [" + nodeType 
-                                       + "], propertyName = [" + idPropertyName  
+                       String emsg = "Node could not be found for nodeType = [" + nodeType
+                                       + "], propertyName = [" + idPropertyName
                                        + "], propertyValue = [" + uniqueIdVal  + "]\n";
                        throw new AAIException("AAI_6114", emsg);
                }
-               else { 
+               else {
                        int count = 0;
                        Iterator <?> uniqVertsIter = uniqVerts.iterator();
                        if( !uniqVertsIter.hasNext() ){
-                               String emsg = "Node could not be found for nodeType = [" + nodeType 
-                                               + "], propertyName = [" + idPropertyName  
+                               String emsg = "Node could not be found for nodeType = [" + nodeType
+                                               + "], propertyName = [" + idPropertyName
                                                + "], propertyValue = [" + uniqueIdVal  + "]\n";
                                throw new AAIException("AAI_6114", emsg);
                        }
@@ -3296,19 +3243,18 @@ public class ModelBasedProcessing {
                                        count++;
                                        uniqVtx = (Vertex) uniqVertsIter.next();
                                        if( count > 1 ){
-                                               String emsg = "More than one node found for nodeType = [" + nodeType 
-                                                               + "], propertyName = [" + idPropertyName  
+                                               String emsg = "More than one node found for nodeType = [" + nodeType
+                                                               + "], propertyName = [" + idPropertyName
                                                                + "], propertyValue = [" + uniqueIdVal  + "]\n";
                                                throw new AAIException("AAI_6132", emsg);
                                        }
                                }
                        }
                }
-               
                return uniqVtx;
-       }// End getNodeUsingUniqueId()
-       
-       
+       }
+
+
        /**
         * Gets the model-ver nodes using name.
         *
@@ -3321,102 +3267,97 @@ public class ModelBasedProcessing {
        public List<Vertex> getModelVersUsingName(String transId, String fromAppId,
                                               String modelName )
                throws AAIException {
-               
+
                // Given a "model-name", find the model-ver vertices that this maps to
                if( modelName == null || modelName.equals("")  ){
-                       String emsg = " Bad modelName passed to getModelVersUsingName(): [" 
+                       String emsg = " Bad modelName passed to getModelVersUsingName(): ["
                                        + modelName + "]\n";
                        throw new AAIException("AAI_6118", emsg);
                }
-               
+
                List<Vertex> retVtxArr = new ArrayList<>();
                Iterator<Vertex> modVertsIter = this.engine.asAdmin().getReadOnlyTraversalSource().V().has(AAIProperties.NODE_TYPE,"model-ver").has("model-name",modelName);
                if( !modVertsIter.hasNext() ){
-                       String emsg = "Model-ver record(s) could not be found for model-ver data passed.  model-name = [" + 
+                       String emsg = "Model-ver record(s) could not be found for model-ver data passed.  model-name = [" +
                                        modelName + "]\n";
                        throw new AAIException("AAI_6132", emsg);
                }
-               else { 
+               else {
                        while( modVertsIter.hasNext() ){
-                               Vertex tmpModelVerVtx = (Vertex) modVertsIter.next();
+                               Vertex tmpModelVerVtx = modVertsIter.next();
                                retVtxArr.add(tmpModelVerVtx);
                        }
                }
-               
                return retVtxArr;
-               
-       }// End getModelVersUsingName()
-       
-       
+       }
+
+
        /**
         * Gets the model-ver nodes using model-invariant-id.
         *
         * @param transId the trans id
         * @param fromAppId the from app id
         * @param model-invariant-id (uniquely identifies a model)
-        * @return the model-ver's defined for the corresponding model 
+        * @return the model-ver's defined for the corresponding model
         * @throws AAIException the AAI exception
         */
        public Iterator<Vertex> getModVersUsingModelInvId(String transId, String fromAppId,
                                                       String modelInvId )
                throws AAIException {
-               
+
                // Given a "model-invariant-id", find the model-ver nodes that this maps to
                if( modelInvId == null || modelInvId.equals("")  ){
-                       String emsg = " Bad model-invariant-id passed to getModVersUsingModelInvId(): [" 
+                       String emsg = " Bad model-invariant-id passed to getModVersUsingModelInvId(): ["
                                        + modelInvId + "]\n";
                        throw new AAIException("AAI_6118", emsg);
                }
-               
+
                Vertex modVtx = getNodeUsingUniqueId(transId, fromAppId, "model", "model-invariant-id", modelInvId);
                List<Vertex> retVtxArr =  getModVersUsingModel(transId, fromAppId, modVtx);
                if( retVtxArr == null || retVtxArr.isEmpty() ){
-                       String emsg = " Model-ver record(s) could not be found attached to model with model-invariant-id = [" + 
+                       String emsg = " Model-ver record(s) could not be found attached to model with model-invariant-id = [" +
                                        modelInvId + "]\n";
                        throw new AAIException("AAI_6132", emsg);
                }
-               
                return retVtxArr.iterator();
-       }// End getModVersUsingModelInvId()
-       
-       
+       }
+
+
        /**
         * Gets the model-ver nodes using a model node.
         *
         * @param transId the trans id
         * @param fromAppId the from app id
         * @param  model vertex
-        * @return the model-ver's defined for the corresponding model 
+        * @return the model-ver's defined for the corresponding model
         * @throws AAIException the AAI exception
         */
        public List<Vertex> getModVersUsingModel(String transId, String fromAppId,
                                              Vertex modVtx )
                throws AAIException {
-               
+
                if( modVtx == null ){
                        String emsg = " Null model vertex passed to getModVersUsingModel(): ";
                        throw new AAIException("AAI_6118", emsg);
                }
-               
+
                List<Vertex> retVtxArr = new ArrayList<>();
                Iterator<Vertex> modVerVertsIter = this.traverseIncidentEdges(EdgeType.TREE, modVtx, "model-ver");
                if(!modVerVertsIter.hasNext()){
                        String modelInvId = modVtx.<String>property("model-invariant-id").orElse(null);
-                       String emsg = "Model-ver record(s) could not be found attached to model with model-invariant-id = [" + 
+                       String emsg = "Model-ver record(s) could not be found attached to model with model-invariant-id = [" +
                                        modelInvId + "]\n";
                        throw new AAIException("AAI_6132", emsg);
                }
-               else { 
+               else {
                        while( modVerVertsIter.hasNext() ){
-                               Vertex tmpModelVtx = (Vertex) modVerVertsIter.next();
+                               Vertex tmpModelVtx = modVerVertsIter.next();
                                retVtxArr.add(tmpModelVtx);
                        }
                }
-               
                return retVtxArr;
-               
-       }// End getModVersUsingModel()
-       
+       }
+
        /**
         * Gets the model-version-ids using model-name.
         *
@@ -3429,41 +3370,40 @@ public class ModelBasedProcessing {
        public List<String> getModelVerIdsUsingName( String transId, String fromAppId,
                        String modelName )
                throws AAIException {
-               
+
                // Given a model-name find the model-ver nodes that it maps to
                if( modelName == null || modelName.equals("")  ){
-                       String emsg = " Bad modelName passed to getModelVerIdsUsingName(): [" 
+                       String emsg = " Bad modelName passed to getModelVerIdsUsingName(): ["
                                        + modelName + "]\n";
                        throw new AAIException("AAI_6118", emsg);
                }
-               
+
                List<String> retArr = new ArrayList<>();
                Iterator<Vertex> modVerVertsIter = this.engine.asAdmin().getReadOnlyTraversalSource().V().has(AAIProperties.NODE_TYPE,"model-ver").has("model-name",modelName);
                if( !modVerVertsIter.hasNext() ){
-                       String emsg = " model-ver record(s) could not be found for model data passed.  model-name = [" + 
+                       String emsg = " model-ver record(s) could not be found for model data passed.  model-name = [" +
                                        modelName + "]\n";
                        throw new AAIException("AAI_6114", emsg);
                }
-               else { 
+               else {
                        while( modVerVertsIter.hasNext() ){
-                               Vertex modelVerVtx = (Vertex) modVerVertsIter.next();
+                               Vertex modelVerVtx = modVerVertsIter.next();
                                String tmpUuid = modelVerVtx.<String>property("model-version-id").orElse(null);
                                if( (tmpUuid != null) && !tmpUuid.equals("") && !retArr.contains(tmpUuid) ){
                                        retArr.add(tmpUuid);
                                }
                        }
                }
-               
+
                if( retArr.isEmpty() ){
-                       String emsg = "No model-ver record found for model-name = [" 
+                       String emsg = "No model-ver record found for model-name = ["
                                        + modelName + "]\n";
                        throw new AAIException("AAI_6132", emsg);
                }
-               
                return retArr;
-       }// End getModelVerIdsUsingName()
-       
-       
+       }
+
+
        /**
         * Gets the model top widget type.
         *
@@ -3478,14 +3418,14 @@ public class ModelBasedProcessing {
        public String getModelVerTopWidgetType( String transId, String fromAppId,
                        String modelVersionId, String modelInvId, String modelName )
                throws AAIException {
-               
+
                // Could be given a model-ver's key info (model-version-id), OR, just a (non-unique) model-name,
                //     Or just a model-invariant-id (which could have multiple model-ver records under it).
-               //     In any case, they should only map to one single "top" node-type for the first element. 
-               
+               //     In any case, they should only map to one single "top" node-type for the first element.
+
                String nodeType = "?";
                Iterator<Vertex> modVerVertsIter;
-               
+
                if( modelVersionId != null && !modelVersionId.equals("") ){
                        // this would be the best - we can just look up the model-ver records directly
                        modVerVertsIter = this.engine.asAdmin().getReadOnlyTraversalSource().V().has(AAIProperties.NODE_TYPE,"model-ver").has("model-version-id",modelVersionId);
@@ -3500,13 +3440,13 @@ public class ModelBasedProcessing {
                        String msg = "Neither modelVersionId, modelInvariantId, nor modelName passed to: getModelVerTopWidgetType() ";
                        throw new AAIException("AAI_6120", msg);
                }
-               
+
                if( !modVerVertsIter.hasNext() ){
                        String emsg = "model-ver record(s) could not be found for model data passed:  modelInvariantId = [" + modelInvId +
                                        "], modeVersionId = [" + modelVersionId + "], modelName = [" + modelName + "]\n";
                        throw new AAIException("AAI_6114", emsg);
                }
-               else { 
+               else {
                        String lastNT = "";
                        if( !modVerVertsIter.hasNext() ){
                                String emsg = "model-ver record(s) could not be found for model data passed:  modelInvariantId = [" + modelInvId +
@@ -3514,13 +3454,13 @@ public class ModelBasedProcessing {
                                throw new AAIException("AAI_6114", emsg);
                        }
                        while( modVerVertsIter.hasNext() ){
-                               Vertex tmpModVerVtx = (Vertex) modVerVertsIter.next();
+                               Vertex tmpModVerVtx = modVerVertsIter.next();
                                String tmpNT = getModelVerTopWidgetType( tmpModVerVtx, "" );
                                if( lastNT != null && !lastNT.equals("") ){
                                        if( !lastNT.equals(tmpNT) ){
-                                               String emsg = "Different top-node-types (" + tmpNT + ", " + lastNT 
+                                               String emsg = "Different top-node-types (" + tmpNT + ", " + lastNT
                                                                + ") found for model data passed.  (" +
-                                                               " modelVersionId = [" + modelVersionId + 
+                                                               " modelVersionId = [" + modelVersionId +
                                                                "], modelId = [" + modelInvId +
                                                                "], modelName = [" + modelName +
                                                                "])\n";
@@ -3531,12 +3471,10 @@ public class ModelBasedProcessing {
                                nodeType = tmpNT;
                        }
                }
-               
                return nodeType;
-               
-       }// End getModelVerTopWidgetType()
-       
-                       
+       }
+
+
        /**
         * Gets the widget type that this model-ver starts with.
         *
@@ -3555,7 +3493,7 @@ public class ModelBasedProcessing {
                        String msg = " Could not determine modelType in getModelVerTopWidgetType().  elementTrail = [" + elementTrail + "].";
                        throw new AAIException("AAI_6132", msg);
                }
-                 
+
                String thisElementNodeType = "?";
                if( modelType.equals("widget") ){
                        // NOTE: for models that have model-type = "widget", their child model-ver nodes will
@@ -3580,12 +3518,11 @@ public class ModelBasedProcessing {
                        String msg = " Unrecognized model-type = [" + modelType + "] pointed to by element at [" + elementTrail + "].";
                        throw new AAIException("AAI_6132", msg);
                }
-                
+
                return thisElementNodeType;
-               
-       }// getModelVerTopWidgetType()
-       
-       
+       }
+
+
        /**
         * Validate model.
         *
@@ -3595,10 +3532,10 @@ public class ModelBasedProcessing {
         * @param apiVersion the api version
         * @throws AAIException the AAI exception
         */
-       public void validateModel(String transId, String fromAppId, String modelVersionIdVal, String apiVersion ) 
+       public void validateModel(String transId, String fromAppId, String modelVersionIdVal, String apiVersion )
                                throws AAIException {
-       
-               // Note - this will throw an exception if the model either can't be found, or if 
+
+               // Note - this will throw an exception if the model either can't be found, or if
                //     we can't figure out its topology map.
                Vertex modelVerVtx = getNodeUsingUniqueId(transId, fromAppId, "model-ver",
                                "model-version-id", modelVersionIdVal);
@@ -3613,10 +3550,9 @@ public class ModelBasedProcessing {
                        System.out.println("INFO --  " + msg );
                }
                return;
-               
-       }// End validateModel()
-       
-       
+       }
+
+
        /**
         * Validate named query.
         *
@@ -3626,29 +3562,28 @@ public class ModelBasedProcessing {
         * @param apiVersion the api version
         * @throws AAIException the AAI exception
         */
-       public void validateNamedQuery(String transId, String fromAppId, String namedQueryUuid, String apiVersion ) 
+       public void validateNamedQuery(String transId, String fromAppId, String namedQueryUuid, String apiVersion )
                                throws AAIException {
-       
-               // Note - this will throw an exception if the named query either can't be found, or if 
+
+               // Note - this will throw an exception if the named query either can't be found, or if
                //     we can't figure out its topology map.
                Vertex nqVtx = getNodeUsingUniqueId(transId, fromAppId, "named-query",
                                "named-query-uuid", namedQueryUuid);
-               
+
                if( nqVtx == null ){
                        String msg = " Could not find named-query with namedQueryUuid = [" + namedQueryUuid + "].";
                        throw new AAIException("AAI_6114", msg);
                }
                else {
-                       //Multimap<String, String> topoMap = genTopoMap4NamedQ( "junkTransId", "junkFromAppId", 
+                       //Multimap<String, String> topoMap = genTopoMap4NamedQ( "junkTransId", "junkFromAppId",
                                //      graph, nqVtx, namedQueryUuid );
                        //System.out.println("DEBUG -- for test only : --- ");
                        //System.out.println("DEBUG -- topomap = [" + topoMap + "]");
                }
                return;
-               
-       }// End validateNamedQuery()
-       
-         
+       }
+
+
        /**
         * Show result set.
         *
@@ -3656,7 +3591,7 @@ public class ModelBasedProcessing {
         * @param levelCount the level count
         */
        public void showResultSet(ResultSet resSet, int levelCount ) {
-               
+
                  levelCount++;
                  String propsStr = "";
                  for( int i= 1; i <= levelCount; i++ ){
@@ -3667,11 +3602,11 @@ public class ModelBasedProcessing {
                  }
                  String nt = resSet.getVert().<String>property(AAIProperties.NODE_TYPE).orElse(null);
                  propsStr = propsStr +  "[" + nt + "] ";
-                
+
                  //propsStr = propsStr + " newDataDelFlag = " + resSet.getNewDataDelFlag() + ", trail = " + resSet.getLocationInModelSubGraph();
                  //propsStr = propsStr + "limitDesc = [" + resSet.getPropertyLimitDesc() + "]";
                  propsStr = propsStr + " trail = " + resSet.getLocationInModelSubGraph();
-                 
+
                  Map<String,Object> overrideHash = resSet.getPropertyOverRideHash();
                  if( overrideHash != null  &&  !overrideHash.isEmpty() ){
                          for( Map.Entry<String, Object> entry : overrideHash.entrySet() ){
@@ -3684,7 +3619,7 @@ public class ModelBasedProcessing {
                          Iterator<VertexProperty<Object>> pI = resSet.getVert().properties();
                          while( pI.hasNext() ){
                                        VertexProperty<Object> tp = pI.next();
-                                       if( ! tp.key().startsWith("aai") 
+                                       if( ! tp.key().startsWith("aai")
                                                        && ! tp.key().equals("source-of-truth")
                                                        //&& ! tp.key().equals("resource-version")
                                                        && ! tp.key().startsWith("last-mod")
@@ -3703,45 +3638,42 @@ public class ModelBasedProcessing {
                                  propsStr = propsStr + " [" + propName + " = " + propVal.toString() + "]";
                          }
                  }
-                 
+
                  System.out.println( propsStr );
                  LOGGER.info(propsStr);
-                 
+
                  if( !resSet.getSubResultSet().isEmpty() ){
                          ListIterator<ResultSet> listItr = resSet.getSubResultSet().listIterator();
                          while( listItr.hasNext() ){
                                  showResultSet( listItr.next(), levelCount );
                          }
                  }
-                 
-         }// end of showResultSet()
-       
-       private Iterator<Vertex> traverseIncidentEdges(EdgeType treeType, Vertex startV, String connectedNodeType) throws AAIUnknownObjectException, AAIException {
-               QueryBuilder builder = this.engine.getQueryBuilder(startV).createEdgeTraversal(treeType, startV, loader.introspectorFromName(connectedNodeType));
-               return builder;
+         }
+
+       private Iterator<Vertex> traverseIncidentEdges(EdgeType treeType, Vertex startV, String connectedNodeType) throws AAIException {
+               return this.engine.getQueryBuilder(startV).createEdgeTraversal(treeType, startV, loader.introspectorFromName(connectedNodeType));
        }
-       
-       private Iterator<Vertex> traverseIncidentEdges(EdgeType treeType, Vertex startV, String... connectedNodeType) throws AAIUnknownObjectException, AAIException {
+
+       private Iterator<Vertex> traverseIncidentEdges(EdgeType treeType, Vertex startV, String... connectedNodeType) throws AAIException {
                QueryBuilder[] builders = new QueryBuilder[connectedNodeType.length];
                for (int i = 0; i < connectedNodeType.length; i++) {
                        builders[i] = this.engine.getQueryBuilder(startV).createEdgeTraversal(EdgeType.TREE, startV, loader.introspectorFromName(connectedNodeType[i]));
                }
-               QueryBuilder builder = this.engine.getQueryBuilder(startV).union(builders);
-               return builder;
+               return this.engine.getQueryBuilder(startV).union(builders);
        }
 
        private String addDBAliasedSuffix(String propName) {
                return propName + AAIProperties.DB_ALIAS_SUFFIX;
        }
-       
+
        protected String getPropNameWithAliasIfNeeded(String nodeType, String propName) throws AAIUnknownObjectException {
-               
+
                String retPropName = propName;
                if( loader.introspectorFromName(nodeType).getPropertyMetadata(propName, PropertyMetadata.DB_ALIAS).isPresent() ){
                        return propName + AAIProperties.DB_ALIAS_SUFFIX;
                }
                return retPropName;
        }
-                 
+
 }
 
index 419743b..40d3027 100644 (file)
@@ -227,7 +227,7 @@ public class SearchGraph {
                return response;        
        }       
 
-       private URI craftUriFromQueryParams(Loader loader, String startNodeType, List<String> startNodeKeyParams) throws UnsupportedEncodingException, IllegalArgumentException, UriBuilderException, AAIException {
+       private URI craftUriFromQueryParams(Loader loader, String startNodeType, List<String> startNodeKeyParams) throws UnsupportedEncodingException, AAIException {
                Introspector relationship = loader.introspectorFromName("relationship");
                
                relationship.setValue("related-to", startNodeType);
@@ -492,10 +492,9 @@ public class SearchGraph {
         * @return the edge label
         * @throws AAIException the AAI exception
         */
-       public static String[] getEdgeLabel(String targetNodeType, String nodeType) throws AAIException{
+       public static String[] getEdgeLabel(String targetNodeType, String nodeType) {
                Map<String, EdgeRule> rules = EdgeRules.getInstance().getEdgeRules(targetNodeType, nodeType);
-               String[] results = rules.keySet().toArray(new String[0]);
-               return results;
+               return rules.keySet().toArray(new String[0]);
        }
 
 
@@ -512,7 +511,7 @@ public class SearchGraph {
         */
        public Response runNamedQuery(String fromAppId, String transId, String queryParameters,
                        DBConnectionType connectionType,
-                       AAIExtensionMap aaiExtMap) throws JAXBException, AAIException {
+                       AAIExtensionMap aaiExtMap) throws AAIException {
 
                Introspector inventoryItems;
                boolean success = true;
@@ -548,7 +547,7 @@ public class SearchGraph {
                        DynamicEntity qp = modelAndNamedQuerySearch.get("queryParameters");
                        String namedQueryUuid = null;
                        if ((qp != null) && qp.isSet("namedQuery")) {    
-                               DynamicEntity namedQuery = (DynamicEntity) qp.get("namedQuery");
+                               DynamicEntity namedQuery = qp.get("namedQuery");
 
                                if (namedQuery.isSet("namedQueryUuid")) { 
                                        namedQueryUuid = namedQuery.get("namedQueryUuid");
@@ -633,7 +632,7 @@ public class SearchGraph {
        public Response executeModelOperation(String fromAppId, String transId, String queryParameters,
                        DBConnectionType connectionType,
                        boolean isDelete,
-                       AAIExtensionMap aaiExtMap) throws JAXBException, AAIException, DynamicException, UnsupportedEncodingException {
+                       AAIExtensionMap aaiExtMap) throws AAIException, UnsupportedEncodingException {
                Response response;
                boolean success = true;
                TransactionalGraphEngine dbEngine = null;
@@ -689,7 +688,7 @@ public class SearchGraph {
                                DynamicEntity qp = modelAndNamedQuerySearch.get("queryParameters");
 
                                if (qp.isSet("model")) { 
-                                       DynamicEntity model = (DynamicEntity) qp.get("model");
+                                       DynamicEntity model = qp.get("model");
 
                                        // on an old-style model object, the following 4 attrs were all present
                                        if (model.isSet("modelNameVersionId")) { 
@@ -714,7 +713,7 @@ public class SearchGraph {
                                        if (model.isSet("modelVers")) {
                                                // we know that this is new style, because modelVers was not an option
                                                // before v9
-                                               DynamicEntity modelVers = (DynamicEntity) model.get("modelVers");
+                                               DynamicEntity modelVers = model.get("modelVers");
                                                if (modelVers.isSet("modelVer")) {
                                                        List<DynamicEntity> modelVerList = modelVers.get("modelVer");
                                                        // if they send more than one, too bad, they get the first one
@@ -735,7 +734,7 @@ public class SearchGraph {
                        
                        List<Map<String,Object>> startNodeFilterHash = new ArrayList<>();
 
-                       String resourceVersion = mapInstanceFilters((DynamicEntity)modelAndNamedQuerySearch.get("instanceFilters"), 
+                       String resourceVersion = mapInstanceFilters(modelAndNamedQuerySearch.get("instanceFilters"),
                                        startNodeFilterHash, jaxbContext);      
 
                        if (isDelete) {
@@ -837,7 +836,7 @@ public class SearchGraph {
                        return null;
                }
                @SuppressWarnings("unchecked")
-               List<DynamicEntity> instanceFilter = (ArrayList<DynamicEntity>)instanceFilters.get("instanceFilter");
+               List<DynamicEntity> instanceFilter = instanceFilters.get("instanceFilter");
                String resourceVersion = null;
 
                for (DynamicEntity instFilt : instanceFilter) { 
@@ -856,7 +855,7 @@ public class SearchGraph {
                                        if (anyEnt.isSet(propName)) {
                                                thisNodeFilterHash.put(nodeType + "." + CaseFormat.LOWER_CAMEL.to(CaseFormat.LOWER_HYPHEN, propName), anyEnt.get(propName));
                                                if (propName.equals("resourceVersion") && resourceVersion == null) { 
-                                                       resourceVersion = (String)anyEnt.get(propName);
+                                                       resourceVersion = anyEnt.get(propName);
                                                }
                                        }
                                }
@@ -880,7 +879,7 @@ public class SearchGraph {
                        return;
                }
                @SuppressWarnings("unchecked")
-               List<DynamicEntity> secondaryFilter = (ArrayList<DynamicEntity>)secondaryFilts.get("secondaryFilt");
+               List<DynamicEntity> secondaryFilter = secondaryFilts.get("secondaryFilt");
                
                for (DynamicEntity secondaryFilt : secondaryFilter) { 
                        List<DynamicEntity> any = secondaryFilt.get("any");
@@ -1062,8 +1061,8 @@ public class SearchGraph {
                                        String modelName = null;
                                        try { 
                                                // Try to get the modelName if we can.  Otherwise, do not fail, just return what we have already.
-                                               String modelInvariantIdLocal = (String)vert.<String>property("model-invariant-id-local").orElse(null); // this one points at a model
-                                               String modelVersionIdLocal = (String)vert.<String>property("model-version-id-local").orElse(null); // this one points at a model-ver
+                                               String modelInvariantIdLocal = vert.<String>property("model-invariant-id-local").orElse(null); // this one points at a model
+                                               String modelVersionIdLocal = vert.<String>property("model-version-id-local").orElse(null); // this one points at a model-ver
                                                
                                                if ( (modelInvariantIdLocal != null && modelVersionIdLocal != null) 
                                                                && (modelInvariantIdLocal.length() > 0 && modelVersionIdLocal.length() > 0) ) {
index 8ee0659..4139907 100644 (file)
@@ -303,13 +303,11 @@ public class QueryConsumer extends RESTAPI {
                        templateVars.add(missingRequiredQueryParams.toString());
                }
 
-               Response response = Response
+               return Response
                                .status(e.getErrorObject().getHTTPResponseCode())
                                .entity(ErrorLogHelper.getRESTAPIErrorResponse(headers.getAcceptableMediaTypes(), e, 
                                                templateVars)).build(); 
-
-               return response;
-       } 
+       }
        
        private Response createMessageInvalidQuerySection(String invalidQuery, HttpHeaders headers, UriInfo info, HttpServletRequest req) {
                AAIException e = new AAIException("AAI_3014");
@@ -320,13 +318,11 @@ public class QueryConsumer extends RESTAPI {
                        templateVars.add(invalidQuery);
                }
 
-               Response response = Response
+               return Response
                                .status(e.getErrorObject().getHTTPResponseCode())
                                .entity(ErrorLogHelper.getRESTAPIErrorResponse(headers.getAcceptableMediaTypes(), e, 
                                                templateVars)).build(); 
-
-               return response;
-       } 
+       }
 
 
 }
index fb97a63..aea9083 100644 (file)
@@ -132,11 +132,9 @@ public abstract class RetiredConsumer extends RESTAPI {
                        templateVars.add(AAIConfig.get("aai.default.api.version", ""));
                }
                                
-               Response response = Response
+               return Response
                                .status(e.getErrorObject().getHTTPResponseCode())
                                .entity(ErrorLogHelper.getRESTAPIErrorResponse(headers.getAcceptableMediaTypes(), e, 
                                                templateVars)).build(); 
-               
-               return response;
        }
 }
index d102097..6831fb8 100644 (file)
@@ -95,7 +95,7 @@ public abstract class GenericQueryProcessor {
                return resultVertices;
        }
        
-       public List<Object> execute(SubGraphStyle style) throws FileNotFoundException {
+       public List<Object> execute(SubGraphStyle style) {
                final List<Object> resultVertices;
 
                Pair<String, Map<String, Object>> tuple = this.createQuery();
index eb0ad91..136b610 100644 (file)
@@ -102,7 +102,7 @@ public class MakeNamedQuery {
                                        String modelInvariantId = meObject.getValue("model-invariant-id");
                                        if (meObject.hasProperty("model-vers")) { 
                                                Introspector modelVers = meObject.getWrappedValue("model-vers");
-                                               List<Introspector> modelVerList = (List<Introspector>) modelVers.getWrappedListValue("model-ver");
+                                               List<Introspector> modelVerList = modelVers.getWrappedListValue("model-ver");
                                                for (Introspector modelVer : modelVerList) {
                                                        
                                                        List<Introspector> relList = new ArrayList<Introspector>();
@@ -175,7 +175,7 @@ public class MakeNamedQuery {
                        } else { 
                                newNQElements = nqeObj.newIntrospectorInstanceOfProperty("named-query-elements");
                                nqeObj.setValue("named-query-elements",  newNQElements.getUnderlyingObject());
-                               nqElementList = (List<Object>)newNQElements.getValue("named-query-element");
+                               nqElementList = newNQElements.getValue("named-query-element");
                        }
                        newNQElement = loadNQElement(newNQElements, listOfRelationships);
                        nqElementList.add(newNQElement.getUnderlyingObject());
@@ -200,7 +200,7 @@ public class MakeNamedQuery {
                        Introspector newRelationshipList = newNqElement.getLoader().introspectorFromName("relationship-list");
                        newNqElement.setValue("relationship-list", newRelationshipList.getUnderlyingObject());
 
-                       List<Object> newRelationshipListList = (List<Object>)newRelationshipList.getValue("relationship");
+                       List<Object> newRelationshipListList = newRelationshipList.getValue("relationship");
 
                        for (Introspector rel : listOfRelationships) { 
                                newRelationshipListList.add(rel.getUnderlyingObject());
@@ -222,7 +222,7 @@ public class MakeNamedQuery {
                try {
                        newRelationship = loader.introspectorFromName("relationship");
 
-                       List<Object> newRelationshipData = (List<Object>)newRelationship.getValue("relationship-data");
+                       List<Object> newRelationshipData = newRelationship.getValue("relationship-data");
 
                        newRelationship.setValue("related-to", "model");
 
index 3a11668..b979fb8 100644 (file)
@@ -8,7 +8,7 @@
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
  *
- *    http://www.apache.org/licenses/LICENSE-2.0
+ * http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
@@ -83,28 +83,25 @@ public class JerseyConfiguration extends ResourceConfig {
         // Filter them based on the clazz that was passed in
         Set<Class<? extends ContainerRequestFilter>> filters = reflections.getSubTypesOf(ContainerRequestFilter.class);
 
-
         // Check to ensure that each of the filter has the @Priority annotation and if not throw exception
         for (Class filterClass : filters) {
             if (filterClass.getAnnotation(Priority.class) == null) {
-                throw new RuntimeException("Container filter " + filterClass.getName() + " does not have @Priority annotation");
+                throw new RuntimeException(
+                    "Container filter " + filterClass.getName() + " does not have @Priority annotation");
             }
         }
 
         // Turn the set back into a list
         List<Class<? extends ContainerRequestFilter>> filtersList = filters
-                .stream()
-                .filter(f -> {
-                    if (f.isAnnotationPresent(Profile.class)
-                            && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())) {
-                        return false;
-                    }
-                    return true;
-                })
-                .collect(Collectors.toList());
+            .stream()
+            .filter(f -> !(f.isAnnotationPresent(Profile.class)
+                && !env.acceptsProfiles(f.getAnnotation(Profile.class).value()))
+            )
+            .collect(Collectors.toList());
 
         // Sort them by their priority levels value
-        filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()).compareTo(c2.getAnnotation(Priority.class).value()));
+        filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value())
+            .compareTo(c2.getAnnotation(Priority.class).value()));
 
         // Then register this to the jersey application
         filtersList.forEach(this::register);
@@ -115,29 +112,26 @@ public class JerseyConfiguration extends ResourceConfig {
         // Find all the classes within the interceptors package
         Reflections reflections = new Reflections("org.onap.aai.interceptors");
         // Filter them based on the clazz that was passed in
-        Set<Class<? extends ContainerResponseFilter>> filters = reflections.getSubTypesOf(ContainerResponseFilter.class);
-
+        Set<Class<? extends ContainerResponseFilter>> filters = reflections
+            .getSubTypesOf(ContainerResponseFilter.class);
 
         // Check to ensure that each of the filter has the @Priority annotation and if not throw exception
         for (Class filterClass : filters) {
             if (filterClass.getAnnotation(Priority.class) == null) {
-                throw new RuntimeException("Container filter " + filterClass.getName() + " does not have @Priority annotation");
+                throw new RuntimeException(
+                    "Container filter " + filterClass.getName() + " does not have @Priority annotation");
             }
         }
 
         // Turn the set back into a list
         List<Class<? extends ContainerResponseFilter>> filtersList = filters.stream()
-                .filter(f -> {
-                    if (f.isAnnotationPresent(Profile.class)
-                            && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())) {
-                        return false;
-                    }
-                    return true;
-                })
-                .collect(Collectors.toList());
+            .filter(f -> !(f.isAnnotationPresent(Profile.class)
+                && !env.acceptsProfiles(f.getAnnotation(Profile.class).value())))
+            .collect(Collectors.toList());
 
         // Sort them by their priority levels value
-        filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value()).compareTo(c2.getAnnotation(Priority.class).value()));
+        filtersList.sort((c1, c2) -> Integer.valueOf(c1.getAnnotation(Priority.class).value())
+            .compareTo(c2.getAnnotation(Priority.class).value()));
 
         // Then register this to the jersey application
         filtersList.forEach(this::register);