[jboss-svn-commits] JBL Code SVN: r21633 - in labs/jbossrules/trunk/drools-server/src: main/resources and 4 other directories.
jboss-svn-commits at lists.jboss.org
jboss-svn-commits at lists.jboss.org
Wed Aug 20 03:03:17 EDT 2008
Author: michael.neale at jboss.com
Date: 2008-08-20 03:03:17 -0400 (Wed, 20 Aug 2008)
New Revision: 21633
Added:
labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/ExampleFact.java
labs/jbossrules/trunk/drools-server/src/main/resources/README.txt
labs/jbossrules/trunk/drools-server/src/main/webapp/index.jsp
labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHTTPResponse.java
labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHttpRequest.java
labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/StubbedServlet.java
labs/jbossrules/trunk/drools-server/src/test/resources/testservice.properties
Modified:
labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/KnowledgeStatelessServlet.java
labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/KnowledgeServiceServletTest.java
labs/jbossrules/trunk/drools-server/src/test/resources/org/drools/server/test_rules1.drl
Log:
drools server fun
Added: labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/ExampleFact.java
===================================================================
--- labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/ExampleFact.java (rev 0)
+++ labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/ExampleFact.java 2008-08-20 07:03:17 UTC (rev 21633)
@@ -0,0 +1,25 @@
+package org.drools.server;
+
+public class ExampleFact {
+ private String carType;
+ private int carPrice;
+ public String getCarType() {
+ return carType;
+ }
+ public void setCarType(String carType) {
+ this.carType = carType;
+ }
+ public int getCarPrice() {
+ return carPrice;
+ }
+ public void setCarPrice(int carPrice) {
+ this.carPrice = carPrice;
+ }
+ public ExampleFact(String carType, int carPrice) {
+ super();
+ this.carType = carType;
+ this.carPrice = carPrice;
+ }
+
+ public ExampleFact() {}
+}
Property changes on: labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/ExampleFact.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/KnowledgeStatelessServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/KnowledgeStatelessServlet.java 2008-08-20 06:47:02 UTC (rev 21632)
+++ labs/jbossrules/trunk/drools-server/src/main/java/org/drools/server/KnowledgeStatelessServlet.java 2008-08-20 07:03:17 UTC (rev 21633)
@@ -11,6 +11,8 @@
import java.util.regex.Pattern;
import javax.servlet.ServletException;
+import javax.servlet.ServletInputStream;
+import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -46,8 +48,6 @@
private static final long serialVersionUID = -8239975288596976901L;
- static XStream xmlInstance = configureXStream(false);
- static XStream jsonInstance = configureXStream(true);
static Map<String, RuleAgent> cachedAgents = new HashMap<String, RuleAgent>();
static Pattern urlPattern = Pattern.compile(".*knowledgebase/(.*)");
@@ -65,22 +65,29 @@
RuleBase rb = getRuleBase(m.group(1));
if (contentType != null && (contentType.indexOf("json") > -1)) {
//do json version
- doService(request.getInputStream(), resp.getOutputStream(), rb, true);
+ doService(getInputStream(request), getOutputStream(resp), rb, true);
} else {
//xml version
- doService(request.getInputStream(), resp.getOutputStream(), rb, true);
+ doService(getInputStream(request), getOutputStream(resp), rb, false);
}
}
+ @Override
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp)
+ throws ServletException, IOException {
+ resp.sendRedirect("/index.jsp");
+ }
+
+
RuleBase getRuleBase(String configName) {
if (cachedAgents.containsKey(configName)) {
return cachedAgents.get(configName).getRuleBase();
} else {
synchronized (cachedAgents) {
if (!cachedAgents.containsKey(configName)) {
- RuleAgent ag = RuleAgent.newRuleAgent(configName + ".properties");
+ RuleAgent ag = RuleAgent.newRuleAgent("/" + configName + ".properties");
cachedAgents.put(configName, ag);
}
return cachedAgents.get(configName).getRuleBase();
@@ -99,7 +106,7 @@
ClassLoader cl = irb.getRootClassLoader();
Thread.currentThread().setContextClassLoader(cl);
- XStream xs = (json) ? jsonInstance : xmlInstance;
+ XStream xs = configureXStream(json);
ServiceRequestMessage req = (ServiceRequestMessage) xs.fromXML(inputStream);
StatelessSession session = rb.newStatelessSession();
if (req.globals != null) {
@@ -132,8 +139,8 @@
xs.toXML(res, outputStream);
+ } finally {
- } finally {
Thread.currentThread().setContextClassLoader(originalCL);
}
}
@@ -162,14 +169,17 @@
+ OutputStream getOutputStream(HttpServletResponse resp) throws IOException {
+ return resp.getOutputStream();
+ }
+ InputStream getInputStream(HttpServletRequest request) throws IOException {
+ return request.getInputStream();
+ }
-
-
-
private void sample() {
XStream xs = configureXStream(true);
@@ -201,5 +211,27 @@
}
+ public static String getRequestExample(boolean json) {
+ ServiceRequestMessage req = new ServiceRequestMessage();
+ req.globals = new NamedFact[1];
+ req.globals[0] = new NamedFact("myglobal", new ExampleFact("Saab", 42));
+ req.inFacts = new AnonFact[2];
+ req.inFacts[0] = new AnonFact(new ExampleFact("Audi", 55));
+ req.inFacts[1] = new AnonFact(new ExampleFact("Mercedes", 65));
+ req.inOutFacts = new NamedFact[1];
+ req.inOutFacts[0] = new NamedFact("myfact", new ExampleFact("BMW", 50));
+ return configureXStream(json).toXML(req);
+ }
+
+ public static String getResponseExample(boolean json) {
+ ServiceResponseMessage req = new ServiceResponseMessage();
+ req.globals = new NamedFact[1];
+ req.globals[0] = new NamedFact("myglobal", new ExampleFact("Saab", 42));
+ req.inOutFacts = new NamedFact[1];
+ req.inOutFacts[0] = new NamedFact("myfact", new ExampleFact("BMW", 50));
+ return configureXStream(json).toXML(req);
+ }
+
+
}
Added: labs/jbossrules/trunk/drools-server/src/main/resources/README.txt
===================================================================
--- labs/jbossrules/trunk/drools-server/src/main/resources/README.txt (rev 0)
+++ labs/jbossrules/trunk/drools-server/src/main/resources/README.txt 2008-08-20 07:03:17 UTC (rev 21633)
@@ -0,0 +1,5 @@
+Place rule agent configurations in this directory.
+If a new agent configuration is added, or if there is a change,
+the web application (war) will need to be redeployed.
+
+(restarting the server is also acceptable)
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-server/src/main/resources/README.txt
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-server/src/main/webapp/index.jsp
===================================================================
--- labs/jbossrules/trunk/drools-server/src/main/webapp/index.jsp (rev 0)
+++ labs/jbossrules/trunk/drools-server/src/main/webapp/index.jsp 2008-08-20 07:03:17 UTC (rev 21633)
@@ -0,0 +1,29 @@
+<%@ page import="org.drools.server.*" %>
+<%@ page contentType="text/html; charset=UTF-8" %>
+<html>
+ <head>
+ <title>Drools execution server</title>
+ </head>
+ <body>
+ <h1>Rule execution server</h1>
+ This service allows you to execute rules/knowledge bases remotely using a RESTful interface.
+ <h2>Stateless services</h2>
+ <h3>URL:</h3><%=request.getRequestURI() + "knowledgebase/{configurationName}" %><br/>
+ The {configurationName} is the name of a configured agent properties file (not incliding the .properties extension).
+ This configuration then declares what packages are used, where the repository is etc.
+ This properties file must be in the classpath for this war - in the WEB-INF/classes directory.
+ <h3>Sample request content:</h3>
+ <textarea>
+ </textarea>
+
+ <h3>Sample response content:</h3>
+
+ <h3>General instructions<h3>
+ By default XML will be used, if you pass in a Content-Type header of application/json, then it will use JSON instead.
+ JSON is both a more compact and more performant format.
+ HTTP POST is used to access this service.
+
+
+
+ </body>
+</html>
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-server/src/main/webapp/index.jsp
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/KnowledgeServiceServletTest.java
===================================================================
--- labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/KnowledgeServiceServletTest.java 2008-08-20 06:47:02 UTC (rev 21632)
+++ labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/KnowledgeServiceServletTest.java 2008-08-20 07:03:17 UTC (rev 21633)
@@ -1,20 +1,76 @@
package org.drools.server;
import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
+import java.io.OutputStream;
import java.util.regex.Matcher;
+import javax.servlet.http.HttpServletResponse;
+
+import junit.framework.TestCase;
+
import org.drools.RuleBase;
import org.drools.RuleBaseFactory;
import org.drools.compiler.PackageBuilder;
-import org.drools.server.KnowledgeStatelessServlet;
-import junit.framework.TestCase;
+import com.thoughtworks.xstream.XStream;
public class KnowledgeServiceServletTest extends TestCase {
+ public void testEndToEndIntegration() throws Exception {
+ File source = new File("TestService.drl");
+ if (source.exists()) source.delete();
+ try {
+ InputStream original = getClass().getResourceAsStream("test_rules1.drl");
+ copy(original, source);
+ Thread.sleep(120);
+ StubbedServlet serv = new StubbedServlet();
+ final InputStream inXML = getClass().getResourceAsStream("sample_request.xml");
+ ByteArrayOutputStream outStream = new ByteArrayOutputStream();
+ serv.inputStream = inXML;
+ serv.outputStream = outStream;
+
+ MockHTTPResponse resp = new MockHTTPResponse();
+ serv.doPost(new MockHttpRequest("something/knowledgebase/testservice", "application/xml"), resp);
+
+ String resultXML = new String(outStream.toByteArray());
+ assertTrue(resultXML.indexOf("<value>42</value>") > -1);
+ assertEquals("application/xml", resp.contentType);
+
+
+ resp = new MockHTTPResponse();
+ serv.inputStream = getClass().getResourceAsStream("sample_request.json");
+ outStream = new ByteArrayOutputStream();
+ serv.outputStream = outStream;
+ serv.doPost(new MockHttpRequest("something/knowledgebase/testservice", "application/json"), resp);
+
+ String resultJSON = new String(outStream.toByteArray());
+ assertNotNull(resultJSON);
+ assertEquals("application/json", resp.contentType);
+ assertTrue(resultJSON.indexOf("\"status\":\"crazy\"") > -1);
+
+ resp = new MockHTTPResponse();
+ serv.inputStream = getClass().getResourceAsStream("sample_request.json");
+ outStream = new ByteArrayOutputStream();
+ serv.outputStream = outStream;
+ serv.doPost(new MockHttpRequest("something/foox", "application/json"), resp);
+ assertEquals(HttpServletResponse.SC_BAD_REQUEST, resp.errorCode);
+
+ resp = new MockHTTPResponse();
+ serv.doGet(new MockHttpRequest(null, null), resp);
+ assertTrue(resp.redirect.endsWith("index.jsp"));
+
+
+ } finally {
+ source.delete();
+ }
+ }
+
public void testSample() throws Exception {
PackageBuilder pb = new PackageBuilder();
@@ -26,6 +82,9 @@
KnowledgeStatelessServlet serv = new KnowledgeStatelessServlet();
+
+ //serv.xmlInstance = KnowledgeStatelessServlet.configureXStream(false);
+
final InputStream inXML = getClass().getResourceAsStream("sample_request.xml");
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
@@ -34,12 +93,15 @@
serv.doService(inXML, outStream, rb, false);
+
+
String result = new String(outStream.toByteArray());
+
assertTrue(result.indexOf("<id>prs</id>") > -1);
assertTrue(result.indexOf("<id>result</id>") > -1);
assertTrue(result.indexOf("<name>Jo</name>") > -1);
- assertTrue(result.indexOf("<status>crazy</status>") > -1);
+ assertTrue(result, result.indexOf("<status>crazy</status>") > -1);
assertTrue(result.indexOf("<value>42</value>") > -1);
assertTrue(result.indexOf("<explanation>just cause it is</explanation>") > -1);
@@ -56,16 +118,9 @@
assertTrue(result.indexOf("\"id\":\"result\"") > -1);
assertTrue(result.indexOf("\"status\":\"crazy\"") > -1);
-
}
- public void testInitialise() {
- KnowledgeStatelessServlet rs = new KnowledgeStatelessServlet();
- assertNotNull(rs.jsonInstance);
- assertNotNull(rs.xmlInstance);
- }
-
public void testURLPattern() {
Matcher m = KnowledgeStatelessServlet.urlPattern.matcher("foo/knowledgebase/whee");
assertTrue(m.matches());
@@ -75,4 +130,47 @@
}
+
+ public void testExample() {
+ String xml = KnowledgeStatelessServlet.getRequestExample(false);
+ assertNotNull(xml);
+ String json = KnowledgeStatelessServlet.getRequestExample(true);
+ assertNotNull(json);
+ assertFalse(json.equals(xml));
+
+
+ xml = KnowledgeStatelessServlet.getResponseExample(false);
+ assertNotNull(xml);
+ json = KnowledgeStatelessServlet.getResponseExample(true);
+ assertNotNull(json);
+ assertFalse(json.equals(xml));
+
+ }
+
+
+
+ void copy(InputStream in, File dst) throws IOException {
+ OutputStream out = new FileOutputStream(dst);
+
+ // Transfer bytes from in to out
+ byte[] buf = new byte[1024];
+ int len;
+ while ((len = in.read(buf)) > 0) {
+ out.write(buf, 0, len);
+ }
+ in.close();
+ out.close();
+ }
+
+ public void testInitTiming() {
+ long time = System.currentTimeMillis();
+ for (int i = 0; i < 100; i++) {
+ XStream xs = KnowledgeStatelessServlet.configureXStream(false);
+ }
+ System.out.println("Timing: " + (System.currentTimeMillis() - time));
+ }
+
+
+
+
}
Added: labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHTTPResponse.java
===================================================================
--- labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHTTPResponse.java (rev 0)
+++ labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHTTPResponse.java 2008-08-20 07:03:17 UTC (rev 21633)
@@ -0,0 +1,179 @@
+package org.drools.server;
+
+import java.io.IOException;
+import java.io.OutputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.HashMap;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletResponse;
+
+public class MockHTTPResponse implements HttpServletResponse {
+
+ String contentType;
+ Map<String, String> headers = new HashMap<String, String>();
+ int errorCode;
+ StringWriter stringWriter = new StringWriter();
+ private PrintWriter writer = new PrintWriter(stringWriter);
+ String redirect;
+
+
+ public MockHTTPResponse() {
+
+ }
+
+ public void addCookie(Cookie arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addDateHeader(String arg0, long arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addHeader(String arg0, String arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void addIntHeader(String arg0, int arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public boolean containsHeader(String a) {
+
+ return this.headers.containsKey(a);
+ }
+
+ public String encodeRedirectURL(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String encodeRedirectUrl(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String encodeURL(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String encodeUrl(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public void sendError(int i) throws IOException {
+ this.errorCode = i;
+
+ }
+
+ public void sendError(int arg0, String arg1) throws IOException {
+ this.errorCode = arg0;
+ }
+
+ public void sendRedirect(String arg0) throws IOException {
+ this.redirect = arg0;
+
+ }
+
+ public void setDateHeader(String arg0, long arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setHeader(String k, String v) {
+ this.headers.put(k, v);
+
+ }
+
+ public void setIntHeader(String arg0, int arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setStatus(int arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setStatus(int arg0, String arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void flushBuffer() throws IOException {
+ // TODO Auto-generated method stub
+
+ }
+
+ public int getBufferSize() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public String getCharacterEncoding() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Locale getLocale() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public ServletOutputStream getOutputStream() throws IOException {
+ return null;
+ }
+
+ public PrintWriter getWriter() throws IOException {
+
+ return writer ;
+ }
+
+ public boolean isCommitted() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public void reset() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void resetBuffer() {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setBufferSize(int arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setContentLength(int arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setContentType(String s) {
+ this.contentType = s;
+
+ }
+
+ public void setLocale(Locale arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
+}
Property changes on: labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHTTPResponse.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHttpRequest.java
===================================================================
--- labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHttpRequest.java (rev 0)
+++ labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHttpRequest.java 2008-08-20 07:03:17 UTC (rev 21633)
@@ -0,0 +1,277 @@
+package org.drools.server;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.security.Principal;
+import java.util.Enumeration;
+import java.util.Locale;
+import java.util.Map;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletInputStream;
+import javax.servlet.http.Cookie;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpSession;
+
+public class MockHttpRequest implements HttpServletRequest {
+
+ private String uri;
+ private String contentType;
+
+ public MockHttpRequest(String uri, String contentType) {
+ this.uri = uri;
+ this.contentType = contentType;
+ }
+
+ public String getAuthType() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getContextPath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Cookie[] getCookies() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public long getDateHeader(String arg0) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public String getHeader(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Enumeration getHeaderNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Enumeration getHeaders(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getIntHeader(String arg0) {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public String getMethod() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getPathInfo() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getPathTranslated() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getQueryString() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getRemoteUser() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getRequestURI() {
+ return uri;
+ }
+
+ public StringBuffer getRequestURL() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getRequestedSessionId() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getServletPath() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public HttpSession getSession() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public HttpSession getSession(boolean arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Principal getUserPrincipal() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public boolean isRequestedSessionIdFromCookie() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isRequestedSessionIdFromURL() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isRequestedSessionIdFromUrl() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isRequestedSessionIdValid() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public boolean isUserInRole(String arg0) {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public Object getAttribute(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Enumeration getAttributeNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getCharacterEncoding() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getContentLength() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public String getContentType() {
+ return contentType;
+ }
+
+ public ServletInputStream getInputStream() throws IOException {
+ return null;
+ }
+
+ public Locale getLocale() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Enumeration getLocales() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getParameter(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Map getParameterMap() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public Enumeration getParameterNames() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String[] getParameterValues(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getProtocol() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public BufferedReader getReader() throws IOException {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getRealPath(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getRemoteAddr() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getRemoteHost() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public RequestDispatcher getRequestDispatcher(String arg0) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getScheme() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getServerName() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public int getServerPort() {
+ // TODO Auto-generated method stub
+ return 0;
+ }
+
+ public boolean isSecure() {
+ // TODO Auto-generated method stub
+ return false;
+ }
+
+ public void removeAttribute(String arg0) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setAttribute(String arg0, Object arg1) {
+ // TODO Auto-generated method stub
+
+ }
+
+ public void setCharacterEncoding(String arg0)
+ throws UnsupportedEncodingException {
+ // TODO Auto-generated method stub
+
+ }
+
+
+
+}
Property changes on: labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/MockHttpRequest.java
___________________________________________________________________
Name: svn:eol-style
+ native
Added: labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/StubbedServlet.java
===================================================================
--- labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/StubbedServlet.java (rev 0)
+++ labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/StubbedServlet.java 2008-08-20 07:03:17 UTC (rev 21633)
@@ -0,0 +1,30 @@
+package org.drools.server;
+
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public class StubbedServlet extends KnowledgeStatelessServlet {
+
+ InputStream inputStream;
+ OutputStream outputStream;
+
+ @Override
+ InputStream getInputStream(HttpServletRequest request)
+ throws IOException {
+ return inputStream;
+ }
+
+
+ @Override
+ OutputStream getOutputStream(HttpServletResponse resp) throws IOException {
+ return outputStream;
+ }
+
+
+
+
+}
Property changes on: labs/jbossrules/trunk/drools-server/src/test/java/org/drools/server/StubbedServlet.java
___________________________________________________________________
Name: svn:eol-style
+ native
Modified: labs/jbossrules/trunk/drools-server/src/test/resources/org/drools/server/test_rules1.drl
===================================================================
--- labs/jbossrules/trunk/drools-server/src/test/resources/org/drools/server/test_rules1.drl 2008-08-20 06:47:02 UTC (rev 21632)
+++ labs/jbossrules/trunk/drools-server/src/test/resources/org/drools/server/test_rules1.drl 2008-08-20 07:03:17 UTC (rev 21633)
@@ -39,6 +39,7 @@
when
Car()
then
+ System.out.println("Firing Car rule");
prs.setStatus("crazy");
end
Added: labs/jbossrules/trunk/drools-server/src/test/resources/testservice.properties
===================================================================
--- labs/jbossrules/trunk/drools-server/src/test/resources/testservice.properties (rev 0)
+++ labs/jbossrules/trunk/drools-server/src/test/resources/testservice.properties 2008-08-20 07:03:17 UTC (rev 21633)
@@ -0,0 +1,2 @@
+newInstance=true
+file=TestService.drl
\ No newline at end of file
Property changes on: labs/jbossrules/trunk/drools-server/src/test/resources/testservice.properties
___________________________________________________________________
Name: svn:eol-style
+ native
More information about the jboss-svn-commits
mailing list