Author: koen.aers(a)jboss.com
Date: 2010-01-25 16:23:54 -0500 (Mon, 25 Jan 2010)
New Revision: 19917
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/META-INF/MANIFEST.MF
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/plugin.xml
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/Activator.java
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/AddJbpmInstallationDialog.java
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmInstallationLabelProvider.java
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/LocationElementLabelProvider.java
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java
Log:
JBIDE-4904, GPD-373 : Unification of jBPM Preference Pages
Modified: trunk/jbpm/plugins/org.jboss.tools.jbpm.common/META-INF/MANIFEST.MF
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.jbpm.common/META-INF/MANIFEST.MF 2010-01-25
21:22:54 UTC (rev 19916)
+++ trunk/jbpm/plugins/org.jboss.tools.jbpm.common/META-INF/MANIFEST.MF 2010-01-25
21:23:54 UTC (rev 19917)
@@ -15,3 +15,5 @@
org.jboss.tools.jbpm.java,
org.jboss.tools.jbpm.preferences,
org.jboss.tools.jbpm.util
+Bundle-ActivationPolicy: lazy
+Bundle-Activator: org.jboss.tools.jbpm.Activator
Modified: trunk/jbpm/plugins/org.jboss.tools.jbpm.common/plugin.xml
===================================================================
--- trunk/jbpm/plugins/org.jboss.tools.jbpm.common/plugin.xml 2010-01-25 21:22:54 UTC (rev
19916)
+++ trunk/jbpm/plugins/org.jboss.tools.jbpm.common/plugin.xml 2010-01-25 21:23:54 UTC (rev
19917)
@@ -24,4 +24,13 @@
</category>
</extension>
+ <extension
+ point="org.eclipse.ui.preferencePages">
+ <page
+ class="org.jboss.tools.jbpm.preferences.JbpmLocationsPage"
+ id="org.jboss.tools.jbpm.locations"
+ name="Runtime Locations"
+ category="org.jboss.tools.jbpm"/>
+ </extension>
+
</plugin>
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/Activator.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/Activator.java 2010-01-25
21:22:54 UTC (rev 19916)
+++
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/Activator.java 2010-01-25
21:23:54 UTC (rev 19917)
@@ -30,7 +30,7 @@
}
public PreferencesManager getPreferencesManager() {
- return PreferencesManager.getPreferencesManager(this);
+ return PreferencesManager.INSTANCE;
}
public void start(BundleContext context) throws Exception {
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/AddJbpmInstallationDialog.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/AddJbpmInstallationDialog.java 2010-01-25
21:22:54 UTC (rev 19916)
+++
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/AddJbpmInstallationDialog.java 2010-01-25
21:23:54 UTC (rev 19917)
@@ -43,7 +43,7 @@
import org.eclipse.swt.widgets.Shell;
import org.eclipse.swt.widgets.Text;
-public abstract class AddJbpmInstallationDialog extends StatusDialog {
+public class AddJbpmInstallationDialog extends StatusDialog {
private static final String ENTER_NAME = "Enter the name of the jBPM
installation.";
private static final String ENTER_LOCATION = "Enter the location of the jBPM
installation.";
@@ -185,7 +185,7 @@
}
private boolean isNameAlreadyUsed() {
- return
PreferencesManager.getPreferencesManager(plugin).getJbpmInstallation(nameText.getText())
!= null;
+ return PreferencesManager.INSTANCE.getJbpmInstallation(nameText.getText()) != null;
}
private boolean isLocationExisting() {
@@ -221,7 +221,25 @@
return location;
}
- protected abstract String getVersion();
- protected abstract boolean isValidJbpmInstallation();
+ private boolean isJbpm3() {
+ return new
Path(location).append("/src/resources/gpd/version.info.xml").toFile().exists();
+ }
+
+ private boolean isJbpm4() {
+ return new Path(getLocation()).append("/jbpm.jar").toFile().exists();
+ }
+
+ protected String getVersion() {
+ if (isJbpm3()) {
+ return "jBPM3";
+ } else if (isJbpm4()) {
+ return "jBPM4";
+ } else {
+ return "unknown";
+ }
+ }
+ protected boolean isValidJbpmInstallation() {
+ return isJbpm3() || isJbpm4();
+ }
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmInstallationLabelProvider.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmInstallationLabelProvider.java 2010-01-25
21:22:54 UTC (rev 19916)
+++
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmInstallationLabelProvider.java 2010-01-25
21:23:54 UTC (rev 19917)
@@ -36,8 +36,7 @@
JbpmInstallation installation = (JbpmInstallation)element;
switch (columnIndex) {
case 0: return installation.name;
- case 1: return installation.version;
- case 2: return installation.location;
+ case 1: return installation.location;
default: return null;
}
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java 2010-01-25
21:22:54 UTC (rev 19916)
+++
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/JbpmLocationsPage.java 2010-01-25
21:23:54 UTC (rev 19917)
@@ -40,24 +40,23 @@
import org.eclipse.swt.widgets.TableItem;
import org.eclipse.ui.IWorkbench;
import org.eclipse.ui.IWorkbenchPreferencePage;
-import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.jboss.tools.jbpm.Activator;
import org.jboss.tools.jbpm.Constants;
import org.jboss.tools.jbpm.util.AutoResizeTableLayout;
-public abstract class JbpmLocationsPage extends PreferencePage implements
IWorkbenchPreferencePage {
+public class JbpmLocationsPage extends PreferencePage implements IWorkbenchPreferencePage
{
private TableViewer tableViewer;
private Button addButton, editButton, removeButton;
- private AbstractUIPlugin plugin;
-
- public JbpmLocationsPage(AbstractUIPlugin plugin) {
+ public JbpmLocationsPage() {
super();
- this.plugin = plugin;
- setPreferenceStore(plugin.getPreferenceStore());
+ setPreferenceStore(Activator.getDefault().getPreferenceStore());
}
- protected abstract AddJbpmInstallationDialog createAddJbpmInstallationDialog(Shell
shell);
+ protected AddJbpmInstallationDialog createAddJbpmInstallationDialog(Shell shell) {
+ return new AddJbpmInstallationDialog(shell, Activator.getDefault());
+ }
protected Control createContents(Composite parent) {
Composite clientArea = createClientArea(parent);
@@ -179,12 +178,12 @@
}
private void initializeInput(TableViewer viewer) {
- viewer.setInput(PreferencesManager.getPreferencesManager(plugin));
+ viewer.setInput(PreferencesManager.INSTANCE);
checkItemToCheck(viewer);
}
private void checkItemToCheck(TableViewer viewer) {
- String name = plugin.getPreferenceStore().getString(Constants.JBPM_NAME);
+ String name =
Activator.getDefault().getPreferenceStore().getString(Constants.JBPM_NAME);
if (name != null) {
TableItem tableItem = getItemToCheck(viewer, name);
if (tableItem != null) {
@@ -208,13 +207,9 @@
ColumnWeightData nameColumnData = new ColumnWeightData(30);
AutoResizeTableLayout layout = (AutoResizeTableLayout)table.getLayout();
layout.addColumnData(nameColumnData);
- TableColumn versionColumn = new TableColumn(table, SWT.LEFT);
- versionColumn.setText("Version");
- ColumnWeightData versionColumnData = new ColumnWeightData(30);
- layout.addColumnData(versionColumnData);
TableColumn locationColumn = new TableColumn(table, SWT.LEFT);
locationColumn.setText("Location");
- ColumnWeightData locationColumnData = new ColumnWeightData(40);
+ ColumnWeightData locationColumnData = new ColumnWeightData(70);
layout.addColumnData(locationColumnData);
}
@@ -301,7 +296,7 @@
if (item != null) {
name = item.getText(0);
}
- plugin.getPluginPreferences().setValue(Constants.JBPM_NAME, name);
+ Activator.getDefault().getPluginPreferences().setValue(Constants.JBPM_NAME, name);
return true;
}
@@ -314,7 +309,7 @@
}
public void performDefaults() {
- plugin.getPluginPreferences().setToDefault(Constants.JBPM_NAME);
+ Activator.getDefault().getPluginPreferences().setToDefault(Constants.JBPM_NAME);
PreferencesManager inputManager =
(PreferencesManager)tableViewer.getInput();
inputManager.getJbpmInstallationMap().clear();
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/LocationElementLabelProvider.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/LocationElementLabelProvider.java 2010-01-25
21:22:54 UTC (rev 19916)
+++
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/LocationElementLabelProvider.java 2010-01-25
21:23:54 UTC (rev 19917)
@@ -39,8 +39,7 @@
JbpmInstallation installation = (JbpmInstallation)((Map.Entry)element).getValue();
switch (columnIndex) {
case 0: return installation.name;
- case 1: return installation.version;
- case 2: return installation.location;
+ case 1: return installation.location;
default: return null;
}
}
Modified:
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java
===================================================================
---
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java 2010-01-25
21:22:54 UTC (rev 19916)
+++
trunk/jbpm/plugins/org.jboss.tools.jbpm.common/src/org/jboss/tools/jbpm/preferences/PreferencesManager.java 2010-01-25
21:23:54 UTC (rev 19917)
@@ -31,32 +31,21 @@
import java.util.Iterator;
import java.util.Map;
-import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.ui.IMemento;
import org.eclipse.ui.WorkbenchException;
import org.eclipse.ui.XMLMemento;
+import org.jboss.tools.jbpm.Activator;
import org.jboss.tools.jbpm.Constants;
public class PreferencesManager {
- private static Map<Plugin, PreferencesManager> managerMap = new HashMap<Plugin,
PreferencesManager>();
-
private Map<String, JbpmInstallation> jbpmInstallations = null;
private File installationsFile = null;
- private Plugin plugin;
- public static PreferencesManager getPreferencesManager(Plugin key) {
- PreferencesManager preferencesManager = managerMap.get(key);
- if (preferencesManager == null) {
- preferencesManager = new PreferencesManager(key);
- managerMap.put(key, preferencesManager);
- }
- return preferencesManager;
- }
-
- private PreferencesManager(Plugin plugin) {
- this.plugin = plugin;
+ public static final PreferencesManager INSTANCE = new PreferencesManager();
+
+ private PreferencesManager() {
initializeInstallations();
}
@@ -75,12 +64,12 @@
}
private Preferences getPreferences() {
- return plugin.getPluginPreferences();
+ return Activator.getDefault().getPluginPreferences();
}
private void initializeInstallations() {
installationsFile =
- plugin.getStateLocation().append("jbpm-installations.xml").toFile();
+ Activator.getDefault().getStateLocation().append("jbpm-installations.xml").toFile();
if (!installationsFile.exists()) {
createInstallationsFile();
} else {