[jboss-svn-commits] JBL Code SVN: r31534 - labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Tue Feb 9 15:21:34 EST 2010


Author: baunax
Date: 2010-02-09 15:21:34 -0500 (Tue, 09 Feb 2010)
New Revision: 31534

Modified:
   labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/CommandTranslator.java
Log:
changed internal transformers to avoid ClassCastException

Modified: labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/CommandTranslator.java
===================================================================
--- labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/CommandTranslator.java	2010-02-09 20:20:26 UTC (rev 31533)
+++ labs/jbossrules/branches/camel_jaxb_marshaller2-lucaz/drools-pipeline/drools-transformer-jaxb/src/main/java/org/drools/runtime/pipeline/impl/CommandTranslator.java	2010-02-09 20:21:34 UTC (rev 31534)
@@ -3,6 +3,7 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.ListIterator;
 import java.util.Map;
 
 import javax.xml.bind.JAXBException;
@@ -89,11 +90,11 @@
 	public GenericCommand<?> transform(CommandTranslator cmdTrans, Object o , Unmarshaller unmarshaller) {
 		BatchExecutionCommand be = (BatchExecutionCommand)o;
 		List<GenericCommand<?>> xmlCmds = be.getCommands();
-		for (int i = 0; i < xmlCmds.size(); i++) {
-			GenericCommand<?> cmd = xmlCmds.get(i);
+		for (ListIterator<GenericCommand<?>> i = xmlCmds.listIterator(); i.hasNext();) {
+			GenericCommand<?> cmd = i.next();
 			CommandTransformer ct = cmdTrans.getCommandTransformer(cmd.getClass());
 			if (ct != null) {
-				xmlCmds.set(i, ct.transform(cmdTrans, cmd, unmarshaller));
+				i.set(ct.transform(cmdTrans, cmd, unmarshaller));
 			}
 		}
 		return be;
@@ -125,9 +126,12 @@
 class InsertObjectTransformer extends CommandTransformer {
 	public GenericCommand<?> transform(CommandTranslator ct, Object o, Unmarshaller unmarshaller) {
 		InsertObjectCommand io = (InsertObjectCommand)o;
-		Element el = (Element)io.getObject();
-		Object obj = ct.makeObject(el , unmarshaller);
-		io.setObject(obj);
+		Object object = io.getObject();
+		if (object instanceof Element) {
+			Element el = (Element)object;
+			Object obj = ct.makeObject(el , unmarshaller);
+			io.setObject(obj);
+		}
 		return io;
 	}
 }
@@ -180,9 +184,12 @@
 class SetGlobalTransformer extends CommandTransformer {
 	public GenericCommand<?> transform(CommandTranslator ct, Object o, Unmarshaller unmarshaller) {
 		SetGlobalCommand sg = (SetGlobalCommand)o;
-		Element el = (Element)sg.getObject();
-		Object obj = ct.makeObject(el , unmarshaller);
-		sg.setObject(obj);
+		Object object = sg.getObject();
+		if (object instanceof Element) {
+			Element el = (Element)object;
+			Object obj = ct.makeObject(el , unmarshaller);
+			sg.setObject(obj);
+		}
 		return sg;
 	}
 }



More information about the jboss-svn-commits mailing list