@Override public PrismContainer<?> getExtension() { return taskPrism.getExtension(); }
public static ExtensionType collectExtensions(AssignmentPathType path, int startAt, ModelService modelService, Task task, OperationResult result) throws SchemaException, ConfigurationException, ObjectNotFoundException, CommunicationException, SecurityViolationException, ExpressionEvaluationException { ExtensionType rv = new ExtensionType(modelService.getPrismContext()); PrismContainerValue<?> pcv = rv.asPrismContainerValue(); PrismObject<? extends ObjectType> lastTarget = null; // used for caching for (int i = startAt; i < path.getSegment().size(); i++) { AssignmentPathSegmentType segment = path.getSegment().get(i); AssignmentType assignment = getAssignment(segment, lastTarget, modelService, task, result); if (assignment != null && assignment.getExtension() != null) { ObjectTypeUtil.mergeExtension(pcv, assignment.getExtension().asPrismContainerValue()); } PrismObject<? extends ObjectType> target = getAssignmentTarget(segment, modelService, task, result); if (target != null && target.getExtension() != null) { ObjectTypeUtil.mergeExtension(pcv, target.getExtensionContainerValue()); } lastTarget = target; } return rv; }
public PrismContainer<?> getExtension() { return asPrismObject().getExtension(); }
public static <T> void assertExtensionProperty(PrismObject<? extends ObjectType> object, QName propertyName, T... expectedValues) { PrismContainer<?> extension = object.getExtension(); PrismAsserts.assertPropertyValue(extension, ItemName.fromQName(propertyName), expectedValues); }
public static <T> void assertNoExtensionProperty(PrismObject<? extends ObjectType> object, QName propertyName) { PrismContainer<?> extension = object.getExtension(); PrismAsserts.assertNoItem(extension, ItemName.fromQName(propertyName)); }
protected XMLGregorianCalendar getLastScanTimestamp(String taskOid) throws ObjectNotFoundException, SchemaException, SecurityViolationException, CommunicationException, ConfigurationException, ExpressionEvaluationException { PrismObject<TaskType> task = getTask(taskOid); display("Task", task); PrismContainer<?> taskExtension = task.getExtension(); assertNotNull("No task extension", taskExtension); PrismProperty<XMLGregorianCalendar> lastScanTimestampProp = taskExtension.findProperty(SchemaConstants.MODEL_EXTENSION_LAST_SCAN_TIMESTAMP_PROPERTY_NAME); assertNotNull("no lastScanTimestamp property", lastScanTimestampProp); return lastScanTimestampProp.getRealValue(); }
newTask.setExecutionStatus(RUNNABLE); for (Item<?, ?> extensionItem : extensionItems) { newTask.asPrismObject().getExtension().add(extensionItem.clone());
@Override public <T extends Objectable> EventResult postMarshall(PrismObject<T> object, Element objectElement, OperationResult objectResult) { System.out.println("Validating resorce:"); System.out.println(object.debugDump()); object.checkConsistence(); PrismContainer<?> extensionContainer = object.getExtension(); PrismProperty<Integer> menProp = extensionContainer.findProperty(new ItemName("http://myself.me/schemas/whatever","menOnChest")); assertNotNull("No men on a dead man chest!", menProp); assertEquals("Wrong number of men on a dead man chest", (Integer)15, menProp.getAnyRealValue()); PrismPropertyDefinition menPropDef = menProp.getDefinition(); assertNotNull("Men on a dead man chest NOT defined", menPropDef); assertEquals("Wrong type for men on a dead man chest definition", DOMUtil.XSD_INT, menPropDef.getTypeName()); assertTrue("Men on a dead man chest definition not dynamic", menPropDef.isDynamic()); return EventResult.cont(); }
private void assertUserExtensionAdhoc(PrismObject<UserType> user) { PrismContainer<?> extension = user.getExtension(); assertContainerDefinition(extension, "extension", DOMUtil.XSD_ANY, 0, 1); PrismContainerValue<?> extensionValue = extension.getValue(); assertTrue("Extension parent", extensionValue.getParent() == extension); assertNull("Extension ID", extensionValue.getId()); PrismAsserts.assertPropertyValue(extension, USER_ADHOC_BOTTLES_ELEMENT, 20); ItemPath bottlesPath = ItemPath.create(new QName(NS_FOO,"extension"), USER_ADHOC_BOTTLES_ELEMENT); PrismProperty<Integer> bottlesProperty = user.findProperty(bottlesPath); assertNotNull("Property "+bottlesPath+" not found", bottlesProperty); PrismAsserts.assertPropertyValue(bottlesProperty, 20); PrismPropertyDefinition bottlesPropertyDef = bottlesProperty.getDefinition(); assertNotNull("No definition for bottles", bottlesPropertyDef); PrismAsserts.assertDefinition(bottlesPropertyDef, USER_ADHOC_BOTTLES_ELEMENT, DOMUtil.XSD_INT, 1, -1); assertTrue("Bottles definition is NOT dynamic", bottlesPropertyDef.isDynamic()); }
private void assertUserElisabethExtension(PrismObject<UserType> user) { PrismContainer<?> extension = user.getExtension(); assertContainerDefinition(extension, "extension", DOMUtil.XSD_ANY, 0, 1); PrismContainerValue<?> extensionValue = extension.getValue(); assertTrue("Extension parent", extensionValue.getParent() == extension); assertNull("Extension ID", extensionValue.getId()); // PrismProperty<String> stringType = extension.findProperty(EXTENSION_STRING_TYPE_ELEMENT); // PrismAsserts.assertPropertyValue(stringType, "BARbar", "FOObar"); // PrismPropertyDefinition stringTypePropertyDef = stringType.getDefinition(); // PrismAsserts.assertDefinition(stringTypePropertyDef, EXTENSION_STRING_TYPE_ELEMENT, DOMUtil.XSD_STRING, 0, -1); // assertNull("'Indexed' attribute on 'stringType' property is not null", stringTypePropertyDef.isIndexed()); PrismProperty<String> secondaryStringType = extension.findProperty(EXTENSION_SECONDARY_SECONDARY_STRING_TYPE_ELEMENT); PrismAsserts.assertPropertyValue(secondaryStringType, "string1"); PrismPropertyDefinition secondaryStringTypePropertyDef = secondaryStringType.getDefinition(); PrismAsserts.assertDefinition(secondaryStringTypePropertyDef, EXTENSION_SINGLE_STRING_TYPE_ELEMENT, DOMUtil.XSD_STRING, 0, -1); assertNull("'Indexed' attribute on 'secondaryStringType' property is not null", secondaryStringTypePropertyDef.isIndexed()); }
System.out.println(object.debugDump()); PrismContainer<?> extensionContainer = object.getExtension(); PrismProperty<Object> deadProperty = extensionContainer.findProperty(new ItemName(NS_WHATEVER, "dead")); assertEquals("Bad typed of 'dead' property (add result)", DOMUtil.XSD_INT, deadProperty.getDefinition().getTypeName()); extensionContainer = repoTask.getExtension(); deadProperty = extensionContainer.findProperty(new ItemName(NS_WHATEVER, "dead")); assertEquals("Bad typed of 'dead' property (from repo)", DOMUtil.XSD_INT, deadProperty.getDefinition().getTypeName());
private void assertTask(PrismObject<TaskType> task) { task.checkConsistence(); assertEquals("Wrong oid", "44444444-4444-4444-4444-000000001111", task.getOid()); PrismObjectDefinition<TaskType> usedDefinition = task.getDefinition(); assertNotNull("No task definition", usedDefinition); PrismAsserts.assertObjectDefinition(usedDefinition, new QName(SchemaConstantsGenerated.NS_COMMON, "task"), TaskType.COMPLEX_TYPE, TaskType.class); assertEquals("Wrong class in task", TaskType.class, task.getCompileTimeClass()); TaskType taskType = task.asObjectable(); assertNotNull("asObjectable resulted in null", taskType); assertPropertyValue(task, "name", PrismTestUtil.createPolyString("Task2")); assertPropertyDefinition(task, "name", PolyStringType.COMPLEX_TYPE, 0, 1); assertPropertyValue(task, "taskIdentifier", "44444444-4444-4444-4444-000000001111"); assertPropertyDefinition(task, "taskIdentifier", DOMUtil.XSD_STRING, 0, 1); assertPropertyDefinition(task, "executionStatus", JAXBUtil.getTypeQName(TaskExecutionStatusType.class), 1, 1); PrismProperty<TaskExecutionStatusType> executionStatusProperty = task.findProperty(TaskType.F_EXECUTION_STATUS); PrismPropertyValue<TaskExecutionStatusType> executionStatusValue = executionStatusProperty.getValue(); TaskExecutionStatusType executionStatus = executionStatusValue.getValue(); assertEquals("Wrong execution status", TaskExecutionStatusType.RUNNABLE, executionStatus); PrismContainer extension = task.getExtension(); PrismContainerValue extensionValue = extension.getValue(); assertTrue("Extension parent", extensionValue.getParent() == extension); assertNull("Extension ID", extensionValue.getId()); }
private static void assertUserJackExtension(PrismObject<UserType> user) throws SchemaException { PrismContext prismContext = user.getPrismContext(); PrismContainer<?> extension = user.getExtension(); assertContainerDefinition(extension, "extension", DOMUtil.XSD_ANY, 0, 1); PrismContainerValue<?> extensionValue = extension.getValue();
private void assertUserWillExtension(PrismObject<UserType> user) { PrismContainer<?> extension = user.getExtension(); assertContainerDefinition(extension, "extension", DOMUtil.XSD_ANY, 0, 1); PrismContainerValue<?> extensionValue = extension.getValue();