1 package org.openecomp.mso.global_tests.asdc.notif_emulator;
4 import java.io.FileInputStream;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.util.LinkedList;
10 import org.apache.commons.io.IOUtils;
11 import org.codehaus.jackson.JsonParseException;
12 import org.codehaus.jackson.map.JsonMappingException;
13 import org.codehaus.jackson.map.ObjectMapper;
14 import org.codehaus.jackson.type.TypeReference;
15 import org.openecomp.sdc.api.IDistributionClient;
16 import org.openecomp.sdc.api.consumer.IConfiguration;
17 import org.openecomp.sdc.api.consumer.IDistributionStatusMessage;
18 import org.openecomp.sdc.api.consumer.INotificationCallback;
19 import org.openecomp.sdc.api.notification.IArtifactInfo;
20 import org.openecomp.sdc.api.notification.IVfModuleMetadata;
21 import org.openecomp.sdc.api.results.IDistributionClientDownloadResult;
22 import org.openecomp.sdc.api.results.IDistributionClientResult;
23 import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl;
24 import org.openecomp.sdc.impl.DistributionClientResultImpl;
25 import org.openecomp.sdc.utils.DistributionActionResultEnum;
27 import org.openecomp.mso.asdc.installer.IVfModuleData;
29 public class DistributionClientEmulator implements IDistributionClient {
31 private String resourcePath;
33 private List<IVfModuleData> listVFModuleMetaData;
35 private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
37 public DistributionClientEmulator(String notifFolderInResource) {
39 resourcePath = notifFolderInResource;
42 public List<IDistributionStatusMessage> getDistributionMessageReceived() {
43 return distributionMessageReceived;
47 public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
52 public List<IVfModuleData> decodeVfModuleArtifact(byte[] arg0) {
54 listVFModuleMetaData = new ObjectMapper().readValue(arg0, new TypeReference<List<JsonVfModuleMetaData>>(){});
55 return listVFModuleMetaData;
57 } catch (JsonParseException e) {
59 } catch (JsonMappingException e) {
61 } catch (IOException e) {
67 public List<IVfModuleData> getListVFModuleMetaData() {
68 return listVFModuleMetaData;
72 public IDistributionClientDownloadResult download (IArtifactInfo arg0) {
75 //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL();
76 String filename = arg0.getArtifactURL();
77 System.out.println("Emulating the download from resources files:"+filename);
79 InputStream inputStream = null;
81 if(arg0.getArtifactName().equals("service_Rg516VmmscSrvc_csar.csar")){
83 inputStream = new FileInputStream(System.getProperty("java.io.tmpdir") + File.separator + "service_Rg516VmmscSrvc_csar.csar");
85 System.out.println("Error " + e.getMessage());
89 inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath + filename);
92 if (inputStream == null) {
93 System.out.println("InputStream is NULL for:"+filename);
96 return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),IOUtils.toByteArray(inputStream));
97 } catch (IOException e) {
105 public IConfiguration getConfiguration() {
110 public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
111 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
115 public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
116 this.distributionMessageReceived.add(arg0);
117 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
121 public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
122 this.distributionMessageReceived.add(arg0);
123 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
127 public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
128 this.distributionMessageReceived.add(arg0);
129 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
133 public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
134 this.distributionMessageReceived.add(arg0);
135 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
139 public IDistributionClientResult start() {
140 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
144 public IDistributionClientResult stop() {
145 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
150 public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
151 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());