[jboss-svn-commits] JBL Code SVN: r31892 - in labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src: main/java/org/drools/server/service and 1 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Mon Mar 1 10:46:55 EST 2010
Author: lucazamador
Date: 2010-03-01 10:46:54 -0500 (Mon, 01 Mar 2010)
New Revision: 31892
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/service/KnowledgeServiceRest.java
labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java
labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java
labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java
labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java
Log:
drools server: removed profile id parameter
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-01 15:44:50 UTC (rev 31891)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/KnowledgeService.java 2010-03-01 15:46:54 UTC (rev 31892)
@@ -2,6 +2,7 @@
import java.io.IOException;
import java.io.InputStream;
+import java.io.StringReader;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -9,6 +10,7 @@
import javax.naming.Context;
import javax.xml.bind.JAXBContext;
+import javax.xml.parsers.DocumentBuilderFactory;
import org.apache.camel.CamelContext;
import org.apache.camel.ProducerTemplate;
@@ -18,6 +20,7 @@
import org.drools.CheckedDroolsException;
import org.drools.KnowledgeBase;
import org.drools.builder.KnowledgeBuilder;
+import org.drools.builder.KnowledgeBuilderErrors;
import org.drools.builder.ResourceType;
import org.drools.builder.help.KnowledgeBuilderHelper;
import org.drools.io.ResourceFactory;
@@ -31,6 +34,8 @@
import org.drools.server.profile.StartupCommandConverter;
import org.drools.vsm.ServiceManager;
import org.drools.vsm.local.ServiceManagerLocalClient;
+import org.w3c.dom.Document;
+import org.xml.sax.InputSource;
import com.sun.tools.xjc.Language;
import com.sun.tools.xjc.Options;
@@ -111,7 +116,14 @@
for (ProfileFile changeSet : contextProfile.getChangeSetFiles()) {
kbuilder.add(ResourceFactory.newClassPathResource(changeSet.getFileName()), ResourceType.CHANGE_SET);
+ KnowledgeBuilderErrors errors = kbuilder.getErrors();
+ if (errors.size() > 0) {
+ if (kbuilder.hasErrors()) {
+ throw new CheckedDroolsException("Profile " + contextProfile.getId() + " has kbuilder errors");
+ }
+ }
}
+
kbase.addKnowledgePackages(kbuilder.getKnowledgePackages());
if (allClassNames.size() > 0) {
@@ -196,4 +208,17 @@
return null;
}
+ public String getLookup(String xml) throws CheckedDroolsException {
+ DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
+ InputSource source = new InputSource(new StringReader(xml));
+ Document d = null;
+ try {
+ d = factory.newDocumentBuilder().parse(source);
+ } catch (Exception e) {
+ throw new CheckedDroolsException("Error getting lookup: " + e.getMessage(), e);
+ }
+ String lookup = d.getDocumentElement().getAttribute("lookup");
+ return lookup;
+ }
+
}
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceRest.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceRest.java 2010-03-01 15:44:50 UTC (rev 31891)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceRest.java 2010-03-01 15:46:54 UTC (rev 31892)
@@ -9,6 +9,7 @@
import javax.ws.rs.core.Response.ResponseBuilder;
import javax.ws.rs.core.Response.Status;
+import org.drools.CheckedDroolsException;
import org.drools.RuntimeDroolsException;
import org.drools.server.KnowledgeService;
import org.drools.server.profile.KnowledgeContextProfile;
@@ -36,14 +37,14 @@
@POST()
@Path("/execute")
- public Response execute(@FormParam("profile") String profile, @FormParam("command") String command) {
- if (profile==null || profile.length()==0 || command==null || command.length()==0) {
- logger.error("Bad parameters:\nprofile: " + profile + "\ncommand: " + command + "\n");
+ public Response execute(@FormParam("command") String command) {
+ if (command==null || command.length()==0) {
+ logger.error("Invalid or null command");
return Response.status(Status.BAD_REQUEST).build();
}
String response;
- logger.info("profile: " + profile);
try {
+ String profile = service.getLookup(command);
KnowledgeContextProfile contextProfile = service.getContextProfile(profile);
if (contextProfile==null) {
logger.error("Context profile don't exists");
@@ -51,6 +52,9 @@
}
service.checkContextStatus(contextProfile);
response = service.executeCommand(contextProfile, command);
+ } catch (CheckedDroolsException e) {
+ logger.error(e.getMessage());
+ return Response.status(Status.BAD_REQUEST).build();
} catch (IOException e) {
logger.error(e.getMessage());
return Response.status(Status.BAD_REQUEST).build();
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java 2010-03-01 15:44:50 UTC (rev 31891)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoap.java 2010-03-01 15:46:54 UTC (rev 31892)
@@ -8,6 +8,6 @@
@WebService
public interface KnowledgeServiceSoap {
- String execute(@WebParam(name="profile") String profile, @WebParam(name="command") String command) throws CheckedDroolsException;
+ String execute(@WebParam(name="command") String command) throws CheckedDroolsException;
}
\ No newline at end of file
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java 2010-03-01 15:44:50 UTC (rev 31891)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/main/java/org/drools/server/service/KnowledgeServiceSoapImpl.java 2010-03-01 15:46:54 UTC (rev 31892)
@@ -20,12 +20,13 @@
}
}
- public String execute(String profile, String command) throws CheckedDroolsException {
- if (profile==null || profile.length()==0 || command==null || command.length()==0) {
- throw new CheckedDroolsException("Null or wrong parameters");
+ public String execute(String command) throws CheckedDroolsException {
+ if (command==null || command.length()==0) {
+ throw new CheckedDroolsException("Invalid or null command");
}
String response = null;
try {
+ String profile = service.getLookup(command);
KnowledgeContextProfile contextProfile = service.getContextProfile(profile);
if (contextProfile==null) {
throw new CheckedDroolsException("Context profile " + profile + " don't exists");
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java 2010-03-01 15:44:50 UTC (rev 31891)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceRestTest.java 2010-03-01 15:46:54 UTC (rev 31892)
@@ -38,7 +38,7 @@
public void testInvalidCommand() throws Exception {
PostMethod postMethod = new PostMethod("/drools-server/services/rest/execute");
NameValuePair profile = new NameValuePair("profile", "ksession1");
- NameValuePair command = new NameValuePair("command", null);
+ NameValuePair command = new NameValuePair("command", "asdsad");
postMethod.setRequestBody(new NameValuePair[] {profile, command});
httpClient.executeMethod(postMethod);
@@ -50,13 +50,12 @@
public void testInvalidProfile() throws Exception {
PostMethod postMethod = new PostMethod("/drools-server/services/rest/execute");
- NameValuePair profile = new NameValuePair("profile", "inexistentProfile");
NameValuePair command = new NameValuePair("command", "xml definition");
- postMethod.setRequestBody(new NameValuePair[] {profile, command});
+ postMethod.setRequestBody(new NameValuePair[] {command});
httpClient.executeMethod(postMethod);
- assertEquals(Status.FORBIDDEN.getStatusCode(), postMethod.getStatusCode());
+ assertEquals(Status.BAD_REQUEST.getStatusCode(), postMethod.getStatusCode());
server.stop();
}
@@ -65,10 +64,9 @@
String cmd = getJaxbCommand();
PostMethod postMethod = new PostMethod("/drools-server/services/rest/execute");
- NameValuePair profile = new NameValuePair("profile", "ksession1");
NameValuePair command = new NameValuePair("command", cmd);
- postMethod.setRequestBody(new NameValuePair[] {profile, command});
+ postMethod.setRequestBody(new NameValuePair[] {command});
httpClient.executeMethod(postMethod);
assertEquals(200, postMethod.getStatusCode());
@@ -88,10 +86,9 @@
String cmd = getXStreamCommand();
PostMethod postMethod = new PostMethod("/drools-server/services/rest/execute");
- NameValuePair profile = new NameValuePair("profile", "ksession2");
NameValuePair command = new NameValuePair("command", cmd);
- postMethod.setRequestBody(new NameValuePair[] {profile, command});
+ postMethod.setRequestBody(new NameValuePair[] {command});
httpClient.executeMethod(postMethod);
assertEquals(200, postMethod.getStatusCode());
@@ -114,10 +111,9 @@
String cmd = getJaxbCommand();
PostMethod postMethod = new PostMethod("/drools-server/services/rest/execute");
- NameValuePair profile = new NameValuePair("profile", "ksession1");
NameValuePair command = new NameValuePair("command", cmd);
- postMethod.setRequestBody(new NameValuePair[] {profile, command});
+ postMethod.setRequestBody(new NameValuePair[] {command});
httpClient.executeMethod(postMethod);
assertEquals(200, postMethod.getStatusCode());
@@ -133,10 +129,9 @@
cmd = getXStreamCommand();
postMethod = new PostMethod("/drools-server/services/rest/execute");
- profile = new NameValuePair("profile", "ksession2");
command = new NameValuePair("command", cmd);
- postMethod.setRequestBody(new NameValuePair[] {profile, command});
+ postMethod.setRequestBody(new NameValuePair[] {command});
httpClient.executeMethod(postMethod);
assertEquals(200, postMethod.getStatusCode());
Modified: labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java
===================================================================
--- labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java 2010-03-01 15:44:50 UTC (rev 31891)
+++ labs/jbossrules/branches/drools_server_camel_lucaz_baunax/drools-server/src/test/java/org/drools/server/service/KnowledgeServiceSoapTest.java 2010-03-01 15:46:54 UTC (rev 31892)
@@ -31,8 +31,8 @@
clientFactory.setAddress(SERVICE_URL);
KnowledgeServiceSoap client = (KnowledgeServiceSoap) clientFactory.create();
- String response = client.execute("ksession1", getJaxbCommand());
-
+ String response = client.execute(getJaxbCommand());
+
assertTrue(response.indexOf("<ns2:name>santa</ns2:name>") > -1);
assertTrue(response.indexOf("<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
assertTrue(response.indexOf("<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
@@ -46,8 +46,8 @@
clientFactory.setAddress(SERVICE_URL);
KnowledgeServiceSoap client = (KnowledgeServiceSoap) clientFactory.create();
- String response = client.execute("ksession2", getXStreamCommand());
-
+ String response = client.execute(getXStreamCommand());
+
ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(response);
assertNotNull(result.getFactHandle("lucaz"));
@@ -64,13 +64,13 @@
clientFactory.setAddress(SERVICE_URL);
KnowledgeServiceSoap client = (KnowledgeServiceSoap) clientFactory.create();
- String response = client.execute("ksession1", getJaxbCommand());
+ String response = client.execute(getJaxbCommand());
assertTrue(response.indexOf("<ns2:name>santa</ns2:name>") > -1);
assertTrue(response.indexOf("<item key=\"lucaz\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
assertTrue(response.indexOf("<item key=\"baunax\">\n <value xsi:type=\"disconnectedFactHandle\"") > -1);
- response = client.execute("ksession2", getXStreamCommand());
+ response = client.execute(getXStreamCommand());
ExecutionResults result = (ExecutionResults) BatchExecutionHelper.newXStreamMarshaller().fromXML(response);
@@ -80,7 +80,6 @@
assertEquals(2, personsQuery.size());
server.stop();
-
}
}
More information about the jboss-svn-commits
mailing list