[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