aa6eb3bb76519ef41fa05aec3a99c25e29e36698
[policy/apex-pdp.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  *  Copyright (C) 2018 Ericsson. All rights reserved.
4  * ================================================================================
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  * 
9  *      http://www.apache.org/licenses/LICENSE-2.0
10  * 
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  * 
17  * SPDX-License-Identifier: Apache-2.0
18  * ============LICENSE_END=========================================================
19  */
20
21 package org.onap.policy.apex.service.engine.engdep;
22
23 import java.util.ArrayList;
24 import java.util.Collection;
25 import java.util.List;
26
27 import org.apache.commons.lang3.NotImplementedException;
28 import org.onap.policy.apex.model.basicmodel.concepts.ApexException;
29 import org.onap.policy.apex.model.basicmodel.concepts.AxArtifactKey;
30 import org.onap.policy.apex.model.enginemodel.concepts.AxEngineState;
31 import org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel;
32 import org.onap.policy.apex.service.engine.runtime.ApexEventListener;
33 import org.onap.policy.apex.service.engine.runtime.EngineService;
34 import org.onap.policy.apex.service.engine.runtime.EngineServiceEventInterface;
35
36 /**
37  * A dummy engine service class.
38  */
39 public class DummyEngineService implements EngineService {
40
41     private AxArtifactKey startEngineKey;
42     private AxArtifactKey stopEngineKey;
43     private long periodicPeriod;
44     private AxArtifactKey statusKey;
45     private AxArtifactKey runtimeInfoKey;
46     private int modelKeyGetCalled;
47     private AxArtifactKey updateModelKey;
48
49     /*
50      * (non-Javadoc)
51      * 
52      * @see org.onap.policy.apex.service.engine.runtime.EngineService#registerActionListener(java.lang.String,
53      * org.onap.policy.apex.service.engine.runtime.ApexEventListener)
54      */
55     @Override
56     public void registerActionListener(String listenerName, ApexEventListener listener) {
57         throw new NotImplementedException("Not implemented on dummy class");
58     }
59
60     /*
61      * (non-Javadoc)
62      * 
63      * @see org.onap.policy.apex.service.engine.runtime.EngineService#deregisterActionListener(java.lang.String)
64      */
65     @Override
66     public void deregisterActionListener(String listenerName) {
67         throw new NotImplementedException("Not implemented on dummy class");
68     }
69
70     /*
71      * (non-Javadoc)
72      * 
73      * @see org.onap.policy.apex.service.engine.runtime.EngineService#getEngineServiceEventInterface()
74      */
75     @Override
76     public EngineServiceEventInterface getEngineServiceEventInterface() {
77         throw new NotImplementedException("Not implemented on dummy class");
78     }
79
80     /*
81      * (non-Javadoc)
82      * 
83      * @see org.onap.policy.apex.service.engine.runtime.EngineService#getKey()
84      */
85     @Override
86     public AxArtifactKey getKey() {
87         return new AxArtifactKey("DummyEngineService:0.0.1");
88     }
89
90     /*
91      * (non-Javadoc)
92      * 
93      * @see org.onap.policy.apex.service.engine.runtime.EngineService#getEngineKeys()
94      */
95     @Override
96     public Collection<AxArtifactKey> getEngineKeys() {
97         List<AxArtifactKey> keys = new ArrayList<>();
98         keys.add(new AxArtifactKey("DummyEngineService:0.0.1"));
99         return keys;
100     }
101
102     /*
103      * (non-Javadoc)
104      * 
105      * @see org.onap.policy.apex.service.engine.runtime.EngineService#getApexModelKey()
106      */
107     @Override
108     public AxArtifactKey getApexModelKey() {
109         modelKeyGetCalled++;
110         
111         return new AxArtifactKey("DummyApexModelKey:0.0.1");
112     }
113
114     /*
115      * (non-Javadoc)
116      * 
117      * @see org.onap.policy.apex.service.engine.runtime.EngineService#updateModel(org.onap.policy.apex.model.basicmodel.
118      * concepts.AxArtifactKey, java.lang.String, boolean)
119      */
120     @Override
121     public void updateModel(AxArtifactKey engineServiceKey, String apexModelString, boolean forceFlag)
122                     throws ApexException {
123         updateModelKey = engineServiceKey;
124     }
125
126     /*
127      * (non-Javadoc)
128      * 
129      * @see org.onap.policy.apex.service.engine.runtime.EngineService#updateModel(org.onap.policy.apex.model.basicmodel.
130      * concepts.AxArtifactKey, org.onap.policy.apex.model.policymodel.concepts.AxPolicyModel, boolean)
131      */
132     @Override
133     public void updateModel(AxArtifactKey engineServiceKey, AxPolicyModel apexModel, boolean forceFlag)
134                     throws ApexException {
135         throw new NotImplementedException("Not implemented on dummy class");
136     }
137
138     /*
139      * (non-Javadoc)
140      * 
141      * @see org.onap.policy.apex.service.engine.runtime.EngineService#getState()
142      */
143     @Override
144     public AxEngineState getState() {
145         throw new NotImplementedException("Not implemented on dummy class");
146     }
147
148     /*
149      * (non-Javadoc)
150      * 
151      * @see org.onap.policy.apex.service.engine.runtime.EngineService#startAll()
152      */
153     @Override
154     public void startAll() throws ApexException {
155         throw new NotImplementedException("Not implemented on dummy class");
156     }
157
158     /*
159      * (non-Javadoc)
160      * 
161      * @see
162      * org.onap.policy.apex.service.engine.runtime.EngineService#start(org.onap.policy.apex.model.basicmodel.concepts.
163      * AxArtifactKey)
164      */
165     @Override
166     public void start(AxArtifactKey engineKey) throws ApexException {
167         startEngineKey = engineKey;
168     }
169
170     /*
171      * (non-Javadoc)
172      * 
173      * @see org.onap.policy.apex.service.engine.runtime.EngineService#stop()
174      */
175     @Override
176     public void stop() throws ApexException {
177     }
178
179     /*
180      * (non-Javadoc)
181      * 
182      * @see
183      * org.onap.policy.apex.service.engine.runtime.EngineService#stop(org.onap.policy.apex.model.basicmodel.concepts.
184      * AxArtifactKey)
185      */
186     @Override
187     public void stop(AxArtifactKey engineKey) throws ApexException {
188         stopEngineKey = engineKey;
189     }
190
191     /*
192      * (non-Javadoc)
193      * 
194      * @see org.onap.policy.apex.service.engine.runtime.EngineService#clear()
195      */
196     @Override
197     public void clear() throws ApexException {
198         throw new NotImplementedException("Not implemented on dummy class");
199     }
200
201     /*
202      * (non-Javadoc)
203      * 
204      * @see
205      * org.onap.policy.apex.service.engine.runtime.EngineService#clear(org.onap.policy.apex.model.basicmodel.concepts.
206      * AxArtifactKey)
207      */
208     @Override
209     public void clear(AxArtifactKey engineKey) throws ApexException {
210         throw new NotImplementedException("Not implemented on dummy class");
211     }
212
213     /*
214      * (non-Javadoc)
215      * 
216      * @see org.onap.policy.apex.service.engine.runtime.EngineService#isStarted()
217      */
218     @Override
219     public boolean isStarted() {
220         throw new NotImplementedException("Not implemented on dummy class");
221     }
222
223     /*
224      * (non-Javadoc)
225      * 
226      * @see org.onap.policy.apex.service.engine.runtime.EngineService#isStarted(org.onap.policy.apex.model.basicmodel.
227      * concepts.AxArtifactKey)
228      */
229     @Override
230     public boolean isStarted(AxArtifactKey engineKey) {
231         throw new NotImplementedException("Not implemented on dummy class");
232     }
233
234     /*
235      * (non-Javadoc)
236      * 
237      * @see org.onap.policy.apex.service.engine.runtime.EngineService#isStopped()
238      */
239     @Override
240     public boolean isStopped() {
241         throw new NotImplementedException("Not implemented on dummy class");
242     }
243
244     /*
245      * (non-Javadoc)
246      * 
247      * @see org.onap.policy.apex.service.engine.runtime.EngineService#isStopped(org.onap.policy.apex.model.basicmodel.
248      * concepts.AxArtifactKey)
249      */
250     @Override
251     public boolean isStopped(AxArtifactKey engineKey) {
252         throw new NotImplementedException("Not implemented on dummy class");
253     }
254
255     /*
256      * (non-Javadoc)
257      * 
258      * @see org.onap.policy.apex.service.engine.runtime.EngineService#startPeriodicEvents(long)
259      */
260     @Override
261     public void startPeriodicEvents(long period) throws ApexException {
262         periodicPeriod = period;
263     }
264
265     /*
266      * (non-Javadoc)
267      * 
268      * @see org.onap.policy.apex.service.engine.runtime.EngineService#stopPeriodicEvents()
269      */
270     @Override
271     public void stopPeriodicEvents() throws ApexException {
272         periodicPeriod = 0;
273     }
274
275     /*
276      * (non-Javadoc)
277      * 
278      * @see org.onap.policy.apex.service.engine.runtime.EngineService#getStatus(org.onap.policy.apex.model.basicmodel.
279      * concepts.AxArtifactKey)
280      */
281     @Override
282     public String getStatus(AxArtifactKey engineKey) throws ApexException {
283         statusKey = engineKey;
284         return "The Status";
285     }
286
287     /*
288      * (non-Javadoc)
289      * 
290      * @see
291      * org.onap.policy.apex.service.engine.runtime.EngineService#getRuntimeInfo(org.onap.policy.apex.model.basicmodel.
292      * concepts.AxArtifactKey)
293      */
294     @Override
295     public String getRuntimeInfo(AxArtifactKey engineKey) throws ApexException {
296         runtimeInfoKey = engineKey;
297         return "The Runtime Info";
298     }
299
300     public AxArtifactKey getStartEngineKey() {
301         return startEngineKey;
302     }
303
304     public AxArtifactKey getStopEngineKey() {
305         return stopEngineKey;
306     }
307
308     public long getPeriodicPeriod() {
309         return periodicPeriod;
310     }
311
312     public AxArtifactKey getStatusKey() {
313         return statusKey;
314     }
315
316     public AxArtifactKey getRuntimeInfoKey() {
317         return runtimeInfoKey;
318     }
319
320     public int getModelKeyGetCalled() {
321         return modelKeyGetCalled;
322     }
323
324     public AxArtifactKey getUpdateModelKey() {
325         return updateModelKey;
326     }
327 }