2  * ============LICENSE_START=======================================================
 
   3  * Copyright (C) 2021 Nordix Foundation.
 
   4  * ================================================================================
 
   5  * Licensed under the Apache License, Version 2.0 (the "License");
 
   6  * you may not use this file except in compliance with the License.
 
   7  * You may obtain a copy of the License at
 
   9  *      http://www.apache.org/licenses/LICENSE-2.0
 
  11  * Unless required by applicable law or agreed to in writing, software
 
  12  * distributed under the License is distributed on an "AS IS" BASIS,
 
  13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 
  14  * See the License for the specific language governing permissions and
 
  15  * limitations under the License.
 
  17  * SPDX-License-Identifier: Apache-2.0
 
  18  * ============LICENSE_END=========================================================
 
  21 package org.onap.policy.clamp.models.acm.messages.dmaap.participant;
 
  23 import java.util.ArrayList;
 
  24 import java.util.List;
 
  27 import lombok.ToString;
 
  28 import org.onap.policy.clamp.models.acm.concepts.ParticipantUpdates;
 
  29 import org.onap.policy.models.base.PfUtils;
 
  32  * Class to represent the AUTOMATION_COMPOSITION_UPDATE message that the automation composition runtime sends to a
 
  33  * participant. When a participant receives this message, it creates the automation composition elements contained in
 
  34  * the message and sets them to state PASSIVE. subsequent AUTOMATION_COMPOSITION_STATE_CHANGE messages are used to
 
  35  * activate the automation compositions.
 
  39 @ToString(callSuper = true)
 
  40 public class AutomationCompositionUpdate extends ParticipantMessage {
 
  42     // A list of ParticipantUpdates instances which carries details of an updated participant.
 
  43     private List<ParticipantUpdates> participantUpdatesList = new ArrayList<>();
 
  44     private Integer startPhase = 0;
 
  47      * Constructor for instantiating class with message name.
 
  50     public AutomationCompositionUpdate() {
 
  51         super(ParticipantMessageType.AUTOMATION_COMPOSITION_UPDATE);
 
  55      * Constructs the object, making a deep copy.
 
  57      * @param source source from which to copy
 
  59     public AutomationCompositionUpdate(AutomationCompositionUpdate source) {
 
  62         this.participantUpdatesList = PfUtils.mapList(source.participantUpdatesList, ParticipantUpdates::new);