/*******************************************************************************
* Copyright (c) 2000-present Liferay, Inc. All rights reserved.
*
* 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; either version 2.1 of the License, or (at your option)
* any later version.
*
* 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.
*
*******************************************************************************/
package com.liferay.ide.service.ui.wizard;
import com.liferay.ide.project.ui.wizard.ValidProjectChecker;
import com.liferay.ide.service.core.operation.INewServiceBuilderDataModelProperties;
import com.liferay.ide.service.core.operation.NewServiceBuilderDataModelProvider;
import com.liferay.ide.service.ui.ServiceUI;
import java.lang.reflect.InvocationTargetException;
import org.eclipse.core.resources.IFile;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.IStructuredSelection;
import org.eclipse.jst.servlet.ui.internal.wizard.NewWebArtifactWizard;
import org.eclipse.osgi.util.NLS;
import org.eclipse.ui.INewWizard;
import org.eclipse.ui.IWorkbench;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider;
/**
* @author Greg Amerson
*/
@SuppressWarnings( "restriction" )
public class NewServiceBuilderWizard extends NewWebArtifactWizard
implements INewWizard, INewServiceBuilderDataModelProperties
{
public static final String ID = "com.liferay.ide.eclipse.portlet.ui.wizard.servicebuilder"; //$NON-NLS-1$
public NewServiceBuilderWizard()
{
this( null );
}
public NewServiceBuilderWizard( IDataModel model )
{
super( model );
setDefaultPageImageDescriptor( getImage() );
}
@Override
protected void doAddPages()
{
addPage( new NewServiceBuilderWizardPage(
getDataModel(), "pageOne", Msgs.newLiferayServiceBuilder, //$NON-NLS-1$
Msgs.createNewServiceBuilderXmlFile ) );
}
@Override
protected IDataModelProvider getDefaultProvider()
{
return new NewServiceBuilderDataModelProvider();
}
protected ImageDescriptor getImage()
{
return ServiceUI.imageDescriptorFromPlugin( ServiceUI.PLUGIN_ID, "/icons/wizban/service_wiz.png" ); //$NON-NLS-1$
}
@Override
protected String getTitle()
{
return Msgs.newServiceBuilder;
}
@Override
public void init( IWorkbench workbench, IStructuredSelection selection )
{
super.init( workbench, selection );
ValidProjectChecker checker = new ValidProjectChecker( ID );
checker.checkValidProjectTypes();
}
@Override
protected void postPerformFinish() throws InvocationTargetException
{
Object file = getDataModel().getProperty( CREATED_SERVICE_FILE );
if( file instanceof IFile )
{
openEditor( (IFile) file );
}
}
private static class Msgs extends NLS
{
public static String createNewServiceBuilderXmlFile;
public static String newLiferayServiceBuilder;
public static String newServiceBuilder;
static
{
initializeMessages( NewServiceBuilderWizard.class.getName(), Msgs.class );
}
}
}