Search in sources :

Example 1 with TYPE_FILTER

use of org.apache.atlas.typesystem.types.cache.TypeCache.TYPE_FILTER in project incubator-atlas by apache.

the class GremlinExpressionFactory method typeTestExpressionUsingInFilter.

private List<GroovyExpression> typeTestExpressionUsingInFilter(GraphPersistenceStrategies s, GroovyExpression parent, final String typeName) throws AtlasException {
    List<GroovyExpression> typeNames = new ArrayList<>();
    typeNames.add(new LiteralExpression(typeName));
    Map<TYPE_FILTER, String> filters = new HashMap<TYPE_FILTER, String>() {

        {
            put(TYPE_FILTER.SUPERTYPE, typeName);
        }
    };
    ImmutableList<String> subTypes = TypeSystem.getInstance().getTypeNames(filters);
    if (!subTypes.isEmpty()) {
        for (String subType : subTypes) {
            typeNames.add(new LiteralExpression(subType));
        }
    }
    GroovyExpression inFilterExpr = generateHasExpression(s, parent, s.typeAttributeName(), IN_OPERATOR, new ListExpression(typeNames), null);
    return Collections.singletonList(inFilterExpr);
}
Also used : HashMap(java.util.HashMap) LiteralExpression(org.apache.atlas.groovy.LiteralExpression) ListExpression(org.apache.atlas.groovy.ListExpression) ArrayList(java.util.ArrayList) GroovyExpression(org.apache.atlas.groovy.GroovyExpression) TYPE_FILTER(org.apache.atlas.typesystem.types.cache.TypeCache.TYPE_FILTER)

Aggregations

ArrayList (java.util.ArrayList)1 HashMap (java.util.HashMap)1 GroovyExpression (org.apache.atlas.groovy.GroovyExpression)1 ListExpression (org.apache.atlas.groovy.ListExpression)1 LiteralExpression (org.apache.atlas.groovy.LiteralExpression)1 TYPE_FILTER (org.apache.atlas.typesystem.types.cache.TypeCache.TYPE_FILTER)1