Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
languagejava
titleAcElementListenerMontreal
/**
 * Wrapper of AutomationCompositionElementListener.
 * Valid since Montreal release.
 */
public abstract class AcElementListenerMontreal implements AutomationCompositionElementListener {

    private final ParticipantIntermediaryApi intermediaryApi;

    protected AcElementListenerVer7 AcElementListenerMontreal(ParticipantIntermediaryApi intermediaryApi) {
        this.intermediaryApi = intermediaryApi;
    }

    @Override
    public void deploy(CompositionElementDto compositionElement, InstanceElementDto instanceElement)
        throws PfModelException {
        var element = new  AcElementDeploy();
        element.setId(instanceElement.elementId());
        element.setDefinition(compositionElement.elementDefinitionId());
        element.setOrderedState(instanceElement.orderedState());
        element.setProperties(instanceElement.inProperties());
        Map<String, Object> properties = new HashMap<>(instanceElement.inProperties());
        properties.putAll(compositionElement.inProperties());
        deploy(instanceElement.instanceId(), element, properties);
    }

    public abstract void deploy(UUID instanceId, AcElementDeploy element, Map<String, Object> properties)
        throws PfModelException;

    @Override
    public void undeploy(CompositionElementDto compositionElement, InstanceElementDto instanceElement)
        throws PfModelException {
        undeploy(instanceElement.instanceId(), instanceElement.elementId());
    }

    public abstract void undeploy(UUID instanceId, UUID elementId) throws PfModelException;

    @Override
    public void lock(CompositionElementDto compositionElement, InstanceElementDto instanceElement)
        throws PfModelException {
        lock(instanceElement.instanceId(), instanceElement.elementId());
    }

    public abstract void lock(UUID instanceId, UUID elementId) throws PfModelException;

    @Override
    public void unlock(CompositionElementDto compositionElement, InstanceElementDto instanceElement)
        throws PfModelException {
        unlock(instanceElement.instanceId(), instanceElement.elementId());
    }

    public abstract void unlock(UUID instanceId, UUID elementId) throws PfModelException;

    @Override
    public void delete(CompositionElementDto compositionElement, InstanceElementDto instanceElement)
        throws PfModelException {
        delete(instanceElement.instanceId(), instanceElement.elementId());
    }

    public abstract void delete(UUID instanceId, UUID elementId) throws PfModelException;

    @Override
    public void update(CompositionElementDto compositionElement, InstanceElementDto instanceElement,
                InstanceElementDto instanceElementUpdated) throws PfModelException {
        var element = new  AcElementDeploy();
        element.setId(instanceElementUpdated.elementId());
        element.setDefinition(compositionElement.elementDefinitionId());
        element.setOrderedState(instanceElement.orderedState());
        element.setProperties(instanceElementUpdated.inProperties());
        update(instanceElementUpdated.instanceId(), element, element.getProperties());
    }

    public abstract void update(UUID instanceId, AcElementDeploy element, Map<String, Object> properties)
        throws PfModelException;

    @Override
    public void prime(CompositionDto composition) throws PfModelException {
        prime(composition.compositionId(), composition.elementDefinitionList());
    }

    public abstract void prime(UUID compositionId, List<AutomationCompositionElementDefinition> elementDefinitionList)
        throws PfModelException;

    @Override
    public void deprime(CompositionDto composition) throws PfModelException {
        deprime(composition.compositionId());
    }

    public abstract void deprime(UUID compositionId) throws PfModelException;

    @Override
    public void handleRestartComposition(CompositionDto composition, AcTypeState state) throws PfModelException {
        handleRestartComposition(composition.compositionId(), composition.elementDefinitionList(), state);
    }

    public abstract void handleRestartComposition(UUID compositionId,
                                         List<AutomationCompositionElementDefinition> elementDefinitionList,
                                         AcTypeState state) throws PfModelException;

    @Override
    public void handleRestartInstance(CompositionElementDto compositionElement, InstanceElementDto instanceElement,
        DeployState deployState, LockState lockState) throws PfModelException {
        var element = new  AcElementDeploy();
        element.setId(instanceElement.elementId());
        element.setDefinition(compositionElement.elementDefinitionId());
        element.setOrderedState(instanceElement.orderedState());
        element.setProperties(instanceElement.inProperties());
        Map<String, Object> properties = new HashMap<>(instanceElement.inProperties());
        properties.putAll(compositionElement.inProperties());
        handleRestartInstance(instanceElement.instanceId(), element, properties, deployState, lockState);
    }

    public abstract void handleRestartInstance(UUID instanceId, AcElementDeploy element,
        Map<String, Object> properties, DeployState deployState, LockState lockState) throws PfModelException;

    @Override
    public void migrate(CompositionElementDto compositionElement, CompositionElementDto compositionElementTarget,
        InstanceElementDto instanceElement, InstanceElementDto instanceElementMigrate) throws PfModelException {
        var element = new  AcElementDeploy();
        element.setId(instanceElement.elementId());
        element.setDefinition(compositionElement.elementDefinitionId());
        element.setOrderedState(instanceElement.orderedState());
        element.setProperties(instanceElement.inProperties());
        migrate(instanceElementMigrate.instanceId(), element, compositionElementTarget.compositionId(),
            element.getProperties());
    }

    public abstract void migrate(UUID instanceId, AcElementDeploy element, UUID compositionTargetId,
        Map<String, Object> properties) throws PfModelException;

    @Override
    public void migratePrecheck(CompositionElementDto compositionElement,
        CompositionElementDto compositionElementTarget, InstanceElementDto instanceElement,
        InstanceElementDto instanceElementMigrate) throws PfModelException {

        intermediaryApi.updateAutomationCompositionElementState(instanceElementMigrate.instanceId(),
            instanceElementMigrate.elementId(), DeployState.DEPLOYED, null, StateChangeResult.NO_ERROR,
            "Migrate precheck not supported");
    }
}

...

Code Block
languagejava
titleAcElementListenerNewDelhi
/**
 * Wrapper of AutomationCompositionElementListener.
 * Valid since New Delhi release.
 */
public abstract class AcElementListenerNewDelhi implements AutomationCompositionElementListener {
     private final ParticipantIntermediaryApi intermediaryApi;

    protected  AcElementListenerNewDelhi(ParticipantIntermediaryApi intermediaryApi) {
        this.intermediaryApi = intermediaryApi;
    }
  }