Author: rahul Date: Tue Jan 8 12:58:34 2008 New Revision: 610148 URL: http://svn.apache.org/viewvc?rev=610148&view=rev Log: Type safety improvements, remove unnecessary casts.
Modified: commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCInstance.java commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java Modified: commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCInstance.java URL: http://svn.apache.org/viewvc/commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCInstance.java?rev=610148&r1=610147&r2=610148&view=diff ============================================================================== --- commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCInstance.java (original) +++ commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCInstance.java Tue Jan 8 12:58:34 2008 @@ -50,31 +50,31 @@ * The <code>Map</code> of <code>Context</code>s per * <code>TransitionTarget</code>. */ - private Map contexts; + private final Map<TransitionTarget, Context> contexts; /** * The <code>Map</code> of last known configurations per * <code>History</code>. */ - private Map histories; + private final Map<History, Set<TransitionTarget>> histories; /** * <code>Map</code> for recording the run to completion status of * composite states. */ - private Map completions; + private final Map<TransitionTarget, Boolean> completions; /** * The <code>Invoker</code> classes <code>Map</code>, keyed by * <invoke> target types (specified using "targettype" attribute). */ - private Map invokerClasses; + private final Map<String, Class> invokerClasses; /** * The <code>Map</code> of active <code>Invoker</code>s, keyed by * (leaf) <code>State</code>s. */ - private Map invokers; + private final Map<TransitionTarget, Invoker> invokers; /** * The evaluator for expressions. @@ -98,11 +98,11 @@ */ SCInstance(final SCXMLExecutor executor) { this.notificationRegistry = new NotificationRegistry(); - this.contexts = Collections.synchronizedMap(new HashMap()); - this.histories = Collections.synchronizedMap(new HashMap()); - this.invokerClasses = Collections.synchronizedMap(new HashMap()); - this.invokers = Collections.synchronizedMap(new HashMap()); - this.completions = Collections.synchronizedMap(new HashMap()); + this.contexts = Collections.synchronizedMap(new HashMap<TransitionTarget, Context>()); + this.histories = Collections.synchronizedMap(new HashMap<History, Set<TransitionTarget>>()); + this.invokerClasses = Collections.synchronizedMap(new HashMap<String, Class>()); + this.invokers = Collections.synchronizedMap(new HashMap<TransitionTarget, Invoker>()); + this.completions = Collections.synchronizedMap(new HashMap<TransitionTarget, Boolean>()); this.evaluator = null; this.rootContext = null; this.executor = executor; @@ -173,7 +173,7 @@ * @return The Context. */ public Context getContext(final TransitionTarget transitionTarget) { - Context context = (Context) contexts.get(transitionTarget); + Context context = contexts.get(transitionTarget); if (context == null) { TransitionTarget parent = transitionTarget.getParent(); if (parent == null) { @@ -197,7 +197,7 @@ * @return The Context. */ Context lookupContext(final TransitionTarget transitionTarget) { - return (Context) contexts.get(transitionTarget); + return contexts.get(transitionTarget); } /** @@ -217,10 +217,10 @@ * @param history The history. * @return Returns the lastConfiguration. */ - public Set getLastConfiguration(final History history) { - Set lastConfiguration = (Set) histories.get(history); + public Set<TransitionTarget> getLastConfiguration(final History history) { + Set<TransitionTarget> lastConfiguration = histories.get(history); if (lastConfiguration == null) { - lastConfiguration = new HashSet(); + lastConfiguration = new HashSet<TransitionTarget>(); histories.put(history, lastConfiguration); } return lastConfiguration; @@ -233,8 +233,8 @@ * @param lc The lastConfiguration to set. */ public void setLastConfiguration(final History history, - final Set lc) { - Set lastConfiguration = getLastConfiguration(history); + final Set<TransitionTarget> lc) { + Set<TransitionTarget> lastConfiguration = getLastConfiguration(history); lastConfiguration.clear(); lastConfiguration.addAll(lc); } @@ -246,7 +246,7 @@ * @return Whether we have a non-empty last configuration */ public boolean isEmpty(final History history) { - Set lastConfiguration = (Set) histories.get(history); + Set<TransitionTarget> lastConfiguration = histories.get(history); if (lastConfiguration == null || lastConfiguration.isEmpty()) { return true; } @@ -260,7 +260,7 @@ * @see org.apache.commons.scxml.SCXMLExecutor#reset() */ public void reset(final History history) { - Set lastConfiguration = (Set) histories.get(history); + Set<TransitionTarget> lastConfiguration = histories.get(history); if (lastConfiguration != null) { lastConfiguration.clear(); } @@ -314,7 +314,7 @@ */ public Invoker newInvoker(final String targettype) throws InvokerException { - Class invokerClass = (Class) invokerClasses.get(targettype); + Class invokerClass = invokerClasses.get(targettype); if (invokerClass == null) { throw new InvokerException("No Invoker registered for " + "targettype \"" + targettype + "\""); @@ -340,7 +340,7 @@ * @return The Invoker. */ public Invoker getInvoker(final TransitionTarget transitionTarget) { - return (Invoker) invokers.get(transitionTarget); + return invokers.get(transitionTarget); } /** @@ -373,12 +373,10 @@ * @since 0.7 */ public boolean isDone(final TransitionTarget transitionTarget) { - Boolean done = (Boolean) completions.get(transitionTarget); - if (done == null) { - return false; - } else { - return done.booleanValue(); + if (completions.containsKey(transitionTarget)) { + return completions.get(transitionTarget); } + return false; } /** @@ -392,7 +390,7 @@ */ public void setDone(final TransitionTarget transitionTarget, final boolean done) { - completions.put(transitionTarget, done ? Boolean.TRUE : Boolean.FALSE); + completions.put(transitionTarget, done); } } Modified: commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java URL: http://svn.apache.org/viewvc/commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java?rev=610148&r1=610147&r2=610148&view=diff ============================================================================== --- commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java (original) +++ commons/proper/scxml/branches/J5/src/main/java/org/apache/commons/scxml/SCXMLExecutor.java Tue Jan 8 12:58:34 2008 @@ -32,7 +32,6 @@ import org.apache.commons.scxml.model.Observable; import org.apache.commons.scxml.model.SCXML; import org.apache.commons.scxml.model.State; -import org.apache.commons.scxml.model.Transition; import org.apache.commons.scxml.model.TransitionTarget; import org.apache.commons.scxml.semantics.SCXMLSemanticsImpl; @@ -112,7 +111,7 @@ // and finalize processing semantics.processInvokes(evts, errorReporter, scInstance); - List evs = new ArrayList(Arrays.asList(evts)); + List<TriggerEvent> evs = new ArrayList<TriggerEvent>(Arrays.asList(evts)); Step step = null; do { @@ -417,7 +416,7 @@ /** * Remove this listener from the [EMAIL PROTECTED] Observable}. * - * @param scxml The [EMAIL PROTECTED] Observable}. + * @param observable The [EMAIL PROTECTED] Observable}. * @param listener The SCXMLListener to be removed. */ public void removeListener(final Observable observable, @@ -499,7 +498,7 @@ int len = evts.length; if (len > 0) { // 0 has retry semantics (eg: see usage in reset()) Object eventData = null; - Map payloadMap = new HashMap(); + Map<String, Object> payloadMap = new HashMap<String, Object>(); for (int i = 0; i < len; i++) { TriggerEvent te = evts[i]; payloadMap.put(te.getName(), te.getPayload());