1d076560129c4e83f2aa0076db05cb29959bf72e
[so.git] /
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.onap.so.asdc.client.test.emulators;
22
23 import java.io.IOException;
24 import java.nio.file.Files;
25 import java.nio.file.Paths;
26 import java.util.LinkedList;
27 import java.util.List;
28
29 import org.onap.so.asdc.installer.IVfModuleData;
30 import org.onap.so.logger.MsoLogger;
31 import org.onap.sdc.api.IDistributionClient;
32 import org.onap.sdc.api.consumer.IComponentDoneStatusMessage;
33 import org.onap.sdc.api.consumer.IConfiguration;
34 import org.onap.sdc.api.consumer.IDistributionStatusMessage;
35 import org.onap.sdc.api.consumer.IFinalDistrStatusMessage;
36 import org.onap.sdc.api.consumer.INotificationCallback;
37 import org.onap.sdc.api.consumer.IStatusCallback;
38 import org.onap.sdc.api.notification.IArtifactInfo;
39 import org.onap.sdc.api.notification.IVfModuleMetadata;
40 import org.onap.sdc.api.results.IDistributionClientDownloadResult;
41 import org.onap.sdc.api.results.IDistributionClientResult;
42 import org.onap.sdc.impl.DistributionClientDownloadResultImpl;
43 import org.onap.sdc.impl.DistributionClientResultImpl;
44 import org.onap.sdc.utils.DistributionActionResultEnum;
45
46 public class DistributionClientEmulator implements IDistributionClient {
47
48         private String resourcePath;
49         
50         private List<IVfModuleData> listVFModuleMetaData;
51         
52         private List<IDistributionStatusMessage> distributionMessageReceived = new LinkedList<>();
53         
54         
55         private static final MsoLogger logger = MsoLogger.getMsoLogger (MsoLogger.Catalog.ASDC,DistributionClientEmulator.class );
56         
57         public DistributionClientEmulator() {                   
58         }
59         
60         public DistributionClientEmulator(String notifFolderInResource) {               
61                 resourcePath = notifFolderInResource;
62         }
63
64         public List<IDistributionStatusMessage> getDistributionMessageReceived() {
65                 return distributionMessageReceived;
66         }
67         
68         @Override
69         public List<IVfModuleMetadata> decodeVfModuleArtifact(byte[] arg0) {
70                 return null;
71         }
72         
73         public String getResourcePath() {
74                 return resourcePath;
75         }
76
77         public void setResourcePath(String resourcePath) {
78                 this.resourcePath = resourcePath;
79         }
80
81         public List<IVfModuleData> getListVFModuleMetaData() {
82                 return listVFModuleMetaData;
83         }
84
85         @Override
86         public IDistributionClientDownloadResult download (IArtifactInfo arg0) {                
87                 
88                 String filename = arg0.getArtifactURL();
89         
90                 byte[] inputStream=null;
91                 try {
92                         inputStream = getData(filename);
93                 } catch (IOException e) {                       
94                         logger.debug("InputStream is NULL for:"+ resourcePath + filename);
95                 }               
96         
97                 return new DistributionClientDownloadResultImpl(DistributionActionResultEnum.SUCCESS, DistributionActionResultEnum.SUCCESS.name(),arg0.getArtifactName(),inputStream);          
98         }
99         
100         private byte[] getData(String filename) throws IOException {
101                  return Files.readAllBytes(Paths.get(resourcePath + filename));
102         }
103
104         @Override
105         public IConfiguration getConfiguration() {
106                 return null;
107         }
108
109         @Override
110         public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1) {
111                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
112         }
113         
114         @Override
115         public IDistributionClientResult init(IConfiguration arg0, INotificationCallback arg1, IStatusCallback arg2) {
116                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
117         }
118
119         @Override
120         public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0) {
121                 this.distributionMessageReceived.add(arg0);
122                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
123         }
124
125         @Override
126         public IDistributionClientResult sendDeploymentStatus(IDistributionStatusMessage arg0, String arg1) {
127                 this.distributionMessageReceived.add(arg0);
128                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
129         }
130
131         @Override
132         public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0) {
133                 this.distributionMessageReceived.add(arg0);
134                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
135         }
136
137         @Override
138         public IDistributionClientResult sendDownloadStatus(IDistributionStatusMessage arg0, String arg1) {
139                 this.distributionMessageReceived.add(arg0);
140                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
141         }
142
143         @Override
144         public IDistributionClientResult start() {
145                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
146         }
147
148         @Override
149         public IDistributionClientResult stop() {
150                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
151                 
152         }
153
154         @Override
155         public IDistributionClientResult updateConfiguration(IConfiguration arg0) {
156                 return new DistributionClientResultImpl(DistributionActionResultEnum.SUCCESS,DistributionActionResultEnum.SUCCESS.name());
157         }
158
159         @Override
160         public IDistributionClientResult sendComponentDoneStatus(
161                         IComponentDoneStatusMessage arg0) {
162                 // TODO Auto-generated method stub
163                 return null;
164         }
165
166         @Override
167         public IDistributionClientResult sendFinalDistrStatus(
168                         IFinalDistrStatusMessage arg0) {
169                 // TODO Auto-generated method stub
170                 return null;
171         }
172
173         @Override
174         public IDistributionClientResult sendComponentDoneStatus(
175                         IComponentDoneStatusMessage arg0, String arg1) {
176                 // TODO Auto-generated method stub
177                 return null;
178         }
179
180         @Override
181         public IDistributionClientResult sendFinalDistrStatus(
182                         IFinalDistrStatusMessage arg0, String arg1) {
183                 // TODO Auto-generated method stub
184                 return null;
185         }
186
187 }