use of com.evolveum.midpoint.prism.path.ItemPath in project midpoint by Evolveum.
the class TestDelta method testObjectDeltaFindItemDeltaModifyPropertyInContainer.
@Test
public void testObjectDeltaFindItemDeltaModifyPropertyInContainer() throws Exception {
System.out.println("\n\n===[ testObjectDeltaFindItemDeltaModifyPropertyInContainer ]===\n");
// GIVEN
ObjectDelta<UserType> userDelta = createDeltaForFindItem();
System.out.println("Object delta:\n" + userDelta.debugDump());
ItemPath itemDeltaPath = new ItemPath(UserType.F_ACTIVATION, ActivationType.F_ENABLED);
// WHEN
ItemDelta<PrismValue, ItemDefinition> itemDelta = userDelta.findItemDelta(itemDeltaPath);
// THEN
System.out.println("Item delta:\n" + (itemDelta == null ? "null" : itemDelta.debugDump()));
PrismAsserts.assertInstanceOf(PropertyDelta.class, itemDelta);
assertEquals(itemDeltaPath, itemDelta.getPath());
PrismAsserts.assertPropertyValues("Wrong add values in " + itemDelta, ((PropertyDelta) itemDelta).getValuesToAdd(), Boolean.TRUE);
}
use of com.evolveum.midpoint.prism.path.ItemPath in project midpoint by Evolveum.
the class TestDelta method testDeltaComplex.
@Test
public void testDeltaComplex() throws Exception {
System.out.println("\n\n===[ testDeltaComplex ]===\n");
// GIVEN
ObjectDelta<UserType> delta = ObjectDelta.createModificationAddProperty(UserType.class, USER_FOO_OID, UserType.F_FULL_NAME, PrismTestUtil.getPrismContext(), PrismTestUtil.createPolyString("Foo Bar"));
PrismObjectDefinition<UserType> userTypeDefinition = getUserTypeDefinition();
PrismContainerDefinition<ActivationType> activationDefinition = userTypeDefinition.findContainerDefinition(UserType.F_ACTIVATION);
PrismContainer<ActivationType> activationContainer = activationDefinition.instantiate();
PrismPropertyDefinition enabledDef = activationDefinition.findPropertyDefinition(ActivationType.F_ENABLED);
PrismProperty<Boolean> enabledProperty = enabledDef.instantiate();
enabledProperty.setRealValue(true);
activationContainer.add(enabledProperty);
delta.addModificationDeleteContainer(UserType.F_ACTIVATION, activationContainer.getValue().clone());
PrismContainerDefinition<AssignmentType> assDef = userTypeDefinition.findContainerDefinition(UserType.F_ASSIGNMENT);
PrismPropertyDefinition descDef = assDef.findPropertyDefinition(AssignmentType.F_DESCRIPTION);
PrismContainerValue<AssignmentType> assVal1 = new PrismContainerValue<AssignmentType>(PrismTestUtil.getPrismContext());
assVal1.setId(111L);
PrismProperty<String> descProp1 = descDef.instantiate();
descProp1.setRealValue("desc 1");
assVal1.add(descProp1);
PrismContainerValue<AssignmentType> assVal2 = new PrismContainerValue<AssignmentType>(PrismTestUtil.getPrismContext());
assVal2.setId(222L);
PrismProperty<String> descProp2 = descDef.instantiate();
descProp2.setRealValue("desc 2");
assVal2.add(descProp2);
delta.addModificationAddContainer(UserType.F_ASSIGNMENT, assVal1, assVal2);
System.out.println("Delta:");
System.out.println(delta.debugDump());
// WHEN, THEN
PrismInternalTestUtil.assertVisitor(delta, 14);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_FULL_NAME), true, 2);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_ACTIVATION), true, 4);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_ACTIVATION, ActivationType.F_ENABLED), true, 2);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_ASSIGNMENT), true, 7);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(new NameItemPathSegment(UserType.F_ASSIGNMENT), IdItemPathSegment.WILDCARD), true, 6);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_FULL_NAME), false, 1);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_ACTIVATION), false, 1);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_ACTIVATION, ActivationType.F_ENABLED), false, 1);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(UserType.F_ASSIGNMENT), false, 1);
PrismInternalTestUtil.assertPathVisitor(delta, new ItemPath(new NameItemPathSegment(UserType.F_ASSIGNMENT), IdItemPathSegment.WILDCARD), false, 2);
}
use of com.evolveum.midpoint.prism.path.ItemPath in project midpoint by Evolveum.
the class TestDelta method testObjectDeltaFindItemDeltaModifyProperty.
@Test
public void testObjectDeltaFindItemDeltaModifyProperty() throws Exception {
System.out.println("\n\n===[ testObjectDeltaFindItemDeltaModifyProperty ]===\n");
// GIVEN
ObjectDelta<UserType> userDelta = createDeltaForFindItem();
ItemPath itemDeltaPath = new ItemPath(UserType.F_GIVEN_NAME);
// WHEN
ItemDelta<PrismValue, ItemDefinition> itemDelta = userDelta.findItemDelta(itemDeltaPath);
// THEN
PrismAsserts.assertInstanceOf(PropertyDelta.class, itemDelta);
assertEquals(itemDeltaPath, itemDelta.getPath());
PrismAsserts.assertPropertyValues("Wrong replace values in " + itemDelta, ((PropertyDelta) itemDelta).getValuesToReplace(), "Guybrush");
}
use of com.evolveum.midpoint.prism.path.ItemPath in project midpoint by Evolveum.
the class TestDiff method testContainerValueDiffDesciptionNoPath.
@Test
public void testContainerValueDiffDesciptionNoPath() throws Exception {
System.out.println("\n\n===[ testContainerValueDiffDesciptionNoPath ]===\n");
// GIVEN
PrismObjectDefinition<UserType> userDef = getUserTypeDefinition();
PrismContainerDefinition<AssignmentType> assignmentContDef = userDef.findContainerDefinition(UserType.F_ASSIGNMENT);
PrismContainer<AssignmentType> ass1 = assignmentContDef.instantiate();
PrismContainerValue<AssignmentType> ass1cval = ass1.createNewValue();
ass1cval.setPropertyRealValue(AssignmentType.F_DESCRIPTION, "blah blah", PrismTestUtil.getPrismContext());
PrismContainer<AssignmentType> ass2 = assignmentContDef.instantiate();
PrismContainerValue<AssignmentType> ass2cval = ass2.createNewValue();
ass2cval.setPropertyRealValue(AssignmentType.F_DESCRIPTION, "chamalalia patlama paprtala", PrismTestUtil.getPrismContext());
// WHEN
Collection<? extends ItemDelta> modifications = ass1cval.diff(ass2cval);
// THEN
assertNotNull(modifications);
System.out.println(DebugUtil.debugDump(modifications));
assertEquals("Unexpected number of midifications", 1, modifications.size());
PrismAsserts.assertPropertyReplace(modifications, new ItemPath(UserType.F_ASSIGNMENT, AssignmentType.F_DESCRIPTION), "chamalalia patlama paprtala");
ItemDelta.checkConsistence(modifications);
}
use of com.evolveum.midpoint.prism.path.ItemPath in project midpoint by Evolveum.
the class TestDiff method testContainerDiffModificationsDesciption.
@Test
public void testContainerDiffModificationsDesciption() throws Exception {
System.out.println("\n\n===[ testContainerDiffModificationsDesciption ]===\n");
// GIVEN
PrismObjectDefinition<UserType> userDef = getUserTypeDefinition();
PrismContainerDefinition<AssignmentType> assignmentContDef = userDef.findContainerDefinition(UserType.F_ASSIGNMENT);
PrismContainer<AssignmentType> ass1 = assignmentContDef.instantiate();
PrismContainerValue<AssignmentType> ass1cval = ass1.createNewValue();
ass1cval.setId(1L);
ass1cval.setPropertyRealValue(AssignmentType.F_DESCRIPTION, "blah blah", PrismTestUtil.getPrismContext());
PrismContainer<AssignmentType> ass2 = assignmentContDef.instantiate();
PrismContainerValue<AssignmentType> ass2cval = ass2.createNewValue();
ass2cval.setId(1L);
ass2cval.setPropertyRealValue(AssignmentType.F_DESCRIPTION, "chamalalia patlama paprtala", PrismTestUtil.getPrismContext());
// WHEN
Collection<? extends ItemDelta> modifications = ass1.diffModifications(ass2);
// THEN
assertNotNull(modifications);
System.out.println(DebugUtil.debugDump(modifications));
assertEquals("Unexpected number of midifications", 1, modifications.size());
PrismAsserts.assertPropertyReplace(modifications, new ItemPath(new NameItemPathSegment(UserType.F_ASSIGNMENT), new IdItemPathSegment(1L), new NameItemPathSegment(AssignmentType.F_DESCRIPTION)), "chamalalia patlama paprtala");
ItemDelta.checkConsistence(modifications);
}
Aggregations