Add collaboration feature
[sdc.git] / openecomp-be / api / openecomp-sdc-rest-webapp / vendor-software-products-rest / vendor-software-products-rest-services / src / main / java / org / openecomp / sdcrests / vsp / rest / services / ProcessesImpl.java
1 /*-
2  * ============LICENSE_START=======================================================
3  * SDC
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.sdcrests.vsp.rest.services;
22
23 import org.apache.cxf.jaxrs.ext.multipart.Attachment;
24 import org.openecomp.sdc.logging.api.Logger;
25 import org.openecomp.sdc.logging.api.LoggerFactory;
26 import org.openecomp.sdc.logging.context.MdcUtil;
27 import org.openecomp.sdc.logging.messages.AuditMessages;
28 import org.openecomp.sdc.logging.types.LoggerServiceName;
29 import org.openecomp.sdcrests.vendorsoftwareproducts.types.ProcessRequestDto;
30 import org.openecomp.sdcrests.vsp.rest.ComponentProcesses;
31 import org.openecomp.sdcrests.vsp.rest.Processes;
32 import org.springframework.beans.factory.annotation.Autowired;
33 import org.springframework.context.annotation.Scope;
34 import org.springframework.stereotype.Service;
35
36 import javax.inject.Named;
37 import javax.ws.rs.core.Response;
38
39 @Named
40 @Service("processes")
41 @Scope(value = "prototype")
42 public class ProcessesImpl implements Processes {
43
44   private static final Logger logger = LoggerFactory.getLogger(ProcessesImpl.class);
45   @Autowired
46   private ComponentProcesses componentProcesses;
47
48   @Override
49   public Response list(String vspId, String versionId, String user) {
50     MdcUtil.initMdc(LoggerServiceName.List_Processes.toString());
51     return componentProcesses.list(vspId, versionId, null, user);
52   }
53
54   @Override
55   public Response deleteList(String vspId, String versionId, String user) {
56     MdcUtil.initMdc(LoggerServiceName.Delete_List_Processes.toString());
57     return componentProcesses.deleteList(vspId, versionId, null, user);
58   }
59
60   @Override
61   public Response create(ProcessRequestDto request, String vspId, String versionId, String user) {
62     MdcUtil.initMdc(LoggerServiceName.Create_Process.toString());
63     return componentProcesses.create(request, vspId, versionId, null, user);
64   }
65
66   @Override
67   public Response get(String vspId, String versionId, String processId, String user) {
68     MdcUtil.initMdc(LoggerServiceName.Get_Processes.toString());
69     return componentProcesses.get(vspId, versionId, null, processId, user);
70   }
71
72   @Override
73   public Response delete(String vspId, String versionId, String processId, String user) {
74     MdcUtil.initMdc(LoggerServiceName.Delete_Processes.toString());
75     return componentProcesses.delete(vspId, versionId, null, processId, user);
76   }
77
78   @Override
79   public Response update(ProcessRequestDto request, String vspId, String versionId,
80                          String processId, String user) {
81     MdcUtil.initMdc(LoggerServiceName.Update_Process.toString());
82     return componentProcesses.update(request, vspId, versionId, null, processId, user);
83   }
84
85   @Override
86   public Response getUploadedFile(String vspId, String versionId, String processId, String user) {
87     MdcUtil.initMdc(LoggerServiceName.Get_Uploaded_File_Processes.toString());
88     return componentProcesses.getUploadedFile(vspId, versionId, null, processId, user);
89   }
90
91   @Override
92   public Response deleteUploadedFile(String vspId, String versionId, String processId,
93                                      String user) {
94     MdcUtil.initMdc(LoggerServiceName.Delete_Uploaded_File_Processes.toString());
95     return componentProcesses.deleteUploadedFile(vspId, versionId, null, processId, user);
96   }
97
98   @Override
99   public Response uploadFile(Attachment attachment, String vspId, String versionId,
100                              String processId, String user) {
101     MdcUtil.initMdc(LoggerServiceName.Upload_File_Processes.toString());
102     logger.audit(AuditMessages.AUDIT_MSG + AuditMessages.UPLOAD_PROCESS_ARTIFACT + vspId);
103     return componentProcesses.uploadFile(attachment, vspId, versionId, null, processId, user);
104   }
105 }