Reduce log noise/warnings format to conventions
[so.git] / packages / arquillian-unit-tests / src / test / java / org / openecomp / mso / global_tests / asdc / notif_emulator / DistributionClientEmulator.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.global_tests.asdc.notif_emulator;
22
23 import java.io.File;
24 import java.io.FileInputStream;
25 import java.io.IOException;
26 import java.io.InputStream;
27 import java.util.LinkedList;
28 import java.util.List;
29
30 import org.apache.commons.io.IOUtils;
31 import org.codehaus.jackson.JsonParseException;
32 import org.codehaus.jackson.map.JsonMappingException;
33 import org.codehaus.jackson.map.ObjectMapper;
34 import org.codehaus.jackson.type.TypeReference;
35 import org.openecomp.sdc.api.IDistributionClient;
36 import org.openecomp.sdc.api.consumer.IConfiguration;
37 import org.openecomp.sdc.api.consumer.IDistributionStatusMessage;
38 import org.openecomp.sdc.api.consumer.INotificationCallback;
39 import org.openecomp.sdc.api.notification.IArtifactInfo;
40 import org.openecomp.sdc.api.notification.IVfModuleMetadata;
41 import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;
42 import org.openecomp.sdc.api.results.IDistributionClientResult;
43 import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl;
44 import org.openecomp.sdc.impl.DistributionClientResultImpl;
45 import org.openecomp.sdc.utils.DistributionActionResultEnum;
46
47 import org.openecomp.mso.asdc.installer.IVfModuleData;
48
49 public class DistributionClientEmulator implements IDistributionClient {
50
51     private String resourcePath;
52
53     private List<IVfModuleData> listVFModuleMetaData;
54
55     private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
56
57     public DistributionClientEmulator(String notifFolderInResource) {
58
59         resourcePath = notifFolderInResource;
60     }
61
62     public List<IDistributionStatusMessage> getDistributionMessageReceived() {
63         return distributionMessageReceived;
64     }
65
66     @Override
67     public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
68         return null;
69     }
70
71         /* @Override
72     public List<IVfModuleData> decodeVfModuleArtifact(byte[] arg0) {
73                 try {
74                         listVFModuleMetaData = new ObjectMapper().readValue(arg0, new TypeReference<List<JsonVfModuleMetaData>>(){});
75                         return listVFModuleMetaData;
76
77                 } catch (JsonParseException e) {
78                         e.printStackTrace();
79                 } catch (JsonMappingException e) {
80                         e.printStackTrace();
81                 } catch (IOException e) {
82                         e.printStackTrace();
83                 }
84                 return null;
85         } */
86
87     public List<IVfModuleData> getListVFModuleMetaData() {
88         return listVFModuleMetaData;
89     }
90
91     @Override
92     public IDistributionClientDownloadResult download(IArtifactInfo arg0) {
93
94
95         //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL();
96         String filename = arg0.getArtifactURL();
97         System.out.println("Emulating the download from resources files:" + filename);
98
99         InputStream inputStream = null;
100
101         if (arg0.getArtifactName().equals("service_Rg516VmmscSrvc_csar.csar")) {
102             try {
103                 inputStream = new FileInputStream(System.getProperty("java.io.tmpdir") + File.separator + "service_Rg516VmmscSrvc_csar.csar");
104             } catch (Exception e) {
105                 System.out.println("Error " + e.getMessage());
106             }
107         } else {
108
109             inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath + filename);
110         }
111
112         if (inputStream == null) {
113             System.out.println("InputStream is NULL for:" + filename);
114         }
115         try {
116             return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(), arg0.getArtifactName(), IOUtils.toByteArray(inputStream));
117         } catch (IOException e) {
118
119             e.printStackTrace();
120         }
121         return null;
122     }
123
124     @Override
125     public IConfiguration getConfiguration() {
126         return null;
127     }
128
129     @Override
130     public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
131         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
132     }
133
134     @Override
135     public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
136         this.distributionMessageReceived.add(arg0);
137         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
138     }
139
140     @Override
141     public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
142         this.distributionMessageReceived.add(arg0);
143         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
144     }
145
146     @Override
147     public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
148         this.distributionMessageReceived.add(arg0);
149         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
150     }
151
152     @Override
153     public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
154         this.distributionMessageReceived.add(arg0);
155         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
156     }
157
158     @Override
159     public IDistributionClientResult start() {
160         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
161     }
162
163     @Override
164     public IDistributionClientResult stop() {
165         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
166
167     }
168
169     @Override
170     public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
171         return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name());
172     }
173
174 }