1

The below one is my keyvalue pair String. I've tried many ways but not able to solve it. here i can't do any split by comma or replacement with other String. the result i got from below code and libraries are:

import org.apache.tinkerpop.gremlin.driver.Cluster;
import org.apache.tinkerpop.gremlin.driver.Result;
import org.apache.tinkerpop.gremlin.driver.ResultSet;
    
ResultSet rs = client.submit(queryString);
List<Result> results = rs.all().get(); 
System.out.println(results.toString());


[result{object=path[{id=User6, label=User, ORIGIN=AWS, ACCOUNT_ID=196000000000, TENANT_ID=sigma, ORG_ID=379000000000, USER_NAME=BritTest1, USER_ID=AIDAS3L75VZIP4F7ROFS6, USER_ARN=arn:aws:iam::196226166352:user/BritTest1, sfid=6, STATUS=Ready, CREATED_AT=Tue Nov 24 05:30:00 IST 2020, UPDATED_AT=Tue Nov 24 05:30:00 IST 2020}, {id=Rel26, label=User to Policy, IN={id=Policy56, label=Policy}, OUT={id=User6, label=User}, ORIGIN=AWS, ACCOUNT_ID=196226000000.00, TENANT_ID=sigma, ORG_ID=378564000000.00, STATUS=Ready, CREATED_AT=Wed Nov 25 05:30:00 IST 2020, UPDATED_AT=Wed Nov 25 05:30:00 IST 2020}, {id=Policy56, label=Policy, ORIGIN=AWS, ACCOUNT_ID=196226000000, TENANT_ID=sigma, ORG_ID=378564000000, STATUS=Ready, CREATED_AT=Wed Oct 28 05:30:00 IST 2020, UPDATED_AT=Wed Oct 28 05:30:00 IST 2020, POLICY_NAME=BritReadS3Policy, POLICY_ID=ANPAS3L75VZIGNCUV274M, POLICY_ARN=arn:aws:iam::196226166352:policy/BritReadS3Policy, POLICY_DOCUMENT={"Statement":[{"Action":["s3:GetBucketPolicyStatus","s3:GetBucketPublicAccessBlock","s3:GetLifecycleConfiguration","s3:GetBucketTagging","s3:GetInventoryConfiguration","s3:GetBucketWebsite","s3:GetBucketLogging","s3:ListBucket","s3:GetAccelerateConfiguration","s3:GetBucketVersioning","s3:GetBucketAcl","s3:GetBucketNotification","s3:GetBucketPolicy","s3:GetBucketObjectLockConfiguration","s3:GetEncryptionConfiguration","s3:GetIntelligentTieringConfiguration","s3:GetBucketRequestPayment","s3:GetBucketCORS","s3:GetAnalyticsConfiguration","s3:GetMetricsConfiguration","s3:GetBucketOwnershipControls","s3:GetBucketLocation"],"Effect":"Allow","Resource":"arn:aws:s3:::testbritive","Sid":"VisualEditor0"},{"Action":"s3:ListAllMyBuckets","Effect":"Allow","Resource":"*","Sid":"VisualEditor1"}],"Version":"2012-10-17"}, SF_ID=56, POLICY_TYPE=Customer-Managed}] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPath}, result{object=path[{id=User6, label=User, ORIGIN=AWS, ACCOUNT_ID=196000000000, TENANT_ID=sigma, ORG_ID=379000000000, USER_NAME=BritTest1, USER_ID=AIDAS3L75VZIP4F7ROFS6, USER_ARN=arn:aws:iam::196226166352:user/BritTest1, sfid=6, STATUS=Ready, CREATED_AT=Tue Nov 24 05:30:00 IST 2020, UPDATED_AT=Tue Nov 24 05:30:00 IST 2020}, {id=Rel1066, label=User to Policy, IN={id=Policy138, label=Policy}, OUT={id=User6, label=User}, ORIGIN=AWS, ACCOUNT_ID=196226000000.00, TENANT_ID=sigma, ORG_ID=378564000000.00, STATUS=Ready, CREATED_AT=Wed Nov 25 05:30:00 IST 2020, UPDATED_AT=Wed Nov 25 05:30:00 IST 2020}, {id=Policy138, label=Policy, ORIGIN=AWS, ACCOUNT_ID=546836000000, TENANT_ID=sigma, ORG_ID=378564000000, STATUS=Ready, CREATED_AT=Wed Oct 28 05:30:00 IST 2020, UPDATED_AT=Wed Oct 28 05:30:00 IST 2020, POLICY_NAME=IAMUserChangePassword, POLICY_ID=NA, POLICY_ARN=arn:aws:iam::aws:policy/IAMUserChangePassword, POLICY_DOCUMENT={"Statement":[{"Action":["iam:ChangePassword"],"Effect":"Allow","Resource":["arn:aws:iam::*:user/${aws:username}"]},{"Action":["iam:GetAccountPasswordPolicy"],"Effect":"Allow","Resource":"*"}],"Version":"2012-10-17"}, SF_ID=138, POLICY_TYPE=AWS-Managed}] class=org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPath}]
Stanislav Kralin
  • 11,070
  • 4
  • 35
  • 58
Mani
  • 39
  • 5

1 Answers1

1

You can use ObjectMapper to do this type of conversion add these dependencies

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
     <artifactId>jackson-core</artifactId>
    <version>2.9.8</version>
</dependency>
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.8</version>
</dependency>

then try the following...

ObjectMapper objectMapper = newObjectMapper();
try{
    String json = objectMapper.writeValueAsString(mapYouWantToConvert);
    System.out.println(json);
} catch(JsonProcessingException e){
    e.printStackTrace();
}
Yaseen
  • 78
  • 2
  • 9
  • I'm not having it as map. It is a ResultSet. class org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPath cannot be cast to class org.apache.tinkerpop.gremlin.structure.Vertex (org.apache.tinkerpop.gremlin.structure.util.detached.DetachedPath and org.apache.tinkerpop.gremlin.structure.Vertex are in unnamed module of loader 'app') (through reference chain: java.util.ArrayList[0]->org.apache.tinkerpop.gremlin.driver.Result["vertex"]) at com.fasterxml.jackson.databind.JsonMappingException.wrapWithPath(JsonMappingException.java:394) – Mani Mar 05 '21 at 04:04
  • 1
    No matter its a map or resuiltset you will get json output. @Mani – MD Ruhul Amin Mar 05 '21 at 12:47
  • I've pasted the exception please take a look thanks for your answer @MDRuhulAmin – Mani Mar 05 '21 at 12:52
  • 1
    it is working thanks – Mani Mar 05 '21 at 13:02
  • Welcome dear friend. – Yaseen Mar 15 '21 at 14:24