From a31752bc8582077f075daf588d67c3153337dd36 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christoph=20L=C3=A4ubrich?= Date: Fri, 1 Dec 2023 18:17:29 +0100 Subject: [PATCH] Move flag checks from TemplateWizardHelper to WizardElement Currently there are two helper methods in TemplateWizardHelper that can be used to check for flags, as this is generic functionality it could better be moved to WizardElement itself so it can be customized there depending on backing store element --- .../internal/ui/wizards/WizardElement.java | 20 +++++++++++++++++++ .../NewProjectCreationFromTemplatePage.java | 4 ++-- .../plugin/PluginContentFromTemplatePage.java | 6 +++--- .../plugin/TemplateListSelectionPage.java | 12 +++++------ .../wizards/plugin/TemplateWizardHelper.java | 16 --------------- 5 files changed, 31 insertions(+), 27 deletions(-) diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardElement.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardElement.java index 3044c4da6f..1a485b2ade 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardElement.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/WizardElement.java @@ -65,6 +65,26 @@ public String getDescription() { return description; } + public Boolean getFlag(String name) { + if (configurationElement != null) { + String value = configurationElement.getAttribute(name); + if (value != null) { + return Boolean.valueOf(value.equalsIgnoreCase("true")); //$NON-NLS-1$ + } + } + return null; + } + + public boolean getFlag(String name, boolean defaultValue) { + if (configurationElement != null) { + String value = configurationElement.getAttribute(name); + if (value != null) { + return value.equalsIgnoreCase("true"); //$NON-NLS-1$ + } + } + return defaultValue; + } + /** * We allow replacement variables in description values as well. This is to * allow extension template description reuse in project template wizards. diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationFromTemplatePage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationFromTemplatePage.java index 8ce0786450..5cd3e5a680 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationFromTemplatePage.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/NewProjectCreationFromTemplatePage.java @@ -32,7 +32,7 @@ public NewProjectCreationFromTemplatePage(String pageName, AbstractFieldData dat @Override protected void createFormatGroup(Composite container) { super.createFormatGroup(container); - Boolean osgiFlag = TemplateWizardHelper.getFlag(fTemplateWizard, TemplateWizardHelper.FLAG_OSGI); + Boolean osgiFlag = fTemplateWizard.getFlag(TemplateWizardHelper.FLAG_OSGI); if (osgiFlag != null) { boolean isOSGi = osgiFlag.booleanValue(); fEclipseButton.setSelection(!isOSGi); @@ -46,7 +46,7 @@ protected void createFormatGroup(Composite container) { @Override protected void createProjectTypeGroup(Composite container) { super.createProjectTypeGroup(container); - Boolean javaFlag = TemplateWizardHelper.getFlag(fTemplateWizard, TemplateWizardHelper.FLAG_JAVA); + Boolean javaFlag = fTemplateWizard.getFlag(TemplateWizardHelper.FLAG_JAVA); if (javaFlag != null) { boolean isJava = javaFlag.booleanValue(); fJavaButton.setSelection(isJava); diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentFromTemplatePage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentFromTemplatePage.java index 739b51651e..35d203ba05 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentFromTemplatePage.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/PluginContentFromTemplatePage.java @@ -32,7 +32,7 @@ public PluginContentFromTemplatePage(String pageName, IProjectProvider provider, @Override protected void createRCPQuestion(Composite parent, int horizontalSpan) { super.createRCPQuestion(parent, horizontalSpan); - Boolean rcpFlag = TemplateWizardHelper.getFlag(fTemplateWizard, TemplateWizardHelper.FLAG_RCP); + Boolean rcpFlag = fTemplateWizard.getFlag(TemplateWizardHelper.FLAG_RCP); if (rcpFlag != null) { boolean isRCP = rcpFlag.booleanValue(); fYesButton.setSelection(isRCP); @@ -45,13 +45,13 @@ protected void createRCPQuestion(Composite parent, int horizontalSpan) { @Override protected void createPluginClassGroup(Composite container) { super.createPluginClassGroup(container); - Boolean activatorFlag = TemplateWizardHelper.getFlag(fTemplateWizard, TemplateWizardHelper.FLAG_ACTIVATOR); + Boolean activatorFlag = fTemplateWizard.getFlag(TemplateWizardHelper.FLAG_ACTIVATOR); if (activatorFlag != null) { fGenerateActivator.setSelection(activatorFlag.booleanValue()); fGenerateActivator.setEnabled(false); fNameText.setEnabled(activatorFlag.booleanValue()); } - Boolean uiFlag = TemplateWizardHelper.getFlag(fTemplateWizard, TemplateWizardHelper.FLAG_UI); + Boolean uiFlag = fTemplateWizard.getFlag(TemplateWizardHelper.FLAG_UI); if (uiFlag != null) { fUIPlugin.setSelection(uiFlag.booleanValue()); fUIPlugin.setEnabled(false); diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateListSelectionPage.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateListSelectionPage.java index 15f28ce2c9..32afaac77b 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateListSelectionPage.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateListSelectionPage.java @@ -54,13 +54,13 @@ public boolean select(Viewer viewer, Object parentElement, Object element) { boolean automatic = osgi && data.isAutomaticMetadataGeneration(); WizardElement welement = (WizardElement) element; boolean active = TemplateWizardHelper.isActive(welement); - boolean uiFlag = TemplateWizardHelper.getFlag(welement, TemplateWizardHelper.FLAG_UI, true); - boolean javaFlag = TemplateWizardHelper.getFlag(welement, TemplateWizardHelper.FLAG_JAVA, true); - boolean rcpFlag = TemplateWizardHelper.getFlag(welement, TemplateWizardHelper.FLAG_RCP, false); - boolean osgiFlag = TemplateWizardHelper.getFlag(welement, TemplateWizardHelper.FLAG_OSGI, false); + boolean uiFlag = welement.getFlag(TemplateWizardHelper.FLAG_UI, true); + boolean javaFlag = welement.getFlag(TemplateWizardHelper.FLAG_JAVA, true); + boolean rcpFlag = welement.getFlag(TemplateWizardHelper.FLAG_RCP, false); + boolean osgiFlag = welement.getFlag(TemplateWizardHelper.FLAG_OSGI, false); boolean bndFlag = osgiFlag && javaFlag - && TemplateWizardHelper.getFlag(welement, TemplateWizardHelper.FLAG_BND, false); - boolean activatorFlag = TemplateWizardHelper.getFlag(welement, TemplateWizardHelper.FLAG_ACTIVATOR, false); + && welement.getFlag(TemplateWizardHelper.FLAG_BND, false); + boolean activatorFlag = welement.getFlag(TemplateWizardHelper.FLAG_ACTIVATOR, false); //filter out wizards from disabled activities if (!active) diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateWizardHelper.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateWizardHelper.java index 3706ee02a8..39fab86541 100644 --- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateWizardHelper.java +++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/wizards/plugin/TemplateWizardHelper.java @@ -27,22 +27,6 @@ public class TemplateWizardHelper { public static final String FLAG_BND = "bnd"; //$NON-NLS-1$ public static final String FLAG_ACTIVATOR = "requiresActivator"; //$NON-NLS-1$ - public static Boolean getFlag(WizardElement element, String name) { - IConfigurationElement config = element.getConfigurationElement(); - String value = config.getAttribute(name); - if (value == null) - return null; - return Boolean.valueOf(value.equalsIgnoreCase("true")); //$NON-NLS-1$ - } - - public static boolean getFlag(WizardElement element, String name, boolean defaultValue) { - IConfigurationElement config = element.getConfigurationElement(); - String value = config.getAttribute(name); - if (value == null) - return defaultValue; - return value.equalsIgnoreCase("true"); //$NON-NLS-1$ - } - public static boolean isActive(WizardElement element) { IConfigurationElement config = element.getConfigurationElement(); final String pluginId = config.getNamespaceIdentifier();