Uploaded image for project: 'ModeShape'
  1. ModeShape
  2. MODE-461

Federation connector incorrectly expects identification properties on all source nodes

XMLWordPrintable

    • Hide

      None

      Show
      None
    • Low

      The JoinProcessor always expects identification properties on all nodes coming from sources. Since some connectors do not have identification properties, this causes a NullPointerException when accumulating the identification properties:

      java.lang.NullPointerException
      at org.jboss.dna.graph.connector.federation.JoinRequestProcessor.process(JoinRequestProcessor.java:272)
      at org.jboss.dna.graph.request.processor.RequestProcessor.process(RequestProcessor.java:235)
      at org.jboss.dna.graph.connector.federation.JoinRequestProcessor.process(JoinRequestProcessor.java:164)
      at org.jboss.dna.graph.connector.federation.FederatedRepositoryConnection.execute(FederatedRepositoryConnection.java:220)
      at org.jboss.dna.graph.connector.RepositoryConnectionPool$ConnectionWrapper.execute(RepositoryConnectionPool.java:991)
      at org.jboss.dna.graph.Graph.execute(Graph.java:243)
      at org.jboss.dna.graph.Graph$5.process(Graph.java:186)
      at org.jboss.dna.graph.request.RequestBuilder.readNode(RequestBuilder.java:139)
      at org.jboss.dna.graph.Graph.getNodeAt(Graph.java:1843)
      at org.jboss.dna.graph.Graph.getNodeAt(Graph.java:1853)

      The problem is this snippet:

      // Accumulate the identification properties ...
      for (Property propertyInSource : readFromSource.getActualLocationOfNode().getIdProperties())

      { ... }

      since the JavaDoc for getIdProperties() says that it should return null if there are no properties. This code should be wrapped with a check to see if the Location has identification properties.

              rhauch Randall Hauch (Inactive)
              rhauch Randall Hauch (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

                Created:
                Updated:
                Resolved: