/*********************************************************************************************************************** | |
* 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; | |
} | |
} |