Package org.apache.geronimo.console.jmsmanager

Source Code of org.apache.geronimo.console.jmsmanager.JMSManagerPortlet

/**
*
* Copyright 2004, 2005 The Apache Software Foundation or its licensors, as applicable.
*
*  Licensed under the Apache License, Version 2.0 (the "License");
*  you may not use this file except in compliance with the License.
*  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
*  Unless required by applicable law or agreed to in writing, software
*  distributed under the License is distributed on an "AS IS" BASIS,
*  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
*  See the License for the specific language governing permissions and
*  limitations under the License.
*/

package org.apache.geronimo.console.jmsmanager;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import javax.jms.ConnectionFactory;
import javax.portlet.ActionRequest;
import javax.portlet.ActionResponse;
import javax.portlet.PortletConfig;
import javax.portlet.PortletContext;
import javax.portlet.PortletException;
import javax.portlet.PortletRequestDispatcher;
import javax.portlet.RenderRequest;
import javax.portlet.RenderResponse;
import javax.portlet.WindowState;

import org.apache.geronimo.console.BasePortlet;
import org.apache.geronimo.console.jmsmanager.handlers.CreateDestinationHandler;
import org.apache.geronimo.console.jmsmanager.handlers.PortletResponseHandler;
import org.apache.geronimo.console.jmsmanager.handlers.RemoveDestinationHandler;
import org.apache.geronimo.console.jmsmanager.handlers.StatisticsHandler;
import org.apache.geronimo.console.jmsmanager.renderers.CreateDestinationRenderer;
import org.apache.geronimo.console.jmsmanager.renderers.PortletRenderer;
import org.apache.geronimo.console.jmsmanager.renderers.StatisticsRenderer;
import org.apache.geronimo.console.jmsmanager.renderers.ViewDLQRenderer;
import org.apache.geronimo.console.jmsmanager.renderers.ViewDestinationsRenderer;
import org.apache.geronimo.console.jmsmanager.renderers.ViewMessagesRenderer;

public class JMSManagerPortlet extends BasePortlet {

    private PortletRequestDispatcher edit;

    private PortletRequestDispatcher help;

    private ConnectionFactory cf;

    private Map handlers;

    private Map renderers;

    private PortletContext context;

    public void init(PortletConfig portletConfig) throws PortletException {
        super.init(portletConfig);

        context = portletConfig.getPortletContext();

        help = context
                .getRequestDispatcher("/WEB-INF/view/jmsmanager/help.jsp");
        edit = context
                .getRequestDispatcher("/WEB-INF/view/jmsmanager/edit.jsp");

        renderers = new HashMap();
        renderers.put("createDestination", new CreateDestinationRenderer());
        renderers.put("viewDestinations", new ViewDestinationsRenderer());
        renderers.put("statistics", new StatisticsRenderer());
        renderers.put("viewMessages", new ViewMessagesRenderer());
        renderers.put("viewDLQ", new ViewDLQRenderer());

        handlers = new HashMap();
        handlers.put("createDestination", new CreateDestinationHandler());
        handlers.put("removeDestination", new RemoveDestinationHandler());
        handlers.put("statistics", new StatisticsHandler());

    }

    public void doHelp(RenderRequest renderRequest,
            RenderResponse renderResponse) throws PortletException, IOException {
        help.include(renderRequest, renderResponse);
    }

    public void doView(RenderRequest renderRequest,
            RenderResponse renderResponse) throws IOException, PortletException {

        if (WindowState.MINIMIZED.equals(renderRequest.getWindowState())) {
            return;
        }

        String view = renderRequest.getParameter("processAction");
        if (view == null) {
            // no specific content requested - show the destinations list
            view = "viewDestinations";
        }

        PortletRenderer renderer = (PortletRenderer) renderers.get(view);
        if (renderer == null) {
            throw new PortletException("Invalid view parameter specified: "
                    + view);
        }

        String include = renderer.render(renderRequest, renderResponse);
        if (include != null) {
            PortletRequestDispatcher requestDispatcher = context
                    .getRequestDispatcher(include);
            requestDispatcher.include(renderRequest, renderResponse);
        }

    }

    public void processAction(ActionRequest actionRequest,
            ActionResponse actionResponse) throws PortletException, IOException {
        String processAction = actionRequest.getParameter("processaction");

        PortletResponseHandler handler = (PortletResponseHandler) handlers
                .get(processAction);

        if (handler == null) {
            // throw new RuntimeException( "no handlers for processAction = " +
            // processAction );
            handler = (PortletResponseHandler) handlers.get("viewDestinations");
        }

        handler.processAction(actionRequest, actionResponse);
    }

    public void destroy() {

        help = null;
        edit = null;
        super.destroy();
    }

}
TOP

Related Classes of org.apache.geronimo.console.jmsmanager.JMSManagerPortlet

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.