public static Collection<String> getElementRefId(final DefinitionsElement element) { _LOG_.debug("OVAL ID: " + element.getOvalId()); Set<String> ids = new HashSet<String>(); Collection<ElementRef> ref_list = element.ovalGetElementRef(); for (ElementRef e : ref_list) { if (e == null) { continue; } String id = e.ovalGetRefId(); if (id != null && id.length() > 0) { ids.add(id); } } _LOG_.debug("referencing OVAL IDs: " + String.valueOf(ids)); return ids; }
/** @throws OvalException */ public static boolean addElement( final OvalDefinitions oval_defs, final DefinitionsElement element) { if (oval_defs == null || element == null) { throw new IllegalArgumentException("empty OVAL Definitions or element"); } ElementType element_type = element.ovalGetType(); boolean added = false; if (element_type == ElementType.DEFINITION) { DefinitionsType definitions = oval_defs.getDefinitions(); if (definitions == null) { definitions = new DefinitionsType(); oval_defs.setDefinitions(definitions); } added = definitions.add(asDefinition(element)); } else if (element_type == ElementType.TEST) { TestsType tests = oval_defs.getTests(); if (tests == null) { tests = new TestsType(); oval_defs.setTests(tests); } added = tests.add(asTest(element)); } else if (element_type == ElementType.OBJECT) { SystemObjectsType objects = oval_defs.getObjects(); if (objects == null) { objects = new SystemObjectsType(); oval_defs.setObjects(objects); } added = objects.add(asObject(element)); } else if (element_type == ElementType.STATE) { StatesType states = oval_defs.getStates(); if (states == null) { states = new StatesType(); oval_defs.setStates(states); } added = states.add(asState(element)); } else if (element_type == ElementType.VARIABLE) { VariablesType variables = oval_defs.getVariables(); if (variables == null) { variables = new VariablesType(); oval_defs.setVariables(variables); } added = variables.add(asVariable(element)); } return added; }