⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tomcatmanagerserviceimpl.java

📁 GridSphere 门户 提供一个基于 portlet 的高级开放源代码门户。GridSphere 是在欧盟提供基金的 GridLab 项目下开发的
💻 JAVA
字号:
/* * @author <a href="mailto:novotny@gridsphere.org">Jason Novotny</a> * @version $Id: TomcatManagerWrapper.java 5032 2006-08-17 18:15:06Z novotny $ */package org.gridsphere.services.core.tomcat.impl;import org.gridsphere.portlet.impl.StoredPortletResponseImpl;import org.gridsphere.portlet.service.spi.PortletServiceConfig;import org.gridsphere.portlet.service.spi.PortletServiceProvider;import org.gridsphere.services.core.tomcat.TomcatManagerException;import org.gridsphere.services.core.tomcat.TomcatManagerService;import org.gridsphere.services.core.tomcat.TomcatWebAppResult;import javax.portlet.PortletRequest;import javax.portlet.PortletResponse;import javax.servlet.ServletContext;import javax.servlet.ServletRequest;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.LineNumberReader;import java.io.StringReader;import java.io.StringWriter;import java.util.StringTokenizer;public class TomcatManagerServiceImpl implements TomcatManagerService, PortletServiceProvider {    private ServletContext ctx = null;    public TomcatManagerServiceImpl() {    }    public void init(PortletServiceConfig config) {        ctx = config.getServletContext();    }    public void destroy() {    }    public TomcatWebAppResult doCommand(PortletRequest req, PortletResponse res, String command) throws TomcatManagerException {        TomcatWebAppResult result = null;        try {            StringWriter writer = new StringWriter();            StoredPortletResponseImpl storedResponse = new StoredPortletResponseImpl((HttpServletRequest)req, (HttpServletResponse)res, writer);            ServletContext context = ctx.getContext("/manager");            System.err.println("" +  context.getServletContextName());            //context.getRequestDispatcher("/list").include((HttpServletRequest)req, storedResponse);            req.setAttribute("org.gridsphere.tomcat_hack", command);            context.getRequestDispatcher(command).include((ServletRequest)req, storedResponse);                    System.err.println(writer.getBuffer());                        LineNumberReader reader = new LineNumberReader(new StringReader(writer.getBuffer().toString()));            // get first line            // should be something like:            // OK - some information text            String line = null;            line = reader.readLine();            System.err.println("line= " + line);            StringTokenizer tokenizer = new StringTokenizer(line, "-");            if (tokenizer.countTokens() == 2) {                String rc = tokenizer.nextToken();                String description = tokenizer.nextToken();                result = new TomcatWebAppResult(rc, description);            }            while ((line = reader.readLine()) != null) {                result.addWebAppDescriptor(line);            }            reader.close();        } catch (Exception e) {            throw new TomcatManagerException("Unable to perform command: " + command, e);        }        return result;    }    public TomcatWebAppResult getWebAppList(PortletRequest req, PortletResponse res) throws TomcatManagerException {        return doCommand(req, res, "/list");    }    public TomcatWebAppResult reloadWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {        if (!context.startsWith("/")) context = "/" + context;        return doCommand(req, res, "/reload?path=" + context);    }    public TomcatWebAppResult removeWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {        if (!context.startsWith("/")) context = "/" + context;        return doCommand(req, res, "/remove?path=" + context);    }    public TomcatWebAppResult startWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {        if (!context.startsWith("/")) context = "/" + context;        return doCommand(req, res, "/start?path=" + context);    }    public TomcatWebAppResult stopWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {        if (!context.startsWith("/")) context = "/" + context;        return doCommand(req, res, "/stop?path=" + context);    }    public TomcatWebAppResult deployWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {        if (!context.startsWith("/")) context = "/" + context;        return doCommand(req, res, "/deploy?path=" + context);    }    public TomcatWebAppResult undeployWebApp(PortletRequest req, PortletResponse res, String context) throws TomcatManagerException {        if (!context.startsWith("/")) context = "/" + context;        return doCommand(req, res, "/undeploy?path=" + context);    }    public TomcatWebAppResult installWebApp(PortletRequest req, PortletResponse res, String context, String warFile) throws TomcatManagerException {        //install?path=/foo&war=file:/path/to/foo        if (!context.startsWith("/")) context = "/" + context;	    return doCommand(req, res, "/deploy?war=" + warFile);    }    public TomcatWebAppResult installWebApp(PortletRequest req, PortletResponse res, String warFile) throws TomcatManagerException {        //install?path=/foo&war=file:/path/to/foo        return doCommand(req, res, "/install?war=" + warFile);    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -