com.liferay.ide.project.ui.wizard.PortletPluginFacetInstallPage.java Source code

Java tutorial

Introduction

Here is the source code for com.liferay.ide.project.ui.wizard.PortletPluginFacetInstallPage.java

Source

/*******************************************************************************
 * 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.project.ui.wizard;

import com.liferay.ide.core.util.StringPool;
import com.liferay.ide.project.core.facet.IPluginProjectDataModelProperties;
import com.liferay.ide.project.core.facet.PortletPluginFacetInstallDataModelProvider;
import com.liferay.ide.project.ui.ProjectUI;
import com.liferay.ide.ui.util.SWTUtil;

import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.SWT;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Label;
import org.eclipse.ui.ISharedImages;
import org.eclipse.ui.PlatformUI;
import org.eclipse.wst.common.frameworks.datamodel.DataModelFactory;
import org.eclipse.wst.common.frameworks.datamodel.IDataModel;
import org.eclipse.wst.common.frameworks.internal.datamodel.ui.DataModelWizardPage;
import org.eclipse.wst.common.project.facet.ui.IFacetWizardPage;
import org.eclipse.wst.common.project.facet.ui.IWizardContext;

/**
 * @author Greg Amerson
 */
@SuppressWarnings("restriction")
public class PortletPluginFacetInstallPage extends DataModelWizardPage
        implements IFacetWizardPage, IPluginProjectDataModelProperties {

    public PortletPluginFacetInstallPage() {
        super(DataModelFactory.createDataModel(new PortletPluginFacetInstallDataModelProvider()),
                "portlet.plugin.facet.install.page"); //$NON-NLS-1$

        setImageDescriptor(ImageDescriptor
                .createFromURL(ProjectUI.getDefault().getBundle().getEntry("/icons/wizban/plugin_project.png"))); //$NON-NLS-1$

        setTitle(Msgs.modifyLiferayPluginProject);

        setMessage(Msgs.convertingProjectsNotAvailable, IMessageProvider.WARNING);
    }

    public void setConfig(Object config) {
        model.removeListener(this);

        synchHelper.dispose();

        model = (IDataModel) config;

        model.addListener(this);

        synchHelper = initializeSynchHelper(model);
    }

    public void setWizardContext(IWizardContext context) {
    }

    public void transferStateToConfig() {
    }

    @Override
    protected Composite createTopLevelComposite(Composite parent) {
        Composite topComposite = SWTUtil.createTopComposite(parent, 2);

        Label label = SWTUtil.createLabel(topComposite, StringPool.EMPTY, 1);

        label.setImage(PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJS_INFO_TSK));

        label = SWTUtil.createLabel(topComposite, SWT.WRAP, Msgs.bestWayConvertProject, 1);
        GridData gd = new GridData(SWT.FILL, SWT.TOP, false, false, 1, 1);
        gd.widthHint = 400;

        label.setLayoutData(gd);

        return topComposite;
    }

    @Override
    protected String[] getValidationPropertyNames() {
        return new String[] { LIFERAY_SDK_NAME };
    }

    private static class Msgs extends NLS {
        public static String bestWayConvertProject;
        public static String convertingProjectsNotAvailable;
        public static String modifyLiferayPluginProject;

        static {
            initializeMessages(PortletPluginFacetInstallPage.class.getName(), Msgs.class);
        }
    }
}