private static boolean isValid(String lifecycleState, ActivationType activationType, XMLGregorianCalendar now, ActivationComputer activationComputer, LifecycleStateModelType focusStateModel) { TimeIntervalStatusType validityStatus = activationComputer.getValidityStatus(activationType, now); ActivationStatusType effectiveStatus = activationComputer.getEffectiveStatus(lifecycleState, activationType, validityStatus, focusStateModel); return effectiveStatus == ActivationStatusType.ENABLED; }
public TimeIntervalStatusType getValidityStatus(ActivationType activationType) { return getValidityStatus(activationType, clock.currentTimeXMLGregorianCalendar()); }
public ActivationStatusType getEffectiveStatus(String lifecycleStatus, ActivationType activationType, LifecycleStateModelType stateModel) { return getEffectiveStatus(lifecycleStatus, activationType, getValidityStatus(activationType), stateModel); }
public void computeEffective(String lifecycleStatus, ActivationType activationType, XMLGregorianCalendar referenceTime, LifecycleStateModelType stateModel) { ActivationStatusType effectiveStatus = getForcedLifecycleActivationStatus(lifecycleStatus, stateModel); ActivationStatusType administrativeStatus = activationType.getAdministrativeStatus(); if (effectiveStatus == null && administrativeStatus != null) { // Explicit administrative status overrides everything effectiveStatus = administrativeStatus; } TimeIntervalStatusType validityStatus = getValidityStatus(activationType); if (effectiveStatus == null) { if (validityStatus == null) { // No administrative status, no validity. Defaults to enabled. effectiveStatus = ActivationStatusType.ENABLED; } else { switch (validityStatus) { case AFTER: case BEFORE: effectiveStatus = ActivationStatusType.DISABLED; break; case IN: effectiveStatus = ActivationStatusType.ENABLED; break; } } } activationType.setEffectiveStatus(effectiveStatus); activationType.setValidityStatus(validityStatus); }
activationNew = focusTypeNew.getActivation(); if (activationNew != null) { validityStatusNew = activationComputer.getValidityStatus(activationNew, now); validityChangeTimestamp = activationNew.getValidityChangeTimestamp(); activationCurrent = focusCurrentType.getActivation(); if (activationCurrent != null) { validityStatusCurrent = activationComputer.getValidityStatus(activationCurrent, validityChangeTimestamp);