Github user spmallette commented on a diff in the pull request:

    https://github.com/apache/tinkerpop/pull/905#discussion_r207705128
  
    --- Diff: 
gremlin-core/src/main/java/org/apache/tinkerpop/gremlin/structure/io/graphml/GraphMLWriter.java
 ---
    @@ -212,26 +214,39 @@ private XMLStreamWriter configureWriter(final 
OutputStream outputStream) throws
                 return writer;
             } else
                 return utf8Writer;
    -    }
    +        }
     
         private void writeTypes(final Map<String, String> 
identifiedVertexKeyTypes,
    -                            final Map<String, String> 
identifiedEdgeKeyTypes,
    -                            final XMLStreamWriter writer) throws 
XMLStreamException {
    +            final Map<String, String> identifiedEdgeKeyTypes,
    +            final XMLStreamWriter writer) throws XMLStreamException {
             // <key id="weight" for="edge" attr.name="weight" 
attr.type="float"/>
             final Collection<String> vertexKeySet = 
getVertexKeysAndNormalizeIfRequired(identifiedVertexKeyTypes);
    +        final Collection<String> edgeKeySet = 
getEdgeKeysAndNormalizeIfRequired(identifiedEdgeKeyTypes);
    +        // in case vertex and edge may have the same attribute name, the 
key id in graphml have to be different
    +        intersection = CollectionUtils.intersection(vertexKeySet, 
edgeKeySet);
    +        // speeding-up later checks
    +        if (intersection.isEmpty()) {
    --- End diff --
    
    i like the suggestion @twilmes had for this here:
    
    https://github.com/apache/tinkerpop/pull/891#pullrequestreview-139083855
    
    it sounds like a more fluent way to handle this logic.


---

Reply via email to