Merge "Reorder modifiers"
[so.git] / mso-api-handlers / mso-api-handler-infra / src / main / java / org / openecomp / mso / apihandlerinfra / tenantisolation / OperationalEnvironmentProcessFactory.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.openecomp.mso.apihandlerinfra.tenantisolation;\r
22 \r
23 import org.openecomp.mso.apihandlerinfra.tenantisolation.process.ActivateVnfOperationalEnvironment;\r
24 import org.openecomp.mso.apihandlerinfra.tenantisolation.process.ActivateVnfStatusOperationalEnvironment;\r
25 import org.openecomp.mso.apihandlerinfra.tenantisolation.process.CreateEcompOperationalEnvironment;\r
26 import org.openecomp.mso.apihandlerinfra.tenantisolation.process.CreateVnfOperationalEnvironment;\r
27 import org.openecomp.mso.apihandlerinfra.tenantisolation.process.DeactivateVnfOperationalEnvironment;\r
28 import org.openecomp.mso.apihandlerinfra.tenantisolation.process.OperationalEnvironmentProcess;\r
29 import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.Action;\r
30 import org.openecomp.mso.apihandlerinfra.tenantisolationbeans.OperationalEnvironment;\r
31 \r
32 public class OperationalEnvironmentProcessFactory {\r
33 \r
34         public OperationalEnvironmentProcess getOperationalEnvironmentProcess(Action action, String operationalEnvType, CloudOrchestrationRequest cor, String requestId) throws Exception{\r
35 \r
36                 if(Action.create.equals(action)) {\r
37                         if(OperationalEnvironment.ECOMP.name().equalsIgnoreCase(operationalEnvType)) {\r
38                                 return new CreateEcompOperationalEnvironment(cor, requestId);\r
39                         } else if(OperationalEnvironment.VNF.name().equalsIgnoreCase(operationalEnvType)) {\r
40                                 return new CreateVnfOperationalEnvironment(cor, requestId);\r
41                         } else {\r
42                                 throw new Exception("Invalid OperationalEnvironment Type specified for Create Action");\r
43                         }\r
44                 } else if(Action.activate.equals(action)) {\r
45                         return new ActivateVnfOperationalEnvironment(cor, requestId);\r
46                 } else if(Action.deactivate.equals(action)) {\r
47                         return new DeactivateVnfOperationalEnvironment(cor, requestId);\r
48                 } else if(Action.distributionStatus.equals(action)) {\r
49                         return new ActivateVnfStatusOperationalEnvironment(cor, requestId);\r
50                 } else {\r
51                         throw new Exception("Invalid Action specified: " + action);\r
52                 }\r
53         }\r
54 }\r