5ac1d6dade90bc262dc35e462d58bdaed62eb4f3
[policy/drools-pdp.git] /
1 /*
2  * ============LICENSE_START=======================================================
3  * ONAP
4  * ================================================================================
5  * Copyright (C) 2017-2021 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.policy.drools.controller.internal;
22
23 import java.util.ArrayList;
24 import java.util.Collections;
25 import java.util.HashMap;
26 import java.util.List;
27 import java.util.Map;
28 import lombok.NonNull;
29 import lombok.ToString;
30 import org.onap.policy.common.endpoints.event.comm.TopicSink;
31 import org.onap.policy.drools.controller.DroolsController;
32 import org.onap.policy.drools.controller.DroolsControllerConstants;
33 import org.onap.policy.drools.core.PolicyContainer;
34 import org.onap.policy.drools.protocol.coders.TopicCoderFilterConfiguration;
35
36 /**
37  * no-op Drools Controller.
38  */
39 @ToString
40 public class NullDroolsController implements DroolsController {
41
42     @Override
43     public boolean start() {
44         return false;
45     }
46
47     @Override
48     public boolean stop() {
49         return false;
50     }
51
52     @Override
53     public void shutdown() {
54         // do nothing
55     }
56
57     @Override
58     public void halt() {
59         // do nothing
60     }
61
62     @Override
63     public boolean isAlive() {
64         return false;
65     }
66
67     @Override
68     public boolean lock() {
69         return false;
70     }
71
72     @Override
73     public boolean unlock() {
74         return false;
75     }
76
77     @Override
78     public boolean isLocked() {
79         return false;
80     }
81
82     @Override
83     public String getGroupId() {
84         return DroolsControllerConstants.NO_GROUP_ID;
85     }
86
87     @Override
88     public String getArtifactId() {
89         return DroolsControllerConstants.NO_ARTIFACT_ID;
90     }
91
92     @Override
93     public String getVersion() {
94         return DroolsControllerConstants.NO_VERSION;
95     }
96
97     @Override
98     public List<String> getSessionNames() {
99         return new ArrayList<>();
100     }
101
102     @Override
103     public List<String> getCanonicalSessionNames() {
104         return new ArrayList<>();
105     }
106
107     @Override
108     public List<String> getBaseDomainNames() {
109         return Collections.emptyList();
110     }
111
112     @Override
113     public boolean offer(String topic, String event) {
114         return false;
115     }
116
117     @Override
118     public <T> boolean offer(T event) {
119         return false;
120     }
121
122     @Override
123     public boolean deliver(TopicSink sink, Object event) {
124         throw new IllegalStateException(makeInvokeMsg());
125     }
126
127     @Override
128     public Object[] getRecentSourceEvents() {
129         return new String[0];
130     }
131
132     @Override
133     public PolicyContainer getContainer() {
134         return null;
135     }
136
137     @Override
138     public String[] getRecentSinkEvents() {
139         return new String[0];
140     }
141
142     @Override
143     public boolean ownsCoder(Class<?> coderClass, int modelHash) {
144         throw new IllegalStateException(makeInvokeMsg());
145     }
146
147     @Override
148     public Class<?> fetchModelClass(String className) {
149         throw new IllegalArgumentException(makeInvokeMsg());
150     }
151
152     @Override
153     public boolean isBrained() {
154         return false;
155     }
156
157     @Override
158     public void updateToVersion(String newGroupId, String newArtifactId, String newVersion,
159             List<TopicCoderFilterConfiguration> decoderConfigurations,
160             List<TopicCoderFilterConfiguration> encoderConfigurations)
161                     throws LinkageError {
162         throw new IllegalArgumentException(makeInvokeMsg());
163     }
164
165     @Override
166     public Map<String, Integer> factClassNames(String sessionName) {
167         return new HashMap<>();
168     }
169
170     @Override
171     public long factCount(String sessionName) {
172         return 0;
173     }
174
175     @Override
176     public List<Object> facts(String sessionName, String className, boolean delete) {
177         return new ArrayList<>();
178     }
179
180     @Override
181     public <T> List<T> facts(@NonNull String sessionName, @NonNull Class<T> clazz) {
182         return new ArrayList<>();
183     }
184
185     @Override
186     public List<Object> factQuery(String sessionName, String queryName,
187             String queriedEntity,
188             boolean delete, Object... queryParams) {
189         return new ArrayList<>();
190     }
191
192     @Override
193     public <T> boolean delete(@NonNull String sessionName, @NonNull T fact) {
194         return false;
195     }
196
197     @Override
198     public <T> boolean delete(@NonNull T fact) {
199         return false;
200     }
201
202     @Override
203     public <T> boolean delete(@NonNull String sessionName, @NonNull Class<T> fact) {
204         return false;
205     }
206
207     @Override
208     public <T> boolean delete(@NonNull Class<T> fact) {
209         return false;
210     }
211
212     @Override
213     public <T> boolean exists(@NonNull String sessionName, @NonNull T fact) {
214         return false;
215     }
216
217     @Override
218     public <T> boolean exists(@NonNull T fact) {
219         return false;
220     }
221
222     private String makeInvokeMsg() {
223         return this.getClass().getName() + " invoked";
224     }
225 }