package org.openbaton.catalogue.nfvo.messages;

import org.openbaton.catalogue.mano.descriptor.VNFComponent;
import org.openbaton.catalogue.mano.record.VNFCInstance;
import org.openbaton.catalogue.mano.record.VNFRecordDependency;
import org.openbaton.catalogue.mano.record.VirtualNetworkFunctionRecord;
import org.openbaton.catalogue.nfvo.VNFPackage;
import org.openbaton.catalogue.nfvo.VimInstance;
import org.openbaton.catalogue.nfvo.messages.Interfaces.OrVnfmMessage;

/**
 * Created by lto on 13/10/15.
 */
public class OrVnfmScalingMessage extends OrVnfmMessage {

    private VNFComponent component;
    private VNFCInstance vnfcInstance;
    private VimInstance vimInstance;

    @Override
    public String toString() {
        return "OrVnfmScalingMessage{" +
                "component=" + component +
                ", vnfcInstance=" + vnfcInstance +
                ", vimInstance=" + vimInstance +
                ", vnfPackage=" + (vnfPackage == null ? vnfPackage : vnfPackage.getName()) +
                ", virtualNetworkFunctionRecord=" + virtualNetworkFunctionRecord +
                ", dependency=" + dependency +
                '}';
    }

    private VNFPackage vnfPackage;
    private VirtualNetworkFunctionRecord virtualNetworkFunctionRecord;
    private VNFRecordDependency dependency;

    public VNFPackage getVnfPackage() {
        return vnfPackage;
    }

    public void setVnfPackage(VNFPackage vnfPackage) {
        this.vnfPackage = vnfPackage;
    }

    public VimInstance getVimInstance() {
        return vimInstance;
    }

    public void setVimInstance(VimInstance vimInstance) {
        this.vimInstance = vimInstance;
    }

    public VNFCInstance getVnfcInstance() {
        return vnfcInstance;
    }

    public void setVnfcInstance(VNFCInstance vnfcInstance) {
        this.vnfcInstance = vnfcInstance;
    }

    public VNFComponent getComponent() {
        return component;
    }

    public void setComponent(VNFComponent component) {
        this.component = component;
    }

    public VirtualNetworkFunctionRecord getVirtualNetworkFunctionRecord() {
        return virtualNetworkFunctionRecord;
    }

    public void setVirtualNetworkFunctionRecord(VirtualNetworkFunctionRecord virtualNetworkFunctionRecord) {
        this.virtualNetworkFunctionRecord = virtualNetworkFunctionRecord;
    }

    public VNFRecordDependency getDependency() {
        return dependency;
    }

    public void setDependency(VNFRecordDependency dependency) {
        this.dependency = dependency;
    }
}

@@ -679,489 +679,8 @@
 ce;%0A
-%0A    @Override%0A    public String toString() %7B%0A        return %22OrVnfmScalingMessage%7B%22 +%0A                %22component=%22 + component +%0A                %22, vnfcInstance=%22 + vnfcInstance +%0A                %22, vimInstance=%22 + vimInstance +%0A                %22, vnfPackage=%22 + (vnfPackage == null ? vnfPackage : vnfPackage.getName()) +%0A                %22, virtualNetworkFunctionRecord=%22 + virtualNetworkFunctionRecord +%0A                %22, dependency=%22 + dependency +%0A                '%7D';%0A    %7D%0A%0A
     
@@ -777,24 +777,24 @@
 tionRecord;%0A
-
     private 
@@ -825,16 +825,43 @@
 ndency;%0A
+    private String mode;%0A%0A%0A
 %0A    pub
@@ -1879,32 +1879,161 @@
 ionRecord;%0A    %7D
+%0A    public String getMode() %7B%0A        return mode;%0A    %7D%0A%0A    public void setMode(String mode) %7B%0A        this.mode = mode;%0A    %7D
 %0A%0A    public VNF
@@ -2209,10 +2209,524 @@
 ;%0A    %7D%0A
+%0A%0A    @Override%0A    public String toString() %7B%0A        return %22OrVnfmScalingMessage%7B%22 +%0A                %22component=%22 + component +%0A                %22, vnfcInstance=%22 + vnfcInstance +%0A                %22, vimInstance=%22 + vimInstance +%0A                %22, mode=%22+mode+%0A                %22, vnfPackage=%22 + (vnfPackage == null ? vnfPackage : vnfPackage.getName()) +%0A                %22, virtualNetworkFunctionRecord=%22 + virtualNetworkFunctionRecord +%0A                %22, dependency=%22 + dependency +%0A                '%7D';%0A    %7D%0A%0A
 %7D%0A

switch to standby tested