net.rim.ejde.internal.ui.wizards.templates.AbstractBBTemplateSection.java Source code

Java tutorial

Introduction

Here is the source code for net.rim.ejde.internal.ui.wizards.templates.AbstractBBTemplateSection.java

Source

/*
* Copyright (c) 2010-2012 Research In Motion Limited. All rights reserved.
*
* This program and the accompanying materials are made available
* under the terms of the Eclipse Public License, Version 1.0,
* which accompanies this distribution and is available at
*
* http://www.eclipse.org/legal/epl-v10.html
*
*/
package net.rim.ejde.internal.ui.wizards.templates;

import java.net.URL;
import java.util.List;
import java.util.Locale;
import java.util.ResourceBundle;

import net.rim.ejde.internal.core.ContextManager;

import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.pde.core.plugin.IPluginModelBase;
import org.eclipse.pde.ui.IFieldData;
import org.eclipse.pde.ui.templates.OptionTemplateSection;
import org.osgi.framework.Bundle;

public abstract class AbstractBBTemplateSection extends OptionTemplateSection {

    public static final String KEY_CLASS_NAME = "appClassName"; //$NON-NLS-1$

    public AbstractBBTemplateSection() {
    }

    public String[] getNewFiles() {
        return new String[0];
    }

    protected URL getInstallURL() {
        return ContextManager.PLUGIN.getInstallURL();
    }

    protected void initializeFields(IFieldData data) {
        // do nothing
    }

    public String getUsedExtensionPoint() {
        return "org.eclipse.ui.actionSets"; //$NON-NLS-1$
    }

    protected String getTemplateDirectory() {
        return "templates"; //$NON-NLS-1$
    }

    public void updateModel(IProgressMonitor monitor) throws CoreException {
        // do nothing
    }

    public void initializeFields(IPluginModelBase model) {
        // do nothing
    }

    public boolean isDependentOnParentWizard() {
        return true;
    }

    protected String getFormattedPackageName(String id) {
        StringBuffer buffer = new StringBuffer();
        for (int i = 0; i < id.length(); i++) {
            char ch = id.charAt(i);
            if (buffer.length() == 0) {
                if (Character.isJavaIdentifierStart(ch))
                    buffer.append(Character.toLowerCase(ch));
            } else {
                if (Character.isJavaIdentifierPart(ch) || ch == '.')
                    buffer.append(ch);
            }
        }
        return buffer.toString().toLowerCase(Locale.ENGLISH);
    }

    protected ResourceBundle getPluginResourceBundle() {
        Bundle bundle = Platform.getBundle(ContextManager.PLUGIN_ID);
        return Platform.getResourceBundle(bundle);
    }

    /**
     * Update the wizard page error message.
     *
     * @param page
     *            The wizard page
     * @param names
     *            The component name with error
     * @param status
     *            The error status
     */
    protected void updateStatus(WizardPage page, List<String> names, IStatus status) {
        if (status.getSeverity() == IStatus.ERROR) {
            page.setPageComplete(false);
            IStatus[] children = status.getChildren();
            for (int i = 0; i < children.length; i++) {
                if (children[i].getSeverity() == IStatus.ERROR) {
                    if (names.get(i).length() > 0) {
                        page.setMessage(names.get(i) + ": " + children[i].getMessage(), IMessageProvider.ERROR);
                    } else {
                        page.setMessage(children[i].getMessage(), IMessageProvider.ERROR);
                    }
                    break;
                }
            }
        } else if (status.getSeverity() == IStatus.WARNING) {
            page.setPageComplete(true);
            IStatus[] children = status.getChildren();
            for (int i = 0; i < children.length; i++) {
                if (children[i].getSeverity() == IStatus.WARNING) {
                    if (names.get(i).length() > 0) {
                        page.setMessage(names.get(i) + ": " + children[i].getMessage(), IMessageProvider.WARNING);
                    } else {
                        page.setMessage(children[i].getMessage(), IMessageProvider.ERROR);
                    }
                    break;
                }
            }
        } else {
            page.setPageComplete(true);
            page.setMessage(null);
        }
    }
}