- Either<ResourceMetadataData, JanusGraphOperationStatus> resource1 = janusGraphDao.createNode(resourceData,
- ResourceMetadataData.class);
- assertTrue(resource1.isLeft());
-
- resourceData = new ResourceMetadataData();
-
- resourceData.getMetadataDataDefinition().setName("resourceForLock");
- resourceData.getMetadataDataDefinition().setVersion("0.2");
- resourceData.getMetadataDataDefinition().setState("NOT_CERTIFIED_CHECKOUT");
- resourceData.getMetadataDataDefinition().setHighestVersion(false);
- resourceData.getMetadataDataDefinition().setUniqueId(resourceData.getMetadataDataDefinition().getName() + "."
- + resourceData.getMetadataDataDefinition().getVersion());
-
- Either<ResourceMetadataData, JanusGraphOperationStatus> resource2 = janusGraphDao.createNode(resourceData,
- ResourceMetadataData.class);
- janusGraphDao.commit();
-
- Map<String, Object> props = new HashMap<>();
-
- props.put(GraphPropertiesDictionary.STATE.getProperty(), "NOT_CERTIFIED_CHECKOUT");
- props.put("name", "resourceForLock");
- props.put(GraphPropertiesDictionary.IS_HIGHEST_VERSION.getProperty(), false);
-
- // get by criteria. must be 1
- Either<List<ResourceMetadataData>, JanusGraphOperationStatus> byCriteria = janusGraphDao
- .getByCriteria(NodeTypeEnum.Resource, props, ResourceMetadataData.class);
- assertTrue(byCriteria.isLeft());
-
- janusGraphDao.deleteNode(resource1.left().value(), ResourceMetadataData.class);
-
- janusGraphDao.deleteNode(resource2.left().value(), ResourceMetadataData.class);
- janusGraphDao.commit();
- }
-
- // @Test
- public void testStringSearch() {
- JanusGraph graph;
-
- BaseConfiguration conf = new BaseConfiguration();
- conf.setProperty("storage.backend", "inmemory");
- graph = JanusGraphFactory.open(conf);
-
- // JanusGraphManagement graphMgt = graph.getManagementSystem();
- JanusGraphManagement graphMgt = graph.openManagement();
- PropertyKey propKey = graphMgt.makePropertyKey("string1").dataType(String.class).make();
- graphMgt.buildIndex("string1", Vertex.class).addKey(propKey).unique().buildCompositeIndex();
-
- propKey = graphMgt.makePropertyKey("string2").dataType(String.class).make();
-
- graphMgt.buildIndex("string2", Vertex.class).addKey(propKey).unique().buildCompositeIndex();
- graphMgt.commit();
-
-
- log.debug("**** predicat index search non case");
- Iterable<JanusGraphVertex> vertices = graph.query().has("string1", Text.REGEX, "my new string 1").vertices();
- Iterator<JanusGraphVertex> iter = vertices.iterator();
- while (iter.hasNext()) {
- Vertex ver = iter.next();
- // System.out.println(com.tinkerpop.blueprints.util.ElementHelper.getProperties(ver));
- log.debug("{}", janusGraphDao.getProperties(ver));
- }
-
- }
-
- @Test
- public void testDuplicateResultDueToJanusGraphBug() {
-
- ResourceMetadataData resourceData1 = new ResourceMetadataData();
- resourceData1.getMetadataDataDefinition().setUniqueId("A");
- ((ResourceMetadataDataDefinition) resourceData1.getMetadataDataDefinition()).setAbstract(true);
- resourceData1.getMetadataDataDefinition().setName("aaaa");
-
- Either<ResourceMetadataData, JanusGraphOperationStatus> newNode1 = janusGraphDao.createNode(resourceData1,
- ResourceMetadataData.class);
- assertTrue(newNode1.isLeft());
- log.debug("{}", newNode1.left().value());
- // janusGraphDao.commit();
-
- Map<String, Object> props = new HashMap<>();
- props.put(GraphPropertiesDictionary.IS_ABSTRACT.getProperty(), true);
- Either<List<ResourceMetadataData>, JanusGraphOperationStatus> byCriteria = janusGraphDao
- .getByCriteria(NodeTypeEnum.Resource, props, ResourceMetadataData.class);
- assertTrue(byCriteria.isLeft());
- assertEquals("check one result returned", 1, byCriteria.left().value().size());
- // janusGraphDao.commit();
-
- ResourceMetadataData resourceToUpdate = new ResourceMetadataData();
- ((ResourceMetadataDataDefinition) resourceToUpdate.getMetadataDataDefinition()).setAbstract(false);
- resourceToUpdate.getMetadataDataDefinition().setUniqueId("A");
- Either<ResourceMetadataData, JanusGraphOperationStatus> updateNode = janusGraphDao.updateNode(resourceToUpdate,
- ResourceMetadataData.class);
- assertTrue(updateNode.isLeft());
- // janusGraphDao.commit();
-
- byCriteria = janusGraphDao.getByCriteria(NodeTypeEnum.Resource, props, ResourceMetadataData.class);
- assertTrue(byCriteria.isRight());
- assertEquals("check one result returned due to janusgraph bug", JanusGraphOperationStatus.NOT_FOUND,
- byCriteria.right().value());
-
- AdditionalInfoParameterData infoParameterData = new AdditionalInfoParameterData();
- infoParameterData.getAdditionalInfoParameterDataDefinition().setUniqueId("123");
- Map<String, String> idToKey = new HashMap<>();
- idToKey.put("key1", "value1");
- infoParameterData.setIdToKey(idToKey);
-
- Either<AdditionalInfoParameterData, JanusGraphOperationStatus> newNode2 = janusGraphDao.createNode(infoParameterData,
- AdditionalInfoParameterData.class);
- assertTrue(newNode2.isLeft());
- log.debug("{}", newNode2.left().value());
- // janusGraphDao.commit();
-
- Map<String, String> idToKey2 = new HashMap<>();
- idToKey2.put("key1", "value2");
-
- Map<String, Object> props2 = new HashMap<>();
- props2.put(GraphPropertiesDictionary.UNIQUE_ID.getProperty(), "123");
- Gson gson = new Gson();
- props2.put(GraphPropertiesDictionary.ADDITIONAL_INFO_ID_TO_KEY.getProperty(), gson.toJson(idToKey2));
- // props2.put(GraphPropertiesDictionary.ADDITIONAL_INFO_ID_TO_KEY.getProperty(),
- // idToKey2);
-
- Either<List<AdditionalInfoParameterData>, JanusGraphOperationStatus> byCriteria2 = janusGraphDao
- .getByCriteria(NodeTypeEnum.AdditionalInfoParameters, props2, AdditionalInfoParameterData.class);
- assertTrue(byCriteria2.isRight());
- assertEquals("check one result returned due to janusgraph bug", JanusGraphOperationStatus.NOT_FOUND,
- byCriteria2.right().value());
-
- infoParameterData.setIdToKey(idToKey2);
-
- Either<AdditionalInfoParameterData, JanusGraphOperationStatus> updateNode2 = janusGraphDao.updateNode(infoParameterData,
- AdditionalInfoParameterData.class);
- assertTrue(updateNode2.isLeft());
- // janusGraphDao.commit();
-
- props2.put(GraphPropertiesDictionary.ADDITIONAL_INFO_ID_TO_KEY.getProperty(), idToKey);
- byCriteria2 = janusGraphDao.getByCriteria(NodeTypeEnum.AdditionalInfoParameters, props2,
- AdditionalInfoParameterData.class);
- assertTrue(byCriteria2.isRight());
- assertEquals("check one result returned due to janusgraph bug", JanusGraphOperationStatus.NOT_FOUND,
- byCriteria2.right().value());
-
- ComponentInstanceData resourceInstanceData = new ComponentInstanceData();
- resourceInstanceData.getComponentInstDataDefinition().setUniqueId("ri123");
- resourceInstanceData.getComponentInstDataDefinition().setPosX("22");
- resourceInstanceData.getComponentInstDataDefinition().setName("myresource_1");
-
- Either<ComponentInstanceData, JanusGraphOperationStatus> newNode3 = janusGraphDao.createNode(resourceInstanceData,
- ComponentInstanceData.class);
- assertTrue(newNode3.isLeft());
- log.debug("{}", newNode3.left().value());
- // janusGraphDao.commit();
-
- resourceInstanceData.getComponentInstDataDefinition().setPosX("50");
- Either<ComponentInstanceData, JanusGraphOperationStatus> updateNode3 = janusGraphDao.updateNode(resourceInstanceData,
- ComponentInstanceData.class);
- assertTrue(updateNode3.isLeft());
- // janusGraphDao.commit();
-
- resourceInstanceData.getComponentInstDataDefinition().setName("myresource_2");
- updateNode3 = janusGraphDao.updateNode(resourceInstanceData, ComponentInstanceData.class);
- assertTrue(updateNode3.isLeft());
- // janusGraphDao.commit();
-
- Map<String, Object> props3 = new HashMap<>();
- props3.put("positionX", "22");
- Either<List<ComponentInstanceData>, JanusGraphOperationStatus> byCriteria3 = janusGraphDao
- .getByCriteria(NodeTypeEnum.ResourceInstance, props3, ComponentInstanceData.class);
- assertTrue(byCriteria3.isRight());
- assertEquals("check one result returned due to janusgraph bug", JanusGraphOperationStatus.NOT_FOUND,
- byCriteria3.right().value());
-
- props3.put("positionX", "50");
- byCriteria3 = janusGraphDao.getByCriteria(NodeTypeEnum.ResourceInstance, props3, ComponentInstanceData.class);
- assertTrue(byCriteria3.isLeft());
-
- /////////////////////////// check integer ////////////////////////
-
- ArtifactData artifactData = new ArtifactData();
- artifactData.getArtifactDataDefinition().setUniqueId("ad234");
- artifactData.getArtifactDataDefinition().setTimeout(100);
-
- Either<ArtifactData, JanusGraphOperationStatus> newNode4 = janusGraphDao.createNode(artifactData, ArtifactData.class);
- assertTrue(newNode4.isLeft());
- log.debug("{}", newNode4.left().value());
- // janusGraphDao.commit();
-
- artifactData.getArtifactDataDefinition().setTimeout(50);
- Either<ArtifactData, JanusGraphOperationStatus> updateNode4 = janusGraphDao.updateNode(artifactData, ArtifactData.class);
- assertTrue(updateNode4.isLeft());
- // janusGraphDao.commit();
-
- Map<String, Object> props4 = new HashMap<>();
- props4.put("timeout", 100);
- Either<List<ArtifactData>, JanusGraphOperationStatus> byCriteria4 = janusGraphDao.getByCriteria(NodeTypeEnum.ArtifactRef,
- props4, ArtifactData.class);
- assertTrue(byCriteria4.isRight());
- assertEquals("check one result returned due to janusgraph bug", JanusGraphOperationStatus.NOT_FOUND,
- byCriteria4.right().value());
-
- props4.put("timeout", 50);
- byCriteria4 = janusGraphDao.getByCriteria(NodeTypeEnum.ArtifactRef, props4, ArtifactData.class);
- assertTrue(byCriteria4.isLeft());
-
- janusGraphDao.rollback();
- }
-
- @Test
- public void testDuplicateResultUSeHasNotQueryDueToJanusGraphBug() {
-
- String name = "bbbb";
-
- ResourceMetadataData resourceData1 = new ResourceMetadataData();
- resourceData1.getMetadataDataDefinition().setUniqueId("A");
- ((ResourceMetadataDataDefinition) resourceData1.getMetadataDataDefinition()).setAbstract(true);
- resourceData1.getMetadataDataDefinition().setName(name);
-
- Either<ResourceMetadataData, JanusGraphOperationStatus> newNode1 = janusGraphDao.createNode(resourceData1,
- ResourceMetadataData.class);
- assertTrue(newNode1.isLeft());
- log.debug("{}", newNode1.left().value());
- // janusGraphDao.commit();
-
- Map<String, Object> props = new HashMap<>();
- props.put(GraphPropertiesDictionary.IS_ABSTRACT.getProperty(), true);
- Either<List<ResourceMetadataData>, JanusGraphOperationStatus> byCriteria = janusGraphDao
- .getByCriteria(NodeTypeEnum.Resource, props, ResourceMetadataData.class);
- assertTrue(byCriteria.isLeft());
- assertEquals("check one result returned", 1, byCriteria.left().value().size());
- // janusGraphDao.commit();
-
- ResourceMetadataData resourceToUpdate = new ResourceMetadataData();
- ((ResourceMetadataDataDefinition) resourceToUpdate.getMetadataDataDefinition()).setAbstract(false);
- resourceToUpdate.getMetadataDataDefinition().setUniqueId("A");
- Either<ResourceMetadataData, JanusGraphOperationStatus> updateNode = janusGraphDao.updateNode(resourceToUpdate,
- ResourceMetadataData.class);
- assertTrue(updateNode.isLeft());
- // janusGraphDao.commit();
-
- // no result where isAbstract = true
- byCriteria = janusGraphDao.getByCriteria(NodeTypeEnum.Resource, props, ResourceMetadataData.class);
- assertTrue(byCriteria.isRight());
- assertEquals("check one result returned due to janusgraph bug", JanusGraphOperationStatus.NOT_FOUND,
- byCriteria.right().value());
-
- // one result where isAbstract != true
- byCriteria = janusGraphDao.getByCriteria(NodeTypeEnum.Resource, null, props, ResourceMetadataData.class);
- assertTrue(byCriteria.isLeft());
- assertEquals("check one result returned", 1, byCriteria.left().value().size());
-
- props.put(GraphPropertiesDictionary.IS_ABSTRACT.getProperty(), false);
- byCriteria = janusGraphDao.getByCriteria(NodeTypeEnum.Resource, null, props, ResourceMetadataData.class);
- assertTrue(byCriteria.isRight());
- assertEquals("check one result returned due to janusgraph bug", JanusGraphOperationStatus.NOT_FOUND,
- byCriteria.right().value());
-
- janusGraphDao.rollback();
-
- }
-