diff --git a/src/helma/servlet/MultiServletClient.java b/src/helma/servlet/MultiServletClient.java deleted file mode 100644 index d2752c6b..00000000 --- a/src/helma/servlet/MultiServletClient.java +++ /dev/null @@ -1,108 +0,0 @@ -/* - * Helma License Notice - * - * The contents of this file are subject to the Helma License - * Version 2.0 (the "License"). You may not use this file except in - * compliance with the License. A copy of the License is available at - * http://adele.helma.org/download/helma/license.txt - * - * Copyright 1998-2003 Helma Software. All Rights Reserved. - * - * $RCSfile$ - * $Author$ - * $Revision$ - * $Date$ - */ - -package helma.servlet; - -import helma.framework.*; -import java.rmi.Naming; -import java.util.Hashtable; -import javax.servlet.*; - -/** - * This is the HOP servlet adapter. This class communicates with any - * Hop application on a given Hop server, extracting the application name - * from the request path. - */ -public class MultiServletClient extends AbstractServletClient { - private Hashtable apps; - - /** - * - * - * @param init ... - * - * @throws ServletException ... - */ - public void init(ServletConfig init) throws ServletException { - super.init(init); - apps = new Hashtable(); - host = init.getInitParameter("host"); - - if (host == null) { - host = "localhost"; - } - - String portstr = init.getInitParameter("port"); - - port = (portstr == null) ? 5055 : Integer.parseInt(portstr); - hopUrl = "//" + host + ":" + port + "/"; - } - - /** - * - */ - public void destroy() { - if (apps != null) { - apps.clear(); - apps = null; - } - } - - ResponseTrans execute(RequestTrans req) throws Exception { - // the app-id is the first element in the request path - // so we have to first get than and than rewrite req.path. - int slash = req.path.indexOf("/"); - String appId = null; - - if (slash == -1) { - // no slash found, path equals app-id - appId = req.path; - req.path = ""; - } else { - // cut path into app id and rewritten path - appId = req.path.substring(0, slash); - req.path = req.path.substring(slash + 1); - } - - IRemoteApp app = getApp(appId); - - try { - return app.execute(req); - } catch (Exception x) { - invalidateApp(appId); - app = getApp(appId); - - return app.execute(req); - } - } - - IRemoteApp getApp(String appId) throws Exception { - IRemoteApp app = (IRemoteApp) apps.get(appId); - - if (app != null) { - return app; - } - - app = (IRemoteApp) Naming.lookup(hopUrl + appId); - apps.put(appId, app); - - return app; - } - - void invalidateApp(String appId) { - apps.remove(appId); - } -} diff --git a/src/helma/servlet/ServletClient.java b/src/helma/servlet/ServletClient.java deleted file mode 100644 index 1cccb452..00000000 --- a/src/helma/servlet/ServletClient.java +++ /dev/null @@ -1,83 +0,0 @@ -/* - * Helma License Notice - * - * The contents of this file are subject to the Helma License - * Version 2.0 (the "License"). You may not use this file except in - * compliance with the License. A copy of the License is available at - * http://adele.helma.org/download/helma/license.txt - * - * Copyright 1998-2003 Helma Software. All Rights Reserved. - * - * $RCSfile$ - * $Author$ - * $Revision$ - * $Date$ - */ - -package helma.servlet; - -import helma.framework.*; -import java.rmi.Naming; -import javax.servlet.*; - -/** - * This is the standard Helma servlet adapter. This class represents a servlet - * that is dedicated to one Helma application over RMI. - */ -public class ServletClient extends AbstractServletClient { - private IRemoteApp app = null; - private String appName = null; - - /** - * - * - * @param init ... - * - * @throws ServletException ... - */ - public void init(ServletConfig init) throws ServletException { - super.init(init); - appName = init.getInitParameter("application"); - host = init.getInitParameter("host"); - - if (host == null) { - host = "localhost"; - } - - String portstr = init.getInitParameter("port"); - - port = (portstr == null) ? 5055 : Integer.parseInt(portstr); - hopUrl = "//" + host + ":" + port + "/"; - - if (appName == null) { - throw new ServletException("Application name not specified for helma.servlet.ServletClient"); - } - } - - /** - * - */ - public void destroy() { - if (app != null) { - app = null; - } - } - - ResponseTrans execute(RequestTrans req) throws Exception { - if (app == null) { - initApp(); - } - - try { - return app.execute(req); - } catch (Exception x) { - initApp(); - - return app.execute(req); - } - } - - synchronized void initApp() throws Exception { - app = (IRemoteApp) Naming.lookup(hopUrl + appName); - } -}