@Override public boolean isEnabled() { if (effectiveActivationStatus == null) { ActivationType activation = user.getActivation(); if (activation == null) { effectiveActivationStatus = ActivationStatusType.ENABLED; } else { effectiveActivationStatus = activation.getEffectiveStatus(); if (effectiveActivationStatus == null) { throw new IllegalArgumentException("Null effective activation status in "+user); } } } return effectiveActivationStatus == ActivationStatusType.ENABLED; }
protected <F extends FocusType> void assertEffectiveActivation(AssignmentType assignmentType, ActivationStatusType expected) { ActivationType activationType = assignmentType.getActivation(); assertNotNull("No activation in "+assignmentType, activationType); assertEquals("Wrong effectiveStatus in activation in "+assignmentType, expected, activationType.getEffectiveStatus()); }
public ActivationAsserter<RA> assertEffectiveStatus(ActivationStatusType expected) { assertEquals("Wrong effective status in " + desc(), expected, getActivation().getEffectiveStatus()); return this; }
protected <F extends FocusType> void assertEffectiveActivation(AssignmentType assignmentType, ActivationStatusType expected) { ActivationType activationType = assignmentType.getActivation(); assertNotNull("No activation in "+assignmentType, activationType); assertEquals("Wrong effectiveStatus in activation in "+assignmentType, expected, activationType.getEffectiveStatus()); }
protected <F extends FocusType> void assertEffectiveStatus(PrismObject<F> focus, ActivationStatusType expected) { ActivationType activation = focus.asObjectable().getActivation(); assertNotNull("No activation in "+focus, activation); assertEquals("Unexpected effective activation status in "+focus, expected, activation.getEffectiveStatus()); }
protected <F extends FocusType> void assertEffectiveActivation(PrismObject<F> focus, ActivationStatusType expected) { ActivationType activationType = focus.asObjectable().getActivation(); assertNotNull("No activation in "+focus, activationType); assertEquals("Wrong effectiveStatus in activation in "+focus, expected, activationType.getEffectiveStatus()); }
protected <F extends FocusType> void assertEffectiveActivation(PrismObject<F> focus, ActivationStatusType expected) { ActivationType activationType = focus.asObjectable().getActivation(); assertNotNull("No activation in "+focus, activationType); assertEquals("Wrong effectiveStatus in activation in "+focus, expected, activationType.getEffectiveStatus()); }
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()); }
protected void testCompute(final String TEST_NAME, String lifecycleState, XMLGregorianCalendar now, ActivationStatusType administrativeStatus, XMLGregorianCalendar validFrom, XMLGregorianCalendar validTo, ActivationStatusType expectedEffective, TimeIntervalStatusType expectedValidity) throws SchemaException, IOException { // GIVEN Clock clock = createClock(now); ActivationComputer activationComputer = createActivationComputer(clock); ActivationType activationType = createActivationType(administrativeStatus, validFrom, validTo); // WHEN activationComputer.computeEffective(lifecycleState, activationType, createLifecycleModel()); // THEN assertEquals("Unexpected effective status", expectedEffective, activationType.getEffectiveStatus()); assertEquals("Unexpected validity status", expectedValidity, activationType.getValidityStatus()); }
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 } }
if (effectiveStatusNew != null && (activationNew == null || activationNew.getEffectiveStatus() == null)) { if (activationCurrent != null && activationCurrent.getEffectiveStatus() != null) { ActivationStatusType effectiveStatusSaved = activationCurrent.getEffectiveStatus(); if (effectiveStatusSaved != effectiveStatusNew) { recordEffectiveStatusDelta(focusContext, effectiveStatusNew, now);
i = i.item(ShadowType.F_ACTIVATION, ActivationType.F_ADMINISTRATIVE_STATUS).replace(); if (activation.getEffectiveStatus() != null) { i = i.item(ShadowType.F_ACTIVATION, ActivationType.F_EFFECTIVE_STATUS).replace();
focusContext.swallowToSecondaryDelta(activationDelta); } else { ActivationStatusType currentEffectiveStatus = currentActivationType.getEffectiveStatus(); if (!expectedEffectiveStatus.equals(currentEffectiveStatus)) { PrismPropertyDefinition<ActivationStatusType> effectiveStatusPropertyDef = focusContext.getObjectDefinition().findPropertyDefinition(SchemaConstants.PATH_ASSIGNMENT_ACTIVATION_EFFECTIVE_STATUS);