本文整理汇总了Java中org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge类的典型用法代码示例。如果您正苦于以下问题:Java DetachedEdge类的具体用法?Java DetachedEdge怎么用?Java DetachedEdge使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
DetachedEdge类属于org.apache.tinkerpop.gremlin.structure.util.detached包,在下文中一共展示了DetachedEdge类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: deserialize
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public TinkerGraph deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
final Configuration conf = new BaseConfiguration();
conf.setProperty("gremlin.tinkergraph.defaultVertexPropertyCardinality", "list");
final TinkerGraph graph = TinkerGraph.open(conf);
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if (jsonParser.getCurrentName().equals("vertices")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedVertex v = (DetachedVertex) deserializationContext.readValue(jsonParser, Vertex.class);
v.attach(Attachable.Method.getOrCreate(graph));
}
}
} else if (jsonParser.getCurrentName().equals("edges")) {
while (jsonParser.nextToken() != JsonToken.END_ARRAY) {
if (jsonParser.currentToken() == JsonToken.START_OBJECT) {
final DetachedEdge e = (DetachedEdge) deserializationContext.readValue(jsonParser, Edge.class);
e.attach(Attachable.Method.getOrCreate(graph));
}
}
}
}
return graph;
}
开发者ID:ShiftLeftSecurity,项目名称:tinkergraph-gremlin,代码行数:27,代码来源:TinkerIoRegistryV3d0.java
示例2: shouldReturnDetachedElements
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void shouldReturnDetachedElements() {
final Graph graph = TinkerFactory.createModern();
final GraphTraversalSource g = graph.traversal().withComputer().withStrategies(HaltedTraverserStrategy.create(new MapConfiguration(new HashMap<String, Object>() {{
put(HaltedTraverserStrategy.HALTED_TRAVERSER_FACTORY, DetachedFactory.class.getCanonicalName());
}})));
g.V().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().properties("name").forEachRemaining(vertexProperty -> assertEquals(DetachedVertexProperty.class, vertexProperty.getClass()));
g.V().out().values("name").forEachRemaining(value -> assertEquals(String.class, value.getClass()));
g.V().out().outE().forEachRemaining(edge -> assertEquals(DetachedEdge.class, edge.getClass()));
g.V().out().outE().properties("weight").forEachRemaining(property -> assertEquals(DetachedProperty.class, property.getClass()));
g.V().out().outE().values("weight").forEachRemaining(value -> assertEquals(Double.class, value.getClass()));
g.V().out().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().out().path().forEachRemaining(path -> assertEquals(DetachedPath.class, path.getClass()));
g.V().out().pageRank().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().pageRank().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
// should handle nested collections
g.V().out().fold().next().forEach(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
}
开发者ID:ShiftLeftSecurity,项目名称:tinkergraph-gremlin,代码行数:20,代码来源:HaltedTraverserStrategyTest.java
示例3: getRegistration
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public Registration getRegistration(final Class clazz) {
// force all instances of Vertex, Edge, VertexProperty, etc. to their respective interface
final Class type;
if (!ReferenceVertex.class.isAssignableFrom(clazz) && !DetachedVertex.class.isAssignableFrom(clazz) && Vertex.class.isAssignableFrom(clazz))
type = Vertex.class;
else if (!ReferenceEdge.class.isAssignableFrom(clazz) && !DetachedEdge.class.isAssignableFrom(clazz) && Edge.class.isAssignableFrom(clazz))
type = Edge.class;
else if (!ReferenceVertexProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && VertexProperty.class.isAssignableFrom(clazz))
type = VertexProperty.class;
else if (!ReferenceProperty.class.isAssignableFrom(clazz) && !DetachedProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && Property.class.isAssignableFrom(clazz))
type = Property.class;
else if (!ReferencePath.class.isAssignableFrom(clazz) && !DetachedPath.class.isAssignableFrom(clazz) && Path.class.isAssignableFrom(clazz))
type = Path.class;
else
type = clazz;
if (type == memoizedClass) return memoizedClassValue;
final Registration registration = classToRegistration.get(type);
if (registration != null) {
memoizedClass = type;
memoizedClassValue = registration;
}
return registration;
}
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:27,代码来源:GryoClassResolver.java
示例4: shouldSerializeEdgeAsDetached
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
public void shouldSerializeEdgeAsDetached() throws Exception {
final GryoIo gryoIo = graph.io(GryoIo.build());
final GryoWriter gryoWriter = gryoIo.writer().create();
final GryoReader gryoReader = gryoIo.reader().create();
final Edge e = g.E(convertToEdgeId("marko", "knows", "vadas")).next();
final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
gryoWriter.writeObject(outputStream, e);
final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
final Edge detached = gryoReader.readObject(inputStream, DetachedEdge.class);
assertNotNull(detached);
assertEquals(e.label(), detached.label());
assertEquals(e.id(), detached.id());
assertEquals((Double) e.value("weight"), detached.value("weight"));
}
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:19,代码来源:SerializationTest.java
示例5: read
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public <I extends InputShim> Edge read(final KryoShim<I, ?> kryo, final I input, final Class<Edge> edgeClass) {
final DetachedEdge.Builder builder = DetachedEdge.build();
builder.setId(kryo.readClassAndObject(input));
builder.setLabel(input.readString());
final DetachedVertex.Builder inV = DetachedVertex.build();
inV.setId(kryo.readClassAndObject(input));
inV.setLabel(input.readString());
builder.setInV(inV.create());
final DetachedVertex.Builder outV = DetachedVertex.build();
outV.setId(kryo.readClassAndObject(input));
outV.setLabel(input.readString());
builder.setOutV(outV.create());
while(input.readBoolean()) {
builder.addProperty(new DetachedProperty<>(input.readString(), kryo.readClassAndObject(input)));
}
return builder.create();
}
开发者ID:apache,项目名称:tinkerpop,代码行数:23,代码来源:GryoSerializersV3d0.java
示例6: readEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
/**
* Read an {@link Edge} from output generated by {@link GraphSONWriter#writeEdge(OutputStream, Edge)} or via
* an {@link Edge} passed to {@link GraphSONWriter#writeObject(OutputStream, Object)}.
*
* @param inputStream a stream containing at least one {@link Edge} as defined by the accompanying
* {@link GraphWriter#writeEdge(OutputStream, Edge)} method.
* @param edgeAttachMethod a function that creates re-attaches a {@link Edge} to a {@link Host} object.
*/
@Override
public Edge readEdge(final InputStream inputStream, final Function<Attachable<Edge>, Edge> edgeAttachMethod) throws IOException {
if (version == GraphSONVersion.V1_0) {
final Map<String, Object> edgeData = mapper.readValue(inputStream, mapTypeReference);
final Map<String, Object> edgeProperties = edgeData.containsKey(GraphSONTokens.PROPERTIES) ?
(Map<String, Object>) edgeData.get(GraphSONTokens.PROPERTIES) : Collections.EMPTY_MAP;
final DetachedEdge edge = new DetachedEdge(edgeData.get(GraphSONTokens.ID),
edgeData.get(GraphSONTokens.LABEL).toString(),
edgeProperties,
edgeData.get(GraphSONTokens.OUT), edgeData.get(GraphSONTokens.OUT_LABEL).toString(),
edgeData.get(GraphSONTokens.IN), edgeData.get(GraphSONTokens.IN_LABEL).toString());
return edgeAttachMethod.apply(edge);
} else {
return edgeAttachMethod.apply((DetachedEdge) mapper.readValue(inputStream, Edge.class));
}
}
开发者ID:apache,项目名称:tinkerpop,代码行数:27,代码来源:GraphSONReader.java
示例7: shouldSerializeEdgeAsDetached
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
@LoadGraphWith(LoadGraphWith.GraphData.MODERN)
public void shouldSerializeEdgeAsDetached() throws Exception {
final GryoIo gryoIo = graph.io(GryoIo.build(GryoVersion.V1_0));
final GryoWriter gryoWriter = gryoIo.writer().create();
final GryoReader gryoReader = gryoIo.reader().create();
final Edge e = g.E(convertToEdgeId("marko", "knows", "vadas")).next();
final ByteArrayOutputStream outputStream = new ByteArrayOutputStream();
gryoWriter.writeObject(outputStream, e);
final ByteArrayInputStream inputStream = new ByteArrayInputStream(outputStream.toByteArray());
final Edge detached = gryoReader.readObject(inputStream, DetachedEdge.class);
assertNotNull(detached);
assertEquals(e.label(), detached.label());
assertEquals(e.id(), detached.id());
assertEquals((Double) e.value("weight"), detached.value("weight"));
}
开发者ID:apache,项目名称:tinkerpop,代码行数:19,代码来源:SerializationTest.java
示例8: testIterateEdgesWithUuidIdSupportUsingDetachedEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void testIterateEdgesWithUuidIdSupportUsingDetachedEdge() {
Edge edge1 = createEdge();
Edge edge2 = getActGraph().edges(DetachedFactory.detach(edge1, true)).next();
assertEquals(edge1.id(), edge2.id());
assertFalse(edge2 instanceof DetachedEdge);
}
开发者ID:mnemonic-no,项目名称:act-platform,代码行数:8,代码来源:ActGraphTest.java
示例9: setUp
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Before
public void setUp() {
super.setUp();
marko = mock(Vertex.class);
vadas = mock(Vertex.class);
when(marko.id()).thenReturn(1);
when(vadas.id()).thenReturn(2);
query = mock(Query.class);
edgeGraph = new EdgeGraph(graph, query, g);
when(traversal.next()).thenReturn(
new DetachedEdge(null, Label.of(Develops.class), null,
null, null, null, null));
}
开发者ID:karthicks,项目名称:gremlin-ogm,代码行数:14,代码来源:EdgeGraphTest.java
示例10: testAsEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void testAsEdge() {
assertEquals(develops, as(new DetachedEdge(
null, Label.of(Develops.class), new HashMap<String, Object>() {
{
put("since", develops.since());
}
}, null, null, null, null), Develops.class));
}
开发者ID:karthicks,项目名称:gremlin-ogm,代码行数:10,代码来源:ParserTest.java
示例11: shouldSerializeEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void shouldSerializeEdge() throws Exception {
final Graph g = TinkerGraph.open();
final Vertex v1 = g.addVertex();
final Vertex v2 = g.addVertex();
final Edge e = v1.addEdge("test", v2);
e.property("abc", 123);
final Iterable<Edge> iterable = IteratorUtils.list(g.edges());
final ResponseMessage response = convertBinary(iterable);
assertCommon(response);
final List<DetachedEdge> edgeList = (List<DetachedEdge>) response.getResult().getData();
assertEquals(1, edgeList.size());
final DetachedEdge deserializedEdge = edgeList.get(0);
assertEquals(e.id(), deserializedEdge.id());
assertEquals("test", deserializedEdge.label());
assertEquals(123, deserializedEdge.values("abc").next());
assertEquals(1, IteratorUtils.count(deserializedEdge.properties()));
assertEquals(v1.id(), deserializedEdge.outVertex().id());
assertEquals(Vertex.DEFAULT_LABEL, deserializedEdge.outVertex().label());
assertEquals(v2.id(), deserializedEdge.inVertex().id());
assertEquals(Vertex.DEFAULT_LABEL, deserializedEdge.inVertex().label());
}
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:28,代码来源:GryoMessageSerializerV1d0Test.java
示例12: readEdge
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
/**
* Read an {@link Edge} from output generated by {@link GraphSONWriter#writeEdge(OutputStream, Edge)} or via
* an {@link Edge} passed to {@link GraphSONWriter#writeObject(OutputStream, Object)}.
*
* @param inputStream a stream containing at least one {@link Edge} as defined by the accompanying
* {@link GraphWriter#writeEdge(OutputStream, Edge)} method.
* @param edgeAttachMethod a function that creates re-attaches a {@link Edge} to a {@link Host} object.
*/
@Override
public Edge readEdge(final InputStream inputStream, final Function<Attachable<Edge>, Edge> edgeAttachMethod) throws IOException {
final Map<String, Object> edgeData = mapper.readValue(inputStream, mapTypeReference);
final Map<String,Object> edgeProperties = edgeData.containsKey(GraphSONTokens.PROPERTIES) ?
(Map<String, Object>) edgeData.get(GraphSONTokens.PROPERTIES) : Collections.EMPTY_MAP;
final DetachedEdge edge = new DetachedEdge(edgeData.get(GraphSONTokens.ID),
edgeData.get(GraphSONTokens.LABEL).toString(),
edgeProperties,
Pair.with(edgeData.get(GraphSONTokens.OUT), edgeData.get(GraphSONTokens.OUT_LABEL).toString()),
Pair.with(edgeData.get(GraphSONTokens.IN), edgeData.get(GraphSONTokens.IN_LABEL).toString()));
return edgeAttachMethod.apply(edge);
}
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:23,代码来源:GraphSONReader.java
示例13: shouldReturnDetachedElements
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
public void shouldReturnDetachedElements() {
final Graph graph = TinkerFactory.createModern();
final GraphTraversalSource g = graph.traversal().withComputer().withStrategies(HaltedTraverserStrategy.detached());
g.V().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().properties("name").forEachRemaining(vertexProperty -> assertEquals(DetachedVertexProperty.class, vertexProperty.getClass()));
g.V().out().values("name").forEachRemaining(value -> assertEquals(String.class, value.getClass()));
g.V().out().outE().forEachRemaining(edge -> assertEquals(DetachedEdge.class, edge.getClass()));
g.V().out().outE().properties("weight").forEachRemaining(property -> assertEquals(DetachedProperty.class, property.getClass()));
g.V().out().outE().values("weight").forEachRemaining(value -> assertEquals(Double.class, value.getClass()));
g.V().out().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().out().path().forEachRemaining(path -> assertEquals(DetachedPath.class, path.getClass()));
g.V().out().pageRank().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
g.V().out().pageRank().out().forEachRemaining(vertex -> assertEquals(DetachedVertex.class, vertex.getClass()));
}
开发者ID:PKUSilvester,项目名称:LiteGraph,代码行数:16,代码来源:HaltedTraverserStrategyTest.java
示例14: createObject
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@SuppressWarnings({ "unchecked", "rawtypes" })
@Override
public Edge createObject(final Map<String, Object> edgeData) {
return new DetachedEdge(
newORecordId(edgeData.get(GraphSONTokens.ID)),
edgeData.get(GraphSONTokens.LABEL).toString(),
(Map) edgeData.get(GraphSONTokens.PROPERTIES),
Pair.with(newORecordId(edgeData.get(GraphSONTokens.OUT)), edgeData.get(GraphSONTokens.OUT_LABEL).toString()),
Pair.with(newORecordId(edgeData.get(GraphSONTokens.IN)), edgeData.get(GraphSONTokens.IN_LABEL).toString()));
}
开发者ID:orientechnologies,项目名称:orientdb-gremlin,代码行数:11,代码来源:OrientIoRegistry.java
示例15: coerceType
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public Class coerceType(final Class clazz) {
// force all instances of Vertex, Edge, VertexProperty, etc. to their respective interface
final Class type;
if (!ReferenceVertex.class.isAssignableFrom(clazz) && !DetachedVertex.class.isAssignableFrom(clazz) && Vertex.class.isAssignableFrom(clazz))
type = Vertex.class;
else if (!ReferenceEdge.class.isAssignableFrom(clazz) && !DetachedEdge.class.isAssignableFrom(clazz) && Edge.class.isAssignableFrom(clazz))
type = Edge.class;
else if (!ReferenceVertexProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && VertexProperty.class.isAssignableFrom(clazz))
type = VertexProperty.class;
else if (!ReferenceProperty.class.isAssignableFrom(clazz) && !DetachedProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && !ReferenceVertexProperty.class.isAssignableFrom(clazz) && Property.class.isAssignableFrom(clazz))
type = Property.class;
else if (!ReferencePath.class.isAssignableFrom(clazz) && !DetachedPath.class.isAssignableFrom(clazz) && Path.class.isAssignableFrom(clazz))
type = Path.class;
else if (Lambda.class.isAssignableFrom(clazz))
type = Lambda.class;
else if (ByteBuffer.class.isAssignableFrom(clazz))
type = ByteBuffer.class;
else if (Class.class.isAssignableFrom(clazz))
type = Class.class;
else if (InetAddress.class.isAssignableFrom(clazz))
type = InetAddress.class;
else if (ConnectiveP.class.isAssignableFrom(clazz))
type = P.class;
else
type = clazz;
return type;
}
开发者ID:apache,项目名称:tinkerpop,代码行数:30,代码来源:GryoClassResolverV1d0.java
示例16: coerceType
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public Class coerceType(final Class clazz) {
// force all instances of Vertex, Edge, VertexProperty, etc. to their respective interface
final Class type;
if (!ReferenceVertex.class.isAssignableFrom(clazz) && !DetachedVertex.class.isAssignableFrom(clazz) && Vertex.class.isAssignableFrom(clazz))
type = Vertex.class;
else if (!ReferenceEdge.class.isAssignableFrom(clazz) && !DetachedEdge.class.isAssignableFrom(clazz) && Edge.class.isAssignableFrom(clazz))
type = Edge.class;
else if (!ReferenceVertexProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && VertexProperty.class.isAssignableFrom(clazz))
type = VertexProperty.class;
else if (!ReferenceProperty.class.isAssignableFrom(clazz) && !DetachedProperty.class.isAssignableFrom(clazz) && !DetachedVertexProperty.class.isAssignableFrom(clazz) && !ReferenceVertexProperty.class.isAssignableFrom(clazz) && Property.class.isAssignableFrom(clazz))
type = Property.class;
else if (!ReferencePath.class.isAssignableFrom(clazz) && !DetachedPath.class.isAssignableFrom(clazz) && Path.class.isAssignableFrom(clazz))
type = Path.class;
else if (Lambda.class.isAssignableFrom(clazz))
type = Lambda.class;
else if (ByteBuffer.class.isAssignableFrom(clazz))
type = ByteBuffer.class;
else if (Class.class.isAssignableFrom(clazz))
type = Class.class;
else if (InetAddress.class.isAssignableFrom(clazz))
type = InetAddress.class;
else if (ConnectiveP.class.isAssignableFrom(clazz))
type = P.class;
else if (Metrics.class.isAssignableFrom(clazz))
type = Metrics.class;
else if (TraversalMetrics.class.isAssignableFrom(clazz))
type = TraversalMetrics.class;
else
type = clazz;
return type;
}
开发者ID:apache,项目名称:tinkerpop,代码行数:34,代码来源:GryoClassResolverV3d0.java
示例17: deserialize
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Override
public Edge deserialize(final JsonParser jsonParser, final DeserializationContext deserializationContext) throws IOException, JsonProcessingException {
final DetachedEdge.Builder e = DetachedEdge.build();
final DetachedVertex.Builder inV = DetachedVertex.build();
final DetachedVertex.Builder outV = DetachedVertex.build();
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if (jsonParser.getCurrentName().equals(GraphSONTokens.ID)) {
jsonParser.nextToken();
e.setId(deserializationContext.readValue(jsonParser, Object.class));
} else if (jsonParser.getCurrentName().equals(GraphSONTokens.LABEL)) {
jsonParser.nextToken();
e.setLabel(jsonParser.getText());
} else if (jsonParser.getCurrentName().equals(GraphSONTokens.OUT)) {
jsonParser.nextToken();
outV.setId(deserializationContext.readValue(jsonParser, Object.class));
} else if (jsonParser.getCurrentName().equals(GraphSONTokens.OUT_LABEL)) {
jsonParser.nextToken();
outV.setLabel(jsonParser.getText());
} else if (jsonParser.getCurrentName().equals(GraphSONTokens.IN)) {
jsonParser.nextToken();
inV.setId(deserializationContext.readValue(jsonParser, Object.class));
} else if (jsonParser.getCurrentName().equals(GraphSONTokens.IN_LABEL)) {
jsonParser.nextToken();
inV.setLabel(jsonParser.getText());
} else if (jsonParser.getCurrentName().equals(GraphSONTokens.PROPERTIES)) {
jsonParser.nextToken();
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
jsonParser.nextToken();
e.addProperty(deserializationContext.readValue(jsonParser, Property.class));
}
}
}
e.setInV(inV.create());
e.setOutV(outV.create());
return e.create();
}
开发者ID:apache,项目名称:tinkerpop,代码行数:39,代码来源:GraphSONSerializersV3d0.java
示例18: shouldDetachPropertyOfEdgeWhenChanged
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
@FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
public void shouldDetachPropertyOfEdgeWhenChanged() {
final AtomicBoolean triggered = new AtomicBoolean(false);
final Vertex v = graph.addVertex();
final Edge e = v.addEdge("self", v);
final String label = e.label();
final Object inId = v.id();
final Object outId = v.id();
e.property("to-change", "no!");
final MutationListener listener = new AbstractMutationListener() {
@Override
public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) {
assertThat(element, instanceOf(DetachedEdge.class));
assertEquals(label, element.label());
assertEquals(inId, element.inVertex().id());
assertEquals(outId, element.outVertex().id());
assertEquals("no!", oldValue.value());
assertEquals("to-change", oldValue.key());
assertEquals("yay!", setValue);
triggered.set(true);
}
};
final EventStrategy.Builder builder = EventStrategy.build().addListener(listener);
if (graph.features().graph().supportsTransactions())
builder.eventQueue(new EventStrategy.TransactionalEventQueue(graph));
final EventStrategy eventStrategy = builder.create();
final GraphTraversalSource gts = create(eventStrategy);
gts.E(e).property("to-change","yay!").iterate();
tryCommit(graph);
assertEquals(1, IteratorUtils.count(g.E(e).properties()));
assertThat(triggered.get(), is(true));
}
开发者ID:apache,项目名称:tinkerpop,代码行数:39,代码来源:EventStrategyProcessTest.java
示例19: shouldDetachPropertyOfEdgeWhenNew
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
@FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
public void shouldDetachPropertyOfEdgeWhenNew() {
final AtomicBoolean triggered = new AtomicBoolean(false);
final Vertex v = graph.addVertex();
final Edge e = v.addEdge("self", v);
final String label = e.label();
final Object inId = v.id();
final Object outId = v.id();
e.property("to-change", "no!");
final MutationListener listener = new AbstractMutationListener() {
@Override
public void edgePropertyChanged(final Edge element, final Property oldValue, final Object setValue) {
assertThat(element, instanceOf(DetachedEdge.class));
assertEquals(label, element.label());
assertEquals(inId, element.inVertex().id());
assertEquals(outId, element.outVertex().id());
assertEquals(null, oldValue.value());
assertEquals("new", oldValue.key());
assertEquals("yay!", setValue);
triggered.set(true);
}
};
final EventStrategy.Builder builder = EventStrategy.build().addListener(listener);
if (graph.features().graph().supportsTransactions())
builder.eventQueue(new EventStrategy.TransactionalEventQueue(graph));
final EventStrategy eventStrategy = builder.create();
final GraphTraversalSource gts = create(eventStrategy);
gts.E(e).property("new","yay!").iterate();
tryCommit(graph);
assertEquals(2, IteratorUtils.count(g.E(e).properties()));
assertThat(triggered.get(), is(true));
}
开发者ID:apache,项目名称:tinkerpop,代码行数:39,代码来源:EventStrategyProcessTest.java
示例20: shouldDetachEdgeWhenRemoved
import org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge; //导入依赖的package包/类
@Test
@FeatureRequirementSet(FeatureRequirementSet.Package.SIMPLE)
public void shouldDetachEdgeWhenRemoved() {
final AtomicBoolean triggered = new AtomicBoolean(false);
final Vertex v = graph.addVertex();
final Edge e = v.addEdge("self", v, "dropped", "yay!");
final String label = e.label();
final Object inId = v.id();
final Object outId = v.id();
final MutationListener listener = new AbstractMutationListener() {
@Override
public void edgeRemoved(final Edge element) {
assertThat(element, instanceOf(DetachedEdge.class));
assertEquals(label, element.label());
assertEquals(inId, element.inVertex().id());
assertEquals(outId, element.outVertex().id());
triggered.set(true);
}
};
final EventStrategy.Builder builder = EventStrategy.build().addListener(listener);
if (graph.features().graph().supportsTransactions())
builder.eventQueue(new EventStrategy.TransactionalEventQueue(graph));
final EventStrategy eventStrategy = builder.create();
final GraphTraversalSource gts = create(eventStrategy);
gts.E(e).drop().iterate();
tryCommit(graph);
assertVertexEdgeCounts(graph, 1, 0);
assertThat(triggered.get(), is(true));
}
开发者ID:apache,项目名称:tinkerpop,代码行数:35,代码来源:EventStrategyProcessTest.java
注:本文中的org.apache.tinkerpop.gremlin.structure.util.detached.DetachedEdge类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论