public AtlasEnumDef(String name, String description, String typeVersion, List<AtlasEnumElementDef> elementDefs, String defaultValue, Map<String, String> options) { super(TypeCategory.ENUM, name, description, typeVersion, options); setElementDefs(elementDefs); setDefaultValue(defaultValue); }
public AtlasEnumDef(String name, String description, String typeVersion, List<AtlasEnumElementDef> elementDefs, String defaultValue, Map<String, String> options) { super(TypeCategory.ENUM, name, description, typeVersion, options); setElementDefs(elementDefs); setDefaultValue(defaultValue); }
public AtlasEnumDef(AtlasEnumDef other) { super(other); if (other != null) { setElementDefs(other.getElementDefs()); setDefaultValue(other.getDefaultValue()); } }
public AtlasEnumDef(AtlasEnumDef other) { super(other); if (other != null) { setElementDefs(other.getElementDefs()); setDefaultValue(other.getDefaultValue()); } }
private static AtlasEnumDef toEnumDef(AtlasVertex vertex, AtlasEnumDef enumDef, AtlasTypeDefGraphStoreV2 typeDefStore) { AtlasEnumDef ret = enumDef != null ? enumDef : new AtlasEnumDef(); typeDefStore.vertexToTypeDef(vertex, ret); List<AtlasEnumElementDef> elements = new ArrayList<>(); List<String> elemValues = vertex.getProperty(AtlasGraphUtilsV2.getTypeDefPropertyKey(ret), List.class); for (String elemValue : elemValues) { String elemKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret, elemValue); String descKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(elemKey, "description"); Integer ordinal = AtlasGraphUtilsV2.getProperty(vertex, elemKey, Integer.class); String desc = AtlasGraphUtilsV2.getProperty(vertex, descKey, String.class); elements.add(new AtlasEnumElementDef(elemValue, desc, ordinal)); } ret.setElementDefs(elements); String defaultValueKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret, "defaultValue"); String defaultValue = AtlasGraphUtilsV2.getProperty(vertex, defaultValueKey, String.class); ret.setDefaultValue(defaultValue); return ret; } }
private static AtlasEnumDef toEnumDef(AtlasVertex vertex, AtlasEnumDef enumDef, AtlasTypeDefGraphStoreV2 typeDefStore) { AtlasEnumDef ret = enumDef != null ? enumDef : new AtlasEnumDef(); typeDefStore.vertexToTypeDef(vertex, ret); List<AtlasEnumElementDef> elements = new ArrayList<>(); List<String> elemValues = vertex.getProperty(AtlasGraphUtilsV2.getTypeDefPropertyKey(ret), List.class); for (String elemValue : elemValues) { String elemKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret, elemValue); String descKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(elemKey, "description"); Integer ordinal = AtlasGraphUtilsV2.getProperty(vertex, elemKey, Integer.class); String desc = AtlasGraphUtilsV2.getProperty(vertex, descKey, String.class); elements.add(new AtlasEnumElementDef(elemValue, desc, ordinal)); } ret.setElementDefs(elements); String defaultValueKey = AtlasGraphUtilsV2.getTypeDefPropertyKey(ret, "defaultValue"); String defaultValue = AtlasGraphUtilsV2.getProperty(vertex, defaultValueKey, String.class); ret.setDefaultValue(defaultValue); return ret; } }
public static AtlasEnumDef newEnumDef(AtlasTypeRegistry typesRegistry, boolean hasDefaultValue) { int enumDefIdx = IDX_ENUM_DEF.getAndIncrement(); AtlasEnumDef ret = new AtlasEnumDef(); ret.setName(PREFIX_ENUM_DEF + enumDefIdx); ret.setDescription(ret.getName()); int numElements = ThreadLocalRandom.current().nextInt(1, MAX_ENUM_ELEMENT_COUNT); for (int i = 0; i < numElements; i++) { String elementName = "element-" + i; ret.addElement(new AtlasEnumElementDef(elementName, elementName.toUpperCase(), i)); } if (hasDefaultValue) { int idxDefault = ThreadLocalRandom.current().nextInt(0, numElements); ret.setDefaultValue(ret.getElementDefs().get(idxDefault).getValue()); } AtlasTransientTypeRegistry ttr = null; boolean commit = false; try { ttr = typesRegistry.lockTypeRegistryForUpdate(); ttr.addType(ret); commit = true; } catch (AtlasBaseException excp) { LOG.error("failed to create enum-def", excp); ret = null; } finally { typesRegistry.releaseTypeRegistryForUpdate(ttr, commit); } return ret; }
public static AtlasEnumDef newEnumDef(AtlasTypeRegistry typesRegistry, boolean hasDefaultValue) { int enumDefIdx = IDX_ENUM_DEF.getAndIncrement(); AtlasEnumDef ret = new AtlasEnumDef(); ret.setName(PREFIX_ENUM_DEF + enumDefIdx); ret.setDescription(ret.getName()); int numElements = ThreadLocalRandom.current().nextInt(1, MAX_ENUM_ELEMENT_COUNT); for (int i = 0; i < numElements; i++) { String elementName = "element-" + i; ret.addElement(new AtlasEnumElementDef(elementName, elementName.toUpperCase(), i)); } if (hasDefaultValue) { int idxDefault = ThreadLocalRandom.current().nextInt(0, numElements); ret.setDefaultValue(ret.getElementDefs().get(idxDefault).getValue()); } AtlasTransientTypeRegistry ttr = null; boolean commit = false; try { ttr = typesRegistry.lockTypeRegistryForUpdate(); ttr.addType(ret); commit = true; } catch (AtlasBaseException excp) { LOG.error("failed to create enum-def", excp); ret = null; } finally { typesRegistry.releaseTypeRegistryForUpdate(ttr, commit); } return ret; }