1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 package zeus.agentviewer.rete;
25
26 import javax.swing.*;
27 import javax.swing.text.*;
28 import java.util.*;
29 import zeus.util.*;
30 import zeus.actors.AgentContext;
31 import zeus.actors.event.*;
32 import zeus.rete.ReteEngine;
33
34 public class ReteEngineDataModel extends PlainDocument implements ReteEngineMonitor {
35 protected Vector data;
36 protected ReteEngine engine;
37
38 public ReteEngineDataModel(AgentContext context){
39 data = new Vector();
40 ReteEngine engine = context.ReteEngine();
41 engine.addMonitor(this,
42 ReteEngineEvent.ADD_MASK | ReteEngineEvent.DELETE_MASK |
43 ReteEngineEvent.ACTIVATE_MASK | ReteEngineEvent.DEACTIVATE_MASK |
44 ReteEngineEvent.FIRE_MASK
45 );
46 }
47
48 public void removeZeusEventMonitors() {
49 engine.removeMonitor(this,
50 ReteEngineEvent.ADD_MASK | ReteEngineEvent.DELETE_MASK |
51 ReteEngineEvent.ACTIVATE_MASK | ReteEngineEvent.DEACTIVATE_MASK |
52 ReteEngineEvent.FIRE_MASK
53 );
54 }
55
56 public void reteRuleAddedEvent(ReteEngineEvent event) {
57 try {
58 insertString(getLength(),event.getDiagnostic() + "\n", null);
59 }
60 catch(BadLocationException e) {
61 }
62 }
63 public void reteRuleDeletedEvent(ReteEngineEvent event) {
64 try {
65 insertString(getLength(),event.getDiagnostic() + "\n", null);
66 }
67 catch(BadLocationException e) {
68 }
69 }
70 public void reteRuleActivatedEvent(ReteEngineEvent event) {
71 try {
72 insertString(getLength(),event.getDiagnostic() + "\n", null);
73 }
74 catch(BadLocationException e) {
75 }
76 }
77 public void reteRuleDeactivatedEvent(ReteEngineEvent event) {
78 try {
79 insertString(getLength(),event.getDiagnostic() + "\n", null);
80 }
81 catch(BadLocationException e) {
82 }
83 }
84 public void reteRuleFiredEvent(ReteEngineEvent event) {
85 try {
86 insertString(getLength(),event.getDiagnostic() + "\n", null);
87 }
88 catch(BadLocationException e) {
89 }
90 }
91 }