598582bfd826ec73e742ef7c2c070daccc844bd4
[so.git] /
1 /*-
2  * ============LICENSE_START=======================================================
3  * ONAP - SO
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6  * Copyright (C) 2019 Nokia.
7  * ================================================================================
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  * ============LICENSE_END=========================================================
20  */
21
22 package org.onap.so.bpmn.infrastructure.pnf.delegate;
23
24 import java.util.Map;
25 import org.onap.so.bpmn.infrastructure.pnf.dmaap.DmaapClient;
26 import java.util.Objects;
27
28 public class DmaapClientTestImpl implements DmaapClient {
29
30     private String pnfCorrelationId;
31     private Runnable informConsumer;
32
33     @Override
34     public void registerForUpdate(String pnfCorrelationId, Runnable informConsumer, Map<String, String> updateInfo) {
35         this.pnfCorrelationId = pnfCorrelationId;
36         this.informConsumer = informConsumer;
37     }
38
39     @Override
40     public Runnable unregister(String pnfCorrelationId) {
41         if (Objects.equals(this.pnfCorrelationId, pnfCorrelationId)) {
42             this.pnfCorrelationId = null;
43             Runnable informConsumer = this.informConsumer;
44             this.informConsumer = null;
45             return informConsumer;
46         }
47         return null;
48     }
49
50     public String getPnfCorrelationId() {
51         return pnfCorrelationId;
52     }
53
54     public Runnable getInformConsumer() {
55         return informConsumer;
56     }
57
58     public void sendMessage() {
59         informConsumer.run();
60     }
61
62     public boolean haveRegisteredConsumer() {
63         return pnfCorrelationId != null;
64     }
65 }