You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ra...@apache.org on 2005/10/21 19:55:43 UTC

svn commit: r327224 - in /jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml: SCXMLDigester.java model/Send.java semantics/SCXMLSemanticsImpl.java

Author: rahul
Date: Fri Oct 21 10:55:39 2005
New Revision: 327224

URL: http://svn.apache.org/viewcvs?rev=327224&view=rev
Log:
 * Rename targetType property of Send to targettype (to match WD)
 * Addressed a couple of todo's, deferred some others (which were minor enhancements with debatable value-adds)

Modified:
    jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/SCXMLDigester.java
    jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/model/Send.java
    jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/semantics/SCXMLSemanticsImpl.java

Modified: jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/SCXMLDigester.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/SCXMLDigester.java?rev=327224&r1=327223&r2=327224&view=diff
==============================================================================
--- jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/SCXMLDigester.java (original)
+++ jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/SCXMLDigester.java Fri Oct 21 10:55:39 2005
@@ -58,15 +58,15 @@
 import org.xml.sax.ErrorHandler;
 
 /**
- * The SCXMLDigester provides the ability to digest a SCXML document into the
- * Java object model provided in the model package.
- * <br>
- * The SCXMLDigester can be used for:
- * a) Digest a SCXML file placed in a web application context <br>
- * b) Obtain a Digester instance configured with rules for SCXML digestion <br>
- * c) Serialize an SCXML object (primarily for debugging) <br>
+ * <p>The SCXMLDigester provides the ability to digest a SCXML document into
+ * the Java object model provided in the model package.</p>
+ * <p>The SCXMLDigester can be used for:</p>
+ * <ol>
+ *  <li>Digest a SCXML file into the Commons SCXML Java object model.</li>
+ *  <li>Serialize an SCXML object (primarily for debugging).</li>
+ * </ol>
  */
-public class SCXMLDigester {
+public final class SCXMLDigester {
 
     //---------------------- PUBLIC METHODS ----------------------//
     /**
@@ -665,7 +665,9 @@
         String initialstate = scxml.getInitialstate();
         //we have to use getTargets() here since the initialState can be
         //an indirect descendant
-        //TODO: better type check, now ClassCastException happens for Parallel
+        // Concern marked by one of the code reviewers: better type check,
+        //            now ClassCastException happens for Parallel
+        // Response: initial should be a State, for Parallel, it is implicit
         State initialState = (State) scxml.getTargets().get(initialstate);
         if (initialState == null) {
             // Where do we, where do we go?
@@ -708,10 +710,9 @@
         }
         s.setContext(localCtx);
         //ensure both onEntry and onExit have parent
-        //TODO: add this rather as a Digester rule for OnEntry/OnExit
+        //could add next two lines as a Digester rule for OnEntry/OnExit
         s.getOnEntry().setParent(s);
         s.getOnExit().setParent(s);
-        //ENDTODO
         //initialize next / inital
         Initial ini = s.getInitial();
         Map c = s.getChildren();
@@ -761,10 +762,9 @@
             Iterator j = ((List) t.get(i.next())).iterator();
             while (j.hasNext()) {
                 Transition trn = (Transition) j.next();
-                // TODO: add this rather as a Digester rule for Transition
+                //could add next two lines as a Digester rule for Transition
                 trn.setNotificationRegistry(s.getNotificationRegistry());
                 trn.setParent(s);
-                // ENDTODO
                 updateTransition(trn, targets);
             }
         }
@@ -809,8 +809,8 @@
         if (tt == null) {
             tt = (TransitionTarget) targets.get(next);
             if (tt == null) {
-                // TODO: Move Digester warnings to errors
-                System.err.println("WARNING: SCXMLDigester - Transition "
+                // Could move Digester warnings to errors
+                log.warn("WARNING: SCXMLDigester - Transition "
                         + "target \"" + next + "\" not found");
             }
             t.setTarget(tt);
@@ -1060,7 +1060,6 @@
         Iterator i = l.iterator();
         while (i.hasNext()) {
             Action a = (Action) i.next();
-            // TODO - Serialize action attrs, bodies; Priority: Very low ;-)
             if (a instanceof Var) {
                 Var v = (Var) a;
                 b.append(indent).append("<var name=\"").append(v.getName())
@@ -1069,16 +1068,22 @@
             } else if (a instanceof Assign) {
                 Assign asn = (Assign) a;
                 b.append(indent).append("<assign name=\"")
-                        .append(asn.getName()).append("\" expr=\"").append(
-                                asn.getExpr()).append("\"/>\n");
+                        .append(asn.getName()).append("\" expr=\"")
+                        .append(asn.getExpr()).append("\"/>\n");
             } else if (a instanceof Send) {
                 Send s = (Send) a;
-                b.append(indent).append("<send sendid=\"").
-                    append(s.getSendid()).append("\"/>\n");
+                b.append(indent).append("<send sendid=\"")
+                    .append(s.getSendid()).append("\" target=\"")
+                    .append(s.getTarget()).append("\" targetType=\"")
+                    .append(s.getTargettype()).append("\" namelist=\"")
+                    .append(s.getNamelist()).append("\" delay=\"")
+                    .append(s.getDelay()).append("\" events=\"")
+                    .append(s.getEvent()).append("\" hints=\"")
+                    .append(s.getHints()).append("\"/>\n");
             } else if (a instanceof Cancel) {
                 Cancel c = (Cancel) a;
-                b.append(indent).append("<cancel sendid=\"").
-                    append(c.getSendid()).append("\"/>\n");
+                b.append(indent).append("<cancel sendid=\"")
+                    .append(c.getSendid()).append("\"/>\n");
             } else if (a instanceof Log) {
                 Log lg = (Log) a;
                 b.append(indent).append("<log expr=\"").append(lg.getExpr())

Modified: jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/model/Send.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/model/Send.java?rev=327224&r1=327223&r2=327224&view=diff
==============================================================================
--- jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/model/Send.java (original)
+++ jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/model/Send.java Fri Oct 21 10:55:39 2005
@@ -41,7 +41,7 @@
      * The type of the Event I/O Processor that the event.
      * should be dispatched to
      */
-    private String targetType;
+    private String targettype;
 
     /**
      * The event is dispatched after the delay interval elapses.
@@ -162,17 +162,17 @@
     }
 
     /**
-     * @return String Returns the targetType.
+     * @return String Returns the targettype.
      */
-    public final String getTargetType() {
-        return targetType;
+    public final String getTargettype() {
+        return targettype;
     }
 
     /**
-     * @param targetType The targetType to set.
+     * @param targettype The targettype to set.
      */
-    public final void setTargetType(final String targetType) {
-        this.targetType = targetType;
+    public final void setTargettype(final String targettype) {
+        this.targettype = targettype;
     }
 
     /**

Modified: jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/semantics/SCXMLSemanticsImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/semantics/SCXMLSemanticsImpl.java?rev=327224&r1=327223&r2=327224&view=diff
==============================================================================
--- jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/semantics/SCXMLSemanticsImpl.java (original)
+++ jakarta/commons/sandbox/scxml/trunk/src/main/java/org/apache/commons/scxml/semantics/SCXMLSemanticsImpl.java Fri Oct 21 10:55:39 2005
@@ -250,7 +250,7 @@
                     }
                 }
                 evtDispatcher.send(snd.getSendid(),
-                        snd.getTarget(), snd.getTargetType(), snd.getEvent(),
+                        snd.getTarget(), snd.getTargettype(), snd.getEvent(),
                         params, hints, Long.parseLong(snd.getDelay()));
             } else if (a instanceof Var) {
                 Var vr = (Var) a;



---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org