1 package org.openecomp.mso.global_tests.asdc.notif_emulator;
 
   3 import java.io.IOException;
 
   4 import java.io.InputStream;
 
   5 import java.util.LinkedList;
 
   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.sdc.api.results.IDistributionClientDownloadResult;
 
  20 import org.openecomp.sdc.api.results.IDistributionClientResult;
 
  21 import org.openecomp.sdc.impl.DistributionClientDownloadResultImpl;
 
  22 import org.openecomp.sdc.impl.DistributionClientResultImpl;
 
  23 import org.openecomp.sdc.utils.DistributionActionResultEnum;
 
  25 public class DistributionClientEmulator implements IDistributionClient {
 
  27         private String resourcePath;
 
  29         private List<IVfModuleMetadata> listVFModuleMetaData;
 
  31         private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
 
  33         public DistributionClientEmulator(String notifFolderInResource) {
 
  35                 resourcePath = notifFolderInResource;
 
  38         public List<IDistributionStatusMessage> getDistributionMessageReceived() {
 
  39                 return distributionMessageReceived;
 
  43         public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
 
  45                         listVFModuleMetaData = new ObjectMapper().readValue(arg0, new TypeReference<List<JsonVfModuleMetaData>>(){});
 
  46                         return listVFModuleMetaData;
 
  48                 } catch (JsonParseException e) {
 
  50                 } catch (JsonMappingException e) {
 
  52                 } catch (IOException e) {
 
  58         public List<IVfModuleMetadata> getListVFModuleMetaData() {
 
  59                 return listVFModuleMetaData;
 
  63         public IDistributionClientDownloadResult download (IArtifactInfo arg0) {
 
  66                 //String filename = resourcePath+"/artifacts/"+arg0.getArtifactURL();
 
  67                 String filename = arg0.getArtifactURL();
 
  68                 System.out.println("Emulating the download from resources files:"+filename);
 
  69                 InputStream inputStream = Thread.currentThread().getContextClassLoader().getResourceAsStream(resourcePath+"/artifacts/"+filename);
 
  71                 if (inputStream == null) {
 
  72                         System.out.println("InputStream is NULL for:"+filename);
 
  75                         return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),IOUtils.toByteArray(inputStream));
 
  76                 } catch (IOException e) {
 
  84         public IConfiguration getConfiguration() {
 
  89         public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
 
  90                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
 
  94         public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
 
  95                 this.distributionMessageReceived.add(arg0);
 
  96                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
 
 100         public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
 
 101                 this.distributionMessageReceived.add(arg0);
 
 102                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
 
 106         public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
 
 107                 this.distributionMessageReceived.add(arg0);
 
 108                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
 
 112         public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
 
 113                 this.distributionMessageReceived.add(arg0);
 
 114                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
 
 118         public IDistributionClientResult start() {
 
 119                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
 
 123         public IDistributionClientResult stop() {
 
 124                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
 
 129         public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
 
 130                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());