01: /**
02: * Licensed to the Apache Software Foundation (ASF) under one or more
03: * contributor license agreements. See the NOTICE file distributed with
04: * this work for additional information regarding copyright ownership.
05: * The ASF licenses this file to You under the Apache License, Version 2.0
06: * (the "License"); you may not use this file except in compliance with
07: * the License. You may obtain a copy of the License at
08: *
09: * http://www.apache.org/licenses/LICENSE-2.0
10: *
11: * Unless required by applicable law or agreed to in writing, software
12: * distributed under the License is distributed on an "AS IS" BASIS,
13: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14: * See the License for the specific language governing permissions and
15: * limitations under the License.
16: */package org.apache.geronimo.console.jmsmanager.wizard;
17:
18: import java.io.IOException;
19: import javax.portlet.ActionRequest;
20: import javax.portlet.ActionResponse;
21: import javax.portlet.PortletException;
22: import javax.portlet.RenderRequest;
23: import javax.portlet.RenderResponse;
24: import org.apache.geronimo.console.util.PortletManager;
25: import org.apache.geronimo.console.MultiPageModel;
26:
27: /**
28: * Handles the page that shows a deployment plan
29: *
30: * @version $Rev: 476061 $ $Date: 2006-11-16 22:36:50 -0800 (Thu, 16 Nov 2006) $
31: */
32: public class ShowPlanHandler extends AbstractHandler {
33: public ShowPlanHandler() {
34: super (SHOW_PLAN_MODE, "/WEB-INF/view/jmswizard/plan.jsp");
35: }
36:
37: public String actionBeforeView(ActionRequest request,
38: ActionResponse response, MultiPageModel model)
39: throws PortletException, IOException {
40: JMSResourceData data = (JMSResourceData) model;
41: String plan = save(request, response, data, true);
42: request.getPortletSession(true).setAttribute("deploymentPlan",
43: plan);
44: return getMode();
45: }
46:
47: public void renderView(RenderRequest request,
48: RenderResponse response, MultiPageModel model)
49: throws PortletException, IOException {
50: JMSResourceData data = (JMSResourceData) model;
51: request.setAttribute("deploymentPlan", request
52: .getPortletSession().getAttribute("deploymentPlan"));
53: String path = PortletManager.getRepositoryEntry(request,
54: data.getRarURI()).getPath();
55: String base = PortletManager.getCurrentServer(request)
56: .getServerInfo().getCurrentBaseDirectory();
57: if (base != null && path.startsWith(base)) {
58: path = path.substring(base.length());
59: if (path.startsWith("/")) {
60: path = path.substring(1);
61: }
62: } else {
63: int pos = path.lastIndexOf('/');
64: path = path.substring(pos + 1);
65: }
66: request.setAttribute("rarURL", path);
67: }
68:
69: public String actionAfterView(ActionRequest request,
70: ActionResponse response, MultiPageModel model)
71: throws PortletException, IOException {
72: JMSResourceData data = (JMSResourceData) model;
73: request.getPortletSession(true).removeAttribute(
74: "deploymentPlan");
75: String next = request.getParameter("nextAction");
76: if (next.equals(SELECT_DESTINATION_TYPE_MODE)) {
77: data.setCurrentDestinationID(data.getAdminObjects().size());
78: } else if (next.equals(SELECT_FACTORY_TYPE_MODE)) {
79: data.setCurrentFactoryID(data.getConnectionFactories()
80: .size());
81: }
82: return next + BEFORE_ACTION;
83: }
84: }
|