You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by ra...@apache.org on 2005/07/30 03:28:51 UTC
svn commit: r226454 [3/3] - in /jakarta/taglibs/proper/rdc/trunk:
examples/web/ examples/web/config/scxml/ src/org/apache/taglibs/rdc/scxml/
src/org/apache/taglibs/rdc/scxml/env/
src/org/apache/taglibs/rdc/scxml/model/ xml/
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ElseIf.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ElseIf.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ElseIf.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ElseIf.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,59 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <elseif> SCXML element.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class ElseIf extends Action {
+
+ /**
+ * An conditional expression which can be evaluated to true or false.
+ */
+ private String cond;
+
+ /**
+ * Constructor
+ */
+ public ElseIf() {
+ super();
+ }
+
+ /**
+ * Get the conditional expression
+ *
+ * @return Returns the cond.
+ */
+ public String getCond() {
+ return cond;
+ }
+
+ /**
+ * Set the conditional expression
+ *
+ * @param cond The cond to set.
+ */
+ public void setCond(String cond) {
+ this.cond = cond;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ElseIf.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ElseIf.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Executable.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Executable.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Executable.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Executable.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,90 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * An abstract base class for containers of executable elements in SCXML,
+ * such as <onentry> and <onexit>.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public abstract class Executable {
+
+ /**
+ * The set of executable elements (those that inheriting from
+ * Action) that are contained in this Executable.
+ */
+ private List actions;
+
+ /**
+ * The parent container, for traceability
+ */
+ protected TransitionTarget parent;
+
+ /**
+ * Constructor
+ */
+ public Executable() {
+ super();
+ this.actions = new ArrayList();
+ }
+
+ /**
+ * Get the executable actions contained in this Executable
+ *
+ * @return Returns the actions.
+ */
+ public List getActions() {
+ return actions;
+ }
+
+ /**
+ * Add an Action to the list of executable actions contained in
+ * this Executable
+ *
+ * @param action The action to add.
+ */
+ public void addAction(Action action) {
+ if (action != null) {
+ this.actions.add(action);
+ }
+ }
+
+ /**
+ * Get the TransitionTarget parent
+ *
+ * @return Returns the parent.
+ */
+ public TransitionTarget getParent() {
+ return parent;
+ }
+
+ /**
+ * Set the TransitionTarget parent
+ *
+ * @param parent The parent to set.
+ */
+ public void setParent(TransitionTarget parent) {
+ this.parent = parent;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Executable.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Executable.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Exit.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Exit.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Exit.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Exit.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,83 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <exit> SCXML element, which is a shorthand notation for
+ * an empty anonymous final state.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class Exit extends Action {
+
+ /**
+ * The optional expression
+ */
+ private String expr;
+
+ /**
+ * The optional namelist
+ */
+ private String namelist;
+
+ /**
+ * Constructor
+ */
+ public Exit() {
+ super();
+ }
+
+ /**
+ * Get the expression
+ *
+ * @return Returns the expr.
+ */
+ public String getExpr() {
+ return expr;
+ }
+
+ /**
+ * Set the expression
+ *
+ * @param expr The expr to set.
+ */
+ public void setExpr(String expr) {
+ this.expr = expr;
+ }
+
+ /**
+ * Get the namelist
+ *
+ * @return Returns the namelist.
+ */
+ public String getNamelist() {
+ return namelist;
+ }
+
+ /**
+ * Set the namelist
+ *
+ * @param namelist The namelist to set.
+ */
+ public void setNamelist(String namelist) {
+ this.namelist = namelist;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Exit.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Exit.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ExternalNode.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ExternalNode.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ExternalNode.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ExternalNode.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,36 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * any node in the SCXML document defined in a foreign namespace.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class ExternalNode {
+
+ /**
+ * Constructor
+ */
+ public ExternalNode() {
+ super();
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ExternalNode.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ExternalNode.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/History.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/History.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/History.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/History.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,130 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <history> SCXML pseudo state element.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class History extends TransitionTarget {
+
+ /**
+ * Whether this is a shallow or deep history, the default is shallow.
+ */
+ private boolean isDeep;
+
+ /**
+ * A conditionless transition representing the default history state
+ * and indicates the state to transition to if the parent state has
+ * never been entered before.
+ */
+ private Transition transition;
+
+ /**
+ * The configuration when the parent of this pseudo state was last
+ * exited.
+ */
+ private Set lastConfiguration;
+
+ /**
+ * Default no-args constructor for XML Digester
+ */
+ public History() {
+ super();
+ }
+
+ /**
+ * Get the transition
+ *
+ * @return Returns the transition.
+ */
+ public Transition getTransition() {
+ return transition;
+ }
+
+ /**
+ * Set the transition
+ *
+ * @param transition The transition to set.
+ */
+ public void setTransition(Transition transition) {
+ this.transition = transition;
+ }
+
+ /**
+ * Is this history "deep" (as against "shallow")
+ *
+ * @return Returns whether this is a "deep" history
+ */
+ public boolean isDeep() {
+ return isDeep;
+ }
+
+ /**
+ * This method is invoked by XML digester when parsing SCXML markup
+ *
+ * @param type The history type, which can be "shallow" or
+ * "deep"
+ */
+ public void setType(String type) {
+ if(type.equals("deep")) {
+ isDeep = true;
+ }
+ //shallow is by default
+ }
+
+ /**
+ * Get the last configuration for this history
+ *
+ * @return Returns the lastConfiguration.
+ */
+ public Set getLastConfiguration() {
+ return lastConfiguration;
+ }
+
+ /**
+ * Set the last configuration for this history
+ *
+ * @param lc The lastConfiguration to set.
+ */
+ public void setLastConfiguration(Set lc) {
+ if(this.lastConfiguration == null) {
+ this.lastConfiguration = new HashSet(lc.size());
+ } else {
+ this.lastConfiguration.clear();
+ }
+ this.lastConfiguration.addAll(lc);
+ }
+
+ /**
+ * Check whether we have prior history
+ *
+ * @return Whether we have a non-empty last configuration
+ */
+ public boolean isEmpty() {
+ return (lastConfiguration == null || lastConfiguration.isEmpty()) ?
+ true : false;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/History.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/History.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/If.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/If.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/If.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/If.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,93 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <if> SCXML element, which serves as a container for conditionally
+ * executed elements. <else> and <elseif> can optionally
+ * appear within an <if> as immediate children, and serve to partition
+ * the elements within an <if>.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class If extends Action {
+
+ /**
+ * An conditional expression which can be evaluated to true or false.
+ */
+ private String cond;
+
+ /**
+ * The set of executable elements (those that inheriting from
+ * Action) that are contained in this <if> element.
+ */
+ private List actions;
+
+ /**
+ * Constructor
+ */
+ public If() {
+ super();
+ this.actions = new ArrayList();
+ }
+
+ /**
+ * Get the executable actions contained in this <if>
+ *
+ * @return Returns the actions.
+ */
+ public List getActions() {
+ return actions;
+ }
+
+ /**
+ * Add an Action to the list of executable actions contained in
+ * this <if>
+ *
+ * @param action The action to add.
+ */
+ public void addAction(Action action) {
+ if (action != null) {
+ this.actions.add(action);
+ }
+ }
+
+ /**
+ * Get the conditional expression
+ *
+ * @return Returns the cond.
+ */
+ public String getCond() {
+ return cond;
+ }
+
+ /**
+ * Set the conditional expression
+ *
+ * @param cond The cond to set.
+ */
+ public void setCond(String cond) {
+ this.cond = cond;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/If.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/If.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Initial.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Initial.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Initial.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Initial.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,61 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <initial> SCXML pseudo state element.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class Initial extends TransitionTarget {
+
+ /**
+ * Constructor
+ */
+ public Initial() {
+ super();
+ }
+
+ /**
+ * A conditionless transition that is always enabled and will be taken
+ * as soon as the state is entered. The target of the transition must
+ * be a descendant of the parent state of initial.
+ */
+ private Transition transition;
+
+ /**
+ * Get the initial transition
+ *
+ * @return Returns the transition.
+ */
+ public Transition getTransition() {
+ return transition;
+ }
+
+ /**
+ * Set the initial transition
+ *
+ * @param transition The transition to set.
+ */
+ public void setTransition(Transition transition) {
+ this.transition = transition;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Initial.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Initial.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Log.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Log.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Log.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Log.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,83 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <log> SCXML element.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class Log extends Action {
+
+ /**
+ * An expression evaluating to a string to be logged.
+ */
+ private String expr;
+
+ /**
+ * An expression which returns string which may be used, for example,
+ * to indicate the purpose of the log.
+ */
+ private String label;
+
+ /**
+ * Constructor
+ */
+ public Log() {
+ super();
+ }
+
+ /**
+ * Get the log expression
+ *
+ * @return Returns the expression.
+ */
+ public String getExpr() {
+ return expr;
+ }
+
+ /**
+ * Set the log expression
+ *
+ * @param expr The expr to set.
+ */
+ public void setExpr(String expr) {
+ this.expr = expr;
+ }
+
+ /**
+ * Get the log label
+ *
+ * @return Returns the label.
+ */
+ public String getLabel() {
+ return label;
+ }
+
+ /**
+ * Set the log label
+ *
+ * @param label The label to set.
+ */
+ public void setLabel(String label) {
+ this.label = label;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Log.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Log.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ModelException.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ModelException.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ModelException.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ModelException.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,63 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * Exception that is thrown when the SCXML model supplied to the
+ * executor has a fatal flaw that prevents the executor from
+ * further interpreting the the model.
+ *
+ * @author Jaroslav Gergic
+ * @author Rahul Akolkar
+ */
+public class ModelException extends Exception {
+
+ /**
+ * @see java.lang.Exception#Exception()
+ */
+ public ModelException() {
+ super();
+ }
+
+ /**
+ * @see java.lang.Exception#Exception(java.lang.String)
+ * @param message
+ */
+ public ModelException(String message) {
+ super(message);
+ }
+
+ /**
+ * @see java.lang.Exception#Exception(java.lang.Throwable)
+ * @param cause
+ */
+ public ModelException(Throwable cause) {
+ super(cause);
+ }
+
+ /**
+ * @see java.lang.Exception#Exception(java.lang.String, java.lang.Throwable)
+ * @param message
+ * @param cause
+ */
+ public ModelException(String message, Throwable cause) {
+ super(message, cause);
+ }
+
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ModelException.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/ModelException.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnEntry.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnEntry.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnEntry.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnEntry.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,38 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <onentry> SCXML element, which is an optional property
+ * holding executable content to be run upon entering the parent
+ * State or Parallel.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class OnEntry extends Executable {
+
+ /**
+ * Constructor
+ */
+ public OnEntry() {
+ super();
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnEntry.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnEntry.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnExit.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnExit.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnExit.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnExit.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,38 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <onexit> SCXML element, which is an optional property
+ * holding executable content to be run upon exiting the parent
+ * State or Parallel.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class OnExit extends Executable {
+
+ /**
+ * Constructor
+ */
+ public OnExit() {
+ super();
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnExit.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/OnExit.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Parallel.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Parallel.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Parallel.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Parallel.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,70 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import java.util.HashSet;
+import java.util.Set;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <parallel> SCXML element, which is a wrapper element to
+ * encapsulate parallel state machines. For the <parallel> element
+ * to be useful, each of its <state> substates must itself be
+ * complex, that is, one with either <state> or <parallel>
+ * children.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class Parallel extends TransitionTarget {
+
+ /**
+ * The set of parallel state machines contained in this <parallel>.
+ */
+ private Set states;
+
+ /**
+ * Constructor
+ */
+ public Parallel() {
+ this.states = new HashSet();
+ }
+
+ /**
+ * Get the set of parallel state machines contained in this Parallel.
+ *
+ * @return Returns the state.
+ */
+ public Set getStates() {
+ return states;
+ }
+
+ /**
+ * Add a State to the list of parallel state machines contained
+ * in this Parallel.
+ *
+ * @param state The state to add.
+ */
+ public void addState(State state) {
+ if (state != null) {
+ this.states.add(state);
+ }
+ }
+
+}
+
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Parallel.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Parallel.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Path.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Path.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Path.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Path.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,154 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+
+import org.apache.taglibs.rdc.scxml.SCXMLHelper;
+
+/**
+ * A helper class for this SCXML implementation that represents the
+ * location of an entity in the SCXML document.
+ *
+ * @author Jaroslav Gergic
+ */
+public class Path {
+
+ private List upSeg = new ArrayList();
+
+ private List downSeg = new ArrayList();
+
+ private State scope = null;
+
+ private boolean crossRegion = false;
+
+ Path(TransitionTarget source, TransitionTarget target) {
+ if (target == null) {
+ //a local "stay" transition
+ scope = (State) source;
+ //all segments remain empty
+ } else {
+ TransitionTarget tt = SCXMLHelper.getLCA(source, target);
+ if (tt != null) {
+ if (tt instanceof State) {
+ scope = (State) tt;
+ } else {
+ scope = tt.getParentState();
+ }
+ if (scope == source || scope == target) {
+ scope = scope.getParentState();
+ }
+ }
+ tt = source;
+ while (tt != scope) {
+ upSeg.add(tt);
+ if (tt instanceof State) {
+ State st = (State) tt;
+ if (st.isRegion()) {
+ crossRegion = true;
+ }
+ }
+ tt = tt.getParent();
+ }
+ tt = target;
+ while (tt != scope) {
+ downSeg.add(0, tt);
+ if (tt instanceof State) {
+ State st = (State) tt;
+ if (st.isRegion()) {
+ crossRegion = true;
+ }
+ }
+ tt = tt.getParent();
+ }
+ }
+ }
+
+ /**
+ * @return true when the path crosses a region border(s)
+ * @see State#isRegion()
+ */
+ public boolean isCrossRegion() {
+ return crossRegion;
+ }
+
+ /**
+ * @return a list of exited regions sorted bottom-up; no order defined for
+ * siblings
+ */
+ public List getRegionsExited() {
+ LinkedList ll = new LinkedList();
+ Iterator i = upSeg.iterator();
+ while (i.hasNext()) {
+ Object o = i.next();
+ if (o instanceof State) {
+ State st = (State) o;
+ if (st.isRegion()) {
+ ll.add(st);
+ }
+ }
+ }
+ return ll;
+ }
+
+ /**
+ * @return a list of entered regions sorted top-down; no order defined for
+ * siblings
+ */
+ public List getRegionsEntered() {
+ LinkedList ll = new LinkedList();
+ Iterator i = downSeg.iterator();
+ while (i.hasNext()) {
+ Object o = i.next();
+ if (o instanceof State) {
+ State st = (State) o;
+ if (st.isRegion()) {
+ ll.add(st);
+ }
+ }
+ }
+ return ll;
+ }
+
+ /**
+ * @return scope of the transition path, null means global transition (SCXML
+ * document level) Scope is the least state which is not being
+ * exited nor entered by the transition.
+ */
+ public State getScope() {
+ return scope;
+ }
+
+ /**
+ * @return upward segment of the path up to the scope
+ */
+ public List getUpwardSegment() {
+ return upSeg;
+ }
+
+ /**
+ * @return downward segment from the scope to the target
+ */
+ public List getDownwardSegment() {
+ return downSeg;
+ }
+}
+
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Path.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Path.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/SCXML.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/SCXML.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/SCXML.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/SCXML.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,259 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import org.apache.taglibs.rdc.RDCUtils;
+import org.apache.taglibs.rdc.scxml.Context;
+import org.apache.taglibs.rdc.scxml.NotificationRegistry;
+import org.apache.taglibs.rdc.scxml.Observable;
+import org.apache.taglibs.rdc.scxml.SCXMLListener;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <scxml> root element, and serves as the "document
+ * root". It is also associated with the root Context, via which
+ * the SCXMLExecutor may access and the query state of the host
+ * environment.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class SCXML implements Observable {
+
+ /**
+ * The SCXML XMLNS
+ */
+ public static final String XMLNS = "http://www.w3.org/2005/01/SCXML";
+
+ /**
+ * The xmlns attribute on the root <smxml> element.
+ * This must match XMLNS above.
+ */
+ private String xmlns;
+
+ /**
+ * The SCXML version of this document.
+ */
+ private String version;
+
+ /**
+ * The initial State for the SCXML executor
+ */
+ private State initialState;
+
+ /**
+ * The initial state ID (used by XML Digester only)
+ */
+ private transient String initialstate;
+
+ /**
+ * The immediate child states of this SCXML document root
+ */
+ private Map states;
+
+ /**
+ * The notification registry
+ */
+ private NotificationRegistry notifReg;
+
+ /**
+ * A global map of all States and Parallels associated with this
+ * state machine, keyed by their id
+ */
+ private Map targets;
+
+ /**
+ * The root Context which interfaces with the host environment
+ */
+ private Context rootContext;
+
+ /**
+ * Constructor
+ */
+ public SCXML() {
+ this.states = new HashMap();
+ this.notifReg = new NotificationRegistry();
+ this.targets = new HashMap();
+ }
+
+ /**
+ * Get the initial State
+ *
+ * @return Returns the initialstate.
+ */
+ public State getInitialState() {
+ return initialState;
+ }
+
+ /**
+ * Set the initial State
+ *
+ * @param initialstate The initialstate to set.
+ */
+ public void setInitialState(State initialState) {
+ this.initialState = initialState;
+ }
+
+ /**
+ * Get the children states
+ *
+ * @return Returns the states.
+ */
+ public Map getStates() {
+ return states;
+ }
+
+ /**
+ * Add a child state
+ *
+ * @param state The state to be added to the states Map.
+ */
+ public void addState(State state) {
+ states.put(state.getId(), state);
+ }
+
+ /**
+ * Get the targets map, whichis a Map of all States and Parallels
+ * associated with this state machine, keyed by their id
+ *
+ * @return Returns the targets.
+ */
+ public Map getTargets() {
+ return targets;
+ }
+
+ /**
+ * Add a target to this SCXML document
+ *
+ * @param target The target to be added to the targets Map.
+ */
+ public void addTarget(TransitionTarget target) {
+ String id = target.getId();
+ if (!RDCUtils.isStringEmpty(id)) {
+ // Target is not anonymous, so makes sense to map it
+ targets.put(id, target);
+ }
+ }
+
+ /**
+ * Get the SCXML document version
+ *
+ * @return Returns the version.
+ */
+ public String getVersion() {
+ return version;
+ }
+
+ /**
+ * Set the SCXML document version
+ *
+ * @param version The version to set.
+ */
+ public void setVersion(String version) {
+ this.version = version;
+ }
+
+ /**
+ * Get the xmlns of this SCXML document
+ *
+ * @return Returns the xmlns.
+ */
+ public String getXmlns() {
+ return xmlns;
+ }
+
+ /**
+ * Set the xmlns of this SCXML document
+ *
+ * @param xmlns The xmlns to set.
+ */
+ public void setXmlns(String xmlns) {
+ this.xmlns = xmlns;
+ }
+
+ /**
+ * Get the notification registry
+ *
+ * @return Returns the notifReg.
+ */
+ public NotificationRegistry getNotificationRegistry() {
+ return notifReg;
+ }
+
+ /**
+ * Get the ID of the initial state
+ *
+ * @return Returns the initial state ID (used by XML Digester only).
+ * @see #getInitialState()
+ */
+ public String getInitialstate() {
+ return initialstate;
+ }
+
+ /**
+ * Set the ID of the initial state
+ *
+ * @param initialstate The initial state ID (used by XML Digester only).
+ * @see #setInitialState(State)
+ */
+ public void setInitialstate(String initialstate) {
+ this.initialstate = initialstate;
+ }
+
+ /**
+ * Get the root Context for this document
+ *
+ * @return Returns the rootContext.
+ */
+ public Context getRootContext() {
+ return rootContext;
+ }
+
+ /**
+ * Set the root Context for this document
+ *
+ * @param rootContext The rootContext to set.
+ */
+ public void setRootContext(Context rootContext) {
+ this.rootContext = rootContext;
+ }
+
+ /**
+ * Register a listener to this document root
+ *
+ * @param lst The SCXMLListener to add
+ * Remarks: Only valid if StateMachine is non null!
+ */
+ public void addListener(SCXMLListener lst) {
+ notifReg.addListener(this, lst);
+ }
+
+ /**
+ * Deregister a listener from this document root
+ *
+ * @param lst The SCXMLListener to remove
+ * Remarks: Only valid if StateMachine is non null!
+ */
+ public void removeListener(SCXMLListener lst) {
+ notifReg.removeListener(this, lst);
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/SCXML.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/SCXML.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Send.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Send.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Send.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Send.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,194 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <send> SCXML element.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class Send extends Action {
+
+ /**
+ * The ID of the send message
+ */
+ private String sendId;
+
+ /**
+ * An expression returning the target location of the event
+ */
+ private String target;
+
+ /**
+ * The type of the Event I/O Processor that the event
+ * should be dispatched to
+ */
+ private String targetType;
+
+ /**
+ * The event is dispatched after the delay interval elapses
+ */
+ private String delay;
+
+ /**
+ * The data containing information which may be used by the
+ * implementing platform to configure the event processor
+ */
+ private String hints;
+
+ /**
+ * The namelist to the sent
+ */
+ private String namelist;
+
+ /**
+ * The list of external nodes associated with this <send> element
+ */
+ private List externalNodes;
+
+ /**
+ * The type of event being generated
+ */
+ private String event;
+
+ /**
+ * Constructor
+ */
+ public Send() {
+ super();
+ this.externalNodes = new ArrayList();
+ }
+
+ /**
+ * @return Returns the delay.
+ */
+ public String getDelay() {
+ return delay;
+ }
+
+ /**
+ * @param delay The delay to set.
+ */
+ public void setDelay(String delay) {
+ this.delay = delay;
+ }
+
+ /**
+ * @return Returns the externalnode.
+ */
+ public List getExternalNodes() {
+ return externalNodes;
+ }
+
+ /**
+ * @param externalnode The externalnode to set.
+ */
+ public void setExternalNodes(List externalNodes) {
+ this.externalNodes = externalNodes;
+ }
+
+ /**
+ * @return Returns the hints.
+ */
+ public String getHints() {
+ return hints;
+ }
+
+ /**
+ * @param hints The hints to set.
+ */
+ public void setHints(String hints) {
+ this.hints = hints;
+ }
+
+ /**
+ * @return Returns the namelist.
+ */
+ public String getNamelist() {
+ return namelist;
+ }
+
+ /**
+ * @param namelist The namelist to set.
+ */
+ public void setNamelist(String namelist) {
+ this.namelist = namelist;
+ }
+
+ /**
+ * @return Returns the sendId.
+ */
+ public String getSendId() {
+ return sendId;
+ }
+
+ /**
+ * @param sendId The sendId to set.
+ */
+ public void setSendId(String sendId) {
+ this.sendId = sendId;
+ }
+
+ /**
+ * @return Returns the target.
+ */
+ public String getTarget() {
+ return target;
+ }
+
+ /**
+ * @param target The target to set.
+ */
+ public void setTarget(String target) {
+ this.target = target;
+ }
+
+ /**
+ * @return Returns the targetType.
+ */
+ public String getTargetType() {
+ return targetType;
+ }
+
+ /**
+ * @param targetType The targetType to set.
+ */
+ public void setTargetType(String targetType) {
+ this.targetType = targetType;
+ }
+
+ /**
+ * @param event The event to set.
+ */
+ public void setEvent(String event) {
+ this.event = event;
+ }
+
+ /**
+ * @return Returns the event.
+ */
+ public String getEvent() {
+ return event;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Send.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Send.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/State.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/State.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/State.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/State.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,331 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.apache.taglibs.rdc.scxml.Context;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <state> SCXML element.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class State extends TransitionTarget {
+
+ /**
+ * The Context in which any expressions will be evaluated
+ */
+ private Context context;
+
+ /**
+ * The Map containing immediate children of this State, keyed by
+ * their IDs. Incompatible with the parallel property.
+ */
+ private Map children;
+
+ /**
+ * The Parallel child, which defines a set of parallel substates.
+ * May occur 0 or 1 times. Incompatible with the state property.
+ */
+ private Parallel parallel;
+
+ /**
+ * Boolean property indicating whether this is a final state or not.
+ * Default value is false . Final states may not have substates or
+ * outgoing transitions.
+ */
+ private boolean isFinal;
+
+ /**
+ * A child which identifies initial state for state machines that
+ * have substates.
+ */
+ private Initial initial;
+
+ /**
+ * A map of outgoing Transitions from this state
+ */
+ private Map transitions;
+
+ /**
+ * List of history states owned by a given state (applies to non-leaf
+ * states)
+ */
+ private List history;
+
+ /**
+ * Applies to composite states only. If one of its final children is
+ * active, its parent is marked done. This property is reset upon
+ * re-entry.
+ */
+ private boolean done = false;
+
+ /**
+ * Constructor
+ */
+ public State() {
+ this.children = new HashMap();
+ this.transitions = new HashMap();
+ this.history = new ArrayList();
+ }
+
+ /**
+ * Get the Context
+ *
+ * @return Returns the context.
+ */
+ public Context getContext() {
+ return context;
+ }
+
+ /**
+ * Set the Context
+ *
+ * @param context
+ * The context to set.
+ */
+ public void setContext(Context context) {
+ this.context = context;
+ }
+
+ /**
+ * Is this state a "final" state
+ *
+ * @return Returns the isFinal.
+ */
+ public boolean getIsFinal() {
+ return isFinal;
+ }
+
+ /**
+ * Set whether this is a "final" state
+ *
+ * @param isFinal
+ * The isFinal to set.
+ */
+ public void setIsFinal(boolean isFinal) {
+ this.isFinal = isFinal;
+ }
+
+ /**
+ * Get the Parallel child (may be null)
+ *
+ * @return Returns the parallel.
+ */
+ public Parallel getParallel() {
+ return parallel;
+ }
+
+ /**
+ * Set the Parallel child
+ *
+ * @param parallel
+ * The parallel to set.
+ */
+ public void setParallel(Parallel parallel) {
+ this.parallel = parallel;
+ }
+
+ /**
+ * Get the initial state
+ *
+ * @return Returns the target.
+ */
+ public Initial getInitial() {
+ return initial;
+ }
+
+ /**
+ * Set the initial state
+ *
+ * @param target
+ * The target to set.
+ */
+ public void setInitial(Initial target) {
+ this.initial = target;
+ }
+
+ /**
+ * Get the map of all outgoing transitions from this state
+ *
+ * @return Returns the transitions Map.
+ */
+ public Map getTransitions() {
+ return transitions;
+ }
+
+ /**
+ * Get the map of all outgoing transitions from this state, which
+ * will be fired on the given event.
+ *
+ * @return Returns the transition for given event.
+ */
+ public Transition getTransition(String event) {
+ return (Transition) transitions.get(event);
+ }
+
+ /**
+ * Add a transition to the map of all outgoing transitions for
+ * this state
+ *
+ * @param transition
+ * The transitions to set.
+ */
+ public void addTransition(Transition transition) {
+ String event = transition.getEvent();
+ if (!transitions.containsKey(event)) {
+ ArrayList eventTransitions = new ArrayList();
+ eventTransitions.add(transition);
+ transitions.put(event, eventTransitions);
+ } else {
+ ((List) transitions.get(event)).add(transition);
+ }
+ }
+
+ /**
+ * Get the map of child states (may be empty)
+ *
+ * @return Returns the children.
+ */
+ public Map getChildren() {
+ return children;
+ }
+
+ /**
+ * Add a child state
+ *
+ * @param state
+ * a child state
+ */
+ public void addChild(State state) {
+ this.children.put(state.getId(), state);
+ state.setParent(this);
+ }
+
+ /**
+ * Get the outgoing transitions for this state as a java.util.List
+ *
+ * @return Returns the transitions (as a list). TODO - Check in next
+ * iteration whether both methods need to be retained.
+ */
+ public List getTransitionsList() {
+ // Each call creates a new List, this will change once TO-DO is handled
+ List transitionsList = new ArrayList();
+ Iterator iter = transitions.keySet().iterator();
+ while (iter.hasNext()) {
+ transitionsList.addAll((List) transitions.get(iter.next()));
+ }
+ return transitionsList;
+ }
+
+ /**
+ * This method is used by XML digester
+ *
+ * @param h
+ * History pseudo state
+ */
+ public void addHistory(History h) {
+ history.add(h);
+ }
+
+ /**
+ * Does this state have a history pseudo state
+ *
+ * @return true if a given state contains at least one history pseudo state
+ */
+ public boolean hasHistory() {
+ return (!history.isEmpty());
+ }
+
+ /**
+ * Get the list of history pseudo states for this state
+ *
+ * @return a list of all history pseudo states contained by a given state
+ * (can be empty)
+ * @see #hasHistory()
+ */
+ public List getHistory() {
+ return history;
+ }
+
+ /**
+ * Check whether this is a simple (leaf) state (UML terminology)
+ *
+ * @return true if this is a simple state, otherwise false
+ */
+ public final boolean isSimple() {
+ return (parallel == null && children.isEmpty()) ? true : false;
+ }
+
+ /**
+ * Check whether this is a composite state (UML terminology)
+ *
+ * @return true if this is a composite state, otherwise false
+ */
+ public final boolean isComposite() {
+ return (parallel == null && children.isEmpty()) ? false : true;
+ }
+
+ /**
+ * Checks whether it is a region state (directly nested to parallel - UML
+ * terminology)
+ *
+ * @return true if this is a region state, otherwise false
+ * @see Parallel
+ */
+ public final boolean isRegion() {
+ return (getParent() instanceof Parallel) ? true : false;
+ }
+
+ /**
+ * Checks whether it is a orthogonal state, that is, it owns a parallel
+ * (UML terminology)
+ *
+ * @return true if this is a orthogonal state, otherwise false
+ */
+ public final boolean isOrthogonal() {
+ return (parallel != null) ? true : false;
+ }
+
+ /**
+ * In case this is a parallel state, check if one its final states
+ * is active.
+ *
+ * @return Returns the done.
+ */
+ public boolean isDone() {
+ return done;
+ }
+
+ /**
+ * Update the done property, which is set if this is a parallel state,
+ * and one its final states is active.
+ *
+ * @param done The done to set.
+ */
+ public void setDone(boolean done) {
+ this.done = done;
+ }
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/State.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/State.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Transition.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Transition.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Transition.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Transition.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,217 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import org.apache.taglibs.rdc.scxml.NotificationRegistry;
+import org.apache.taglibs.rdc.scxml.Observable;
+import org.apache.taglibs.rdc.scxml.SCXMLListener;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <transition> SCXML element. Transition rules are triggered
+ * by "events" and conditionalized via
+ * "guard-conditions".
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class Transition extends Executable implements Observable {
+
+ /**
+ * Property that specifies the trigger for this transition.
+ */
+ private String event;
+
+ /**
+ * Optional guard condition.
+ */
+ private String cond;
+
+ /**
+ * Optional property that specifies the new state or parallel
+ * element to transition to. May be specified by reference or in-line.
+ */
+ private TransitionTarget target;
+
+ /**
+ * The transition target ID (used by XML Digester only)
+ */
+ private String next;
+
+ /**
+ * The notification registry.
+ */
+ private NotificationRegistry notifReg;
+
+ /**
+ * The path for this transition.
+ * @see Path
+ */
+ private Path path = null;
+
+ /**
+ * Constructor
+ */
+ public Transition() {
+ super();
+ }
+
+ /**
+ * Register a listener to this document root
+ *
+ * @param lst The SCXMLListener to add
+ */
+ public void addListener(SCXMLListener lst) {
+ notifReg.addListener(this, lst);
+ }
+
+ /**
+ * Deregister a listener from this document root
+ *
+ * @param lst The SCXMLListener to remove
+ */
+ public void removeListener(SCXMLListener lst) {
+ notifReg.removeListener(this, lst);
+ }
+
+ /**
+ * Get the guard condition (may be null)
+ *
+ * @return Returns the cond.
+ */
+ public String getCond() {
+ return cond;
+ }
+
+ /**
+ * Set the guard condition
+ *
+ * @param cond The cond to set.
+ */
+ public void setCond(String cond) {
+ this.cond = cond;
+ }
+
+ /**
+ * Get the event that will trigger this transition (pending
+ * evaluation of the guard condition in favor)
+ *
+ * @return Returns the event.
+ */
+ public String getEvent() {
+ return event;
+ }
+
+ /**
+ * Set the event that will trigger this transition (pending
+ * evaluation of the guard condition in favor)
+ *
+ * @param event The event to set.
+ */
+ public void setEvent(String event) {
+ this.event = event;
+ }
+
+ /**
+ * Get the transition target (may be null)
+ *
+ * @return Returns the target as specified in SCXML markup.
+ * <p>Remarks: Is <code>null</code> for "stay" transitions.
+ * Returns parent (the source node) for "self" transitions.</p>
+ */
+ public TransitionTarget getTarget() {
+ return target;
+ }
+
+ /**
+ * Get the runtime transition target, which always resolves to
+ * a TransitionTarget instance.
+ *
+ * @return Returns the actual target of a transition at runtime.
+ * <p>Remarks: For both the "stay" and "self"
+ * transitions it returns parent (the source node). This method should
+ * never return <code>null</code>.</p>
+ */
+ public TransitionTarget getRuntimeTarget() {
+ return (target != null) ? target : parent;
+ }
+
+
+ /**
+ * Set the transition target
+ *
+ * @param target The target to set.
+ */
+ public void setTarget(TransitionTarget target) {
+ this.target = target;
+ }
+
+ /**
+ * Get the ID of the transition target (may be null, if, for example,
+ * the target is specified inline)
+ *
+ * @return Returns the transition target ID (used by SCXML Digester only).
+ * @see #getTarget()
+ */
+ public String getNext() {
+ return next;
+ }
+
+ /**
+ * Set the transition target by specifying its ID
+ *
+ * @param next The the transition target ID (used by SCXML Digester only).
+ * @see #setTarget(TransitionTarget)
+ */
+ public void setNext(String next) {
+ this.next = next;
+ }
+
+ /**
+ * Supply this Transition object a handle to the notification
+ * registry. Called by the Digester after instantiation.
+ *
+ * @param reg The notification registry
+ */
+ public void setNotificationRegistry(NotificationRegistry reg) {
+ notifReg = reg;
+ }
+
+ /**
+ * Get the notification registry.
+ *
+ * @return The notification registry.
+ */
+ public NotificationRegistry getNotificationRegistry() {
+ return notifReg;
+ }
+
+ /**
+ * Get the path of this transiton.
+ *
+ * @see Path
+ * @return returns the transition path
+ */
+ public Path getPath() {
+ if(path == null) {
+ path = new Path(getParent(), getTarget());
+ }
+ return path;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Transition.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Transition.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/TransitionTarget.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/TransitionTarget.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/TransitionTarget.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/TransitionTarget.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,201 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+import org.apache.taglibs.rdc.scxml.NotificationRegistry;
+import org.apache.taglibs.rdc.scxml.Observable;
+import org.apache.taglibs.rdc.scxml.SCXMLListener;
+
+/**
+ * An abstract base class for elements in SCXML that can serve as a
+ * <target> for a <transition>, such as State or Parallel.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public abstract class TransitionTarget implements Observable {
+
+ /**
+ * Identifier for this transition target. Other parts of the SCXML
+ * document may refer to this <state> using this ID.
+ */
+ private String id;
+
+ /**
+ * Optional property holding executable content to be run upon
+ * entering this transition target.
+ */
+ private OnEntry onEntry;
+
+ /**
+ * Optional property holding executable content to be run upon
+ * exiting this transition target.
+ */
+ private OnExit onExit;
+
+ /**
+ * The parent of this transition target (may be null, if the parent
+ * is the SCXML document root)
+ */
+ private TransitionTarget parent;
+
+ /**
+ * The notification registry
+ */
+ private NotificationRegistry notifReg;
+
+ /**
+ * Constructor
+ */
+ public TransitionTarget() {
+ super();
+ onEntry = new OnEntry(); //empty defaults
+ onEntry.setParent(this);
+ onExit = new OnExit(); //empty defaults
+ onExit.setParent(this);
+ }
+
+ /**
+ * Register a listener to this document root
+ *
+ * @param lst The SCXMLListener to add
+ */
+ public void addListener(SCXMLListener lst) {
+ notifReg.addListener(this, lst);
+ }
+
+ /**
+ * Deregister a listener from this document root
+ *
+ * @param lst The SCXMLListener to remove
+ */
+ public void removeListener(SCXMLListener lst) {
+ notifReg.removeListener(this, lst);
+ }
+
+ /**
+ * Supply this TransitionTarget object a handle to the notification
+ * registry. Called by the Digester after instantiation.
+ *
+ * @param reg The notification registry
+ */
+ public void setNotificationRegistry(NotificationRegistry reg) {
+ notifReg = reg;
+ }
+
+ /**
+ * Get the notification registry.
+ *
+ * @return The notification registry.
+ */
+ public NotificationRegistry getNotificationRegistry() {
+ return notifReg;
+ }
+
+ /**
+ * Get the identifier for this transition target (may be null).
+ *
+ * @return Returns the id.
+ */
+ public String getId() {
+ return id;
+ }
+
+ /**
+ * Set the identifier for this transition target
+ *
+ * @param id The id to set.
+ */
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ /**
+ * Get the onentry property.
+ *
+ * @return Returns the onEntry.
+ */
+ public OnEntry getOnEntry() {
+ return onEntry;
+ }
+
+ /**
+ * Set the onentry property.
+ *
+ * @param onEntry The onEntry to set.
+ */
+ public void setOnEntry(OnEntry onentry) {
+ this.onEntry = onentry;
+ }
+
+ /**
+ * Get the onexit property.
+ *
+ * @return Returns the onExit.
+ */
+ public OnExit getOnExit() {
+ return onExit;
+ }
+
+ /**
+ * Set the onexit property.
+ *
+ * @param onExit The onExit to set.
+ */
+ public void setOnExit(OnExit onexit) {
+ this.onExit = onexit;
+ }
+
+ /**
+ * Get the parent TransitionTarget
+ *
+ * @return Returns the parent state
+ * (null if parent is <scxml> element)
+ */
+ public TransitionTarget getParent() {
+ return parent;
+ }
+
+ /**
+ * Set the parent TransitionTarget
+ *
+ * @param parent The parent state to set
+ */
+ public void setParent(TransitionTarget parent) {
+ this.parent = parent;
+ }
+
+ /**
+ * Get the parent State
+ *
+ * @return The parent State
+ */
+ public State getParentState() {
+ TransitionTarget tt = this.getParent();
+ if (tt == null) {
+ return null;
+ } else {
+ if (tt instanceof State) {
+ return (State) tt;
+ } else { //tt is Parallel
+ return tt.getParentState();
+ }
+ }
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/TransitionTarget.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/TransitionTarget.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Var.java
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Var.java?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Var.java (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Var.java Fri Jul 29 18:28:30 2005
@@ -0,0 +1,84 @@
+/*
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.taglibs.rdc.scxml.model;
+
+/**
+ * The class in this SCXML object model that corresponds to the
+ * <var> SCXML element.
+ *
+ * @author Rahul Akolkar
+ * @author Jaroslav Gergic
+ */
+public class Var extends Action {
+
+ /**
+ * The name of the variable to be created
+ */
+ private String name;
+
+ /**
+ * The expression that evaluates to the initial value of the variable
+ */
+ private String expr;
+
+ /**
+ * Constructor
+ */
+ public Var() {
+ super();
+ }
+
+ /**
+ * Get the expression that evaluates to the initial value
+ * of the variable
+ *
+ * @return Returns the expr.
+ */
+ public String getExpr() {
+ return expr;
+ }
+
+ /**
+ * Set the expression that evaluates to the initial value
+ * of the variable
+ *
+ * @param expr The expr to set.
+ */
+ public void setExpr(String expr) {
+ this.expr = expr;
+ }
+
+ /**
+ * Get the name of the (new) variable.
+ *
+ * @return Returns the name.
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * Set the name of the (new) variable.
+ *
+ * @param name The name to set.
+ */
+ public void setName(String name) {
+ this.name = name;
+ }
+
+}
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Var.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/Var.java
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/package.html
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/package.html?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/package.html (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/package.html Fri Jul 29 18:28:30 2005
@@ -0,0 +1,29 @@
+<html>
+<!--
+ *
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ *
+-->
+<head>
+</head>
+<body>
+
+ <p>A collection of classes needed to model SCXML documents.</p>
+
+</body>
+</html>
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/package.html
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/model/package.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Added: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/package.html
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/package.html?rev=226454&view=auto
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/package.html (added)
+++ jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/package.html Fri Jul 29 18:28:30 2005
@@ -0,0 +1,30 @@
+<html>
+<!--
+ *
+ *
+ * Copyright 2004 The Apache Software Foundation.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ *
+ *
+-->
+<head>
+</head>
+<body>
+
+ <p>The core classes for the digestion and interpretation
+ of SCXML documents.</p>
+
+</body>
+</html>
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/package.html
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/package.html
------------------------------------------------------------------------------
svn:keywords = Date Author Id Revision HeadURL
Propchange: jakarta/taglibs/proper/rdc/trunk/src/org/apache/taglibs/rdc/scxml/package.html
------------------------------------------------------------------------------
svn:mime-type = text/html
Modified: jakarta/taglibs/proper/rdc/trunk/xml/intro.xml
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/xml/intro.xml?rev=226454&r1=226453&r2=226454&view=diff
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/xml/intro.xml (original)
+++ jakarta/taglibs/proper/rdc/trunk/xml/intro.xml Fri Jul 29 18:28:30 2005
@@ -115,6 +115,10 @@
<section name="RDC News" href="News">
<news>
+ <newsitem date="07/29/2005">
+ The RDC tag library has provided an alpha version of an SCXML engine, and a
+ SCXML dialog management strategy for the RDC group container.
+ </newsitem>
<newsitem date="07/20/2005">
The RDC tag library has graduated out of Taglibs sandbox with a 1.0 release.
</newsitem>
Modified: jakarta/taglibs/proper/rdc/trunk/xml/rdc.xml
URL: http://svn.apache.org/viewcvs/jakarta/taglibs/proper/rdc/trunk/xml/rdc.xml?rev=226454&r1=226453&r2=226454&view=diff
==============================================================================
--- jakarta/taglibs/proper/rdc/trunk/xml/rdc.xml (original)
+++ jakarta/taglibs/proper/rdc/trunk/xml/rdc.xml Fri Jul 29 18:28:30 2005
@@ -31,7 +31,7 @@
-->
<taglib>
<!-- Version number of this tagib -->
- <tlib-version>1.0.0</tlib-version>
+ <tlib-version>Post 1.0 Development</tlib-version>
<!-- Minimum version of JSP spec required -->
<jsp-version>2.0</jsp-version>
<!-- jakarta-taglib name of this tag library -->
@@ -1161,6 +1161,48 @@
</example>
</tag>
</tagtoc></taglib>
+
+ <revision release="Post 1.0 Development" date="07/29/2005">
+ <description>
+ This version adds an alpha implementation of a SCXML (State Chart XML)
+ engine. An alpha version of a SCXML dialog management strategy for the group
+ container is also provided.
+ </description>
+ <section name="Additions:">
+ <item>
+ <b>SCXML Engine</b> - The W3C Voice Browser Working Group
+ recently announced the publication of the first Working
+ Draft of State Chart XML. SCXML provides a generic
+ state-machine based execution environment based on CCXML
+ and Harel State Tables. The SCXML WD is
+ <a href="http://www.w3.org/TR/2005/WD-scxml-20050705/">here</a>.
+ The RDC tag library has included an alpha of a SCXML engine
+ implementation.<br/>
+ <dir>
+ The SCXML engine implementation is under development.
+ The major items that are yet unimplemented are:
+ <ul>
+ <li>Multiple (simultaneous) targets for a single
+ transition (Section 3.3.1)</li>
+ <li>Outgoing transitions from a parallel (Section 3.4)</li>
+ <li>JOIN (Section 4.3)</li>
+ <li>SYNCH (Section 4.4)</li>
+ </ul>
+ </dir>
+ </item>
+ <item>
+ <b>SCXML Dialog Management Strategy</b> - An alpha version of
+ a dialog management strategy for the group container that works
+ off of a SCXML configuration document is also provided.
+ <dir>
+ A demonstrative example in rdc-examples.war is:<br/>
+ <ul>
+ <li>scxml-dialog-test.jsp</li>
+ </ul>
+ </dir>
+ </item>
+ </section>
+ </revision>
<revision release="1.0" date="07/20/2005">
<description>
---------------------------------------------------------------------
To unsubscribe, e-mail: taglibs-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: taglibs-dev-help@jakarta.apache.org