Java tutorial
/******************************************************************************* * 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.portlet.vaadin.ui.wizard; import com.liferay.ide.portlet.ui.PortletUIPlugin; import com.liferay.ide.portlet.ui.template.PortletTemplateContextTypeIds; import com.liferay.ide.portlet.ui.wizard.NewLiferayPortletWizardPage; import com.liferay.ide.portlet.ui.wizard.NewPortletWizard; import com.liferay.ide.portlet.vaadin.core.operation.NewVaadinPortletClassDataModelProvider; import com.liferay.ide.portlet.vaadin.ui.VaadinUI; import com.liferay.ide.project.ui.wizard.ValidProjectChecker; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.text.templates.TemplateContextType; import org.eclipse.jface.text.templates.persistence.TemplateStore; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.osgi.util.NLS; import org.eclipse.ui.IWorkbench; import org.eclipse.wst.common.frameworks.datamodel.IDataModel; import org.eclipse.wst.common.frameworks.datamodel.IDataModelOperation; import org.eclipse.wst.common.frameworks.datamodel.IDataModelProvider; /** * @author Henri Sara */ @SuppressWarnings("restriction") public class NewVaadinPortletWizard extends NewPortletWizard { public static final String ID = "com.liferay.ide.eclipse.portlet.vaadin.ui.wizard.portlet"; //$NON-NLS-1$ public NewVaadinPortletWizard() { this(null); } public NewVaadinPortletWizard(IDataModel model) { super(model); } @Override public String getTitle() { return Msgs.newLiferayVaadinPortlet; } @Override protected void doAddPages() { addPage(new NewVaadinApplicationClassWizardPage(getDataModel(), "pageOne", //$NON-NLS-1$ Msgs.createVaadinPortletApplicationClass, getDefaultPageTitle(), fragment)); addPage(new NewVaadinPortletOptionsWizardPage(getDataModel(), "pageTwo", //$NON-NLS-1$ Msgs.specifyVaadinPortletDeployment, getDefaultPageTitle(), fragment)); addPage(new NewLiferayPortletWizardPage(getDataModel(), "pageThree", Msgs.specifyLiferayPortletDeployment, //$NON-NLS-1$ getDefaultPageTitle(), fragment)); } @Override protected String getDefaultPageTitle() { return Msgs.createLiferayVaadinPortlet; } @Override protected IDataModelProvider getDefaultProvider() { // for now, no need for own template store and context type final TemplateStore templateStore = PortletUIPlugin.getDefault().getTemplateStore(); final TemplateContextType contextType = PortletUIPlugin.getDefault().getTemplateContextRegistry() .getContextType(PortletTemplateContextTypeIds.NEW); return new NewVaadinPortletClassDataModelProvider(fragment) { @Override public IDataModelOperation getDefaultOperation() { return new AddVaadinApplicationOperation(this.model, templateStore, contextType); } }; } @Override protected ImageDescriptor getImage() { return ImageDescriptor .createFromURL(VaadinUI.getDefault().getBundle().getEntry("/icons/wizban/vaadin_wiz.png")); //$NON-NLS-1$ } @Override public void init(IWorkbench workbench, IStructuredSelection selection) { getDataModel(); ValidProjectChecker checker = new ValidProjectChecker(ID); checker.checkValidProjectTypes(); } private static class Msgs extends NLS { public static String createLiferayVaadinPortlet; public static String createVaadinPortletApplicationClass; public static String newLiferayVaadinPortlet; public static String specifyLiferayPortletDeployment; public static String specifyVaadinPortletDeployment; static { initializeMessages(NewVaadinPortletWizard.class.getName(), Msgs.class); } } }