Open Kilda Java Documentation
RecordHandlerMock.java
Go to the documentation of this file.
1 /* Copyright 2017 Telstra Open Source
2  *
3  * Licensed under the Apache License, Version 2.0 (the "License");
4  * you may not use this file except in compliance with the License.
5  * You may obtain a copy of the License at
6  *
7  * http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Unless required by applicable law or agreed to in writing, software
10  * distributed under the License is distributed on an "AS IS" BASIS,
11  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12  * See the License for the specific language governing permissions and
13  * limitations under the License.
14  */
15 
16 package org.openkilda.floodlight.kafka;
17 
21 
22 import net.floodlightcontroller.core.IOFSwitch;
23 import org.apache.kafka.clients.consumer.ConsumerRecord;
24 import org.easymock.EasyMock;
25 import org.projectfloodlight.openflow.types.DatapathId;
26 
27 import java.util.HashMap;
28 import java.util.Map;
29 
30 class RecordHandlerMock extends RecordHandler {
31  Map<DatapathId, NetworkDumpSwitchData> switchInfoDataOverride;
32 
33  RecordHandlerMock(ConsumerContext context) {
34  super(context, EasyMock.mock(ConsumerRecord.class), new MeterPool());
35  switchInfoDataOverride = new HashMap<>();
36  }
37 
38  void handleMessage(CommandMessage message) {
39  doControllerMsg(message);
40  }
41 
42  public void overrideNetworkDumpSwitchData(DatapathId swId, NetworkDumpSwitchData infoData) {
43  switchInfoDataOverride.put(swId, infoData);
44  }
45 
46  @Override
47  protected NetworkDumpSwitchData buildNetworkDumpSwitchData(IOFSwitch sw) {
48  if (switchInfoDataOverride.containsKey(sw.getId())) {
49  return switchInfoDataOverride.get(sw.getId());
50  }
51  return super.buildNetworkDumpSwitchData(sw);
52  }
53 }
net
Definition: plan-b.py:46