| /******************************************************************************* |
| * Copyright (c) 2004, 2005 IBM Corporation and others. |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * IBM Corporation - initial API and implementation |
| *******************************************************************************/ |
| package org.eclipse.wst.ws.internal.explorer.platform.wsil.actions; |
| |
| import org.eclipse.wst.ws.internal.explorer.platform.actions.SelectNodeToolAction; |
| import org.eclipse.wst.ws.internal.explorer.platform.constants.ActionInputs; |
| import org.eclipse.wst.ws.internal.explorer.platform.constants.ToolTypes; |
| import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer; |
| import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller; |
| import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node; |
| import org.eclipse.wst.ws.internal.explorer.platform.perspective.Tool; |
| import org.eclipse.wst.ws.internal.explorer.platform.perspective.ViewTool; |
| import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer; |
| |
| public class SelectWSILToolAction extends SelectNodeToolAction |
| { |
| public SelectWSILToolAction(Controller controller) |
| { |
| super(controller, controller.getWSILPerspective().getNodeManager()); |
| } |
| |
| public ITransformer[] getTransformers() |
| { |
| ITransformer[] parentTransformers = super.getTransformers(); |
| ITransformer[] transformers = new ITransformer[parentTransformers.length + 1]; |
| System.arraycopy(parentTransformers, 0, transformers, 0, parentTransformers.length); |
| transformers[transformers.length - 1] = new WSILViewSelectionTransformer(controller_); |
| return transformers; |
| } |
| |
| public static String getActionLink(int nodeID, int toolID, int viewID, int viewToolID, boolean keepHistory) |
| { |
| StringBuffer actionLink = new StringBuffer("wsil/actions/SelectWSILToolActionJSP.jsp?"); |
| actionLink.append(ActionInputs.NODEID); |
| actionLink.append('='); |
| actionLink.append(nodeID); |
| actionLink.append('&'); |
| actionLink.append(ActionInputs.TOOLID); |
| actionLink.append('='); |
| actionLink.append(toolID); |
| if (viewID != ActionInputs.VIEWID_DEFAULT) |
| { |
| actionLink.append('&'); |
| actionLink.append(ActionInputs.VIEWID); |
| actionLink.append('='); |
| actionLink.append(viewID); |
| actionLink.append('&'); |
| actionLink.append(ActionInputs.VIEWTOOLID); |
| actionLink.append('='); |
| actionLink.append(viewToolID); |
| } |
| if (keepHistory) |
| { |
| actionLink.append('&'); |
| actionLink.append(ActionInputs.ISHISTORY); |
| actionLink.append("=1"); |
| } |
| return actionLink.toString(); |
| } |
| |
| protected String getActionLinkForHistory() |
| { |
| boolean keepHistory = false; |
| Node selectedNode = getSelectedNode(); |
| Tool selectedTool = getSelectedTool(); |
| int toolType = getSelectedTool().getToolType(); |
| if (toolType == ToolTypes.FORM) |
| keepHistory = true; |
| else if (toolType == ToolTypes.VIEW) |
| { |
| int viewID = selectedNode.getViewId(); |
| if (viewID == ActionInputs.VIEWID_DEFAULT) |
| keepHistory = true; |
| else |
| { |
| if (((ViewTool) selectedTool).getToolManager(viewID).getTool(selectedNode.getViewToolId()).getToolType() != ToolTypes.ACTION) |
| keepHistory = true; |
| } |
| } |
| if (keepHistory) |
| { |
| return getActionLink(selectedNode.getNodeId(), selectedTool.getToolId(), selectedNode.getViewId(), selectedNode.getViewToolId(), true); |
| } |
| else |
| return null; |
| } |
| |
| public final String getTreeContentVar() |
| { |
| return "wsilNavigatorContent"; |
| } |
| |
| public final String getTreeContentPage() |
| { |
| return "wsil/wsil_navigator_content.jsp"; |
| } |
| |
| public final String getPropertiesContainerVar() |
| { |
| return "wsilPropertiesContainer"; |
| } |
| |
| public final String getPropertiesContainerPage() |
| { |
| return "wsil/wsil_properties_container.jsp"; |
| } |
| |
| public final String getPropertiesContentVar() |
| { |
| return "wsilPropertiesContent"; |
| } |
| |
| public final String getPropertiesContentPage() |
| { |
| return "wsil/wsil_properties_content.jsp"; |
| } |
| |
| public final int getPerspectiveId() |
| { |
| return ActionInputs.PERSPECTIVE_WSIL; |
| } |
| } |