blob: b0e86faf3a8c7a54965494e790717fec80016ded [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2001, 2007 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.wsdl.ui.internal.adapters.basic;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.List;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.swt.graphics.Image;
import org.eclipse.wst.wsdl.BindingFault;
import org.eclipse.wst.wsdl.BindingInput;
import org.eclipse.wst.wsdl.BindingOutput;
import org.eclipse.wst.wsdl.ui.internal.WSDLEditorPlugin;
import org.eclipse.wst.wsdl.ui.internal.adapters.WSDLBaseAdapter;
import org.eclipse.wst.wsdl.ui.internal.asd.facade.IBindingMessageReference;
import org.eclipse.wst.wsdl.ui.internal.asd.facade.IMessageReference;
import org.eclipse.wst.wsdl.ui.internal.asd.outline.ITreeElement;
import org.eclipse.wst.wsdl.ui.internal.util.ComponentReferenceUtil;
public class W11BindingMessageReference extends WSDLBaseAdapter implements IBindingMessageReference, ITreeElement
{
public ITreeElement[] getChildren()
{
return ITreeElement.EMPTY_LIST;
}
public boolean hasChildren() {
return false;
}
public ITreeElement getParent() {
return null;
}
public Image getImage()
{
String imageName = null;
if (target instanceof BindingInput)
{
imageName = "icons/input_obj.gif"; //$NON-NLS-1$
}
else if (target instanceof BindingOutput)
{
imageName = "icons/output_obj.gif"; //$NON-NLS-1$
}
else //if (target instanceof BindingFault)
{
imageName = "icons/fault_obj.gif"; //$NON-NLS-1$
}
return WSDLEditorPlugin.getInstance().getImage(imageName);
}
public String getName()
{
String name = null;
if (target instanceof BindingInput)
{
name = ((BindingInput) target).getName();
}
else if (target instanceof BindingOutput)
{
name = ((BindingOutput) target).getName();
}
else if (target instanceof BindingFault)
{
name = ((BindingFault) target).getName();
}
if (name == null) {
name = ""; //$NON-NLS-1$
}
return name;
}
public String getText()
{
String text = ""; //$NON-NLS-1$
if (target instanceof BindingInput)
{
text = "binding input"; //$NON-NLS-1$
}
else if (target instanceof BindingOutput)
{
text = "binding output"; //$NON-NLS-1$
}
else if (target instanceof BindingFault)
{
text = "binding fault"; //$NON-NLS-1$
}
return text;
}
public IMessageReference getMessageReference()
{
EObject resultNotifier = null;
if (target instanceof BindingInput)
{
resultNotifier = ComponentReferenceUtil.computeInput((BindingInput)target);
}
else if (target instanceof BindingOutput)
{
resultNotifier = ComponentReferenceUtil.computeOutput((BindingOutput)target);
}
else if (target instanceof BindingFault)
{
resultNotifier = ComponentReferenceUtil.computeFault((BindingFault)target);
}
return resultNotifier != null ? (IMessageReference)createAdapter(resultNotifier) : null;
}
public List getExtensiblityObjects()
{
return Collections.EMPTY_LIST;
}
public String[] getActions(Object object) {
Collection actionIDs = new ArrayList();
// if (isReadOnly()) {
// actionIDs.add(OpenInNewEditor.ID);
// }
return (String [])actionIDs.toArray(new String[0]);
}
}