Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryManipulatorDropTarget.java')
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryManipulatorDropTarget.java29
1 files changed, 12 insertions, 17 deletions
diff --git a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryManipulatorDropTarget.java b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryManipulatorDropTarget.java
index cb258f8e8..a44ee11d4 100644
--- a/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryManipulatorDropTarget.java
+++ b/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/RepositoryManipulatorDropTarget.java
@@ -14,13 +14,9 @@ import java.net.URI;
import java.net.URISyntaxException;
import org.eclipse.core.runtime.*;
import org.eclipse.core.runtime.jobs.Job;
-import org.eclipse.equinox.internal.p2.ui.ProvUIActivator;
-import org.eclipse.equinox.internal.p2.ui.ProvUIMessages;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI;
-import org.eclipse.equinox.internal.provisional.p2.ui.ProvisioningOperationRunner;
-import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningOperation;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.RepositoryLocationValidator;
-import org.eclipse.equinox.internal.provisional.p2.ui.policy.RepositoryManipulator;
+import org.eclipse.equinox.internal.p2.ui.*;
+import org.eclipse.equinox.p2.operations.RepositoryTracker;
+import org.eclipse.equinox.p2.ui.ProvisioningUI;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.dnd.DND;
import org.eclipse.swt.dnd.DropTargetEvent;
@@ -38,13 +34,15 @@ import org.eclipse.ui.statushandlers.StatusManager;
*
*/
public class RepositoryManipulatorDropTarget extends URLDropAdapter {
- RepositoryManipulator manipulator;
+ ProvisioningUI ui;
+ RepositoryTracker tracker;
Control control;
- public RepositoryManipulatorDropTarget(RepositoryManipulator manipulator, Control control) {
+ public RepositoryManipulatorDropTarget(ProvisioningUI ui, Control control) {
super(true); // convert file drops to URL
- Assert.isNotNull(manipulator);
- this.manipulator = manipulator;
+ Assert.isNotNull(ui);
+ this.ui = ui;
+ this.tracker = ui.getRepositoryTracker();
this.control = control;
}
@@ -54,7 +52,7 @@ public class RepositoryManipulatorDropTarget extends URLDropAdapter {
try {
location[0] = URIUtil.fromString(urlText);
} catch (URISyntaxException e) {
- ProvUI.reportStatus(RepositoryLocationValidator.getInvalidLocationStatus(urlText), StatusManager.SHOW | StatusManager.LOG);
+ ProvUI.reportStatus(tracker.getInvalidLocationStatus(urlText), StatusManager.SHOW | StatusManager.LOG);
return;
}
if (location[0] == null)
@@ -63,13 +61,10 @@ public class RepositoryManipulatorDropTarget extends URLDropAdapter {
Job job = new WorkbenchJob(ProvUIMessages.RepositoryManipulatorDropTarget_DragAndDropJobLabel) {
public IStatus runInUIThread(IProgressMonitor monitor) {
- IStatus status = manipulator.getRepositoryLocationValidator(control.getShell()).validateRepositoryLocation(location[0], false, monitor);
+ IStatus status = tracker.validateRepositoryLocation(ui.getSession(), location[0], false, monitor);
if (status.isOK()) {
- ProvisioningOperation addOperation = manipulator.getAddOperation(location[0]);
- ProvisioningOperationRunner.schedule(addOperation, StatusManager.SHOW | StatusManager.LOG);
+ tracker.addRepository(location[0], null, ui.getSession());
event.detail = DND.DROP_LINK;
- } else if (status.getCode() == RepositoryLocationValidator.ALTERNATE_ACTION_TAKEN) {
- event.detail = DND.DROP_COPY;
} else if (status.getSeverity() == IStatus.CANCEL) {
event.detail = DND.DROP_NONE;
} else {

Back to the top