Search in sources :

Example 91 with AtlasException

use of org.apache.atlas.AtlasException in project incubator-atlas by apache.

the class StructInstance method set.

public void set(String attrName, Object val) throws AtlasException {
    AttributeInfo i = fieldMapping.fields.get(attrName);
    if (i == null) {
        throw new ValueConversionException(getTypeName(), val, "Unknown field " + attrName);
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    Object cVal = null;
    explicitSets[nullPos] = true;
    if (val != null && val instanceof Id) {
        ClassType clsType = TypeSystem.getInstance().getDataType(ClassType.class, i.dataType().getName());
        clsType.validateId((Id) val);
        cVal = val;
    } else {
        try {
            cVal = i.dataType().convert(val, i.multiplicity);
        } catch (ValueConversionException.NullConversionException e) {
            throw new ValueConversionException.NullConversionException("For field '" + attrName + "'", e);
        }
    }
    if (cVal == null) {
        nullFlags[nullPos] = true;
        return;
    }
    nullFlags[nullPos] = false;
    if (i.dataType() == DataTypes.BOOLEAN_TYPE) {
        bools[pos] = (Boolean) cVal;
    } else if (i.dataType() == DataTypes.BYTE_TYPE) {
        bytes[pos] = (Byte) cVal;
    } else if (i.dataType() == DataTypes.SHORT_TYPE) {
        shorts[pos] = (Short) cVal;
    } else if (i.dataType() == DataTypes.INT_TYPE) {
        ints[pos] = (Integer) cVal;
    } else if (i.dataType() == DataTypes.LONG_TYPE) {
        longs[pos] = (Long) cVal;
    } else if (i.dataType() == DataTypes.FLOAT_TYPE) {
        floats[pos] = (Float) cVal;
    } else if (i.dataType() == DataTypes.DOUBLE_TYPE) {
        doubles[pos] = (Double) cVal;
    } else if (i.dataType() == DataTypes.BIGINTEGER_TYPE) {
        bigIntegers[pos] = (BigInteger) cVal;
    } else if (i.dataType() == DataTypes.BIGDECIMAL_TYPE) {
        bigDecimals[pos] = (BigDecimal) cVal;
    } else if (i.dataType() == DataTypes.DATE_TYPE) {
        dates[pos] = (Date) cVal;
    } else if (i.dataType() == DataTypes.STRING_TYPE) {
        strings[pos] = (String) cVal;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.ENUM) {
        ints[pos] = ((EnumValue) cVal).ordinal;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.ARRAY) {
        arrays[pos] = (ImmutableList) cVal;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.MAP) {
        maps[pos] = (ImmutableMap) cVal;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.STRUCT || i.dataType().getTypeCategory() == DataTypes.TypeCategory.TRAIT) {
        structs[pos] = (StructInstance) cVal;
    } else if (i.dataType().getTypeCategory() == DataTypes.TypeCategory.CLASS) {
        if (cVal instanceof Id) {
            ids[pos] = (Id) cVal;
        } else {
            referenceables[pos] = (ReferenceableInstance) cVal;
        }
    } else {
        throw new AtlasException(String.format("Unknown datatype %s", i.dataType()));
    }
}
Also used : EnumValue(org.apache.atlas.typesystem.types.EnumValue) ClassType(org.apache.atlas.typesystem.types.ClassType) AtlasException(org.apache.atlas.AtlasException) Date(java.util.Date) ImmutableMap(com.google.common.collect.ImmutableMap) BigInteger(java.math.BigInteger) AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) BigInteger(java.math.BigInteger) ValueConversionException(org.apache.atlas.typesystem.types.ValueConversionException)

Example 92 with AtlasException

use of org.apache.atlas.AtlasException in project incubator-atlas by apache.

the class StructInstance method setBoolean.

public void setBoolean(String attrName, boolean 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.BOOLEAN_TYPE) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic set method", attrName, getTypeName(), DataTypes.BOOLEAN_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    nullFlags[nullPos] = false;
    bools[pos] = val;
    explicitSets[nullPos] = true;
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Example 93 with AtlasException

use of org.apache.atlas.AtlasException in project incubator-atlas by apache.

the class StructInstance method getByte.

public byte getByte(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.BYTE_TYPE) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic get method", attrName, getTypeName(), DataTypes.BYTE_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    if (nullFlags[nullPos]) {
        return DataTypes.BYTE_TYPE.nullValue();
    }
    return bytes[pos];
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Example 94 with AtlasException

use of org.apache.atlas.AtlasException in project incubator-atlas by apache.

the class StructInstance method getInt.

public int getInt(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.INT_TYPE && !(i.dataType() instanceof EnumType)) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic get method", attrName, getTypeName(), DataTypes.INT_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    if (nullFlags[nullPos]) {
        return DataTypes.INT_TYPE.nullValue();
    }
    return ints[pos];
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) EnumType(org.apache.atlas.typesystem.types.EnumType) AtlasException(org.apache.atlas.AtlasException)

Example 95 with AtlasException

use of org.apache.atlas.AtlasException in project incubator-atlas by apache.

the class StructInstance method getString.

public String getString(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.STRING_TYPE) {
        throw new AtlasException(String.format("Field %s for Struct %s is not a %s, call generic get method", attrName, getTypeName(), DataTypes.STRING_TYPE.getName()));
    }
    int pos = fieldMapping.fieldPos.get(attrName);
    int nullPos = fieldMapping.fieldNullPos.get(attrName);
    if (nullFlags[nullPos]) {
        return DataTypes.STRING_TYPE.nullValue();
    }
    return strings[pos];
}
Also used : AttributeInfo(org.apache.atlas.typesystem.types.AttributeInfo) AtlasException(org.apache.atlas.AtlasException)

Aggregations

AtlasException (org.apache.atlas.AtlasException)101 AttributeInfo (org.apache.atlas.typesystem.types.AttributeInfo)26 AtlasBaseException (org.apache.atlas.exception.AtlasBaseException)19 IOException (java.io.IOException)13 ITypedReferenceableInstance (org.apache.atlas.typesystem.ITypedReferenceableInstance)13 RepositoryException (org.apache.atlas.repository.RepositoryException)12 JSONObject (org.codehaus.jettison.json.JSONObject)12 CreateUpdateEntitiesResult (org.apache.atlas.CreateUpdateEntitiesResult)9 EntityNotFoundException (org.apache.atlas.typesystem.exception.EntityNotFoundException)9 Configuration (org.apache.commons.configuration.Configuration)9 ArrayList (java.util.ArrayList)7 EntityMutationResponse (org.apache.atlas.model.instance.EntityMutationResponse)7 AtlasVertex (org.apache.atlas.repository.graphdb.AtlasVertex)6 Id (org.apache.atlas.typesystem.persistence.Id)6 AtlasPerfTracer (org.apache.atlas.utils.AtlasPerfTracer)6 HashMap (java.util.HashMap)5 GraphTransaction (org.apache.atlas.annotation.GraphTransaction)5 CatalogRuntimeException (org.apache.atlas.catalog.exception.CatalogRuntimeException)5 Referenceable (org.apache.atlas.typesystem.Referenceable)5 EntityExistsException (org.apache.atlas.typesystem.exception.EntityExistsException)5