2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Copyright (C) 2017 Amdocs
\r
8 * =============================================================================
\r
9 * Licensed under the Apache License, Version 2.0 (the "License");
\r
10 * you may not use this file except in compliance with the License.
\r
11 * You may obtain a copy of the License at
\r
13 * http://www.apache.org/licenses/LICENSE-2.0
\r
15 * Unless required by applicable law or agreed to in writing, software
\r
16 * distributed under the License is distributed on an "AS IS" BASIS,
\r
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
\r
18 * See the License for the specific language governing permissions and
\r
19 * limitations under the License.
\r
21 * ECOMP is a trademark and service mark of AT&T Intellectual Property.
22 * ============LICENSE_END=========================================================
\r
25 package org.openecomp.appc.statemachine.impl.readers;
\r
27 import org.openecomp.appc.statemachine.StateMetaDataReader;
\r
28 import org.openecomp.appc.statemachine.objects.Event;
\r
29 import org.openecomp.appc.statemachine.objects.State;
\r
30 import org.openecomp.appc.statemachine.objects.StateMachineMetadata;
\r
32 public class AppcOamMetaDataReader implements StateMetaDataReader {
\r
34 public enum AppcOperation {
\r
42 public StateMachineMetadata readMetadata() {
\r
43 State NOT_INSTANTIATED = new State(AppcOamStates.NotInstantiated.toString());
\r
44 State INSTANTIATED = new State(AppcOamStates.Instantiated.toString());
\r
45 State RESTARTING = new State(AppcOamStates.Restarting.toString());
\r
46 State STARTING = new State(AppcOamStates.Starting.toString());
\r
47 State STARTED = new State(AppcOamStates.Started.toString());
\r
48 State ENTERING_MAINTENANCE_MODE = new State(AppcOamStates.EnteringMaintenanceMode.toString());
\r
49 State MAINTENANCE_MODE = new State(AppcOamStates.MaintenanceMode.toString());
\r
50 State ERROR = new State(AppcOamStates.Error.toString());
\r
51 State UNKNOWN = new State(AppcOamStates.Unknown.toString());
\r
52 State STOPPING = new State(AppcOamStates.Stopping.toString());
\r
53 State STOPPED = new State(AppcOamStates.Stopped.toString());
\r
55 Event START = new Event(AppcOperation.Start.toString());
\r
56 Event STOP = new Event(AppcOperation.Stop.toString());
\r
57 Event MAINTENANCE_MODE_EVENT = new Event(AppcOperation.MaintenanceMode.toString());
\r
58 Event RESTART = new Event(AppcOperation.Restart.toString());
\r
60 StateMachineMetadata.StateMachineMetadataBuilder builder = new StateMachineMetadata
\r
61 .StateMachineMetadataBuilder();
\r
63 builder = builder.addState(NOT_INSTANTIATED);
\r
64 builder = builder.addState(INSTANTIATED);
\r
65 builder = builder.addState(STARTING);
\r
66 builder = builder.addState(STARTED);
\r
67 builder = builder.addState(ERROR);
\r
68 builder = builder.addState(UNKNOWN);
\r
69 builder = builder.addState(STOPPING);
\r
70 builder = builder.addState(STOPPED);
\r
71 builder = builder.addState(ENTERING_MAINTENANCE_MODE);
\r
72 builder = builder.addState(MAINTENANCE_MODE);
\r
73 builder = builder.addState(RESTARTING);
\r
75 builder = builder.addEvent(START);
\r
76 builder = builder.addEvent(STOP);
\r
77 builder = builder.addEvent(RESTART);
\r
78 builder = builder.addEvent(MAINTENANCE_MODE_EVENT);
\r
81 * for addTransition:
\r
82 * param 1: current state; param 2: received command/request; param 3: new transition state
\r
85 builder = builder.addTransition(STOPPED, START, STARTING);
\r
86 builder = builder.addTransition(MAINTENANCE_MODE, START, STARTING);
\r
87 builder = builder.addTransition(ERROR, START, STARTING);
\r
89 builder = builder.addTransition(STARTED, STOP, STOPPING);
\r
90 builder = builder.addTransition(STARTING, STOP, STOPPING);
\r
91 builder = builder.addTransition(ENTERING_MAINTENANCE_MODE, STOP, STOPPING);
\r
92 builder = builder.addTransition(MAINTENANCE_MODE, STOP, STOPPING);
\r
93 builder = builder.addTransition(ERROR, STOP, STOPPING);
\r
95 builder = builder.addTransition(
\r
96 STARTED, MAINTENANCE_MODE_EVENT, ENTERING_MAINTENANCE_MODE);
\r
98 builder = builder.addTransition(STOPPED, RESTART, RESTARTING);
\r
99 builder = builder.addTransition(STARTING, RESTART, RESTARTING);
\r
100 builder = builder.addTransition(STARTED, RESTART, RESTARTING);
\r
101 builder = builder.addTransition(ENTERING_MAINTENANCE_MODE, RESTART, RESTARTING);
\r
102 builder = builder.addTransition(MAINTENANCE_MODE, RESTART, RESTARTING);
\r
103 builder = builder.addTransition(ERROR, RESTART, RESTARTING);
\r
105 return builder.build();
\r