blob: 22b34b0b93881ddd4a1485ffa7fc24fcd0be06b2 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2004 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.constants.*;
import org.eclipse.wst.ws.internal.explorer.platform.datamodel.*;
import org.eclipse.wst.ws.internal.explorer.platform.engine.transformer.ITransformer;
import org.eclipse.wst.ws.internal.explorer.platform.perspective.*;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.actions.RegFindBusinessUUIDAction;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
import org.eclipse.wst.ws.internal.explorer.platform.wsil.constants.*;
import org.eclipse.wst.ws.internal.explorer.platform.wsil.datamodel.*;
import org.eclipse.wst.ws.internal.explorer.platform.wsil.perspective.WSILPerspective;
import org.eclipse.wst.ws.internal.explorer.platform.wsil.transformer.WSILViewSelectionTransformer;
import java.util.Hashtable;
public class AddBusinessToUDDIPerspectiveAction extends AddToUDDIPerspectiveAction
{
public AddBusinessToUDDIPerspectiveAction(Controller controller)
{
super(controller);
}
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_, WsilModelConstants.LIST_MANAGER_UDDI_LINKS, ActionInputs.VIEWID, WSILViewSelectionTransformer.UDDI_BUSINESS);
return transformers;
}
public boolean executeSingleLinkAction()
{
int nodeID = Integer.parseInt((String) propertyTable_.get(ActionInputs.NODEID));
int viewID = Integer.parseInt((String) propertyTable_.get(ActionInputs.VIEWID));
WSILPerspective wsilPerspective = controller_.getWSILPerspective();
Node selectedNode = wsilPerspective.getNodeManager().getNode(nodeID);
TreeElement selectedElement = selectedNode.getTreeElement();
String inquiryURL = null;
String businessKey = null;
String businessName = null;
if (selectedElement instanceof WsilElement)
{
ListElement le = ((WsilElement) selectedElement).getAllUDDILinks().getElementWithViewId(viewID);
WsilUddiBusinessElement wsilUddiBusinessElement = (WsilUddiBusinessElement) le.getObject();
inquiryURL = wsilUddiBusinessElement.getUDDILinkInquiryAPI();
businessKey = wsilUddiBusinessElement.getUDDILinkBusinessKey();
businessName = wsilUddiBusinessElement.getName();
if (businessName == null)
businessName = businessKey;
}
else
return false;
// return false if unable to find or create a registry node/element in the
// UDDI perspective
if (!createRegistryInUDDIPerspective(inquiryURL, null, inquiryURL))
{
wsilPerspective.getMessageQueue().addMessage(wsilPerspective.getMessage("MSG_ERROR_ADD_TO_UDDI_PERSPECTIVE", businessName));
return false;
}
// prepare the action
RegFindBusinessUUIDAction action = new RegFindBusinessUUIDAction(controller_);
// populate property table
Hashtable propertyTable = action.getPropertyTable();
propertyTable.put(UDDIActionInputs.QUERY_INPUT_UUID_BUSINESS_KEY, businessKey);
propertyTable.put(UDDIActionInputs.QUERY_NAME, businessName);
// run the action
if (!action.run())
{
wsilPerspective.getMessageQueue().addMessage(wsilPerspective.getMessage("MSG_ERROR_BUSINESS_NOT_FOUND", businessName));
return false;
}
else
{
wsilPerspective.getMessageQueue().addMessage(wsilPerspective.getMessage("MSG_INFO_ADD_TO_UDDI_PERSPECTIVE_SUCCESSFUL", businessName));
return true;
}
}
}