Fixed bug 441190: [target] Provide reload button in target editor to re-resolve p2 locations
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/Messages.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/Messages.java
index 6ec12b0..e0d261a 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/Messages.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/Messages.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2013 IBM Corporation and others.
+ * Copyright (c) 2005, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -61,6 +61,7 @@
public static String BundleContainerTable_15;
public static String BundleContainerTable_2;
public static String BundleContainerTable_3;
+ public static String BundleContainerTable_4;
public static String BundleContainerTable_8;
public static String BundleContainerTable_9;
public static String EditBundleContainerWizard_0;
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/TargetLocationsGroup.java b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/TargetLocationsGroup.java
index dcd2258..fdfa816 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/TargetLocationsGroup.java
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/TargetLocationsGroup.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2014 IBM Corporation and others.
+ * Copyright (c) 2009, 2015 IBM Corporation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
@@ -13,8 +13,7 @@
import java.util.*;
import java.util.List;
import org.eclipse.core.runtime.*;
-import org.eclipse.core.runtime.jobs.IJobChangeEvent;
-import org.eclipse.core.runtime.jobs.JobChangeAdapter;
+import org.eclipse.core.runtime.jobs.*;
import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.jface.viewers.*;
import org.eclipse.jface.window.Window;
@@ -22,8 +21,8 @@
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.pde.core.target.*;
import org.eclipse.pde.internal.core.PDECore;
-import org.eclipse.pde.internal.core.target.AbstractBundleContainer;
-import org.eclipse.pde.internal.core.target.IUBundleContainer;
+import org.eclipse.pde.internal.core.target.*;
+import org.eclipse.pde.internal.ui.PDEPlugin;
import org.eclipse.pde.internal.ui.SWTFactory;
import org.eclipse.pde.internal.ui.editor.FormLayoutFactory;
import org.eclipse.pde.internal.ui.editor.targetdefinition.TargetEditor;
@@ -56,6 +55,7 @@
private Button fEditButton;
private Button fRemoveButton;
private Button fUpdateButton;
+ private Button fReloadButton;
private Button fShowContentButton;
private ITargetDefinition fTarget;
@@ -140,6 +140,7 @@
fEditButton = toolkit.createButton(buttonComp, Messages.BundleContainerTable_1, SWT.PUSH);
fRemoveButton = toolkit.createButton(buttonComp, Messages.BundleContainerTable_2, SWT.PUSH);
fUpdateButton = toolkit.createButton(buttonComp, Messages.BundleContainerTable_3, SWT.PUSH);
+ fReloadButton = toolkit.createButton(buttonComp, Messages.BundleContainerTable_4, SWT.PUSH);
fShowContentButton = toolkit.createButton(comp, Messages.TargetLocationsGroup_1, SWT.CHECK);
@@ -182,6 +183,7 @@
fEditButton = SWTFactory.createPushButton(buttonComp, Messages.BundleContainerTable_1, null);
fRemoveButton = SWTFactory.createPushButton(buttonComp, Messages.BundleContainerTable_2, null);
fUpdateButton = SWTFactory.createPushButton(buttonComp, Messages.BundleContainerTable_3, null);
+ fReloadButton = SWTFactory.createPushButton(buttonComp, Messages.BundleContainerTable_4, null);
fShowContentButton = SWTFactory.createCheckButton(comp, Messages.TargetLocationsGroup_1, null, false, 2);
@@ -268,6 +270,16 @@
fUpdateButton.setEnabled(false);
SWTFactory.setButtonDimensionHint(fUpdateButton);
+ fReloadButton.addSelectionListener(new SelectionAdapter() {
+ @Override
+ public void widgetSelected(SelectionEvent e) {
+ handleReload();
+ }
+ });
+ fReloadButton.setLayoutData(new GridData());
+ fReloadButton.setEnabled(true);
+ SWTFactory.setButtonDimensionHint(fReloadButton);
+
fShowContentButton.addSelectionListener(new SelectionAdapter() {
@Override
public void widgetSelected(SelectionEvent e) {
@@ -541,6 +553,29 @@
}
+ private void handleReload() {
+
+ //delete profile
+ try {
+ P2TargetUtils.deleteProfile(fTarget.getHandle());
+ } catch (CoreException e) {
+ PDEPlugin.log(e);
+ }
+
+ // increase sequence number
+ if (fTarget instanceof TargetDefinition)
+ ((TargetDefinition) fTarget).incrementSequenceNumber();
+
+ Job job = new UIJob("Reloading...") { //$NON-NLS-1$
+ @Override
+ public IStatus runInUIThread(IProgressMonitor monitor) {
+ contentsChanged(true);
+ return Status.OK_STATUS;
+ }
+ };
+ job.schedule();
+
+ }
/**
* Informs the reporter for this table that something has changed
* and is dirty.
diff --git a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/messages.properties b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/messages.properties
index e21554e..fee146f 100644
--- a/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/messages.properties
+++ b/ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/shared/target/messages.properties
@@ -1,5 +1,5 @@
###############################################################################
-# Copyright (c) 2005, 2013 IBM Corporation and others.
+# Copyright (c) 2005, 2015 IBM Corporation and others.
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v1.0
# which accompanies this distribution, and is available at
@@ -52,6 +52,7 @@
BundleContainerTable_1=&Edit...
BundleContainerTable_2=&Remove
BundleContainerTable_3=&Update
+BundleContainerTable_4=Re&load
BundleContainerTable_8=Unspecified Site
# Styled label section describing number of plug-ins in the location