public static boolean hasValidTo(ShadowType objectType) { ActivationType activation = objectType.getActivation(); return activation != null && activation.getValidTo() != null; }
public ActivationAsserter<RA> assertNoValidTo() { assertNull("Unexpected validTo in " + desc() + ": " + getActivation().getValidTo(), getActivation().getValidTo()); return this; }
@Override protected String getBody(Event event, GeneralNotifierType generalNotifierType, String transport, Task task, OperationResult result) throws SchemaException { return "User " + getUserName(event) + " is going to be deactivated on " + getUser(event).getActivation().getValidTo(); }
protected void assertValidTo(PrismObject<? extends ObjectType> obj, Date expectedDate) { assertEquals("Wrong validTo in "+obj, XmlTypeConverter.createXMLGregorianCalendar(expectedDate), getActivation(obj).getValidTo()); }
public ActivationAsserter<RA> assertValidTo(XMLGregorianCalendar expected) { assertEquals("Wrong validTo in " + desc(), expected, getActivation().getValidTo()); return this; }
public TimeIntervalStatusType getValidityStatus(ActivationType activationType, XMLGregorianCalendar referenceTime) { if (activationType == null || referenceTime == null) { return null; } XMLGregorianCalendar validFrom = activationType.getValidFrom(); XMLGregorianCalendar validTo = activationType.getValidTo(); if (validFrom == null && validTo == null) { return null; } TimeIntervalStatusType status = TimeIntervalStatusType.IN; if (validFrom != null && (referenceTime == null || referenceTime.compare(validFrom) == DatatypeConstants.LESSER)) { status = TimeIntervalStatusType.BEFORE; } if (validTo != null && referenceTime.compare(validTo) == DatatypeConstants.GREATER) { status = TimeIntervalStatusType.AFTER; } return status; }
public ActivationAsserter<RA> assertValidTo(Date expected) { assertEquals("Wrong validTo in " + desc(), XmlTypeConverter.createXMLGregorianCalendar(expected), getActivation().getValidTo()); return this; }
private void checkAssignmentValidity(UserType jack, XMLGregorianCalendar validFrom, XMLGregorianCalendar validTo) { assertEquals("jack's assignments", 1, jack.getAssignment().size()); AssignmentType assignmentType = jack.getAssignment().get(0); assertEquals("wrong validFrom", validFrom, assignmentType.getActivation().getValidFrom()); assertEquals("wrong validTo", validTo, assignmentType.getActivation().getValidTo()); }
protected void checkNoAssignmentValidity(UserType jack) { assertEquals("jack's assignments", 1, jack.getAssignment().size()); AssignmentType assignmentType = jack.getAssignment().get(0); if (assignmentType.getActivation() != null) { assertNull("validFrom already set", assignmentType.getActivation().getValidFrom()); assertNull("validTo already set", assignmentType.getActivation().getValidTo()); } }
public static void fromJaxb(ActivationType jaxb, RActivation repo, RepositoryContext repositoryContext) throws DtoTranslationException { Validate.notNull(jaxb, "JAXB object must not be null."); Validate.notNull(repo, "Repo object must not be null."); repo.setAdministrativeStatus(RUtil.getRepoEnumValue(jaxb.getAdministrativeStatus(), RActivationStatus.class)); repo.setEffectiveStatus(RUtil.getRepoEnumValue(jaxb.getEffectiveStatus(), RActivationStatus.class)); repo.setValidityStatus(RUtil.getRepoEnumValue(jaxb.getValidityStatus(), RTimeIntervalStatus.class)); repo.setValidFrom(jaxb.getValidFrom()); repo.setValidTo(jaxb.getValidTo()); repo.setDisableReason(jaxb.getDisableReason()); repo.setArchiveTimestamp(jaxb.getArchiveTimestamp()); repo.setDisableTimestamp(jaxb.getDisableTimestamp()); repo.setEnableTimestamp(jaxb.getEnableTimestamp()); repo.setValidityChangeTimestamp(jaxb.getValidityChangeTimestamp()); }
public static void checkShadowActivationConsistency(PrismObject<ShadowType> shadow) { if (shadow == null) { // just for sure return; } ActivationType activation = shadow.asObjectable().getActivation(); if (activation == null) { return; } FailedOperationTypeType failedOperation = shadow.asObjectable().getFailedOperationType(); if (failedOperation == FailedOperationTypeType.ADD) { return; // in this case it's ok to have activation present } if (activation.getAdministrativeStatus() != null || activation.getEffectiveStatus() != null || activation.getValidFrom() != null || activation.getValidTo() != null || activation.getValidityStatus() != null || activation.getLockoutStatus() != null || activation.getLockoutExpirationTimestamp() != null || activation.getValidityChangeTimestamp() != null) { String m = "Unexpected content in shadow.activation for " + ObjectTypeUtil.toShortString(shadow) + ": " + activation; LOGGER.warn("{}", m); //throw new IllegalStateException(m); // use only for testing } }
attributes.add(AttributeBuilder.build(OperationalAttributes.DISABLE_DATE_NAME, XmlTypeConverter.toMillis(shadowType.getActivation().getValidTo())));
i = i.item(ShadowType.F_ACTIVATION, ActivationType.F_VALID_FROM).replace(); if (activation.getValidTo() != null) { i = i.item(ShadowType.F_ACTIVATION, ActivationType.F_VALID_TO).replace();
assertEquals("Wrong validTo in user", hourAhead, getActivation(userAfter).getValidTo());
@Test public void test190HermanGoesInvalid() throws Exception { final String TEST_NAME = "test190HermanGoesInvalid"; displayTestTitle(TEST_NAME); // GIVEN Task task = createTask(TEST_NAME); OperationResult result = task.getResult(); XMLGregorianCalendar startCal = clock.currentTimeXMLGregorianCalendar(); PrismObject<UserType> userHermanBefore = getUser(USER_HERMAN_OID); XMLGregorianCalendar validTo = userHermanBefore.asObjectable().getActivation().getValidTo(); assertEffectiveActivation(userHermanBefore, ActivationStatusType.ENABLED); assertValidityStatus(userHermanBefore, TimeIntervalStatusType.IN); // Let's move the clock tiny bit after herman's validTo validTo.add(XmlTypeConverter.createDuration(100)); clock.override(validTo); /// WHEN TestUtil.displayWhen(TEST_NAME); waitForValidityNextRunAssertSuccess(); // THEN TestUtil.displayThen(TEST_NAME); // THEN XMLGregorianCalendar endCal = clock.currentTimeXMLGregorianCalendar(); PrismObject<UserType> userHermanAfter = getUser(USER_HERMAN_OID); assertEffectiveActivation(userHermanAfter, ActivationStatusType.DISABLED); assertValidityStatus(userHermanAfter, TimeIntervalStatusType.AFTER); assertLastScanTimestamp(TASK_VALIDITY_SCANNER_OID, startCal, endCal); }
assertEquals("Wrong validTo in user", hourAgo, getActivation(userAfter).getValidTo());