public static PropertyDelta<XMLGregorianCalendar> createActivationTimestampDelta(ActivationStatusType status, XMLGregorianCalendar now, PrismContainerDefinition<ActivationType> activationDefinition, OriginType origin, PrismContext prismContext) { ItemName timestampPropertyName; if (status == null || status == ActivationStatusType.ENABLED) { timestampPropertyName = ActivationType.F_ENABLE_TIMESTAMP; } else if (status == ActivationStatusType.DISABLED) { timestampPropertyName = ActivationType.F_DISABLE_TIMESTAMP; } else if (status == ActivationStatusType.ARCHIVED) { timestampPropertyName = ActivationType.F_ARCHIVE_TIMESTAMP; } else { throw new IllegalArgumentException("Unknown activation status "+status); } PrismPropertyDefinition<XMLGregorianCalendar> timestampDef = activationDefinition.findPropertyDefinition(timestampPropertyName); PropertyDelta<XMLGregorianCalendar> timestampDelta = timestampDef.createEmptyDelta(FocusType.F_ACTIVATION.append(timestampPropertyName)); timestampDelta.setValueToReplace(prismContext.itemFactory().createPropertyValue(now, origin, null)); return timestampDelta; }
@Test public void testEmployeeNumberInteger() throws Exception { // WHEN PrismValueDeltaSetTriple<PrismPropertyValue<Integer>> outputTriple = evaluator.evaluateMappingDynamicReplace( "mapping-script-system-variables-employee-number.xml", "testEmployeeNumberString", UserType.F_EXTENSION.append(SchemaTestConstants.EXTENSION_INTEGER_TYPE_ELEMENT), // target "employeeNumber", // changed property "666"); // changed values // THEN PrismAsserts.assertTripleNoZero(outputTriple); PrismAsserts.assertTriplePlus(outputTriple, new BigInteger("666")); PrismAsserts.assertTripleNoMinus(outputTriple); }
@Test public void testEmployeeNumberDecimal() throws Exception { // WHEN PrismValueDeltaSetTriple<PrismPropertyValue<Integer>> outputTriple = evaluator.evaluateMappingDynamicReplace( "mapping-script-system-variables-employee-number.xml", "testEmployeeNumberString", UserType.F_EXTENSION.append(SchemaTestConstants.EXTENSION_DECIMAL_TYPE_ELEMENT), // target "employeeNumber", // changed property "666.33"); // changed values // THEN PrismAsserts.assertTripleNoZero(outputTriple); PrismAsserts.assertTriplePlus(outputTriple, new BigDecimal("666.33")); PrismAsserts.assertTripleNoMinus(outputTriple); }
@Test public void testEmployeeNumberInt() throws Exception { // WHEN PrismValueDeltaSetTriple<PrismPropertyValue<Integer>> outputTriple = evaluator.evaluateMappingDynamicReplace( "mapping-script-system-variables-employee-number.xml", "testEmployeeNumberString", UserType.F_EXTENSION.append(SchemaTestConstants.EXTENSION_INT_TYPE_ELEMENT), // target "employeeNumber", // changed property "666"); // changed values // THEN PrismAsserts.assertTripleNoZero(outputTriple); PrismAsserts.assertTriplePlus(outputTriple, 666); PrismAsserts.assertTripleNoMinus(outputTriple); }
@Test public void testEmployeeNumberLong() throws Exception { // WHEN PrismValueDeltaSetTriple<PrismPropertyValue<Long>> outputTriple = evaluator.evaluateMappingDynamicReplace( "mapping-script-system-variables-employee-number.xml", "testEmployeeNumberString", UserType.F_EXTENSION.append(SchemaTestConstants.EXTENSION_LONG_TYPE_ELEMENT), // target "employeeNumber", // changed property "666"); // changed values // THEN PrismAsserts.assertTripleNoZero(outputTriple); PrismAsserts.assertTriplePlus(outputTriple, 666L); PrismAsserts.assertTripleNoMinus(outputTriple); }
@Test public void testEmployeeNumberProtectedString() throws Exception { // WHEN PrismValueDeltaSetTriple<PrismPropertyValue<ProtectedStringType>> outputTriple = evaluator.evaluateMappingDynamicReplace( "mapping-script-system-variables-employee-number.xml", "testEmployeeNumberProtectedString", UserType.F_CREDENTIALS.append(CredentialsType.F_PASSWORD).append(PasswordType.F_VALUE), // target "employeeNumber", // changed property "666"); // changed values // THEN evaluator.assertProtectedString("plus set", outputTriple.getPlusSet(), "666"); PrismAsserts.assertTripleNoZero(outputTriple); PrismAsserts.assertTripleNoMinus(outputTriple); }