[MSO-8] Update the maven dependency
[so.git] / packages / arquillian-unit-tests / src / test / java / org / openecomp / mso / global_tests / asdc / notif_emulator / DistributionClientEmulator.java
1 package org.openecomp.mso.global_tests.asdc.notif_emulator;
2
3 import java.io.IOException;
4 import java.io.InputStream;
5 import java.util.LinkedList;
6 import java.util.List;
7
8 import org.apache.commons.io.IOUtils;
9 import org.codehaus.jackson.JsonParseException;
10 import org.codehaus.jackson.map.JsonMappingException;
11 import org.codehaus.jackson.map.ObjectMapper;
12 import org.codehaus.jackson.type.TypeReference;
13 import org.openecomp.sdc.api.IDistributionClient;
14 import org.openecomp.sdc.api.consumer.IConfiguration;
15 import org.openecomp.sdc.api.consumer.IDistributionStatusMessage;
16 import org.openecomp.sdc.api.consumer.INotificationCallback;
17 import org.openecomp.sdc.api.notification.IArtifactInfo;
18 import org.openecomp.sdc.api.notification.IVfModuleMetadata;
19 import org.openecomp.mso.asdc.installer.IVfModuleData;
20 import org.openecomp.mso.asdc.installer.VfModuleMetaData;
21 import org.openecomp.mso.asdc.client.ASDCConfiguration;
22 import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;
23 import org.openecomp.sdc.api.results.IDistributionClientResult;
24 import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl;
25 import org.openecomp.sdc.impl.DistributionClientResultImpl;
26 import org.openecomp.sdc.utils.DistributionActionResultEnum;
27
28 public class DistributionClientEmulator implements IDistributionClient {
29
30         private String resourcePath;
31
32         private List<IVfModuleData> listVFModuleMetaData;
33
34         private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
35
36         public DistributionClientEmulator(String notifFolderInResource) {
37
38                 resourcePath = notifFolderInResource;
39         }
40
41         public List<IDistributionStatusMessage> getDistributionMessageReceived() {
42                 return distributionMessageReceived;
43         }
44         @Deprecated
45         public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
46
47
48                 return null;
49         }
50
51         public List<IVfModuleData> getListVFModuleMetaData() {
52                 return listVFModuleMetaData;
53         }
54
55     @Override
56         public IDistributionClientDownloadResult download (IArtifactInfo arg0) {
57
58                 //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL();
59                 String filename = arg0.getArtifactURL();
60                 System.out.println("Emulating the download from resources files:"+filename);
61                 InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath+"/artifacts/"+filename);
62
63                 if (inputStream == null) {
64                         System.out.println("InputStream is NULL for:"+filename);
65                 }
66                 try {
67                         byte[] bytes = IOUtils.toByteArray(inputStream);
68                         if (arg0.getArtifactType().equals(ASDCConfiguration.VF_MODULES_METADATA)) {
69                                 listVFModuleMetaData = new ObjectMapper().readValue(bytes, new TypeReference<List<VfModuleMetaData>>() {
70                                 });
71                         }
72                         return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),bytes);
73                 } catch (IOException e) {
74                                 return null;
75                 }
76         }
77
78         @Override
79         public IConfiguration getConfiguration() {
80                 return null;
81         }
82
83         @Override
84         public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
85                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
86         }
87
88         @Override
89         public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
90                 this.distributionMessageReceived.add(arg0);
91                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
92         }
93
94         @Override
95         public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
96                 this.distributionMessageReceived.add(arg0);
97                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
98         }
99
100         @Override
101         public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
102                 this.distributionMessageReceived.add(arg0);
103                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
104         }
105
106         @Override
107         public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
108                 this.distributionMessageReceived.add(arg0);
109                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
110         }
111
112         @Override
113         public IDistributionClientResult start() {
114                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
115         }
116
117         @Override
118         public IDistributionClientResult stop() {
119                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
120
121         }
122
123         @Override
124         public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
125                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
126         }
127
128 }