You are viewing a plain text version of this content. The canonical link for it is here.
Posted to bsf-dev@jakarta.apache.org by se...@apache.org on 2009/03/25 01:35:59 UTC

svn commit: r758103 - in /jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf: ./ utils/http/

Author: sebb
Date: Wed Mar 25 00:35:59 2009
New Revision: 758103

URL: http://svn.apache.org/viewvc?rev=758103&view=rev
Log:
Detab

Modified:
    jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/Main.java
    jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/GenericHttpScriptContext.java
    jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptContext.java
    jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptRequest.java
    jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptServlet.java
    jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/ScriptEnginePool.java

Modified: jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/Main.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/Main.java?rev=758103&r1=758102&r2=758103&view=diff
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/Main.java (original)
+++ jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/Main.java Wed Mar 25 00:35:59 2009
@@ -39,93 +39,93 @@
  * @author   Sam Ruby
  */
 public class Main {
-	private static final String ARG_IN = "-in";
-	private static final String ARG_LANG = "-lang";
-	private static final String ARG_OUT = "-out";
-	private static final String DEFAULT_IN_FILE_NAME = "<STDIN>";
-	private static final String DEFAULT_CLASS_NAME = "Test";
-
-	/**
-	 * Static driver to be able to run BSF scripts from the command line.
-	 *
-	 * @param args command line arguments
-	 */
-	public static void main(String[] args) throws IOException {
-		if ((args.length == 0) || (args.length % 2 != 0)) {
-			printHelp();
-			System.exit(1);
-		}
-
-		Hashtable argsTable = new Hashtable();
-
-		argsTable.put(ARG_OUT, DEFAULT_CLASS_NAME);
-
-		for (int i = 0; i < args.length; i += 2) {
-			argsTable.put(args[i], args[i + 1]);
-		}
-
-		String inFileName = (String) argsTable.get(ARG_IN);
-		String language = (String) argsTable.get(ARG_LANG);
-
-		
-		if (language == null && inFileName != null) {
-			int i = inFileName.lastIndexOf('.');
-			if (i > 0) {
-				language = inFileName.substring(i+1);
-			}
-			if (language == null) {
-				throw new IllegalArgumentException("unable to determine language");
-			}
-		}
-
-		ScriptEngineManager mgr = new ScriptEngineManager();
-
-		Reader in;
-
-		if (inFileName != null) {
-			in = new FileReader(inFileName);
-		} else {
-			in = new InputStreamReader(System.in);
-			inFileName = DEFAULT_IN_FILE_NAME;
-		}
-
-		try {
-			ScriptEngine engine = mgr.getEngineByExtension(language);
-			Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
-			bindings.put("args", args);
-			Object obj = engine.eval(in);
-			System.err.println("Result: " + obj);
-		} catch (ScriptException e) {
-		    e.printStackTrace();
-		}
-	}
-
-	private static void printHelp() {
-		System.err.println("Usage:");
-		System.err.println();
-		System.err.println("  java " + Main.class.getName() + " [args]");
-		System.err.println();
-		System.err.println("    args:");
-		System.err.println();
-		System.err.println(
-			"      [-in                fileName]   default: " + DEFAULT_IN_FILE_NAME);
-		System.err.println(
-			"      [-lang          languageName]   default: "
-				+ "<If -in is specified and -lang");
-		System.err.println(
-			"                                               "
-				+ " is not, attempt to determine");
-		System.err.println(
-			"                                               "
-				+ " language from file extension;");
-		System.err.println(
-			"                                               "
-				+ " otherwise, -lang is required.>");
-		System.err.println();
-		System.err.println(
-			"    Additional args used only if -mode is " + "set to \"compile\":");
-		System.err.println();
-		System.err.println(
-			"      [-out              className]   default: " + DEFAULT_CLASS_NAME);
-	}
+    private static final String ARG_IN = "-in";
+    private static final String ARG_LANG = "-lang";
+    private static final String ARG_OUT = "-out";
+    private static final String DEFAULT_IN_FILE_NAME = "<STDIN>";
+    private static final String DEFAULT_CLASS_NAME = "Test";
+
+    /**
+     * Static driver to be able to run BSF scripts from the command line.
+     *
+     * @param args command line arguments
+     */
+    public static void main(String[] args) throws IOException {
+        if ((args.length == 0) || (args.length % 2 != 0)) {
+            printHelp();
+            System.exit(1);
+        }
+
+        Hashtable argsTable = new Hashtable();
+
+        argsTable.put(ARG_OUT, DEFAULT_CLASS_NAME);
+
+        for (int i = 0; i < args.length; i += 2) {
+            argsTable.put(args[i], args[i + 1]);
+        }
+
+        String inFileName = (String) argsTable.get(ARG_IN);
+        String language = (String) argsTable.get(ARG_LANG);
+
+
+        if (language == null && inFileName != null) {
+            int i = inFileName.lastIndexOf('.');
+            if (i > 0) {
+                language = inFileName.substring(i+1);
+            }
+            if (language == null) {
+                throw new IllegalArgumentException("unable to determine language");
+            }
+        }
+
+        ScriptEngineManager mgr = new ScriptEngineManager();
+
+        Reader in;
+
+        if (inFileName != null) {
+            in = new FileReader(inFileName);
+        } else {
+            in = new InputStreamReader(System.in);
+            inFileName = DEFAULT_IN_FILE_NAME;
+        }
+
+        try {
+            ScriptEngine engine = mgr.getEngineByExtension(language);
+            Bindings bindings = engine.getBindings(ScriptContext.ENGINE_SCOPE);
+            bindings.put("args", args);
+            Object obj = engine.eval(in);
+            System.err.println("Result: " + obj);
+        } catch (ScriptException e) {
+            e.printStackTrace();
+        }
+    }
+
+    private static void printHelp() {
+        System.err.println("Usage:");
+        System.err.println();
+        System.err.println("  java " + Main.class.getName() + " [args]");
+        System.err.println();
+        System.err.println("    args:");
+        System.err.println();
+        System.err.println(
+            "      [-in                fileName]   default: " + DEFAULT_IN_FILE_NAME);
+        System.err.println(
+            "      [-lang          languageName]   default: "
+                + "<If -in is specified and -lang");
+        System.err.println(
+            "                                               "
+                + " is not, attempt to determine");
+        System.err.println(
+            "                                               "
+                + " language from file extension;");
+        System.err.println(
+            "                                               "
+                + " otherwise, -lang is required.>");
+        System.err.println();
+        System.err.println(
+            "    Additional args used only if -mode is " + "set to \"compile\":");
+        System.err.println();
+        System.err.println(
+            "      [-out              className]   default: " + DEFAULT_CLASS_NAME);
+    }
 }
\ No newline at end of file

Modified: jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/GenericHttpScriptContext.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/GenericHttpScriptContext.java?rev=758103&r1=758102&r2=758103&view=diff
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/GenericHttpScriptContext.java (original)
+++ jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/GenericHttpScriptContext.java Wed Mar 25 00:35:59 2009
@@ -32,8 +32,8 @@
 import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 
-public class GenericHttpScriptContext extends SimpleScriptContext implements 	HttpScriptContext {
-    
+public class GenericHttpScriptContext extends SimpleScriptContext implements     HttpScriptContext {
+
     public static final String[] defaultMethods = {"GET", "POST"};
     protected boolean disableScript = false;
     protected boolean displayResults = false;
@@ -44,109 +44,109 @@
     protected HttpServletResponse response;
     protected Servlet servlet;
     protected boolean useSession = true;
-    
+
     public GenericHttpScriptContext() {
         super();
     }
-    
+
     public boolean disableScript() {
         return disableScript;
-        
+
     }
-    
+
     public boolean displayResults() {
         return displayResults;
-        
+
     }
-       
+
     public String[] getAllowedLanguages() {
         return languages;
     }
-    
+
     public Object getAttribute(String key, Object value, int scope){
-       
-    	switch (scope) {
-    		case HttpScriptContext.ENGINE_SCOPE:
-    			return request.getAttribute(key);
-    		case HttpScriptContext.SESSION_SCOPE:
-    			if (useSession()) {
-    				return request.getSession().getAttribute(key);
-    			} else {
-    				return null;
-    			}
-    		case HttpScriptContext.APPLICATION_SCOPE:
-    			return servlet.getServletConfig().getServletContext().getAttribute(key);
-    		default:
-    			return null;
-    	}
+
+        switch (scope) {
+            case HttpScriptContext.ENGINE_SCOPE:
+                return request.getAttribute(key);
+            case HttpScriptContext.SESSION_SCOPE:
+                if (useSession()) {
+                    return request.getSession().getAttribute(key);
+                } else {
+                    return null;
+                }
+            case HttpScriptContext.APPLICATION_SCOPE:
+                return servlet.getServletConfig().getServletContext().getAttribute(key);
+            default:
+                return null;
+        }
     }
 
-    
+
     public void setAttribute(String key, Object value, int scope)
             throws IllegalArgumentException {
-    	
-    	switch (scope) {
-    		case HttpScriptContext.REQUEST_SCOPE:
-    			request.setAttribute(key, value);
-    			break;
-    		case HttpScriptContext.SESSION_SCOPE:
-    			if (useSession()) {
+
+        switch (scope) {
+            case HttpScriptContext.REQUEST_SCOPE:
+                request.setAttribute(key, value);
+                break;
+            case HttpScriptContext.SESSION_SCOPE:
+                if (useSession()) {
                     request.getSession().setAttribute(key, value);
                 } else {
                     throw new IllegalArgumentException("Session is disabled");
                 }
-    			break;
-    		case HttpScriptContext.APPLICATION_SCOPE:
-    			servlet.getServletConfig().getServletContext().setAttribute(
-    		        key, value);
-    			break;
-    		default:
-    			throw new IllegalArgumentException("Invalid scope");
-    	}
-    }
-    
-	public void forward(String relativePath) throws ServletException, IOException {
-        
-		ServletContext context =  servlet.getServletConfig().getServletContext();
+                break;
+            case HttpScriptContext.APPLICATION_SCOPE:
+                servlet.getServletConfig().getServletContext().setAttribute(
+                    key, value);
+                break;
+            default:
+                throw new IllegalArgumentException("Invalid scope");
+        }
+    }
+
+    public void forward(String relativePath) throws ServletException, IOException {
+
+        ServletContext context =  servlet.getServletConfig().getServletContext();
 
         String baseURI;
         String requestURI = request.getRequestURI();
-        
+
         if(relativePath.startsWith("/")){
             baseURI = requestURI.substring(0, request.getContextPath().length());
-            
+
         }else{
             baseURI = requestURI.substring(0, requestURI.lastIndexOf("/"));
         }
-        
+
         context.getRequestDispatcher(baseURI+relativePath).forward(request, response);
-	}
-	
+    }
 
-	public String[] getMethods() {
-		return methods;
-	}
 
-	public HttpServletRequest getRequest() {
+    public String[] getMethods() {
+        return methods;
+    }
+
+    public HttpServletRequest getRequest() {
         return new HttpScriptRequest(this, request);        
-	}
-	
-	public HttpServletResponse getResponse() {
-		return new HttpScriptResponse(this, response);
-	}
-	
+    }
+
+    public HttpServletResponse getResponse() {
+        return new HttpScriptResponse(this, response);
+    }
+
     public Reader getScriptSource() {
-        
-    	String requestURI = request.getRequestURI();
+
+        String requestURI = request.getRequestURI();
         String resourcePath =
             requestURI.substring(request.getContextPath().length());
-        
+
         if(scriptDir == null){
         // should I construct a reader by combing contextRoot+ resourcePath
         }else{
             String fullPath;
             if(scriptDir.endsWith("/") || resourcePath.startsWith("/")){
-            	fullPath = scriptDir + resourcePath;
+                fullPath = scriptDir + resourcePath;
             }else{
                 fullPath = scriptDir+"/"+resourcePath;
             }
@@ -155,94 +155,94 @@
             }catch(IOException ioe){
             }
         }
-        
+
         return null;
-	}
-	
-	public Servlet getServlet() {
-		return servlet;
-	}
-	
+    }
+
+    public Servlet getServlet() {
+        return servlet;
+    }
+
     public void include(String relativePath) throws ServletException, IOException {
         ServletContext context =  servlet.getServletConfig().getServletContext();
 
         String baseURI;
         String requestURI = request.getRequestURI();
-        
+
         if(relativePath.startsWith("/")){
             baseURI = requestURI.substring(0, request.getContextPath().length());
-            
+
         }else{
             baseURI = requestURI.substring(0, requestURI.lastIndexOf("/"));
         }
-        
+
         context.getRequestDispatcher(baseURI+relativePath).include(request, response);       
-	}
-	
+    }
+
     public void initialize(Servlet servlet, HttpServletRequest request,
             HttpServletResponse response) throws ServletException {
-		
+
         this.request = request;
-		this.response = response;
+        this.response = response;
         this.servlet = servlet;
-        
+
         ServletContext context = servlet.getServletConfig().getServletContext();
-        
+
         scriptDir = context.getInitParameter("script-directory");
-        
+
         if(scriptDir == null || !(new File(scriptDir).isDirectory())){
             throw new ServletException("Specifed script directory either does " +
                     "not exist or not a directory");
         }
-       
+
         String disable = context.getInitParameter("script-disable");
         if(disable != null && disable.equals("true")){
             disableScript = true;
             return;
         }
-        
+
         String session = context.getInitParameter("script-use-session");
         if(session != null && session.equals("false")){
             useSession = false;
         }
-        
+
         String display = context.getInitParameter("script-display-results");
         if(display != null && display.equals("true")){
             displayResults = true;
         }
-        
+
         String methodNames = context.getInitParameter("script-methods");
         if(methodNames != null){
             methods = methodNames.split(",");
         }else{
             methods = defaultMethods;
         }
-        
+
         String languageNames = context.getInitParameter("allowed-languages");
         if(languageNames != null){
             languages = languageNames.split(",");
         }       
     }
-	
-	public void release() {
+
+    public void release() {
         disableScript = false;
         displayResults = false;
         useSession = true;
-		servlet = null;
-		request = null;
-		response = null;
-	}
-	
-	
-	public boolean useSession() {
-		return useSession;
-	}
+        servlet = null;
+        request = null;
+        response = null;
+    }
+
+
+    public boolean useSession() {
+        return useSession;
+    }
 
     public Writer getWriter() {
         try{
             return response.getWriter();
        }catch(IOException ioe){
-       		return null;
+               return null;
        }
     }
 }

Modified: jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptContext.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptContext.java?rev=758103&r1=758102&r2=758103&view=diff
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptContext.java (original)
+++ jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptContext.java Wed Mar 25 00:35:59 2009
@@ -37,18 +37,18 @@
  * @author Sanka Samaranayake  <sa...@opensource.lk>
  */
 public interface HttpScriptContext extends ScriptContext {
-	
-	// TODO: Workout what these scope values need to be
-	
+
+    // TODO: Workout what these scope values need to be
+
     /** Integer value for the level of SCRIPT_SCOPE */
-	public static final int REQUEST_SCOPE = 0;
-    
-	/** Integer value for the level of SESSION_SCOPE */   
-	public static final int SESSION_SCOPE = 300;
-    
-	/** Integer value for the level of APPLICATION_SCOPE */
-	public static final int APPLICATION_SCOPE = 400;
-    
+    public static final int REQUEST_SCOPE = 0;
+
+    /** Integer value for the level of SESSION_SCOPE */   
+    public static final int SESSION_SCOPE = 300;
+
+    /** Integer value for the level of APPLICATION_SCOPE */
+    public static final int APPLICATION_SCOPE = 400;
+
     /**
      * Retrieves a boolean value which indicates whether the script 
      * execution has been disabled in the Web Application.
@@ -57,7 +57,7 @@
      *         allowed
      */
     public boolean disableScript();
-    
+
     /**
      * Retrieves a boolean value which indicates whether the
      * HttpScriptServlet executing in this context should display the
@@ -67,7 +67,7 @@
      *         eveluations should be displayed
      */
     public boolean displayResults();
-    
+
     /**
      * Forwards the request to the resource identified by the 
      * specified relative path.
@@ -79,7 +79,7 @@
      */
     public void forward(String relativePath) 
             throws ServletException, IOException;
-    
+
     /**
      * Retrieves an array of Strings describing the languages that may
      * be used by scripts which is running in the associated 
@@ -88,7 +88,7 @@
      * @return a String array of permitted languages 
      */
     public String[] getAllowedLanguages();
-    
+
     /**
      * Retrieves the value for the specified key in the lowest scope 
      * in which the key is defined. Returns null if the specified key
@@ -98,7 +98,7 @@
      * @return the value associated with the specified key
      */
     public Object getAttribute(String name);
-    
+
     /**
      * Retrieves the value associated with the specified key in 
      * specified level of scope. 
@@ -111,7 +111,7 @@
      */
     public Object getAttribute(String name,int scope) throws 
             IllegalArgumentException;
-    
+
     /**
      * Retrieves an array of string describing HTTP request methods 
      * which are handled by servlets executing in current context.
@@ -120,7 +120,7 @@
      *         servelts in the current context
      */
     public String[] getMethods();
-    
+
     /**
      * Retrieves a HttpScriptRequest for the current request. If the
      * session state is disabled, an adapter whose getSession() 
@@ -129,14 +129,14 @@
      * @return the current request
      */
     public HttpServletRequest getRequest();
-    
+
     /**
      * Retrieves a HttpScriptResponse for the current request.
      * 
      * @return the current response
      */
     public HttpServletResponse getResponse();
-    
+
     /**
      * Retrieves a reader form which the executing script can be 
      * read.
@@ -144,14 +144,14 @@
      * @return a reader from which the script can be read.
      */
     public Reader getScriptSource();
-    
+
     /**
      * Retrieves the associated HttpScriptServlet.
      * 
      * @return a reader form which the script source can be read
      */
     public Servlet getServlet();
-    
+
     /**
      * Includes the resource in the sepcified relative path.
      *  
@@ -163,7 +163,7 @@
      */
     public void include(String relativePath) throws IOException, 
             ServletException;
-    
+
     /**
      * Initialize the current HttpScriptContext for processing of 
      * single request. Implementation must initialize request, 
@@ -176,16 +176,16 @@
      * @throws ServletException if the servlet cannot handle the HTTP
      *         request
      */
-	public void initialize(Servlet servlet,
-			HttpServletRequest req,HttpServletResponse res) throws 
+    public void initialize(Servlet servlet,
+            HttpServletRequest req,HttpServletResponse res) throws 
             ServletException;
 
-	/**
+    /**
      * Clears any state stored in the current HttpScriptContext such 
      * that it can be reused to serve another request.
      */
     public void release();
-       
+
     /**
      * Sets the value for the specified key in the specified level of
      * scope.
@@ -199,7 +199,7 @@
      *         or diabled
      */
     public void setAttribute(String name,Object value,int scope);
-    
+
     /**
      * Retrieves a boolean value which indicates whether the 
      * HttpSession associated with the current request is exposed in 
@@ -208,5 +208,5 @@
      * @return a boolean value which indicates whether the session is
      *         vaild 
      */
-	public boolean useSession();
+    public boolean useSession();
 }

Modified: jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptRequest.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptRequest.java?rev=758103&r1=758102&r2=758103&view=diff
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptRequest.java (original)
+++ jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptRequest.java Wed Mar 25 00:35:59 2009
@@ -31,18 +31,18 @@
  * @author Sanka Samaranayake <sa...@opensource.lk>
  */
 public class HttpScriptRequest extends HttpServletRequestWrapper {
-    
-	private final HttpScriptContext context;
-    
+
+    private final HttpScriptContext context;
+
     public HttpScriptRequest(HttpScriptContext context, HttpServletRequest req){
         super(req);
         this.context = context;
     }
-    
+
     public RequestDispatcher getRequestDispatcher(String path) {
         return null;
     }
-    
+
     public HttpSession getSession() {
         return (context.useSession()) ? super.getSession() : null;
     }

Modified: jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptServlet.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptServlet.java?rev=758103&r1=758102&r2=758103&view=diff
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptServlet.java (original)
+++ jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/HttpScriptServlet.java Wed Mar 25 00:35:59 2009
@@ -42,27 +42,27 @@
  * @author Sanka Samaranayake  <sa...@opensource.lk>
  */
 public class HttpScriptServlet extends GenericServlet {
-	private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID = 1L;
 
-	public HttpScriptServlet(){
+    public HttpScriptServlet(){
     }
-   
-	/**
+
+    /**
      * Retrieves a HttpScriptContext initialized using specified 
      * HttpServletRequest, HttpServletResponse and a reference to 
      * this HttpScriptServlet.
      * 
-	 * @param req the supplied HttpServletRequest instance
-	 * @param res the supplied HttpServletResponse instance
-	 * @return an initialized HttpScriptContext
-	 * @throws ServletException if an error occurs
-	 */
+     * @param req the supplied HttpServletRequest instance
+     * @param res the supplied HttpServletResponse instance
+     * @return an initialized HttpScriptContext
+     * @throws ServletException if an error occurs
+     */
     public HttpScriptContext getContext(HttpServletRequest req,
-			HttpServletResponse res) throws ServletException {
-    	
-    	return null; // TODO
+            HttpServletResponse res) throws ServletException {
+
+        return null; // TODO
     }
-	
+
     /**
      * Returns a ScriptEngine instance which is used by the 
      * HttpScriptServlet to executes a single request.
@@ -71,10 +71,10 @@
      * @return an instance of a ScriptEngine which is used by the 
      *         HttpScriptServlet to executes a single request
      */
-	public ScriptEngine getEngine(HttpServletRequest req) {
-       return null; // TODO		
-	}
-	
+    public ScriptEngine getEngine(HttpServletRequest req) {
+       return null; // TODO        
+    }
+
     /**
      * Called to indicate that the ScriptEngine returned by call to
      * getEngine() is no longer in use.
@@ -82,9 +82,9 @@
      * @param eng the ScriptEngine which is no longer in use
      */
     public void releaseEngine(ScriptEngine eng) {
-    	
+
     }
-    
+
     /**
      * Executes a script using the HttpScriptContext obtained by a 
      * call to getContext() and the ScriptEngine obtained by a call
@@ -99,55 +99,55 @@
      * @throws ServletException if error occurs in processing the 
      *         request
      */
-	public void service(ServletRequest req,ServletResponse res)
-			  throws IllegalArgumentException, IOException, ServletException {
-        
+    public void service(ServletRequest req,ServletResponse res)
+              throws IllegalArgumentException, IOException, ServletException {
+
         HttpServletRequest request;
         HttpServletResponse response;
         HttpScriptContext context;
         ScriptEngine engine;
         Object retValue;
-        
+
         if( !(req instanceof HttpServletRequest) || 
                     !(res instanceof HttpServletResponse)){
             throw new IllegalArgumentException(
                     "Method arguments should be HttpServletRequest and " +
                     "HttpServletResponse type");
         }
-        
+
         request = (HttpServletRequest)req;
         response =(HttpServletResponse)res;
-        
+
         context = getContext(request, response);
         if (context.disableScript()) {
             response.setStatus(HttpServletResponse.SC_FORBIDDEN);
             return;
         }
-        
+
         String requestMethod = request.getMethod();
         String[] allowedMethods = context.getMethods();
         int score;
-        
+
         for (score=0; score<allowedMethods.length; score++ ) {
             if (requestMethod.equalsIgnoreCase(allowedMethods[score])) {
                 break;                
             }
         }
-        
+
         if (score == allowedMethods.length) {
             response.setStatus(HttpServletResponse.SC_METHOD_NOT_ALLOWED);
             return;
         }
-        
+
         engine = getEngine(request);
-        
+
         String[] languages = context.getAllowedLanguages();
         List names     = engine.getFactory().getNames();
-        
+
         if (languages != null) {
-            
+
             boolean found = false;
-            
+
             for (int i=0; i<languages.length; i++) {
                 for (int j=0; j<names.size(); j++) {
                     if (languages[i].equals(names.get(i))) {
@@ -155,44 +155,44 @@
                     }
                 }
             }
-            
+
             if (!found) {
                 response.setStatus(HttpServletResponse.SC_FORBIDDEN);
                 return;                
             }
         }
-      
+
         try {
-        	           
-        	Reader reader = context.getScriptSource();
+
+            Reader reader = context.getScriptSource();
             if (reader == null) {
                 response.setStatus(HttpServletResponse.SC_NOT_FOUND);
                 return;
             }
-            
+
             engine.put("javax.script.filename", request.getRequestURI());
             engine.put("Request", context.getRequest());
             engine.put("Response",context.getResponse());
             engine.put("Servlet", context.getServlet());
             engine.put("Context", context);
-            
+
             retValue = engine.eval(reader, context);
-            
+
             response.setContentType("text/html");
             if ((retValue != null) && (context.displayResults())) {
                 response.getWriter().write(retValue.toString());
             }
-            
+
             response.getWriter().close();
           } catch (ScriptException se) {
-  
-          	response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+
+              response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
             throw new ServletException(se);
-            
+
         } finally {
-   
+
             releaseEngine(engine);
             context.release();
         }
-	}
+    }
 }

Modified: jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/ScriptEnginePool.java
URL: http://svn.apache.org/viewvc/jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/ScriptEnginePool.java?rev=758103&r1=758102&r2=758103&view=diff
==============================================================================
--- jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/ScriptEnginePool.java (original)
+++ jakarta/bsf/trunk/bsf3/bsf-utils/src/main/java/org/apache/bsf/utils/http/ScriptEnginePool.java Wed Mar 25 00:35:59 2009
@@ -33,11 +33,11 @@
     private final int capacity;
     private final ScriptEngineFactory factory;
     private final boolean isMultithreaded;
-    
+
     public ScriptEnginePool(ScriptEngineFactory factory, int capacity){
-    	this.factory = factory;
+        this.factory = factory;
         this.capacity = capacity;
-        
+
         String param = (String)factory.getParameter("THREADING");
         if (param != null && param.equals("MULTITHREADED")) {
             this.isMultithreaded = true;
@@ -46,16 +46,16 @@
             this.isMultithreaded = false;
         }
     }
-    
+
     public ScriptEnginePool(ScriptEngineFactory factory){
         this(factory,DEFAULT_SIZE);
      }
-       
+
     public synchronized void free(ScriptEngine eng){
         pool.add(eng); // should I clear the engine namespaces .. 
         notifyAll();
     }
-    
+
     public synchronized ScriptEngine get(){
         if (isMultithreadingSupported()) {
             return (ScriptEngine) pool.getFirst();
@@ -77,9 +77,9 @@
             }
         }
     }
-    
+
     public boolean isMultithreadingSupported(){
         return this.isMultithreaded;
     }
-    
+
 }



---------------------------------------------------------------------
To unsubscribe, e-mail: bsf-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: bsf-dev-help@jakarta.apache.org