[jboss-svn-commits] JBL Code SVN: r32159 - in labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src: main/java/org/drools/server/profile and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Fri Mar 19 16:43:46 EDT 2010
Author: lucazamador
Date: 2010-03-19 16:43:46 -0400 (Fri, 19 Mar 2010)
New Revision: 32159
Modified:
labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/KnowledgeService.java
labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/profile/KnowledgeContextProfile.java
labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/resources/profiles.xml
Log:
added marsheller selection option
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/KnowledgeService.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/KnowledgeService.java 2010-03-19 20:15:54 UTC (rev 32158)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/KnowledgeService.java 2010-03-19 20:43:46 UTC (rev 32159)
@@ -22,6 +22,7 @@
import org.drools.CheckedDroolsException;
import org.drools.KnowledgeBase;
import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderError;
import org.drools.builder.KnowledgeBuilderErrors;
import org.drools.builder.ResourceType;
import org.drools.builder.help.KnowledgeBuilderHelper;
@@ -93,7 +94,7 @@
KnowledgeBuilder kbuilder = serviceManager.getKnowledgeBuilderFactoryService().newKnowledgeBuilder();
List<String> allClassNames = new ArrayList<String>();
- if (contextProfile.hasJaxbModels()) {
+ if ("jaxb".equals(contextProfile.getMarshaller())) {
for (ProfileFile modelFile : contextProfile.getJaxbModels()) {
// Create model from xsd definition and add to kbase classloader
@@ -120,7 +121,11 @@
KnowledgeBuilderErrors errors = kbuilder.getErrors();
if (errors.size() > 0) {
if (kbuilder.hasErrors()) {
- throw new CheckedDroolsException("Profile " + contextProfile.getId() + " has kbuilder errors");
+ String errorMessages = "";
+ for (KnowledgeBuilderError error : errors) {
+ errorMessages = errorMessages.concat("\n" + error.getMessage());
+ }
+ throw new CheckedDroolsException("Profile " + contextProfile.getId() + " has kbuilder errors.\n" + errorMessages);
}
}
}
@@ -158,13 +163,14 @@
}
public String executeCommand(KnowledgeContextProfile contextProfile, String cmd) throws CheckedDroolsException {
- if (contextProfile.hasJaxbModels()) {
+ if ("jaxb".equals(contextProfile.getMarshaller())) {
JAXBContext jaxbContext = getJaxbContext(contextProfile.getId());
return new String((byte[])template.requestBodyAndHeader("direct:with-session-jaxb", cmd, "jaxb-context", jaxbContext));
}
- else {
+ else if ("xstream".equals(contextProfile.getMarshaller())) {
return new String((byte[])template.requestBody("direct:with-session-xstream", cmd));
}
+ return null;
}
private void createCamelRoutes(KnowledgeContextProfile contextProfile) throws Exception {
@@ -172,10 +178,10 @@
public void configure() throws Exception {
}
};
- if (contextProfile.hasJaxbModels()) {
+ if ("jaxb".equals(contextProfile.getMarshaller())) {
rb.from("direct:with-session-jaxb").to("drools:sm/" + contextProfile.getId() + "?dataFormat=drools-jaxb");
}
- else {
+ else if ("xstream".equals(contextProfile.getMarshaller())) {
rb.from("direct:with-session-xstream").to("drools:sm/" + contextProfile.getId() + "?dataFormat=drools-xstream");
}
camelContext.addRoutes(rb);
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/profile/KnowledgeContextProfile.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/profile/KnowledgeContextProfile.java 2010-03-19 20:15:54 UTC (rev 32158)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/profile/KnowledgeContextProfile.java 2010-03-19 20:43:46 UTC (rev 32159)
@@ -15,6 +15,9 @@
@XStreamAlias("session-type")
private String sessionType;
+ @XStreamAlias("marshaller")
+ private String marshaller;
+
@XStreamAlias("change-sets")
private List<ProfileFile> changeSetFiles;
@@ -70,8 +73,12 @@
this.jaxbModels.add(new ProfileFile(filename));
}
- public boolean hasJaxbModels() {
- return this.jaxbModels!=null && this.jaxbModels.size() > 0;
+// public boolean hasJaxbModels() {
+// return this.jaxbModels!=null && this.jaxbModels.size() > 0;
+// }
+
+ public String getMarshaller() {
+ return this.marshaller;
}
public void setStartupCommands(List<StartupCommand> startupCommands) {
@@ -95,7 +102,8 @@
public boolean isValid() {
return id!=null && sessionType!=null && changeSetFiles.size()>0 && sessionType!=null &&
- (sessionType.equalsIgnoreCase("stateless") || sessionType.equalsIgnoreCase("stateful"));
+ (sessionType.equals("stateless") || sessionType.equals("stateful") &&
+ (marshaller.equals("jaxb") || marshaller.equals("xstream")));
}
}
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/resources/profiles.xml
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/resources/profiles.xml 2010-03-19 20:15:54 UTC (rev 32158)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/resources/profiles.xml 2010-03-19 20:43:46 UTC (rev 32159)
@@ -5,6 +5,7 @@
<change-sets>
<file>changesets/change-set-1.xml</file>
</change-sets>
+ <marshaller>jaxb</marshaller>
<jaxb-models>
<file>model/person.xsd</file>
</jaxb-models>
@@ -27,6 +28,7 @@
<knowledge-context-profile id="ksession2">
<session-type>stateless</session-type>
+ <marshaller>xstream</marshaller>
<change-sets>
<file>changesets/change-set-2.xml</file>
</change-sets>
More information about the jboss-svn-commits
mailing list