Merge "Refactor Status to be immutable"
[appc.git] / appc-dispatcher / appc-command-executor / appc-command-executor-core / src / main / java / org / openecomp / appc / executor / impl / CommandTaskFactory.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * openECOMP : APP-C
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights
6  *                                              reserved.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  * 
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  * 
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.openecomp.appc.executor.impl;
23
24
25 import org.openecomp.appc.domainmodel.lcm.VNFOperation;
26 import org.openecomp.appc.executor.impl.objects.CommandRequest;
27 import org.openecomp.appc.lifecyclemanager.LifecycleManager;
28 import org.openecomp.appc.requesthandler.RequestHandler;
29 import org.openecomp.appc.workflow.WorkFlowManager;
30
31
32
33
34 public class CommandTaskFactory {
35
36 //    private LCMCommandTask lcmCommandTask;
37 //    private LCMReadonlyCommandTask LCMReadonlyCommandTask;
38
39     private RequestHandler requestHandler;
40     private WorkFlowManager workflowManager;
41     private LifecycleManager lifecyclemanager;
42
43
44     public void setWorkflowManager(WorkFlowManager workflowManager) {
45         this.workflowManager = workflowManager;
46     }
47
48     public void setRequestHandler(RequestHandler requestHandler) {
49         this.requestHandler = requestHandler;
50     }
51
52     public void setLifecyclemanager(LifecycleManager lifecyclemanager) {
53         this.lifecyclemanager = lifecyclemanager;
54     }
55
56
57     public synchronized CommandTask<? extends CommandRequest> getExecutionTask(String action){
58         if (VNFOperation.Sync.toString().equals(action) || VNFOperation.Audit.toString().equals(action)){
59             return new LCMReadonlyCommandTask(requestHandler,workflowManager);
60         }else {
61             return new LCMCommandTask(requestHandler,workflowManager,
62                     lifecyclemanager);
63         }
64     }
65
66 }