2 * (c) 2015 Cable Television Laboratories, Inc. All rights reserved.
5 package org.pcmm.rcd.impl;
7 import org.pcmm.gates.IPCMMGate;
8 import org.pcmm.gates.ITransactionID;
9 import org.pcmm.gates.impl.PCMMGateReq;
10 import org.umu.cops.COPSStateMan;
11 import org.umu.cops.prpep.COPSPepDataProcess;
12 import org.umu.cops.prpep.COPSPepReqStateMan;
13 import org.umu.cops.stack.COPSData;
14 import org.umu.cops.stack.COPSError;
16 import java.util.HashMap;
18 import java.util.concurrent.ConcurrentHashMap;
21 * Data processor for the CMTS emulator.
23 class CmtsDataProcessor implements COPSPepDataProcess {
25 private transient Map<String, String> installDecs = new ConcurrentHashMap<>();
26 private transient Map<String, String> errorDecs = new ConcurrentHashMap<>();
29 public void setDecisions(final COPSPepReqStateMan man, final Map<String, String> removeDecs,
30 final Map<String, String> installDecs, final Map<String, String> errorDecs) {
32 // TODO - parameters man & removeDecs not used. They were members when encapsulated in CMTS but were never used.
33 this.installDecs = new ConcurrentHashMap<>(installDecs);
34 this.errorDecs = new ConcurrentHashMap<>(errorDecs);
38 public boolean isFailReport(final COPSPepReqStateMan man) {
39 return (errorDecs != null && errorDecs.size() > 0);
43 public Map<String, String> getReportData(final COPSPepReqStateMan man) {
44 if (isFailReport(man)) {
47 final Map<String, String> siDataHashTable = new HashMap<>();
48 if (installDecs.size() > 0) {
50 for (String k : installDecs.keySet()) {
51 data = installDecs.get(k);
54 final ITransactionID transactionID = new PCMMGateReq(new COPSData(data).getData()).getTransactionID();
55 final IPCMMGate responseGate = new PCMMGateReq();
56 responseGate.setTransactionID(transactionID);
58 // TODO FIXME - Why is the key always null??? What value should be used here???
59 final String key = null;
60 siDataHashTable.put(key, new String(responseGate.getData()));
62 return siDataHashTable;
67 public Map<String, String> getClientData(COPSPepReqStateMan man) {
68 // TODO Auto-generated method stub
69 return new HashMap<>();
73 public Map<String, String> getAcctData(COPSPepReqStateMan man) {
74 // TODO Auto-generated method stub
75 return new HashMap<>();
79 public void notifyClosedConnection(final COPSStateMan man, final COPSError error) {
80 // TODO Auto-generated method stub
84 public void notifyNoKAliveReceived(final COPSStateMan man) {
85 // TODO Auto-generated method stub
89 public void closeRequestState(final COPSStateMan man) {
90 // TODO Auto-generated method stub
94 public void newRequestState(final COPSPepReqStateMan man) {
95 // TODO Auto-generated method stub