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 = PCMMGateReq.parse(new COPSData(data).getData()).getTransactionID();
56 // TODO - Determine how and why a response gate request can have only a transaction ID???
57 final IPCMMGate responseGate = new PCMMGateReq(null, null, transactionID, null, null, null, null, null);
59 // TODO FIXME - Why is the key always null??? What value should be used here???
60 final String key = null;
61 siDataHashTable.put(key, new String(responseGate.getData()));
63 return siDataHashTable;
68 public Map<String, String> getClientData(COPSPepReqStateMan man) {
69 // TODO Auto-generated method stub
70 return new HashMap<>();
74 public Map<String, String> getAcctData(COPSPepReqStateMan man) {
75 // TODO Auto-generated method stub
76 return new HashMap<>();
80 public void notifyClosedConnection(final COPSStateMan man, final COPSError error) {
81 // TODO Auto-generated method stub
85 public void notifyNoKAliveReceived(final COPSStateMan man) {
86 // TODO Auto-generated method stub
90 public void closeRequestState(final COPSStateMan man) {
91 // TODO Auto-generated method stub
95 public void newRequestState(final COPSPepReqStateMan man) {
96 // TODO Auto-generated method stub