<groupId>com.google.guava</groupId>
<artifactId>guava</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.glassfish</groupId>
+ <artifactId>javax.json</artifactId>
+ <version>1.1.4</version>
+ </dependency>
<dependency>
<groupId>org.janusgraph</groupId>
<artifactId>janusgraph-core</artifactId>
/**
* The constructor.
*/
- @SuppressWarnings("unchecked")
public AaiCallable() {
mdcCopy = MDC.getCopyOfContextMap();
}
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
-import java.util.Objects;
import java.util.Optional;
import java.util.Set;
import java.util.concurrent.CompletableFuture;
import org.janusgraph.core.schema.ConsistencyModifier;
import org.janusgraph.core.schema.JanusGraphIndex;
import org.janusgraph.core.schema.JanusGraphManagement;
-import org.janusgraph.core.schema.JanusGraphManagement.IndexJobFuture;
import org.janusgraph.core.schema.RelationTypeIndex;
import org.janusgraph.core.schema.SchemaAction;
import org.janusgraph.core.schema.SchemaStatus;
+import org.janusgraph.diskstorage.keycolumnvalue.scan.ScanJobFuture;
import org.janusgraph.graphdb.database.StandardJanusGraph;
import org.janusgraph.graphdb.database.management.ManagementSystem;
import org.janusgraph.graphdb.database.management.RelationIndexStatusReport;
final Map<String, Introspector> objs = LoaderUtil.getLatestVersion().getAllObjects();
final Map<String, PropertyKey> seenProps = new HashMap<>();
-
+
for (Introspector obj : objs.values()) {
createSchemaForObject(graphMgmt, seenProps, obj);
}
private static void awaitRelationIndexStatus(JanusGraph graph, Collection<String> labels, SchemaStatus newStatus) {
LOGGER.info("Awaiting index status [{}]", newStatus);;
CompletableFuture<RelationIndexStatusReport>[] awaits = labels.stream()
- .map(label ->
+ .map(label ->
CompletableFuture.supplyAsync(() -> {
try {
return ManagementSystem
private static void updateRelationIndexes(JanusGraph graph, Collection<String> labels, SchemaAction updateAction) {
JanusGraphManagement graphMgmt = graph.openManagement();
- CompletableFuture<IndexJobFuture>[] awaits = labels.stream()
- .map(label ->
+ CompletableFuture<ScanJobFuture>[] awaits = labels.stream()
+ .map(label ->
CompletableFuture.supplyAsync(() -> {
EdgeLabel relation = graphMgmt.getEdgeLabel(label);
RelationTypeIndex index = graphMgmt.getRelationIndex(relation, label);
LOGGER.debug("Closing open transaction [{}] before schema generation", transaction.toString());
transaction.rollback();
});
-
+
final JanusGraphManagement graphMgtForClosing = graph.openManagement();
Set<String> instances = graphMgtForClosing.getOpenInstances();
import java.util.Collections;
import java.util.List;
import java.util.Map;
+import java.util.NoSuchElementException;
import java.util.Optional;
import java.util.Set;
-import org.apache.tinkerpop.gremlin.groovy.jsr223.GroovyTranslator;
+import org.apache.tinkerpop.gremlin.process.traversal.translator.GroovyTranslator;
import org.apache.tinkerpop.gremlin.process.traversal.Order;
import org.apache.tinkerpop.gremlin.process.traversal.P;
import org.apache.tinkerpop.gremlin.process.traversal.Path;
@Override
public QueryBuilder<E> store(String name) {
- this.traversal.store(name);
+ this.traversal.aggregate(Scope.local , name);
stepIndex++;
return this;
try {
return mapPaginationResult((Map<String,Object>) completeTraversal.next());
// .next() will throw an IllegalArguementException if there are no vertices of the given type
- } catch (IllegalArgumentException e) {
+ } catch (NoSuchElementException | IllegalArgumentException e) {
return new PaginationResult<>(Collections.emptyList(), 0L);
}
}
private static final GraphSONVersion version = GraphSONVersion.V1_0;
private final GraphSONMapper mapper =
- GraphSONMapper.build().version(version).addRegistry(JanusGraphIoRegistry.getInstance()).create();
+ GraphSONMapper.build().version(version).addRegistry(JanusGraphIoRegistry.instance()).create();
private final GraphSONWriter writer = GraphSONWriter.build().mapper(mapper).create();
@Override
import com.fasterxml.jackson.core.JsonGenerationException;
import com.fasterxml.jackson.databind.JsonMappingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
import java.io.IOException;
-import javax.json.Json;
-import javax.json.JsonObject;
-
import org.eclipse.persistence.dynamic.DynamicEntity;
import org.eclipse.persistence.jaxb.dynamic.DynamicJAXBContext;
import org.junit.Before;
private static AAIKafkaEventJMSProducer producer;
private static StoreNotificationEvent sne;
+ private final ObjectMapper mapper = new ObjectMapper();
+
@BeforeClass
public static void setUp() {
producer = Mockito.mock(AAIKafkaEventJMSProducer.class);
@Test
public void testStoreEventEmptyEventHeader()
throws AAIException, JsonGenerationException, JsonMappingException, IOException {
- JsonObject object = Json.createObjectBuilder().add("hello", "world").build();
+
+ ObjectNode object = mapper.createObjectNode().put("hello", "world");
String res = sne.storeEventAndSendToJms(new EventHeader(), object);
assertNotNull(res);
assertTrue(res.contains("\"entity-link\" : \"UNK\""));
assertTrue(res.contains("\"entity\""));
assertTrue(res.contains("\"hello\""));
- assertTrue(res.contains("\"chars\" : \"world\""));
- assertTrue(res.contains("\"string\" : \"world\""));
- assertTrue(res.contains("\"valueType\" : \"STRING\""));
+ assertTrue(res.contains("\"world\""));
}
@Test
public void testStoreEvent() throws AAIException, JsonGenerationException, JsonMappingException, IOException {
- JsonObject object = Json.createObjectBuilder().add("hello", "world").build();
+ ObjectNode object = mapper.createObjectNode().put("hello", "world");
EventHeader eh = new EventHeader();
eh.setId("123");
eh.setTimestamp("current-time");
assertTrue(res.contains("\"entity-link\" : \"entity-link\""));
assertTrue(res.contains("\"entity\""));
assertTrue(res.contains("\"hello\""));
- assertTrue(res.contains("\"chars\" : \"world\""));
- assertTrue(res.contains("\"string\" : \"world\""));
- assertTrue(res.contains("\"valueType\" : \"STRING\""));
+ assertTrue(res.contains("\"world\""));
}
@Test(expected = AAIException.class)
<eelf.core.version>2.0.0-oss</eelf.core.version>
<freemarker.version>2.3.31</freemarker.version>
<google.guava.version>31.1-jre</google.guava.version>
- <gremlin.version>3.5.8</gremlin.version>
- <janusgraph.version>0.6.4</janusgraph.version>
+ <gremlin.version>3.7.1</gremlin.version>
+ <janusgraph.version>1.0.0</janusgraph.version>
<groovy.version>2.5.15</groovy.version>
<gson.version>2.9.1</gson.version>
<hamcrest.junit.version>2.0.0.0</hamcrest.junit.version>
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.Mockito;
-import org.mockito.runners.MockitoJUnitRunner;
+import org.mockito.junit.MockitoJUnitRunner;
import org.onap.aai.edges.EdgeIngestor;
import org.onap.aai.nodes.NodeIngestor;
import org.onap.aai.setup.AAIConfigTranslator;