Search in sources :

Example 21 with AttributeInfo

use of org.apache.atlas.typesystem.types.AttributeInfo in project incubator-atlas by apache.

the class StructInstance method getFloat.

public float getFloat(String attrName) throws AtlasException {
    AttributeInfo i = fieldMapping.fields.get(attrName);
    if (i == null) {
        throw new AtlasException(String.format("Unknown field %s for Struct %s", attrName, getTypeName()));
    }
    if (i.dataType() != DataTypes.FLOAT_TYPE) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic get method", attrName, getTypeName(), DataTypes.FLOAT_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    if (nullFlags[nullPos]) {
        return DataTypes.FLOAT_TYPE.nullValue();
    }
    return floats[pos];
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Example 22 with AttributeInfo

use of org.apache.atlas.typesystem.types.AttributeInfo in project incubator-atlas by apache.

the class StructInstance method setString.

public void setString(String attrName, String val) throws AtlasException {
    AttributeInfo i = fieldMapping.fields.get(attrName);
    if (i == null) {
        throw new AtlasException(String.format("Unknown field %s for Struct %s", attrName, getTypeName()));
    }
    if (i.dataType() != DataTypes.STRING_TYPE) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic set method", attrName, getTypeName(), DataTypes.STRING_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    nullFlags[nullPos] = val == null;
    strings[pos] = val;
    explicitSets[nullPos] = true;
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Example 23 with AttributeInfo

use of org.apache.atlas.typesystem.types.AttributeInfo in project incubator-atlas by apache.

the class StructInstance method getDouble.

public double getDouble(String attrName) throws AtlasException {
    AttributeInfo i = fieldMapping.fields.get(attrName);
    if (i == null) {
        throw new AtlasException(String.format("Unknown field %s for Struct %s", attrName, getTypeName()));
    }
    if (i.dataType() != DataTypes.DOUBLE_TYPE) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic get method", attrName, getTypeName(), DataTypes.DOUBLE_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    if (nullFlags[nullPos]) {
        return DataTypes.DOUBLE_TYPE.nullValue();
    }
    return doubles[pos];
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Example 24 with AttributeInfo

use of org.apache.atlas.typesystem.types.AttributeInfo in project incubator-atlas by apache.

the class StructInstance method setLong.

public void setLong(String attrName, long val) throws AtlasException {
    AttributeInfo i = fieldMapping.fields.get(attrName);
    if (i == null) {
        throw new AtlasException(String.format("Unknown field %s for Struct %s", attrName, getTypeName()));
    }
    if (i.dataType() != DataTypes.LONG_TYPE) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic set method", attrName, getTypeName(), DataTypes.LONG_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    nullFlags[nullPos] = false;
    longs[pos] = val;
    explicitSets[nullPos] = true;
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Example 25 with AttributeInfo

use of org.apache.atlas.typesystem.types.AttributeInfo in project incubator-atlas by apache.

the class StructInstance method setNull.

public void setNull(String attrName) throws AtlasException {
    AttributeInfo i = fieldMapping.fields.get(attrName);
    if (i == null) {
        throw new AtlasException(String.format("Unknown field %s for Struct %s", attrName, getTypeName()));
    }
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    nullFlags[nullPos] = true;
    explicitSets[nullPos] = true;
    int pos = fieldMapping.fieldPos.get(attrName);
    if (i.dataType() == DataTypes.BIGINTEGER_TYPE) {
        bigIntegers[pos] = null;
    } else if (i.dataType() == DataTypes.BIGDECIMAL_TYPE) {
        bigDecimals[pos] = null;
    } else if (i.dataType() == DataTypes.DATE_TYPE) {
        dates[pos] = null;
    } else if (i.dataType() == DataTypes.INT_TYPE) {
        ints[pos] = 0;
    } else if (i.dataType() == DataTypes.BOOLEAN_TYPE) {
        bools[pos] = false;
    } else if (i.dataType() == DataTypes.STRING_TYPE) {
        strings[pos] = null;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.ARRAY) {
        arrays[pos] = null;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.MAP) {
        maps[pos] = null;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.STRUCT || i.dataType().getTypeCategory() == DataTypes.TypeCategory.TRAIT) {
        structs[pos] = null;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.CLASS) {
        ids[pos] = null;
        referenceables[pos] = null;
    } else {
        throw new AtlasException(String.format("Unknown datatype %s", i.dataType()));
    }
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Aggregations

AttributeInfo (org.apache.atlas.typesystem.types.AttributeInfo)47 AtlasException (org.apache.atlas.AtlasException)26 HashMap (java.util.HashMap)6 IDataType (org.apache.atlas.typesystem.types.IDataType)6 AtlasEdge (org.apache.atlas.repository.graphdb.AtlasEdge)5 FieldMapping (org.apache.atlas.typesystem.types.FieldMapping)5 Map (java.util.Map)4 AtlasVertex (org.apache.atlas.repository.graphdb.AtlasVertex)4 HierarchicalType (org.apache.atlas.typesystem.types.HierarchicalType)4 Test (org.testng.annotations.Test)4 ImmutableMap (com.google.common.collect.ImmutableMap)3 ITypedReferenceableInstance (org.apache.atlas.typesystem.ITypedReferenceableInstance)3 Id (org.apache.atlas.typesystem.persistence.Id)3 ImmutableBiMap (com.google.common.collect.ImmutableBiMap)2 ArrayList (java.util.ArrayList)2 Collection (java.util.Collection)2 ClosureExpression (org.apache.atlas.groovy.ClosureExpression)2 FunctionCallExpression (org.apache.atlas.groovy.FunctionCallExpression)2 GroovyExpression (org.apache.atlas.groovy.GroovyExpression)2 LiteralExpression (org.apache.atlas.groovy.LiteralExpression)2