478709: Support multi-selection in the artefact ordering section of the
server editor
- Fix a typo
- "Source->Clean Up" using the Virgo server project rules
Task-Url: https://bugs.eclipse.org/bugs/show_bug.cgi?id=478709
diff --git a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java
index 5c6c90a..0b809bd 100644
--- a/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java
+++ b/org.eclipse.virgo.ide.runtime.ui/src/org/eclipse/virgo/ide/runtime/internal/ui/editor/ArtefactOrderEditorSection.java
@@ -7,7 +7,7 @@
*
* Contributors:
* SpringSource, a division of VMware, Inc. - initial API and implementation
- * GianMaria Romanato
+ * GianMaria Romanato - multiple selection and apply changes on save
*******************************************************************************/
package org.eclipse.virgo.ide.runtime.internal.ui.editor;
@@ -59,251 +59,261 @@
*
* @author Christian Dupuis
* @author Steffen Pingel
- * @author GianMaria Romanato - apply changes to configuration only when editor is saved
+ * @author GianMaria Romanato - support multiple selection and apply changes to configuration only when editor is saved
* @since 1.0.1
*/
public class ArtefactOrderEditorSection extends ServerEditorSection {
- /**
- * An operation used for making ordering changes in the UI, triggering dirty state and supporting UNDO.
- *
- * Changes are applied to the server only when the editor is saved using a different operation, see
- * {@link ArtefactOrderEditorSection#doSave(IProgressMonitor)}
- */
- private class ModifyArtefactOrderEditorCommand extends AbstractOperation {
+ /**
+ * An operation used for making ordering changes in the UI, triggering dirty state and supporting UNDO.
+ *
+ * Changes are applied to the server only when the editor is saved using a different operation, see
+ * {@link ArtefactOrderEditorSection#doSave(IProgressMonitor)}
+ */
+ private class ModifyArtefactOrderEditorCommand extends AbstractOperation {
- private List<IModule> oldOrder;
+ private List<IModule> oldOrder;
- private final List<IModule> newOrder;
+ private final List<IModule> newOrder;
- ModifyArtefactOrderEditorCommand(List<IModule> newOrder) {
- super("Modefy artefact order in editor UI"); //$NON-NLS-1$
- this.newOrder = newOrder;
- }
+ ModifyArtefactOrderEditorCommand(List<IModule> newOrder) {
+ super("Modify artefact order in editor UI"); //$NON-NLS-1$
+ this.newOrder = newOrder;
+ }
- @Override
- public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- oldOrder = ArtefactOrderEditorSection.this.orderedModules;
- ArtefactOrderEditorSection.this.orderedModules = newOrder;
- bundleTableViewer.setInput(orderedModules);
- return Status.OK_STATUS;
- }
+ @Override
+ public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ this.oldOrder = ArtefactOrderEditorSection.this.orderedModules;
+ ArtefactOrderEditorSection.this.orderedModules = this.newOrder;
+ ArtefactOrderEditorSection.this.bundleTableViewer.setInput(ArtefactOrderEditorSection.this.orderedModules);
+ return Status.OK_STATUS;
+ }
- @Override
- public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- return execute(monitor, info);
- }
+ @Override
+ public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ return execute(monitor, info);
+ }
- @Override
- public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
- ArtefactOrderEditorSection.this.orderedModules = oldOrder;
- oldOrder = null;
- bundleTableViewer.setInput(orderedModules);
- return Status.OK_STATUS;
- }
+ @Override
+ public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ ArtefactOrderEditorSection.this.orderedModules = this.oldOrder;
+ this.oldOrder = null;
+ ArtefactOrderEditorSection.this.bundleTableViewer.setInput(ArtefactOrderEditorSection.this.orderedModules);
+ return Status.OK_STATUS;
+ }
- }
+ }
- protected IServerWorkingCopy serverWorkingCopy;
+ protected IServerWorkingCopy serverWorkingCopy;
- // represents the model for the table
- private List<IModule> orderedModules;
+ // represents the model for the table
+ private List<IModule> orderedModules;
- protected boolean updating;
+ protected boolean updating;
- protected PropertyChangeListener listener;
+ protected PropertyChangeListener listener;
- private Table bundleTable;
+ private Table bundleTable;
- private TableViewer bundleTableViewer;
+ private TableViewer bundleTableViewer;
- private Button upButton;
+ private Button upButton;
- private Button downButton;
+ private Button downButton;
- protected void addConfigurationChangeListener() {
- listener = new PropertyChangeListener() {
+ protected void addConfigurationChangeListener() {
+ this.listener = new PropertyChangeListener() {
- public void propertyChange(PropertyChangeEvent event) {
- if (updating) {
- return;
- }
- updating = true;
- if (org.eclipse.virgo.ide.runtime.core.IServer.PROPERTY_ARTEFACT_ORDER.equals(event.getPropertyName())) {
- initialize();
- }
- updating = false;
- }
- };
- serverWorkingCopy.addConfigurationChangeListener(listener);
- }
+ public void propertyChange(PropertyChangeEvent event) {
+ if (ArtefactOrderEditorSection.this.updating) {
+ return;
+ }
+ ArtefactOrderEditorSection.this.updating = true;
+ if (org.eclipse.virgo.ide.runtime.core.IServer.PROPERTY_ARTEFACT_ORDER
+ .equals(event.getPropertyName())) {
+ initialize();
+ }
+ ArtefactOrderEditorSection.this.updating = false;
+ }
+ };
+ this.serverWorkingCopy.addConfigurationChangeListener(this.listener);
+ }
- @Override
- public void createSection(Composite parent) {
- super.createSection(parent);
- FormToolkit toolkit = getFormToolkit(parent.getDisplay());
+ @Override
+ public void createSection(Composite parent) {
+ super.createSection(parent);
+ FormToolkit toolkit = getFormToolkit(parent.getDisplay());
- Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED | ExpandableComposite.TITLE_BAR
- | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
- section.setText(Messages.ArtefactOrderEditorSection_title);
- section.setDescription(Messages.ArtefactOrderEditorSection_description);
- section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
+ Section section = toolkit.createSection(parent, ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED
+ | ExpandableComposite.TITLE_BAR | Section.DESCRIPTION | ExpandableComposite.FOCUS_TITLE);
+ section.setText(Messages.ArtefactOrderEditorSection_title);
+ section.setDescription(Messages.ArtefactOrderEditorSection_description);
+ section.setLayoutData(new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_FILL));
- Composite composite = toolkit.createComposite(section);
- GridLayout layout = new GridLayout();
- layout.numColumns = 2;
- layout.marginHeight = 5;
- layout.marginWidth = 1;
- layout.verticalSpacing = 5;
- layout.horizontalSpacing = 1;
- composite.setLayout(layout);
- composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL, GridData.FILL_VERTICAL, true, true));
- toolkit.paintBordersFor(composite);
- section.setClient(composite);
+ Composite composite = toolkit.createComposite(section);
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ layout.marginHeight = 5;
+ layout.marginWidth = 1;
+ layout.verticalSpacing = 5;
+ layout.horizontalSpacing = 1;
+ composite.setLayout(layout);
+ composite.setLayoutData(new GridData(GridData.FILL_HORIZONTAL, GridData.FILL_VERTICAL, true, true));
+ toolkit.paintBordersFor(composite);
+ section.setClient(composite);
- bundleTable = toolkit.createTable(composite, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION);
- GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
- int modulesNumber = server.getModules().length;
- data.heightHint = bundleTable.getItemHeight() * Math.min(Math.max(5, modulesNumber), 10) + bundleTable.getBorderWidth() * 2;
- bundleTable.setLayoutData(data);
- bundleTableViewer = new TableViewer(bundleTable);
- bundleTableViewer.setContentProvider(new ArrayContentProvider());
- bundleTableViewer.setLabelProvider(ServerUICore.getLabelProvider());
+ this.bundleTable = toolkit.createTable(composite, SWT.MULTI | SWT.V_SCROLL | SWT.FULL_SELECTION);
+ GridData data = new GridData(GridData.FILL_HORIZONTAL | GridData.VERTICAL_ALIGN_BEGINNING);
+ int modulesNumber = this.server.getModules().length;
+ data.heightHint = this.bundleTable.getItemHeight() * Math.min(Math.max(5, modulesNumber), 10)
+ + this.bundleTable.getBorderWidth() * 2;
+ this.bundleTable.setLayoutData(data);
+ this.bundleTableViewer = new TableViewer(this.bundleTable);
+ this.bundleTableViewer.setContentProvider(new ArrayContentProvider());
+ this.bundleTableViewer.setLabelProvider(ServerUICore.getLabelProvider());
- bundleTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
+ this.bundleTableViewer.addSelectionChangedListener(new ISelectionChangedListener() {
- public void selectionChanged(SelectionChangedEvent event) {
- updateButtons(event.getSelection());
- }
+ public void selectionChanged(SelectionChangedEvent event) {
+ updateButtons(event.getSelection());
+ }
- });
+ });
- Composite buttonComposite = new Composite(composite, SWT.NONE);
- buttonComposite.setLayout(new GridLayout(1, true));
- data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
- buttonComposite.setLayoutData(data);
+ Composite buttonComposite = new Composite(composite, SWT.NONE);
+ buttonComposite.setLayout(new GridLayout(1, true));
+ data = new GridData(GridData.VERTICAL_ALIGN_BEGINNING);
+ buttonComposite.setLayoutData(data);
- upButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_up_button, SWT.PUSH);
- data = new GridData();
- upButton.setLayoutData(data);
- upButton.addSelectionListener(new SelectionAdapter() {
+ this.upButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_up_button, SWT.PUSH);
+ data = new GridData();
+ this.upButton.setLayoutData(data);
+ this.upButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- IStructuredSelection selection = (IStructuredSelection) bundleTableViewer.getSelection();
- List<IModule> allModules = new ArrayList<IModule>(orderedModules);
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) ArtefactOrderEditorSection.this.bundleTableViewer
+ .getSelection();
+ List<IModule> allModules = new ArrayList<IModule>(ArtefactOrderEditorSection.this.orderedModules);
- for (IModule aModule : (List<IModule>) selection.toList()) {
- int index = allModules.indexOf(aModule);
- allModules.remove(aModule);
- allModules.add(index - 1, aModule);
- }
+ for (IModule aModule : (List<IModule>) selection.toList()) {
+ int index = allModules.indexOf(aModule);
+ allModules.remove(aModule);
+ allModules.add(index - 1, aModule);
+ }
- execute(new ModifyArtefactOrderEditorCommand(allModules));
- updateButtons(selection);
- }
- });
- downButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_down_button, SWT.PUSH);
- downButton.setLayoutData(data);
- downButton.addSelectionListener(new SelectionAdapter() {
+ execute(new ModifyArtefactOrderEditorCommand(allModules));
+ updateButtons(selection);
+ }
+ });
+ this.downButton = toolkit.createButton(buttonComposite, Messages.ArtefactOrderEditorSection_down_button,
+ SWT.PUSH);
+ this.downButton.setLayoutData(data);
+ this.downButton.addSelectionListener(new SelectionAdapter() {
- @Override
- public void widgetSelected(SelectionEvent e) {
- IStructuredSelection selection = (IStructuredSelection) bundleTableViewer.getSelection();
- List<IModule> allModules = new ArrayList<IModule>(orderedModules);
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ IStructuredSelection selection = (IStructuredSelection) ArtefactOrderEditorSection.this.bundleTableViewer
+ .getSelection();
+ List<IModule> allModules = new ArrayList<IModule>(ArtefactOrderEditorSection.this.orderedModules);
- List<IModule> reversedSelection = new ArrayList<IModule>(selection.toList());
- Collections.reverse(reversedSelection);
+ List<IModule> reversedSelection = new ArrayList<IModule>(selection.toList());
+ Collections.reverse(reversedSelection);
- for (IModule aModule : reversedSelection) {
- int index = allModules.indexOf(aModule);
- allModules.remove(aModule);
- allModules.add(index + 1, aModule);
- }
+ for (IModule aModule : reversedSelection) {
+ int index = allModules.indexOf(aModule);
+ allModules.remove(aModule);
+ allModules.add(index + 1, aModule);
+ }
- execute(new ModifyArtefactOrderEditorCommand(allModules));
- updateButtons(selection);
- }
- });
- initialize();
- }
+ execute(new ModifyArtefactOrderEditorCommand(allModules));
+ updateButtons(selection);
+ }
+ });
+ initialize();
+ }
- /**
- * @see ServerEditorSection#dispose()
- */
- @Override
- public void dispose() {
- if (server != null) {
- server.removePropertyChangeListener(listener);
- }
- }
+ /**
+ * @see ServerEditorSection#dispose()
+ */
+ @Override
+ public void dispose() {
+ if (this.server != null) {
+ this.server.removePropertyChangeListener(this.listener);
+ }
+ }
- /**
- * @see ServerEditorSection#init(IEditorSite, IEditorInput)
- */
- @Override
- public void init(IEditorSite site, IEditorInput input) {
- super.init(site, input);
+ /**
+ * @see ServerEditorSection#init(IEditorSite, IEditorInput)
+ */
+ @Override
+ public void init(IEditorSite site, IEditorInput input) {
+ super.init(site, input);
- serverWorkingCopy = (IServerWorkingCopy) server.loadAdapter(IServerWorkingCopy.class, new NullProgressMonitor());
+ this.serverWorkingCopy = (IServerWorkingCopy) this.server.loadAdapter(IServerWorkingCopy.class,
+ new NullProgressMonitor());
- addConfigurationChangeListener();
- }
+ addConfigurationChangeListener();
+ }
- /**
- * Initialize model and view.
- */
- protected void initialize() {
- final List<String> orderedArtefacts = serverWorkingCopy.getConfiguration().getArtefactOrder();
+ /**
+ * Initialize model and view.
+ */
+ protected void initialize() {
+ final List<String> orderedArtefacts = this.serverWorkingCopy.getConfiguration().getArtefactOrder();
- orderedModules = new ArrayList(Arrays.asList(server.getModules()));
+ this.orderedModules = new ArrayList(Arrays.asList(this.server.getModules()));
- // sort the modules according the order defined in the server configuration
- Collections.sort(orderedModules, new java.util.Comparator<IModule>() {
+ // sort the modules according the order defined in the server configuration
+ Collections.sort(this.orderedModules, new java.util.Comparator<IModule>() {
- public int compare(IModule o1, IModule o2) {
- Integer m1 = (orderedArtefacts.contains(o1.getId()) ? orderedArtefacts.indexOf(o1.getId()) : Integer.MAX_VALUE);
- Integer m2 = (orderedArtefacts.contains(o2.getId()) ? orderedArtefacts.indexOf(o2.getId()) : Integer.MAX_VALUE);
- return m1.compareTo(m2);
- }
- });
- bundleTableViewer.setInput(orderedModules);
- }
+ public int compare(IModule o1, IModule o2) {
+ Integer m1 = orderedArtefacts.contains(o1.getId())
+ ? orderedArtefacts.indexOf(o1.getId())
+ : Integer.MAX_VALUE;
+ Integer m2 = orderedArtefacts.contains(o2.getId())
+ ? orderedArtefacts.indexOf(o2.getId())
+ : Integer.MAX_VALUE;
+ return m1.compareTo(m2);
+ }
+ });
+ this.bundleTableViewer.setInput(this.orderedModules);
+ }
- private void updateButtons(ISelection selections) {
- IStructuredSelection ss = (IStructuredSelection) selections;
- List<IModule> selectedModules = ss.toList();
+ private void updateButtons(ISelection selections) {
+ IStructuredSelection ss = (IStructuredSelection) selections;
+ List<IModule> selectedModules = ss.toList();
- List<IModule> allModules = orderedModules;
+ List<IModule> allModules = this.orderedModules;
- final int lowerBound = allModules.size() - 1;
- boolean initialState = !selections.isEmpty() && !allModules.isEmpty();
- boolean canMoveUp = initialState;
- boolean canMoveDown = initialState;
+ final int lowerBound = allModules.size() - 1;
+ boolean initialState = !selections.isEmpty() && !allModules.isEmpty();
+ boolean canMoveUp = initialState;
+ boolean canMoveDown = initialState;
- for (int i = 0; i < selectedModules.size() && initialState; i++) {
- IModule obj = selectedModules.get(i);
- int index = allModules.indexOf(obj);
- canMoveUp = canMoveUp && index > 0;
- canMoveDown = canMoveDown && index < lowerBound;
- }
+ for (int i = 0; i < selectedModules.size() && initialState; i++) {
+ IModule obj = selectedModules.get(i);
+ int index = allModules.indexOf(obj);
+ canMoveUp = canMoveUp && index > 0;
+ canMoveDown = canMoveDown && index < lowerBound;
+ }
- upButton.setEnabled(canMoveUp);
- downButton.setEnabled(canMoveDown);
- }
+ this.upButton.setEnabled(canMoveUp);
+ this.downButton.setEnabled(canMoveDown);
+ }
- @Override
- public void doSave(IProgressMonitor monitor) {
- List<String> artefactOrder = new ArrayList<String>();
- for (Object module : orderedModules) {
- artefactOrder.add(((IModule) module).getId());
- }
+ @Override
+ public void doSave(IProgressMonitor monitor) {
+ List<String> artefactOrder = new ArrayList<String>();
+ for (Object module : this.orderedModules) {
+ artefactOrder.add(((IModule) module).getId());
+ }
- if (!serverWorkingCopy.getArtefactOrder().equals(artefactOrder)) {
- updating = true;
- execute(new ModifyArtefactOrderCommand(serverWorkingCopy, artefactOrder));
- updating = false;
- }
- }
+ if (!this.serverWorkingCopy.getArtefactOrder().equals(artefactOrder)) {
+ this.updating = true;
+ execute(new ModifyArtefactOrderCommand(this.serverWorkingCopy, artefactOrder));
+ this.updating = false;
+ }
+ }
}
diff --git a/org.eclipse.virgo.ide/Virgo Tooling.launch b/org.eclipse.virgo.ide/Virgo Tooling.launch
deleted file mode 100644
index c976a3e..0000000
--- a/org.eclipse.virgo.ide/Virgo Tooling.launch
+++ /dev/null
@@ -1,36 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<launchConfiguration type="org.eclipse.pde.ui.RuntimeWorkbench">
-<booleanAttribute key="append.args" value="true"/>
-<booleanAttribute key="askclear" value="true"/>
-<booleanAttribute key="automaticAdd" value="true"/>
-<booleanAttribute key="automaticValidate" value="false"/>
-<stringAttribute key="bootstrap" value=""/>
-<stringAttribute key="checked" value="[NONE]"/>
-<booleanAttribute key="clearConfig" value="true"/>
-<booleanAttribute key="clearws" value="false"/>
-<booleanAttribute key="clearwslog" value="false"/>
-<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/Virgo Tooling"/>
-<booleanAttribute key="default" value="false"/>
-<stringAttribute key="deselected_workspace_plugins" value="org.eclipse.virgo.ide.export.tests,org.eclipse.virgo.ide.tests,org.eclipse.virgo.ide.tests.util"/>
-<booleanAttribute key="includeOptional" value="true"/>
-<stringAttribute key="location" value="${workspace_loc}/../runtime-VirgoTooling"/>
-<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
-<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
-</listAttribute>
-<booleanAttribute key="org.eclipse.jdt.launching.ATTR_USE_START_ON_FIRST_THREAD" value="true"/>
-<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
-<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -clean -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
-<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
-<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Dosgi.requiredJavaVersion=1.5 -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts -XX:MaxPermSize=256m -Xms300m -Xmx512m -Xdock:icon=../Resources/Eclipse.icns -XstartOnFirstThread -Dorg.eclipse.swt.internal.carbon.smallFonts"/>
-<stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.platform.ide"/>
-<stringAttribute key="selected_target_plugins" value="ch.qos.logback.classic@default:default,ch.qos.logback.core@default:default,ch.qos.logback.slf4j@default:false,com.google.guava*15.0.0.v201403281430@default:default,com.ibm.icu@default:default,javax.activation@default:default,javax.annotation@default:default,javax.inject@default:default,javax.jms@default:default,javax.mail@default:default,javax.persistence@default:default,javax.servlet@default:default,javax.xml@default:default,org.apache.ant@default:default,org.apache.batik.css@default:default,org.apache.batik.util.gui@default:default,org.apache.batik.util@default:default,org.apache.commons.codec@default:default,org.apache.commons.collections@default:default,org.apache.commons.httpclient@default:default,org.apache.commons.lang@default:default,org.apache.commons.logging*1.1.1.v201101211721@default:default,org.apache.lucene.analysis@default:default,org.apache.lucene.core@default:default,org.apache.xerces@default:default,org.apache.xml.resolver@default:default,org.apache.xml.serializer@default:default,org.aspectj.runtime@default:default,org.eclipse.ant.core@default:default,org.eclipse.ant.launching@default:default,org.eclipse.ant.ui@default:default,org.eclipse.compare.core@default:default,org.eclipse.compare@default:default,org.eclipse.core.commands@default:default,org.eclipse.core.contenttype@default:default,org.eclipse.core.databinding.observable@default:default,org.eclipse.core.databinding.property@default:default,org.eclipse.core.databinding@default:default,org.eclipse.core.expressions@default:default,org.eclipse.core.externaltools@default:default,org.eclipse.core.filebuffers@default:default,org.eclipse.core.filesystem.java7@default:false,org.eclipse.core.filesystem.macosx@default:false,org.eclipse.core.filesystem@default:default,org.eclipse.core.jobs@default:default,org.eclipse.core.net@default:default,org.eclipse.core.resources@default:default,org.eclipse.core.runtime.compatibility.registry@default:false,org.eclipse.core.runtime.compatibility@default:default,org.eclipse.core.runtime@default:true,org.eclipse.core.variables@default:default,org.eclipse.debug.core@default:default,org.eclipse.debug.ui@default:default,org.eclipse.draw2d@default:default,org.eclipse.e4.core.commands@default:default,org.eclipse.e4.core.contexts@default:default,org.eclipse.e4.core.di.extensions@default:default,org.eclipse.e4.core.di@default:default,org.eclipse.e4.core.services@default:default,org.eclipse.e4.ui.bindings@default:default,org.eclipse.e4.ui.css.core@default:default,org.eclipse.e4.ui.css.swt.theme@default:default,org.eclipse.e4.ui.css.swt@default:default,org.eclipse.e4.ui.di@default:default,org.eclipse.e4.ui.model.workbench@default:default,org.eclipse.e4.ui.services@default:default,org.eclipse.e4.ui.widgets@default:default,org.eclipse.e4.ui.workbench.addons.swt@default:default,org.eclipse.e4.ui.workbench.renderers.swt.cocoa@default:false,org.eclipse.e4.ui.workbench.renderers.swt@default:default,org.eclipse.e4.ui.workbench.swt@default:default,org.eclipse.e4.ui.workbench3@default:default,org.eclipse.e4.ui.workbench@default:default,org.eclipse.emf.codegen@default:default,org.eclipse.emf.common.ui@default:default,org.eclipse.emf.common@default:default,org.eclipse.emf.ecore.change@default:default,org.eclipse.emf.ecore.edit@default:default,org.eclipse.emf.ecore.xmi@default:default,org.eclipse.emf.ecore@default:default,org.eclipse.emf.edit.ui@default:default,org.eclipse.emf.edit@default:default,org.eclipse.equinox.app@default:default,org.eclipse.equinox.bidi@default:default,org.eclipse.equinox.common@2:true,org.eclipse.equinox.ds@1:true,org.eclipse.equinox.event@default:default,org.eclipse.equinox.frameworkadmin.equinox@default:default,org.eclipse.equinox.frameworkadmin@default:default,org.eclipse.equinox.http.jetty@default:default,org.eclipse.equinox.http.servlet@default:default,org.eclipse.equinox.launcher.cocoa.macosx.x86_64@default:false,org.eclipse.equinox.launcher@default:default,org.eclipse.equinox.p2.artifact.repository@default:default,org.eclipse.equinox.p2.core@default:default,org.eclipse.equinox.p2.director.app@default:default,org.eclipse.equinox.p2.director@default:default,org.eclipse.equinox.p2.engine@default:default,org.eclipse.equinox.p2.garbagecollector@default:default,org.eclipse.equinox.p2.jarprocessor@default:default,org.eclipse.equinox.p2.metadata.repository@default:default,org.eclipse.equinox.p2.metadata@default:default,org.eclipse.equinox.p2.operations@default:default,org.eclipse.equinox.p2.publisher.eclipse@default:default,org.eclipse.equinox.p2.publisher@default:default,org.eclipse.equinox.p2.repository.tools@default:default,org.eclipse.equinox.p2.repository@default:default,org.eclipse.equinox.p2.touchpoint.eclipse@default:default,org.eclipse.equinox.p2.ui@default:default,org.eclipse.equinox.p2.updatesite@default:default,org.eclipse.equinox.preferences@default:default,org.eclipse.equinox.registry@default:default,org.eclipse.equinox.security.macosx@default:false,org.eclipse.equinox.security.ui@default:default,org.eclipse.equinox.security@default:default,org.eclipse.equinox.simpleconfigurator.manipulator@default:default,org.eclipse.equinox.simpleconfigurator@1:true,org.eclipse.equinox.util@default:default,org.eclipse.equinox.weaving.hook@default:false,org.eclipse.fx.osgi@default:false,org.eclipse.help.base@default:default,org.eclipse.help.ui@default:default,org.eclipse.help@default:default,org.eclipse.jdt.compiler.apt@default:false,org.eclipse.jdt.compiler.tool@default:false,org.eclipse.jdt.core.manipulation@default:default,org.eclipse.jdt.core@default:default,org.eclipse.jdt.debug.ui@default:default,org.eclipse.jdt.debug@default:default,org.eclipse.jdt.junit.core@default:default,org.eclipse.jdt.junit.runtime@default:default,org.eclipse.jdt.junit@default:default,org.eclipse.jdt.launching@default:default,org.eclipse.jdt.ui@default:default,org.eclipse.jem.proxy@default:default,org.eclipse.jem.util@default:default,org.eclipse.jem.workbench@default:default,org.eclipse.jem@default:default,org.eclipse.jetty.continuation@default:default,org.eclipse.jetty.http@default:default,org.eclipse.jetty.io@default:default,org.eclipse.jetty.security@default:default,org.eclipse.jetty.server@default:default,org.eclipse.jetty.servlet@default:default,org.eclipse.jetty.util@default:default,org.eclipse.jface.databinding@default:default,org.eclipse.jface.text@default:default,org.eclipse.jface@default:default,org.eclipse.jst.common.annotations.controller@default:default,org.eclipse.jst.common.annotations.core@default:default,org.eclipse.jst.common.frameworks@default:default,org.eclipse.jst.common.project.facet.core@default:default,org.eclipse.jst.j2ee.core@default:default,org.eclipse.jst.j2ee.jca@default:default,org.eclipse.jst.j2ee.web@default:default,org.eclipse.jst.j2ee@default:default,org.eclipse.jst.jee@default:default,org.eclipse.jst.server.core@default:default,org.eclipse.libra.framework.editor.core@default:default,org.eclipse.libra.framework.editor.ui@default:default,org.eclipse.ltk.core.refactoring@default:default,org.eclipse.ltk.ui.refactoring@default:default,org.eclipse.m2e.archetype.common@default:default,org.eclipse.m2e.core.ui@default:default,org.eclipse.m2e.core@default:default,org.eclipse.m2e.logback.appender@default:false,org.eclipse.m2e.maven.indexer@default:default,org.eclipse.m2e.maven.runtime.slf4j.simple@default:default,org.eclipse.m2e.maven.runtime@default:default,org.eclipse.m2e.model.edit@default:default,org.eclipse.osgi.compatibility.state@default:false,org.eclipse.osgi.services@default:default,org.eclipse.osgi.util@default:default,org.eclipse.osgi@-1:true,org.eclipse.pde.build@default:default,org.eclipse.pde.core@default:default,org.eclipse.pde.launching@default:default,org.eclipse.pde.ui@default:default,org.eclipse.search@default:default,org.eclipse.swt.cocoa.macosx.x86_64@default:false,org.eclipse.swt@default:default,org.eclipse.team.core@default:default,org.eclipse.team.ui@default:default,org.eclipse.text@default:default,org.eclipse.ui.browser@default:default,org.eclipse.ui.cheatsheets@default:default,org.eclipse.ui.cocoa@default:false,org.eclipse.ui.console@default:default,org.eclipse.ui.editors@default:default,org.eclipse.ui.externaltools@default:default,org.eclipse.ui.forms@default:default,org.eclipse.ui.ide.application@default:default,org.eclipse.ui.ide@default:default,org.eclipse.ui.intro@default:default,org.eclipse.ui.navigator.resources@default:default,org.eclipse.ui.navigator@default:default,org.eclipse.ui.trace@default:default,org.eclipse.ui.views.log@default:default,org.eclipse.ui.views.properties.tabbed@default:default,org.eclipse.ui.views@default:default,org.eclipse.ui.workbench.texteditor@default:default,org.eclipse.ui.workbench@default:default,org.eclipse.ui@default:default,org.eclipse.update.configurator@3:true,org.eclipse.virgo.bundlor@default:default,org.eclipse.virgo.medic*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.repository*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.util.common*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.util.io*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.util.jmx*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.util.math*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.util.osgi*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.util.osgi.manifest*3.7.0.D-20150616062015@default:default,org.eclipse.virgo.util.parser.manifest*3.7.0.D-20150616062015@default:default,org.eclipse.wst.common.core@default:default,org.eclipse.wst.common.emf@default:default,org.eclipse.wst.common.emfworkbench.integration@default:default,org.eclipse.wst.common.environment@default:default,org.eclipse.wst.common.frameworks.ui@default:default,org.eclipse.wst.common.frameworks@default:default,org.eclipse.wst.common.modulecore@default:default,org.eclipse.wst.common.project.facet.core@default:default,org.eclipse.wst.common.project.facet.ui@default:default,org.eclipse.wst.common.ui@default:default,org.eclipse.wst.common.uriresolver@default:default,org.eclipse.wst.css.core@default:default,org.eclipse.wst.css.ui@default:default,org.eclipse.wst.html.core@default:default,org.eclipse.wst.html.ui@default:default,org.eclipse.wst.internet.monitor.core@default:default,org.eclipse.wst.jsdt.core@default:default,org.eclipse.wst.jsdt.manipulation@default:default,org.eclipse.wst.jsdt.ui@default:default,org.eclipse.wst.server.core@default:default,org.eclipse.wst.server.discovery@default:default,org.eclipse.wst.server.ui@default:default,org.eclipse.wst.sse.core@default:default,org.eclipse.wst.sse.ui.infopop@default:default,org.eclipse.wst.sse.ui@default:default,org.eclipse.wst.validation.ui@default:default,org.eclipse.wst.validation@default:default,org.eclipse.wst.web.ui@default:default,org.eclipse.wst.web@default:default,org.eclipse.wst.xml.core@default:default,org.eclipse.wst.xml.ui@default:default,org.eclipse.wst.xsd.core@default:default,org.eclipse.xsd@default:default,org.eclipse.zest.core@default:default,org.eclipse.zest.layouts@default:default,org.hamcrest.core@default:default,org.json@default:default,org.junit@default:default,org.objectweb.asm*3.3.1.v201105211655@default:default,org.sat4j.core@default:default,org.sat4j.pb@default:default,org.slf4j.api@default:default,org.w3c.css.sac@default:default,org.w3c.dom.events@default:default,org.w3c.dom.smil@default:default,org.w3c.dom.svg@default:default,osgi.enterprise@default:default"/>
-<stringAttribute key="selected_workspace_plugins" value="org.eclipse.virgo.ide.bundlor.core@default:default,org.eclipse.virgo.ide.bundlor.jdt.core@default:default,org.eclipse.virgo.ide.bundlor.ui@default:default,org.eclipse.virgo.ide.doc@default:default,org.eclipse.virgo.ide.eclipse@default:default,org.eclipse.virgo.ide.export@default:default,org.eclipse.virgo.ide.facet.core@default:default,org.eclipse.virgo.ide.jdt.core@default:default,org.eclipse.virgo.ide.jdt.ui@default:default,org.eclipse.virgo.ide.manifest.core@default:default,org.eclipse.virgo.ide.par.edit@default:default,org.eclipse.virgo.ide.par@default:default,org.eclipse.virgo.ide.runtime.core@default:default,org.eclipse.virgo.ide.runtime.ui@default:default,org.eclipse.virgo.ide.ui@default:default,org.eclipse.virgo.ide@default:default"/>
-<booleanAttribute key="show_selected_only" value="false"/>
-<stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
-<booleanAttribute key="tracing" value="false"/>
-<booleanAttribute key="useCustomFeatures" value="false"/>
-<booleanAttribute key="useDefaultConfig" value="true"/>
-<booleanAttribute key="useDefaultConfigArea" value="true"/>
-<booleanAttribute key="useProduct" value="false"/>
-</launchConfiguration>