1 22 23 package org.snmp4j.agent.agentx.subagent; 24 25 import org.snmp4j.agent.mo.DefaultMOTable; 26 import org.snmp4j.agent.mo.MOColumn; 27 import org.snmp4j.agent.mo.MOTableIndex; 28 import org.snmp4j.smi.OID; 29 import org.snmp4j.agent.mo.MOTableModel; 30 import org.snmp4j.agent.mo.MOMutableTableModel; 31 import org.snmp4j.agent.mo.MOTableRow; 32 import org.snmp4j.agent.mo.MOTableRowEvent; 33 34 42 public class DefaultAgentXSharedMOTable 43 extends DefaultMOTable 44 implements AgentXSharedMutableMOTable 45 { 46 private AgentXSharedMOTableSupport sharedTableSupport; 47 private byte overrideIndexAllocationMode = 0; 48 private byte overridePriority = 0; 49 50 public DefaultAgentXSharedMOTable(OID oid, MOTableIndex indexDef, 51 MOColumn[] columns) { 52 super(oid, indexDef, columns); 53 } 54 55 public DefaultAgentXSharedMOTable(OID oid, MOTableIndex indexDef, 56 MOColumn[] columns, MOTableModel model) { 57 super(oid, indexDef, columns, model); 58 } 59 60 public AgentXSharedMOTableSupport getAgentXSharedMOTableSupport() { 61 return sharedTableSupport; 62 } 63 64 public void setAgentXSharedMOTableSupport(AgentXSharedMOTableSupport 65 sharedTableSupport) { 66 if (this.sharedTableSupport != null) { 67 removeMOTableRowListener(this.sharedTableSupport); 68 } 69 this.sharedTableSupport = 70 new AgentXSharedMOTableSupport(sharedTableSupport.getAgentX(), 71 sharedTableSupport.getSession(), 72 sharedTableSupport.getContext(), 73 (overridePriority == 0) ? 74 sharedTableSupport.getPriority() : 75 overridePriority, 76 (overrideIndexAllocationMode == 0) ? 77 sharedTableSupport.getIndexMode() : 78 overrideIndexAllocationMode); 79 addMOTableRowListener(this.sharedTableSupport); 80 } 81 82 public byte getOverrideIndexAllocationMode() { 83 return overrideIndexAllocationMode; 84 } 85 86 public byte getOverridePriority() { 87 return overridePriority; 88 } 89 90 99 public void setOverrideIndexAllocationMode(byte overrideIndexAllocationMode) { 100 this.overrideIndexAllocationMode = overrideIndexAllocationMode; 101 } 102 103 110 public void setOverridePriority(byte overridePriority) { 111 this.overridePriority = overridePriority; 112 } 113 114 public boolean changeRowIndex(OID oldIndex, OID newIndex) { 115 if (model instanceof MOMutableTableModel) { 116 MOMutableTableModel mutableModel = (MOMutableTableModel) model; 117 MOTableRow r = mutableModel.removeRow(oldIndex); 118 if (r == null) { 119 return false; 120 } 121 r.getIndex().setValue(newIndex.getValue()); 122 if (mutableModel.addRow(r) == null) { 123 r.getIndex().setValue(oldIndex.getValue()); 124 mutableModel.addRow(r); 125 return false; 126 } 127 fireRowChanged(new MOTableRowEvent(this, this, r, 128 MOTableRowEvent.UPDATED, false)); 129 return true; 130 } 131 return false; 132 } 133 134 } 135 | Popular Tags |