Search in sources :

Example 6 with EnumValue

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

the class AtlasEnumFormatConverter method fromV2ToV1.

@Override
public Object fromV2ToV1(Object v2Obj, AtlasType type, ConverterContext ctx) throws AtlasBaseException {
    EnumValue ret = null;
    if (v2Obj == null || !(type instanceof AtlasEnumType)) {
        return ret;
    }
    AtlasEnumType enumType = (AtlasEnumType) type;
    AtlasEnumElementDef elementDef = enumType.getEnumElementDef(v2Obj.toString());
    if (elementDef != null) {
        ret = new EnumValue(elementDef.getValue(), elementDef.getOrdinal());
    }
    return ret;
}
Also used : AtlasEnumElementDef(org.apache.atlas.model.typedef.AtlasEnumDef.AtlasEnumElementDef) EnumValue(org.apache.atlas.typesystem.types.EnumValue) AtlasEnumType(org.apache.atlas.type.AtlasEnumType)

Example 7 with EnumValue

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

the class AtlasEnumFormatConverter method fromV1ToV2.

@Override
public Object fromV1ToV2(Object v1Obj, AtlasType type, ConverterContext ctx) throws AtlasBaseException {
    String ret = null;
    if (v1Obj == null || !(type instanceof AtlasEnumType)) {
        return ret;
    }
    Object v1Value = null;
    if (v1Obj instanceof EnumValue) {
        EnumValue enumValue = (EnumValue) v1Obj;
        v1Value = enumValue.value;
        if (v1Value == null) {
            v1Value = enumValue.ordinal;
        }
    } else if (v1Obj instanceof Map) {
        Map mapValue = (Map) v1Obj;
        v1Value = mapValue.get("value");
        if (v1Value == null) {
            v1Value = mapValue.get("ordinal");
        }
    }
    if (v1Value == null) {
        // could be 'value' or 'ordinal'
        v1Value = v1Obj;
    }
    AtlasEnumElementDef elementDef;
    if (v1Value instanceof Number) {
        elementDef = ((AtlasEnumType) type).getEnumElementDef((Number) v1Value);
    } else {
        elementDef = ((AtlasEnumType) type).getEnumElementDef(v1Value.toString());
    }
    if (elementDef != null) {
        ret = elementDef.getValue();
    }
    return ret;
}
Also used : AtlasEnumElementDef(org.apache.atlas.model.typedef.AtlasEnumDef.AtlasEnumElementDef) EnumValue(org.apache.atlas.typesystem.types.EnumValue) AtlasEnumType(org.apache.atlas.type.AtlasEnumType) Map(java.util.Map)

Example 8 with EnumValue

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

the class DefaultMetadataServiceTest method testCreateEntityWithEnum.

@Test
public void testCreateEntityWithEnum() throws Exception {
    String tableDefinitionJson = metadataService.getEntityDefinition(TestUtils.TABLE_TYPE, NAME, (String) table.get(NAME));
    Referenceable tableDefinition = InstanceSerialization.fromJsonReferenceable(tableDefinitionJson, true);
    EnumValue tableType = (EnumValue) tableDefinition.get("tableType");
    assertEquals(tableType, new EnumValue("MANAGED", 1));
}
Also used : Referenceable(org.apache.atlas.typesystem.Referenceable) EnumValue(org.apache.atlas.typesystem.types.EnumValue) Test(org.testng.annotations.Test) AfterTest(org.testng.annotations.AfterTest) BeforeTest(org.testng.annotations.BeforeTest)

Example 9 with EnumValue

use of org.apache.atlas.typesystem.types.EnumValue 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)

Aggregations

EnumValue (org.apache.atlas.typesystem.types.EnumValue)9 Map (java.util.Map)2 AtlasEnumElementDef (org.apache.atlas.model.typedef.AtlasEnumDef.AtlasEnumElementDef)2 AtlasVertex (org.apache.atlas.repository.graphdb.AtlasVertex)2 AtlasEnumType (org.apache.atlas.type.AtlasEnumType)2 ClassType (org.apache.atlas.typesystem.types.ClassType)2 TypeSystem (org.apache.atlas.typesystem.types.TypeSystem)2 Test (org.testng.annotations.Test)2 ImmutableMap (com.google.common.collect.ImmutableMap)1 BigInteger (java.math.BigInteger)1 ArrayList (java.util.ArrayList)1 Date (java.util.Date)1 List (java.util.List)1 AtlasException (org.apache.atlas.AtlasException)1 AtlasEnumDef (org.apache.atlas.model.typedef.AtlasEnumDef)1 AtlasTypesDef (org.apache.atlas.model.typedef.AtlasTypesDef)1 AtlasGraph (org.apache.atlas.repository.graphdb.AtlasGraph)1 AtlasGraphManagement (org.apache.atlas.repository.graphdb.AtlasGraphManagement)1 ITypedReferenceableInstance (org.apache.atlas.typesystem.ITypedReferenceableInstance)1 Referenceable (org.apache.atlas.typesystem.Referenceable)1