blob: 371ea7fb1eb5ad7f38bdfc203ecf39548c4a02f4 [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.*;
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 pipelet" activity.
*
* Copyright (c) 2010 Attensity Europe GmbH
*
* @author Tobias Liefke
*/
public class InvokePipeletUIFactory extends AbstractUIObjectFactory implements IExtensionUIObjectFactory {
private EClass modelType;
private EClass[] classArray = { ProcessorPackage.eINSTANCE.getInvokePipelet() };
/**
* Creates a new instance of InvokePipeletUIFactory.
*/
public InvokePipeletUIFactory() {
// Empty constructor
}
/**
* Creates a new instance of InvokePipeletUIFactory for the given class.
*
* @param modelType
*/
public InvokePipeletUIFactory(EClass modelType) {
this.modelType = modelType;
}
@Override
public Image getLargeImage() {
return Activator.getDefault().getImageRegistry().get(SMILADesignerUIConstants.INVOKE_PIPELET_ICON_20);
}
@Override
public ImageDescriptor getLargeImageDescriptor() {
return Activator.getDefault().getImageDescriptor(SMILADesignerUIConstants.INVOKE_PIPELET_ICON_20);
}
@Override
public EClass getModelType() {
return this.modelType;
}
@Override
public Image getSmallImage() {
return Activator.getDefault().getImageRegistry().get(SMILADesignerUIConstants.INVOKE_PIPELET_ICON_16);
}
@Override
public ImageDescriptor getSmallImageDescriptor() {
return Activator.getDefault().getImageDescriptor(SMILADesignerUIConstants.INVOKE_PIPELET_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();
InvokePipelet pipelet = (InvokePipelet) instance;
pipelet.setPipelet(ProcessorFactory.eINSTANCE.createPipelet());
pipelet.setVariables(ProcessorFactory.eINSTANCE.createVariables());
pipelet.getVariables().setInput("request");
pipelet.getVariables().setOutput("request");
pipelet.setConfiguration(ProcessorFactory.eINSTANCE.createConfiguration());
return instance;
}
}