/*******************************************************************************
* Copyright (c) 2006-2010 eBay Inc. All Rights Reserved.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*******************************************************************************/
/**
*
*/
package org.ebayopensource.turmeric.eclipse.services.ui.wizards.pages;
import java.util.List;
import org.ebayopensource.turmeric.common.config.LibraryType;
import org.ebayopensource.turmeric.eclipse.core.model.IParameterElement;
import org.ebayopensource.turmeric.eclipse.core.model.services.ServiceFromTemplateWsdlParamModel.ParameterElement;
import org.ebayopensource.turmeric.eclipse.core.resources.constants.SOAProjectConstants;
import org.ebayopensource.turmeric.eclipse.repositorysystem.core.SOAGlobalRegistryAdapter;
import org.ebayopensource.turmeric.eclipse.ui.views.registry.TypeSelector;
import org.ebayopensource.turmeric.eclipse.ui.wizards.pages.AbstractElementManagementWizardPage;
import org.eclipse.jface.window.Window;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
/**
* The Class DataTypeManagementWizardPage.
*
* @author yayu
*/
public class DataTypeManagementWizardPage extends AbstractElementManagementWizardPage {
/**
* Instantiates a new data type management wizard page.
*
* @param title the title
* @param elements the elements
*/
public DataTypeManagementWizardPage(String title,
List<? extends IParameterElement> elements) {
this(title, elements, 1);
}
/**
* Instantiates a new data type management wizard page.
*
* @param title the title
* @param elements the elements
* @param minimumRequiredElementNum the minimum required element num
*/
public DataTypeManagementWizardPage(String title,
List<? extends IParameterElement> elements,
int minimumRequiredElementNum) {
super("datatypeManagementWizardPage", title,
"Manage elements for the given parameter", elements, minimumRequiredElementNum);
}
/**
* {@inheritDoc}
*/
@Override
public void createControl(Composite parent) {
super.createControl(parent);
dialogChanged();
}
/**
* {@inheritDoc}
*/
@Override
public List<IParameterElement> getElements() {
return this.elements;
}
/**
* {@inheritDoc}
*/
@Override
public String getDefaultValue(Text text) {
return SOAProjectConstants.EMPTY_STRING;
}
/* (non-Javadoc)
* @see org.ebayopensource.turmeric.eclipse.ui.wizards.pages.AbstractElementManagementWizardPage#addPressed()
*/
@Override
protected void addPressed() {
}
/* (non-Javadoc)
* @see org.ebayopensource.turmeric.eclipse.ui.wizards.pages.AbstractElementManagementWizardPage#removePrssed(java.lang.Object)
*/
@Override
protected void removePrssed(Object object) {
}
/* (non-Javadoc)
* @see org.ebayopensource.turmeric.eclipse.ui.wizards.pages.AbstractElementManagementWizardPage#createNewElement(java.lang.String, java.lang.String)
*/
@Override
protected IParameterElement createNewElement(String name, String type) {
return new ParameterElement(name, type);
}
/**
* {@inheritDoc}
*/
@Override
protected Object openTypeSelectorDialog(Shell shell, LibraryType[] libTypes) {
TypeSelector typeSelector = new TypeSelector(shell,
"Select Type", libTypes,
"New Project");
typeSelector.setMultipleSelection(false);
if (typeSelector.open() == Window.OK)
return typeSelector.getFirstResult();
return null;
}
/**
* {@inheritDoc}
*/
@Override
protected List<LibraryType> getSelectedLibraryTypes() throws Exception {
return SOAGlobalRegistryAdapter.getInstance().getGlobalRegistry()
.getAllTypes();
}
}