use of ai.grakn.engine.controller.response.Role in project grakn by graknlabs.
the class JsonConceptBuilder method build.
public static <X extends Concept> X build(String jsonRepresentation) {
Schema.BaseType baseType = Schema.BaseType.valueOf(Json.read(jsonRepresentation).at("base-type").asString());
Concept concept;
try {
switch(baseType) {
case ROLE:
concept = mapper.readValue(jsonRepresentation, Role.class);
break;
case RULE:
concept = mapper.readValue(jsonRepresentation, Rule.class);
break;
case TYPE:
concept = mapper.readValue(jsonRepresentation, MetaConcept.class);
break;
case ENTITY_TYPE:
concept = mapper.readValue(jsonRepresentation, EntityType.class);
break;
case ENTITY:
concept = mapper.readValue(jsonRepresentation, Entity.class);
break;
case ATTRIBUTE_TYPE:
concept = mapper.readValue(jsonRepresentation, AttributeType.class);
break;
case ATTRIBUTE:
concept = mapper.readValue(jsonRepresentation, Attribute.class);
break;
case RELATIONSHIP_TYPE:
concept = mapper.readValue(jsonRepresentation, RelationshipType.class);
break;
case RELATIONSHIP:
concept = mapper.readValue(jsonRepresentation, Relationship.class);
break;
default:
throw new UnsupportedOperationException(String.format("Cannot wrap object of base type {%s}", baseType));
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return (X) concept;
}
use of ai.grakn.engine.controller.response.Role in project grakn by graknlabs.
the class ConceptControllerTest method whenGettingConceptsByLabel_EnsureConceptsAreReturned.
@Test
public void whenGettingConceptsByLabel_EnsureConceptsAreReturned() {
assertConceptsReturned(REST.WebPath.KEYSPACE_ROLE, Role[].class, "roles", roleWrapper1, roleWrapper2);
assertConceptsReturned(REST.WebPath.KEYSPACE_RULE, Rule[].class, "rules", ruleWrapper);
// Manual Check is necessary due to collection containing mixture of concepts
String request = REST.resolveTemplate(REST.WebPath.KEYSPACE_TYPE, keyspace.getValue());
List<Json> response = Json.read(RestAssured.when().get(request).body().asString()).at("types").asJsonList();
Set<Concept> types = response.stream().map(JsonConceptBuilder::<Concept>build).collect(Collectors.toSet());
assertTrue(String.format("Type {$s} missing from response", relationshipTypeWrapper), types.contains(relationshipTypeWrapper));
assertTrue(String.format("Type {$s} missing from response", attributeTypeWrapper), types.contains(attributeTypeWrapper));
assertTrue(String.format("Type {$s} missing from response", entityTypeWrapper), types.contains(entityTypeWrapper));
}
use of ai.grakn.engine.controller.response.Role in project grakn by graknlabs.
the class ConceptControllerTest method whenGettingPlaysOfType_EnsurePlaysAreReturned.
@Test
public void whenGettingPlaysOfType_EnsurePlaysAreReturned() throws IOException {
Response response = RestAssured.when().get(entityTypeWrapper.plays().id());
assertEquals(SC_OK, response.getStatusCode());
List<Role> plays = Arrays.asList(response.jsonPath().getObject("plays", Role[].class));
assertEquals(4, plays.size());
assertTrue(plays.contains(roleWrapper1));
assertTrue(plays.contains(roleWrapper2));
}
Aggregations