First part of onap rename
[appc.git] / appc-lifecycle-management / state-machine-lib / src / main / java / org / openecomp / appc / statemachine / impl / readers / VnfMetaDataReader.java
index 8f2a69f..2ba949f 100644 (file)
  * ============LICENSE_END=========================================================
  */
 
-package org.openecomp.appc.statemachine.impl.readers;
+package org.onap.appc.statemachine.impl.readers;
 
-import org.openecomp.appc.statemachine.StateMetaDataReader;
-import org.openecomp.appc.lifecyclemanager.objects.VNFOperationOutcome;
-import org.openecomp.appc.statemachine.objects.Event;
-import org.openecomp.appc.statemachine.objects.State;
-import org.openecomp.appc.statemachine.objects.StateMachineMetadata;
+import org.onap.appc.statemachine.StateMetaDataReader;
+import org.onap.appc.lifecyclemanager.objects.VNFOperationOutcome;
+import org.onap.appc.statemachine.objects.Event;
+import org.onap.appc.statemachine.objects.State;
+import org.onap.appc.statemachine.objects.StateMachineMetadata;
 
+/**
+ * Reader for VNF MetaData
+ */
 public class VnfMetaDataReader implements StateMetaDataReader {
 
+    /**
+     * VNF Operations
+     */
     public enum VNFOperation {
 
         Configure, Test, HealthCheck, Start, Terminate, Restart, Rebuild, Stop, ConfigModify,
@@ -51,10 +57,15 @@ public class VnfMetaDataReader implements StateMetaDataReader {
         }
     }
 
-    private enum VNFStates {
-        Not_Instantiated, Instantiated, Configuring, Configured, Testing, Tested, Rebuilding, Restarting, Starting,
+    /**
+     * VNF States
+     */
+    enum VNFStates {
+        Not_Instantiated, Instantiated, Configuring, Configured, Testing, Tested,
+        Rebuilding, Restarting, Starting,
         Error, Running, Unknown, Terminating, Stopping, Stopped,
-        Backing_Up, Snapshotting, Software_Uploading, Upgrading, Rollbacking, Licensing, Migrating, Evacuating,
+        Backing_Up, Snapshotting, Software_Uploading, Upgrading,
+        Rollbacking, Licensing, Migrating, Evacuating,
         NOT_ORCHESTRATED("NOT ORCHESTRATED"), Created;
 
         String stateName;
@@ -73,411 +84,410 @@ public class VnfMetaDataReader implements StateMetaDataReader {
         }
     }
 
+    @Override
     public StateMachineMetadata readMetadata() {
-        {
-            State NOT_INSTANTIATED = new State(VNFStates.Not_Instantiated.toString());
-            State INSTANTIATED = new State(VNFStates.Instantiated.toString());
-            State CONFIGURING = new State(VNFStates.Configuring.toString());
-            State CONFIGURED = new State(VNFStates.Configured.toString());
-            State TESTING = new State(VNFStates.Testing.toString());
-            State TESTED = new State(VNFStates.Tested.toString());
-            State REBUILDING = new State(VNFStates.Rebuilding.toString());
-            State RESTARTING = new State(VNFStates.Restarting.toString());
-            State STARTING = new State(VNFStates.Starting.toString());
-            State ERROR = new State(VNFStates.Error.toString());
-            State RUNNING = new State(VNFStates.Running.toString());
-            State UNKNOWN = new State(VNFStates.Unknown.toString());
-            State TERMINATING = new State(VNFStates.Terminating.toString());
-            State STOPPING = new State(VNFStates.Stopping.toString());
-            State STOPPED = new State(VNFStates.Stopped.toString());
-            State NOT_ORCHESTRATED = new State(VNFStates.NOT_ORCHESTRATED.toString());
-
-            State BACKING_UP = new State(VNFStates.Backing_Up.toString());
-            State SNAPSHOTTING = new State(VNFStates.Snapshotting.toString());
-            State SOFTWARE_UPLOADING = new State(VNFStates.Software_Uploading.toString());
-            State UPGRADING = new State(VNFStates.Upgrading.toString());
-            State ROLLBACKING = new State(VNFStates.Rollbacking.toString());
-
-            State MIGRATING = new State(VNFStates.Migrating.toString());
-            State EVACUATING = new State(VNFStates.Evacuating.toString());
-            State CREATED= new State(VNFStates.Created.toString());
-
-            Event START_APPLICATION = new Event(VNFOperation.StartApplication.toString());
-            Event CONFIGURE = new Event(VNFOperation.Configure.toString());
-            Event HEALTHCHECK = new Event(VNFOperation.HealthCheck.toString());
-            Event TEST = new Event(VNFOperation.Test.toString());
-            Event START = new Event(VNFOperation.Start.toString());
-            Event TERMINATE = new Event(VNFOperation.Terminate.toString());
-            Event RESTART = new Event(VNFOperation.Restart.toString());
-            Event REBUILD = new Event(VNFOperation.Rebuild.toString());
-            Event STOP = new Event(VNFOperation.Stop.toString());
-            Event CONFIG_MODIFY = new Event(VNFOperation.ConfigModify.toString());
-            Event CONFIG_SCALEOUT = new Event(VNFOperation.ConfigScaleOut.toString());
-            Event CONFIG_RESTORE = new Event(VNFOperation.ConfigRestore.toString());
-            Event BACKUP = new Event(VNFOperation.Backup.toString());
-            Event SNAPSHOT = new Event(VNFOperation.Snapshot.toString());
-            Event SOFTWARE_UPLOAD = new Event(VNFOperation.SoftwareUpload.toString());
-            Event LIVE_UPGRADE = new Event(VNFOperation.LiveUpgrade.toString());
-            Event ROLLBACK = new Event(VNFOperation.Rollback.toString());
-            Event SYNC = new Event(VNFOperation.Sync.toString());
-            Event AUDIT = new Event(VNFOperation.Audit.toString());
-            Event MIGRATE = new Event(VNFOperation.Migrate.toString());
-            Event EVACUATE = new Event(VNFOperation.Evacuate.toString());
-            Event CONFIG_BACKUP = new Event(VNFOperation.ConfigBackup.toString());
-            Event CONFIG_BACKUP_DELETE = new Event(VNFOperation.ConfigBackupDelete.toString());
-            Event CONFIG_EXPORT = new Event(VNFOperation.ConfigExport.toString());
-            Event STOP_APPLICATION= new Event(VNFOperation.StopApplication.toString());
-
-            Event LOCK = new Event(VNFOperation.Lock.toString());
-            Event UNLOCK = new Event(VNFOperation.Unlock.toString());
-            Event CHECKLOCK = new Event(VNFOperation.CheckLock.toString());
-
-            Event SUCCESS = new Event(VNFOperationOutcome.SUCCESS.toString());
-            Event FAILURE = new Event(VNFOperationOutcome.FAILURE.toString());
-
-
-            StateMachineMetadata.StateMachineMetadataBuilder builder = new StateMachineMetadata.StateMachineMetadataBuilder();
-
-            builder = builder.addState(NOT_INSTANTIATED);
-            builder = builder.addState(INSTANTIATED);
-            builder = builder.addState(CONFIGURING);
-            builder = builder.addState(CONFIGURED);
-            builder = builder.addState(TESTING);
-            builder = builder.addState(TESTED);
-            builder = builder.addState(REBUILDING);
-            builder = builder.addState(RESTARTING);
-            builder = builder.addState(STARTING);
-            builder = builder.addState(ERROR);
-            builder = builder.addState(RUNNING);
-            builder = builder.addState(UNKNOWN);
-            builder = builder.addState(TERMINATING);
-            builder = builder.addState(STOPPING);
-            builder = builder.addState(STOPPED);
-
-            builder = builder.addState(BACKING_UP);
-            builder = builder.addState(SNAPSHOTTING);
-            builder = builder.addState(SOFTWARE_UPLOADING);
-            builder = builder.addState(UPGRADING);
-            builder = builder.addState(ROLLBACKING);
-            builder = builder.addState(MIGRATING);
-            builder = builder.addState(EVACUATING);
-            builder = builder.addState(NOT_ORCHESTRATED);
-            builder = builder.addState(CREATED);
-            builder = builder.addEvent(START_APPLICATION);
-            builder = builder.addEvent(CONFIGURE);
-            builder = builder.addEvent(TEST);
-            builder = builder.addEvent(START);
-            builder = builder.addEvent(TERMINATE);
-            builder = builder.addEvent(RESTART);
-            builder = builder.addEvent(REBUILD);
-            builder = builder.addEvent(SUCCESS);
-            builder = builder.addEvent(FAILURE);
-            builder = builder.addEvent(STOP);
-            builder = builder.addEvent(CONFIG_MODIFY);
-            builder = builder.addEvent(CONFIG_SCALEOUT);
-            builder = builder.addEvent(CONFIG_RESTORE);
-            builder = builder.addEvent(HEALTHCHECK);
-            builder = builder.addEvent(BACKUP);
-            builder = builder.addEvent(SNAPSHOT);
-            builder = builder.addEvent(SOFTWARE_UPLOAD);
-            builder = builder.addEvent(LIVE_UPGRADE);
-            builder = builder.addEvent(ROLLBACK);
-            builder = builder.addEvent(SYNC);
-            builder = builder.addEvent(AUDIT);
-            builder = builder.addEvent(MIGRATE);
-            builder = builder.addEvent(EVACUATE);
-            builder = builder.addEvent(LOCK);
-            builder = builder.addEvent(UNLOCK);
-            builder = builder.addEvent(CHECKLOCK);
-            builder = builder.addEvent(CONFIG_BACKUP);
-            builder = builder.addEvent(CONFIG_BACKUP_DELETE);
-            builder = builder.addEvent(CONFIG_EXPORT);
-            builder = builder.addEvent(STOP_APPLICATION);
-
-            builder = builder.addTransition(NOT_ORCHESTRATED,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,TEST,TESTING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,START,STARTING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,TERMINATE,TERMINATING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,RESTART,RESTARTING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,REBUILD,REBUILDING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,STOP,STOPPING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,BACKUP,BACKING_UP);
-            builder = builder.addTransition(NOT_ORCHESTRATED,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,MIGRATE,MIGRATING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,EVACUATE,EVACUATING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,LOCK,NOT_ORCHESTRATED);
-            builder = builder.addTransition(NOT_ORCHESTRATED,UNLOCK,NOT_ORCHESTRATED);
-            builder = builder.addTransition(NOT_ORCHESTRATED,CHECKLOCK,NOT_ORCHESTRATED);
-            builder = builder.addTransition(NOT_ORCHESTRATED,START_APPLICATION,STARTING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,STOP_APPLICATION,STOPPING);
-            builder = builder.addTransition(NOT_ORCHESTRATED,CONFIG_BACKUP,NOT_ORCHESTRATED);
-
-            builder = builder.addTransition(CREATED,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(CREATED,TEST,TESTING);
-            builder = builder.addTransition(CREATED,START,STARTING);
-            builder = builder.addTransition(CREATED,TERMINATE,TERMINATING);
-            builder = builder.addTransition(CREATED,RESTART,RESTARTING);
-            builder = builder.addTransition(CREATED,REBUILD,REBUILDING);
-            builder = builder.addTransition(CREATED,STOP,STOPPING);
-            builder = builder.addTransition(CREATED,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(CREATED,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(CREATED,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(CREATED,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(CREATED,BACKUP,BACKING_UP);
-            builder = builder.addTransition(CREATED,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(CREATED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(CREATED,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(CREATED,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(CREATED,MIGRATE,MIGRATING);
-            builder = builder.addTransition(CREATED,EVACUATE,EVACUATING);
-            builder = builder.addTransition(CREATED,LOCK,CREATED);
-            builder = builder.addTransition(CREATED,UNLOCK,CREATED);
-            builder = builder.addTransition(CREATED,CHECKLOCK,CREATED);
-            builder = builder.addTransition(CREATED,START_APPLICATION,STARTING);
-            builder = builder.addTransition(CREATED,STOP_APPLICATION,STOPPING);
-            builder = builder.addTransition(CREATED,CONFIG_BACKUP,CREATED);
-
-            builder = builder.addTransition(INSTANTIATED,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(INSTANTIATED,TEST,TESTING);
-            builder = builder.addTransition(INSTANTIATED,START,STARTING);
-            builder = builder.addTransition(INSTANTIATED,TERMINATE,TERMINATING);
-            builder = builder.addTransition(INSTANTIATED,RESTART,RESTARTING);
-            builder = builder.addTransition(INSTANTIATED,REBUILD,REBUILDING);
-            builder = builder.addTransition(INSTANTIATED,STOP,STOPPING);
-            builder = builder.addTransition(INSTANTIATED,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(INSTANTIATED,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(INSTANTIATED,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(INSTANTIATED,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(INSTANTIATED,BACKUP,BACKING_UP);
-            builder = builder.addTransition(INSTANTIATED,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(INSTANTIATED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(INSTANTIATED,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(INSTANTIATED,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(INSTANTIATED,MIGRATE,MIGRATING);
-            builder = builder.addTransition(INSTANTIATED,EVACUATE,EVACUATING);
-            builder = builder.addTransition(INSTANTIATED,LOCK,INSTANTIATED);
-            builder = builder.addTransition(INSTANTIATED,UNLOCK,INSTANTIATED);
-            builder = builder.addTransition(INSTANTIATED,CHECKLOCK,INSTANTIATED);
-
-            builder = builder.addTransition(CONFIGURED,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(CONFIGURED,TEST,TESTING);
-            builder = builder.addTransition(CONFIGURED,START,STARTING);
-            builder = builder.addTransition(CONFIGURED,TERMINATE,TERMINATING);
-            builder = builder.addTransition(CONFIGURED,RESTART,RESTARTING);
-            builder = builder.addTransition(CONFIGURED,REBUILD,REBUILDING);
-            builder = builder.addTransition(CONFIGURED,STOP,STOPPING);
-            builder = builder.addTransition(CONFIGURED,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(CONFIGURED,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(CONFIGURED,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(CONFIGURED,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(CONFIGURED,BACKUP,BACKING_UP);
-            builder = builder.addTransition(CONFIGURED,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(CONFIGURED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(CONFIGURED,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(CONFIGURED,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(CONFIGURED,SYNC,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,AUDIT,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,MIGRATE,MIGRATING);
-            builder = builder.addTransition(CONFIGURED,EVACUATE,EVACUATING);
-            builder = builder.addTransition(CONFIGURED,LOCK,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,UNLOCK,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,CHECKLOCK,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,CONFIG_BACKUP,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,CONFIG_BACKUP_DELETE,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,CONFIG_EXPORT,CONFIGURED);
-            builder = builder.addTransition(CONFIGURED,STOP_APPLICATION,STOPPING);
-
-            builder = builder.addTransition(TESTED,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(TESTED,TEST,TESTING);
-            builder = builder.addTransition(TESTED,START,STARTING);
-            builder = builder.addTransition(TESTED,TERMINATE,TERMINATING);
-            builder = builder.addTransition(TESTED,RESTART,RESTARTING);
-            builder = builder.addTransition(TESTED,REBUILD,REBUILDING);
-            builder = builder.addTransition(TESTED,STOP,STOPPING);
-            builder = builder.addTransition(TESTED,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(TESTED,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(TESTED,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(TESTED,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(TESTED,BACKUP,BACKING_UP);
-            builder = builder.addTransition(TESTED,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(TESTED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(TESTED,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(TESTED,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(TESTED,SYNC,TESTED);
-            builder = builder.addTransition(TESTED,AUDIT,TESTED);
-            builder = builder.addTransition(TESTED,MIGRATE,MIGRATING);
-            builder = builder.addTransition(TESTED,EVACUATE,EVACUATING);
-            builder = builder.addTransition(TESTED,LOCK,TESTED);
-            builder = builder.addTransition(TESTED,UNLOCK,TESTED);
-            builder = builder.addTransition(TESTED,CHECKLOCK,TESTED);
-            builder = builder.addTransition(TESTED,CONFIG_BACKUP,TESTED);
-            builder = builder.addTransition(TESTED,CONFIG_BACKUP_DELETE,TESTED);
-            builder = builder.addTransition(TESTED,CONFIG_EXPORT,TESTED);
-            builder = builder.addTransition(TESTED,STOP_APPLICATION,STOPPING);
-
-            builder = builder.addTransition(RUNNING,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(RUNNING,TEST,TESTING);
-            builder = builder.addTransition(RUNNING,START,STARTING);
-            builder = builder.addTransition(RUNNING,TERMINATE,TERMINATING);
-            builder = builder.addTransition(RUNNING,RESTART,RESTARTING);
-            builder = builder.addTransition(RUNNING,REBUILD,REBUILDING);
-            builder = builder.addTransition(RUNNING,STOP,STOPPING);
-            builder = builder.addTransition(RUNNING,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(RUNNING,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(RUNNING,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(RUNNING,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(RUNNING,BACKUP,BACKING_UP);
-            builder = builder.addTransition(RUNNING,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(RUNNING,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(RUNNING,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(RUNNING,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(RUNNING,SYNC,RUNNING);
-            builder = builder.addTransition(RUNNING,AUDIT,RUNNING);
-            builder = builder.addTransition(RUNNING,MIGRATE,MIGRATING);
-            builder = builder.addTransition(RUNNING,EVACUATE,EVACUATING);
-            builder = builder.addTransition(RUNNING,LOCK,RUNNING);
-            builder = builder.addTransition(RUNNING,UNLOCK,RUNNING);
-            builder = builder.addTransition(RUNNING,CHECKLOCK,RUNNING);
-            builder = builder.addTransition(RUNNING,CONFIG_BACKUP,RUNNING);
-            builder = builder.addTransition(RUNNING,CONFIG_BACKUP_DELETE,RUNNING);
-            builder = builder.addTransition(RUNNING,CONFIG_EXPORT,RUNNING);
-            builder = builder.addTransition(RUNNING,STOP_APPLICATION,STOPPING);
-
-            builder = builder.addTransition(ERROR,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(ERROR,TEST,TESTING);
-            builder = builder.addTransition(ERROR,START,STARTING);
-            builder = builder.addTransition(ERROR,TERMINATE,TERMINATING);
-            builder = builder.addTransition(ERROR,RESTART,RESTARTING);
-            builder = builder.addTransition(ERROR,REBUILD,REBUILDING);
-            builder = builder.addTransition(ERROR,STOP,STOPPING);
-            builder = builder.addTransition(ERROR,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(ERROR,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(ERROR,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(ERROR,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(ERROR,BACKUP,BACKING_UP);
-            builder = builder.addTransition(ERROR,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(ERROR,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(ERROR,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(ERROR,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(ERROR,SYNC,ERROR);
-            builder = builder.addTransition(ERROR,AUDIT,ERROR);
-            builder = builder.addTransition(ERROR,MIGRATE,MIGRATING);
-            builder = builder.addTransition(ERROR,EVACUATE,EVACUATING);
-            builder = builder.addTransition(ERROR,LOCK,ERROR);
-            builder = builder.addTransition(ERROR,UNLOCK,ERROR);
-            builder = builder.addTransition(ERROR,CHECKLOCK,ERROR);
-            builder = builder.addTransition(ERROR,CONFIG_BACKUP,ERROR);
-            builder = builder.addTransition(ERROR,CONFIG_BACKUP_DELETE,ERROR);
-            builder = builder.addTransition(ERROR,CONFIG_EXPORT,ERROR);
-            builder = builder.addTransition(ERROR,STOP_APPLICATION,STOPPING);
-
-            builder = builder.addTransition(UNKNOWN,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(UNKNOWN,TEST,TESTING);
-            builder = builder.addTransition(UNKNOWN,START,STARTING);
-            builder = builder.addTransition(UNKNOWN,TERMINATE,TERMINATING);
-            builder = builder.addTransition(UNKNOWN,RESTART,RESTARTING);
-            builder = builder.addTransition(UNKNOWN,REBUILD,REBUILDING);
-            builder = builder.addTransition(UNKNOWN,STOP,STOPPING);
-            builder = builder.addTransition(UNKNOWN,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(UNKNOWN,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(UNKNOWN,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(UNKNOWN,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(UNKNOWN,BACKUP,BACKING_UP);
-            builder = builder.addTransition(UNKNOWN,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(UNKNOWN,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(UNKNOWN,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(UNKNOWN,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(UNKNOWN,SYNC,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,AUDIT,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,MIGRATE,MIGRATING);
-            builder = builder.addTransition(UNKNOWN,EVACUATE,EVACUATING);
-            builder = builder.addTransition(UNKNOWN,LOCK,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,UNLOCK,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,CHECKLOCK,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,CONFIG_BACKUP,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,CONFIG_BACKUP_DELETE,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,CONFIG_EXPORT,UNKNOWN);
-            builder = builder.addTransition(UNKNOWN,STOP_APPLICATION,STOPPING);
-
-            builder = builder.addTransition(STOPPED,CONFIGURE,CONFIGURING);
-            builder = builder.addTransition(STOPPED,TEST,TESTING);
-            builder = builder.addTransition(STOPPED,START,STARTING);
-            builder = builder.addTransition(STOPPED,TERMINATE,TERMINATING);
-            builder = builder.addTransition(STOPPED,RESTART,RESTARTING);
-            builder = builder.addTransition(STOPPED,REBUILD,REBUILDING);
-            builder = builder.addTransition(STOPPED,CONFIG_MODIFY,CONFIGURING);
-            builder = builder.addTransition(STOPPED,CONFIG_SCALEOUT,CONFIGURING);
-            builder = builder.addTransition(STOPPED,CONFIG_RESTORE,CONFIGURING);
-            builder = builder.addTransition(STOPPED,HEALTHCHECK,TESTING);
-            builder = builder.addTransition(STOPPED,BACKUP,BACKING_UP);
-            builder = builder.addTransition(STOPPED,SNAPSHOT,SNAPSHOTTING);
-            builder = builder.addTransition(STOPPED,SOFTWARE_UPLOAD,SOFTWARE_UPLOADING);
-            builder = builder.addTransition(STOPPED,LIVE_UPGRADE,UPGRADING);
-            builder = builder.addTransition(STOPPED,ROLLBACK,ROLLBACKING);
-            builder = builder.addTransition(STOPPED,MIGRATE,MIGRATING);
-            builder = builder.addTransition(STOPPED,EVACUATE,EVACUATING);
-            builder = builder.addTransition(STOPPED,LOCK,STOPPED);
-            builder = builder.addTransition(STOPPED,UNLOCK,STOPPED);
-            builder = builder.addTransition(STOPPED,CHECKLOCK,STOPPED);
-
-            builder = builder.addTransition(CONFIGURING,SUCCESS,CONFIGURED);
-            builder = builder.addTransition(CONFIGURING,FAILURE,ERROR);
-
-            builder = builder.addTransition(TESTING,SUCCESS,TESTED);
-            builder = builder.addTransition(TESTING,FAILURE,ERROR);
-
-            builder = builder.addTransition(RESTARTING,SUCCESS,RUNNING);
-            builder = builder.addTransition(RESTARTING,FAILURE,ERROR);
-
-            builder = builder.addTransition(STARTING,SUCCESS,RUNNING);
-            builder = builder.addTransition(STARTING,FAILURE,ERROR);
-
-            builder = builder.addTransition(TERMINATING,SUCCESS,NOT_INSTANTIATED);
-            builder = builder.addTransition(TERMINATING,FAILURE,ERROR);
-
-            builder = builder.addTransition(REBUILDING,SUCCESS,RUNNING);
-            builder = builder.addTransition(REBUILDING,FAILURE,ERROR);
-
-            builder = builder.addTransition(STOPPING,SUCCESS,STOPPED);
-            builder = builder.addTransition(STOPPING,FAILURE,ERROR);
-
-            builder = builder.addTransition(BACKING_UP,SUCCESS,RUNNING);
-            builder = builder.addTransition(BACKING_UP,FAILURE,ERROR);
-
-            builder = builder.addTransition(SNAPSHOTTING,SUCCESS,RUNNING);
-            builder = builder.addTransition(SNAPSHOTTING,FAILURE,ERROR);
-
-            builder = builder.addTransition(SOFTWARE_UPLOADING,SUCCESS,RUNNING);
-            builder = builder.addTransition(SOFTWARE_UPLOADING,FAILURE,ERROR);
-
-            builder = builder.addTransition(UPGRADING,SUCCESS,RUNNING);
-            builder = builder.addTransition(UPGRADING,FAILURE,ERROR);
-
-            builder = builder.addTransition(ROLLBACKING,SUCCESS,RUNNING);
-            builder = builder.addTransition(ROLLBACKING,FAILURE,ERROR);
-
-            builder = builder.addTransition(MIGRATING,SUCCESS,RUNNING);
-            builder = builder.addTransition(MIGRATING,FAILURE,ERROR);
-
-            builder = builder.addTransition(EVACUATING,SUCCESS,RUNNING);
-            builder = builder.addTransition(EVACUATING,FAILURE,ERROR);
-
-
-            builder = builder.addTransition(CONFIGURED,START_APPLICATION,STARTING);
-            builder = builder.addTransition(TESTED,START_APPLICATION,STARTING);
-            builder = builder.addTransition(ERROR,START_APPLICATION,STARTING);
-            builder = builder.addTransition(UNKNOWN,START_APPLICATION,STARTING);
-            builder = builder.addTransition(RUNNING,START_APPLICATION,STARTING);
-
-            return builder.build();
-
-        }
+        State notInstantiated = new State(VNFStates.Not_Instantiated.toString());
+        State instantiated = new State(VNFStates.Instantiated.toString());
+        State configuring = new State(VNFStates.Configuring.toString());
+        State configured = new State(VNFStates.Configured.toString());
+        State testing = new State(VNFStates.Testing.toString());
+        State tested = new State(VNFStates.Tested.toString());
+        State rebuilding = new State(VNFStates.Rebuilding.toString());
+        State restarting = new State(VNFStates.Restarting.toString());
+        State starting = new State(VNFStates.Starting.toString());
+        State error = new State(VNFStates.Error.toString());
+        State running = new State(VNFStates.Running.toString());
+        State unknown = new State(VNFStates.Unknown.toString());
+        State terminating = new State(VNFStates.Terminating.toString());
+        State stopping = new State(VNFStates.Stopping.toString());
+        State stopped = new State(VNFStates.Stopped.toString());
+        State notOrchestrated = new State(VNFStates.NOT_ORCHESTRATED.toString());
+
+        State backingUp = new State(VNFStates.Backing_Up.toString());
+        State snapshotting = new State(VNFStates.Snapshotting.toString());
+        State softwareUploading = new State(VNFStates.Software_Uploading.toString());
+        State upgrading = new State(VNFStates.Upgrading.toString());
+        State rollbacking = new State(VNFStates.Rollbacking.toString());
+
+        State migrating = new State(VNFStates.Migrating.toString());
+        State evacuating = new State(VNFStates.Evacuating.toString());
+        State created= new State(VNFStates.Created.toString());
+
+        Event startApplication = new Event(VNFOperation.StartApplication.toString());
+        Event configure = new Event(VNFOperation.Configure.toString());
+        Event healthcheck = new Event(VNFOperation.HealthCheck.toString());
+        Event test = new Event(VNFOperation.Test.toString());
+        Event start = new Event(VNFOperation.Start.toString());
+        Event terminate = new Event(VNFOperation.Terminate.toString());
+        Event restart = new Event(VNFOperation.Restart.toString());
+        Event rebuild = new Event(VNFOperation.Rebuild.toString());
+        Event stop = new Event(VNFOperation.Stop.toString());
+        Event configModify = new Event(VNFOperation.ConfigModify.toString());
+        Event configScaleout = new Event(VNFOperation.ConfigScaleOut.toString());
+        Event configRestore = new Event(VNFOperation.ConfigRestore.toString());
+        Event backup = new Event(VNFOperation.Backup.toString());
+        Event snapshot = new Event(VNFOperation.Snapshot.toString());
+        Event softwareUpload = new Event(VNFOperation.SoftwareUpload.toString());
+        Event liveUpgrade = new Event(VNFOperation.LiveUpgrade.toString());
+        Event rollback = new Event(VNFOperation.Rollback.toString());
+        Event sync = new Event(VNFOperation.Sync.toString());
+        Event audit = new Event(VNFOperation.Audit.toString());
+        Event migrate = new Event(VNFOperation.Migrate.toString());
+        Event evacuate = new Event(VNFOperation.Evacuate.toString());
+        Event configBackup = new Event(VNFOperation.ConfigBackup.toString());
+        Event configBackupDelete = new Event(VNFOperation.ConfigBackupDelete.toString());
+        Event configExport = new Event(VNFOperation.ConfigExport.toString());
+        Event stopApplication= new Event(VNFOperation.StopApplication.toString());
+
+        Event lock = new Event(VNFOperation.Lock.toString());
+        Event unlock = new Event(VNFOperation.Unlock.toString());
+        Event checklock = new Event(VNFOperation.CheckLock.toString());
+
+        Event success = new Event(VNFOperationOutcome.SUCCESS.toString());
+        Event failure = new Event(VNFOperationOutcome.FAILURE.toString());
+
+
+        StateMachineMetadata.StateMachineMetadataBuilder builder =
+                new StateMachineMetadata.StateMachineMetadataBuilder();
+
+        builder = builder.addState(notInstantiated);
+        builder = builder.addState(instantiated);
+        builder = builder.addState(configuring);
+        builder = builder.addState(configured);
+        builder = builder.addState(testing);
+        builder = builder.addState(tested);
+        builder = builder.addState(rebuilding);
+        builder = builder.addState(restarting);
+        builder = builder.addState(starting);
+        builder = builder.addState(error);
+        builder = builder.addState(running);
+        builder = builder.addState(unknown);
+        builder = builder.addState(terminating);
+        builder = builder.addState(stopping);
+        builder = builder.addState(stopped);
+
+        builder = builder.addState(backingUp);
+        builder = builder.addState(snapshotting);
+        builder = builder.addState(softwareUploading);
+        builder = builder.addState(upgrading);
+        builder = builder.addState(rollbacking);
+        builder = builder.addState(migrating);
+        builder = builder.addState(evacuating);
+        builder = builder.addState(notOrchestrated);
+        builder = builder.addState(created);
+        builder = builder.addEvent(startApplication);
+        builder = builder.addEvent(configure);
+        builder = builder.addEvent(test);
+        builder = builder.addEvent(start);
+        builder = builder.addEvent(terminate);
+        builder = builder.addEvent(restart);
+        builder = builder.addEvent(rebuild);
+        builder = builder.addEvent(success);
+        builder = builder.addEvent(failure);
+        builder = builder.addEvent(stop);
+        builder = builder.addEvent(configModify);
+        builder = builder.addEvent(configScaleout);
+        builder = builder.addEvent(configRestore);
+        builder = builder.addEvent(healthcheck);
+        builder = builder.addEvent(backup);
+        builder = builder.addEvent(snapshot);
+        builder = builder.addEvent(softwareUpload);
+        builder = builder.addEvent(liveUpgrade);
+        builder = builder.addEvent(rollback);
+        builder = builder.addEvent(sync);
+        builder = builder.addEvent(audit);
+        builder = builder.addEvent(migrate);
+        builder = builder.addEvent(evacuate);
+        builder = builder.addEvent(lock);
+        builder = builder.addEvent(unlock);
+        builder = builder.addEvent(checklock);
+        builder = builder.addEvent(configBackup);
+        builder = builder.addEvent(configBackupDelete);
+        builder = builder.addEvent(configExport);
+        builder = builder.addEvent(stopApplication);
+
+        builder = builder.addTransition(notOrchestrated,configure,configuring);
+        builder = builder.addTransition(notOrchestrated,test,testing);
+        builder = builder.addTransition(notOrchestrated,start,starting);
+        builder = builder.addTransition(notOrchestrated,terminate,terminating);
+        builder = builder.addTransition(notOrchestrated,restart,restarting);
+        builder = builder.addTransition(notOrchestrated,rebuild,rebuilding);
+        builder = builder.addTransition(notOrchestrated,stop,stopping);
+        builder = builder.addTransition(notOrchestrated,configModify,configuring);
+        builder = builder.addTransition(notOrchestrated,configScaleout,configuring);
+        builder = builder.addTransition(notOrchestrated,configRestore,configuring);
+        builder = builder.addTransition(notOrchestrated,healthcheck,testing);
+        builder = builder.addTransition(notOrchestrated,backup,backingUp);
+        builder = builder.addTransition(notOrchestrated,snapshot,snapshotting);
+        builder = builder.addTransition(notOrchestrated,softwareUpload,softwareUploading);
+        builder = builder.addTransition(notOrchestrated,liveUpgrade,upgrading);
+        builder = builder.addTransition(notOrchestrated,rollback,rollbacking);
+        builder = builder.addTransition(notOrchestrated,migrate,migrating);
+        builder = builder.addTransition(notOrchestrated,evacuate,evacuating);
+        builder = builder.addTransition(notOrchestrated,lock,notOrchestrated);
+        builder = builder.addTransition(notOrchestrated,unlock,notOrchestrated);
+        builder = builder.addTransition(notOrchestrated,checklock,notOrchestrated);
+        builder = builder.addTransition(notOrchestrated,startApplication,starting);
+        builder = builder.addTransition(notOrchestrated,stopApplication,stopping);
+        builder = builder.addTransition(notOrchestrated,configBackup,notOrchestrated);
+
+        builder = builder.addTransition(created,configure,configuring);
+        builder = builder.addTransition(created,test,testing);
+        builder = builder.addTransition(created,start,starting);
+        builder = builder.addTransition(created,terminate,terminating);
+        builder = builder.addTransition(created,restart,restarting);
+        builder = builder.addTransition(created,rebuild,rebuilding);
+        builder = builder.addTransition(created,stop,stopping);
+        builder = builder.addTransition(created,configModify,configuring);
+        builder = builder.addTransition(created,configScaleout,configuring);
+        builder = builder.addTransition(created,configRestore,configuring);
+        builder = builder.addTransition(created,healthcheck,testing);
+        builder = builder.addTransition(created,backup,backingUp);
+        builder = builder.addTransition(created,snapshot,snapshotting);
+        builder = builder.addTransition(created,softwareUpload,softwareUploading);
+        builder = builder.addTransition(created,liveUpgrade,upgrading);
+        builder = builder.addTransition(created,rollback,rollbacking);
+        builder = builder.addTransition(created,migrate,migrating);
+        builder = builder.addTransition(created,evacuate,evacuating);
+        builder = builder.addTransition(created,lock,created);
+        builder = builder.addTransition(created,unlock,created);
+        builder = builder.addTransition(created,checklock,created);
+        builder = builder.addTransition(created,startApplication,starting);
+        builder = builder.addTransition(created,stopApplication,stopping);
+        builder = builder.addTransition(created,configBackup,created);
+
+        builder = builder.addTransition(instantiated,configure,configuring);
+        builder = builder.addTransition(instantiated,test,testing);
+        builder = builder.addTransition(instantiated,start,starting);
+        builder = builder.addTransition(instantiated,terminate,terminating);
+        builder = builder.addTransition(instantiated,restart,restarting);
+        builder = builder.addTransition(instantiated,rebuild,rebuilding);
+        builder = builder.addTransition(instantiated,stop,stopping);
+        builder = builder.addTransition(instantiated,configModify,configuring);
+        builder = builder.addTransition(instantiated,configScaleout,configuring);
+        builder = builder.addTransition(instantiated,configRestore,configuring);
+        builder = builder.addTransition(instantiated,healthcheck,testing);
+        builder = builder.addTransition(instantiated,backup,backingUp);
+        builder = builder.addTransition(instantiated,snapshot,snapshotting);
+        builder = builder.addTransition(instantiated,softwareUpload,softwareUploading);
+        builder = builder.addTransition(instantiated,liveUpgrade,upgrading);
+        builder = builder.addTransition(instantiated,rollback,rollbacking);
+        builder = builder.addTransition(instantiated,migrate,migrating);
+        builder = builder.addTransition(instantiated,evacuate,evacuating);
+        builder = builder.addTransition(instantiated,lock,instantiated);
+        builder = builder.addTransition(instantiated,unlock,instantiated);
+        builder = builder.addTransition(instantiated,checklock,instantiated);
+
+        builder = builder.addTransition(configured,configure,configuring);
+        builder = builder.addTransition(configured,test,testing);
+        builder = builder.addTransition(configured,start,starting);
+        builder = builder.addTransition(configured,terminate,terminating);
+        builder = builder.addTransition(configured,restart,restarting);
+        builder = builder.addTransition(configured,rebuild,rebuilding);
+        builder = builder.addTransition(configured,stop,stopping);
+        builder = builder.addTransition(configured,configModify,configuring);
+        builder = builder.addTransition(configured,configScaleout,configuring);
+        builder = builder.addTransition(configured,configRestore,configuring);
+        builder = builder.addTransition(configured,healthcheck,testing);
+        builder = builder.addTransition(configured,backup,backingUp);
+        builder = builder.addTransition(configured,snapshot,snapshotting);
+        builder = builder.addTransition(configured,softwareUpload,softwareUploading);
+        builder = builder.addTransition(configured,liveUpgrade,upgrading);
+        builder = builder.addTransition(configured,rollback,rollbacking);
+        builder = builder.addTransition(configured,sync,configured);
+        builder = builder.addTransition(configured,audit,configured);
+        builder = builder.addTransition(configured,migrate,migrating);
+        builder = builder.addTransition(configured,evacuate,evacuating);
+        builder = builder.addTransition(configured,lock,configured);
+        builder = builder.addTransition(configured,unlock,configured);
+        builder = builder.addTransition(configured,checklock,configured);
+        builder = builder.addTransition(configured,configBackup,configured);
+        builder = builder.addTransition(configured,configBackupDelete,configured);
+        builder = builder.addTransition(configured,configExport,configured);
+        builder = builder.addTransition(configured,stopApplication,stopping);
+
+        builder = builder.addTransition(tested,configure,configuring);
+        builder = builder.addTransition(tested,test,testing);
+        builder = builder.addTransition(tested,start,starting);
+        builder = builder.addTransition(tested,terminate,terminating);
+        builder = builder.addTransition(tested,restart,restarting);
+        builder = builder.addTransition(tested,rebuild,rebuilding);
+        builder = builder.addTransition(tested,stop,stopping);
+        builder = builder.addTransition(tested,configModify,configuring);
+        builder = builder.addTransition(tested,configScaleout,configuring);
+        builder = builder.addTransition(tested,configRestore,configuring);
+        builder = builder.addTransition(tested,healthcheck,testing);
+        builder = builder.addTransition(tested,backup,backingUp);
+        builder = builder.addTransition(tested,snapshot,snapshotting);
+        builder = builder.addTransition(tested,softwareUpload,softwareUploading);
+        builder = builder.addTransition(tested,liveUpgrade,upgrading);
+        builder = builder.addTransition(tested,rollback,rollbacking);
+        builder = builder.addTransition(tested,sync,tested);
+        builder = builder.addTransition(tested,audit,tested);
+        builder = builder.addTransition(tested,migrate,migrating);
+        builder = builder.addTransition(tested,evacuate,evacuating);
+        builder = builder.addTransition(tested,lock,tested);
+        builder = builder.addTransition(tested,unlock,tested);
+        builder = builder.addTransition(tested,checklock,tested);
+        builder = builder.addTransition(tested,configBackup,tested);
+        builder = builder.addTransition(tested,configBackupDelete,tested);
+        builder = builder.addTransition(tested,configExport,tested);
+        builder = builder.addTransition(tested,stopApplication,stopping);
+
+        builder = builder.addTransition(running,configure,configuring);
+        builder = builder.addTransition(running,test,testing);
+        builder = builder.addTransition(running,start,starting);
+        builder = builder.addTransition(running,terminate,terminating);
+        builder = builder.addTransition(running,restart,restarting);
+        builder = builder.addTransition(running,rebuild,rebuilding);
+        builder = builder.addTransition(running,stop,stopping);
+        builder = builder.addTransition(running,configModify,configuring);
+        builder = builder.addTransition(running,configScaleout,configuring);
+        builder = builder.addTransition(running,configRestore,configuring);
+        builder = builder.addTransition(running,healthcheck,testing);
+        builder = builder.addTransition(running,backup,backingUp);
+        builder = builder.addTransition(running,snapshot,snapshotting);
+        builder = builder.addTransition(running,softwareUpload,softwareUploading);
+        builder = builder.addTransition(running,liveUpgrade,upgrading);
+        builder = builder.addTransition(running,rollback,rollbacking);
+        builder = builder.addTransition(running,sync,running);
+        builder = builder.addTransition(running,audit,running);
+        builder = builder.addTransition(running,migrate,migrating);
+        builder = builder.addTransition(running,evacuate,evacuating);
+        builder = builder.addTransition(running,lock,running);
+        builder = builder.addTransition(running,unlock,running);
+        builder = builder.addTransition(running,checklock,running);
+        builder = builder.addTransition(running,configBackup,running);
+        builder = builder.addTransition(running,configBackupDelete,running);
+        builder = builder.addTransition(running,configExport,running);
+        builder = builder.addTransition(running,stopApplication,stopping);
+
+        builder = builder.addTransition(error,configure,configuring);
+        builder = builder.addTransition(error,test,testing);
+        builder = builder.addTransition(error,start,starting);
+        builder = builder.addTransition(error,terminate,terminating);
+        builder = builder.addTransition(error,restart,restarting);
+        builder = builder.addTransition(error,rebuild,rebuilding);
+        builder = builder.addTransition(error,stop,stopping);
+        builder = builder.addTransition(error,configModify,configuring);
+        builder = builder.addTransition(error,configScaleout,configuring);
+        builder = builder.addTransition(error,configRestore,configuring);
+        builder = builder.addTransition(error,healthcheck,testing);
+        builder = builder.addTransition(error,backup,backingUp);
+        builder = builder.addTransition(error,snapshot,snapshotting);
+        builder = builder.addTransition(error,softwareUpload,softwareUploading);
+        builder = builder.addTransition(error,liveUpgrade,upgrading);
+        builder = builder.addTransition(error,rollback,rollbacking);
+        builder = builder.addTransition(error,sync,error);
+        builder = builder.addTransition(error,audit,error);
+        builder = builder.addTransition(error,migrate,migrating);
+        builder = builder.addTransition(error,evacuate,evacuating);
+        builder = builder.addTransition(error,lock,error);
+        builder = builder.addTransition(error,unlock,error);
+        builder = builder.addTransition(error,checklock,error);
+        builder = builder.addTransition(error,configBackup,error);
+        builder = builder.addTransition(error,configBackupDelete,error);
+        builder = builder.addTransition(error,configExport,error);
+        builder = builder.addTransition(error,stopApplication,stopping);
+
+        builder = builder.addTransition(unknown,configure,configuring);
+        builder = builder.addTransition(unknown,test,testing);
+        builder = builder.addTransition(unknown,start,starting);
+        builder = builder.addTransition(unknown,terminate,terminating);
+        builder = builder.addTransition(unknown,restart,restarting);
+        builder = builder.addTransition(unknown,rebuild,rebuilding);
+        builder = builder.addTransition(unknown,stop,stopping);
+        builder = builder.addTransition(unknown,configModify,configuring);
+        builder = builder.addTransition(unknown,configScaleout,configuring);
+        builder = builder.addTransition(unknown,configRestore,configuring);
+        builder = builder.addTransition(unknown,healthcheck,testing);
+        builder = builder.addTransition(unknown,backup,backingUp);
+        builder = builder.addTransition(unknown,snapshot,snapshotting);
+        builder = builder.addTransition(unknown,softwareUpload,softwareUploading);
+        builder = builder.addTransition(unknown,liveUpgrade,upgrading);
+        builder = builder.addTransition(unknown,rollback,rollbacking);
+        builder = builder.addTransition(unknown,sync,unknown);
+        builder = builder.addTransition(unknown,audit,unknown);
+        builder = builder.addTransition(unknown,migrate,migrating);
+        builder = builder.addTransition(unknown,evacuate,evacuating);
+        builder = builder.addTransition(unknown,lock,unknown);
+        builder = builder.addTransition(unknown,unlock,unknown);
+        builder = builder.addTransition(unknown,checklock,unknown);
+        builder = builder.addTransition(unknown,configBackup,unknown);
+        builder = builder.addTransition(unknown,configBackupDelete,unknown);
+        builder = builder.addTransition(unknown,configExport,unknown);
+        builder = builder.addTransition(unknown,stopApplication,stopping);
+
+        builder = builder.addTransition(stopped,configure,configuring);
+        builder = builder.addTransition(stopped,test,testing);
+        builder = builder.addTransition(stopped,start,starting);
+        builder = builder.addTransition(stopped,terminate,terminating);
+        builder = builder.addTransition(stopped,restart,restarting);
+        builder = builder.addTransition(stopped,rebuild,rebuilding);
+        builder = builder.addTransition(stopped,configModify,configuring);
+        builder = builder.addTransition(stopped,configScaleout,configuring);
+        builder = builder.addTransition(stopped,configRestore,configuring);
+        builder = builder.addTransition(stopped,healthcheck,testing);
+        builder = builder.addTransition(stopped,backup,backingUp);
+        builder = builder.addTransition(stopped,snapshot,snapshotting);
+        builder = builder.addTransition(stopped,softwareUpload,softwareUploading);
+        builder = builder.addTransition(stopped,liveUpgrade,upgrading);
+        builder = builder.addTransition(stopped,rollback,rollbacking);
+        builder = builder.addTransition(stopped,migrate,migrating);
+        builder = builder.addTransition(stopped,evacuate,evacuating);
+        builder = builder.addTransition(stopped,lock,stopped);
+        builder = builder.addTransition(stopped,unlock,stopped);
+        builder = builder.addTransition(stopped,checklock,stopped);
+
+        builder = builder.addTransition(configuring,success,configured);
+        builder = builder.addTransition(configuring,failure,error);
+
+        builder = builder.addTransition(testing,success,tested);
+        builder = builder.addTransition(testing,failure,error);
+
+        builder = builder.addTransition(restarting,success,running);
+        builder = builder.addTransition(restarting,failure,error);
+
+        builder = builder.addTransition(starting,success,running);
+        builder = builder.addTransition(starting,failure,error);
+
+        builder = builder.addTransition(terminating,success,notInstantiated);
+        builder = builder.addTransition(terminating,failure,error);
+
+        builder = builder.addTransition(rebuilding,success,running);
+        builder = builder.addTransition(rebuilding,failure,error);
+
+        builder = builder.addTransition(stopping,success,stopped);
+        builder = builder.addTransition(stopping,failure,error);
+
+        builder = builder.addTransition(backingUp,success,running);
+        builder = builder.addTransition(backingUp,failure,error);
+
+        builder = builder.addTransition(snapshotting,success,running);
+        builder = builder.addTransition(snapshotting,failure,error);
+
+        builder = builder.addTransition(softwareUploading,success,running);
+        builder = builder.addTransition(softwareUploading,failure,error);
+
+        builder = builder.addTransition(upgrading,success,running);
+        builder = builder.addTransition(upgrading,failure,error);
+
+        builder = builder.addTransition(rollbacking,success,running);
+        builder = builder.addTransition(rollbacking,failure,error);
+
+        builder = builder.addTransition(migrating,success,running);
+        builder = builder.addTransition(migrating,failure,error);
+
+        builder = builder.addTransition(evacuating,success,running);
+        builder = builder.addTransition(evacuating,failure,error);
+
+
+        builder = builder.addTransition(configured,startApplication,starting);
+        builder = builder.addTransition(tested,startApplication,starting);
+        builder = builder.addTransition(error,startApplication,starting);
+        builder = builder.addTransition(unknown,startApplication,starting);
+        builder = builder.addTransition(running,startApplication,starting);
+
+        return builder.build();
     }
 }