Browse Source

Fix compatibility of blueprints-core with java 5

tags/3.5
Simon Brandhof 11 years ago
parent
commit
29c6b0e014

+ 0
- 29
pom.xml View File

@@ -641,35 +641,6 @@
<artifactId>asm-all</artifactId>
<version>3.2</version>
</dependency>
<dependency>
<groupId>com.tinkerpop.blueprints</groupId>
<artifactId>blueprints-core</artifactId>
<!--
Do not upgrade because of compatibility with Java 5.
See https://github.com/tinkerpop/blueprints/pull/352
-->
<version>2.0.0</version>
<exclusions>
<!-- we use our own GraphSON implementation based on json-simple -->
<exclusion>
<groupId>org.codehaus.jettison</groupId>
<artifactId>jettison</artifactId>
</exclusion>
<exclusion>
<groupId>org.codehaus.jackson</groupId>
<artifactId>jackson-jaxrs</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<!--
Do not upgrade because of compatibility with Java 5.
See https://github.com/tinkerpop/pipes/pull/74
-->
<groupId>com.tinkerpop.gremlin</groupId>
<artifactId>gremlin-java</artifactId>
<version>2.0.0</version>
</dependency>
<dependency>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-classworlds</artifactId>

+ 30
- 2
sonar-core/pom.xml View File

@@ -68,10 +68,15 @@
<dependency>
<groupId>com.tinkerpop.blueprints</groupId>
<artifactId>blueprints-core</artifactId>
<version>2.2.0-java5</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/blueprints-core-2.2.0-java5.jar</systemPath>
</dependency>
<dependency>
<groupId>com.tinkerpop.gremlin</groupId>
<artifactId>gremlin-java</artifactId>
<!-- Temporary dependency as long as blueprints-core is system scope -->
<groupId>colt</groupId>
<artifactId>colt</artifactId>
<version>1.2.0</version>
</dependency>

<!-- logging -->
@@ -152,6 +157,29 @@

<build>
<plugins>
<plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>jarjar-maven-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jarjar</goal>
</goals>
<configuration>
<includes>
<include>com.tinkerpop.blueprints:blueprints-core</include>
</includes>
<rules>
<keep>
<pattern>*.**</pattern>
</keep>
</rules>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>

+ 0
- 27
sonar-core/src/main/java/org/sonar/core/graph/GraphUtil.java View File

@@ -20,21 +20,14 @@
package org.sonar.core.graph;

import com.google.common.base.Joiner;
import com.google.common.collect.Lists;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.blueprints.Edge;
import com.tinkerpop.blueprints.Element;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.tg.TinkerGraph;
import com.tinkerpop.blueprints.util.ElementHelper;
import com.tinkerpop.gremlin.java.GremlinPipeline;
import org.hibernate.engine.JoinSequence;

import javax.annotation.CheckForNull;
import javax.annotation.Nullable;

import java.util.Iterator;
import java.util.List;

public class GraphUtil {

@@ -79,24 +72,4 @@ public class GraphUtil {
}
}

public static void subGraph(GremlinPipeline path, TinkerGraph toGraph) {
List<Edge> edges = Lists.newArrayList();
if (path.hasNext()) {
for (Object element : (Iterable) path.next()) {
if (element instanceof Vertex) {
Vertex v = (Vertex) element;
Vertex toVertex = toGraph.addVertex(v.getId());
ElementHelper.copyProperties(v, toVertex);
} else if (element instanceof Edge) {
edges.add((Edge) element);
}
}
for (Edge edge : edges) {
Vertex from = edge.getVertex(Direction.IN);
Vertex to = edge.getVertex(Direction.OUT);
Edge copyEdge = toGraph.addEdge(edge.getId(), toGraph.getVertex(from.getId()), toGraph.getVertex(to.getId()), edge.getLabel());
ElementHelper.copyProperties(edge, copyEdge);
}
}
}
}

+ 0
- 18
sonar-core/src/test/java/org/sonar/core/graph/GraphUtilTest.java View File

@@ -22,7 +22,6 @@ package org.sonar.core.graph;
import com.tinkerpop.blueprints.Direction;
import com.tinkerpop.blueprints.Vertex;
import com.tinkerpop.blueprints.impls.tg.TinkerGraph;
import com.tinkerpop.gremlin.java.GremlinPipeline;
import org.junit.Rule;
import org.junit.Test;
import org.junit.rules.ExpectedException;
@@ -63,21 +62,4 @@ public class GraphUtilTest {

GraphUtil.singleAdjacent(a, Direction.OUT, "likes", "hates");
}

@Test
public void subGraph() {
TinkerGraph graph = new TinkerGraph();
Vertex a = graph.addVertex("1");
Vertex b = graph.addVertex("2");
Vertex c = graph.addVertex("3");
graph.addEdge("4", a, b, "likes");
graph.addEdge("5", b, c, "has");

TinkerGraph subGraph = new TinkerGraph();
GremlinPipeline pipeline = new GremlinPipeline(a).outE("likes").inV().path();
GraphUtil.subGraph(pipeline, subGraph);

assertThat(subGraph.getVertices()).hasSize(2);
assertThat(subGraph.getEdges()).hasSize(1);
}
}

Loading…
Cancel
Save