diff options
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java')
-rw-r--r-- | bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java | 32 |
1 files changed, 18 insertions, 14 deletions
diff --git a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java index ebfc1240f..c3ef27ec8 100644 --- a/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java +++ b/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/InstallBundleAction.java @@ -9,6 +9,7 @@ package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions; import java.io.File; +import java.util.Collection; import java.util.Map; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; @@ -16,24 +17,27 @@ import org.eclipse.equinox.internal.p2.touchpoint.eclipse.EclipseTouchpoint; import org.eclipse.equinox.internal.p2.touchpoint.eclipse.Util; import org.eclipse.equinox.internal.provisional.frameworkadmin.BundleInfo; import org.eclipse.equinox.internal.provisional.frameworkadmin.Manipulator; -import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; -import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction; -import org.eclipse.equinox.internal.provisional.p2.metadata.IArtifactKey; -import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.core.IProvisioningAgent; +import org.eclipse.equinox.p2.engine.IProfile; +import org.eclipse.equinox.p2.engine.spi.ProvisioningAction; +import org.eclipse.equinox.p2.metadata.IArtifactKey; +import org.eclipse.equinox.p2.metadata.IInstallableUnit; +import org.eclipse.equinox.p2.metadata.query.FragmentQuery; import org.eclipse.osgi.util.NLS; public class InstallBundleAction extends ProvisioningAction { public static final String ID = "installBundle"; //$NON-NLS-1$ - public IStatus execute(Map parameters) { + public IStatus execute(Map<String, Object> parameters) { return InstallBundleAction.installBundle(parameters); } - public IStatus undo(Map parameters) { + public IStatus undo(Map<String, Object> parameters) { return UninstallBundleAction.uninstallBundle(parameters); } - public static IStatus installBundle(Map parameters) { + public static IStatus installBundle(Map<String, Object> parameters) { + IProvisioningAgent agent = (IProvisioningAgent) parameters.get(ActionConstants.PARM_AGENT); IProfile profile = (IProfile) parameters.get(ActionConstants.PARM_PROFILE); IInstallableUnit iu = (IInstallableUnit) parameters.get(EclipseTouchpoint.PARM_IU); Manipulator manipulator = (Manipulator) parameters.get(EclipseTouchpoint.PARM_MANIPULATOR); @@ -42,26 +46,26 @@ public class InstallBundleAction extends ProvisioningAction { return Util.createError(NLS.bind(Messages.parameter_not_set, ActionConstants.PARM_BUNDLE, ID)); //TODO: eventually remove this. What is a fragment doing here?? - if (iu.isFragment()) { + if (FragmentQuery.isFragment(iu)) { System.out.println("What is a fragment doing here!!! -- " + iu); //$NON-NLS-1$ return Status.OK_STATUS; } - IArtifactKey[] artifacts = iu.getArtifacts(); - if (artifacts == null || artifacts.length == 0) + Collection<IArtifactKey> artifacts = iu.getArtifacts(); + if (artifacts == null || artifacts.isEmpty()) return Util.createError(NLS.bind(Messages.iu_contains_no_arifacts, iu)); IArtifactKey artifactKey = null; - for (int i = 0; i < artifacts.length; i++) { - if (artifacts[i].toString().equals(bundleId)) { - artifactKey = artifacts[i]; + for (IArtifactKey candidate : artifacts) { + if (candidate.toString().equals(bundleId)) { + artifactKey = candidate; break; } } if (artifactKey == null) throw new IllegalArgumentException(NLS.bind(Messages.no_matching_artifact, bundleId)); - File bundleFile = Util.getArtifactFile(artifactKey, profile); + File bundleFile = Util.getArtifactFile(agent, artifactKey, profile); if (bundleFile == null || !bundleFile.exists()) return Util.createError(NLS.bind(Messages.artifact_file_not_found, artifactKey)); |