Search in sources :

Example 1 with Role

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;
}
Also used : MetaConcept(ai.grakn.engine.controller.response.MetaConcept) Concept(ai.grakn.engine.controller.response.Concept) Entity(ai.grakn.engine.controller.response.Entity) Attribute(ai.grakn.engine.controller.response.Attribute) Schema(ai.grakn.util.Schema) RelationshipType(ai.grakn.engine.controller.response.RelationshipType) IOException(java.io.IOException) Role(ai.grakn.engine.controller.response.Role) EntityType(ai.grakn.engine.controller.response.EntityType) AttributeType(ai.grakn.engine.controller.response.AttributeType) Relationship(ai.grakn.engine.controller.response.Relationship) Rule(ai.grakn.engine.controller.response.Rule) MetaConcept(ai.grakn.engine.controller.response.MetaConcept)

Example 2 with Role

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));
}
Also used : Role(ai.grakn.engine.controller.response.Role) Concept(ai.grakn.engine.controller.response.Concept) Rule(ai.grakn.engine.controller.response.Rule) ClassRule(org.junit.ClassRule) Matchers.containsString(org.hamcrest.Matchers.containsString) Json(mjson.Json) Test(org.junit.Test)

Example 3 with Role

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));
}
Also used : Response(com.jayway.restassured.response.Response) Role(ai.grakn.engine.controller.response.Role) Test(org.junit.Test)

Aggregations

Role (ai.grakn.engine.controller.response.Role)3 Concept (ai.grakn.engine.controller.response.Concept)2 Rule (ai.grakn.engine.controller.response.Rule)2 Test (org.junit.Test)2 Attribute (ai.grakn.engine.controller.response.Attribute)1 AttributeType (ai.grakn.engine.controller.response.AttributeType)1 Entity (ai.grakn.engine.controller.response.Entity)1 EntityType (ai.grakn.engine.controller.response.EntityType)1 MetaConcept (ai.grakn.engine.controller.response.MetaConcept)1 Relationship (ai.grakn.engine.controller.response.Relationship)1 RelationshipType (ai.grakn.engine.controller.response.RelationshipType)1 Schema (ai.grakn.util.Schema)1 Response (com.jayway.restassured.response.Response)1 IOException (java.io.IOException)1 Json (mjson.Json)1 Matchers.containsString (org.hamcrest.Matchers.containsString)1 ClassRule (org.junit.ClassRule)1