1.1 --- a/mdr/test/cfg-unit.xml Mon Sep 30 14:51:17 2002 +0000
1.2 +++ b/mdr/test/cfg-unit.xml Mon Sep 30 14:54:34 2002 +0000
1.3 @@ -71,32 +71,27 @@
1.4 <include name="org/netbeans/mdr/test/MDRTestInstanceEvents.class/testCreateInstance"/>
1.5 <include name="org/netbeans/mdr/test/MDRTestInstanceEvents.class/testDeleteInstance"/>
1.6
1.7 + <include name="org/netbeans/mdr/test/MDRTestInstancePreEvents.class/testDeleteInstance"/>
1.8 <include name="org/netbeans/mdr/test/MDRTestInstancePreEvents.class/testCreateInstance"/>
1.9 - <include name="org/netbeans/mdr/test/MDRTestInstancePreEvents.class/testDeleteInstance"/>
1.10 + <!-- don't know how to cancel instance creation
1.11 <include name="org/netbeans/mdr/test/MDRTestInstancePreEvents.class/testCreateInstanceCanceled"/>
1.12 -
1.13 + -->
1.14 <include name="org/netbeans/mdr/test/MDRTestAssociationEvents.class/testAddAssociation"/>
1.15 <include name="org/netbeans/mdr/test/MDRTestAssociationEvents.class/testRemoveAssociation"/>
1.16
1.17 <include name="org/netbeans/mdr/test/MDRTestAssociationPreEvents.class/testAddAssociation"/>
1.18 <include name="org/netbeans/mdr/test/MDRTestAssociationPreEvents.class/testRemoveAssociation"/>
1.19
1.20 -
1.21 <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testSetAttribute"/>
1.22 - <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testSetAttributeCL"/>
1.23 <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testAddRemoveAttribute"/>
1.24 <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testAddRemoveAttributeCL"/>
1.25 + <include name="org/netbeans/mdr/test/MDRTestAttributeEvents.class/testSetAttributeCL"/>
1.26
1.27 <include name="org/netbeans/mdr/test/MDRTestAttributePreEvents.class/testSetAttribute"/>
1.28 + <include name="org/netbeans/mdr/test/MDRTestAttributePreEvents.class/testAddRemoveAttribute"/>
1.29 <include name="org/netbeans/mdr/test/MDRTestAttributePreEvents.class/testSetAttributeCL"/>
1.30 - <include name="org/netbeans/mdr/test/MDRTestAttributePreEvents.class/testAddRemoveAttribute"/>
1.31 <include name="org/netbeans/mdr/test/MDRTestAttributePreEvents.class/testAddRemoveAttributeCL"/>
1.32
1.33 - <!--
1.34 - <include name="org/netbeans/mdr/test/MDRTestAttributeEventsPokus.class/testSetAttribute"/>
1.35 - <include name="org/netbeans/mdr/test/MDRTestAttributeEventsPokus.class/testAddRemoveAttribute"/>
1.36 - -->
1.37 -
1.38 </patternset>
1.39 </testset>
1.40 </testbag>
2.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/EventsDataGenerator.java Mon Sep 30 14:51:17 2002 +0000
2.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/EventsDataGenerator.java Mon Sep 30 14:54:34 2002 +0000
2.3 @@ -33,7 +33,7 @@
2.4 }
2.5
2.6 public List generateAssociation(RefAssociation assocProxy, Association assoc, PrintStream ps, boolean planned) {
2.7 -
2.8 + //System.out.println("Association name: " + assoc.getName());
2.9 LinkedList ends = new LinkedList();
2.10
2.11 Iterator iterCont = ((Namespace) assoc).getContents().iterator();
2.12 @@ -49,9 +49,6 @@
2.13 }
2.14
2.15 if (assocProxy instanceof Contains) {
2.16 - System.out.println("-----> Creating Contains");
2.17 - if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
2.18 - ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
2.19 Namespace nmspc = (Namespace) generateInstance((MofClass) ends.get(0));
2.20 ModelElement mdlelm = (ModelElement) generateInstance((MofClass) ends.get(1));
2.21
2.22 @@ -60,7 +57,6 @@
2.23 Iterator nmIter = nmspc.getContents().iterator();
2.24 while (nmIter.hasNext()) {
2.25 RefObject obj = (RefObject) nmIter.next();
2.26 - System.out.println(obj);
2.27 if (obj instanceof Reference) {
2.28 System.out.println(((Reference) obj).getReferencedEnd());
2.29 }
2.30 @@ -69,44 +65,26 @@
2.31 return ends;
2.32
2.33 } else if (assocProxy instanceof Constrains) {
2.34 - System.out.println("-----> Creating Constrains");
2.35 - if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
2.36 - ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
2.37 assocProxy.refAddLink((Constraint) generateInstance((MofClass) ends.get(0)),
2.38 (ModelElement) generateInstance((MofClass) ends.get(1)));
2.39 return ends;
2.40 } else if (assocProxy instanceof Aliases) {
2.41 - System.out.println("-----> Creating Aliases");
2.42 - if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
2.43 - ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
2.44 assocProxy.refAddLink((Import) generateInstance((MofClass) ends.get(0)),
2.45 (Namespace) generateInstance((MofClass) ends.get(1)));
2.46 return ends;
2.47 } else if (assocProxy instanceof Generalizes) {
2.48 - System.out.println("-----> Creating Generalizes");
2.49 - if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
2.50 - ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
2.51 assocProxy.refAddLink((GeneralizableElement) generateInstance((MofClass) ends.get(0)),
2.52 (GeneralizableElement) generateInstance((MofClass) ends.get(1)));
2.53 return ends;
2.54 } else if (assocProxy instanceof AttachesTo) {
2.55 - System.out.println("-----> Creating AttachesTo");
2.56 - if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
2.57 - ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
2.58 assocProxy.refAddLink((ModelElement) generateInstance((MofClass) ends.get(0)),
2.59 (Tag) generateInstance((MofClass) ends.get(1)));
2.60 return ends;
2.61 } else if (assocProxy instanceof CanRaise) {
2.62 - System.out.println("-----> Creating CanRaise");
2.63 - if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
2.64 - ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
2.65 assocProxy.refAddLink((Operation) generateInstance((MofClass) ends.get(0)),
2.66 (MofException) generateInstance((MofClass) ends.get(1)));
2.67 return ends;
2.68 } else if (assocProxy instanceof IsOfType) {
2.69 - System.out.println("-----> Creating IsOfType");
2.70 - if (planned) ps.println("EVENT_ASSOCIATION_ADD - PLANNED");
2.71 - ps.println("EVENT_ASSOCIATION_ADD - CHANGED: " + assoc.getName());
2.72 assocProxy.refAddLink((Classifier) generateInstance((MofClass) ends.get(0)),
2.73 (TypedElement) generateInstance((MofClass) ends.get(1)));
2.74 return ends;
2.75 @@ -128,31 +106,29 @@
2.76 *
2.77 *
2.78 */
2.79 - public void setAttribute(RefObject refObj, PrintStream ps, boolean planned) {
2.80 + public boolean setAttribute(RefObject refObj, PrintStream ps, boolean planned) {
2.81 + boolean setAttr = false;
2.82 Iterator contents = ((Namespace) refObj.refMetaObject()).getContents().iterator();
2.83 while (contents.hasNext()) {
2.84 Object contObj = contents.next();
2.85 if (contObj instanceof Attribute) {
2.86 Object attr = generateAttributeValue((Attribute) contObj);
2.87 if ( ((Attribute) contObj).isChangeable() && ((Attribute) contObj).getMultiplicity().getUpper() == 1 ) {
2.88 - if (planned) ps.println("EVENT_ATTRIBUTE_SET - PLANNED");
2.89 - ps.println("EVENT_ATTRIBUTE_SET - CHANGED: " + ((ModelElement) contObj).getName());
2.90 + //System.out.println("Setting attribute: " + contObj.toString());
2.91 refObj.refSetValue((RefObject) contObj, attr);
2.92 - try {
2.93 - Thread.currentThread().sleep(200);
2.94 - } catch (InterruptedException ie) {
2.95 - // OK
2.96 - }
2.97 + setAttr = true;
2.98 }
2.99 }
2.100 }
2.101 + return setAttr;
2.102 }
2.103
2.104 /**
2.105 *
2.106 *
2.107 */
2.108 - public void addAttribute(RefObject refObj, boolean remove, PrintStream ps, boolean planned) {
2.109 + public boolean addAttribute(RefObject refObj, boolean remove, PrintStream ps, boolean planned) {
2.110 + boolean ws = false;
2.111 Iterator contents = ((Namespace) refObj.refMetaObject()).getContents().iterator();
2.112 while (contents.hasNext()) {
2.113 Object contObj = contents.next();
2.114 @@ -163,30 +139,18 @@
2.115 List attrValues = (List) refObj.refGetValue((RefObject) contObj);
2.116 for (int i = 0; i < 5; i++) {
2.117 Object val = generateValue(type);
2.118 - if (planned) ps.println("EVENT_ATTRIBUTE_ADD - PLANNED");
2.119 - ps.println("EVENT_ATTRIBUTE_ADD - CHANGED: " + ((ModelElement) contObj).getName());
2.120 attrValues.add(val);
2.121 - try {
2.122 - Thread.currentThread().sleep(200);
2.123 - } catch (InterruptedException ie) {
2.124 - // OK
2.125 - }
2.126 + ws = true;
2.127 }
2.128 if (remove) {
2.129 for (int j = 0; j < 5; j++) {
2.130 - if (planned) ps.println("EVENT_ATTRIBUTE_REMOVE - PLANNED: " + ((ModelElement) contObj).getName());
2.131 - ps.println("EVENT_ATTRIBUTE_REMOVE - CHANGED");
2.132 attrValues.remove(0);
2.133 - try {
2.134 - Thread.currentThread().sleep(200);
2.135 - } catch (InterruptedException ie) {
2.136 - // OK
2.137 - }
2.138 }
2.139 }
2.140 }
2.141 }
2.142 }
2.143 + return ws;
2.144 }
2.145
2.146 public RefObject generateWrongInstance(MofClass mofClass) {
3.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
3.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/EventsList.java Mon Sep 30 14:54:34 2002 +0000
3.3 @@ -0,0 +1,188 @@
3.4 +/*
3.5 + * EventsList.java
3.6 + *
3.7 + * Created on August 2, 2002, 4:33 PM
3.8 + */
3.9 +
3.10 +package org.netbeans.mdr.test;
3.11 +
3.12 +import java.util.HashMap;
3.13 +import java.util.Iterator;
3.14 +import java.util.LinkedList;
3.15 +import org.netbeans.api.mdr.events.MDRChangeEvent;
3.16 +
3.17 +/**
3.18 + *
3.19 + * @author mk97936
3.20 + */
3.21 +public class EventsList {
3.22 +
3.23 + public static final int _PLANNED = 128;
3.24 + public static final int _CHANGED = 256;
3.25 + public static final int _CANCELED = 512;
3.26 +
3.27 + public static final int _CREATE = 1024;
3.28 + public static final int _DELETE = 2048;
3.29 + public static final int _SET = 4096;
3.30 + public static final int _ADD = 8192;
3.31 + public static final int _REMOVE = 16384;
3.32 +
3.33 + private HashMap eventsMap = new HashMap();
3.34 + private LinkedList patternList = new LinkedList();
3.35 +
3.36 + /** Creates a new instance of EventsList */
3.37 + public EventsList() {
3.38 + }
3.39 +
3.40 + public boolean checkPreEvents() {
3.41 + return true;
3.42 + }
3.43 +
3.44 + public boolean checkEvents(String ptrn, int states) {
3.45 +
3.46 + boolean changedFound = false;
3.47 + boolean plannedFound = false;
3.48 + boolean canceledFound = false;
3.49 + Iterator iter = patternList.iterator();
3.50 +
3.51 + //System.out.println("---> Searched pattern: " + ptrn);
3.52 + while (iter.hasNext()) {
3.53 +
3.54 + PatternProps pp = (PatternProps) iter.next();
3.55 + //System.out.println("------> Saved pattern: " + pp.pattern + ", " + pp.timeStamp);
3.56 +
3.57 + Iterator eventsIter = eventsMap.values().iterator();
3.58 + //System.out.println("---------> Number of saved events: " + eventsMap.size());
3.59 + while (eventsIter.hasNext()) {
3.60 +
3.61 + EventProps eprop = (EventProps) eventsIter.next();
3.62 +
3.63 + if (ptrn != null) {
3.64 + if (ptrn.equals(eprop.plannedPattern) && (_PLANNED == (_PLANNED & states)) &&
3.65 + (pp.timeStamp <= eprop.plannedTimestamp)) {
3.66 + //System.out.println("------------> Planned event: " + eprop.plannedPattern + ", " + eprop.plannedTimestamp);
3.67 + plannedFound = true;
3.68 + }
3.69 + if (ptrn.equals(eprop.changedPattern) && (_CHANGED == (_CHANGED & states)) &&
3.70 + (pp.timeStamp <= eprop.changedTimestamp)) {
3.71 + //System.out.println("------------> Changed event: " + eprop.changedPattern + ", " + eprop.changedTimestamp);
3.72 + changedFound = true;
3.73 + }
3.74 + if (ptrn.equals(eprop.canceledPattern) && (_CANCELED == (_CANCELED & states)) &&
3.75 + (pp.timeStamp <= eprop.canceledTimestamp)) {
3.76 + //System.out.println("------------> Canceled event: " + eprop.canceledPattern + ", " + eprop.canceledTimestamp);
3.77 + canceledFound = true;
3.78 + }
3.79 + } else { // ptrn == null => delete event
3.80 +
3.81 + }
3.82 + }
3.83 + }
3.84 +
3.85 + if (changedFound && (_CHANGED == (_CHANGED & states))) return true;
3.86 + else if (plannedFound && (_PLANNED == (_PLANNED & states))) return true;
3.87 + else if (plannedFound && (_CANCELED == (_CANCELED & states))) return true;
3.88 + else return false;
3.89 +
3.90 + }
3.91 +
3.92 + public void addPattern(String ptrn, long ts) {
3.93 + PatternProps pp = new PatternProps(ptrn, ts);
3.94 + patternList.add(pp);
3.95 + }
3.96 +
3.97 + public void addPattern2(String ptrn, int states, long ts) {
3.98 +
3.99 + //System.out.println("adding pattern: " + ptrn + "; " + states + "; " + ts);
3.100 +
3.101 + PatternProps pp = new PatternProps(ptrn, ts, states);
3.102 + patternList.add(pp);
3.103 + }
3.104 +
3.105 + public void addEvent(String pattern, MDRChangeEvent evnt, long ts, int stats) {
3.106 +
3.107 + //System.out.println("adding event: " + pattern + "; " + evnt + "; " + ts + "; " + stats );
3.108 +
3.109 + if (!eventsMap.containsKey(evnt)) {
3.110 + EventProps ep = new EventProps(pattern, ts, stats);
3.111 + eventsMap.put(evnt, ep);
3.112 + } else {
3.113 + EventProps ep = (EventProps) eventsMap.get(evnt);
3.114 + if (_PLANNED == (stats & _PLANNED)) {
3.115 + ep.setPlanned(pattern, ts);
3.116 + } else if (_CHANGED == (stats & _CHANGED)) {
3.117 + ep.setChanged(pattern, ts);
3.118 + } else if (_CANCELED == (stats & _CANCELED)) {
3.119 + ep.setCanceled(pattern, ts);
3.120 + }
3.121 + }
3.122 +
3.123 + }
3.124 +
3.125 + public void clear() {
3.126 + eventsMap.clear();
3.127 + patternList.clear();
3.128 + }
3.129 +
3.130 + private class EventProps {
3.131 +
3.132 + public String plannedPattern = "";
3.133 + public String canceledPattern = "";
3.134 + public String changedPattern = "";
3.135 +
3.136 + public long plannedTimestamp = 0L;
3.137 + public long canceledTimestamp = 0L;
3.138 + public long changedTimestamp = 0L;
3.139 +
3.140 + public EventProps(String ptr, long tsmp, int stats) {
3.141 +
3.142 + if (_CHANGED == (stats & _CHANGED)) {
3.143 + changedPattern = ptr;
3.144 + changedTimestamp = tsmp;
3.145 + } else if (_PLANNED == (stats & _PLANNED)) {
3.146 + plannedPattern = ptr;
3.147 + plannedTimestamp = tsmp;
3.148 + } else if (_CANCELED == (stats & _CANCELED)) {
3.149 + canceledPattern = ptr;
3.150 + canceledTimestamp = tsmp;
3.151 + }
3.152 + }
3.153 +
3.154 + public void setChanged(String ptr, long tsmp) {
3.155 + changedPattern = ptr;
3.156 + changedTimestamp = tsmp;
3.157 + }
3.158 +
3.159 + public void setPlanned(String ptr, long tsmp) {
3.160 + plannedPattern = ptr;
3.161 + plannedTimestamp = tsmp;
3.162 + }
3.163 +
3.164 + public void setCanceled(String ptr, long tsmp) {
3.165 + canceledPattern = ptr;
3.166 + canceledTimestamp = tsmp;
3.167 + }
3.168 +
3.169 + }
3.170 +
3.171 + private class PatternProps {
3.172 +
3.173 + public String pattern;
3.174 + public long timeStamp;
3.175 + public int states;
3.176 +
3.177 + public PatternProps(String ptr, long ts) {
3.178 + pattern = ptr;
3.179 + timeStamp = ts;
3.180 + states = 0;
3.181 + }
3.182 +
3.183 + public PatternProps(String ptr, long ts, int st) {
3.184 + pattern = ptr;
3.185 + timeStamp = ts;
3.186 + states = st;
3.187 + }
3.188 +
3.189 + }
3.190 +
3.191 +}
4.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRAttributeListener.java Mon Sep 30 14:51:17 2002 +0000
4.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRAttributeListener.java Mon Sep 30 14:54:34 2002 +0000
4.3 @@ -11,8 +11,8 @@
4.4 import javax.jmi.reflect.*;
4.5 import javax.jmi.model.*;
4.6
4.7 -import java.io.PrintWriter;
4.8 -import java.io.PrintStream;
4.9 +//import java.io.PrintWriter;
4.10 +//import java.io.PrintStream;
4.11
4.12
4.13 /**
4.14 @@ -26,14 +26,15 @@
4.15 public static final int CHANGED = 1;
4.16 public static final int CANCELED = 2;
4.17
4.18 - private PrintStream goldenRef = null;
4.19 + //private PrintStream goldenRef = null;
4.20 + private EventsList eventsList;
4.21
4.22 /** Creates a new instance of MDRListener */
4.23 public MDRAttributeListener() {
4.24 }
4.25
4.26 - public void setRef(PrintStream prtStr) {
4.27 - goldenRef = prtStr;
4.28 + public void setRef(EventsList el) {
4.29 + eventsList = el;
4.30 }
4.31
4.32 public void change(MDRChangeEvent e) {
4.33 @@ -47,27 +48,36 @@
4.34
4.35 // EVENT_ATTRIBUTE_ADD
4.36 if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == PLANNED)) {
4.37 - goldenRef.println("EVENT_ATTRIBUTE_ADD - PLANNED");
4.38 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.39 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._PLANNED);
4.40 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CHANGED)) {
4.41 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CHANGED: " + ((AttributeEvent) e).getAttributeName());
4.42 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.43 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CHANGED);
4.44 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CANCELED)) {
4.45 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CANCELED");
4.46 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.47 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CANCELED);
4.48 }
4.49 // EVENT_ATTRIBUTE_SET
4.50 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == PLANNED)) {
4.51 - goldenRef.println("EVENT_ATTRIBUTE_SET - PLANNED");
4.52 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.53 + e, System.currentTimeMillis(), EventsList._SET | EventsList._PLANNED);
4.54 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CHANGED)) {
4.55 - goldenRef.println("EVENT_ATTRIBUTE_SET - CHANGED: " + ((AttributeEvent) e).getAttributeName());
4.56 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.57 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CHANGED);
4.58 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CANCELED)) {
4.59 - goldenRef.println("EVENT_ATTRIBUTE_SET - CANCELED");
4.60 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.61 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CANCELED);
4.62 }
4.63 // EVENT_ATTRIBUTE_REMOVE
4.64 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == PLANNED)) {
4.65 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - PLANNED: " + ((AttributeEvent) e).getAttributeName());
4.66 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.67 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._PLANNED);
4.68 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CHANGED)) {
4.69 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CHANGED");
4.70 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.71 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CHANGED);
4.72 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CANCELED)) {
4.73 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CANCELED");
4.74 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
4.75 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CANCELED);
4.76 }
4.77
4.78 }
5.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRAttributePreListener.java Mon Sep 30 14:51:17 2002 +0000
5.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRAttributePreListener.java Mon Sep 30 14:54:34 2002 +0000
5.3 @@ -6,10 +6,10 @@
5.4
5.5 package org.netbeans.mdr.test;
5.6
5.7 -import java.io.File;
5.8 -import java.io.FileNotFoundException;
5.9 -import java.io.FileOutputStream;
5.10 -import java.io.PrintWriter;
5.11 +//import java.io.File;
5.12 +//import java.io.FileNotFoundException;
5.13 +//import java.io.FileOutputStream;
5.14 +//import java.io.PrintWriter;
5.15
5.16 import java.net.URL;
5.17
5.18 @@ -35,10 +35,7 @@
5.19 public static final int CHANGED = 1;
5.20 public static final int CANCELED = 2;
5.21
5.22 - private File logFile;
5.23 - private PrintWriter log;
5.24 -
5.25 - private PrintStream goldenRef = null;
5.26 + private EventsList eventsList;
5.27
5.28 // queue to test right order of events
5.29 protected java.util.LinkedList eventsQueue = new java.util.LinkedList();
5.30 @@ -48,8 +45,8 @@
5.31 super(testName);
5.32 }
5.33
5.34 - public void setRef(PrintStream prtStr) {
5.35 - goldenRef = prtStr;
5.36 + public void setRef(EventsList el) {
5.37 + eventsList = el;
5.38 }
5.39
5.40 public void change(MDRChangeEvent e) {
5.41 @@ -76,27 +73,36 @@
5.42
5.43 // EVENT_ATTRIBUTE_ADD
5.44 if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == PLANNED)) {
5.45 - goldenRef.println("EVENT_ATTRIBUTE_ADD - PLANNED");
5.46 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.47 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._PLANNED);
5.48 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CHANGED)) {
5.49 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CHANGED: " + ((AttributeEvent) e).getAttributeName());
5.50 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.51 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CHANGED);
5.52 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CANCELED)) {
5.53 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CANCELED");
5.54 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.55 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CANCELED);
5.56 }
5.57 // EVENT_ATTRIBUTE_SET
5.58 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == PLANNED)) {
5.59 - goldenRef.println("EVENT_ATTRIBUTE_SET - PLANNED");
5.60 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.61 + e, System.currentTimeMillis(), EventsList._SET | EventsList._PLANNED);
5.62 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CHANGED)) {
5.63 - goldenRef.println("EVENT_ATTRIBUTE_SET - CHANGED: " + ((AttributeEvent) e).getAttributeName());
5.64 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.65 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CHANGED);
5.66 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CANCELED)) {
5.67 - goldenRef.println("EVENT_ATTRIBUTE_SET - CANCELED");
5.68 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.69 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CANCELED);
5.70 }
5.71 // EVENT_ATTRIBUTE_REMOVE
5.72 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == PLANNED)) {
5.73 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - PLANNED: " + ((AttributeEvent) e).getAttributeName());
5.74 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.75 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._PLANNED);
5.76 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CHANGED)) {
5.77 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CHANGED");
5.78 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.79 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CHANGED);
5.80 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CANCELED)) {
5.81 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CANCELED");
5.82 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
5.83 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CANCELED);
5.84 }
5.85
5.86 }
6.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDREventsTestCase.java Mon Sep 30 14:51:17 2002 +0000
6.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDREventsTestCase.java Mon Sep 30 14:54:34 2002 +0000
6.3 @@ -40,9 +40,9 @@
6.4 public abstract class MDREventsTestCase extends NbTestCase /*implements MDRPreChangeListener, MDRChangeListener*/ {
6.5
6.6 // "type" of event
6.7 - public static final int PLANNED = 0;
6.8 - public static final int CHANGED = 1;
6.9 - public static final int CANCELED = 2;
6.10 + public static final int PLANNED = 2;
6.11 + public static final int CHANGED = 4;
6.12 + public static final int CANCELED = 8;
6.13
6.14 // queue to test right order of events
6.15 protected LinkedList eventsQueue = new LinkedList();
6.16 @@ -155,8 +155,8 @@
6.17 workDir + File.separator + "TestEventsRepository_" + System.currentTimeMillis());
6.18 System.setProperty("org.netbeans.mdr.storagemodel.StorageFactoryClassName",
6.19 "org.netbeans.mdr.persistence.btreeimpl.btreestorage.BtreeFactory");
6.20 - System.setProperty("org.openide.util.Lookup",
6.21 - "org.netbeans.mdr.test.MDRTestLookup");
6.22 + //System.setProperty("org.openide.util.Lookup", "org.netbeans.mdr.test.MDRTestLookup");
6.23 + System.setProperty("org.netbeans.lib.jmi.Logger.fileName", "");
6.24 System.setProperty("org.netbeans.mdr.SaveStorageOnExit", "true");
6.25 }
6.26
6.27 @@ -173,11 +173,11 @@
6.28 protected void tearDown() {
6.29
6.30 }
6.31 -
6.32 +
6.33 // -------------------------------------------------------------------------
6.34 // MDRChangeListener, MDRPreChangeListener
6.35 // -------------------------------------------------------------------------
6.36 -
6.37 + /*
6.38 public void change(MDRChangeEvent e) {
6.39 assertEquals("Wrong order of events!", eventsQueue.getFirst(), e);
6.40 eventsQueue.removeFirst();
6.41 @@ -194,10 +194,11 @@
6.42 eventsQueue.add(e);
6.43 processEvent(e, PLANNED);
6.44 }
6.45 -
6.46 - private void processEvent(MDRChangeEvent e, int type) {
6.47 + */
6.48 + /*
6.49 + protected void processEvent(MDRChangeEvent e, int type, int eventType) throws IOException {
6.50
6.51 - if (e.isOfType(InstanceEvent.EVENTMASK_INSTANCE)) { // InstanceEvent
6.52 + if (e.isOfType(InstanceEvent.EVENTMASK_INSTANCE) && (eventType == InstanceEvent.EVENTMASK_INSTANCE)) { // InstanceEvent
6.53
6.54 // EVENT_INSTANCE_CREATE
6.55 if (e.isOfType(InstanceEvent.EVENT_INSTANCE_CREATE) && (type == PLANNED)) {
6.56 @@ -219,7 +220,7 @@
6.57 ((ModelElement) ((InstanceEvent) e).getInstance().refMetaObject()).getName());
6.58 }
6.59
6.60 - } else if (e.isOfType(ExtentEvent.EVENTMASK_EXTENT)) { // ExtentEvent
6.61 + } else if (e.isOfType(ExtentEvent.EVENTMASK_EXTENT) && (eventType == ExtentEvent.EVENTMASK_EXTENT)) { // ExtentEvent
6.62
6.63 // EVENT_EXTENT_CREATE
6.64 if (e.isOfType(ExtentEvent.EVENT_EXTENT_CREATE) && (type == PLANNED)) {
6.65 @@ -238,8 +239,11 @@
6.66 log("EVENT_EXTENT_DELETE - CANCELED: " + ((ExtentEvent) e).getExtentName());
6.67 }
6.68
6.69 - } else if (e.isOfType(AttributeEvent.EVENTMASK_ATTRIBUTE) || // AttributeEvent
6.70 - e.isOfType(AttributeEvent.EVENTMASK_CLASSATTR)) {
6.71 + } else if ((e.isOfType(AttributeEvent.EVENTMASK_ATTRIBUTE) || // AttributeEvent
6.72 + e.isOfType(AttributeEvent.EVENTMASK_CLASSATTR)) &&
6.73 +
6.74 + ((eventType == AttributeEvent.EVENTMASK_ATTRIBUTE) ||
6.75 + (eventType == AttributeEvent.EVENTMASK_CLASSATTR))) {
6.76
6.77 // EVENT_ATTRIBUTE_ADD
6.78 if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == PLANNED)) {
6.79 @@ -266,7 +270,7 @@
6.80 log("EVENT_ATTRIBUTE_REMOVE - CANCELED");
6.81 }
6.82
6.83 - } else if (e.isOfType(AssociationEvent.EVENTMASK_ASSOCIATION)) { // AssociationEvent
6.84 + } else if (e.isOfType(AssociationEvent.EVENTMASK_ASSOCIATION) && (eventType == AssociationEvent.EVENTMASK_ASSOCIATION)) { // AssociationEvent
6.85
6.86 // EVENT_ASSOCIATION_ADD
6.87 if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == PLANNED)) {
6.88 @@ -295,6 +299,6 @@
6.89
6.90 }
6.91
6.92 - }
6.93 + }*/
6.94
6.95 }
7.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationEvents.java Mon Sep 30 14:51:17 2002 +0000
7.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationEvents.java Mon Sep 30 14:54:34 2002 +0000
7.3 @@ -10,11 +10,6 @@
7.4 import java.util.Iterator;
7.5 import java.util.Collection;
7.6
7.7 -import java.io.File;
7.8 -import java.io.FileOutputStream;
7.9 -import java.io.PrintStream;
7.10 -import java.io.IOException;
7.11 -
7.12 import junit.framework.*;
7.13 import org.netbeans.junit.*;
7.14
7.15 @@ -37,9 +32,8 @@
7.16 public class MDRTestAssociationEvents extends MDREventsTestCase implements MDRChangeListener {
7.17
7.18 private static final String PKG_NAME = "TEST_MOF";
7.19 -
7.20 - private PrintStream goldenRef = null;
7.21 - private PrintStream goldenPass = null;
7.22 +
7.23 + private EventsList eventsList = new EventsList();
7.24
7.25 public MDRTestAssociationEvents(java.lang.String testName) {
7.26 super(testName);
7.27 @@ -47,10 +41,12 @@
7.28
7.29 protected void setUp() {
7.30 super.setUp();
7.31 + ((MDRChangeSource) repository).addListener(this);
7.32 }
7.33
7.34 protected void tearDown() {
7.35 super.tearDown();
7.36 + ((MDRChangeSource) repository).removeListener(this);
7.37 }
7.38
7.39 // -------------------------------------------------------------------------
7.40 @@ -58,37 +54,25 @@
7.41 public void testAddAssociation() {
7.42
7.43 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
7.44 -
7.45 - try {
7.46 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.ref")));
7.47 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.pass")));
7.48 - } catch (IOException ioe) {
7.49 - fail(ioe.toString());
7.50 - }
7.51 -
7.52 +
7.53 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
7.54
7.55 - ((MDRChangeSource) repository).addListener(this);
7.56 -
7.57 Collection allMOFAssociations = testMOFPackage.refAllAssociations();
7.58 Iterator iterAssoc = allMOFAssociations.iterator();
7.59 while (iterAssoc.hasNext()) {
7.60 RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
7.61 Association metaAssoc = (Association) assocProxy.refMetaObject();
7.62 - generator.generateAssociation(assocProxy, metaAssoc, goldenPass, false);
7.63 - }
7.64 -
7.65 - ((MDRChangeSource) repository).removeListener(this);
7.66 -
7.67 - goldenRef.close();
7.68 - goldenPass.close();
7.69 -
7.70 - try {
7.71 - assertFile(getWorkDirPath() + File.separator + "testAddAssociation.ref",
7.72 - getWorkDirPath() + File.separator + "testAddAssociation.pass",
7.73 - getWorkDirPath() + File.separator + "testAddAssociation.diff");
7.74 - } catch (IOException ioe) {
7.75 - fail(ioe.toString());
7.76 + eventsList.addPattern2(metaAssoc.getName(), EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
7.77 + java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, null, false);
7.78 + // !@#$%^& wait until event arives
7.79 + for (int i = 0; i < 20; i++) {
7.80 + try { Thread.currentThread().sleep(100); }
7.81 + catch (InterruptedException ie) { }
7.82 + }
7.83 + if (ends != null) {
7.84 + assertTrue(eventsList.checkEvents(metaAssoc.getName(), EventsList._ADD | EventsList._CHANGED));
7.85 + }
7.86 + eventsList.clear();
7.87 }
7.88
7.89 }
7.90 @@ -96,55 +80,46 @@
7.91 public void testRemoveAssociation() {
7.92
7.93 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
7.94 -
7.95 - try {
7.96 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.ref")));
7.97 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.pass")));
7.98 - } catch (IOException ioe) {
7.99 - fail(ioe.toString());
7.100 - }
7.101 -
7.102 +
7.103 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
7.104
7.105 - ((MDRChangeSource) repository).addListener(this);
7.106 -
7.107 Collection allMOFAssociations = testMOFPackage.refAllAssociations();
7.108 Iterator iterAssoc = allMOFAssociations.iterator();
7.109 while (iterAssoc.hasNext()) {
7.110 RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
7.111 Association metaAssoc = (Association) assocProxy.refMetaObject();
7.112 - java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, goldenPass, false);
7.113 - try {
7.114 - Thread.currentThread().sleep(100);
7.115 - } catch (InterruptedException ie) {
7.116 - // OK
7.117 + eventsList.addPattern2(metaAssoc.getName(), EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
7.118 + java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, null, false);
7.119 + // !@#$%^& wait until event arives
7.120 + for (int i = 0; i < 20; i++) {
7.121 + try { Thread.currentThread().sleep(100); }
7.122 + catch (InterruptedException ie) { }
7.123 }
7.124 if (ends != null) {
7.125 - goldenPass.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
7.126 + assertTrue(eventsList.checkEvents(metaAssoc.getName(), EventsList._ADD | EventsList._CHANGED));
7.127 + }
7.128 + eventsList.clear();
7.129 +
7.130 + if (ends != null) {
7.131 Collection links = assocProxy.refAllLinks();
7.132 Object [] linksArray = links.toArray();
7.133 if (linksArray.length >= 1) {
7.134 RefAssociationLink link = (RefAssociationLink) linksArray[0];
7.135 + eventsList.addPattern2(metaAssoc.getName(), EventsList._REMOVE | EventsList._CHANGED, System.currentTimeMillis());
7.136 assocProxy.refRemoveLink(link.refFirstEnd(), link.refSecondEnd());
7.137 + // !@#$%^& wait until event arives
7.138 + for (int i = 0; i < 20; i++) {
7.139 + try { Thread.currentThread().sleep(100); }
7.140 + catch (InterruptedException ie) { }
7.141 + }
7.142 + assertTrue(eventsList.checkEvents(metaAssoc.getName(), EventsList._REMOVE | EventsList._CHANGED));
7.143 + eventsList.clear();
7.144 } else {
7.145 fail("Association contained no link!");
7.146 }
7.147 }
7.148 }
7.149
7.150 - ((MDRChangeSource) repository).removeListener(this);
7.151 -
7.152 - goldenRef.close();
7.153 - goldenPass.close();
7.154 -
7.155 - try {
7.156 - assertFile(getWorkDirPath() + File.separator + "testRemoveAssociation.ref",
7.157 - getWorkDirPath() + File.separator + "testRemoveAssociation.pass",
7.158 - getWorkDirPath() + File.separator + "testRemoveAssociation.diff");
7.159 - } catch (IOException ioe) {
7.160 - fail(ioe.toString());
7.161 - }
7.162 -
7.163 }
7.164
7.165 // -------------------------------------------------------------------------
7.166 @@ -159,30 +134,36 @@
7.167
7.168 // EVENT_ASSOCIATION_ADD
7.169 if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == PLANNED)) {
7.170 - goldenRef.println("EVENT_ASSOCIATION_ADD - PLANNED");
7.171 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.172 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._PLANNED);
7.173 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CHANGED)) {
7.174 - goldenRef.println("EVENT_ASSOCIATION_ADD - CHANGED: " +
7.175 - ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
7.176 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.177 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CHANGED);
7.178 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CANCELED)) {
7.179 - goldenRef.println("EVENT_ASSOCIATION_ADD - CANCELED");
7.180 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.181 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CANCELED);
7.182 }
7.183 // EVENT_ASSOCIATION_SET
7.184 else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == PLANNED)) {
7.185 - goldenRef.println("EVENT_ASSOCIATION_SET - PLANNED");
7.186 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.187 + e, System.currentTimeMillis(), EventsList._SET | EventsList._PLANNED);
7.188 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CHANGED)) {
7.189 - goldenRef.println("EVENT_ASSOCIATION_SET - CHANGED: " +
7.190 - ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
7.191 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.192 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CHANGED);
7.193 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CANCELED)) {
7.194 - goldenRef.println("EVENT_ASSOCIATION_SET - CANCELED");
7.195 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.196 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CANCELED);
7.197 }
7.198 // EVENT_ASSOCIATION_REMOVE
7.199 else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == PLANNED)) {
7.200 - goldenRef.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " +
7.201 - ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
7.202 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.203 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._PLANNED);
7.204 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CHANGED)) {
7.205 - goldenRef.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
7.206 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.207 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CHANGED);
7.208 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CANCELED)) {
7.209 - goldenRef.println("EVENT_ASSOCIATION_REMOVE - CANCELED");
7.210 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
7.211 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CANCELED);
7.212 }
7.213
7.214 }
8.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationPreEvents.java Mon Sep 30 14:51:17 2002 +0000
8.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAssociationPreEvents.java Mon Sep 30 14:54:34 2002 +0000
8.3 @@ -10,11 +10,6 @@
8.4 import java.util.Iterator;
8.5 import java.util.Collection;
8.6
8.7 -import java.io.File;
8.8 -import java.io.FileOutputStream;
8.9 -import java.io.PrintStream;
8.10 -import java.io.IOException;
8.11 -
8.12 import junit.framework.*;
8.13 import org.netbeans.junit.*;
8.14
8.15 @@ -37,9 +32,8 @@
8.16 public class MDRTestAssociationPreEvents extends MDREventsTestCase implements MDRPreChangeListener {
8.17
8.18 private static final String PKG_NAME = "TEST_MOF";
8.19 -
8.20 - private PrintStream goldenRef = null;
8.21 - private PrintStream goldenPass = null;
8.22 +
8.23 + private EventsList eventsList = new EventsList();
8.24
8.25 public MDRTestAssociationPreEvents(java.lang.String testName) {
8.26 super(testName);
8.27 @@ -47,10 +41,12 @@
8.28
8.29 protected void setUp() {
8.30 super.setUp();
8.31 + ((MDRChangeSource) repository).addListener(this);
8.32 }
8.33
8.34 protected void tearDown() {
8.35 super.tearDown();
8.36 + ((MDRChangeSource) repository).removeListener(this);
8.37 }
8.38
8.39 // -------------------------------------------------------------------------
8.40 @@ -58,37 +54,25 @@
8.41 public void testAddAssociation() {
8.42
8.43 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
8.44 -
8.45 - try {
8.46 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.ref")));
8.47 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddAssociation.pass")));
8.48 - } catch (IOException ioe) {
8.49 - fail(ioe.toString());
8.50 - }
8.51 -
8.52 +
8.53 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
8.54
8.55 - ((MDRChangeSource) repository).addListener(this);
8.56 -
8.57 Collection allMOFAssociations = testMOFPackage.refAllAssociations();
8.58 Iterator iterAssoc = allMOFAssociations.iterator();
8.59 while (iterAssoc.hasNext()) {
8.60 RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
8.61 - Association metaAssoc = (Association) assocProxy.refMetaObject();
8.62 - generator.generateAssociation(assocProxy, metaAssoc, goldenPass, true);
8.63 - }
8.64 -
8.65 - ((MDRChangeSource) repository).removeListener(this);
8.66 -
8.67 - goldenRef.close();
8.68 - goldenPass.close();
8.69 -
8.70 - try {
8.71 - assertFile(getWorkDirPath() + File.separator + "testAddAssociation.ref",
8.72 - getWorkDirPath() + File.separator + "testAddAssociation.pass",
8.73 - getWorkDirPath() + File.separator + "testAddAssociation.diff");
8.74 - } catch (IOException ioe) {
8.75 - fail(ioe.toString());
8.76 + Association metaAssoc = (Association) assocProxy.refMetaObject();
8.77 + eventsList.addPattern2(metaAssoc.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
8.78 + java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, null, true);
8.79 + // !@#$%^& wait until event arives
8.80 + for (int i = 0; i < 20; i++) {
8.81 + try { Thread.currentThread().sleep(100); }
8.82 + catch (InterruptedException ie) { }
8.83 + }
8.84 + if (ends != null) {
8.85 + assertTrue(eventsList.checkEvents(metaAssoc.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED));
8.86 + }
8.87 + eventsList.clear();
8.88 }
8.89
8.90 }
8.91 @@ -96,56 +80,46 @@
8.92 public void testRemoveAssociation() {
8.93
8.94 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
8.95 -
8.96 - try {
8.97 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.ref")));
8.98 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testRemoveAssociation.pass")));
8.99 - } catch (IOException ioe) {
8.100 - fail(ioe.toString());
8.101 - }
8.102 -
8.103 +
8.104 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
8.105
8.106 - ((MDRChangeSource) repository).addListener(this);
8.107 -
8.108 Collection allMOFAssociations = testMOFPackage.refAllAssociations();
8.109 Iterator iterAssoc = allMOFAssociations.iterator();
8.110 while (iterAssoc.hasNext()) {
8.111 RefAssociation assocProxy = (RefAssociation) iterAssoc.next();
8.112 Association metaAssoc = (Association) assocProxy.refMetaObject();
8.113 - java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, goldenPass, true);
8.114 - try {
8.115 - Thread.currentThread().sleep(100);
8.116 - } catch (InterruptedException ie) {
8.117 - // OK
8.118 + eventsList.addPattern2(metaAssoc.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
8.119 + java.util.List ends = generator.generateAssociation(assocProxy, metaAssoc, null, true);
8.120 + // !@#$%^& wait until event arives
8.121 + for (int i = 0; i < 20; i++) {
8.122 + try { Thread.currentThread().sleep(100); }
8.123 + catch (InterruptedException ie) { }
8.124 }
8.125 if (ends != null) {
8.126 - goldenPass.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " + metaAssoc.getName());
8.127 - goldenPass.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
8.128 + assertTrue(eventsList.checkEvents(metaAssoc.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED));
8.129 + }
8.130 + eventsList.clear();
8.131 +
8.132 + if (ends != null) {
8.133 Collection links = assocProxy.refAllLinks();
8.134 Object [] linksArray = links.toArray();
8.135 if (linksArray.length >= 1) {
8.136 RefAssociationLink link = (RefAssociationLink) linksArray[0];
8.137 + eventsList.addPattern2(metaAssoc.getName(), EventsList._PLANNED | EventsList._REMOVE | EventsList._CHANGED, System.currentTimeMillis());
8.138 assocProxy.refRemoveLink(link.refFirstEnd(), link.refSecondEnd());
8.139 + // !@#$%^& wait until event arives
8.140 + for (int i = 0; i < 20; i++) {
8.141 + try { Thread.currentThread().sleep(100); }
8.142 + catch (InterruptedException ie) { }
8.143 + }
8.144 + assertTrue(eventsList.checkEvents(metaAssoc.getName(), EventsList._PLANNED | EventsList._REMOVE | EventsList._CHANGED));
8.145 + eventsList.clear();
8.146 } else {
8.147 fail("Association contained no link!");
8.148 }
8.149 }
8.150 }
8.151
8.152 - ((MDRChangeSource) repository).removeListener(this);
8.153 -
8.154 - goldenRef.close();
8.155 - goldenPass.close();
8.156 -
8.157 - try {
8.158 - assertFile(getWorkDirPath() + File.separator + "testRemoveAssociation.ref",
8.159 - getWorkDirPath() + File.separator + "testRemoveAssociation.pass",
8.160 - getWorkDirPath() + File.separator + "testRemoveAssociation.diff");
8.161 - } catch (IOException ioe) {
8.162 - fail(ioe.toString());
8.163 - }
8.164 -
8.165 }
8.166
8.167 // -------------------------------------------------------------------------
8.168 @@ -173,30 +147,36 @@
8.169
8.170 // EVENT_ASSOCIATION_ADD
8.171 if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == PLANNED)) {
8.172 - goldenRef.println("EVENT_ASSOCIATION_ADD - PLANNED");
8.173 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.174 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._PLANNED);
8.175 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CHANGED)) {
8.176 - goldenRef.println("EVENT_ASSOCIATION_ADD - CHANGED: " +
8.177 - ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
8.178 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.179 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CHANGED);
8.180 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_ADD) && (type == CANCELED)) {
8.181 - goldenRef.println("EVENT_ASSOCIATION_ADD - CANCELED");
8.182 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.183 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CANCELED);
8.184 }
8.185 // EVENT_ASSOCIATION_SET
8.186 else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == PLANNED)) {
8.187 - goldenRef.println("EVENT_ASSOCIATION_SET - PLANNED");
8.188 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.189 + e, System.currentTimeMillis(), EventsList._SET | EventsList._PLANNED);
8.190 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CHANGED)) {
8.191 - goldenRef.println("EVENT_ASSOCIATION_SET - CHANGED: " +
8.192 - ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
8.193 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.194 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CHANGED);
8.195 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_SET) && (type == CANCELED)) {
8.196 - goldenRef.println("EVENT_ASSOCIATION_SET - CANCELED");
8.197 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.198 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CANCELED);
8.199 }
8.200 // EVENT_ASSOCIATION_REMOVE
8.201 else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == PLANNED)) {
8.202 - goldenRef.println("EVENT_ASSOCIATION_REMOVE - PLANNED: " +
8.203 - ((ModelElement) ((RefBaseObject) e.getSource()).refMetaObject()).getName());
8.204 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.205 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._PLANNED);
8.206 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CHANGED)) {
8.207 - goldenRef.println("EVENT_ASSOCIATION_REMOVE - CHANGED");
8.208 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.209 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CHANGED);
8.210 } else if (e.isOfType(AssociationEvent.EVENT_ASSOCIATION_REMOVE) && (type == CANCELED)) {
8.211 - goldenRef.println("EVENT_ASSOCIATION_REMOVE - CANCELED");
8.212 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AssociationEvent) e).getSource()).refMetaObject()).getName(),
8.213 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CANCELED);
8.214 }
8.215
8.216 }
9.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributeEvents.java Mon Sep 30 14:51:17 2002 +0000
9.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributeEvents.java Mon Sep 30 14:54:34 2002 +0000
9.3 @@ -10,11 +10,6 @@
9.4 import java.util.Iterator;
9.5 import java.util.Collection;
9.6
9.7 -import java.io.File;
9.8 -import java.io.FileOutputStream;
9.9 -import java.io.PrintStream;
9.10 -import java.io.IOException;
9.11 -
9.12 import junit.framework.*;
9.13 import org.netbeans.junit.*;
9.14
9.15 @@ -38,8 +33,7 @@
9.16
9.17 private static final String PKG_NAME = "TEST_MOF";
9.18
9.19 - private PrintStream goldenRef = null;
9.20 - private PrintStream goldenPass = null;
9.21 + private EventsList eventsList = new EventsList();
9.22
9.23 public MDRTestAttributeEvents(java.lang.String testName) {
9.24 super(testName);
9.25 @@ -47,10 +41,12 @@
9.26
9.27 protected void setUp() {
9.28 super.setUp();
9.29 + ((MDRChangeSource) repository).addListener(this);
9.30 }
9.31
9.32 protected void tearDown() {
9.33 super.tearDown();
9.34 + ((MDRChangeSource) repository).removeListener(this);
9.35 }
9.36
9.37 // -------------------------------------------------------------------------
9.38 @@ -58,18 +54,9 @@
9.39 public void testAddRemoveAttribute() {
9.40
9.41 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
9.42 -
9.43 - try {
9.44 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.ref")));
9.45 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.pass")));
9.46 - } catch (IOException ioe) {
9.47 - fail(ioe.toString());
9.48 - }
9.49 -
9.50 +
9.51 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
9.52
9.53 - ((MDRChangeSource) repository).addListener(this);
9.54 -
9.55 RefObject newRefObj = null;
9.56 Collection allMOFClasses = testMOFPackage.refAllClasses();
9.57 Iterator iterClasses = allMOFClasses.iterator();
9.58 @@ -79,42 +66,34 @@
9.59 if (!metaClass.isAbstract()) {
9.60 log("Creating instance for class: " + metaClass.getName());
9.61 newRefObj = generator.generateInstance(metaClass);
9.62 - generator.addAttribute(newRefObj, true, goldenPass, false);
9.63 + eventsList.addPattern2(metaClass.getName(), EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
9.64 + eventsList.addPattern2(metaClass.getName(), EventsList._REMOVE | EventsList._CHANGED, System.currentTimeMillis());
9.65 + boolean ws = generator.addAttribute(newRefObj, true, null, false);
9.66 + // !@#$%^& wait until event arives
9.67 + for (int i = 0; i < 20; i++) {
9.68 + try { Thread.currentThread().sleep(100); }
9.69 + catch (InterruptedException ie) { }
9.70 + }
9.71 + if (ws) {
9.72 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._ADD | EventsList._CHANGED));
9.73 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._REMOVE | EventsList._CHANGED));
9.74 + }
9.75 + eventsList.clear();
9.76 } else {
9.77 log("Abstract class: " + metaClass.getName());
9.78 }
9.79 }
9.80
9.81 - ((MDRChangeSource) repository).removeListener(this);
9.82 -
9.83 - goldenRef.close();
9.84 - goldenPass.close();
9.85 -
9.86 - try {
9.87 - assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttribute.ref",
9.88 - getWorkDirPath() + File.separator + "testAddRemoveAttribute.pass",
9.89 - getWorkDirPath() + File.separator + "testAddRemoveAttribute.diff");
9.90 - } catch (IOException ioe) {
9.91 - fail(ioe.toString());
9.92 - }
9.93 -
9.94 }
9.95
9.96 public void testAddRemoveAttributeCL() {
9.97
9.98 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
9.99 -
9.100 - try {
9.101 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.ref")));
9.102 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.pass")));
9.103 - } catch (IOException ioe) {
9.104 - fail(ioe.toString());
9.105 - }
9.106 -
9.107 +
9.108 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
9.109
9.110 MDRAttributeListener listener = new MDRAttributeListener();
9.111 - listener.setRef(goldenRef);
9.112 + listener.setRef (eventsList);
9.113
9.114 RefObject newRefObj = null;
9.115 Collection allMOFClasses = testMOFPackage.refAllClasses();
9.116 @@ -126,42 +105,32 @@
9.117 log("Creating instance for class: " + metaClass.getName());
9.118 newRefObj = generator.generateInstance(metaClass);
9.119 ((MDRChangeSource) newRefObj).addListener(listener);
9.120 - generator.addAttribute(newRefObj, true, goldenPass, false);
9.121 + eventsList.addPattern2(metaClass.getName(), EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
9.122 + eventsList.addPattern2(metaClass.getName(), EventsList._REMOVE | EventsList._CHANGED, System.currentTimeMillis());
9.123 + boolean ws = generator.addAttribute(newRefObj, true, null, false);
9.124 + // !@#$%^& wait until event arives
9.125 + for (int i = 0; i < 20; i++) {
9.126 + try { Thread.currentThread().sleep(100); }
9.127 + catch (InterruptedException ie) { }
9.128 + }
9.129 + if (ws) {
9.130 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._ADD | EventsList._CHANGED));
9.131 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._REMOVE | EventsList._CHANGED));
9.132 + }
9.133 + eventsList.clear();
9.134 } else {
9.135 log("Abstract class: " + metaClass.getName());
9.136 }
9.137 }
9.138
9.139 - ((MDRChangeSource) newRefObj).removeListener(listener);
9.140 -
9.141 - goldenRef.close();
9.142 - goldenPass.close();
9.143 -
9.144 - try {
9.145 - assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.ref",
9.146 - getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.pass",
9.147 - getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.diff");
9.148 - } catch (IOException ioe) {
9.149 - fail(ioe.toString());
9.150 - }
9.151 -
9.152 }
9.153
9.154 public void testSetAttribute() {
9.155
9.156 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
9.157 -
9.158 - try {
9.159 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.ref")));
9.160 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.pass")));
9.161 - } catch (IOException ioe) {
9.162 - fail(ioe.toString());
9.163 - }
9.164 -
9.165 +
9.166 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
9.167
9.168 - ((MDRChangeSource) repository).addListener(this);
9.169 -
9.170 RefObject newRefObj = null;
9.171 Collection allMOFClasses = testMOFPackage.refAllClasses();
9.172 Iterator iterClasses = allMOFClasses.iterator();
9.173 @@ -171,42 +140,32 @@
9.174 if (!metaClass.isAbstract()) {
9.175 log("Creating instance for class: " + metaClass.getName());
9.176 newRefObj = generator.generateInstance(metaClass);
9.177 - generator.setAttribute(newRefObj, goldenPass, false);
9.178 + eventsList.addPattern2(metaClass.getName(), EventsList._SET | EventsList._CHANGED, System.currentTimeMillis());
9.179 + boolean ws = generator.setAttribute(newRefObj, null, false);
9.180 + // !@#$%^& wait until event arives
9.181 + for (int i = 0; i < 20; i++) {
9.182 + try { Thread.currentThread().sleep(100); }
9.183 + catch (InterruptedException ie) { }
9.184 + }
9.185 + if (ws) {
9.186 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._SET | EventsList._CHANGED));
9.187 + }
9.188 + eventsList.clear();
9.189 } else {
9.190 log("Abstract class: " + metaClass.getName());
9.191 }
9.192 }
9.193
9.194 - ((MDRChangeSource) repository).removeListener(this);
9.195 -
9.196 - goldenRef.close();
9.197 - goldenPass.close();
9.198 -
9.199 - try {
9.200 - assertFile(getWorkDirPath() + File.separator + "testSetAttribute.ref",
9.201 - getWorkDirPath() + File.separator + "testSetAttribute.pass",
9.202 - getWorkDirPath() + File.separator + "testSetAttribute.diff");
9.203 - } catch (IOException ioe) {
9.204 - fail(ioe.toString());
9.205 - }
9.206 -
9.207 }
9.208
9.209 public void testSetAttributeCL() {
9.210
9.211 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
9.212 -
9.213 - try {
9.214 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.ref")));
9.215 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.pass")));
9.216 - } catch (IOException ioe) {
9.217 - fail(ioe.toString());
9.218 - }
9.219 -
9.220 +
9.221 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
9.222
9.223 MDRAttributeListener listener = new MDRAttributeListener();
9.224 - listener.setRef(goldenRef);
9.225 + listener.setRef(eventsList);
9.226
9.227 RefObject newRefObj = null;
9.228 Collection allMOFClasses = testMOFPackage.refAllClasses();
9.229 @@ -218,26 +177,23 @@
9.230 log("Creating instance for class: " + metaClass.getName());
9.231 newRefObj = generator.generateInstance(metaClass);
9.232 // listening on class instance and repository too
9.233 - ((MDRChangeSource) newRefObj).addListener(listener);
9.234 - generator.setAttribute(newRefObj, goldenPass, false);
9.235 + ((MDRChangeSource) newRefObj).addListener(listener);
9.236 + eventsList.addPattern2(metaClass.getName(), EventsList._SET | EventsList._CHANGED, System.currentTimeMillis());
9.237 + boolean ws = generator.setAttribute(newRefObj, null, false);
9.238 + // !@#$%^& wait until event arives
9.239 + for (int i = 0; i < 20; i++) {
9.240 + try { Thread.currentThread().sleep(100); }
9.241 + catch (InterruptedException ie) { }
9.242 + }
9.243 + if (ws) {
9.244 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._SET | EventsList._CHANGED));
9.245 + }
9.246 + eventsList.clear();
9.247 } else {
9.248 log("Abstract class: " + metaClass.getName());
9.249 }
9.250 }
9.251
9.252 - ((MDRChangeSource) newRefObj).removeListener(listener);
9.253 -
9.254 - goldenRef.close();
9.255 - goldenPass.close();
9.256 -
9.257 - try {
9.258 - assertFile(getWorkDirPath() + File.separator + "testSetAttributeCL.ref",
9.259 - getWorkDirPath() + File.separator + "testSetAttributeCL.pass",
9.260 - getWorkDirPath() + File.separator + "testSetAttributeCL.diff");
9.261 - } catch (IOException ioe) {
9.262 - fail(ioe.toString());
9.263 - }
9.264 -
9.265 }
9.266
9.267 // -------------------------------------------------------------------------
9.268 @@ -253,27 +209,36 @@
9.269
9.270 // EVENT_ATTRIBUTE_ADD
9.271 if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == PLANNED)) {
9.272 - goldenRef.println("EVENT_ATTRIBUTE_ADD - PLANNED");
9.273 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.274 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._PLANNED);
9.275 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CHANGED)) {
9.276 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CHANGED: " + ((AttributeEvent) e).getAttributeName());
9.277 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.278 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CHANGED);
9.279 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CANCELED)) {
9.280 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CANCELED");
9.281 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.282 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CANCELED);
9.283 }
9.284 // EVENT_ATTRIBUTE_SET
9.285 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == PLANNED)) {
9.286 - goldenRef.println("EVENT_ATTRIBUTE_SET - PLANNED");
9.287 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.288 + e, System.currentTimeMillis(), EventsList._SET | EventsList._PLANNED);
9.289 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CHANGED)) {
9.290 - goldenRef.println("EVENT_ATTRIBUTE_SET - CHANGED: " + ((AttributeEvent) e).getAttributeName());
9.291 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.292 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CHANGED);
9.293 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CANCELED)) {
9.294 - goldenRef.println("EVENT_ATTRIBUTE_SET - CANCELED");
9.295 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.296 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CANCELED);
9.297 }
9.298 // EVENT_ATTRIBUTE_REMOVE
9.299 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == PLANNED)) {
9.300 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - PLANNED: " + ((AttributeEvent) e).getAttributeName());
9.301 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.302 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._PLANNED);
9.303 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CHANGED)) {
9.304 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CHANGED");
9.305 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.306 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CHANGED);
9.307 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CANCELED)) {
9.308 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CANCELED");
9.309 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
9.310 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CANCELED);
9.311 }
9.312
9.313 }
10.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributePreEvents.java Mon Sep 30 14:51:17 2002 +0000
10.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestAttributePreEvents.java Mon Sep 30 14:54:34 2002 +0000
10.3 @@ -10,11 +10,6 @@
10.4 import java.util.Iterator;
10.5 import java.util.Collection;
10.6
10.7 -import java.io.File;
10.8 -import java.io.FileOutputStream;
10.9 -import java.io.PrintStream;
10.10 -import java.io.IOException;
10.11 -
10.12 import junit.framework.*;
10.13 import org.netbeans.junit.*;
10.14
10.15 @@ -38,8 +33,7 @@
10.16
10.17 private static final String PKG_NAME = "TEST_MOF";
10.18
10.19 - private PrintStream goldenRef = null;
10.20 - private PrintStream goldenPass = null;
10.21 + private EventsList eventsList = new EventsList();
10.22
10.23 public MDRTestAttributePreEvents(java.lang.String testName) {
10.24 super(testName);
10.25 @@ -47,10 +41,12 @@
10.26
10.27 protected void setUp() {
10.28 super.setUp();
10.29 + ((MDRChangeSource) repository).addListener(this);
10.30 }
10.31
10.32 protected void tearDown() {
10.33 super.tearDown();
10.34 + ((MDRChangeSource) repository).removeListener(this);
10.35 }
10.36
10.37 // -------------------------------------------------------------------------
10.38 @@ -59,17 +55,8 @@
10.39
10.40 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
10.41
10.42 - try {
10.43 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.ref")));
10.44 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttribute.pass")));
10.45 - } catch (IOException ioe) {
10.46 - fail(ioe.toString());
10.47 - }
10.48 -
10.49 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
10.50
10.51 - ((MDRChangeSource) repository).addListener(this);
10.52 -
10.53 RefObject newRefObj = null;
10.54 Collection allMOFClasses = testMOFPackage.refAllClasses();
10.55 Iterator iterClasses = allMOFClasses.iterator();
10.56 @@ -79,42 +66,32 @@
10.57 if (!metaClass.isAbstract()) {
10.58 log("Creating instance for class: " + metaClass.getName());
10.59 newRefObj = generator.generateInstance(metaClass);
10.60 - generator.setAttribute(newRefObj, goldenPass, true);
10.61 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._SET | EventsList._CHANGED, System.currentTimeMillis());
10.62 + boolean ws = generator.setAttribute(newRefObj, null, true);
10.63 + // !@#$%^& wait until event arives
10.64 + for (int i = 0; i < 20; i++) {
10.65 + try { Thread.currentThread().sleep(100); }
10.66 + catch (InterruptedException ie) { }
10.67 + }
10.68 + if (ws) {
10.69 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._SET | EventsList._CHANGED));
10.70 + }
10.71 + eventsList.clear();
10.72 } else {
10.73 log("Abstract class: " + metaClass.getName());
10.74 }
10.75 }
10.76
10.77 - ((MDRChangeSource) repository).removeListener(this);
10.78 -
10.79 - goldenRef.close();
10.80 - goldenPass.close();
10.81 -
10.82 - try {
10.83 - assertFile(getWorkDirPath() + File.separator + "testSetAttribute.ref",
10.84 - getWorkDirPath() + File.separator + "testSetAttribute.pass",
10.85 - getWorkDirPath() + File.separator + "testSetAttribute.diff");
10.86 - } catch (IOException ioe) {
10.87 - fail(ioe.toString());
10.88 - }
10.89 -
10.90 }
10.91
10.92 public void testSetAttributeCL() {
10.93
10.94 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
10.95
10.96 - try {
10.97 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.ref")));
10.98 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testSetAttributeCL.pass")));
10.99 - } catch (IOException ioe) {
10.100 - fail(ioe.toString());
10.101 - }
10.102 -
10.103 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
10.104
10.105 MDRAttributePreListener listener = new MDRAttributePreListener("test");
10.106 - listener.setRef(goldenRef);
10.107 + listener.setRef(eventsList);
10.108
10.109 RefObject newRefObj = null;
10.110 Collection allMOFClasses = testMOFPackage.refAllClasses();
10.111 @@ -126,43 +103,31 @@
10.112 log("Creating instance for class: " + metaClass.getName());
10.113 newRefObj = generator.generateInstance(metaClass);
10.114 // listening on class instance and repository too
10.115 - ((MDRChangeSource) newRefObj).addListener(listener);
10.116 - generator.setAttribute(newRefObj, goldenPass, true);
10.117 + ((MDRChangeSource) newRefObj).addListener(listener);
10.118 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._SET | EventsList._CHANGED, System.currentTimeMillis());
10.119 + boolean ws = generator.setAttribute(newRefObj, null, true);
10.120 + // !@#$%^& wait until event arives
10.121 + for (int i = 0; i < 20; i++) {
10.122 + try { Thread.currentThread().sleep(100); }
10.123 + catch (InterruptedException ie) { }
10.124 + }
10.125 + if (ws) {
10.126 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._SET | EventsList._CHANGED));
10.127 + }
10.128 + eventsList.clear();
10.129 } else {
10.130 log("Abstract class: " + metaClass.getName());
10.131 }
10.132 }
10.133
10.134 - ((MDRChangeSource) newRefObj).removeListener(listener);
10.135 -
10.136 - goldenRef.close();
10.137 - goldenPass.close();
10.138 -
10.139 - try {
10.140 - assertFile(getWorkDirPath() + File.separator + "testSetAttributeCL.ref",
10.141 - getWorkDirPath() + File.separator + "testSetAttributeCL.pass",
10.142 - getWorkDirPath() + File.separator + "testSetAttributeCL.diff");
10.143 - } catch (IOException ioe) {
10.144 - fail(ioe.toString());
10.145 - }
10.146 -
10.147 }
10.148
10.149 public void testAddRemoveAttribute() {
10.150
10.151 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
10.152
10.153 - try {
10.154 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.ref")));
10.155 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttribute.pass")));
10.156 - } catch (IOException ioe) {
10.157 - fail(ioe.toString());
10.158 - }
10.159 -
10.160 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
10.161
10.162 - ((MDRChangeSource) repository).addListener(this);
10.163 -
10.164 RefObject newRefObj = null;
10.165 Collection allMOFClasses = testMOFPackage.refAllClasses();
10.166 Iterator iterClasses = allMOFClasses.iterator();
10.167 @@ -172,42 +137,34 @@
10.168 if (!metaClass.isAbstract()) {
10.169 log("Creating instance for class: " + metaClass.getName());
10.170 newRefObj = generator.generateInstance(metaClass);
10.171 - generator.addAttribute(newRefObj, true, goldenPass, true);
10.172 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
10.173 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._REMOVE | EventsList._CHANGED, System.currentTimeMillis());
10.174 + boolean ws = generator.addAttribute(newRefObj, true, null, true);
10.175 + // !@#$%^& wait until event arives
10.176 + for (int i = 0; i < 20; i++) {
10.177 + try { Thread.currentThread().sleep(100); }
10.178 + catch (InterruptedException ie) { }
10.179 + }
10.180 + if (ws) {
10.181 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED));
10.182 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._REMOVE | EventsList._CHANGED));
10.183 + }
10.184 + eventsList.clear();
10.185 } else {
10.186 log("Abstract class: " + metaClass.getName());
10.187 }
10.188 }
10.189
10.190 - ((MDRChangeSource) repository).removeListener(this);
10.191 -
10.192 - goldenRef.close();
10.193 - goldenPass.close();
10.194 -
10.195 - try {
10.196 - assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttribute.ref",
10.197 - getWorkDirPath() + File.separator + "testAddRemoveAttribute.pass",
10.198 - getWorkDirPath() + File.separator + "testAddRemoveAttribute.diff");
10.199 - } catch (IOException ioe) {
10.200 - fail(ioe.toString());
10.201 - }
10.202 -
10.203 }
10.204
10.205 public void testAddRemoveAttributeCL() {
10.206
10.207 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
10.208
10.209 - try {
10.210 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.ref")));
10.211 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testAddRemoveAttributeCL.pass")));
10.212 - } catch (IOException ioe) {
10.213 - fail(ioe.toString());
10.214 - }
10.215 -
10.216 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
10.217
10.218 MDRAttributePreListener listener = new MDRAttributePreListener("test");
10.219 - listener.setRef(goldenRef);
10.220 + listener.setRef(eventsList);
10.221
10.222 RefObject newRefObj = null;
10.223 Collection allMOFClasses = testMOFPackage.refAllClasses();
10.224 @@ -219,25 +176,24 @@
10.225 log("Creating instance for class: " + metaClass.getName());
10.226 newRefObj = generator.generateInstance(metaClass);
10.227 ((MDRChangeSource) newRefObj).addListener(listener);
10.228 - generator.addAttribute(newRefObj, true, goldenPass, true);
10.229 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED, System.currentTimeMillis());
10.230 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._REMOVE | EventsList._CHANGED, System.currentTimeMillis());
10.231 + boolean ws = generator.addAttribute(newRefObj, true, null, true);
10.232 + // !@#$%^& wait until event arives
10.233 + for (int i = 0; i < 20; i++) {
10.234 + try { Thread.currentThread().sleep(100); }
10.235 + catch (InterruptedException ie) { }
10.236 + }
10.237 + if (ws) {
10.238 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._ADD | EventsList._CHANGED));
10.239 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._REMOVE | EventsList._CHANGED));
10.240 + }
10.241 + eventsList.clear();
10.242 } else {
10.243 log("Abstract class: " + metaClass.getName());
10.244 }
10.245 }
10.246 -
10.247 - ((MDRChangeSource) newRefObj).removeListener(listener);
10.248 -
10.249 - goldenRef.close();
10.250 - goldenPass.close();
10.251 -
10.252 - try {
10.253 - assertFile(getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.ref",
10.254 - getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.pass",
10.255 - getWorkDirPath() + File.separator + "testAddRemoveAttributeCL.diff");
10.256 - } catch (IOException ioe) {
10.257 - fail(ioe.toString());
10.258 - }
10.259 -
10.260 +
10.261 }
10.262
10.263 // -------------------------------------------------------------------------
10.264 @@ -266,27 +222,36 @@
10.265
10.266 // EVENT_ATTRIBUTE_ADD
10.267 if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == PLANNED)) {
10.268 - goldenRef.println("EVENT_ATTRIBUTE_ADD - PLANNED");
10.269 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.270 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._PLANNED);
10.271 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CHANGED)) {
10.272 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CHANGED: " + ((AttributeEvent) e).getAttributeName());
10.273 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.274 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CHANGED);
10.275 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_ADD) && (type == CANCELED)) {
10.276 - goldenRef.println("EVENT_ATTRIBUTE_ADD - CANCELED");
10.277 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.278 + e, System.currentTimeMillis(), EventsList._ADD | EventsList._CANCELED);
10.279 }
10.280 // EVENT_ATTRIBUTE_SET
10.281 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == PLANNED)) {
10.282 - goldenRef.println("EVENT_ATTRIBUTE_SET - PLANNED");
10.283 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.284 + e, System.currentTimeMillis(), EventsList._SET | EventsList._PLANNED);
10.285 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CHANGED)) {
10.286 - goldenRef.println("EVENT_ATTRIBUTE_SET - CHANGED: " + ((AttributeEvent) e).getAttributeName());
10.287 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.288 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CHANGED);
10.289 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_SET) && (type == CANCELED)) {
10.290 - goldenRef.println("EVENT_ATTRIBUTE_SET - CANCELED");
10.291 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.292 + e, System.currentTimeMillis(), EventsList._SET | EventsList._CANCELED);
10.293 }
10.294 // EVENT_ATTRIBUTE_REMOVE
10.295 else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == PLANNED)) {
10.296 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - PLANNED: " + ((AttributeEvent) e).getAttributeName());
10.297 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.298 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._PLANNED);
10.299 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CHANGED)) {
10.300 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CHANGED");
10.301 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.302 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CHANGED);
10.303 } else if (e.isOfType(AttributeEvent.EVENT_ATTRIBUTE_REMOVE) && (type == CANCELED)) {
10.304 - goldenRef.println("EVENT_ATTRIBUTE_REMOVE - CANCELED");
10.305 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((AttributeEvent) e).getSource()).refMetaObject()).getName(),
10.306 + e, System.currentTimeMillis(), EventsList._REMOVE | EventsList._CANCELED);
10.307 }
10.308
10.309 }
11.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestExtentEvents.java Mon Sep 30 14:51:17 2002 +0000
11.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestExtentEvents.java Mon Sep 30 14:54:34 2002 +0000
11.3 @@ -7,6 +7,10 @@
11.4
11.5 package org.netbeans.mdr.test;
11.6
11.7 +import java.util.Collection;
11.8 +import java.util.HashMap;
11.9 +import java.util.Iterator;
11.10 +import java.util.LinkedList;
11.11 import junit.framework.*;
11.12 import org.netbeans.junit.*;
11.13
11.14 @@ -35,6 +39,7 @@
11.15 private static final String MDL_NAME_TEXT = "TEXT_MODEL";
11.16
11.17 private java.io.PrintStream goldenRef = null;
11.18 + private EventsList eventsList = new EventsList();
11.19
11.20 public MDRTestExtentEvents(java.lang.String testName) {
11.21 super(testName);
11.22 @@ -48,77 +53,112 @@
11.23 protected void tearDown() {
11.24 super.tearDown();
11.25 ((MDRChangeSource) repository).removeListener(this);
11.26 - compareReferenceFiles();
11.27 }
11.28
11.29 // -------------------------------------------------------------------------
11.30
11.31 // Instantiate MOF
11.32 public void testCreateMOFExtent() {
11.33 - goldenRef = getRef();
11.34 +
11.35 RefPackage mofExtent = null;
11.36 try {
11.37 + eventsList.addPattern2(PKG_NAME_MOF, EventsList._CREATE & EventsList._CHANGED, System.currentTimeMillis());
11.38 mofExtent = repository.createExtent(PKG_NAME_MOF);
11.39 + for (int i = 0; i < 10; i++) {
11.40 + try { Thread.currentThread().sleep(100); }
11.41 + catch (InterruptedException ie) { }
11.42 + }
11.43 + assertTrue(eventsList.checkEvents(PKG_NAME_MOF, EventsList._CREATE | EventsList._CHANGED));
11.44 + eventsList.clear();
11.45 } catch (CreationFailedException cfe) {
11.46 - goldenRef.close();
11.47 fail(cfe.toString());
11.48 }
11.49 - goldenRef.close();
11.50 +
11.51 }
11.52
11.53 // Load Java model and instantiate it
11.54 public void testCreateJavaExtent() {
11.55 - goldenRef = getRef();
11.56 +
11.57 RefPackage javaExtent = null;
11.58 +
11.59 + eventsList.addPattern2(MDL_NAME_JAVA, EventsList._CREATE & EventsList._CHANGED, System.currentTimeMillis());
11.60 ModelPackage javaMOFModel = loadMOFModel("Java.xml", MDL_NAME_JAVA);
11.61 + assertTrue(eventsList.checkEvents(MDL_NAME_JAVA, EventsList._CREATE | EventsList._CHANGED));
11.62 + eventsList.clear();
11.63 try {
11.64 + eventsList.addPattern2(PKG_NAME_JAVA, EventsList._CREATE & EventsList._CHANGED, System.currentTimeMillis());
11.65 javaExtent = repository.createExtent(PKG_NAME_JAVA, findMofPackage(javaMOFModel, "Core"));
11.66 - } catch (CreationFailedException cfe) {
11.67 - goldenRef.close();
11.68 + for (int i = 0; i < 10; i++) {
11.69 + try { Thread.currentThread().sleep(100); }
11.70 + catch (InterruptedException ie) { }
11.71 + }
11.72 + assertTrue(eventsList.checkEvents(PKG_NAME_JAVA, EventsList._CREATE | EventsList._CHANGED));
11.73 + eventsList.clear();
11.74 + } catch (CreationFailedException cfe) {
11.75 fail(cfe.toString());
11.76 }
11.77 - goldenRef.close();
11.78 +
11.79 }
11.80
11.81 public void testDeleteMOFExtent() {
11.82 - goldenRef = getRef();
11.83 +
11.84 RefPackage mofExtent = repository.getExtent(PKG_NAME_MOF);
11.85 + eventsList.addPattern2(PKG_NAME_MOF, EventsList._DELETE & EventsList._CHANGED, System.currentTimeMillis());
11.86 mofExtent.refDelete();
11.87 - goldenRef.close();
11.88 + for (int i = 0; i < 10; i++) {
11.89 + try { Thread.currentThread().sleep(100); }
11.90 + catch (InterruptedException ie) { }
11.91 + }
11.92 + assertTrue(eventsList.checkEvents(PKG_NAME_MOF, EventsList._DELETE | EventsList._CHANGED));
11.93 + eventsList.clear();
11.94 +
11.95 }
11.96
11.97 public void testDeleteJavaExtent() {
11.98 - goldenRef = getRef();
11.99 +
11.100 RefPackage javaExtent = repository.getExtent(PKG_NAME_JAVA);
11.101 + eventsList.addPattern2(PKG_NAME_JAVA, EventsList._DELETE & EventsList._CHANGED, System.currentTimeMillis());
11.102 javaExtent.refDelete();
11.103 - goldenRef.close();
11.104 + for (int i = 0; i < 10; i++) {
11.105 + try { Thread.currentThread().sleep(100); }
11.106 + catch (InterruptedException ie) { }
11.107 + }
11.108 + assertTrue(eventsList.checkEvents(PKG_NAME_JAVA, EventsList._DELETE | EventsList._CHANGED));
11.109 + eventsList.clear();
11.110 +
11.111 }
11.112
11.113 // -------------------------------------------------------------------------
11.114
11.115 - public void change(MDRChangeEvent e) {
11.116 + public void change(MDRChangeEvent e) {
11.117 processEvent(e, CHANGED);
11.118 }
11.119
11.120 private void processEvent(MDRChangeEvent e, int type) {
11.121
11.122 - if (e.isOfType(ExtentEvent.EVENTMASK_EXTENT)) { // ExtentEvent
11.123 + if (e.isOfType(ExtentEvent.EVENTMASK_EXTENT)) { // ExtentEvent
11.124
11.125 // EVENT_EXTENT_CREATE
11.126 if (e.isOfType(ExtentEvent.EVENT_EXTENT_CREATE) && (type == PLANNED)) {
11.127 - goldenRef.println("EVENT_EXTENT_CREATE - PLANNED: " + ((ExtentEvent) e).getExtentName());
11.128 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
11.129 + EventsList._CREATE | EventsList._PLANNED);
11.130 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_CREATE) && (type == CHANGED)) {
11.131 - goldenRef.println("EVENT_EXTENT_CREATE - CHANGED: " + ((ExtentEvent) e).getExtentName());
11.132 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
11.133 + EventsList._CREATE | EventsList._CHANGED);
11.134 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_CREATE) && (type == CANCELED)) {
11.135 - goldenRef.println("EVENT_EXTENT_CREATE - CANCELED: " + ((ExtentEvent) e).getExtentName());
11.136 - }
11.137 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
11.138 + EventsList._CREATE | EventsList._CANCELED);
11.139 + }
11.140 // EVENT_EXTENT_DELETE
11.141 else if (e.isOfType(ExtentEvent.EVENT_EXTENT_DELETE) && (type == PLANNED)) {
11.142 - goldenRef.println("EVENT_EXTENT_DELETE - PLANNED: " + ((ExtentEvent) e).getExtentName());
11.143 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
11.144 + EventsList._DELETE | EventsList._PLANNED);
11.145 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_DELETE) && (type == CHANGED)) {
11.146 - goldenRef.println("EVENT_EXTENT_DELETE - CHANGED: " + ((ExtentEvent) e).getExtentName());
11.147 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
11.148 + EventsList._DELETE | EventsList._CHANGED);
11.149 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_DELETE) && (type == CANCELED)) {
11.150 - goldenRef.println("EVENT_EXTENT_DELETE - CANCELED: " + ((ExtentEvent) e).getExtentName());
11.151 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
11.152 + EventsList._DELETE | EventsList._CANCELED);
11.153 }
11.154
11.155 }
12.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestExtentPreEvents.java Mon Sep 30 14:51:17 2002 +0000
12.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestExtentPreEvents.java Mon Sep 30 14:54:34 2002 +0000
12.3 @@ -35,6 +35,7 @@
12.4 private static final String MDL_NAME_TEXT = "TEXT_MODEL";
12.5
12.6 private java.io.PrintStream goldenRef = null;
12.7 + private EventsList eventsList = new EventsList();
12.8
12.9 public MDRTestExtentPreEvents(java.lang.String testName) {
12.10 super(testName);
12.11 @@ -47,64 +48,97 @@
12.12
12.13 protected void tearDown() {
12.14 super.tearDown();
12.15 - ((MDRChangeSource) repository).removeListener(this);
12.16 - compareReferenceFiles();
12.17 + ((MDRChangeSource) repository).removeListener(this);
12.18 }
12.19
12.20 // -------------------------------------------------------------------------
12.21
12.22 // Instantiate MOF
12.23 - public void testCreateMOFExtent() {
12.24 - goldenRef = getRef();
12.25 + public void testCreateMOFExtent() {
12.26 RefPackage mofExtent = null;
12.27 try {
12.28 + eventsList.addPattern2(PKG_NAME_MOF, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED, System.currentTimeMillis());
12.29 mofExtent = repository.createExtent(PKG_NAME_MOF);
12.30 + for (int i = 0; i < 10; i++) {
12.31 + try { Thread.currentThread().sleep(100); }
12.32 + catch (InterruptedException ie) { }
12.33 + }
12.34 + assertTrue(eventsList.checkEvents(PKG_NAME_MOF, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED));
12.35 + eventsList.clear();
12.36 } catch (CreationFailedException cfe) {
12.37 - goldenRef.close();
12.38 fail(cfe.toString());
12.39 }
12.40 - goldenRef.close();
12.41 +
12.42 }
12.43
12.44 // Load Java model and instantiate it
12.45 public void testCreateJavaExtent() {
12.46 - goldenRef = getRef();
12.47 +
12.48 RefPackage javaExtent = null;
12.49 + eventsList.addPattern2(MDL_NAME_JAVA, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED, System.currentTimeMillis());
12.50 ModelPackage javaMOFModel = loadMOFModel("Java.xml", MDL_NAME_JAVA);
12.51 + assertTrue(eventsList.checkEvents(MDL_NAME_JAVA, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED));
12.52 + eventsList.clear();
12.53 try {
12.54 + eventsList.addPattern2(PKG_NAME_JAVA, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED, System.currentTimeMillis());
12.55 javaExtent = repository.createExtent(PKG_NAME_JAVA, findMofPackage(javaMOFModel, "Core"));
12.56 - } catch (CreationFailedException cfe) {
12.57 - goldenRef.close();
12.58 + for (int i = 0; i < 10; i++) {
12.59 + try { Thread.currentThread().sleep(100); }
12.60 + catch (InterruptedException ie) { }
12.61 + }
12.62 + assertTrue(eventsList.checkEvents(PKG_NAME_JAVA, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED));
12.63 + eventsList.clear();
12.64 + } catch (CreationFailedException cfe) {
12.65 fail(cfe.toString());
12.66 - }
12.67 - goldenRef.close();
12.68 + }
12.69 +
12.70 }
12.71
12.72 // Load Text model and instantiate it - negative test
12.73 public void testCreateTextExtent() {
12.74 - goldenRef = getRef();
12.75 +
12.76 RefPackage textExtent = null;
12.77 - ModelPackage textMOFModel = loadMOFModel("Text.xml", MDL_NAME_TEXT);
12.78 + eventsList.addPattern2(MDL_NAME_TEXT, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED, System.currentTimeMillis());
12.79 + ModelPackage textMOFModel = loadMOFModel("TestText.xml", MDL_NAME_TEXT);
12.80 + assertTrue(eventsList.checkEvents(MDL_NAME_TEXT, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED));
12.81 + eventsList.clear();
12.82 try {
12.83 - textExtent = repository.createExtent(PKG_NAME_TEXT, findMofPackage(textMOFModel, "Text"));
12.84 + eventsList.addPattern2(PKG_NAME_TEXT, EventsList._CREATE | EventsList._PLANNED | EventsList._CHANGED, System.currentTimeMillis());
12.85 + textExtent = repository.createExtent(PKG_NAME_TEXT, findMofPackage(textMOFModel, "TestText"));
12.86 } catch (CreationFailedException cfe) {
12.87 - // fail(cfe.toString()); this must fail
12.88 + // fail(cfe.toString()); // this must fail
12.89 + assertTrue(eventsList.checkEvents(PKG_NAME_TEXT, EventsList._CREATE | EventsList._PLANNED | EventsList._CANCELED));
12.90 + eventsList.clear();
12.91 }
12.92 - goldenRef.close();
12.93 +
12.94 }
12.95
12.96 public void testDeleteMOFExtent() {
12.97 - goldenRef = getRef();
12.98 +
12.99 RefPackage mofExtent = repository.getExtent(PKG_NAME_MOF);
12.100 + eventsList.addPattern2(PKG_NAME_MOF, EventsList._DELETE | EventsList._PLANNED | EventsList._CHANGED, System.currentTimeMillis());
12.101 mofExtent.refDelete();
12.102 - goldenRef.close();
12.103 + for (int i = 0; i < 10; i++) {
12.104 + try { Thread.currentThread().sleep(100); }
12.105 + catch (InterruptedException ie) { }
12.106 + }
12.107 + assertTrue(eventsList.checkEvents(PKG_NAME_MOF, EventsList._DELETE | EventsList._PLANNED | EventsList._CHANGED));
12.108 + eventsList.clear();
12.109 +
12.110 }
12.111
12.112 public void testDeleteJavaExtent() {
12.113 - goldenRef = getRef();
12.114 +
12.115 RefPackage javaExtent = repository.getExtent(PKG_NAME_JAVA);
12.116 + eventsList.addPattern2(PKG_NAME_JAVA, EventsList._DELETE | EventsList._PLANNED | EventsList._CHANGED, System.currentTimeMillis());
12.117 javaExtent.refDelete();
12.118 - goldenRef.close();
12.119 + for (int i = 0; i < 10; i++) {
12.120 + try { Thread.currentThread().sleep(100); }
12.121 + catch (InterruptedException ie) { }
12.122 + }
12.123 + assertTrue(eventsList.checkEvents(PKG_NAME_JAVA, EventsList._DELETE | EventsList._PLANNED | EventsList._CHANGED));
12.124 + eventsList.clear();
12.125 +
12.126 }
12.127
12.128 // -------------------------------------------------------------------------
12.129 @@ -132,19 +166,25 @@
12.130
12.131 // EVENT_EXTENT_CREATE
12.132 if (e.isOfType(ExtentEvent.EVENT_EXTENT_CREATE) && (type == PLANNED)) {
12.133 - goldenRef.println("EVENT_EXTENT_CREATE - PLANNED: " + ((ExtentEvent) e).getExtentName());
12.134 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
12.135 + EventsList._CREATE | EventsList._PLANNED);
12.136 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_CREATE) && (type == CHANGED)) {
12.137 - goldenRef.println("EVENT_EXTENT_CREATE - CHANGED: " + ((ExtentEvent) e).getExtentName());
12.138 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
12.139 + EventsList._CREATE | EventsList._CHANGED);
12.140 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_CREATE) && (type == CANCELED)) {
12.141 - goldenRef.println("EVENT_EXTENT_CREATE - CANCELED: " + ((ExtentEvent) e).getExtentName());
12.142 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
12.143 + EventsList._CREATE | EventsList._CANCELED);
12.144 }
12.145 // EVENT_EXTENT_DELETE
12.146 else if (e.isOfType(ExtentEvent.EVENT_EXTENT_DELETE) && (type == PLANNED)) {
12.147 - goldenRef.println("EVENT_EXTENT_DELETE - PLANNED: " + ((ExtentEvent) e).getExtentName());
12.148 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
12.149 + EventsList._DELETE | EventsList._PLANNED);
12.150 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_DELETE) && (type == CHANGED)) {
12.151 - goldenRef.println("EVENT_EXTENT_DELETE - CHANGED: " + ((ExtentEvent) e).getExtentName());
12.152 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
12.153 + EventsList._DELETE | EventsList._CHANGED);
12.154 } else if (e.isOfType(ExtentEvent.EVENT_EXTENT_DELETE) && (type == CANCELED)) {
12.155 - goldenRef.println("EVENT_EXTENT_DELETE - CANCELED: " + ((ExtentEvent) e).getExtentName());
12.156 + eventsList.addEvent(((ExtentEvent) e).getExtentName(), e, System.currentTimeMillis(),
12.157 + EventsList._DELETE | EventsList._CANCELED);
12.158 }
12.159
12.160 }
13.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstanceEvents.java Mon Sep 30 14:51:17 2002 +0000
13.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstanceEvents.java Mon Sep 30 14:54:34 2002 +0000
13.3 @@ -10,11 +10,6 @@
13.4 import java.util.Iterator;
13.5 import java.util.Collection;
13.6
13.7 -import java.io.File;
13.8 -import java.io.FileOutputStream;
13.9 -import java.io.PrintStream;
13.10 -import java.io.IOException;
13.11 -
13.12 import junit.framework.*;
13.13 import org.netbeans.junit.*;
13.14
13.15 @@ -38,19 +33,21 @@
13.16
13.17 private static final String PKG_NAME = "TEST_MOF";
13.18
13.19 - private PrintStream goldenRef = null;
13.20 - private PrintStream goldenPass = null;
13.21 + private EventsList eventsList = new EventsList();
13.22
13.23 public MDRTestInstanceEvents(java.lang.String testName) {
13.24 super(testName);
13.25 }
13.26
13.27 protected void setUp() {
13.28 - super.setUp();
13.29 + super.setUp();
13.30 + ((MDRChangeSource) repository).addListener(this);
13.31 }
13.32
13.33 protected void tearDown() {
13.34 super.tearDown();
13.35 + ((MDRChangeSource) repository).removeListener(this);
13.36 +
13.37 }
13.38
13.39 // -------------------------------------------------------------------------
13.40 @@ -58,18 +55,9 @@
13.41 public void testCreateInstance() {
13.42
13.43 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
13.44 -
13.45 - try {
13.46 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.ref")));
13.47 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.pass")));
13.48 - } catch (IOException ioe) {
13.49 - fail(ioe.toString());
13.50 - }
13.51
13.52 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
13.53
13.54 - ((MDRChangeSource) repository).addListener(this);
13.55 -
13.56 RefObject newRefObj = null;
13.57 Collection allMOFClasses = testMOFPackage.refAllClasses();
13.58 Iterator iterClasses = allMOFClasses.iterator();
13.59 @@ -78,48 +66,28 @@
13.60 MofClass metaClass = (MofClass) clsProxy.refMetaObject();
13.61 if (!metaClass.isAbstract()) {
13.62 log("Creating instance for class: " + metaClass.getName());
13.63 - goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
13.64 + eventsList.addPattern2(metaClass.getName(), EventsList._CREATE | EventsList._CHANGED, System.currentTimeMillis());
13.65 newRefObj = generator.generateInstance(metaClass);
13.66 - try {
13.67 - Thread.currentThread().sleep(100);
13.68 - } catch (InterruptedException ie) {
13.69 - // OK
13.70 + // !@#$%^& wait until event arives
13.71 + for (int i = 0; i < 20; i++) {
13.72 + try { Thread.currentThread().sleep(100); }
13.73 + catch (InterruptedException ie) { }
13.74 }
13.75 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._CREATE | EventsList._CHANGED));
13.76 + eventsList.clear();
13.77 } else {
13.78 log("Abstract class: " + metaClass.getName());
13.79 }
13.80 }
13.81
13.82 - ((MDRChangeSource) repository).removeListener(this);
13.83 -
13.84 - goldenRef.close();
13.85 - goldenPass.close();
13.86 -
13.87 - try {
13.88 - assertFile(getWorkDirPath() + File.separator + "testCreateInstance.ref",
13.89 - getWorkDirPath() + File.separator + "testCreateInstance.pass",
13.90 - getWorkDirPath() + File.separator + "testCreateInstance.diff");
13.91 - } catch (IOException ioe) {
13.92 - fail(ioe.toString());
13.93 - }
13.94 -
13.95 }
13.96
13.97 public void testDeleteInstance() {
13.98
13.99 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
13.100
13.101 - try {
13.102 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.ref")));
13.103 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.pass")));
13.104 - } catch (IOException ioe) {
13.105 - fail(ioe.toString());
13.106 - }
13.107 -
13.108 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
13.109
13.110 - ((MDRChangeSource) repository).addListener(this);
13.111 -
13.112 RefObject newRefObj = null;
13.113 Collection allMOFClasses = testMOFPackage.refAllClasses();
13.114 Iterator iterClasses = allMOFClasses.iterator();
13.115 @@ -128,34 +96,31 @@
13.116 MofClass metaClass = (MofClass) clsProxy.refMetaObject();
13.117 if (!metaClass.isAbstract()) {
13.118 log("Creating instance for class: " + metaClass.getName());
13.119 - goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
13.120 - goldenPass.println("EVENT_INSTANCE_DELETE - CHANGED");
13.121 + eventsList.addPattern2(metaClass.getName(), EventsList._CREATE | EventsList._CHANGED, System.currentTimeMillis());
13.122 newRefObj = generator.generateInstance(metaClass);
13.123 - try {
13.124 - Thread.currentThread().sleep(150);
13.125 - } catch (InterruptedException ie) {
13.126 - // OK
13.127 + // !@#$%^& wait until event arives
13.128 + for (int i = 0; i < 20; i++) {
13.129 + try { Thread.currentThread().sleep(100); }
13.130 + catch (InterruptedException ie) { }
13.131 }
13.132 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._CREATE | EventsList._CHANGED));
13.133 + eventsList.clear();
13.134 +
13.135 log("Deleting instance of class: " + metaClass.getName());
13.136 + eventsList.addPattern2("DELETE", EventsList._DELETE | EventsList._CHANGED, System.currentTimeMillis());
13.137 newRefObj.refDelete();
13.138 + // !@#$%^& wait until event arives
13.139 + for (int i = 0; i < 20; i++) {
13.140 + try { Thread.currentThread().sleep(100); }
13.141 + catch (InterruptedException ie) { }
13.142 + }
13.143 + assertTrue(eventsList.checkEvents("DELETE", EventsList._DELETE | EventsList._CHANGED));
13.144 + eventsList.clear();
13.145 } else {
13.146 log("Abstract class: " + metaClass.getName());
13.147 }
13.148 }
13.149
13.150 - ((MDRChangeSource) repository).removeListener(this);
13.151 -
13.152 - goldenRef.close();
13.153 - goldenPass.close();
13.154 -
13.155 - try {
13.156 - assertFile(getWorkDirPath() + File.separator + "testDeleteInstance.ref",
13.157 - getWorkDirPath() + File.separator + "testDeleteInstance.pass",
13.158 - getWorkDirPath() + File.separator + "testDeleteInstance.diff");
13.159 - } catch (IOException ioe) {
13.160 - fail(ioe.toString());
13.161 - }
13.162 -
13.163 }
13.164
13.165 // -------------------------------------------------------------------------
13.166 @@ -170,22 +135,24 @@
13.167
13.168 // EVENT_INSTANCE_CREATE
13.169 if (e.isOfType(InstanceEvent.EVENT_INSTANCE_CREATE) && (type == PLANNED)) {
13.170 - goldenRef.println("EVENT_INSTANCE_CREATE - PLANNED");
13.171 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
13.172 + e, System.currentTimeMillis(), EventsList._CREATE | EventsList._PLANNED);
13.173 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_CREATE) && (type == CHANGED)) {
13.174 - goldenRef.println("EVENT_INSTANCE_CREATE - CHANGED: " +
13.175 - ((ModelElement) ((InstanceEvent) e).getInstance().refMetaObject()).getName());
13.176 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
13.177 + e, System.currentTimeMillis(), EventsList._CREATE | EventsList._CHANGED);
13.178 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_CREATE) && (type == CANCELED)) {
13.179 - goldenRef.println("EVENT_INSTANCE_CREATE - CANCELED");
13.180 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
13.181 + e, System.currentTimeMillis(), EventsList._CREATE | EventsList._CANCELED);
13.182 }
13.183 // EVENT_INSTANCE_DELETE
13.184 else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_DELETE) && (type == PLANNED)) {
13.185 - goldenRef.println("EVENT_INSTANCE_DELETE - PLANNED: " +
13.186 - ((ModelElement) ((InstanceEvent) e).getInstance().refMetaObject()).getName());
13.187 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
13.188 + e, System.currentTimeMillis(), EventsList._DELETE | EventsList._PLANNED);
13.189 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_DELETE) && (type == CHANGED)) {
13.190 - goldenRef.println("EVENT_INSTANCE_DELETE - CHANGED");
13.191 + eventsList.addEvent("DELETE", e, System.currentTimeMillis(), EventsList._DELETE | EventsList._CHANGED);
13.192 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_DELETE) && (type == CANCELED)) {
13.193 - goldenRef.println("EVENT_INSTANCE_DELETE - CANCELED: " +
13.194 - ((ModelElement) ((InstanceEvent) e).getInstance().refMetaObject()).getName());
13.195 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
13.196 + e, System.currentTimeMillis(), EventsList._DELETE | EventsList._CANCELED);
13.197 }
13.198
13.199 }
14.1 --- a/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstancePreEvents.java Mon Sep 30 14:51:17 2002 +0000
14.2 +++ b/mdr/test/unit/src/org/netbeans/mdr/test/MDRTestInstancePreEvents.java Mon Sep 30 14:54:34 2002 +0000
14.3 @@ -10,11 +10,6 @@
14.4 import java.util.Iterator;
14.5 import java.util.Collection;
14.6
14.7 -import java.io.File;
14.8 -import java.io.FileOutputStream;
14.9 -import java.io.PrintStream;
14.10 -import java.io.IOException;
14.11 -
14.12 import junit.framework.*;
14.13 import org.netbeans.junit.*;
14.14
14.15 @@ -38,19 +33,20 @@
14.16
14.17 private static final String PKG_NAME = "TEST_MOF";
14.18
14.19 - private PrintStream goldenRef = null;
14.20 - private PrintStream goldenPass = null;
14.21 + private EventsList eventsList = new EventsList();
14.22
14.23 public MDRTestInstancePreEvents(java.lang.String testName) {
14.24 super(testName);
14.25 }
14.26
14.27 protected void setUp() {
14.28 - super.setUp();
14.29 + super.setUp();
14.30 + ((MDRChangeSource) repository).addListener(this);
14.31 }
14.32
14.33 protected void tearDown() {
14.34 super.tearDown();
14.35 + ((MDRChangeSource) repository).removeListener(this);
14.36 }
14.37
14.38 // -------------------------------------------------------------------------
14.39 @@ -58,18 +54,9 @@
14.40 public void testCreateInstance() {
14.41
14.42 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
14.43 -
14.44 - try {
14.45 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.ref")));
14.46 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstance.pass")));
14.47 - } catch (IOException ioe) {
14.48 - fail(ioe.toString());
14.49 - }
14.50 -
14.51 +
14.52 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
14.53
14.54 - ((MDRChangeSource) repository).addListener(this);
14.55 -
14.56 RefObject newRefObj = null;
14.57 Collection allMOFClasses = testMOFPackage.refAllClasses();
14.58 Iterator iterClasses = allMOFClasses.iterator();
14.59 @@ -77,50 +64,29 @@
14.60 RefClass clsProxy = (RefClass) iterClasses.next();
14.61 MofClass metaClass = (MofClass) clsProxy.refMetaObject();
14.62 if (!metaClass.isAbstract()) {
14.63 - log("Creating instance for class: " + metaClass.getName());
14.64 - goldenPass.println("EVENT_INSTANCE_CREATE - PLANNED");
14.65 - goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
14.66 + log("Creating instance for class: " + metaClass.getName());
14.67 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._CHANGED | EventsList._CREATE, System.currentTimeMillis());
14.68 newRefObj = generator.generateInstance(metaClass);
14.69 - try {
14.70 - Thread.currentThread().sleep(100);
14.71 - } catch (InterruptedException ie) {
14.72 - // OK
14.73 + // !@#$%^& wait until event arives
14.74 + for (int i = 0; i < 20; i++) {
14.75 + try { Thread.currentThread().sleep(100); }
14.76 + catch (InterruptedException ie) { }
14.77 }
14.78 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._CHANGED | EventsList._CREATE));
14.79 + eventsList.clear();
14.80 } else {
14.81 log("Abstract class: " + metaClass.getName());
14.82 }
14.83 }
14.84 -
14.85 - ((MDRChangeSource) repository).removeListener(this);
14.86 -
14.87 - goldenRef.close();
14.88 - goldenPass.close();
14.89 -
14.90 - try {
14.91 - assertFile(getWorkDirPath() + File.separator + "testCreateInstance.ref",
14.92 - getWorkDirPath() + File.separator + "testCreateInstance.pass",
14.93 - getWorkDirPath() + File.separator + "testCreateInstance.diff");
14.94 - } catch (IOException ioe) {
14.95 - fail(ioe.toString());
14.96 - }
14.97 -
14.98 +
14.99 }
14.100
14.101 public void testDeleteInstance() {
14.102
14.103 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
14.104 -
14.105 - try {
14.106 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.ref")));
14.107 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testDeleteInstance.pass")));
14.108 - } catch (IOException ioe) {
14.109 - fail(ioe.toString());
14.110 - }
14.111 -
14.112 +
14.113 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
14.114
14.115 - ((MDRChangeSource) repository).addListener(this);
14.116 -
14.117 RefObject newRefObj = null;
14.118 Collection allMOFClasses = testMOFPackage.refAllClasses();
14.119 Iterator iterClasses = allMOFClasses.iterator();
14.120 @@ -129,53 +95,39 @@
14.121 MofClass metaClass = (MofClass) clsProxy.refMetaObject();
14.122 if (!metaClass.isAbstract()) {
14.123 log("Creating instance for class: " + metaClass.getName());
14.124 - goldenPass.println("EVENT_INSTANCE_CREATE - PLANNED");
14.125 - goldenPass.println("EVENT_INSTANCE_CREATE - CHANGED: " + metaClass.getName());
14.126 - goldenPass.println("EVENT_INSTANCE_DELETE - PLANNED: " + metaClass.getName());
14.127 - goldenPass.println("EVENT_INSTANCE_DELETE - CHANGED");
14.128 - newRefObj = generator.generateInstance(metaClass);
14.129 - try {
14.130 - Thread.currentThread().sleep(100);
14.131 - } catch (InterruptedException ie) {
14.132 - // OK
14.133 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._CHANGED | EventsList._CREATE, System.currentTimeMillis());
14.134 + newRefObj = generator.generateInstance(metaClass);
14.135 + // !@#$%^& wait until event arives
14.136 + for (int i = 0; i < 20; i++) {
14.137 + try { Thread.currentThread().sleep(100); }
14.138 + catch (InterruptedException ie) { }
14.139 }
14.140 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._CHANGED | EventsList._CREATE));
14.141 + eventsList.clear();
14.142 +
14.143 log("Deleting instance of class: " + metaClass.getName());
14.144 + eventsList.addPattern2("DELETE", EventsList._PLANNED | EventsList._CHANGED | EventsList._CREATE, System.currentTimeMillis());
14.145 newRefObj.refDelete();
14.146 + // !@#$%^& wait until event arives
14.147 + for (int i = 0; i < 20; i++) {
14.148 + try { Thread.currentThread().sleep(100); }
14.149 + catch (InterruptedException ie) { }
14.150 + }
14.151 + assertTrue(eventsList.checkEvents("DELETE", EventsList._PLANNED | EventsList._CHANGED | EventsList._CREATE));
14.152 + eventsList.clear();
14.153 } else {
14.154 log("Abstract class: " + metaClass.getName());
14.155 }
14.156 }
14.157
14.158 - ((MDRChangeSource) repository).removeListener(this);
14.159 -
14.160 - goldenRef.close();
14.161 - goldenPass.close();
14.162 -
14.163 - try {
14.164 - assertFile(getWorkDirPath() + File.separator + "testDeleteInstance.ref",
14.165 - getWorkDirPath() + File.separator + "testDeleteInstance.pass",
14.166 - getWorkDirPath() + File.separator + "testDeleteInstance.diff");
14.167 - } catch (IOException ioe) {
14.168 - fail(ioe.toString());
14.169 - }
14.170 -
14.171 }
14.172
14.173 public void testCreateInstanceCanceled() {
14.174
14.175 RefPackage testMOFPackage = createMOFExtent(PKG_NAME);
14.176 -
14.177 - try {
14.178 - goldenRef = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstanceCanceled.ref")));
14.179 - goldenPass = new PrintStream(new FileOutputStream(new File(getWorkDir(), "testCreateInstanceCanceled.pass")));
14.180 - } catch (IOException ioe) {
14.181 - fail(ioe.toString());
14.182 - }
14.183 -
14.184 +
14.185 EventsDataGenerator generator = new EventsDataGenerator(repository.getExtent(PKG_NAME));
14.186
14.187 - ((MDRChangeSource) repository).addListener(this);
14.188 -
14.189 RefObject newRefObj = null;
14.190 Collection allMOFClasses = testMOFPackage.refAllClasses();
14.191 Iterator iterClasses = allMOFClasses.iterator();
14.192 @@ -184,39 +136,24 @@
14.193 MofClass metaClass = (MofClass) clsProxy.refMetaObject();
14.194 if (!metaClass.isAbstract()) {
14.195 log("Creating instance for class: " + metaClass.getName());
14.196 - goldenPass.println("EVENT_INSTANCE_CREATE - PLANNED");
14.197 - goldenPass.println("EVENT_INSTANCE_CREATE - CANCELED");
14.198 try {
14.199 + eventsList.addPattern2(metaClass.getName(), EventsList._PLANNED | EventsList._CANCELED | EventsList._CREATE, System.currentTimeMillis());
14.200 newRefObj = generator.generateWrongInstance(metaClass);
14.201 - } catch (TypeMismatchException tme) {
14.202 - System.out.println("---> TypeMismatchException is OK !!!");
14.203 - } catch (WrongSizeException tme) {
14.204 - System.out.println("---> WrongSizeException is OK !!!");
14.205 - }
14.206 -
14.207 - try {
14.208 - Thread.currentThread().sleep(100);
14.209 - } catch (InterruptedException ie) {
14.210 - // OK
14.211 + // !@#$%^& wait until event arives
14.212 + for (int i = 0; i < 20; i++) {
14.213 + try { Thread.currentThread().sleep(100); }
14.214 + catch (InterruptedException ie) { }
14.215 + }
14.216 + } catch (JmiException jmiexc) {
14.217 + jmiexc.printStackTrace(getLog());
14.218 + assertTrue(eventsList.checkEvents(metaClass.getName(), EventsList._PLANNED | EventsList._CANCELED | EventsList._CREATE));
14.219 + eventsList.clear();
14.220 }
14.221 } else {
14.222 log("Abstract class: " + metaClass.getName());
14.223 }
14.224 }
14.225
14.226 - ((MDRChangeSource) repository).removeListener(this);
14.227 -
14.228 - goldenRef.close();
14.229 - goldenPass.close();
14.230 -
14.231 - try {
14.232 - assertFile(getWorkDirPath() + File.separator + "testCreateInstanceCanceled.ref",
14.233 - getWorkDirPath() + File.separator + "testCreateInstanceCanceled.pass",
14.234 - getWorkDirPath() + File.separator + "testCreateInstanceCanceled.diff");
14.235 - } catch (IOException ioe) {
14.236 - fail(ioe.toString());
14.237 - }
14.238 -
14.239 }
14.240
14.241 // -------------------------------------------------------------------------
14.242 @@ -244,22 +181,24 @@
14.243
14.244 // EVENT_INSTANCE_CREATE
14.245 if (e.isOfType(InstanceEvent.EVENT_INSTANCE_CREATE) && (type == PLANNED)) {
14.246 - goldenRef.println("EVENT_INSTANCE_CREATE - PLANNED");
14.247 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
14.248 + e, System.currentTimeMillis(), EventsList._CREATE | EventsList._PLANNED);
14.249 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_CREATE) && (type == CHANGED)) {
14.250 - goldenRef.println("EVENT_INSTANCE_CREATE - CHANGED: " +
14.251 - ((ModelElement) ((InstanceEvent) e).getInstance().refMetaObject()).getName());
14.252 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
14.253 + e, System.currentTimeMillis(), EventsList._CREATE | EventsList._CHANGED);
14.254 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_CREATE) && (type == CANCELED)) {
14.255 - goldenRef.println("EVENT_INSTANCE_CREATE - CANCELED");
14.256 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
14.257 + e, System.currentTimeMillis(), EventsList._CREATE | EventsList._CANCELED);
14.258 }
14.259 // EVENT_INSTANCE_DELETE
14.260 else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_DELETE) && (type == PLANNED)) {
14.261 - goldenRef.println("EVENT_INSTANCE_DELETE - PLANNED: " +
14.262 - ((ModelElement) ((InstanceEvent) e).getInstance().refMetaObject()).getName());
14.263 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
14.264 + e, System.currentTimeMillis(), EventsList._DELETE | EventsList._PLANNED);
14.265 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_DELETE) && (type == CHANGED)) {
14.266 - goldenRef.println("EVENT_INSTANCE_DELETE - CHANGED");
14.267 + eventsList.addEvent("DELETE", e, System.currentTimeMillis(), EventsList._DELETE | EventsList._CHANGED);
14.268 } else if (e.isOfType(InstanceEvent.EVENT_INSTANCE_DELETE) && (type == CANCELED)) {
14.269 - goldenRef.println("EVENT_INSTANCE_DELETE - CANCELED: " +
14.270 - ((ModelElement) ((InstanceEvent) e).getInstance().refMetaObject()).getName());
14.271 + eventsList.addEvent(((ModelElement) ((RefBaseObject)((InstanceEvent) e).getSource()).refMetaObject()).getName(),
14.272 + e, System.currentTimeMillis(), EventsList._DELETE | EventsList._CANCELED);
14.273 }
14.274
14.275 }