/*
* The contents of this file are subject to the Mozilla Public License Version 1.1
* (the "License"); you may not use this file except in compliance with the License.
* You may obtain a copy of the License at .
*
* Software distributed under the License is distributed on an "AS IS" basis, WITHOUT
* WARRANTY OF ANY KIND, either express or implied. See the License for the specific
* language governing rights and limitations under the License.
*
* The Original Code is the Venice Web Communities System.
*
* The Initial Developer of the Original Code is Eric J. Bowersox ,
* for Silverwrist Design Studios. Portions created by Eric J. Bowersox are
* Copyright (C) 2001-04 Eric J. Bowersox/Silverwrist Design Studios. All Rights Reserved.
*
* Contributor(s):
*/
package com.silverwrist.venice.ui.servlet;
import java.io.*;
import org.apache.log4j.*;
import com.silverwrist.venice.ui.*;
import com.silverwrist.venice.ui.helpers.*;
import com.silverwrist.venice.ui.script.*;
public class ScriptExecServlet extends BaseServlet
{
/*--------------------------------------------------------------------------------
* Static data members
*--------------------------------------------------------------------------------
*/
private static Logger logger = Logger.getLogger(ScriptExecServlet.class);
/*--------------------------------------------------------------------------------
* Implementations from class BaseServlet
*--------------------------------------------------------------------------------
*/
public Object process(RequestInput req) throws Exception, ThrowableContent
{
String str_req = req.toString();
if (logger.isDebugEnabled())
logger.debug("Begin ScriptExecServlet.process for " + str_req);
try
{ // get the script file name and logger name
ScriptSupport ssup = (ScriptSupport)(req.queryService(ScriptSupport.class));
String script_file = ssup.getScriptName(true);
String logger_name = ssup.getScriptLoggerName();
if (logger.isDebugEnabled())
logger.debug("EXECUTING " + script_file);
// execute it!
ScriptManager smgr = (ScriptManager)(req.queryService(ScriptManager.class));
ScriptReturn sro = new ScriptReturn();
smgr.exec(new File(script_file),logger_name,sro);
return sro.get();
} // end try
finally
{ // output "end" message
if (logger.isDebugEnabled())
logger.debug("End ScriptExecServlet.process for " + str_req);
} // end finally
} // end process
} // end class ScriptExecServlet