org.symbian.tools.wrttools/src/org/symbian/tools/wrttools/core/ProjectTemplate.java
author Eugene Ostroukhov <eugeneo@symbian.org>
Wed, 14 Jul 2010 16:18:46 -0700
changeset 448 4bb763ad2b12
parent 439 57fff6202b74
permissions -rw-r--r--
Bug 3251 - phonegap project - Vibrate text overflows button size
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     1
/*******************************************************************************
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     2
 * Copyright (c) 2009 Symbian Foundation and/or its subsidiary(-ies).
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     3
 * All rights reserved.
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     4
 * This component and the accompanying materials are made available
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     5
 * under the terms of the License "Eclipse Public License v1.0"
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     6
 * which accompanies this distribution, and is available
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     7
 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     8
 *
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
     9
 * Initial Contributors:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    10
 * Symbian Foundation - initial contribution.
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    11
 * Contributors:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    12
 * Description:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    13
 * Overview:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    14
 * Details:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    15
 * Platforms/Drives/Compatibility:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    16
 * Assumptions/Requirement/Pre-requisites:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    17
 * Failures and causes:
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    18
 **/
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    19
package org.symbian.tools.wrttools.core;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    20
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    21
import java.net.URL;
309
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
    22
import java.util.Arrays;
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
    23
import java.util.HashSet;
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
    24
import java.util.Set;
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
    25
import java.util.TreeSet;
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    26
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    27
import org.eclipse.core.databinding.DataBindingContext;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    28
import org.eclipse.core.runtime.CoreException;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    29
import org.eclipse.core.runtime.IConfigurationElement;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    30
import org.eclipse.core.runtime.IExtensionPoint;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    31
import org.eclipse.core.runtime.Platform;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    32
import org.eclipse.jface.resource.ImageDescriptor;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    33
import org.eclipse.swt.graphics.Image;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    34
import org.osgi.framework.Bundle;
309
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
    35
import org.symbian.tools.wrttools.Activator;
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
    36
import org.symbian.tools.wrttools.core.libraries.JSLibrary;
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    37
import org.symbian.tools.wrttools.wizards.IWizardPageFactory;
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    38
import org.symbian.tools.wrttools.wizards.WRTProjectFilesWizardPage;
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    39
import org.symbian.tools.wrttools.wizards.WizardContext;
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    40
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    41
public class ProjectTemplate {
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    42
    private static ProjectTemplate[] templates;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    43
    private final IConfigurationElement element;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    44
    private Image icon;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    45
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    46
    public ProjectTemplate(IConfigurationElement element) {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    47
        this.element = element;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    48
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    49
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    50
    public Image getIcon() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    51
        if (icon == null) {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    52
            String path = element.getAttribute("icon");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    53
            final ImageDescriptor imageDescriptor;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    54
            if (path != null) {
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
    55
                imageDescriptor = Activator.imageDescriptorFromPlugin(element.getNamespaceIdentifier(), path);
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    56
            } else {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    57
                imageDescriptor = ImageDescriptor.getMissingImageDescriptor();
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    58
            }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    59
            icon = imageDescriptor.createImage(true);
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    60
        }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    61
        return icon;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    62
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    63
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    64
    public String getName() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    65
        return element.getAttribute("name");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    66
    }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    67
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    68
    public String getDescription() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    69
        IConfigurationElement[] children = element.getChildren("description");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    70
        if (children.length == 1) {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    71
            return children[0].getValue();
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    72
        } else {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    73
            return "";
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    74
        }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    75
    }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    76
309
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
    77
    private String[] getLibraryIds() {
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
    78
        IConfigurationElement[] elements = element.getChildren("requires-library");
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    79
        String[] ids = new String[elements.length];
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    80
        for (int i = 0; i < elements.length; i++) {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    81
            IConfigurationElement element = elements[i];
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    82
            ids[i] = element.getValue();
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    83
        }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    84
        return ids;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    85
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
    86
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    87
    public static ProjectTemplate[] getAllTemplates() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    88
        if (templates == null) {
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
    89
            IExtensionPoint point = Platform.getExtensionRegistry().getExtensionPoint(Activator.PLUGIN_ID,
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
    90
                    "projectTemplates");
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    91
            IConfigurationElement[] elements = point.getConfigurationElements();
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    92
            templates = new ProjectTemplate[elements.length];
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    93
            for (int i = 0; i < elements.length; i++) {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    94
                IConfigurationElement element = elements[i];
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    95
                templates[i] = new ProjectTemplate(element);
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    96
            }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    97
        }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    98
        return templates;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
    99
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
   100
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   101
    public String getDefaultCssFile() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   102
        String file = element.getAttribute("default-css-name");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   103
        return file != null ? file : "main";
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   104
    }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   105
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   106
    public String getDefaultJsFile() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   107
        String file = element.getAttribute("default-js-name");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   108
        return file != null ? file : "main";
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   109
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
   110
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   111
    public String getDefaultHtmlFile() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   112
        String file = element.getAttribute("default-html-name");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   113
        return file != null ? file : "index";
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   114
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
   115
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
   116
    public WRTProjectFilesWizardPage createWizardPage(WizardContext context, DataBindingContext bindingContext) {
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   117
        try {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   118
            if (element.getAttribute("wizard-page-factory") != null) {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   119
                IWizardPageFactory factory = (IWizardPageFactory) element
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   120
                        .createExecutableExtension("wizard-page-factory");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   121
                return factory.createPage(context, bindingContext);
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   122
            }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   123
        } catch (CoreException e) {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   124
            Activator.log("Problem with template " + getName(), e);
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   125
        }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   126
        return new WRTProjectFilesWizardPage(context, bindingContext);
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   127
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
   128
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   129
    @Override
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   130
    public String toString() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   131
        return getName();
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   132
    }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   133
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   134
    public URL getProjectContents() {
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   135
        String uri = element.getAttribute("archive");
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   136
        if (uri != null) {
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
   137
            Bundle bundle = Platform.getBundle(element.getContributor().getName());
439
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   138
            URL resource = bundle.getResource(uri);
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   139
            return resource;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   140
        }
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   141
        return null;
57fff6202b74 Bug 3184 - Reorganize new project wizard
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 366
diff changeset
   142
    }
309
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   143
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   144
    public boolean requires(JSLibrary library) {
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   145
        for (String id : getLibraryIds()) {
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   146
            if (library.getId().equals(id)) {
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   147
                return true;
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   148
            }
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   149
        }
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   150
        return false;
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   151
    }
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   152
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   153
    public JSLibrary[] getRequiredLibraries() {
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   154
        Set<String> ids = new TreeSet<String>(Arrays.asList(getLibraryIds()));
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   155
        Set<JSLibrary> libraries = new HashSet<JSLibrary>();
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   156
        JSLibrary[] jsLibraries = Activator.getJSLibraries();
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   157
        for (JSLibrary jsLibrary : jsLibraries) {
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   158
            if (ids.contains(jsLibrary.getId())) {
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   159
                libraries.add(jsLibrary);
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   160
            }
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   161
        }
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   162
        return libraries.toArray(new JSLibrary[libraries.size()]);
c01f5ab28a11 Refactored to add extended support for JS Libraries
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 84
diff changeset
   163
    }
366
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   164
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   165
    public int getOrder() {
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   166
        String attribute = element.getAttribute("order");
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   167
        if (attribute != null) {
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   168
            return Integer.parseInt(attribute);
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   169
        }
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   170
        return Integer.MAX_VALUE;
715f288b552a Bug 2779 - Better naming for Application templates
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 309
diff changeset
   171
    }
448
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
   172
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
   173
    public String getScreenSize() {
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
   174
        return element.getAttribute("screen-size");
4bb763ad2b12 Bug 3251 - phonegap project - Vibrate text overflows button size
Eugene Ostroukhov <eugeneo@symbian.org>
parents: 439
diff changeset
   175
    }
3
d3477de62514 Added new wizards for importing WRT projects. Added CSS Validator.
TasneemS@US-TASNEEMS
parents:
diff changeset
   176
}