Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMykola Nikishov2018-06-26 09:24:37 +0000
committerAlexander Kurtakov2018-10-12 14:35:24 +0000
commit7f2938951c1f39a7707a06259116aee3d9339f58 (patch)
tree59a26f795c8cf3520bb1d725effe057ec1f79cee /bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2
parent8264452199d882c61ccbe30beb035208db379679 (diff)
downloadrt.equinox.p2-7f2938951c1f39a7707a06259116aee3d9339f58.tar.gz
rt.equinox.p2-7f2938951c1f39a7707a06259116aee3d9339f58.tar.xz
rt.equinox.p2-7f2938951c1f39a7707a06259116aee3d9339f58.zip
[RFC] Bug 536282 - Check whether processing step is availableI20181012-1800
Change-Id: I6a625d3fe89ca63a4b176f4fef18f07f9ba4d103 Signed-off-by: Mykola Nikishov <mn@mn.com.ua>
Diffstat (limited to 'bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2')
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java14
2 files changed, 16 insertions, 2 deletions
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
index 734a5482a..22e407b13 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStep.java
@@ -133,4 +133,8 @@ public abstract class ProcessingStep extends OutputStream implements IStateful {
public IStatus getStatus(boolean deep) {
return ProcessingStepHandler.getStatus(this, deep);
}
+
+ public boolean isEnabled() {
+ return true;
+ }
}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
index 25a099eb6..cee06314a 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/provisional/p2/artifact/repository/processing/ProcessingStepHandler.java
@@ -48,9 +48,19 @@ public class ProcessingStepHandler {
if (point == null)
return false;
IProcessingStepDescriptor[] steps = descriptor.getProcessingSteps();
- for (int i = 0; i < steps.length; i++) {
- if (point.getExtension(steps[i].getProcessorId()) == null)
+ for (IProcessingStepDescriptor stepDescriptor : steps) {
+ String processorId = stepDescriptor.getProcessorId();
+ IExtension extension = point.getExtension(processorId);
+ if (extension == null)
return false;
+
+ IConfigurationElement[] config = extension.getConfigurationElements();
+ try {
+ Object object = config[0].createExecutableExtension("class"); //$NON-NLS-1$
+ return ((ProcessingStep) object).isEnabled();
+ } catch (CoreException e) {
+ // noop
+ }
}
return true;
}

Back to the top