blob: 1920119e299c86c50b5636d751e67fb261068a70 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2002, 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.uddi.actions;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Vector;
import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListElement;
import org.eclipse.wst.ws.internal.explorer.platform.datamodel.ListManager;
import org.eclipse.wst.ws.internal.explorer.platform.perspective.Controller;
import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormTool;
import org.eclipse.wst.ws.internal.explorer.platform.perspective.FormToolPropertiesInterface;
import org.eclipse.wst.ws.internal.explorer.platform.perspective.Node;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIActionInputs;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.constants.UDDIModelConstants;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.BusinessElement;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.datamodel.RegistryElement;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.MultipleFormToolPropertiesInterface;
import org.eclipse.wst.ws.internal.explorer.platform.uddi.perspective.RegistryNode;
import org.uddi4j.client.UDDIProxy;
import org.uddi4j.response.BusinessInfo;
import org.uddi4j.response.RegisteredInfo;
public abstract class CommonPublisherAssertionsAction extends UDDIPropertiesFormAction
{
protected RegistryNode registryNode_;
protected boolean isLoggedIn_;
public CommonPublisherAssertionsAction(Controller controller)
{
super(controller);
registryNode_ = getRegistryNode();
if (registryNode_ != null)
isLoggedIn_ = ((RegistryElement)registryNode_.getTreeElement()).isLoggedIn();
}
protected void synchronizeUDDIObjectTable() {
String[] selectedBusIds = (String[])propertyTable_.get(UDDIActionInputs.PUBLISHER_ASSERTIONS_SELECTED_BUS_ID);
Node selectedNode = controller_.getUDDIPerspective().getNavigatorManager().getSelectedNode();
FormTool formTool = (FormTool)(selectedNode.getCurrentToolManager().getSelectedTool());
String subQueryKey = (String)formTool.getProperty(UDDIActionInputs.SUBQUERY_KEY);
FormToolPropertiesInterface formToolPI = ((MultipleFormToolPropertiesInterface)formTool).getFormToolProperties(subQueryKey);
Vector businessVector = (Vector)formToolPI.getProperty(UDDIActionInputs.QUERY_INPUT_ADD_PUBLISHER_ASSERTIONS);
ListManager businessCopy = (ListManager)formToolPI.getProperty(UDDIActionInputs.QUERY_INPUT_ADD_PUBLISHER_ASSERTIONS_COPY);
if (selectedBusIds == null || selectedBusIds.length <= 0) {
businessVector.removeAllElements();
businessCopy.clear();
}
Enumeration e = businessCopy.getListElements();
while (e.hasMoreElements()) {
boolean isIdFound = false;
ListElement le = (ListElement)e.nextElement();
int listElementViewId = le.getViewId();
for (int i = 0; i < selectedBusIds.length; i++) {
if (listElementViewId == Integer.parseInt(selectedBusIds[i])) {
isIdFound = true;
break;
}
}
if (!isIdFound)
businessVector.remove(le);
}
}
protected boolean isBusinessOwned(BusinessElement busElement) {
boolean isBusinessOwned = false;
String isBusinessOwnedString = busElement.getPropertyAsString(UDDIModelConstants.IS_BUSINESS_OWNED);
if (isBusinessOwnedString != null) {
isBusinessOwned = Boolean.valueOf(isBusinessOwnedString).booleanValue();
}
else if (isLoggedIn_) {
try {
RegistryElement regElement = (RegistryElement)registryNode_.getTreeElement();
UDDIProxy proxy = regElement.getProxy();
RegisteredInfo ri = proxy.get_registeredInfo(regElement.getAuthInfoString());
Vector beVector = ri.getBusinessInfos().getBusinessInfoVector();
for (Iterator it = beVector.iterator(); it.hasNext();)
{
BusinessInfo bi = (BusinessInfo)it.next();
if (bi.getBusinessKey().equals(busElement.getBusinessEntity().getBusinessKey()))
{
isBusinessOwned = true;
break;
}
}
busElement.setPropertyAsString(UDDIModelConstants.IS_BUSINESS_OWNED, String.valueOf(isBusinessOwned));
}
catch (Exception e) {}
}
return isBusinessOwned;
}
}