Search in sources :

Example 6 with AtlasGraphManagement

use of org.apache.atlas.repository.graphdb.AtlasGraphManagement in project atlas by apache.

the class AbstractGraphDatabaseTest method createIndices.

@BeforeClass
public static void createIndices() {
    GraphSandboxUtil.create();
    Titan0GraphDatabase db = new Titan0GraphDatabase();
    AtlasGraphManagement mgmt = db.getGraph().getManagementSystem();
    if (mgmt.getGraphIndex(BACKING_INDEX_NAME) == null) {
        mgmt.createVertexMixedIndex(BACKING_INDEX_NAME, Constants.BACKING_INDEX, Collections.emptyList());
    }
    mgmt.makePropertyKey("age13", Integer.class, AtlasCardinality.SINGLE);
    createIndices(mgmt, "name", String.class, false, AtlasCardinality.SINGLE);
    createIndices(mgmt, WEIGHT_PROPERTY, Integer.class, false, AtlasCardinality.SINGLE);
    createIndices(mgmt, "size15", String.class, false, AtlasCardinality.SINGLE);
    createIndices(mgmt, "typeName", String.class, false, AtlasCardinality.SINGLE);
    createIndices(mgmt, "__type", String.class, false, AtlasCardinality.SINGLE);
    createIndices(mgmt, Constants.GUID_PROPERTY_KEY, String.class, true, AtlasCardinality.SINGLE);
    createIndices(mgmt, Constants.TRAIT_NAMES_PROPERTY_KEY, String.class, false, AtlasCardinality.SET);
    createIndices(mgmt, Constants.SUPER_TYPES_PROPERTY_KEY, String.class, false, AtlasCardinality.SET);
    mgmt.commit();
}
Also used : AtlasGraphManagement(org.apache.atlas.repository.graphdb.AtlasGraphManagement) BeforeClass(org.testng.annotations.BeforeClass)

Example 7 with AtlasGraphManagement

use of org.apache.atlas.repository.graphdb.AtlasGraphManagement in project incubator-atlas by apache.

the class GraphBackedSearchIndexerTest method verifyTypeStoreIndexes.

@Test
public void verifyTypeStoreIndexes() {
    AtlasGraph graph = TestUtils.getGraph();
    AtlasGraphManagement managementSystem = graph.getManagementSystem();
    try {
        verifySystemCompositeIndex(managementSystem, Constants.TYPENAME_PROPERTY_KEY, true);
        verifyVertexIndexContains(managementSystem, Constants.TYPENAME_PROPERTY_KEY);
        verifySystemCompositeIndex(managementSystem, Constants.VERTEX_TYPE_PROPERTY_KEY, false);
        verifyVertexIndexContains(managementSystem, Constants.VERTEX_TYPE_PROPERTY_KEY);
    } finally {
        managementSystem.rollback();
    }
}
Also used : AtlasGraphManagement(org.apache.atlas.repository.graphdb.AtlasGraphManagement) AtlasGraph(org.apache.atlas.repository.graphdb.AtlasGraph) Test(org.testng.annotations.Test)

Example 8 with AtlasGraphManagement

use of org.apache.atlas.repository.graphdb.AtlasGraphManagement in project incubator-atlas by apache.

the class GraphBackedSearchIndexerTest method verifyUserDefinedTypeIndex.

@Test
public void verifyUserDefinedTypeIndex() throws AtlasException {
    AtlasGraph graph = TestUtils.getGraph();
    AtlasGraphManagement managementSystem = graph.getManagementSystem();
    try {
        TypeSystem typeSystem = TypeSystem.getInstance();
        String enumName = "randomEnum" + RandomStringUtils.randomAlphanumeric(10);
        EnumType managedType = typeSystem.defineEnumType(enumName, new EnumValue("randomEnumValue", 0));
        HierarchicalTypeDefinition<ClassType> databaseTypeDefinition = createClassTypeDef("Database", "Database type description", null, TypesUtil.createUniqueRequiredAttrDef("name", DataTypes.STRING_TYPE), TypesUtil.createRequiredAttrDef("managedType", managedType));
        ClassType databaseType = typeSystem.defineClassType(databaseTypeDefinition);
        graphBackedSearchIndexer.onAdd(Arrays.asList(databaseType));
        verifySystemCompositeIndex(managementSystem, "Database.name" + Constants.ENTITY_TYPE_PROPERTY_KEY, false);
        verifyVertexIndexContains(managementSystem, "Database.name" + Constants.ENTITY_TYPE_PROPERTY_KEY);
        verifySystemCompositeIndex(managementSystem, "Database.name" + Constants.SUPER_TYPES_PROPERTY_KEY, false);
        verifyVertexIndexContains(managementSystem, "Database.managedType");
    } finally {
        // search indexer uses its own titan management transaction
        managementSystem.rollback();
    }
}
Also used : AtlasGraphManagement(org.apache.atlas.repository.graphdb.AtlasGraphManagement) TypeSystem(org.apache.atlas.typesystem.types.TypeSystem) EnumType(org.apache.atlas.typesystem.types.EnumType) EnumValue(org.apache.atlas.typesystem.types.EnumValue) ClassType(org.apache.atlas.typesystem.types.ClassType) AtlasGraph(org.apache.atlas.repository.graphdb.AtlasGraph) Test(org.testng.annotations.Test)

Example 9 with AtlasGraphManagement

use of org.apache.atlas.repository.graphdb.AtlasGraphManagement in project incubator-atlas by apache.

the class GraphBackedSearchIndexerTest method verifySystemMixedIndexes.

@Test
public void verifySystemMixedIndexes() {
    AtlasGraph graph = TestUtils.getGraph();
    AtlasGraphManagement managementSystem = graph.getManagementSystem();
    try {
        AtlasGraphIndex vertexIndex = managementSystem.getGraphIndex(Constants.VERTEX_INDEX);
        assertNotNull(vertexIndex);
        assertTrue(vertexIndex.isMixedIndex());
        assertFalse(vertexIndex.isEdgeIndex());
        assertTrue(vertexIndex.isVertexIndex());
        AtlasGraphIndex edgeIndex = managementSystem.getGraphIndex(Constants.EDGE_INDEX);
        assertNotNull(edgeIndex);
        assertTrue(edgeIndex.isMixedIndex());
        assertTrue(edgeIndex.isEdgeIndex());
        assertFalse(edgeIndex.isVertexIndex());
        verifyVertexIndexContains(managementSystem, Constants.STATE_PROPERTY_KEY);
    } finally {
        managementSystem.rollback();
    }
}
Also used : AtlasGraphManagement(org.apache.atlas.repository.graphdb.AtlasGraphManagement) AtlasGraphIndex(org.apache.atlas.repository.graphdb.AtlasGraphIndex) AtlasGraph(org.apache.atlas.repository.graphdb.AtlasGraph) Test(org.testng.annotations.Test)

Example 10 with AtlasGraphManagement

use of org.apache.atlas.repository.graphdb.AtlasGraphManagement in project incubator-atlas by apache.

the class Titan0DatabaseTest method getGraph.

private <V, E> AtlasGraph<V, E> getGraph() {
    GraphSandboxUtil.create();
    if (atlasGraph == null) {
        Titan0GraphDatabase db = new Titan0GraphDatabase();
        atlasGraph = db.getGraph();
        AtlasGraphManagement mgmt = atlasGraph.getManagementSystem();
        // many)
        for (String propertyName : new String[] { "__superTypeNames", "__traitNames" }) {
            AtlasPropertyKey propertyKey = mgmt.getPropertyKey(propertyName);
            if (propertyKey == null) {
                propertyKey = mgmt.makePropertyKey(propertyName, String.class, AtlasCardinality.SET);
                mgmt.createExactMatchIndex(propertyName, false, Collections.singletonList(propertyKey));
            }
        }
        mgmt.commit();
    }
    return (AtlasGraph<V, E>) atlasGraph;
}
Also used : AtlasGraphManagement(org.apache.atlas.repository.graphdb.AtlasGraphManagement) AtlasPropertyKey(org.apache.atlas.repository.graphdb.AtlasPropertyKey) AtlasGraph(org.apache.atlas.repository.graphdb.AtlasGraph)

Aggregations

AtlasGraphManagement (org.apache.atlas.repository.graphdb.AtlasGraphManagement)20 AtlasGraph (org.apache.atlas.repository.graphdb.AtlasGraph)9 RepositoryException (org.apache.atlas.repository.RepositoryException)6 AtlasPropertyKey (org.apache.atlas.repository.graphdb.AtlasPropertyKey)6 Test (org.testng.annotations.Test)5 AtlasGraphIndex (org.apache.atlas.repository.graphdb.AtlasGraphIndex)4 BeforeClass (org.testng.annotations.BeforeClass)4 IndexException (org.apache.atlas.repository.IndexException)3 HashSet (java.util.HashSet)2 AtlasBaseTypeDef (org.apache.atlas.model.typedef.AtlasBaseTypeDef)2 AtlasException (org.apache.atlas.AtlasException)1 AtlasBaseException (org.apache.atlas.exception.AtlasBaseException)1 IndexCreationException (org.apache.atlas.repository.IndexCreationException)1 ClassType (org.apache.atlas.typesystem.types.ClassType)1 EnumType (org.apache.atlas.typesystem.types.EnumType)1 EnumValue (org.apache.atlas.typesystem.types.EnumValue)1 IDataType (org.apache.atlas.typesystem.types.IDataType)1 TypeSystem (org.apache.atlas.typesystem.types.TypeSystem)1