update link to upper-constraints.txt
[so.git] / bpmn / mso-infrastructure-bpmn / src / test / java / org / onap / so / bpmn / infrastructure / pnf / delegate / DmaapClientTestImpl.java
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.bpmn.infrastructure.pnf.delegate;
22
23 import java.util.Map;
24 import java.util.Objects;
25 import org.onap.so.bpmn.infrastructure.pnf.dmaap.DmaapClient;
26 import org.springframework.context.annotation.Primary;
27 import org.springframework.stereotype.Component;
28
29 @Component
30 @Primary
31 public class DmaapClientTestImpl implements DmaapClient {
32
33     private String pnfCorrelationId;
34     private Runnable informConsumer;
35
36     @Override
37     public void registerForUpdate(String pnfCorrelationId, Runnable informConsumer) {
38         this.pnfCorrelationId = pnfCorrelationId;
39         this.informConsumer = informConsumer;
40     }
41
42     @Override
43     public Runnable unregister(String pnfCorrelationId) {
44         if (Objects.equals(this.pnfCorrelationId, pnfCorrelationId)) {
45             this.pnfCorrelationId = null;
46             Runnable informConsumer = this.informConsumer;
47             this.informConsumer = null;
48             return informConsumer;
49         }
50         return null;
51     }
52
53     public String getPnfCorrelationId() {
54         return pnfCorrelationId;
55     }
56
57     public Runnable getInformConsumer() {
58         return informConsumer;
59     }
60
61     public void sendMessage() {
62         informConsumer.run();
63     }
64
65     public boolean haveRegisteredConsumer() {
66         return pnfCorrelationId != null;
67     }
68 }