Commit 6b336611 authored by Elias Ricken de Medeiros's avatar Elias Ricken de Medeiros Committed by Romain Bioteau

BS-8883, add drop down list for custom user info filter

parent 5034ab8c
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="src-test/java"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="output" path="bin"/>
</classpath>
......@@ -48,7 +48,8 @@ Require-Bundle: org.eclipse.core.runtime,
org.bonitasoft.studio.refactoring;bundle-version="6.3.0",
assertj-core;bundle-version="1.5.0";resolution:=optional,
org.junit;bundle-version="4.11.0";resolution:=optional,
org.mockito;bundle-version="1.9.5";resolution:=optional
org.mockito;bundle-version="1.9.5";resolution:=optional,
org.bonitasoft.studio.expression.editor
Bundle-ActivationPolicy: lazy
Import-Package: org.bonitasoft.engine.api,
org.bonitasoft.engine.bpm,
......@@ -58,5 +59,6 @@ Import-Package: org.bonitasoft.engine.api,
org.bonitasoft.engine.identity,
org.bonitasoft.engine.profile,
org.bonitasoft.engine.search,
org.bonitasoft.engine.session
org.bonitasoft.engine.session,
org.bonitasoft.studio.expression.editor.filter
Bundle-Activator: org.bonitasoft.studio.actors.ActorsPlugin
......@@ -27,3 +27,4 @@ bin.includes = .,\
jars.compile.order = .
source.. = src/
output.. = bin/
src.excludes=src-test/java
\ No newline at end of file
......@@ -220,4 +220,6 @@ importOrganizationCancelledTitle=Import cancelled
importSuccessfulTitle=Import successful
importSuccessfulMsg=Import operation successful
importFailedTitle=Import failed
importFailedMsg=Import has failed.\n{0}
\ No newline at end of file
importFailedMsg=Import has failed.\n{0}
actorFilterWizardTitle=Configure actor filter "{0}" ({1})
actorFilterWizardMessage=Enter generic information for this actor filter configuration
\ No newline at end of file
......@@ -308,5 +308,17 @@
class="org.bonitasoft.studio.actors.action.PublishActiveOrganizationAction">
</action>
</extension>
<extension
point="org.bonitasoft.studio.connectors.connectorWizard">
<connectorWizard
DefinitionId="custom-user-info"
priority="5"
useDefaultGeneratedPages="false"
useDefaultOutputPage="true">
<configurationPage
page="org.bonitasoft.studio.actors.ui.wizard.connector.CustomUserInfoConnectorConfigurationWizardPage">
</configurationPage>
</connectorWizard>
</extension>
</plugin>
package org.bonitasoft.studio.actors.ui.wizard.connector;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.BDDMockito.given;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import org.bonitasoft.studio.actors.model.organization.CustomUserInfoDefinition;
import org.bonitasoft.studio.actors.model.organization.CustomUserInfoDefinitions;
import org.bonitasoft.studio.actors.model.organization.Organization;
import org.bonitasoft.studio.actors.repository.OrganizationFileStore;
import org.bonitasoft.studio.actors.repository.OrganizationRepositoryStore;
import org.bonitasoft.studio.model.expression.Expression;
import org.eclipse.emf.common.util.BasicEList;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.Mock;
import org.mockito.runners.MockitoJUnitRunner;
@RunWith(MockitoJUnitRunner.class)
public class CustomUserInfoNameExpressionProviderTest {
private static final String ACME = "ACME.organization";
@Mock
private OrganizationRepositoryStore repoStore;
@Mock
private OrganizationFileStore fileStore;
private CustomUserInfoNameExpressionProvider provider;
@Mock
private Organization organization;
@Mock
private CustomUserInfoDefinitions definitionsContainer;
@Before
public void setUp() throws Exception {
provider = new CustomUserInfoNameExpressionProvider(repoStore, ACME);
when(repoStore.getChild(ACME)).thenReturn(fileStore);
when(fileStore.getContent()).thenReturn(organization);
given(organization.getCustomUserInfoDefinitions()).willReturn(definitionsContainer);
}
@Test
public void getExpressions_return_empty_array_if_customUserDefition_container_is_null() throws Exception {
given(organization.getCustomUserInfoDefinitions()).willReturn(null);
//when
Expression[] expressions = provider.getExpressions();
//then
assertThat(expressions).isEmpty();
}
@Test
public void getExpressions_return_empty_array_if_customUserDefition_container_is_empty() throws Exception {
BasicEList<CustomUserInfoDefinition> elements = new BasicEList<CustomUserInfoDefinition>();
given(definitionsContainer.getCustomUserInfoDefinition()).willReturn(elements);
//when
Expression[] expressions = provider.getExpressions();
//then
assertThat(expressions).isEmpty();
}
@Test
public void getExpressions_return_one_expression_for_each_customUserDefition() throws Exception {
BasicEList<CustomUserInfoDefinition> elements = new BasicEList<CustomUserInfoDefinition>();
elements.add(getUserDefinition("Skills"));
elements.add(getUserDefinition("Office location"));
given(definitionsContainer.getCustomUserInfoDefinition()).willReturn(elements);
//when
Expression[] expressions = provider.getExpressions();
//then
assertThat(expressions).hasSize(2);
assertThat(expressions[0].getContent()).isEqualTo("Skills");
assertThat(expressions[1].getContent()).isEqualTo("Office location");
}
private CustomUserInfoDefinition getUserDefinition(String name) {
CustomUserInfoDefinition userInfoDefinition = mock(CustomUserInfoDefinition.class);
when(userInfoDefinition.getName()).thenReturn(name);
return userInfoDefinition;
}
}
......@@ -245,6 +245,8 @@ public class Messages extends NLS {
public static String importSuccessfulMsg;
public static String importFailedTitle;
public static String importFailedMsg;
public static String actorFilterWizardTitle;
public static String actorFilterWizardMessage;
......
......@@ -29,6 +29,7 @@ import org.bonitasoft.studio.common.repository.model.IRepositoryStore;
import org.bonitasoft.studio.connector.model.definition.ConnectorDefinition;
import org.bonitasoft.studio.connector.model.definition.IConnectorDefinitionContainer;
import org.bonitasoft.studio.connector.model.definition.IDefinitionRepositoryStore;
import org.bonitasoft.studio.connector.model.definition.wizard.SelectNameAndDescWizardPage;
import org.bonitasoft.studio.connector.model.i18n.DefinitionResourceProvider;
import org.bonitasoft.studio.connector.model.implementation.ConnectorImplementation;
import org.bonitasoft.studio.connector.model.implementation.wizard.AbstractDefinitionSelectionImpementationWizardPage;
......@@ -39,6 +40,7 @@ import org.bonitasoft.studio.model.process.Connector;
import org.bonitasoft.studio.model.process.ProcessFactory;
import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.EStructuralFeature;
import org.eclipse.jface.wizard.IWizardPage;
/**
* @author Romain Bioteau
......@@ -93,4 +95,20 @@ public class FilterWizard extends ConnectorWizard implements IConnectorDefinitio
protected AbstractDefinitionSelectionImpementationWizardPage getSelectionPage(Connector connectorWorkingCopy, DefinitionResourceProvider resourceProvider) {
return new SelectAdvancedFilterDefinitionWizardPage(connectorWorkingCopy, Collections.<ConnectorImplementation>emptyList(), definitions, Messages.selectFilterDefinitionTitle, Messages.selectFilterDefinitionDesc, resourceProvider);
}
@Override
public IWizardPage getNextPage(IWizardPage page) {
IWizardPage p = super.getNextPage(page);
if(p instanceof SelectNameAndDescWizardPage){
ConnectorDefinition def = selectionPage.getSelectedConnectorDefinition();
String connectorDefinitionLabel = messageProvider.getConnectorDefinitionLabel(def);
if (connectorDefinitionLabel == null && def != null) {
connectorDefinitionLabel = def.getId();
}
p.setTitle(Messages.bind(Messages.actorFilterWizardTitle,connectorDefinitionLabel,connectorWorkingCopy.getDefinitionVersion()));
p.setDescription(Messages.actorFilterWizardMessage);
}
return p;
}
}
/**
* Copyright (C) 2014 BonitaSoft S.A.
* BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
**/
package org.bonitasoft.studio.actors.ui.wizard.connector;
import org.bonitasoft.studio.actors.preference.ActorsPreferenceConstants;
import org.bonitasoft.studio.actors.repository.OrganizationRepositoryStore;
import org.bonitasoft.studio.common.log.BonitaStudioLog;
import org.bonitasoft.studio.common.repository.RepositoryManager;
import org.bonitasoft.studio.connector.model.definition.Component;
import org.bonitasoft.studio.connector.model.definition.Input;
import org.bonitasoft.studio.connector.model.definition.Page;
import org.bonitasoft.studio.connector.model.definition.Text;
import org.bonitasoft.studio.connector.model.definition.wizard.AbstractConnectorConfigurationWizardPage;
import org.bonitasoft.studio.connector.model.definition.wizard.PageComponentSwitch;
import org.bonitasoft.studio.expression.editor.viewer.ExpressionViewer;
import org.bonitasoft.studio.model.connectorconfiguration.ConnectorConfigurationPackage;
import org.bonitasoft.studio.model.connectorconfiguration.ConnectorParameter;
import org.bonitasoft.studio.preferences.BonitaStudioPreferencesPlugin;
import org.eclipse.emf.databinding.EMFDataBindingContext;
import org.eclipse.emf.databinding.EMFObservables;
import org.eclipse.jface.databinding.viewers.ViewersObservables;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.swt.SWT;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Control;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.forms.widgets.Section;
/**
* @author Elias Ricken de Medeiros
*
*/
public class CustomUserInfoConnectorConfigurationWizardPage extends AbstractConnectorConfigurationWizardPage {
private PageComponentSwitch componentSwitch;
public CustomUserInfoConnectorConfigurationWizardPage() {
super(CustomUserInfoConnectorConfigurationWizardPage.class.getName());
}
@Override
protected Control doCreateControl(Composite parent, EMFDataBindingContext context) {
final Composite mainComposite = new Composite(parent, SWT.NONE) ;
mainComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create());
mainComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(1).margins(0, 0).spacing(0, 0).create());
final Composite pageComposite = new Composite(mainComposite, SWT.NONE) ;
pageComposite.setLayout(GridLayoutFactory.fillDefaults().numColumns(2).margins(10, 10).spacing(3, 10).create());
pageComposite.setLayoutData(GridDataFactory.fillDefaults().grab(true, true).create());
final Page page = getPage() ;
final PageComponentSwitch componentSwitch = getPageComponentSwitch(context, pageComposite) ;
componentSwitch.setIsPageFlowContext(isPageFlowContext());
for(Component component : page.getWidget()){
if(component.getId().equals("customUserInfoName")){
createCustomExpressionViewerWithCustomInfo(pageComposite,(Text) component,context);
}else{
componentSwitch.doSwitch(component) ;
}
}
for(Section section : componentSwitch.getSectionsToExpand()){
section.setExpanded(true) ;
}
return mainComposite ;
}
private void createCustomExpressionViewerWithCustomInfo(Composite composite, Text object, EMFDataBindingContext context) {
final Input input = getInput(object.getInputName()) ;
if(input != null){
final ConnectorParameter parameter = getConnectorParameter(input) ;
if(parameter != null){
final Label fieldLabel = new Label(composite, SWT.NONE);
if(object.getId() != null){
String label = getLabel(object.getId()) ;
if(input.isMandatory()){
label = label + " *" ;
}
fieldLabel.setText(label) ;
}
fieldLabel.setLayoutData(GridDataFactory.fillDefaults().align(SWT.END, SWT.CENTER).create()) ;
final ExpressionViewer viewer = new ExpressionViewer(composite,SWT.BORDER, ConnectorConfigurationPackage.Literals.CONNECTOR_PARAMETER__EXPRESSION) ;
viewer.setIsPageFlowContext(false);
viewer.getControl().setLayoutData(GridDataFactory.fillDefaults().grab(true, false).create()) ;
OrganizationRepositoryStore store = RepositoryManager.getInstance().getRepositoryStore(OrganizationRepositoryStore.class);
String activeOrganization = BonitaStudioPreferencesPlugin.getDefault().getPreferenceStore().getString(ActorsPreferenceConstants.DEFAULT_ORGANIZATION) ;
String fileName = activeOrganization + "." + OrganizationRepositoryStore.ORGANIZATION_EXT;
viewer.setExpressionNatureProvider(new CustomUserInfoNameExpressionProvider(store, fileName));
viewer.setContext(getElementContainer());
if(input.isMandatory()){
viewer.setMandatoryField(getLabel(object.getId()),context) ;
}
viewer.addFilter(getExpressionTypeFilter());
viewer.setInput(parameter) ;
context.bindValue(ViewersObservables.observeSingleSelection(viewer), EMFObservables.observeValue(parameter, ConnectorConfigurationPackage.Literals.CONNECTOR_PARAMETER__EXPRESSION));
}
} else {
//Should we create a label to warn final user?
BonitaStudioLog.log("WARNING: No input found with name "+object.getInputName());
}
}
protected String getLabel(String inputName) {
String label = getMessageProvider().getFieldLabel(getDefinition(), inputName) ;
if(label == null){
label = "" ;
}
return label ;
}
protected PageComponentSwitch getPageComponentSwitch(
EMFDataBindingContext context, final Composite pageComposite) {
if(componentSwitch == null){
componentSwitch = new PageComponentSwitch(getContainer(),pageComposite,getElementContainer(),getDefinition(),getConfiguration(),context,getMessageProvider(),getExpressionTypeFilter());
}
return componentSwitch;
}
}
/**
* Copyright (C) 2014 BonitaSoft S.A.
* BonitaSoft, 32 rue Gustave Eiffel - 38000 Grenoble
* This library is free software; you can redistribute it and/or modify it under the terms
* of the GNU Lesser General Public License as published by the Free Software Foundation
* version 2.1 of the License.
* This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU Lesser General Public License for more details.
* You should have received a copy of the GNU Lesser General Public License along with this
* program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
* Floor, Boston, MA 02110-1301, USA.
**/
package org.bonitasoft.studio.actors.ui.wizard.connector;
import java.util.ArrayList;
import java.util.List;
import org.bonitasoft.studio.actors.model.organization.CustomUserInfoDefinition;
import org.bonitasoft.studio.actors.model.organization.CustomUserInfoDefinitions;
import org.bonitasoft.studio.actors.model.organization.Organization;
import org.bonitasoft.studio.actors.repository.OrganizationFileStore;
import org.bonitasoft.studio.actors.repository.OrganizationRepositoryStore;
import org.bonitasoft.studio.common.emf.tools.ExpressionHelper;
import org.bonitasoft.studio.expression.editor.provider.IExpressionNatureProvider;
import org.bonitasoft.studio.model.expression.Expression;
import org.eclipse.emf.common.util.EList;
import org.eclipse.emf.ecore.EObject;
/**
* @author Elias Ricken de Medeiros
*
*/
public class CustomUserInfoNameExpressionProvider implements IExpressionNatureProvider {
private OrganizationRepositoryStore store;
private String activeOrgFileName;
public CustomUserInfoNameExpressionProvider(OrganizationRepositoryStore store, String activeOrgFileName) {
this.store = store;
this.activeOrgFileName = activeOrgFileName;
}
@Override
public void setContext(EObject context) {
}
@Override
public Expression[] getExpressions() {
OrganizationFileStore organizationFileStore = store.getChild(activeOrgFileName);
Organization organization = organizationFileStore.getContent();
CustomUserInfoDefinitions infoDefContainer = organization.getCustomUserInfoDefinitions();
return getExpressions(infoDefContainer);
}
private Expression[] getExpressions(CustomUserInfoDefinitions infoDefContainer) {
List<Expression> exprList = new ArrayList<Expression>();
if(infoDefContainer != null) {
EList<CustomUserInfoDefinition> infoDefElements = infoDefContainer.getCustomUserInfoDefinition();
for (CustomUserInfoDefinition infoDefinition : infoDefElements) {
exprList.add(ExpressionHelper.createConstantExpression(infoDefinition.getName(), String.class.getName()));
}
}
return exprList.toArray(new Expression[exprList.size()]);
}
@Override
public EObject getContext() {
return null;
}
}
......@@ -245,7 +245,11 @@ public class ConnectorWizard extends ExtensibleWizard implements IConnectorDefin
selectionPage = getSelectionPage(connectorWorkingCopy, messageProvider);
addPage(selectionPage);
}
addNameAndDescriptionPage();
IWizardPage nameAndDescriptionPage = getNameAndDescriptionPage();
if(nameAndDescriptionPage != null){
addPage(nameAndDescriptionPage);
}
if (editMode) {
final IDefinitionRepositoryStore definitionStore = getDefinitionStore();
final ConnectorDefinition definition = definitionStore.getDefinition(connectorWorkingCopy.getDefinitionId(),
......@@ -320,13 +324,13 @@ public class ConnectorWizard extends ExtensibleWizard implements IConnectorDefin
Messages.selectConnectorDefinitionTitle, Messages.selectConnectorDefinitionDesc, resourceProvider);
}
protected void addNameAndDescriptionPage() {
protected IWizardPage getNameAndDescriptionPage() {
if (useEvents) {
namePage = new SelectEventConnectorNameAndDescWizardPage(container, connectorWorkingCopy, originalConnector, featureToCheckForUniqueID);
} else {
namePage = new SelectNameAndDescWizardPage(container, connectorWorkingCopy, originalConnector, featureToCheckForUniqueID);
}
addPage(namePage);
return namePage;
}
protected void setUseEvents(boolean useEvents) {
......
......@@ -80,13 +80,9 @@ public class EditConnectorConfigurationWizard extends ConnectorWizard {
return super.getNextPage(page);
}
/*
* (non-Javadoc)
* @see org.bonitasoft.studio.connectors.ui.wizard.ConnectorWizard#addNameAndDescriptionPage()
*/
@Override
protected void addNameAndDescriptionPage() {
protected IWizardPage getNameAndDescriptionPage() {
return null;
}
/*
......
......@@ -44,117 +44,117 @@ import org.eclipse.swt.widgets.Display;
public class TestConnectorWizard extends ConnectorWizard {
public TestConnectorWizard(){
super((EObject)null, null, null);
setForcePreviousAndNextButtons(true);
setWindowTitle(Messages.testConnectorTitle);
}
@Override
protected void initializeContainment() {
//KEEP IT EMPTY
}
@Override
protected void addOuputPage(ConnectorDefinition definition) {
if(!definition.getOutput().isEmpty()){
AbstractConnectorOutputWizardPage outputPage = null;
if(supportsDatabaseOutputMode(definition)){
outputPage = new TestDatabaseConnectorOutputWizardPage();
}else{
outputPage = new TestConnectorOutputWizardPage() ;
createDefaultOutputs(definition) ;
}
outputPage.setElementContainer(container) ;
outputPage.setConnector(connectorWorkingCopy) ;
outputPage.setDefinition(definition) ;
addAdditionalPage(outputPage) ;
}
}
@Override
protected void addNameAndDescriptionPage() {
//KEEP IT EMPTY
}
@Override
protected IWizardPage getOutputPageFor(ConnectorDefinition definition) {
return null;
}
@Override
protected void clearConnectorConfiguration(ConnectorDefinition definition) {
ConnectorConfiguration configuration = connectorWorkingCopy.getConfiguration() ;
configuration.getParameters().clear() ;
}
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
@Override
public boolean performFinish() {
final ConnectorConfiguration configuration = connectorWorkingCopy.getConfiguration();
final String defId = connectorWorkingCopy.getDefinitionId() ;
final String defVersion = connectorWorkingCopy.getDefinitionVersion() ;
return TestConnectorUtil.testConnectorWithConfiguration(configuration, defId, defVersion, connectorWorkingCopy, getShell(), getContainer());
}
protected ConnectorImplementation openImplementationSelection(String defId, String defVersion) {
SelectConnectorImplementationWizard wizard = new SelectConnectorImplementationWizard(defId,defVersion) ;
WizardDialog dialog = new WizardDialog(Display.getDefault().getActiveShell(),wizard ) ;
if(dialog.open() == Dialog.OK){
return wizard.getConnectorImplementation() ;
}
return null;
}
protected IImplementationRepositoryStore getImplementationStore() {
return (IImplementationRepositoryStore) RepositoryManager.getInstance().getRepositoryStore(ConnectorImplRepositoryStore.class);
}
@Override
public Connector getOriginalConnector() {
return null;
}
@Override
public ConnectorDefinition getDefinition() {
ConnectorDefRepositoryStore defStore = (ConnectorDefRepositoryStore) RepositoryManager.getInstance().getRepositoryStore(ConnectorDefRepositoryStore.class) ;
if(connectorWorkingCopy.getDefinitionId() != null && !connectorWorkingCopy.getDefinitionId().isEmpty()){
return defStore.getDefinition(connectorWorkingCopy.getDefinitionId(), connectorWorkingCopy.getDefinitionVersion()) ;
}
return null;
}
@Override
public IWizardPage getNextPage(IWizardPage page) {
if(page.equals(selectionPage)){
ConnectorDefinition definition = selectionPage.getSelectedConnectorDefinition();
if(definition !=null){
checkDefinitionDependencies(definition) ;
extension = findCustomWizardExtension(definition) ;
recreateConnectorConfigurationPages(definition,false);
}
}
List<IWizardPage> pages = getAllPageList() ;
int index = pages.indexOf(page);
if (index == pages.size() - 1 || index == -1) {
// last page or page not found
return null;
}
return pages.get(index + 1);
}
@Override
public boolean isEditMode() {
return false;
}
public TestConnectorWizard(){
super((EObject)null, null, null);
setForcePreviousAndNextButtons(true);
setWindowTitle(Messages.testConnectorTitle);
}
@Override
protected void initializeContainment() {
//KEEP IT EMPTY
}
@Override
protected void addOuputPage(ConnectorDefinition definition) {
if(!definition.getOutput().isEmpty()){
AbstractConnectorOutputWizardPage outputPage = null;
if(supportsDatabaseOutputMode(definition)){
outputPage = new TestDatabaseConnectorOutputWizardPage();
}else{
outputPage = new TestConnectorOutputWizardPage() ;
createDefaultOutputs(definition) ;
}
outputPage.setElementContainer(container) ;
outputPage.setConnector(connectorWorkingCopy) ;
outputPage.setDefinition(definition) ;
addAdditionalPage(outputPage) ;
}
}
@Override
protected IWizardPage getNameAndDescriptionPage() {
return null;
}
@Override
protected IWizardPage getOutputPageFor(ConnectorDefinition definition) {
return null;
}
@Override
protected void clearConnectorConfiguration(ConnectorDefinition definition) {
ConnectorConfiguration configuration = connectorWorkingCopy.getConfiguration() ;
configuration.getParameters().clear() ;
}
/* (non-Javadoc)
* @see org.eclipse.jface.wizard.Wizard#performFinish()
*/
@Override