@VisibleForTesting List<AtlasEnumDef.AtlasEnumElementDef> getElementsAbsentInExisting(AtlasEnumDef existing, AtlasEnumDef incoming) throws AtlasBaseException { List<AtlasEnumDef.AtlasEnumElementDef> difference = new ArrayList<>(); for (AtlasEnumDef.AtlasEnumElementDef ed : incoming.getElementDefs()) { updateCollectionWithDifferingAttributes(existing, difference, ed); } return difference; }
public AtlasEnumType(AtlasEnumDef enumDef) { super(enumDef); Map<String, AtlasEnumElementDef> e = new HashMap<>(); for (AtlasEnumElementDef elementDef : enumDef.getElementDefs()) { e.put(elementDef.getValue().toLowerCase(), elementDef); } String d = enumDef.getDefaultValue(); if (d == null) { AtlasEnumElementDef defElem = enumDef.getElementDefs().size() > 0 ? enumDef.getElementDefs().get(0) : null; if (defElem != null) { d = defElem.getValue(); } } this.enumDef = enumDef; this.elementDefs = Collections.unmodifiableMap(e); this.defaultValue = d; }
public AtlasEnumType(AtlasEnumDef enumDef) { super(enumDef); Map<String, AtlasEnumElementDef> e = new HashMap<>(); for (AtlasEnumElementDef elementDef : enumDef.getElementDefs()) { e.put(elementDef.getValue().toLowerCase(), elementDef); } String d = enumDef.getDefaultValue(); if (d == null) { AtlasEnumElementDef defElem = enumDef.getElementDefs().size() > 0 ? enumDef.getElementDefs().get(0) : null; if (defElem != null) { d = defElem.getValue(); } } this.enumDef = enumDef; this.elementDefs = Collections.unmodifiableMap(e); this.defaultValue = d; }
private List<AtlasEnumDef.AtlasEnumElementDef> getElementsAbsentInExisting(AtlasEnumDef existing, AtlasEnumDef incoming) { List<AtlasEnumDef.AtlasEnumElementDef> difference = new ArrayList<>(); for (AtlasEnumDef.AtlasEnumElementDef ed : incoming.getElementDefs()) { if(existing.getElement(ed.getValue()) == null) { difference.add(ed); } } return difference; }
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()); } }
@Test public void testEnumDefRemoveElement() { AtlasEnumDef enumDef = ModelTestUtil.newEnumDef(); if (enumDef.getElementDefs().size() > 0) { String elementValue = enumDef.getElementDefs().get(0).getValue(); assertTrue(enumDef.hasElement(elementValue)); enumDef.removeElement(elementValue); assertFalse(enumDef.hasElement(elementValue)); } }
@Test public void testEnumDefRemoveElement() { AtlasEnumDef enumDef = ModelTestUtil.newEnumDef(); if (enumDef.getElementDefs().size() > 0) { String elementValue = enumDef.getElementDefs().get(0).getValue(); assertTrue(enumDef.hasElement(elementValue)); enumDef.removeElement(elementValue); assertFalse(enumDef.hasElement(elementValue)); } }
private static TypesDef enumToTypesDef(AtlasEnumType enumType) { AtlasEnumDef enumDef = enumType.getEnumDef(); String enumName = enumDef.getName(); String enumDesc = enumDef.getDescription(); String enumVersion = enumDef.getTypeVersion(); List<EnumValue> enumValues = getEnumValues(enumDef.getElementDefs()); EnumTypeDefinition enumTypeDef = new EnumTypeDefinition(enumName, enumDesc, enumVersion, enumValues); TypesDef ret = new TypesDef(Arrays.asList(enumTypeDef), null, null, null); return ret; }
@Test(dataProvider = "salesNewTypeAttrs-next", dependsOnMethods = "importDB4") public void importDB6(ZipSource zipSource) throws AtlasBaseException, IOException { final String newEnumDefName = "database_action"; assertNotNull(typeDefStore.getEnumDefByName(newEnumDefName)); AtlasImportRequest request = getDefaultImportRequest(); Map<String, String> options = new HashMap<>(); options.put("updateTypeDefinition", "true"); request.setOptions(options); runImportWithParameters(importService, request, zipSource); assertNotNull(typeDefStore.getEnumDefByName(newEnumDefName)); assertEquals(typeDefStore.getEnumDefByName(newEnumDefName).getElementDefs().size(), 8); }
@Test public void differentEnumDefs_ReturnsDifference () throws Exception { AtlasEnumDef existing = getAtlasEnumWithAttributes("Alpha", "Bravo"); AtlasEnumDef incoming = getAtlasEnumWithAttributes("Alpha", "Bravo", "Delta", "Echo"); boolean ret = invokeUpdate(existing, incoming); List<AtlasEnumDef.AtlasEnumElementDef> expectedAttributes = getEnumElementDefs(0, "Alpha", "Bravo", "Delta", "Echo"); Assert.assertTrue(ret, "Update took place"); Assert.assertEquals(existing.getElementDefs(), expectedAttributes); }
@Test(dataProvider = "salesNewTypeAttrs-next", dependsOnMethods = "importDB4") public void importDB5(ZipSource zipSource) throws AtlasBaseException, IOException { final String newEnumDefName = "database_action"; assertNotNull(typeDefStore.getEnumDefByName(newEnumDefName)); AtlasImportRequest request = getDefaultImportRequest(); Map<String, String> options = new HashMap<>(); options.put("updateTypeDefinition", "false"); request.setOptions(options); runImportWithParameters(importService, request, zipSource); assertNotNull(typeDefStore.getEnumDefByName(newEnumDefName)); assertEquals(typeDefStore.getEnumDefByName(newEnumDefName).getElementDefs().size(), 4); }
@Test public void testEnumDefAddElement() { AtlasEnumDef enumDef = ModelTestUtil.newEnumDef(); String newElement = "newElement-abcd-1234"; enumDef.addElement(new AtlasEnumElementDef(newElement, "A new element", enumDef.getElementDefs().size())); assertTrue(enumDef.hasElement(newElement)); }
@Test public void testEnumDefHasElement() { AtlasEnumDef enumDef = ModelTestUtil.getEnumDef(); for (AtlasEnumElementDef elementDef : enumDef.getElementDefs()) { assertTrue(enumDef.hasElement(elementDef.getValue())); } assertFalse(enumDef.hasElement("01234-xyzabc-;''-)(")); }
@Test public void testEnumDefHasElement() { AtlasEnumDef enumDef = ModelTestUtil.getEnumDef(); for (AtlasEnumElementDef elementDef : enumDef.getElementDefs()) { assertTrue(enumDef.hasElement(elementDef.getValue())); } assertFalse(enumDef.hasElement("01234-xyzabc-;''-)(")); }
@Test public void differentEnumDefs_ReturnsDifference () throws Exception { AtlasEnumDef existing = getAtlasEnumWithAttributes("Alpha", "Bravo"); AtlasEnumDef incoming = getAtlasEnumWithAttributes("Alpha", "Bravo", "Delta", "Echo"); boolean ret = invokeUpdate(existing, incoming); List<AtlasEnumDef.AtlasEnumElementDef> expectedAttributes = getEnumElementDefs(0, "Alpha", "Bravo", "Delta", "Echo"); Assert.assertTrue(ret, "Update took place"); Assert.assertEquals(existing.getElementDefs(), expectedAttributes); }
@Test public void testEnumDefAddElement() { AtlasEnumDef enumDef = ModelTestUtil.newEnumDef(); String newElement = "newElement-abcd-1234"; enumDef.addElement(new AtlasEnumElementDef(newElement, "A new element", enumDef.getElementDefs().size())); assertTrue(enumDef.hasElement(newElement)); }
private static TypesDef enumToTypesDef(AtlasEnumType enumType) { TypesDef ret = null; AtlasEnumDef enumDef = enumType.getEnumDef(); String enumName = enumDef.getName(); String enumDesc = enumDef.getDescription(); String enumVersion = enumDef.getTypeVersion(); EnumValue[] enumValues = getEnumValues(enumDef.getElementDefs()); if (enumName != null && enumValues != null && enumValues.length > 0) { EnumTypeDefinition enumTypeDef = new EnumTypeDefinition(enumName, enumDesc, enumVersion, enumValues); ret = TypesUtil.getTypesDef(ImmutableList.of(enumTypeDef), ImmutableList.<StructTypeDefinition>of(), ImmutableList.<HierarchicalTypeDefinition<TraitType>>of(), ImmutableList.<HierarchicalTypeDefinition<ClassType>>of()); } return ret; }
@Test public void testEnumDefSetElementDefs() { AtlasEnumDef enumDef = ModelTestUtil.newEnumDef(); List<AtlasEnumElementDef> oldElements = enumDef.getElementDefs(); List<AtlasEnumElementDef> newElements = new ArrayList<>(); newElements.add(new AtlasEnumElementDef("newElement", "new Element", 100)); enumDef.setElementDefs(newElements); for (AtlasEnumElementDef elementDef : oldElements) { assertFalse(enumDef.hasElement(elementDef.getValue())); } for (AtlasEnumElementDef elementDef : newElements) { assertTrue(enumDef.hasElement(elementDef.getValue())); } } }
@Test public void testEnumDefSetElementDefs() { AtlasEnumDef enumDef = ModelTestUtil.newEnumDef(); List<AtlasEnumElementDef> oldElements = enumDef.getElementDefs(); List<AtlasEnumElementDef> newElements = new ArrayList<>(); newElements.add(new AtlasEnumElementDef("newElement", "new Element", 100)); enumDef.setElementDefs(newElements); for (AtlasEnumElementDef elementDef : oldElements) { assertFalse(enumDef.hasElement(elementDef.getValue())); } for (AtlasEnumElementDef elementDef : newElements) { assertTrue(enumDef.hasElement(elementDef.getValue())); } } }