blob: 838b2adbacd9bcf4a8599b2fcf495c32a8a81859 [file] [log] [blame]
/***********************************************************************************************************************
* Copyright (c) 2010 Attensity Europe GmbH.
* 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
**********************************************************************************************************************/
package org.eclipse.smila.processing.designer.ui.factories;
import org.eclipse.bpel.ui.factories.AbstractUIObjectFactory;
import org.eclipse.bpel.ui.factories.IExtensionUIObjectFactory;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.smila.processing.designer.model.processor.InvokeService;
import org.eclipse.smila.processing.designer.model.processor.ProcessorPackage;
import org.eclipse.smila.processing.designer.ui.Activator;
import org.eclipse.smila.processing.designer.ui.SMILADesignerUIConstants;
import org.eclipse.swt.graphics.Image;
/**
* Offers the UI objects for the "invoke service" activity.
*
* Copyright (c) 2010 Attensity Europe GmbH
*
* @author Tobias Liefke
*/
public class InvokeServiceUIFactory extends AbstractUIObjectFactory implements IExtensionUIObjectFactory
{
private EClass modelType;
private EClass[] classArray = {ProcessorPackage.eINSTANCE.getInvokeService()};
/**
* Creates a new instance of InvokePipeletUIFactory.
*/
public InvokeServiceUIFactory()
{
// Empty constructor
}
/**
* Creates a new instance of InvokePipeletUIFactory for the given class.
*
* @param modelType
*/
public InvokeServiceUIFactory(EClass modelType)
{
this.modelType = modelType;
}
@Override
public Image getLargeImage()
{
return Activator.getDefault().getImageRegistry().get(SMILADesignerUIConstants.INVOKE_SERVICE_ICON_20);
}
@Override
public ImageDescriptor getLargeImageDescriptor()
{
return Activator.getDefault().getImageDescriptor(SMILADesignerUIConstants.INVOKE_SERVICE_ICON_20);
}
@Override
public EClass getModelType()
{
return this.modelType;
}
@Override
public Image getSmallImage()
{
return Activator.getDefault().getImageRegistry().get(SMILADesignerUIConstants.INVOKE_SERVICE_ICON_16);
}
@Override
public ImageDescriptor getSmallImageDescriptor()
{
return Activator.getDefault().getImageDescriptor(SMILADesignerUIConstants.INVOKE_SERVICE_ICON_16);
}
@Override
public String getTypeLabel()
{
return getModelType().getName();
}
@Override
public EClass[] getClassArray()
{
return this.classArray;
}
@Override
public void setModelType(EClass modelType)
{
this.modelType = modelType;
}
/**
* Initialize created objects.
*
* @see org.eclipse.bpel.ui.factories.AbstractUIObjectFactory#createInstance()
*/
@Override
public <T extends EObject> T createInstance()
{
T instance = super.createInstance();
InvokeService service = (InvokeService) instance;
service.getVariables().setInput("request");
service.getVariables().setOutput("request");
return instance;
}
}