Download
Getting Started
Members
Projects
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
More
Community
Marketplace
Events
Planet Eclipse
Newsletter
Videos
Participate
Report a Bug
Forums
Mailing Lists
Wiki
IRC
How to Contribute
Working Groups
Automotive
Internet of Things
LocationTech
Long-Term Support
PolarSys
Science
OpenMDM
Toggle navigation
Bugzilla – Attachment 121223 Details for
Bug 256359
[metadata] Consider interfaces for Metadata classes
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
Log In
[x]
|
Terms of Use
|
Copyright Agent
[patch]
Patch with updated docs, .equals() tests and one more fix.
org.eclipse.p2.metadata_interface.patch (text/plain), 622.96 KB, created by
Ian Bull
on 2008-12-24 12:35:38 EST
(
hide
)
Description:
Patch with updated docs, .equals() tests and one more fix.
Filename:
MIME Type:
Creator:
Ian Bull
Created:
2008-12-24 12:35:38 EST
Size:
622.96 KB
patch
obsolete
>### Eclipse Workspace Patch 1.0 >#P org.eclipse.equinox.p2.engine >Index: src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java,v >retrieving revision 1.9 >diff -u -r1.9 InstallableUnitPhase.java >--- src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java 8 Dec 2008 22:24:24 -0000 1.9 >+++ src/org/eclipse/equinox/internal/provisional/p2/engine/InstallableUnitPhase.java 24 Dec 2008 17:31:09 -0000 >@@ -11,6 +11,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.engine; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.util.*; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.p2.engine.EngineActivator; >@@ -74,7 +78,7 @@ > } > > protected final ProvisioningAction[] getActions(IInstallableUnit unit, String key) { >- TouchpointInstruction[] instructions = getInstructions(unit, key); >+ ITouchpointInstruction[] instructions = getInstructions(unit, key); > if (instructions == null || instructions.length == 0) > return null; > >@@ -86,19 +90,19 @@ > return (ProvisioningAction[]) actions.toArray(new ProvisioningAction[actions.size()]); > } > >- private final static TouchpointInstruction[] getInstructions(IInstallableUnit unit, String key) { >- TouchpointData[] data = unit.getTouchpointData(); >+ private final static ITouchpointInstruction[] getInstructions(IInstallableUnit unit, String key) { >+ ITouchpointData[] data = unit.getTouchpointData(); > if (data == null) > return null; > > ArrayList matches = new ArrayList(data.length); > for (int i = 0; i < data.length; i++) { >- TouchpointInstruction instructions = data[i].getInstruction(key); >+ ITouchpointInstruction instructions = data[i].getInstruction(key); > if (instructions != null) > matches.add(instructions); > } > >- TouchpointInstruction[] result = (TouchpointInstruction[]) matches.toArray(new TouchpointInstruction[matches.size()]); >+ ITouchpointInstruction[] result = (ITouchpointInstruction[]) matches.toArray(new ITouchpointInstruction[matches.size()]); > return result; > } > } >Index: src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java,v >retrieving revision 1.7 >diff -u -r1.7 Collect.java >--- src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java 4 Dec 2008 21:41:49 -0000 1.7 >+++ src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Collect.java 24 Dec 2008 17:31:09 -0000 >@@ -18,7 +18,7 @@ > import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRequest; > import org.eclipse.equinox.internal.provisional.p2.engine.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType; >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; > > /** > * The goal of the collect phase is to ask the touchpoints if the artifacts associated with an IU need to be downloaded. >@@ -44,8 +44,8 @@ > if (parsedActions != null) > return parsedActions; > >- TouchpointType type = unit.getTouchpointType(); >- if (type == null || type == TouchpointType.NONE) >+ ITouchpointType type = unit.getTouchpointType(); >+ if (type == null || ITouchpointType.NONE.equals(type)) > return null; > > ProvisioningAction action = actionManager.getTouchpointQualifiedAction(phaseId, type); >Index: src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java,v >retrieving revision 1.3 >diff -u -r1.3 CheckTrust.java >--- src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java 4 Dec 2008 21:41:49 -0000 1.3 >+++ src/org/eclipse/equinox/internal/provisional/p2/engine/phases/CheckTrust.java 24 Dec 2008 17:31:09 -0000 >@@ -15,7 +15,7 @@ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.engine.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType; >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; > > /** > * An install phase that checks if the certificates used to sign the artifacts >@@ -50,8 +50,8 @@ > if (parsedActions != null) > return parsedActions; > >- TouchpointType type = unit.getTouchpointType(); >- if (type == null || type == TouchpointType.NONE) >+ ITouchpointType type = unit.getTouchpointType(); >+ if (type == null || ITouchpointType.NONE.equals(type)) > return null; > > ProvisioningAction action = actionManager.getTouchpointQualifiedAction(phaseId, type); >Index: src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java,v >retrieving revision 1.9 >diff -u -r1.9 Sizing.java >--- src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java 4 Dec 2008 21:41:49 -0000 1.9 >+++ src/org/eclipse/equinox/internal/provisional/p2/engine/phases/Sizing.java 24 Dec 2008 17:31:09 -0000 >@@ -20,7 +20,7 @@ > import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepositoryManager; > import org.eclipse.equinox.internal.provisional.p2.engine.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType; >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; > > public class Sizing extends InstallableUnitPhase { > private static final String PHASE_ID = "sizing"; //$NON-NLS-1$ >@@ -51,8 +51,8 @@ > if (parsedActions != null) > return parsedActions; > >- TouchpointType type = unit.getTouchpointType(); >- if (type == null || type == TouchpointType.NONE) >+ ITouchpointType type = unit.getTouchpointType(); >+ if (type == null || ITouchpointType.NONE.equals(type)) > return null; > > ProvisioningAction action = actionManager.getTouchpointQualifiedAction(COLLECT_PHASE_ID, type); >Index: src/org/eclipse/equinox/internal/p2/engine/ActionManager.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/ActionManager.java,v >retrieving revision 1.9 >diff -u -r1.9 ActionManager.java >--- src/org/eclipse/equinox/internal/p2/engine/ActionManager.java 22 Dec 2008 15:30:50 -0000 1.9 >+++ src/org/eclipse/equinox/internal/p2/engine/ActionManager.java 24 Dec 2008 17:31:09 -0000 >@@ -14,10 +14,10 @@ > import java.util.Map; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.p2.core.helpers.LogHelper; >+import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction; > import org.eclipse.equinox.internal.provisional.p2.engine.Touchpoint; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType; >-import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; > import org.eclipse.osgi.util.NLS; > > public class ActionManager implements IRegistryChangeListener { >@@ -37,15 +37,15 @@ > RegistryFactory.getRegistry().addRegistryChangeListener(this, EngineActivator.ID); > } > >- public Touchpoint getTouchpointPoint(TouchpointType type) { >- if (type == null || type == TouchpointType.NONE) >+ public Touchpoint getTouchpointPoint(ITouchpointType type) { >+ if (type == null || ITouchpointType.NONE.equals(type)) > return null; > return touchpointManager.getTouchpoint(type); > } > >- public ProvisioningAction getTouchpointQualifiedAction(String actionId, TouchpointType type) { >+ public ProvisioningAction getTouchpointQualifiedAction(String actionId, ITouchpointType type) { > if (actionId.indexOf('.') == -1) { >- if (type == null || type == TouchpointType.NONE) >+ if (type == null || ITouchpointType.NONE.equals(type)) > return null; > > Touchpoint touchpoint = touchpointManager.getTouchpoint(type); >Index: src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java,v >retrieving revision 1.15 >diff -u -r1.15 TouchpointManager.java >--- src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java 22 Dec 2008 15:30:50 -0000 1.15 >+++ src/org/eclipse/equinox/internal/p2/engine/TouchpointManager.java 24 Dec 2008 17:31:09 -0000 >@@ -10,12 +10,13 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.engine; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ > import java.util.HashMap; > import java.util.Map; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.p2.core.helpers.LogHelper; > import org.eclipse.equinox.internal.provisional.p2.engine.Touchpoint; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.osgi.util.NLS; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >@@ -93,7 +94,7 @@ > * Return the touchpoint which is registered for the given type, > * or <code>null</code> if none are registered. > */ >- public synchronized Touchpoint getTouchpoint(TouchpointType type) { >+ public synchronized Touchpoint getTouchpoint(ITouchpointType type) { > if (type == null) > throw new IllegalArgumentException(Messages.TouchpointManager_Null_Touchpoint_Type_Argument); > return getTouchpoint(type.getId(), type.getVersion().toString()); >Index: src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java,v >retrieving revision 1.17 >diff -u -r1.17 InstructionParser.java >--- src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java 22 Dec 2008 15:30:50 -0000 1.17 >+++ src/org/eclipse/equinox/internal/p2/engine/InstructionParser.java 24 Dec 2008 17:31:09 -0000 >@@ -10,11 +10,13 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.engine; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ > import java.util.*; > import org.eclipse.core.runtime.Assert; > import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningAction; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointInstruction; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.osgi.util.NLS; > >@@ -39,7 +41,7 @@ > this.actionManager = actionManager; > } > >- public ProvisioningAction[] parseActions(TouchpointInstruction instruction, TouchpointType touchpointType) { >+ public ProvisioningAction[] parseActions(ITouchpointInstruction instruction, ITouchpointType touchpointType) { > List actions = new ArrayList(); > Map importMap = parseImportAttribute(instruction.getImportAttribute()); > StringTokenizer tokenizer = new StringTokenizer(instruction.getBody(), ";"); //$NON-NLS-1$ >@@ -73,7 +75,7 @@ > return result; > } > >- private ProvisioningAction parseAction(String statement, Map qualifier, TouchpointType touchpointType) { >+ private ProvisioningAction parseAction(String statement, Map qualifier, ITouchpointType touchpointType) { > int openBracket = statement.indexOf('('); > int closeBracket = statement.lastIndexOf(')'); > if (openBracket == -1 || closeBracket == -1 || openBracket > closeBracket) >@@ -99,7 +101,7 @@ > return new ParameterizedProvisioningAction(action, parameters); > } > >- private ProvisioningAction lookupAction(String actionId, Map importMap, TouchpointType touchpointType) { >+ private ProvisioningAction lookupAction(String actionId, Map importMap, ITouchpointType touchpointType) { > VersionRange versionRange = null; > ActionEntry actionEntry = (ActionEntry) importMap.get(actionId); > if (actionEntry != null) { >#P org.eclipse.equinox.p2.publisher >Index: src/org/eclipse/equinox/p2/publisher/actions/JREAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/JREAction.java,v >retrieving revision 1.7 >diff -u -r1.7 JREAction.java >--- src/org/eclipse/equinox/p2/publisher/actions/JREAction.java 22 Dec 2008 15:30:45 -0000 1.7 >+++ src/org/eclipse/equinox/p2/publisher/actions/JREAction.java 24 Dec 2008 17:31:11 -0000 >@@ -10,6 +10,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher.actions; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.core.runtime.IProgressMonitor; > > import java.io.*; >@@ -52,9 +56,9 @@ > String configId = "config." + id;//$NON-NLS-1$ > cu.setId(configId); > cu.setVersion(version); >- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, PublisherHelper.versionMax, true), null, false, false)}); >+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, PublisherHelper.versionMax, true), null, false, false)}); > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(configId, version)}); >+ cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configId, version)}); > cu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE); > Map touchpointData = new HashMap(); > >@@ -88,7 +92,7 @@ > return PublisherHelper.createArtifactDescriptor(key, jreLocation); > } > >- private static ProvidedCapability[] generateJRECapability(String installableUnitId, Version installableUnitVersion, InputStream profileStream) { >+ private static IProvidedCapability[] generateJRECapability(String installableUnitId, Version installableUnitVersion, InputStream profileStream) { > if (profileStream == null) { > //use the 1.6 profile stored in the generator bundle > try { >@@ -101,7 +105,7 @@ > try { > p.load(profileStream); > ManifestElement[] jrePackages = ManifestElement.parseHeader("org.osgi.framework.system.packages", (String) p.get("org.osgi.framework.system.packages")); //$NON-NLS-1$ //$NON-NLS-2$ >- ProvidedCapability[] exportedPackageAsCapabilities = new ProvidedCapability[jrePackages.length + 1]; >+ IProvidedCapability[] exportedPackageAsCapabilities = new IProvidedCapability[jrePackages.length + 1]; > exportedPackageAsCapabilities[0] = PublisherHelper.createSelfCapability(installableUnitId, installableUnitVersion); > for (int i = 1; i <= jrePackages.length; i++) { > exportedPackageAsCapabilities[i] = MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE, jrePackages[i - 1].getValue(), null); >@@ -122,7 +126,7 @@ > } > } > } >- return new ProvidedCapability[0]; >+ return new IProvidedCapability[0]; > } > > private static void generateJREIUData(InstallableUnitDescription iu, String installableUnitId, Version installableUnitVersion, File jreLocation) { >Index: src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java,v >retrieving revision 1.7 >diff -u -r1.7 RootIUAction.java >--- src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java 22 Dec 2008 15:30:45 -0000 1.7 >+++ src/org/eclipse/equinox/p2/publisher/actions/RootIUAction.java 24 Dec 2008 17:31:11 -0000 >@@ -10,6 +10,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher.actions; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.*; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.p2.publisher.Activator; >@@ -66,7 +72,7 @@ > Collection allAdvice = info.getAdvice(null, true, id, version, ITouchpointAdvice.class); > if (allAdvice == null || allAdvice.isEmpty()) > return; >- TouchpointData touchpointData = MetadataFactory.createTouchpointData(Collections.EMPTY_MAP); >+ ITouchpointData touchpointData = MetadataFactory.createTouchpointData(Collections.EMPTY_MAP); > for (Iterator it = allAdvice.iterator(); it.hasNext();) > touchpointData = ((ITouchpointAdvice) it.next()).getTouchpointData(touchpointData); > descriptor.addTouchpointData(touchpointData); >@@ -155,13 +161,13 @@ > Collection requiredCapabilities = createIURequirements(children); > if (requires != null) > requiredCapabilities.addAll(requires); >- root.setRequiredCapabilities((RequiredCapability[]) requiredCapabilities.toArray(new RequiredCapability[requiredCapabilities.size()])); >+ root.setRequiredCapabilities((IRequiredCapability[]) requiredCapabilities.toArray(new IRequiredCapability[requiredCapabilities.size()])); > root.setArtifacts(new IArtifactKey[0]); > > root.setProperty("lineUp", "true"); //$NON-NLS-1$ //$NON-NLS-2$ > root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null)); > root.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString()); >- root.setCapabilities(new ProvidedCapability[] {createSelfCapability(id, version)}); >+ root.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); > // TODO why is the type OSGI? > root.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); > return root; >Index: src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java,v >retrieving revision 1.1 >diff -u -r1.1 ICapabilityAdvice.java >--- src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java 8 Aug 2008 02:53:44 -0000 1.1 >+++ src/org/eclipse/equinox/p2/publisher/actions/ICapabilityAdvice.java 24 Dec 2008 17:31:11 -0000 >@@ -1,13 +1,15 @@ > package org.eclipse.equinox.p2.publisher.actions; > >-import org.eclipse.equinox.internal.provisional.p2.metadata.ProvidedCapability; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription; > import org.eclipse.equinox.p2.publisher.IPublisherAdvice; > > public interface ICapabilityAdvice extends IPublisherAdvice { > >- public ProvidedCapability[] getProvidedCapabilities(InstallableUnitDescription iu); >+ public IProvidedCapability[] getProvidedCapabilities(InstallableUnitDescription iu); > >- public RequiredCapability[] getRequiredCapabilities(InstallableUnitDescription iu); >+ public IRequiredCapability[] getRequiredCapabilities(InstallableUnitDescription iu); > } >Index: src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java,v >retrieving revision 1.9 >diff -u -r1.9 RootFilesAction.java >--- src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java 22 Dec 2008 15:30:45 -0000 1.9 >+++ src/org/eclipse/equinox/p2/publisher/actions/RootFilesAction.java 24 Dec 2008 17:31:11 -0000 >@@ -10,6 +10,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher.actions; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.util.*; > import org.eclipse.core.runtime.*; >@@ -89,8 +93,8 @@ > IArtifactKey key = PublisherHelper.createBinaryArtifactKey(iuId, version); > iu.setArtifacts(new IArtifactKey[] {key}); > iu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE); >- ProvidedCapability launcherCapability = MetadataFactory.createProvidedCapability(flavor + idBase, idPrefix, version); >- iu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(iuId, version), launcherCapability}); >+ IProvidedCapability launcherCapability = MetadataFactory.createProvidedCapability(flavor + idBase, idPrefix, version); >+ iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(iuId, version), launcherCapability}); > result.addIU(MetadataFactory.createInstallableUnit(iu), IPublisherResult.ROOT); > > // Create the CU that installs/configures the executable >@@ -99,11 +103,11 @@ > cu.setId(configUnitId); > cu.setVersion(version); > cu.setFilter(filter); >- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iuId, new VersionRange(version, true, version, true), null, false, false)}); >+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iuId, new VersionRange(version, true, version, true), null, false, false)}); > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); > > //TODO bug 218890, would like the fragment to provide the launcher capability as well, but can't right now. >- cu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, version)}); >+ cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, version)}); > > cu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE); > Map touchpointData = new HashMap(); >Index: src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java,v >retrieving revision 1.11 >diff -u -r1.11 EquinoxExecutableAction.java >--- src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java 22 Dec 2008 15:30:45 -0000 1.11 >+++ src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java 24 Dec 2008 17:31:13 -0000 >@@ -10,6 +10,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher.eclipse; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.util.HashMap; > import java.util.Map; >@@ -66,7 +70,7 @@ > iud.setId(id); > iud.setVersion(version); > iud.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); >- iud.setCapabilities(new ProvidedCapability[] {createSelfCapability(id, version)}); >+ iud.setCapabilities(new IProvidedCapability[] {createSelfCapability(id, version)}); > > String filter = createFilterSpec(configSpec); > if (filter.length() > 0) >@@ -94,9 +98,9 @@ > iu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE); > String namespace = ConfigCUsAction.getAbstractCUCapabilityNamespace(idBase, TYPE, flavor, configSpec); > String capabilityId = ConfigCUsAction.getAbstractCUCapabilityId(idBase, TYPE, flavor, configSpec); >- ProvidedCapability executableCapability = MetadataFactory.createProvidedCapability(namespace, capabilityId, version); >- ProvidedCapability selfCapability = createSelfCapability(id, version); >- iu.setCapabilities(new ProvidedCapability[] {selfCapability, executableCapability}); >+ IProvidedCapability executableCapability = MetadataFactory.createProvidedCapability(namespace, capabilityId, version); >+ IProvidedCapability selfCapability = createSelfCapability(id, version); >+ iu.setCapabilities(new IProvidedCapability[] {selfCapability, executableCapability}); > > //Create the artifact descriptor. we have several files so no path on disk > IArtifactKey key = PublisherHelper.createBinaryArtifactKey(id, version); >@@ -114,7 +118,7 @@ > String launcherFragment = EquinoxLauncherCUAction.ORG_ECLIPSE_EQUINOX_LAUNCHER + '.' + ws + '.' + os; > if (!(Constants.OS_MACOSX.equals(os) && !Constants.ARCH_X86_64.equals(arch))) > launcherFragment += '.' + arch; >- iu.setRequiredCapabilities(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherFragment, VersionRange.emptyRange, filter, false, false)}); >+ iu.setRequiredCapabilities(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherFragment, VersionRange.emptyRange, filter, false, false)}); > result.addIU(MetadataFactory.createInstallableUnit(iu), IPublisherResult.ROOT); > } > >@@ -130,10 +134,10 @@ > cu.setVersion(version); > cu.setFilter(createFilterSpec(configSpec)); > String executableId = getExecutableId(); >- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, executableId, new VersionRange(version, true, version, true), null, false, false)}); >+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, executableId, new VersionRange(version, true, version, true), null, false, false)}); > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); > //TODO bug 218890, would like the fragment to provide the launcher capability as well, but can't right now. >- cu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(id, version)}); >+ cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version)}); > cu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE); > String[] config = parseConfigSpec(configSpec); > String os = config[1]; >Index: src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java,v >retrieving revision 1.10 >diff -u -r1.10 AdviceFileAdvice.java >--- src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java 22 Dec 2008 15:30:45 -0000 1.10 >+++ src/org/eclipse/equinox/p2/publisher/eclipse/AdviceFileAdvice.java 24 Dec 2008 17:31:12 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher.eclipse; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.io.*; > import java.util.*; > import java.util.zip.ZipEntry; >@@ -126,7 +130,7 @@ > /*(non-Javadoc) > * @see org.eclipse.equinox.p2.publisher.eclipse.ITouchpointAdvice#getTouchpointData() > */ >- public TouchpointData getTouchpointData(TouchpointData existing) { >+ public ITouchpointData getTouchpointData(ITouchpointData existing) { > Map touchpointData = new HashMap(existing.getInstructions()); > Map bundleAdvice = getInstructions(); > for (Iterator iterator = bundleAdvice.keySet().iterator(); iterator.hasNext();) { >@@ -136,7 +140,7 @@ > String instruction = ""; //$NON-NLS-1$ > if (touchpointData.containsKey(phase)) { > Object previous = touchpointData.get(phase); >- instruction = previous instanceof TouchpointInstruction ? ((TouchpointInstruction) previous).getBody() : (String) previous; >+ instruction = previous instanceof ITouchpointInstruction ? ((ITouchpointInstruction) previous).getBody() : (String) previous; > if (instruction.length() > 0 && !instruction.endsWith(";")) //$NON-NLS-1$ > instruction += ';'; > } >Index: src/org/eclipse/equinox/p2/publisher/eclipse/ITouchpointAdvice.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ITouchpointAdvice.java,v >retrieving revision 1.1 >diff -u -r1.1 ITouchpointAdvice.java >--- src/org/eclipse/equinox/p2/publisher/eclipse/ITouchpointAdvice.java 25 Nov 2008 16:01:06 -0000 1.1 >+++ src/org/eclipse/equinox/p2/publisher/eclipse/ITouchpointAdvice.java 24 Dec 2008 17:31:14 -0000 >@@ -10,7 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.publisher.eclipse; > >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointData; >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import org.eclipse.equinox.p2.publisher.IPublisherAdvice; > > /** >@@ -25,6 +26,6 @@ > * @param existingData The current set of touchpoint data. > * @return the merged touchpoint data > */ >- public TouchpointData getTouchpointData(TouchpointData existingData); >+ public ITouchpointData getTouchpointData(ITouchpointData existingData); > > } >Index: src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java,v >retrieving revision 1.24 >diff -u -r1.24 FeaturesAction.java >--- src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java 22 Dec 2008 15:30:45 -0000 1.24 >+++ src/org/eclipse/equinox/p2/publisher/eclipse/FeaturesAction.java 24 Dec 2008 17:31:14 -0000 >@@ -10,6 +10,16 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher.eclipse; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.*; > import java.net.URI; > import java.net.URISyntaxException; >@@ -75,13 +85,13 @@ > iu.setProperty(PublisherHelper.ECLIPSE_INSTALL_HANDLER_PROP, installHandlerProperty); > } > >- iu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(id, version), PublisherHelper.FEATURE_CAPABILITY, MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version)}); >+ iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version), PublisherHelper.FEATURE_CAPABILITY, MetadataFactory.createProvidedCapability(PublisherHelper.CAPABILITY_NS_UPDATE_FEATURE, feature.getId(), version)}); > iu.setArtifacts(new IArtifactKey[] {createFeatureArtifactKey(feature.getId(), version.toString())}); > > // link in all the children (if any) as requirements. > // TODO consider if these should be linked as exact version numbers. Should be ok but may be brittle. > if (childIUs != null) { >- RequiredCapability[] required = new RequiredCapability[childIUs.size()]; >+ IRequiredCapability[] required = new IRequiredCapability[childIUs.size()]; > for (int i = 0; i < childIUs.size(); i++) { > IInstallableUnit child = (IInstallableUnit) childIUs.get(i); > required[i] = MetadataFactory.createRequiredCapability(PublisherHelper.IU_NAMESPACE, child.getId(), new VersionRange(child.getVersion(), true, child.getVersion(), true), INSTALL_FEATURES_FILTER, false, false); >@@ -233,7 +243,7 @@ > iu.setId(id); > Version version = new Version(featureVersion); > iu.setVersion(version); >- iu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(id, version)}); >+ iu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(id, version)}); > iu.setTouchpointType(PublisherHelper.TOUCHPOINT_NATIVE); > String configSpec = descriptor.getConfigSpec(); > if (configSpec != null) >@@ -269,7 +279,7 @@ > iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, new VersionRange(new Version(0, 0, 0), true, new Version(feature.getVersion()), false), IUpdateDescriptor.NORMAL, null)); > > FeatureEntry entries[] = feature.getEntries(); >- RequiredCapability[] required = new RequiredCapability[entries.length + (featureIU == null ? 0 : 1)]; >+ IRequiredCapability[] required = new IRequiredCapability[entries.length + (featureIU == null ? 0 : 1)]; > for (int i = 0; i < entries.length; i++) { > VersionRange range = getVersionRange(entries[i]); > String requiredId = getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true); >@@ -280,7 +290,7 @@ > if (featureIU != null) > required[entries.length] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false); > iu.setRequiredCapabilities(required); >- iu.setTouchpointType(TouchpointType.NONE); >+ iu.setTouchpointType(ITouchpointType.NONE); > processTouchpointAdvice(iu, info); > processFeatureAdvice(feature, iu, info); > iu.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString()); >@@ -306,7 +316,7 @@ > } > } > >- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > return MetadataFactory.createInstallableUnit(iu); > } > >@@ -335,13 +345,13 @@ > ArrayList requirementChanges = new ArrayList(); > for (int i = 0; i < entries.length; i++) { > VersionRange range = getVersionRange(entries[i]); >- RequiredCapability req = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false); >+ IRequiredCapability req = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false); > if (entries[i].isRequires()) { > applicabilityScope.add(req); > continue; > } > if (entries[i].isPlugin()) { >- RequiredCapability from = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false); >+ IRequiredCapability from = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false); > requirementChanges.add(new RequirementChange(from, req)); > continue; > } >@@ -349,19 +359,19 @@ > } > //Always add a requirement on the IU containing the feature jar > patchRequirements.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false)); >- iu.setRequiredCapabilities((RequiredCapability[]) patchRequirements.toArray(new RequiredCapability[patchRequirements.size()])); >- iu.setApplicabilityScope(new RequiredCapability[][] {(RequiredCapability[]) applicabilityScope.toArray(new RequiredCapability[applicabilityScope.size()])}); >- iu.setRequirementChanges((RequirementChange[]) requirementChanges.toArray(new RequirementChange[requirementChanges.size()])); >+ iu.setRequiredCapabilities((IRequiredCapability[]) patchRequirements.toArray(new IRequiredCapability[patchRequirements.size()])); >+ iu.setApplicabilityScope(new IRequiredCapability[][] {(IRequiredCapability[]) applicabilityScope.toArray(new IRequiredCapability[applicabilityScope.size()])}); >+ iu.setRequirementChanges((IRequirementChange[]) requirementChanges.toArray(new IRequirementChange[requirementChanges.size()])); > > //Generate lifecycle >- RequiredCapability lifeCycle = null; >+ IRequiredCapability lifeCycle = null; > if (applicabilityScope.size() > 0) { >- RequiredCapability req = (RequiredCapability) applicabilityScope.get(0); >+ IRequiredCapability req = (IRequiredCapability) applicabilityScope.get(0); > lifeCycle = MetadataFactory.createRequiredCapability(req.getNamespace(), req.getName(), req.getRange(), null, false, false, false); > iu.setLifeCycle(lifeCycle); > } > >- iu.setTouchpointType(TouchpointType.NONE); >+ iu.setTouchpointType(ITouchpointType.NONE); > processTouchpointAdvice(iu, info); > processFeatureAdvice(feature, iu, info); > iu.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString()); >@@ -388,7 +398,7 @@ > } > } > >- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > return MetadataFactory.createInstallableUnitPatch(iu); > } > >@@ -647,7 +657,7 @@ > > private void processTouchpointAdvice(InstallableUnitDescription iu, IPublisherInfo info) { > Collection advice = info.getAdvice(null, false, null, null, ITouchpointAdvice.class); >- TouchpointData result = MetadataFactory.createTouchpointData(new HashMap()); >+ ITouchpointData result = MetadataFactory.createTouchpointData(new HashMap()); > for (Iterator i = advice.iterator(); i.hasNext();) { > ITouchpointAdvice entry = (ITouchpointAdvice) i.next(); > result = entry.getTouchpointData(result); >Index: src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java,v >retrieving revision 1.12 >diff -u -r1.12 ConfigCUsAction.java >--- src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java 22 Dec 2008 15:30:45 -0000 1.12 >+++ src/org/eclipse/equinox/p2/publisher/eclipse/ConfigCUsAction.java 24 Dec 2008 17:31:13 -0000 >@@ -10,6 +10,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher.eclipse; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.util.*; > import java.util.Map.Entry; >@@ -217,11 +219,11 @@ > cu.setVersion(version); > cu.setFilter(AbstractPublisherAction.createFilterSpec(configSpec)); > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- ProvidedCapability selfCapability = PublisherHelper.createSelfCapability(resultId, version); >+ IProvidedCapability selfCapability = PublisherHelper.createSelfCapability(resultId, version); > String namespace = getAbstractCUCapabilityNamespace(id, type, flavor, configSpec); > String abstractId = getAbstractCUCapabilityId(id, type, flavor, configSpec); >- ProvidedCapability abstractCapability = MetadataFactory.createProvidedCapability(namespace, abstractId, version); >- cu.setCapabilities(new ProvidedCapability[] {selfCapability, abstractCapability}); >+ IProvidedCapability abstractCapability = MetadataFactory.createProvidedCapability(namespace, abstractId, version); >+ cu.setCapabilities(new IProvidedCapability[] {selfCapability, abstractCapability}); > cu.addTouchpointData(MetadataFactory.createTouchpointData(touchpointData)); > cu.setTouchpointType(PublisherHelper.TOUCHPOINT_OSGI); > return MetadataFactory.createInstallableUnit(cu); >Index: src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java,v >retrieving revision 1.18 >diff -u -r1.18 BundlesAction.java >--- src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 22 Dec 2008 15:30:45 -0000 1.18 >+++ src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java 24 Dec 2008 17:31:13 -0000 >@@ -61,15 +61,15 @@ > /** > * A capability name in the {@link PublisherHelper#NAMESPACE_ECLIPSE_TYPE} namespace > * representing and OSGi bundle resource >- * @see RequiredCapability#getName() >- * @see ProvidedCapability#getName() >+ * @see IRequiredCapability#getName() >+ * @see IProvidedCapability#getName() > */ > public static final String TYPE_ECLIPSE_BUNDLE = "bundle"; //$NON-NLS-1$ > > /** > * A capability name in the {@link PublisherHelper#NAMESPACE_ECLIPSE_TYPE} namespace > * representing a source bundle >- * @see RequiredCapability#getName() >+ * @see IRequiredCapability#getName() > */ > public static final String TYPE_ECLIPSE_SOURCE = "source"; //$NON-NLS-1$ > >@@ -77,8 +77,8 @@ > private static final String CAPABILITY_NS_OSGI_BUNDLE = "osgi.bundle"; //$NON-NLS-1$ > private static final String CAPABILITY_NS_OSGI_FRAGMENT = "osgi.fragment"; //$NON-NLS-1$ > >- public static final ProvidedCapability BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new Version(1, 0, 0)); >- public static final ProvidedCapability SOURCE_BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, new Version(1, 0, 0)); >+ public static final IProvidedCapability BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new Version(1, 0, 0)); >+ public static final IProvidedCapability SOURCE_BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, new Version(1, 0, 0)); > > static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$ > >@@ -109,13 +109,13 @@ > cu.setVersion(hostVersion); > > //Indicate the IU to which this CU apply >- cu.setHost(new RequiredCapability[] { // >+ cu.setHost(new IRequiredCapability[] { // > MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, hostId, new VersionRange(hostVersion, true, PublisherHelper.versionMax, true), null, false, false, true), // > MetadataFactory.createRequiredCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new VersionRange(new Version(1, 0, 0), true, new Version(2, 0, 0), false), null, false, false, false)}); > > //Adds capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, hostVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, hostVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > Map touchpointData = new HashMap(); > touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$ >@@ -166,7 +166,7 @@ > //TODO this needs to be refined to take into account all the attribute handled by imports > reqsDeps.add(MetadataFactory.createRequiredCapability(PublisherHelper.CAPABILITY_NS_JAVA_PACKAGE, importPackageName, versionRange, null, isOptional(importSpec), false)); > } >- iu.setRequiredCapabilities((RequiredCapability[]) reqsDeps.toArray(new RequiredCapability[reqsDeps.size()])); >+ iu.setRequiredCapabilities((IRequiredCapability[]) reqsDeps.toArray(new IRequiredCapability[reqsDeps.size()])); > > // Create set of provided capabilities > ArrayList providedCapabilities = new ArrayList(); >@@ -199,7 +199,7 @@ > providedCapabilities.add(PublisherHelper.makeTranslationCapability(bd.getSymbolicName(), locale)); > } > } >- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > processCapabilityAdvice(iu, bd, info); > > // Set certain properties from the manifest header attributes as IU properties. >@@ -263,18 +263,18 @@ > Collection advice = info.getAdvice(null, false, null, null, ICapabilityAdvice.class); > for (Iterator i = advice.iterator(); i.hasNext();) { > ICapabilityAdvice entry = (ICapabilityAdvice) i.next(); >- RequiredCapability[] requiredAdvice = entry.getRequiredCapabilities(iu); >- ProvidedCapability[] providedAdvice = entry.getProvidedCapabilities(iu); >+ IRequiredCapability[] requiredAdvice = entry.getRequiredCapabilities(iu); >+ IProvidedCapability[] providedAdvice = entry.getProvidedCapabilities(iu); > if (providedAdvice != null) { >- RequiredCapability[] current = iu.getRequiredCapabilities(); >- RequiredCapability[] result = new RequiredCapability[requiredAdvice.length + current.length]; >+ IRequiredCapability[] current = iu.getRequiredCapabilities(); >+ IRequiredCapability[] result = new IRequiredCapability[requiredAdvice.length + current.length]; > System.arraycopy(requiredAdvice, 0, result, 0, requiredAdvice.length); > System.arraycopy(current, 0, result, requiredAdvice.length, current.length); > iu.setRequiredCapabilities(result); > } > if (providedAdvice != null) { >- ProvidedCapability[] current = iu.getProvidedCapabilities(); >- ProvidedCapability[] result = new ProvidedCapability[providedAdvice.length + current.length]; >+ IProvidedCapability[] current = iu.getProvidedCapabilities(); >+ IProvidedCapability[] result = new IProvidedCapability[providedAdvice.length + current.length]; > System.arraycopy(providedAdvice, 0, result, 0, providedAdvice.length); > System.arraycopy(current, 0, result, providedAdvice.length, current.length); > iu.setCapabilities(result); >@@ -290,7 +290,7 @@ > */ > private static void processTouchpointAdvice(InstallableUnitDescription iu, Map currentInstructions, IPublisherInfo info) { > Collection advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), ITouchpointAdvice.class); >- TouchpointData result = MetadataFactory.createTouchpointData(currentInstructions); >+ ITouchpointData result = MetadataFactory.createTouchpointData(currentInstructions); > for (Iterator i = advice.iterator(); i.hasNext();) { > ITouchpointAdvice entry = (ITouchpointAdvice) i.next(); > result = entry.getTouchpointData(result); >@@ -320,7 +320,7 @@ > fragment.setVersion(Version.fromOSGiVersion(bd.getVersion())); // TODO: is this a meaningful version? > > HostSpecification hostSpec = bd.getHost(); >- RequiredCapability[] hostReqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, hostSpec.getName(), VersionRange.fromOSGiVersionRange(hostSpec.getVersionRange()), null, false, false, false)}; >+ IRequiredCapability[] hostReqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, hostSpec.getName(), VersionRange.fromOSGiVersionRange(hostSpec.getVersionRange()), null, false, false, false)}; > fragment.setHost(hostReqs); > > fragment.setSingleton(true); >@@ -339,7 +339,7 @@ > } > providedCapabilities.add(PublisherHelper.makeTranslationCapability(hostId, locale)); > } >- fragment.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ fragment.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > return MetadataFactory.createInstallableUnitFragment(fragment); > } >@@ -385,10 +385,10 @@ > > // Add capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {PublisherHelper.createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > // Create a required capability on bundles >- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, VersionRange.emptyRange, null, false, true, false)}; >+ IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(PublisherHelper.NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, VersionRange.emptyRange, null, false, true, false)}; > cu.setHost(reqs); > Map touchpointData = new HashMap(); > >Index: src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java,v >retrieving revision 1.12 >diff -u -r1.12 PublisherHelper.java >--- src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java 22 Dec 2008 15:30:45 -0000 1.12 >+++ src/org/eclipse/equinox/spi/p2/publisher/PublisherHelper.java 24 Dec 2008 17:31:14 -0000 >@@ -38,30 +38,30 @@ > public class PublisherHelper { > /** > * A capability namespace representing the type of Eclipse resource (bundle, feature, source bundle, etc) >- * @see RequiredCapability#getNamespace() >- * @see ProvidedCapability#getNamespace() >+ * @see IRequiredCapability#getNamespace() >+ * @see IProvidedCapability#getNamespace() > */ > public static final String NAMESPACE_ECLIPSE_TYPE = "org.eclipse.equinox.p2.eclipse.type"; //$NON-NLS-1$ > > /** > * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace > * representing a feature >- * @see RequiredCapability#getName() >+ * @see IRequiredCapability#getName() > */ > public static final String TYPE_ECLIPSE_FEATURE = "feature"; //$NON-NLS-1$ > > /** > * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace > * representing a source bundle >- * @see RequiredCapability#getName() >+ * @see IRequiredCapability#getName() > */ > public static final String TYPE_ECLIPSE_SOURCE = "source"; //$NON-NLS-1$ > > /** > * A capability namespace representing the localization (translation) > * of strings from a specified IU in a specified locale >- * @see RequiredCapability#getNamespace() >- * @see ProvidedCapability#getNamespace() >+ * @see IRequiredCapability#getNamespace() >+ * @see IProvidedCapability#getNamespace() > * TODO: this should be in API, probably in IInstallableUnit > */ > public static final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$ >@@ -85,10 +85,10 @@ > > public static final Version versionMax = new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE); > >- public static final TouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", new Version(1, 0, 0)); //$NON-NLS-1$ >- public static final TouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0)); //$NON-NLS-1$ >+ public static final ITouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", new Version(1, 0, 0)); //$NON-NLS-1$ >+ public static final ITouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0)); //$NON-NLS-1$ > >- public static final ProvidedCapability FEATURE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, new Version(1, 0, 0)); >+ public static final IProvidedCapability FEATURE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, new Version(1, 0, 0)); > > public static IArtifactDescriptor createArtifactDescriptor(IArtifactKey key, File pathOnDisk) { > //TODO this size calculation is bogus >@@ -142,7 +142,7 @@ > } > } > >- public static ProvidedCapability makeTranslationCapability(String hostId, Locale locale) { >+ public static IProvidedCapability makeTranslationCapability(String hostId, Locale locale) { > return MetadataFactory.createProvidedCapability(NAMESPACE_IU_LOCALIZATION, locale.toString(), new Version(1, 0, 0)); > } > >@@ -159,10 +159,10 @@ > > // Add capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > // Create a required capability on features >- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, VersionRange.emptyRange, null, true, true, false)}; >+ IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, VersionRange.emptyRange, null, true, true, false)}; > cu.setHost(reqs); > > cu.setFilter(INSTALL_FEATURES_FILTER); >@@ -183,10 +183,10 @@ > > // Add capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > // Create a required capability on source providers >- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)}; >+ IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)}; > cu.setHost(reqs); > Map touchpointData = new HashMap(); > >@@ -222,7 +222,7 @@ > return new ArtifactKey(BINARY_ARTIFACT_CLASSIFIER, id, version); > } > >- public static ProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) { >+ public static IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) { > return MetadataFactory.createProvidedCapability(IU_NAMESPACE, installableUnitId, installableUnitVersion); > } > >Index: src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java,v >retrieving revision 1.15 >diff -u -r1.15 AbstractPublisherAction.java >--- src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java 22 Dec 2008 15:30:45 -0000 1.15 >+++ src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java 24 Dec 2008 17:31:11 -0000 >@@ -10,6 +10,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.publisher; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.*; > import java.util.*; > import org.eclipse.core.runtime.*; >@@ -32,7 +36,7 @@ > public static final String CONFIG_SEGMENT_SEPARATOR = "."; //$NON-NLS-1$ > > public static void addSelfCapability(InstallableUnitDescription root) { >- root.setCapabilities(new ProvidedCapability[] {createSelfCapability(root.getId(), root.getVersion())}); >+ root.setCapabilities(new IProvidedCapability[] {createSelfCapability(root.getId(), root.getVersion())}); > } > > /** >@@ -129,7 +133,7 @@ > return FileUtils.createRootPathComputer(root); > } > >- public static ProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) { >+ public static IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) { > return MetadataFactory.createProvidedCapability(PublisherHelper.IU_NAMESPACE, installableUnitId, installableUnitVersion); > } > >@@ -171,18 +175,18 @@ > Collection advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), ICapabilityAdvice.class); > for (Iterator i = advice.iterator(); i.hasNext();) { > ICapabilityAdvice entry = (ICapabilityAdvice) i.next(); >- RequiredCapability[] requiredAdvice = entry.getRequiredCapabilities(iu); >- ProvidedCapability[] providedAdvice = entry.getProvidedCapabilities(iu); >+ IRequiredCapability[] requiredAdvice = entry.getRequiredCapabilities(iu); >+ IProvidedCapability[] providedAdvice = entry.getProvidedCapabilities(iu); > if (providedAdvice != null) { >- RequiredCapability[] current = iu.getRequiredCapabilities(); >- RequiredCapability[] result = new RequiredCapability[requiredAdvice.length + current.length]; >+ IRequiredCapability[] current = iu.getRequiredCapabilities(); >+ IRequiredCapability[] result = new IRequiredCapability[requiredAdvice.length + current.length]; > System.arraycopy(requiredAdvice, 0, result, 0, requiredAdvice.length); > System.arraycopy(current, 0, result, requiredAdvice.length, current.length); > iu.setRequiredCapabilities(result); > } > if (providedAdvice != null) { >- ProvidedCapability[] current = iu.getProvidedCapabilities(); >- ProvidedCapability[] result = new ProvidedCapability[providedAdvice.length + current.length]; >+ IProvidedCapability[] current = iu.getProvidedCapabilities(); >+ IProvidedCapability[] result = new IProvidedCapability[providedAdvice.length + current.length]; > System.arraycopy(providedAdvice, 0, result, 0, providedAdvice.length); > System.arraycopy(current, 0, result, providedAdvice.length, current.length); > iu.setCapabilities(result); >#P org.eclipse.equinox.p2.ui.admin >Index: src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui.admin/src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java,v >retrieving revision 1.13 >diff -u -r1.13 IUImplementationGroup.java >--- src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java 22 Dec 2008 15:30:49 -0000 1.13 >+++ src/org/eclipse/equinox/internal/p2/ui/admin/dialogs/IUImplementationGroup.java 24 Dec 2008 17:31:16 -0000 >@@ -10,6 +10,14 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.admin.dialogs; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Status; > import org.eclipse.equinox.internal.p2.ui.admin.ProvAdminUIActivator; >@@ -149,24 +157,24 @@ > if (value != null) { > namespace.setText(value); > } >- TouchpointType type = iu.getTouchpointType(); >+ ITouchpointType type = iu.getTouchpointType(); > if (type != null) { > touchpointType.setText(type.getId()); > } >- TouchpointData[] data = iu.getTouchpointData(); >+ ITouchpointData[] data = iu.getTouchpointData(); > String[] items = new String[data.length]; > for (int i = 0; i < data.length; i++) { > items[i] = data[i].toString(); > } > touchpointData.setItems(items); > >- RequiredCapability[] req = iu.getRequiredCapabilities(); >+ IRequiredCapability[] req = iu.getRequiredCapabilities(); > items = new String[req.length]; > for (int i = 0; i < req.length; i++) { > items[i] = req[i].toString(); > } > requiredCapabilities.setItems(items); >- ProvidedCapability[] prov = iu.getProvidedCapabilities(); >+ IProvidedCapability[] prov = iu.getProvidedCapabilities(); > items = new String[prov.length]; > for (int i = 0; i < prov.length; i++) { > items[i] = prov[i].toString(); >#P org.eclipse.equinox.p2.metadata.generator >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java,v >retrieving revision 1.63 >diff -u -r1.63 MetadataGeneratorHelper.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java 22 Dec 2008 15:30:45 -0000 1.63 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/MetadataGeneratorHelper.java 24 Dec 2008 17:31:19 -0000 >@@ -48,37 +48,37 @@ > public class MetadataGeneratorHelper { > /** > * A capability namespace representing the type of Eclipse resource (bundle, feature, source bundle, etc) >- * @see RequiredCapability#getNamespace() >- * @see ProvidedCapability#getNamespace() >+ * @see IRequiredCapability#getNamespace() >+ * @see IProvidedCapability#getNamespace() > */ > public static final String NAMESPACE_ECLIPSE_TYPE = "org.eclipse.equinox.p2.eclipse.type"; //$NON-NLS-1$ > > /** > * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace > * representing and OSGi bundle resource >- * @see RequiredCapability#getName() >- * @see ProvidedCapability#getName() >+ * @see IRequiredCapability#getName() >+ * @see IProvidedCapability#getName() > */ > public static final String TYPE_ECLIPSE_BUNDLE = "bundle"; //$NON-NLS-1$ > /** > * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace > * representing a feature >- * @see RequiredCapability#getName() >+ * @see IRequiredCapability#getName() > */ > public static final String TYPE_ECLIPSE_FEATURE = "feature"; //$NON-NLS-1$ > > /** > * A capability name in the {@link #NAMESPACE_ECLIPSE_TYPE} namespace > * representing a source bundle >- * @see RequiredCapability#getName() >+ * @see IRequiredCapability#getName() > */ > public static final String TYPE_ECLIPSE_SOURCE = "source"; //$NON-NLS-1$ > > /** > * A capability namespace representing the localization (translation) > * of strings from a specified IU in a specified locale >- * @see RequiredCapability#getNamespace() >- * @see ProvidedCapability#getNamespace() >+ * @see IRequiredCapability#getNamespace() >+ * @see IProvidedCapability#getNamespace() > * TODO: this should be in API, probably in IInstallableUnit > */ > public static final String NAMESPACE_IU_LOCALIZATION = "org.eclipse.equinox.p2.localization"; //$NON-NLS-1$ >@@ -118,12 +118,12 @@ > > private static final Version versionMax = new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE); > >- public static final TouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", new Version(1, 0, 0)); //$NON-NLS-1$ >- public static final TouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0)); //$NON-NLS-1$ >+ public static final ITouchpointType TOUCHPOINT_NATIVE = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.native", new Version(1, 0, 0)); //$NON-NLS-1$ >+ public static final ITouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0)); //$NON-NLS-1$ > >- public static final ProvidedCapability BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new Version(1, 0, 0)); >- public static final ProvidedCapability FEATURE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, new Version(1, 0, 0)); >- public static final ProvidedCapability SOURCE_BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, new Version(1, 0, 0)); >+ public static final IProvidedCapability BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new Version(1, 0, 0)); >+ public static final IProvidedCapability FEATURE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, new Version(1, 0, 0)); >+ public static final IProvidedCapability SOURCE_BUNDLE_CAPABILITY = MetadataFactory.createProvidedCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, new Version(1, 0, 0)); > > static final String DEFAULT_BUNDLE_LOCALIZATION = "plugin"; //$NON-NLS-1$ > >@@ -213,13 +213,13 @@ > cu.setVersion(iuVersion); > > //Indicate the IU to which this CU apply >- cu.setHost(new RequiredCapability[] { // >+ cu.setHost(new IRequiredCapability[] { // > MetadataFactory.createRequiredCapability(CAPABILITY_NS_OSGI_BUNDLE, iuId, new VersionRange(iuVersion, true, versionMax, true), null, false, false, true), // > MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, new VersionRange(new Version(1, 0, 0), true, new Version(2, 0, 0), false), null, false, false, false)}); > > //Adds capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, iuVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, iuVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > Map touchpointData = new HashMap(); > touchpointData.put("install", "installBundle(bundle:${artifact})"); //$NON-NLS-1$ //$NON-NLS-2$ >@@ -286,7 +286,7 @@ > //TODO this needs to be refined to take into account all the attribute handled by imports > reqsDeps.add(MetadataFactory.createRequiredCapability(CAPABILITY_NS_JAVA_PACKAGE, importPackageName, versionRange, null, isOptional(importSpec), false)); > } >- iu.setRequiredCapabilities((RequiredCapability[]) reqsDeps.toArray(new RequiredCapability[reqsDeps.size()])); >+ iu.setRequiredCapabilities((IRequiredCapability[]) reqsDeps.toArray(new IRequiredCapability[reqsDeps.size()])); > > // Create set of provided capabilities > ArrayList providedCapabilities = new ArrayList(); >@@ -321,7 +321,7 @@ > } > } > >- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > iu.setArtifacts(new IArtifactKey[] {key}); > >@@ -407,7 +407,7 @@ > fragment.setVersion(Version.fromOSGiVersion(bd.getVersion())); // TODO: is this a meaningful version? > > HostSpecification hostSpec = bd.getHost(); >- RequiredCapability[] hostReqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, hostSpec.getName(), VersionRange.fromOSGiVersionRange(hostSpec.getVersionRange()), null, false, false, false)}; >+ IRequiredCapability[] hostReqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, hostSpec.getName(), VersionRange.fromOSGiVersionRange(hostSpec.getVersionRange()), null, false, false, false)}; > fragment.setHost(hostReqs); > > fragment.setSingleton(true); >@@ -426,7 +426,7 @@ > } > providedCapabilities.add(makeTranslationCapability(hostId, locale)); > } >- fragment.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ fragment.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > return MetadataFactory.createInstallableUnitFragment(fragment); > } >@@ -451,7 +451,7 @@ > return id + ".translated_host_properties"; //$NON-NLS-1$ > } > >- private static ProvidedCapability makeTranslationCapability(String hostId, Locale locale) { >+ private static IProvidedCapability makeTranslationCapability(String hostId, Locale locale) { > return MetadataFactory.createProvidedCapability(NAMESPACE_IU_LOCALIZATION, locale.toString(), new Version(1, 0, 0)); > } > >@@ -482,7 +482,7 @@ > if (parentCategory != null) { > reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, parentCategory.getId(), VersionRange.emptyRange, parentCategory.getFilter(), false, false)); > } >- cat.setRequiredCapabilities((RequiredCapability[]) reqsConfigurationUnits.toArray(new RequiredCapability[reqsConfigurationUnits.size()])); >+ cat.setRequiredCapabilities((IRequiredCapability[]) reqsConfigurationUnits.toArray(new IRequiredCapability[reqsConfigurationUnits.size()])); > > // Create set of provided capabilities > ArrayList providedCapabilities = new ArrayList(); >@@ -502,7 +502,7 @@ > } > } > >- cat.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ cat.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > cat.setArtifacts(new IArtifactKey[0]); > cat.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$ >@@ -550,10 +550,10 @@ > > // Add capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > // Create a required capability on bundles >- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, VersionRange.emptyRange, null, false, true, false)}; >+ IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_BUNDLE, VersionRange.emptyRange, null, false, true, false)}; > cu.setHost(reqs); > Map touchpointData = new HashMap(); > >@@ -586,10 +586,10 @@ > > // Add capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > // Create a required capability on features >- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, VersionRange.emptyRange, null, true, true, false)}; >+ IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_FEATURE, VersionRange.emptyRange, null, true, true, false)}; > cu.setHost(reqs); > > cu.setFilter(INSTALL_FEATURES_FILTER); >@@ -610,10 +610,10 @@ > > // Add capabilities for fragment, self, and describing the flavor supported > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, configUnitVersion), MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_FLAVOR, configurationFlavor, new Version(1, 0, 0))}); > > // Create a required capability on source providers >- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)}; >+ IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(NAMESPACE_ECLIPSE_TYPE, TYPE_ECLIPSE_SOURCE, VersionRange.emptyRange, null, true, true, false)}; > cu.setHost(reqs); > Map touchpointData = new HashMap(); > >@@ -715,7 +715,7 @@ > } > } > >- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > if (extraProperties != null) { > Enumeration e = extraProperties.propertyNames(); >@@ -759,7 +759,7 @@ > iu.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(id, new VersionRange(new Version(0, 0, 0), true, new Version(feature.getVersion()), false), IUpdateDescriptor.NORMAL, null)); > > FeatureEntry entries[] = feature.getEntries(); >- RequiredCapability[] required = new RequiredCapability[entries.length + (featureIU == null ? 0 : 1)]; >+ IRequiredCapability[] required = new IRequiredCapability[entries.length + (featureIU == null ? 0 : 1)]; > for (int i = 0; i < entries.length; i++) { > VersionRange range = getVersionRange(entries[i]); > String requiredId = entries[i].getId(); >@@ -772,7 +772,7 @@ > if (featureIU != null) > required[entries.length] = MetadataFactory.createRequiredCapability(IU_NAMESPACE, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false); > iu.setRequiredCapabilities(required); >- iu.setTouchpointType(TouchpointType.NONE); >+ iu.setTouchpointType(ITouchpointType.NONE); > iu.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString()); > // TODO: shouldn't the filter for the group be constructed from os, ws, arch, nl > // of the feature? >@@ -796,7 +796,7 @@ > } > } > >- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > if (extraProperties != null) { > Enumeration e = extraProperties.propertyNames(); >@@ -834,13 +834,13 @@ > ArrayList requirementChanges = new ArrayList(); > for (int i = 0; i < entries.length; i++) { > VersionRange range = getVersionRange(entries[i]); >- RequiredCapability req = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false); >+ IRequiredCapability req = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), range, getFilter(entries[i]), entries[i].isOptional(), false); > if (entries[i].isRequires()) { > applicabilityScope.add(req); > continue; > } > if (entries[i].isPlugin()) { >- RequiredCapability from = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false); >+ IRequiredCapability from = MetadataFactory.createRequiredCapability(IU_NAMESPACE, getTransformedId(entries[i].getId(), entries[i].isPlugin(), /*isGroup*/true), VersionRange.emptyRange, getFilter(entries[i]), entries[i].isOptional(), false); > requirementChanges.add(new RequirementChange(from, req)); > continue; > } >@@ -848,19 +848,19 @@ > } > //Always add a requirement on the IU containing the feature jar > patchRequirements.add(MetadataFactory.createRequiredCapability(IU_NAMESPACE, featureIU.getId(), new VersionRange(featureIU.getVersion(), true, featureIU.getVersion(), true), INSTALL_FEATURES_FILTER, false, false)); >- iu.setRequiredCapabilities((RequiredCapability[]) patchRequirements.toArray(new RequiredCapability[patchRequirements.size()])); >- iu.setApplicabilityScope(new RequiredCapability[][] {(RequiredCapability[]) applicabilityScope.toArray(new RequiredCapability[applicabilityScope.size()])}); >- iu.setRequirementChanges((RequirementChange[]) requirementChanges.toArray(new RequirementChange[requirementChanges.size()])); >+ iu.setRequiredCapabilities((IRequiredCapability[]) patchRequirements.toArray(new IRequiredCapability[patchRequirements.size()])); >+ iu.setApplicabilityScope(new IRequiredCapability[][] {(IRequiredCapability[]) applicabilityScope.toArray(new IRequiredCapability[applicabilityScope.size()])}); >+ iu.setRequirementChanges((IRequirementChange[]) requirementChanges.toArray(new IRequirementChange[requirementChanges.size()])); > > //Generate lifecycle >- RequiredCapability lifeCycle = null; >+ IRequiredCapability lifeCycle = null; > if (applicabilityScope.size() > 0) { >- RequiredCapability req = (RequiredCapability) applicabilityScope.get(0); >+ IRequiredCapability req = (IRequiredCapability) applicabilityScope.get(0); > lifeCycle = MetadataFactory.createRequiredCapability(req.getNamespace(), req.getName(), req.getRange(), null, false, false, false); > iu.setLifeCycle(lifeCycle); > } > >- iu.setTouchpointType(TouchpointType.NONE); >+ iu.setTouchpointType(ITouchpointType.NONE); > iu.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString()); > iu.setProperty(IInstallableUnit.PROP_TYPE_PATCH, Boolean.TRUE.toString()); > // TODO: shouldn't the filter for the group be constructed from os, ws, arch, nl >@@ -885,7 +885,7 @@ > } > } > >- iu.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ iu.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > if (extraProperties != null) { > Enumeration e = extraProperties.propertyNames(); >@@ -928,9 +928,9 @@ > String configId = "config." + id;//$NON-NLS-1$ > cu.setId(configId); > cu.setVersion(version); >- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, versionMax, true), null, false, false)}); >+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, id, new VersionRange(version, true, versionMax, true), null, false, false)}); > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configId, version)}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configId, version)}); > cu.setTouchpointType(TOUCHPOINT_NATIVE); > Map touchpointData = new HashMap(); > >@@ -986,7 +986,7 @@ > > IArtifactKey key = createLauncherArtifactKey(launcherId, LAUNCHER_VERSION); > iu.setArtifacts(new IArtifactKey[] {key}); >- iu.setCapabilities(new ProvidedCapability[] {createSelfCapability(launcherId, LAUNCHER_VERSION)}); >+ iu.setCapabilities(new IProvidedCapability[] {createSelfCapability(launcherId, LAUNCHER_VERSION)}); > iu.setTouchpointType(TOUCHPOINT_NATIVE); > resultantIUs.add(MetadataFactory.createInstallableUnit(iu)); > >@@ -995,9 +995,9 @@ > String configUnitId = configurationFlavor + launcherId; > cu.setId(configUnitId); > cu.setVersion(LAUNCHER_VERSION); >- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(LAUNCHER_VERSION, true, versionMax, true), null, false, false)}); >+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(LAUNCHER_VERSION, true, versionMax, true), null, false, false)}); > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); >- cu.setCapabilities(new ProvidedCapability[] {createSelfCapability(configUnitId, LAUNCHER_VERSION)}); >+ cu.setCapabilities(new IProvidedCapability[] {createSelfCapability(configUnitId, LAUNCHER_VERSION)}); > cu.setTouchpointType(TOUCHPOINT_NATIVE); > Map touchpointData = new HashMap(); > String configurationData = "unzip(source:@artifact, target:${installFolder});"; //$NON-NLS-1$ >@@ -1029,7 +1029,7 @@ > iud.setId(iuId + '.' + launcherName); > iud.setVersion(version); > iud.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI); >- iud.setCapabilities(new ProvidedCapability[] {createSelfCapability(iuId + '.' + launcherName, version)}); >+ iud.setCapabilities(new IProvidedCapability[] {createSelfCapability(iuId + '.' + launcherName, version)}); > > if (os != null || ws != null || arch != null) { > String filterOs = os != null ? "(osgi.os=" + os + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ >@@ -1047,7 +1047,7 @@ > return iu; > } > >- public static ProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) { >+ public static IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) { > return MetadataFactory.createProvidedCapability(IU_NAMESPACE, installableUnitId, installableUnitVersion); > } > >@@ -1075,7 +1075,7 @@ > /** > * @deprecated moved to JREAction > */ >- private static ProvidedCapability[] generateJRECapability(String installableUnitId, Version installableUnitVersion, InputStream profileStream) { >+ private static IProvidedCapability[] generateJRECapability(String installableUnitId, Version installableUnitVersion, InputStream profileStream) { > if (profileStream == null) { > //use the 1.6 profile stored in the generator bundle > try { >@@ -1088,7 +1088,7 @@ > try { > p.load(profileStream); > ManifestElement[] jrePackages = ManifestElement.parseHeader("org.osgi.framework.system.packages", (String) p.get("org.osgi.framework.system.packages")); //$NON-NLS-1$ //$NON-NLS-2$ >- ProvidedCapability[] exportedPackageAsCapabilities = new ProvidedCapability[jrePackages.length + 1]; >+ IProvidedCapability[] exportedPackageAsCapabilities = new IProvidedCapability[jrePackages.length + 1]; > exportedPackageAsCapabilities[0] = createSelfCapability(installableUnitId, installableUnitVersion); > for (int i = 1; i <= jrePackages.length; i++) { > exportedPackageAsCapabilities[i] = MetadataFactory.createProvidedCapability(CAPABILITY_NS_JAVA_PACKAGE, jrePackages[i - 1].getValue(), null); >@@ -1109,7 +1109,7 @@ > } > } > } >- return new ProvidedCapability[0]; >+ return new IProvidedCapability[0]; > } > > /** >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.generator/src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java,v >retrieving revision 1.76 >diff -u -r1.76 Generator.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java 22 Dec 2008 15:30:45 -0000 1.76 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/generator/Generator.java 24 Dec 2008 17:31:18 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.metadata.generator; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.*; > import java.net.URI; > import java.net.URISyntaxException; >@@ -233,13 +237,13 @@ > } > if (requires != null) > reqsConfigurationUnits.addAll(requires); >- root.setRequiredCapabilities((RequiredCapability[]) reqsConfigurationUnits.toArray(new RequiredCapability[reqsConfigurationUnits.size()])); >+ root.setRequiredCapabilities((IRequiredCapability[]) reqsConfigurationUnits.toArray(new IRequiredCapability[reqsConfigurationUnits.size()])); > root.setArtifacts(new IArtifactKey[0]); > > root.setProperty("lineUp", "true"); //$NON-NLS-1$ //$NON-NLS-2$ > root.setUpdateDescriptor(MetadataFactory.createUpdateDescriptor(configurationIdentification, VersionRange.emptyRange, IUpdateDescriptor.NORMAL, null)); > root.setProperty(IInstallableUnit.PROP_TYPE_GROUP, Boolean.TRUE.toString()); >- root.setCapabilities(new ProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configurationIdentification, new Version(configurationVersion))}); >+ root.setCapabilities(new IProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configurationIdentification, new Version(configurationVersion))}); > root.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI); > Map touchpointData = new HashMap(); > >@@ -697,8 +701,8 @@ > IInstallableUnit iu = (IInstallableUnit) iterator.next(); > required.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), VersionRange.emptyRange, iu.getFilter(), false, false)); > } >- cat.setRequiredCapabilities((RequiredCapability[]) required.toArray(new RequiredCapability[required.size()])); >- cat.setCapabilities(new ProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, categoryId, Version.emptyVersion)}); >+ cat.setRequiredCapabilities((IRequiredCapability[]) required.toArray(new IRequiredCapability[required.size()])); >+ cat.setCapabilities(new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, categoryId, Version.emptyVersion)}); > cat.setArtifacts(new IArtifactKey[0]); > cat.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$ > return MetadataFactory.createInstallableUnit(cat); >@@ -797,13 +801,13 @@ > IArtifactKey key = MetadataGeneratorHelper.createLauncherArtifactKey(launcherId, launcherVersion); > iu.setArtifacts(new IArtifactKey[] {key}); > iu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_NATIVE); >- ProvidedCapability launcherCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productNamespace, launcherIdPrefix, launcherVersion); >- iu.setCapabilities(new ProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(launcherId, launcherVersion), launcherCapability}); >+ IProvidedCapability launcherCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productNamespace, launcherIdPrefix, launcherVersion); >+ iu.setCapabilities(new IProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(launcherId, launcherVersion), launcherCapability}); > > String launcherFragment = ORG_ECLIPSE_EQUINOX_LAUNCHER + '.' + ws + '.' + os; > if (!(Constants.OS_MACOSX.equals(os) && !Constants.ARCH_X86_64.equals(arch))) > launcherFragment += '.' + arch; >- iu.setRequiredCapabilities(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherFragment, VersionRange.emptyRange, filter, false, false)}); >+ iu.setRequiredCapabilities(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherFragment, VersionRange.emptyRange, filter, false, false)}); > result.rootIUs.add(MetadataFactory.createInstallableUnit(iu)); > > //Create the CU >@@ -813,10 +817,10 @@ > cu.setVersion(launcherVersion); > if (filter != null) > cu.setFilter(filter); >- cu.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(launcherVersion, true, launcherVersion, true), null, false, false)}); >+ cu.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, launcherId, new VersionRange(launcherVersion, true, launcherVersion, true), null, false, false)}); > cu.setProperty(IInstallableUnit.PROP_TYPE_FRAGMENT, Boolean.TRUE.toString()); > //TODO bug 218890, would like the fragment to provide the launcher capability as well, but can't right now. >- cu.setCapabilities(new ProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configUnitId, launcherVersion)}); >+ cu.setCapabilities(new IProvidedCapability[] {MetadataGeneratorHelper.createSelfCapability(configUnitId, launcherVersion)}); > > mungeLauncherFileNames(root); > >@@ -917,9 +921,9 @@ > cu.setSingleton(true); > cu.setFilter("(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ > >- ProvidedCapability productConfigCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_CONFIG_SUFFIX, cuVersion); >- ProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion); >- cu.setCapabilities(new ProvidedCapability[] {selfCapability, productConfigCapability}); >+ IProvidedCapability productConfigCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_CONFIG_SUFFIX, cuVersion); >+ IProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion); >+ cu.setCapabilities(new IProvidedCapability[] {selfCapability, productConfigCapability}); > > cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI); > Map touchpointData = new HashMap(); >@@ -963,9 +967,9 @@ > cu.setSingleton(true); > cu.setFilter("(& (osgi.ws=" + ws + ") (osgi.os=" + os + ") (osgi.arch=" + arch + "))"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ > >- ProvidedCapability productIniCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_INI_SUFFIX, cuVersion); >- ProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion); >- cu.setCapabilities(new ProvidedCapability[] {selfCapability, productIniCapability}); >+ IProvidedCapability productIniCapability = MetadataFactory.createProvidedCapability(info.getFlavor() + productFile.getId(), productFile.getId() + PRODUCT_INI_SUFFIX, cuVersion); >+ IProvidedCapability selfCapability = MetadataGeneratorHelper.createSelfCapability(configUnitId, cuVersion); >+ cu.setCapabilities(new IProvidedCapability[] {selfCapability, productIniCapability}); > > cu.setTouchpointType(MetadataGeneratorHelper.TOUCHPOINT_OSGI); > Map touchpointData = new HashMap(); >#P org.eclipse.equinox.p2.director >Index: src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java,v >retrieving revision 1.5 >diff -u -r1.5 ApplicablePatchQuery.java >--- src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java 17 Oct 2008 20:38:13 -0000 1.5 >+++ src/org/eclipse/equinox/internal/p2/director/ApplicablePatchQuery.java 24 Dec 2008 17:31:21 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > import org.eclipse.equinox.internal.provisional.p2.query.Query; > >@@ -40,7 +42,7 @@ > if (!(candidate instanceof IInstallableUnitPatch)) > return false; > IInstallableUnitPatch patchIU = (IInstallableUnitPatch) candidate; >- RequiredCapability[][] scopeDescription = patchIU.getApplicabilityScope(); >+ IRequiredCapability[][] scopeDescription = patchIU.getApplicabilityScope(); > if (scopeDescription.length == 0) > return true; > >Index: src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java,v >retrieving revision 1.4 >diff -u -r1.4 RequirementBasedFilter.java >--- src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java 10 Feb 2008 22:45:37 -0000 1.4 >+++ src/org/eclipse/equinox/internal/p2/director/RequirementBasedFilter.java 24 Dec 2008 17:31:22 -0000 >@@ -8,13 +8,14 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > > public class RequirementBasedFilter extends IUFilter { >- private RequiredCapability[] reqs; >+ private IRequiredCapability[] reqs; > >- public RequirementBasedFilter(RequiredCapability[] toFilterOn) { >+ public RequirementBasedFilter(IRequiredCapability[] toFilterOn) { > reqs = toFilterOn; > } > >Index: src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java,v >retrieving revision 1.56 >diff -u -r1.56 SimplePlanner.java >--- src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java 23 Dec 2008 00:49:05 -0000 1.56 >+++ src/org/eclipse/equinox/internal/p2/director/SimplePlanner.java 24 Dec 2008 17:31:23 -0000 >@@ -10,6 +10,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.director.RequestStatus; > > import java.net.URI; >@@ -334,7 +336,7 @@ > String time = Long.toString(System.currentTimeMillis()); > iud.setId(time); > iud.setVersion(new Version(0, 0, 0, time)); >- iud.setRequiredCapabilities((RequiredCapability[]) allRequirements.toArray(new RequiredCapability[allRequirements.size()])); >+ iud.setRequiredCapabilities((IRequiredCapability[]) allRequirements.toArray(new IRequiredCapability[allRequirements.size()])); > return MetadataFactory.createInstallableUnit(iud); > } > >@@ -378,7 +380,7 @@ > Map iuPropertiesToAdd = profileChangeRequest.getInstallableUnitProfilePropertiesToAdd(); > for (int i = 0; i < added.length; i++) { > Map propertiesForIU = (Map) iuPropertiesToAdd.get(added[i]); >- RequiredCapability profileRequirement = null; >+ IRequiredCapability profileRequirement = null; > if (propertiesForIU != null) { > profileRequirement = createRequirement(added[i], (String) propertiesForIU.get(INCLUSION_RULES)); > } >@@ -393,7 +395,7 @@ > for (Iterator iterator = alreadyInstalled.iterator(); iterator.hasNext();) { > IInstallableUnit iu = (IInstallableUnit) iterator.next(); > Map propertiesForIU = (Map) iuPropertiesToAdd.get(iu); >- RequiredCapability profileRequirement = null; >+ IRequiredCapability profileRequirement = null; > //Test if the value has changed > if (propertiesForIU != null) { > profileRequirement = createRequirement(iu, (String) propertiesForIU.get(INCLUSION_RULES)); >@@ -406,7 +408,7 @@ > return new IInstallableUnit[] {createIURepresentingTheProfile(gatheredRequirements)}; > } > >- private RequiredCapability createRequirement(IInstallableUnit iu, String rule) { >+ private IRequiredCapability createRequirement(IInstallableUnit iu, String rule) { > if (rule == null) > return null; > if (rule.equals(PlannerHelper.createStrictInclusionRule(iu))) { >@@ -418,11 +420,11 @@ > return null; > } > >- private RequiredCapability createOptionalRequirement(IInstallableUnit iu) { >+ private IRequiredCapability createOptionalRequirement(IInstallableUnit iu) { > return MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), new VersionRange(iu.getVersion(), true, iu.getVersion(), true), null, true, false, true); > } > >- private RequiredCapability createStrictRequirement(IInstallableUnit iu) { >+ private IRequiredCapability createStrictRequirement(IInstallableUnit iu) { > return MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), new VersionRange(iu.getVersion(), true, iu.getVersion(), true), null, false, false, true); > } > >Index: src/org/eclipse/equinox/internal/p2/director/Projector.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Projector.java,v >retrieving revision 1.23 >diff -u -r1.23 Projector.java >--- src/org/eclipse/equinox/internal/p2/director/Projector.java 8 Nov 2008 20:56:14 -0000 1.23 >+++ src/org/eclipse/equinox/internal/p2/director/Projector.java 24 Dec 2008 17:31:22 -0000 >@@ -10,6 +10,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.io.*; > import java.util.*; > import java.util.Map.Entry; >@@ -175,7 +179,7 @@ > if (patches == null) > return patchesWeight; > for (int i = 0; i < ius.length; i++) { >- RequiredCapability[] reqs = ius[i].getRequiredCapabilities(); >+ IRequiredCapability[] reqs = ius[i].getRequiredCapabilities(); > for (int j = 0; j < reqs.length; j++) { > Collector matches = patches.query(new CapabilityQuery(reqs[j]), new Collector(), null); > for (Iterator iterator = matches.iterator(); iterator.hasNext();) { >@@ -200,7 +204,7 @@ > } > > // Check whether the requirement is applicable >- private boolean isApplicable(RequiredCapability req) { >+ private boolean isApplicable(IRequiredCapability req) { > String filter = req.getFilter(); > if (filter == null) > return true; >@@ -327,7 +331,7 @@ > expandLifeCycle(iu); > //No patches apply, normal code path > if (patches.size() == 0) { >- RequiredCapability[] reqs = iu.getRequiredCapabilities(); >+ IRequiredCapability[] reqs = iu.getRequiredCapabilities(); > if (reqs.length == 0) { > return; > } >@@ -345,7 +349,7 @@ > Map unchangedRequirements = new HashMap(iu.getRequiredCapabilities().length); > for (Iterator iterator = patches.iterator(); iterator.hasNext();) { > IInstallableUnitPatch patch = (IInstallableUnitPatch) iterator.next(); >- RequiredCapability[][] reqs = mergeRequirements(iu, patch); >+ IRequiredCapability[][] reqs = mergeRequirements(iu, patch); > if (reqs.length == 0) > return; > >@@ -387,9 +391,9 @@ > expression.append(" 1 " + getVariable(patch)); //$NON-NLS-1$ > } > if (allPatches.size() != 0) >- genericExpandRequirement(expression.toString(), iu, (RequiredCapability) entry.getKey(), " >= 0", " 1 " + getVariable(iu) + "=0;"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ >+ genericExpandRequirement(expression.toString(), iu, (IRequiredCapability) entry.getKey(), " >= 0", " 1 " + getVariable(iu) + "=0;"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ > else >- expandRequirement(null, iu, (RequiredCapability) entry.getKey()); >+ expandRequirement(null, iu, (IRequiredCapability) entry.getKey()); > } > } > } >@@ -403,7 +407,7 @@ > expandNormalRequirement(null, iu, patch.getLifeCycle()); > } > >- private void genericExpandRequirement(String var, IInstallableUnit iu, RequiredCapability req, String value, String negationExpression) { >+ private void genericExpandRequirement(String var, IInstallableUnit iu, IRequiredCapability req, String value, String negationExpression) { > if (req.isOptional()) > genericOptionalRequirementExpansion(var, iu, req, value); > else >@@ -411,11 +415,11 @@ > } > > //Return a new array of requirements representing the application of the patch >- private RequiredCapability[][] mergeRequirements(IInstallableUnit iu, IInstallableUnitPatch patch) { >+ private IRequiredCapability[][] mergeRequirements(IInstallableUnit iu, IInstallableUnitPatch patch) { > if (patch == null) > return null; >- RequirementChange[] changes = patch.getRequirementsChange(); >- RequiredCapability[] originalRequirements = new RequiredCapability[iu.getRequiredCapabilities().length]; >+ IRequirementChange[] changes = patch.getRequirementsChange(); >+ IRequiredCapability[] originalRequirements = new IRequiredCapability[iu.getRequiredCapabilities().length]; > System.arraycopy(iu.getRequiredCapabilities(), 0, originalRequirements, 0, originalRequirements.length); > List rrr = new ArrayList(); > boolean found = false; >@@ -424,23 +428,23 @@ > if (originalRequirements[j] != null && changes[i].matches(originalRequirements[j])) { > found = true; > if (changes[i].newValue() != null) >- rrr.add(new RequiredCapability[] {originalRequirements[j], changes[i].newValue()}); >+ rrr.add(new IRequiredCapability[] {originalRequirements[j], changes[i].newValue()}); > else > // case where a requirement is removed >- rrr.add(new RequiredCapability[] {originalRequirements[j], null}); >+ rrr.add(new IRequiredCapability[] {originalRequirements[j], null}); > originalRequirements[j] = null; > } > // break; > } > if (!found && changes[i].applyOn() == null && changes[i].newValue() != null) //Case where a new requirement is added >- rrr.add(new RequiredCapability[] {null, changes[i].newValue()}); >+ rrr.add(new IRequiredCapability[] {null, changes[i].newValue()}); > } > //Add all the unmodified requirements to the result > for (int i = 0; i < originalRequirements.length; i++) { > if (originalRequirements[i] != null) >- rrr.add(new RequiredCapability[] {originalRequirements[i], originalRequirements[i]}); >+ rrr.add(new IRequiredCapability[] {originalRequirements[i], originalRequirements[i]}); > } >- return (RequiredCapability[][]) rrr.toArray(new RequiredCapability[rrr.size()][]); >+ return (IRequiredCapability[][]) rrr.toArray(new IRequiredCapability[rrr.size()][]); > } > > private void addOptionalityExpression() { >@@ -454,7 +458,7 @@ > private int countOptionalIUs = 0; > private QueryableArray patches; > >- private void expandOptionalRequirement(String iuVar, IInstallableUnit iu, RequiredCapability req) { >+ private void expandOptionalRequirement(String iuVar, IInstallableUnit iu, IRequiredCapability req) { > if (iuVar == null) > iuVar = getVariable(iu); > String abstractVar = getAbstractVariable(); >@@ -495,7 +499,7 @@ > } > } > >- private void genericOptionalRequirementExpansion(String iuVar, IInstallableUnit iu, RequiredCapability req, String value) { >+ private void genericOptionalRequirementExpansion(String iuVar, IInstallableUnit iu, IRequiredCapability req, String value) { > String abstractVar = getAbstractVariable(); > String expression = iuVar; > Collector matches = picker.query(new CapabilityQuery(req), new Collector(), null); >@@ -534,7 +538,7 @@ > } > } > >- private void genericRequirementExpansion(String varIu, IInstallableUnit iu, RequiredCapability req, String value, String negationExpression) { >+ private void genericRequirementExpansion(String varIu, IInstallableUnit iu, IRequiredCapability req, String value, String negationExpression) { > String expression = varIu; > Collector matches = picker.query(new CapabilityQuery(req), new Collector(), null); > StringBuffer comment = new StringBuffer(); >@@ -568,7 +572,7 @@ > } > } > >- private void expandNormalRequirement(String varIu, IInstallableUnit iu, RequiredCapability req) { >+ private void expandNormalRequirement(String varIu, IInstallableUnit iu, IRequiredCapability req) { > //Generate the regular requirement > if (varIu == null) > varIu = getVariable(iu); >@@ -616,7 +620,7 @@ > return patches.query(new ApplicablePatchQuery(iu), new Collector(), null); > } > >- private void expandRequirement(String var, IInstallableUnit iu, RequiredCapability req) { >+ private void expandRequirement(String var, IInstallableUnit iu, IRequiredCapability req) { > if (req.isOptional()) > expandOptionalRequirement(var, iu, req); > else >Index: src/org/eclipse/equinox/internal/p2/director/Recommendation.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Recommendation.java,v >retrieving revision 1.6 >diff -u -r1.6 Recommendation.java >--- src/org/eclipse/equinox/internal/p2/director/Recommendation.java 22 Dec 2008 15:30:47 -0000 1.6 >+++ src/org/eclipse/equinox/internal/p2/director/Recommendation.java 24 Dec 2008 17:31:22 -0000 >@@ -8,29 +8,30 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.core.Version; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > > public class Recommendation { >- private RequiredCapability applyOn; >- private RequiredCapability newValue; >+ private IRequiredCapability applyOn; >+ private IRequiredCapability newValue; > >- public Recommendation(RequiredCapability applyOn2, RequiredCapability newValue2) { >+ public Recommendation(IRequiredCapability applyOn2, IRequiredCapability newValue2) { > this.applyOn = applyOn2; > this.newValue = newValue2; > } > >- public RequiredCapability applyOn() { >+ public IRequiredCapability applyOn() { > return applyOn; > } > >- public RequiredCapability newValue() { >+ public IRequiredCapability newValue() { > return newValue; > } > >- public boolean matches(RequiredCapability toMatch) { >+ public boolean matches(IRequiredCapability toMatch) { > if (!toMatch.getNamespace().equals(applyOn.getNamespace())) > return false; > if (!toMatch.getName().equals(applyOn.getName())) >Index: src/org/eclipse/equinox/internal/p2/director/Slicer.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Slicer.java,v >retrieving revision 1.11 >diff -u -r1.11 Slicer.java >--- src/org/eclipse/equinox/internal/p2/director/Slicer.java 1 Dec 2008 16:00:12 -0000 1.11 >+++ src/org/eclipse/equinox/internal/p2/director/Slicer.java 24 Dec 2008 17:31:23 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.*; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.p2.core.helpers.LogHelper; >@@ -86,7 +90,7 @@ > } > > // Check whether the requirement is applicable >- private boolean isApplicable(RequiredCapability req) { >+ private boolean isApplicable(IRequiredCapability req) { > String filter = req.getFilter(); > if (filter == null) > return true; >@@ -116,7 +120,7 @@ > return; > } > >- RequiredCapability[] reqs = getRequiredCapabilities(iu); >+ IRequiredCapability[] reqs = getRequiredCapabilities(iu); > if (reqs.length == 0) { > return; > } >@@ -132,15 +136,15 @@ > } > } > >- private RequiredCapability[] getRequiredCapabilities(IInstallableUnit iu) { >+ private IRequiredCapability[] getRequiredCapabilities(IInstallableUnit iu) { > if (!(iu instanceof IInstallableUnitPatch)) { > return iu.getRequiredCapabilities(); > } >- RequiredCapability[] aggregatedCapabilities; >+ IRequiredCapability[] aggregatedCapabilities; > IInstallableUnitPatch patchIU = (IInstallableUnitPatch) iu; >- RequirementChange[] changes = patchIU.getRequirementsChange(); >+ IRequirementChange[] changes = patchIU.getRequirementsChange(); > int initialRequirementCount = iu.getRequiredCapabilities().length; >- aggregatedCapabilities = new RequiredCapability[initialRequirementCount + changes.length]; >+ aggregatedCapabilities = new IRequiredCapability[initialRequirementCount + changes.length]; > System.arraycopy(iu.getRequiredCapabilities(), 0, aggregatedCapabilities, 0, initialRequirementCount); > for (int i = 0; i < changes.length; i++) { > aggregatedCapabilities[initialRequirementCount++] = changes[i].newValue(); >@@ -148,7 +152,7 @@ > return aggregatedCapabilities; > } > >- private void expandRequirement(IInstallableUnit iu, RequiredCapability req) { >+ private void expandRequirement(IInstallableUnit iu, IRequiredCapability req) { > Collector matches = possibilites.query(new CapabilityQuery(req), new Collector(), null); > int validMatches = 0; > for (Iterator iterator = matches.iterator(); iterator.hasNext();) { >Index: src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java,v >retrieving revision 1.8 >diff -u -r1.8 IUTransformationHelper.java >--- src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java 22 Dec 2008 15:30:47 -0000 1.8 >+++ src/org/eclipse/equinox/internal/p2/director/IUTransformationHelper.java 24 Dec 2008 17:31:21 -0000 >@@ -8,23 +8,25 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.ArrayList; > import java.util.Iterator; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > > public class IUTransformationHelper { >- static public RequiredCapability[] toRequirements(Iterator ius, boolean optional) { >+ static public IRequiredCapability[] toRequirements(Iterator ius, boolean optional) { > ArrayList result = new ArrayList(); > while (ius.hasNext()) { > IInstallableUnit current = (IInstallableUnit) ius.next(); > result.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, current.getId(), new VersionRange(current.getVersion(), true, current.getVersion(), true), null, optional, false)); > } >- return (RequiredCapability[]) result.toArray(new RequiredCapability[result.size()]); >+ return (IRequiredCapability[]) result.toArray(new IRequiredCapability[result.size()]); > } > >- static public RequiredCapability[] toRequirements(IInstallableUnit[] ius, boolean optional) { >- RequiredCapability[] result = new RequiredCapability[ius.length]; >+ static public IRequiredCapability[] toRequirements(IInstallableUnit[] ius, boolean optional) { >+ IRequiredCapability[] result = new IRequiredCapability[ius.length]; > for (int i = 0; i < result.length; i++) { > IInstallableUnit current = ius[i]; > result[i] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, current.getId(), new VersionRange(current.getVersion(), true, current.getVersion(), true), null, optional, false); >Index: src/org/eclipse/equinox/internal/p2/director/QueryableArray.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/QueryableArray.java,v >retrieving revision 1.6 >diff -u -r1.6 QueryableArray.java >--- src/org/eclipse/equinox/internal/p2/director/QueryableArray.java 1 Dec 2008 15:59:15 -0000 1.6 >+++ src/org/eclipse/equinox/internal/p2/director/QueryableArray.java 24 Dec 2008 17:31:22 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.*; > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; >@@ -19,9 +23,9 @@ > public class QueryableArray implements IQueryable { > static class IUCapability { > final IInstallableUnit iu; >- final ProvidedCapability capability; >+ final IProvidedCapability capability; > >- public IUCapability(IInstallableUnit iu, ProvidedCapability capability) { >+ public IUCapability(IInstallableUnit iu, IProvidedCapability capability) { > this.iu = iu; > this.capability = capability; > } >@@ -43,7 +47,7 @@ > private Collector queryCapability(CapabilityQuery query, Collector collector, IProgressMonitor monitor) { > generateNamedCapabilityIndex(); > >- RequiredCapability[] requiredCapabilities = query.getRequiredCapabilities(); >+ IRequiredCapability[] requiredCapabilities = query.getRequiredCapabilities(); > Collection resultIUs = null; > for (int i = 0; i < requiredCapabilities.length; i++) { > Collection matchingIUs = findMatchingIUs(requiredCapabilities[i]); >@@ -61,7 +65,7 @@ > return collector; > } > >- private Collection findMatchingIUs(RequiredCapability requiredCapability) { >+ private Collection findMatchingIUs(IRequiredCapability requiredCapability) { > List iuCapabilities = (List) namedCapabilityIndex.get(requiredCapability.getName()); > if (iuCapabilities == null) > return null; >@@ -83,7 +87,7 @@ > for (Iterator iterator = dataSet.iterator(); iterator.hasNext();) { > IInstallableUnit iu = (IInstallableUnit) iterator.next(); > >- ProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities(); > for (int i = 0; i < providedCapabilities.length; i++) { > String name = providedCapabilities[i].getName(); > List iuCapabilities = (List) namedCapabilityIndex.get(name); >Index: src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java,v >retrieving revision 1.28 >diff -u -r1.28 NewDependencyExpander.java >--- src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java 22 Dec 2008 15:30:47 -0000 1.28 >+++ src/org/eclipse/equinox/internal/p2/director/NewDependencyExpander.java 24 Dec 2008 17:31:21 -0000 >@@ -10,6 +10,18 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ICopyright; >+ > import java.util.*; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper; >@@ -37,9 +49,9 @@ > * The environment against which capability filters are evaluated for this match. > */ > Dictionary env; >- RequiredCapability req; >+ IRequiredCapability req; > >- public Match(RequiredCapability range, Dictionary environment) { >+ public Match(IRequiredCapability range, Dictionary environment) { > this.req = range; > this.env = environment; > candidates = new HashSet(2); >@@ -63,7 +75,7 @@ > String name; > String namespace; > >- MatchKey(RequiredCapability capability) { >+ MatchKey(IRequiredCapability capability) { > this.namespace = capability.getNamespace(); > this.name = capability.getName(); > } >@@ -126,14 +138,14 @@ > return true; > } > >- public RequiredCapability[] getRequiredCapabilities() { >+ public IRequiredCapability[] getRequiredCapabilities() { > ArrayList result = new ArrayList(); >- ProvidedCapability[] caps = wrapped.getProvidedCapabilities(); >+ IProvidedCapability[] caps = wrapped.getProvidedCapabilities(); > for (int i = 0; i < caps.length; i++) { > result.add(MetadataFactory.createRequiredCapability(caps[i].getNamespace(), caps[i].getName(), new VersionRange(caps[i].getVersion(), true, caps[i].getVersion(), true), wrapped.getFilter(), optionalReqs, false)); > } > result.addAll(Arrays.asList(wrapped.getRequiredCapabilities())); >- return (RequiredCapability[]) result.toArray(new RequiredCapability[result.size()]); >+ return (IRequiredCapability[]) result.toArray(new IRequiredCapability[result.size()]); > } > > public int hashCode() { >@@ -155,15 +167,15 @@ > return wrapped.getProperties(); > } > >- public ProvidedCapability[] getProvidedCapabilities() { >+ public IProvidedCapability[] getProvidedCapabilities() { > return wrapped.getProvidedCapabilities(); > } > >- public TouchpointData[] getTouchpointData() { >+ public ITouchpointData[] getTouchpointData() { > return wrapped.getTouchpointData(); > } > >- public TouchpointType getTouchpointType() { >+ public ITouchpointType getTouchpointType() { > return wrapped.getTouchpointType(); > } > >@@ -195,15 +207,15 @@ > return wrapped.getUpdateDescriptor(); > } > >- public License getLicense() { >+ public ILicense getLicense() { > return wrapped.getLicense(); > } > >- public Copyright getCopyright() { >+ public ICopyright getCopyright() { > return wrapped.getCopyright(); > } > >- public boolean satisfies(RequiredCapability candidate) { >+ public boolean satisfies(IRequiredCapability candidate) { > return wrapped.satisfies(candidate); > } > } >@@ -254,10 +266,10 @@ > /** > * Creates a problem status for the given unsatisfied dependency. > */ >- private void addUnsatisfied(RequiredCapability req, Collection toAdd, MultiStatus problems) { >+ private void addUnsatisfied(IRequiredCapability req, Collection toAdd, MultiStatus problems) { > for (Iterator it = toAdd.iterator(); it.hasNext();) { > IInstallableUnit unit = (IInstallableUnit) it.next(); >- RequiredCapability[] required = unit.getRequiredCapabilities(); >+ IRequiredCapability[] required = unit.getRequiredCapabilities(); > for (int i = 0; i < required.length; i++) { > if (required[i].equals(req)) { > UnsatisfiedCapability unsatisfied = new UnsatisfiedCapability(req, unit); >@@ -327,7 +339,7 @@ > String flavor = (String) selectionContext.get(IProfile.PROP_ENVIRONMENTS); > if (flavor == null) > return new HashSet(); >- IInstallableUnit[][] picked = picker.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_FLAVOR, flavor, VersionRange.emptyRange, null, false, false)}, true /* fragmentsOnly */); >+ IInstallableUnit[][] picked = picker.findInstallableUnit(null, null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_FLAVOR, flavor, VersionRange.emptyRange, null, false, false)}, true /* fragmentsOnly */); > IInstallableUnit[] ius; > if (picked[0].length > 0) > ius = picked[0]; >@@ -346,7 +358,7 @@ > Set picked = new HashSet(); > for (Iterator iterator = ius.iterator(); iterator.hasNext();) { > IInstallableUnit current = (IInstallableUnit) iterator.next(); >- IInstallableUnit[][] candidates = picker.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability("fragment", current.getId(), VersionRange.emptyRange, null, true, false)}, false /* not fragmentsOnly */); //$NON-NLS-1$ >+ IInstallableUnit[][] candidates = picker.findInstallableUnit(null, null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability("fragment", current.getId(), VersionRange.emptyRange, null, true, false)}, false /* not fragmentsOnly */); //$NON-NLS-1$ > IInstallableUnit[] matches = candidates[0].length > 0 ? candidates[0] : candidates[1]; > if (matches.length > 0) { //TODO Here we need to check the filter of the found iu > if (matches.length == 1) { >@@ -354,10 +366,10 @@ > continue; > } > //verify that each IU requires the current iu >- ProvidedCapability capForCurrent = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, current.getId(), current.getVersion()); >+ IProvidedCapability capForCurrent = MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, current.getId(), current.getVersion()); > Map toAdd = new HashMap(); > for (int i = 0; i < matches.length; i++) { >- RequiredCapability[] reqs = matches[i].getRequiredCapabilities(); >+ IRequiredCapability[] reqs = matches[i].getRequiredCapabilities(); > boolean isReallyAFragment = false; > for (int j = 0; j < reqs.length; j++) { > isReallyAFragment = capForCurrent.satisfies(reqs[j]); >@@ -477,9 +489,9 @@ > //map of MatchKey->Match > for (Iterator iterator = ius.iterator(); iterator.hasNext();) { > IInstallableUnit currentUnit = (IInstallableUnit) iterator.next(); >- RequiredCapability[] toAdd = currentUnit.getRequiredCapabilities(); >+ IRequiredCapability[] toAdd = currentUnit.getRequiredCapabilities(); > outer: for (int i = 0; i < toAdd.length; i++) { >- RequiredCapability current = toAdd[i]; >+ IRequiredCapability current = toAdd[i]; > if (isApplicable(current) && !isMeta(current) && !current.isOptional()) { > MatchKey key = new MatchKey(current); > List match = (List) must.get(key); >@@ -584,7 +596,7 @@ > } > > // Check whether the requirement is applicable >- private boolean isApplicable(RequiredCapability req) { >+ private boolean isApplicable(IRequiredCapability req) { > String filter = req.getFilter(); > if (filter == null) > return true; >@@ -600,7 +612,7 @@ > * about inter-component dependencies, we end up having dependencies that cause > * the whole world to be selected. We are here filtering them out. > */ >- private boolean isMeta(RequiredCapability requiredCapability) { >+ private boolean isMeta(IRequiredCapability requiredCapability) { > String namespace = requiredCapability.getNamespace(); > //TODO Should not reference OSGi touchpoint concepts here > return namespace.equals("org.eclipse.equinox.p2.eclipse.type") || namespace.equals(IInstallableUnit.NAMESPACE_FLAVOR); //$NON-NLS-1$ >@@ -614,7 +626,7 @@ > return null; > } > >- private Dictionary mergeEnvironments(Dictionary context, RequiredCapability newCapability) { >+ private Dictionary mergeEnvironments(Dictionary context, IRequiredCapability newCapability) { > String[] newSelectors = newCapability.getSelectors(); > if (newSelectors == null || newSelectors.length == 0) > return context; >@@ -635,7 +647,7 @@ > return false; > } > >- private boolean requirementEnabled(RequiredCapability req) { >+ private boolean requirementEnabled(IRequiredCapability req) { > if (req.isOptional()) > return false; > return isApplicable(req); >Index: src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java,v >retrieving revision 1.6 >diff -u -r1.6 RecommendationDescriptor.java >--- src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java 22 Dec 2008 15:30:47 -0000 1.6 >+++ src/org/eclipse/equinox/internal/p2/director/RecommendationDescriptor.java 24 Dec 2008 17:31:22 -0000 >@@ -8,11 +8,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.*; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > > public class RecommendationDescriptor { > public static final String TOUCHPOINT_DATA_KEY = "recommendations"; >@@ -28,7 +29,7 @@ > return recommendations; > } > >- public Recommendation findRecommendation(RequiredCapability toMatch) { >+ public Recommendation findRecommendation(IRequiredCapability toMatch) { > for (Iterator iterator = recommendations.iterator(); iterator.hasNext();) { > Recommendation name = (Recommendation) iterator.next(); > if (name.matches(toMatch)) >Index: src/org/eclipse/equinox/internal/p2/director/Picker.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/Picker.java,v >retrieving revision 1.7 >diff -u -r1.7 Picker.java >--- src/org/eclipse/equinox/internal/p2/director/Picker.java 22 Dec 2008 15:30:47 -0000 1.7 >+++ src/org/eclipse/equinox/internal/p2/director/Picker.java 24 Dec 2008 17:31:21 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.*; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; >@@ -36,8 +40,8 @@ > this.filters = new ArrayList(2); > } > >- public Collection[] findInstallableUnit(String id, VersionRange range, RequiredCapability searchedCapability) { >- IInstallableUnit[][] tmp = findInstallableUnit(id, range, new RequiredCapability[] {searchedCapability}, false); >+ public Collection[] findInstallableUnit(String id, VersionRange range, IRequiredCapability searchedCapability) { >+ IInstallableUnit[][] tmp = findInstallableUnit(id, range, new IRequiredCapability[] {searchedCapability}, false); > return new Collection[] {Arrays.asList(tmp[0]), Arrays.asList(tmp[1])}; > } > >@@ -62,14 +66,14 @@ > secondChoiceSet = (IInstallableUnit[]) secondChoice.toArray(new IInstallableUnit[secondChoice.size()]); > } > >- public IInstallableUnit[][] findInstallableUnit(String id, VersionRange range, RequiredCapability[] searchedCapability, boolean fragmentsOnly) { >+ public IInstallableUnit[][] findInstallableUnit(String id, VersionRange range, IRequiredCapability[] searchedCapability, boolean fragmentsOnly) { > return new IInstallableUnit[][] {findInstallableUnit(preferredSet, id, range, searchedCapability, fragmentsOnly), findInstallableUnit(secondChoiceSet, id, range, searchedCapability, fragmentsOnly)}; > } > > //TODO what should be the return value when all the parameters are null. Is it even a valid call? > //TODO A lot of improvement could be done on this algorithm, for example > // - remove from the set of searchedCapability the one that are found >- private IInstallableUnit[] findInstallableUnit(IInstallableUnit[] pool, String id, VersionRange range, RequiredCapability[] searchedCapability, boolean fragmentsOnly) { >+ private IInstallableUnit[] findInstallableUnit(IInstallableUnit[] pool, String id, VersionRange range, IRequiredCapability[] searchedCapability, boolean fragmentsOnly) { > if (pool == null || pool.length == 0) > return new IInstallableUnit[0]; > Set candidates = new HashSet(); >@@ -90,7 +94,7 @@ > IInstallableUnit candidate = pool[i]; > for (int k = 0; k < searchedCapability.length; k++) { > boolean valid = false; >- ProvidedCapability[] capabilities = candidate.getProvidedCapabilities(); >+ IProvidedCapability[] capabilities = candidate.getProvidedCapabilities(); > if (capabilities.length == 0) > valid = false; > for (int j = 0; j < capabilities.length; j++) { >@@ -110,10 +114,10 @@ > return pool; > } > >- private RequiredCapability[] rewrite(RequiredCapability[] requiredCapabilities) { >+ private IRequiredCapability[] rewrite(IRequiredCapability[] requiredCapabilities) { > if (recommendations == null) > return requiredCapabilities; >- RequiredCapability[] result = new RequiredCapability[requiredCapabilities.length]; >+ IRequiredCapability[] result = new IRequiredCapability[requiredCapabilities.length]; > for (int i = 0; i < requiredCapabilities.length; i++) { > result[i] = getRecommendation(requiredCapabilities[i]); > if (result[i] == null) >@@ -122,7 +126,7 @@ > return result; > } > >- private RequiredCapability getRecommendation(RequiredCapability match) { >+ private IRequiredCapability getRecommendation(IRequiredCapability match) { > Recommendation foundRecommendation = recommendations.findRecommendation(match); > return foundRecommendation != null ? foundRecommendation.newValue() : match; > } >Index: src/org/eclipse/equinox/internal/p2/resolution/Transformer.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/Transformer.java,v >retrieving revision 1.6 >diff -u -r1.6 Transformer.java >--- src/org/eclipse/equinox/internal/p2/resolution/Transformer.java 22 Dec 2008 15:30:47 -0000 1.6 >+++ src/org/eclipse/equinox/internal/p2/resolution/Transformer.java 24 Dec 2008 17:31:23 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.resolution; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.*; > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Status; >@@ -59,7 +63,7 @@ > return result; > } > >- private boolean isEnabled(RequiredCapability capability) { >+ private boolean isEnabled(IRequiredCapability capability) { > // If there is no context then be optimistic > if (context == null) > return true; >@@ -89,7 +93,7 @@ > return buf.toString(); > } > >- public void visitCapability(ProvidedCapability capability) { >+ public void visitCapability(IProvidedCapability capability) { > iuCapabilities.add(factory.createGenericDescription(capability.getName(), capability.getNamespace(), Version.toOSGiVersion(capability.getVersion()), null)); > } > >@@ -97,14 +101,14 @@ > kind = IU_KIND; > > //Start with the dependencies >- RequiredCapability[] requires = toTransform.getRequiredCapabilities(); >+ IRequiredCapability[] requires = toTransform.getRequiredCapabilities(); > iuDependencies = new HashMap(requires.length); > for (int i = 0; i < requires.length; i++) { > visitRequiredCapability(requires[i]); > } > > //Do the capabilities >- ProvidedCapability[] capabilities = toTransform.getProvidedCapabilities(); >+ IProvidedCapability[] capabilities = toTransform.getProvidedCapabilities(); > iuCapabilities = new ArrayList(requires.length + 1); > for (int i = 0; i < capabilities.length; i++) { > visitCapability(capabilities[i]); >@@ -125,7 +129,7 @@ > result.setUserObject(new StateMetadataMap(toTransform, iuDependencies)); > } > >- public void visitRequiredCapability(RequiredCapability capability) { >+ public void visitRequiredCapability(IRequiredCapability capability) { > try { > if (isEnabled(capability)) { > capability = rewrite(capability); >@@ -136,7 +140,7 @@ > } > } > >- private RequiredCapability rewrite(RequiredCapability match) { >+ private IRequiredCapability rewrite(IRequiredCapability match) { > if (recommendations == null) > return match; > Recommendation foundRecommendation = recommendations.findRecommendation(match); >Index: src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java,v >retrieving revision 1.11 >diff -u -r1.11 ResolutionHelper.java >--- src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java 22 Dec 2008 15:30:47 -0000 1.11 >+++ src/org/eclipse/equinox/internal/p2/resolution/ResolutionHelper.java 24 Dec 2008 17:31:23 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.resolution; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.*; > import org.eclipse.equinox.internal.p2.director.DirectorActivator; > import org.eclipse.equinox.internal.p2.director.RecommendationDescriptor; >@@ -92,7 +94,7 @@ > private ArrayList createUnsatisfiedCapabilities(VersionConstraint[] unsatisfied, BundleDescription description) { > ArrayList results = new ArrayList(); > for (int i = 0; i < unsatisfied.length; i++) { >- RequiredCapability originalDependency = (RequiredCapability) ((StateMetadataMap) description.getUserObject()).getGenericSpecifications().get(unsatisfied[i]); >+ IRequiredCapability originalDependency = (IRequiredCapability) ((StateMetadataMap) description.getUserObject()).getGenericSpecifications().get(unsatisfied[i]); > results.add(new UnsatisfiedCapability(originalDependency, ((StateMetadataMap) description.getUserObject()).getUnit())); > } > return results; >@@ -133,7 +135,7 @@ > IInstallableUnitFragment potentialFragment = (IInstallableUnitFragment) dependentIU; > > // Check to make sure the host meets the requirements of the fragment >- RequiredCapability reqsFromFragment[] = potentialFragment.getHost(); >+ IRequiredCapability reqsFromFragment[] = potentialFragment.getHost(); > boolean match = true; > boolean requirementMatched = false; > for (int l = 0; l < reqsFromFragment.length && match == true; l++) { >Index: src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java,v >retrieving revision 1.4 >diff -u -r1.4 UnsatisfiedCapability.java >--- src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java 3 Dec 2008 19:31:51 -0000 1.4 >+++ src/org/eclipse/equinox/internal/p2/resolution/UnsatisfiedCapability.java 24 Dec 2008 17:31:23 -0000 >@@ -10,9 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.resolution; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.p2.director.Messages; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.osgi.util.NLS; > > /** >@@ -21,14 +22,14 @@ > */ > public class UnsatisfiedCapability { > private IInstallableUnit owner; >- private RequiredCapability require; >+ private IRequiredCapability require; > > /** > * Creates a new unresolved dependency > * @param required The dependency that was not satisfied. > * @param owner The installable unit whose dependency was not satisfied. > */ >- public UnsatisfiedCapability(RequiredCapability required, IInstallableUnit owner) { >+ public UnsatisfiedCapability(IRequiredCapability required, IInstallableUnit owner) { > this.require = required; > this.owner = owner; > } >@@ -40,7 +41,7 @@ > /** > * Returns the specific dependency that was not satisfied. > */ >- public RequiredCapability getRequiredCapability() { >+ public IRequiredCapability getRequiredCapability() { > return require; > } > >#P org.eclipse.equinox.p2.tests >Index: src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java,v >retrieving revision 1.5 >diff -u -r1.5 MissingOptionalWithDependencies2.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies2.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -32,12 +34,12 @@ > c2 = createIU("C", new Version("2.0.0"), true); > > //B's dependency on C can not be satisfied >- RequiredCapability[] reqB = new RequiredCapability[2]; >+ IRequiredCapability[] reqB = new IRequiredCapability[2]; > reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.0.0]"), null, true, false, true); > reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > b1 = createIU("B", new Version("1.0.0"), reqB); > >- RequiredCapability[] req = new RequiredCapability[3]; >+ IRequiredCapability[] req = new IRequiredCapability[3]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); > req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 2.0.0]"), null, false, false, true); >Index: src/org/eclipse/equinox/p2/tests/planner/Bug207319.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug207319.java,v >retrieving revision 1.6 >diff -u -r1.6 Bug207319.java >--- src/org/eclipse/equinox/p2/tests/planner/Bug207319.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/Bug207319.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IDirector; > import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; >@@ -28,7 +30,7 @@ > protected void setUp() throws Exception { > super.setUp(); > a = createIU("A", new Version("1.0.0")); >- b = createIU("B", new Version("1.0.0"), new ProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new Version("1.0.0"))}); >+ b = createIU("B", new Version("1.0.0"), new IProvidedCapability[] {MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new Version("1.0.0"))}); > c = createIU("C", new Version("1.0.0"), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null)); > createTestMetdataRepository(new IInstallableUnit[] {a, b, c}); > profile = createProfile(Bug207319.class.getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java,v >retrieving revision 1.5 >diff -u -r1.5 MissingNonGreedyRequirement.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -29,7 +31,7 @@ > > c1 = createIU("C", new Version("1.0.0"), true); > >- RequiredCapability[] reqB = new RequiredCapability[2]; >+ IRequiredCapability[] reqB = new IRequiredCapability[2]; > reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false); > reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true); > a1 = createIU("A", new Version("1.0.0"), reqB); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestOptional3.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional3.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -33,16 +37,16 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true)); >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1, changepp2}, scopepp1, lifeCyclepp1); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true)); >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1, changepp2}, scopepp1, lifeCyclepp1); > > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java,v >retrieving revision 1.5 >diff -u -r1.5 MissingDependency2.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingDependency2.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -24,12 +26,12 @@ > > protected void setUp() throws Exception { > super.setUp(); >- RequiredCapability[] reqA = new RequiredCapability[1]; >+ IRequiredCapability[] reqA = new IRequiredCapability[1]; > reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); > a1 = createIU("A", new Version("1.0.0"), reqA); > > //Missing optional dependency >- RequiredCapability[] req = new RequiredCapability[1]; >+ IRequiredCapability[] req = new IRequiredCapability[1]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true); > b1 = createIU("B", new Version("1.0.0"), req); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestUpdate2.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate2.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.*; >@@ -36,23 +40,23 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >- >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >+ pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); > >- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)}); >+ p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)}); > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java,v >retrieving revision 1.6 >diff -u -r1.6 AnotherSingleton.java >--- src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/AnotherSingleton.java 24 Dec 2008 17:31:30 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; >@@ -33,11 +35,11 @@ > > a2 = createIU("A", new Version("2.0.0"), true); > >- RequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >- x = createIU("X", new Version(2, 0, 0), new RequiredCapability[] {c1}); >+ IRequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >+ x = createIU("X", new Version(2, 0, 0), new IRequiredCapability[] {c1}); > >- RequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false); >- y = createIU("Y", new Version(2, 0, 0), new RequiredCapability[] {c2}); >+ IRequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false); >+ y = createIU("Y", new Version(2, 0, 0), new IRequiredCapability[] {c2}); > > createTestMetdataRepository(new IInstallableUnit[] {a1, a2, x, y}); > >Index: src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java,v >retrieving revision 1.7 >diff -u -r1.7 MissingOptional.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java 22 Dec 2008 15:30:43 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingOptional.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -28,7 +30,7 @@ > a1 = createIU("A", new Version("1.0.0"), true); > b1 = createIU("B", new Version("1.0.0"), true); > >- RequiredCapability[] req = new RequiredCapability[3]; >+ IRequiredCapability[] req = new IRequiredCapability[3]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true); > req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true); >Index: src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java,v >retrieving revision 1.5 >diff -u -r1.5 MissingNonGreedyRequirement2.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingNonGreedyRequirement2.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -26,7 +28,7 @@ > super.setUp(); > c1 = createIU("C", new Version("1.0.0"), true); > >- RequiredCapability[] reqB = new RequiredCapability[2]; >+ IRequiredCapability[] reqB = new IRequiredCapability[2]; > reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false); > reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true); > a1 = createIU("A", new Version("1.0.0"), reqB); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java,v >retrieving revision 1.7 >diff -u -r1.7 PatchTest1.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java 22 Dec 2008 15:30:42 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest1.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -28,10 +32,10 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 2, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTest13.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest13.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -30,12 +34,12 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); > d1 = createIU("D", new Version(1, 0, 0), true); > c1 = createIU("C", new Version(1, 0, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.3.0)"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.3.0)"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/AllOptional.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AllOptional.java,v >retrieving revision 1.6 >diff -u -r1.6 AllOptional.java >--- src/org/eclipse/equinox/p2/tests/planner/AllOptional.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/AllOptional.java 24 Dec 2008 17:31:30 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -27,11 +29,11 @@ > > protected void setUp() throws Exception { > super.setUp(); >- RequiredCapability[] reqA = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true)}; >+ IRequiredCapability[] reqA = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true)}; > a1 = createIU("A", new Version("1.0.0"), reqA); > b1 = createIU("B", new Version("1.0.0"), true); > >- RequiredCapability[] reqC = new RequiredCapability[2]; >+ IRequiredCapability[] reqC = new IRequiredCapability[2]; > reqC[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true); > reqC[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "E", VersionRange.emptyRange, null, true, false, true); > c1 = createIU("C", new Version("1.0.0"), reqC); >Index: src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java,v >retrieving revision 1.5 >diff -u -r1.5 IUWithFilter2.java >--- src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/IUWithFilter2.java 24 Dec 2008 17:31:31 -0000 >@@ -1,5 +1,7 @@ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; >@@ -18,11 +20,11 @@ > > protected void setUp() throws Exception { > super.setUp(); >- RequiredCapability[] reqs = new RequiredCapability[1]; >+ IRequiredCapability[] reqs = new IRequiredCapability[1]; > reqs[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); > a1 = createIU("A", reqs); > >- RequiredCapability[] reqsA2 = new RequiredCapability[1]; >+ IRequiredCapability[] reqsA2 = new IRequiredCapability[1]; > reqsA2[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, true, false); > a2 = createIU("A", reqsA2); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestUpdate.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -37,23 +41,23 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >- >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >+ pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); > >- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchTest1c.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest1c.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -30,12 +34,12 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); > b2 = createIU("B", new Version(1, 2, 0), true); > b3 = createIU("B", new Version(1, 3, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java,v >retrieving revision 1.7 >diff -u -r1.7 PP2ShouldFailToInstall.java >--- src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java 22 Dec 2008 15:30:43 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/planner/PP2ShouldFailToInstall.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -31,21 +35,21 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU("p2.feature", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU("p2.feature", new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU("P1", new Version(1, 0, 0), true); > p2 = createIU("P2", new Version(1, 0, 0), true); > p1b = createIU("P1", new Version(1, 1, 1), true); > p2b = createIU("P2", new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch("PP1", new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >- >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[3.1.1, 3.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >- pp2 = createIUPatch("PP2", new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch("PP1", new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[3.1.1, 3.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >+ pp2 = createIUPatch("PP2", new Version("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); > > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchTest12.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest12.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -29,11 +33,11 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); > b2 = createIU("B", new Version(1, 2, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.4.0, 1.5.0)"), null, false, true, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.4.0, 1.5.0)"), null, false, true, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java,v >retrieving revision 1.7 >diff -u -r1.7 MissingDependency3.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java 22 Dec 2008 15:30:43 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingDependency3.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -25,12 +27,12 @@ > //This tests that A can still be resolved and installed > protected void setUp() throws Exception { > super.setUp(); >- RequiredCapability[] reqA = new RequiredCapability[1]; >+ IRequiredCapability[] reqA = new IRequiredCapability[1]; > reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true); > a1 = createIU("A", new Version("1.0.0"), reqA); > > //Missing dependency >- RequiredCapability[] req = new RequiredCapability[1]; >+ IRequiredCapability[] req = new IRequiredCapability[1]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true); > b1 = createIU("B", new Version("1.0.0"), req); > >Index: src/org/eclipse/equinox/p2/tests/planner/Bug249605.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug249605.java,v >retrieving revision 1.4 >diff -u -r1.4 Bug249605.java >--- src/org/eclipse/equinox/p2/tests/planner/Bug249605.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/Bug249605.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.HashMap; > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.NullProgressMonitor; >@@ -29,19 +35,19 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 1, 0), true); > b2 = createIU("B", new Version(1, 2, 0), true); > b3 = createIU("B", new Version(1, 3, 0), true); > >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.2.0)"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.2.0)"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > >- RequirementChange change2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.3.0)"), null, false, false, true)); >- p2 = createIUPatch("P", new Version("1.2.0"), null, new RequiredCapability[0], new ProvidedCapability[0], new HashMap(), null, null, true, MetadataFactory.createUpdateDescriptor("P", new VersionRange("[1.0.0, 1.2.0)"), 0, null), new RequirementChange[] {change2}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.3.0)"), null, false, false, true)); >+ p2 = createIUPatch("P", new Version("1.2.0"), null, new IRequiredCapability[0], new IProvidedCapability[0], new HashMap(), null, null, true, MetadataFactory.createUpdateDescriptor("P", new VersionRange("[1.0.0, 1.2.0)"), 0, null), new IRequirementChange[] {change2}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > >- RequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.4.0)"), null, false, false, true)); >- p3 = createIUPatch("P", new Version("1.3.0"), null, new RequiredCapability[0], new ProvidedCapability[0], new HashMap(), null, null, true, MetadataFactory.createUpdateDescriptor("P", new VersionRange("[1.0.0, 1.3.0)"), 0, null), new RequirementChange[] {change3}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.4.0)"), null, false, false, true)); >+ p3 = createIUPatch("P", new Version("1.3.0"), null, new IRequiredCapability[0], new IProvidedCapability[0], new HashMap(), null, null, true, MetadataFactory.createUpdateDescriptor("P", new VersionRange("[1.0.0, 1.3.0)"), 0, null), new IRequirementChange[] {change3}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, p1, p2, p3}); > >Index: src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java,v >retrieving revision 1.5 >diff -u -r1.5 InclusionRuleTest2.java >--- src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/InclusionRuleTest2.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; > import org.eclipse.equinox.internal.provisional.p2.director.*; >@@ -30,7 +32,7 @@ > super.setUp(); > a1 = createIU("A", new Version("1.0.0"), true); > >- createIU("A", new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, true, MetadataFactory.createUpdateDescriptor("A", VersionRange.emptyRange, 0, "foo bar")); >+ createIU("A", new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, true, MetadataFactory.createUpdateDescriptor("A", VersionRange.emptyRange, 0, "foo bar")); > a2 = createIU("A", new Version("2.0.0"), true); > > createTestMetdataRepository(new IInstallableUnit[] {a1, a2}); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchTest1b.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest1b.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -29,11 +33,11 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); > b2 = createIU("B", new Version(1, 2, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java,v >retrieving revision 1.5 >diff -u -r1.5 MissingOptionalWithDependencies.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -28,12 +30,12 @@ > a1 = createIU("A", new Version("1.0.0"), true); > > //B's dependency is missing >- RequiredCapability[] reqB = new RequiredCapability[2]; >+ IRequiredCapability[] reqB = new IRequiredCapability[2]; > reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true); > reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > b1 = createIU("B", new Version("1.0.0"), reqB); > >- RequiredCapability[] req = new RequiredCapability[2]; >+ IRequiredCapability[] req = new IRequiredCapability[2]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); > d = createIU("D", req); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestMultiplePatch.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestMultiplePatch.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -37,22 +41,22 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P3, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P3, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > p3 = createIU(P3, new Version(1, 0, 0), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >- >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >+ pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); > > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p3, p1b, p2b, pp1, pp2}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java,v >retrieving revision 1.5 >diff -u -r1.5 PatchTest3.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest3.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,14 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.*; >@@ -30,16 +38,16 @@ > > protected void setUp() throws Exception { > super.setUp(); >- f1 = createIU("F", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, true)}); >- f2 = createIU("F", new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0)"), null, false, false, true)}); >- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", new Version(1, 0, 0))}; >- a1 = createIU("A", new Version("1.0.0"), null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null); >+ f1 = createIU("F", new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, true)}); >+ f2 = createIU("F", new Version(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0)"), null, false, false, true)}); >+ IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", new Version(1, 0, 0))}; >+ a1 = createIU("A", new Version("1.0.0"), null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null); > a3 = createIU("A", new Version(3, 0, 0), true); > b1 = createIU("B", new Version(1, 0, 0), true); > b2 = createIU("B", new Version(2, 0, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true)); >- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, false); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, lifeCycle); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true)); >+ IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, false); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, lifeCycle); > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1, a3, f1, f2}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestUpdate3.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate3.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.*; >@@ -36,23 +40,23 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >- >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >+ pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); > >- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2, p2Feature20}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java,v >retrieving revision 1.4 >diff -u -r1.4 SDKPatchingTest1.java >--- src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest1.java 24 Dec 2008 17:31:34 -0000 >@@ -1,5 +1,9 @@ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.io.File; > import java.util.ArrayList; > import org.eclipse.core.runtime.NullProgressMonitor; >@@ -31,9 +35,9 @@ > changeVersion(newCommon, newVersionCommon); > newIUs.add(MetadataFactory.createInstallableUnit(newCommon)); > >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.common", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.common", new VersionRange(newVersionCommon, true, newVersionCommon, true), null, false, false, true)); >- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.rcp.feature.group", new VersionRange("[3.5.0.v20081110-9E9vFtpFlN1yW2Ray4WRVBYE, 3.5.0.v20081110-9E9vFtpFlN1yW2Ray4WRVBYE]"), null, false, false, true); >- patchInstallingCommon = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[0][0], lifeCycle); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.common", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.common", new VersionRange(newVersionCommon, true, newVersionCommon, true), null, false, false, true)); >+ IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.rcp.feature.group", new VersionRange("[3.5.0.v20081110-9E9vFtpFlN1yW2Ray4WRVBYE, 3.5.0.v20081110-9E9vFtpFlN1yW2Ray4WRVBYE]"), null, false, false, true); >+ patchInstallingCommon = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[0][0], lifeCycle); > > newIUs.add(patchInstallingCommon); > } >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java,v >retrieving revision 1.5 >diff -u -r1.5 PatchTest8.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest8.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -40,19 +46,19 @@ > b2 = createIU("B", new Version("2.0.0"), true); > c2 = createIU("C", new Version("2.0.0"), true); > >- RequiredCapability[] req = new RequiredCapability[3]; >+ IRequiredCapability[] req = new IRequiredCapability[3]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); > req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); > req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 3.1.0)"), null, false, true); > f1 = createIU("F", new Version(1, 0, 0), req); > >- RequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true)); >- RequiredCapability[][] scope = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}}; >- p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeA}, scope, null); >- >- RequirementChange changeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true)); >- RequiredCapability[][] scopePP = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}}; >- r1 = createIUPatch("R", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeB}, scopePP, null); >+ IRequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true)); >+ IRequiredCapability[][] scope = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}}; >+ p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeA}, scope, null); >+ >+ IRequirementChange changeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, true)); >+ IRequiredCapability[][] scopePP = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false)}}; >+ r1 = createIUPatch("R", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeB}, scopePP, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, a2, b1, b2, c2, f1, p1, r1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java,v >retrieving revision 1.5 >diff -u -r1.5 PatchTest9.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest9.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -31,16 +35,16 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); > b2 = createIU("B", new Version(1, 2, 0), true); > c1 = createIU("C", new Version(1, 0, 0), true); >- RequirementChange changeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {changeB, changeC}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange changeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {changeB, changeC}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > >- RequirementChange anotherChangeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, true, false, true)); >- pp1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {changeB, anotherChangeC}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange anotherChangeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.1.0, 1.3.0)"), null, true, false, true)); >+ pp1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {changeB, anotherChangeC}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, c1, p1, pp1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java,v >retrieving revision 1.5 >diff -u -r1.5 PatchTest7.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest7.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -40,9 +46,9 @@ > y2 = createIU("Y", new Version(1, 2, 0), true); > // a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > // b1 = createIU("B", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ c1 = createIU("C", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > >- RequiredCapability[] req = new RequiredCapability[1]; >+ IRequiredCapability[] req = new IRequiredCapability[1]; > // req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); > // req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); >@@ -52,9 +58,9 @@ > // RequiredCapability[][] scope = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}}; > // p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeX}, scope, null); > >- RequirementChange changeY = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability[][] scopePP = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}}; >- pp1 = createIUPatch("PP", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeY}, scopePP, null); >+ IRequirementChange changeY = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability[][] scopePP = new IRequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}}; >+ pp1 = createIUPatch("PP", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeY}, scopePP, null); > > // createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, x1, y1, y2, f1, p1, pp1}); > createTestMetdataRepository(new IInstallableUnit[] {c1, y1, y2, f1, pp1}); >Index: src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java,v >retrieving revision 1.5 >diff -u -r1.5 SimpleOptionalTest2.java >--- src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest2.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -49,13 +51,13 @@ > z1 = createIU("Z", new Version("1.0.0"), true); > > //B's dependency is missing >- RequiredCapability[] reqA = new RequiredCapability[3]; >+ IRequiredCapability[] reqA = new IRequiredCapability[3]; > reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); > reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, true, false, true); > reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true); > a1 = createIU("A", new Version("1.0.0"), reqA); > >- RequiredCapability[] req = new RequiredCapability[3]; >+ IRequiredCapability[] req = new IRequiredCapability[3]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); > req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, true); > req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Z", VersionRange.emptyRange, null, true, false, true); >Index: src/org/eclipse/equinox/p2/tests/planner/Bug252638.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug252638.java,v >retrieving revision 1.2 >diff -u -r1.2 Bug252638.java >--- src/org/eclipse/equinox/p2/tests/planner/Bug252638.java 23 Dec 2008 01:02:11 -0000 1.2 >+++ src/org/eclipse/equinox/p2/tests/planner/Bug252638.java 24 Dec 2008 17:31:31 -0000 >@@ -1,5 +1,9 @@ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.core.Version; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; >@@ -20,9 +24,9 @@ > protected void setUp() throws Exception { > super.setUp(); > a1 = createIU("A", new Version("1.0.0"), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, false); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 3.0.0)"), null, false, false, false); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, lifeCycle); > > createTestMetdataRepository(new IInstallableUnit[] {a1, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java,v >retrieving revision 1.1 >diff -u -r1.1 ActualChangeRequestTest.java >--- src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java 23 Dec 2008 00:49:05 -0000 1.1 >+++ src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest.java 24 Dec 2008 17:31:30 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.Map; > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >@@ -29,7 +31,7 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true); >+ a = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true); > > b = createIU("B", new Version("1.0.0"), true); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestOptional2.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional2.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -32,15 +36,15 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); > > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p2b, pp1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestUpdate5.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate5.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -36,18 +40,18 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); > >- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, p2Feature20}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java,v >retrieving revision 1.6 >diff -u -r1.6 SimpleOptionalTest3.java >--- src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest3.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -42,13 +44,13 @@ > d1 = createIU("D", new Version("1.0.0"), true); > d2 = createIU("D", new Version("2.0.0"), true); > >- RequiredCapability[] reqA = new RequiredCapability[3]; >+ IRequiredCapability[] reqA = new IRequiredCapability[3]; > reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true); > reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true); > reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, true, false, true); > a1 = createIU("A", new Version("1.0.0"), reqA); > >- RequiredCapability[] req = new RequiredCapability[1]; >+ IRequiredCapability[] req = new IRequiredCapability[1]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 2.0.0]"), null, false, false, true); > x1 = createIU("X", req); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchTest7b.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest7b.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -38,23 +44,23 @@ > x1 = createIU("X", new Version(1, 2, 0), true); > y1 = createIU("Y", new Version(1, 0, 0), true); > y2 = createIU("Y", new Version(1, 2, 0), true); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >- b1 = createIU("B", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ b1 = createIU("B", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ c1 = createIU("C", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > >- RequiredCapability[] req = new RequiredCapability[3]; >+ IRequiredCapability[] req = new IRequiredCapability[3]; > req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); > req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0)"), null, false, true); > f1 = createIU("F", new Version(1, 0, 0), req); > >- RequirementChange changeX = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability[][] scope = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}}; >- p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeX}, scope, null); >- >- RequirementChange changeY = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability[][] scopePP = new RequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}}; >- pp1 = createIUPatch("PP", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeY}, scopePP, null); >+ IRequirementChange changeX = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "X", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability[][] scope = new IRequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}}; >+ p1 = createIUPatch("P", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeX}, scope, null); >+ >+ IRequirementChange changeY = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "Y", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability[][] scopePP = new IRequiredCapability[0][0]; //new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}}; >+ pp1 = createIUPatch("PP", new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeY}, scopePP, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, x1, y1, y2, f1, p1, pp1}); > // createTestMetdataRepository(new IInstallableUnit[] {c1, y1, y2, f1, pp1}); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchTest5.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest5.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -30,14 +34,14 @@ > > protected void setUp() throws Exception { > super.setUp(); >- top = createIU("TOP", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >- f1 = createIU("F", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ top = createIU("TOP", new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ f1 = createIU("F", new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 2, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scope = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, scope, lifeCycle); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scope = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, scope, lifeCycle); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, f1, top, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java,v >retrieving revision 1.6 >diff -u -r1.6 MissingOptionalWithDependencies3.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingOptionalWithDependencies3.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -32,12 +34,12 @@ > c2 = createIU("C", new Version("2.0.0"), true); > > //B's dependency on C can not be satisfied >- RequiredCapability[] reqB = new RequiredCapability[2]; >+ IRequiredCapability[] reqB = new IRequiredCapability[2]; > reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.0.0]"), null, true, false, true); > reqB[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > b1 = createIU("B", new Version("1.0.0"), reqB); > >- RequiredCapability[] req = new RequiredCapability[3]; >+ IRequiredCapability[] req = new IRequiredCapability[3]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > req[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true); > req[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[2.0.0, 2.0.0]"), null, false, false, true); >Index: src/org/eclipse/equinox/p2/tests/planner/Bug255984.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/Bug255984.java,v >retrieving revision 1.5 >diff -u -r1.5 Bug255984.java >--- src/org/eclipse/equinox/p2/tests/planner/Bug255984.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/Bug255984.java 24 Dec 2008 17:31:31 -0000 >@@ -1,5 +1,7 @@ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.NullProgressMonitor; > import org.eclipse.equinox.internal.provisional.p2.director.*; >@@ -21,7 +23,7 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true); >+ a = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true); > > b = createIU("B", new Version("1.0.0"), true); > >Index: src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java,v >retrieving revision 1.5 >diff -u -r1.5 DropinsScenario.java >--- src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/DropinsScenario.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -35,10 +37,10 @@ > a0 = createIU("A", new Version("0.0.0"), true); > b0 = createIU("B", new Version("0.0.0"), true); > >- RequiredCapability[] reqAs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)}; >+ IRequiredCapability[] reqAs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)}; > as = createIU("AS", new Version("0.0.0"), reqAs); > >- RequiredCapability[] reqBs = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)}; >+ IRequiredCapability[] reqBs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[0.0.0, 1.0.0]"), null, false, false, true)}; > bs = createIU("BS", new Version("0.0.0"), reqBs); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, a0, b0, as, bs}); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestUpdate4.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestUpdate4.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.*; >@@ -35,18 +39,18 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 3.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); > >- p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature20 = createIU(P2_FEATURE, new Version(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, p2Feature20}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java,v >retrieving revision 1.5 >diff -u -r1.5 MissingDependency.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingDependency.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -27,7 +29,7 @@ > a1 = createIU("A", new Version("1.0.0"), true); > > //Missing non optional dependency >- RequiredCapability[] req = new RequiredCapability[1]; >+ IRequiredCapability[] req = new IRequiredCapability[1]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true); > b1 = createIU("B", new Version("1.0.0"), req); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java,v >retrieving revision 1.4 >diff -u -r1.4 PatchTestOptional.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestOptional.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -33,16 +37,16 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, true, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); > > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java,v >retrieving revision 1.4 >diff -u -r1.4 SDKPatchingTest2.java >--- src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/SDKPatchingTest2.java 24 Dec 2008 17:31:34 -0000 >@@ -1,5 +1,9 @@ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.io.File; > import java.util.ArrayList; > import org.eclipse.core.runtime.NullProgressMonitor; >@@ -33,9 +37,9 @@ > changeVersion(newJDTLaunching, newJDTLaunchingVersion); > newIUs.add(MetadataFactory.createInstallableUnit(newJDTLaunching)); > >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.launching", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.launching", new VersionRange(newJDTLaunchingVersion, true, newJDTLaunchingVersion, true), null, false, false, true)); >- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.feature.group", new VersionRange("[3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe, 3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe]"), null, false, false, true); >- patchInstallingJDTLaunching = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[0][0], lifeCycle); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.launching", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.launching", new VersionRange(newJDTLaunchingVersion, true, newJDTLaunchingVersion, true), null, false, false, true)); >+ IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.feature.group", new VersionRange("[3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe, 3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe]"), null, false, false, true); >+ patchInstallingJDTLaunching = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[0][0], lifeCycle); > > newIUs.add(patchInstallingJDTLaunching); > >@@ -45,9 +49,9 @@ > changeVersion(newDebugUI, newDebugVersion); > newIUs.add(MetadataFactory.createInstallableUnit(newDebugUI)); > >- RequirementChange change2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.debug.ui", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.debug.ui", new VersionRange(newDebugVersion, true, newDebugVersion, true), null, false, false, true)); >- RequiredCapability lifeCycle2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.feature.group", new VersionRange("[3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe, 3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe]"), null, false, false, true); >- patchInstallingDebugUI = createIUPatch("P2", new Version("1.0.0"), true, new RequirementChange[] {change2}, new RequiredCapability[0][0], lifeCycle2); >+ IRequirementChange change2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.debug.ui", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.debug.ui", new VersionRange(newDebugVersion, true, newDebugVersion, true), null, false, false, true)); >+ IRequiredCapability lifeCycle2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.jdt.feature.group", new VersionRange("[3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe, 3.5.0.v20081202-0800-7p83FGDFHmHuj2mNpJBSKZe]"), null, false, false, true); >+ patchInstallingDebugUI = createIUPatch("P2", new Version("1.0.0"), true, new IRequirementChange[] {change2}, new IRequiredCapability[0][0], lifeCycle2); > > newIUs.add(patchInstallingDebugUI); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java,v >retrieving revision 1.7 >diff -u -r1.7 PatchTest2.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java 22 Dec 2008 15:30:43 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest2.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,14 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -33,16 +41,16 @@ > > protected void setUp() throws Exception { > super.setUp(); >- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", new Version(1, 0, 0))}; >- a1 = createIU("A", new Version("1.0.0"), null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null); >+ IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("foo", "bar", new Version(1, 0, 0))}; >+ a1 = createIU("A", new Version("1.0.0"), null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false)}, cap, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null); > b1 = createIU("B", new Version(1, 2, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, null); >- p2 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null); >- p3 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null); >- p4 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.6.0, 1.7.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null); >- p5 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability("foo", "bar", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.5.0]"), null, false, false, false)}}, null); >- p6 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}, null); >+ p2 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null); >+ p3 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null); >+ p4 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.6.0, 1.7.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.3.0, 1.5.0]"), null, false, false, false)}}, null); >+ p5 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability("foo", "bar", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.5.0]"), null, false, false, false)}}, null); >+ p6 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {}, null); > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, p1, p2, p3, p4, p5, p6}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchTest6.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest6.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -32,20 +38,20 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 2, 0), true); > >- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ c1 = createIU("C", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > d1 = createIU("D", new Version(1, 2, 0), true); > >- RequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability[][] scopeP1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}}; >- RequiredCapability[] reqOnPP = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "PP", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, true)}; >- p1 = createIUPatch("P", new Version("1.0.0"), null, reqOnPP, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, null, new RequirementChange[] {changeA}, scopeP1, null); >- >- RequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability[][] scopePP1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}}; >- pp1 = createIUPatch("PP", new Version("1.0.0"), true, new RequirementChange[] {changeC}, scopePP1, null); >+ IRequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability[][] scopeP1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, false)}}; >+ IRequiredCapability[] reqOnPP = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "PP", new VersionRange("[1.0.0, 2.0.0)"), null, false, false, true)}; >+ p1 = createIUPatch("P", new Version("1.0.0"), null, reqOnPP, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, null, new IRequirementChange[] {changeA}, scopeP1, null); >+ >+ IRequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability[][] scopePP1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, false)}}; >+ pp1 = createIUPatch("PP", new Version("1.0.0"), true, new IRequirementChange[] {changeC}, scopePP1, null); > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, c1, d1, p1, pp1}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java,v >retrieving revision 1.1 >diff -u -r1.1 ActualChangeRequestTest2.java >--- src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java 23 Dec 2008 00:49:05 -0000 1.1 >+++ src/org/eclipse/equinox/p2/tests/planner/ActualChangeRequestTest2.java 24 Dec 2008 17:31:30 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.director.RequestStatus; > > import java.util.Map; >@@ -32,7 +34,7 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true); >+ a = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}, NO_PROPERTIES, true); > > b = createIU("B", new Version("1.0.0"), true); > b2 = createIU("B", new Version("2.0.0"), true); >Index: src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java,v >retrieving revision 1.6 >diff -u -r1.6 MultipleSingleton.java >--- src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/MultipleSingleton.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; >@@ -39,22 +41,22 @@ > > x = createIU("X", new Version(2, 0, 0), createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 4.1.0)"), null)); > >- RequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >- RequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false); >- y = createIU("Y", new Version(2, 0, 0), new RequiredCapability[] {c1, c2}); >- >- RequiredCapability c3 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false); >- RequiredCapability c4 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[4.0.0, 4.0.0]"), null, false, false); >- z = createIU("Z", new Version(2, 0, 0), new RequiredCapability[] {c3, c4}); >- >- RequiredCapability c5 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >- RequiredCapability c6 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false); >- w = createIU("W", new Version(2, 0, 0), new RequiredCapability[] {c5, c6}); >- >- RequiredCapability c7 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 2.0.0]"), null, false, false); >- RequiredCapability c8 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0]"), null, false, false); >- v = createIU("V", new Version(2, 0, 0), new RequiredCapability[] {c7}); >- u = createIU("U", new Version(2, 0, 0), new RequiredCapability[] {c8}); >+ IRequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >+ IRequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false); >+ y = createIU("Y", new Version(2, 0, 0), new IRequiredCapability[] {c1, c2}); >+ >+ IRequiredCapability c3 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false); >+ IRequiredCapability c4 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[4.0.0, 4.0.0]"), null, false, false); >+ z = createIU("Z", new Version(2, 0, 0), new IRequiredCapability[] {c3, c4}); >+ >+ IRequiredCapability c5 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >+ IRequiredCapability c6 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 3.0.0]"), null, false, false); >+ w = createIU("W", new Version(2, 0, 0), new IRequiredCapability[] {c5, c6}); >+ >+ IRequiredCapability c7 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 2.0.0]"), null, false, false); >+ IRequiredCapability c8 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[3.0.0, 4.0.0]"), null, false, false); >+ v = createIU("V", new Version(2, 0, 0), new IRequiredCapability[] {c7}); >+ u = createIU("U", new Version(2, 0, 0), new IRequiredCapability[] {c8}); > > createTestMetdataRepository(new IInstallableUnit[] {a1, a2, a3, a4, w, x, y, z}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java,v >retrieving revision 1.5 >diff -u -r1.5 PatchTest10.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest10.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -31,15 +35,15 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); > b2 = createIU("B", new Version(1, 2, 0), true); > b3 = createIU("B", new Version(1, 3, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.2.0, 1.2.0]"), null, false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > >- RequirementChange anotherChangeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.3.0]"), null, false, false, true)); >- pp1 = createIUPatch("PP", new Version("1.0.0"), true, new RequirementChange[] {anotherChangeB}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange anotherChangeB = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.3.0, 1.3.0]"), null, false, false, true)); >+ pp1 = createIUPatch("PP", new Version("1.0.0"), true, new IRequirementChange[] {anotherChangeB}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, b3, p1, pp1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java,v >retrieving revision 1.5 >diff -u -r1.5 MissingOptionalNonGreedyRequirement.java >--- src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/MissingOptionalNonGreedyRequirement.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -26,7 +28,7 @@ > super.setUp(); > b1 = createIU("B", new Version("1.0.0"), true); > >- RequiredCapability[] reqB = new RequiredCapability[1]; >+ IRequiredCapability[] reqB = new IRequiredCapability[1]; > reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, false); > a1 = createIU("A", new Version("1.0.0"), reqB); > >Index: src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java,v >retrieving revision 1.5 >diff -u -r1.5 SimpleOptionalTest.java >--- src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -31,7 +33,7 @@ > b1 = createIU("B", new Version("1.0.0"), true); > > //B's dependency is missing >- RequiredCapability[] reqA = new RequiredCapability[1]; >+ IRequiredCapability[] reqA = new IRequiredCapability[1]; > reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, true); > a1 = createIU("A", new Version("1.0.0"), reqA); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchFailingToInstall.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchFailingToInstall.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -31,21 +35,21 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU("p2.feature", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU("p2.feature", new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU("P1", new Version(1, 0, 0), true); > p2 = createIU("P2", new Version(1, 0, 0), true); > p1b = createIU("P1", new Version(1, 1, 1), true); > p2b = createIU("P2", new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}}; >- pp1 = createIUPatch("PP1", new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >- >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}}; >- pp2 = createIUPatch("PP2", new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P1", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}}; >+ pp1 = createIUPatch("PP1", new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "p2.feature", new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "P2", new VersionRange("[1.1.1,1.1.1]"), null, false, false)}}; >+ pp2 = createIUPatch("PP2", new Version("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); > > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java,v >retrieving revision 1.5 >diff -u -r1.5 PatchTestUninstall.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTestUninstall.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -36,21 +40,21 @@ > > protected void setUp() throws Exception { > super.setUp(); >- p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); >+ p2Feature = createIU(P2_FEATURE, new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true)}); > p1 = createIU(P1, new Version(1, 0, 0), true); > p2 = createIU(P2, new Version(1, 0, 0), true); > p1b = createIU(P1, new Version(1, 1, 1), true); > p2b = createIU(P2, new Version(1, 1, 1), true); > >- RequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp1 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >- pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new RequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >- >- RequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >- RequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >- RequiredCapability[][] scopepp2 = new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >- pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new RequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); >+ IRequirementChange changepp1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P1, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp1 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0,1.0.0]"), null, false, false)}}; >+ pp1 = createIUPatch(PP1, new Version("3.0.0"), true, new IRequirementChange[] {changepp1}, scopepp1, lifeCyclepp1); >+ >+ IRequirementChange changepp2 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2, new VersionRange("[1.1.1, 1.1.1]"), null, false, false, true)); >+ IRequiredCapability lifeCyclepp2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false, true); >+ IRequiredCapability[][] scopepp2 = new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, P2_FEATURE, new VersionRange("[1.0.0, 1.0.0]"), null, false, false)}}; >+ pp2 = createIUPatch(PP2, new Version("5.0.0"), true, new IRequirementChange[] {changepp2}, scopepp2, lifeCyclepp2); > > createTestMetdataRepository(new IInstallableUnit[] {p2Feature, p1, p2, p1b, p2b, pp1, pp2}); > >Index: src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java,v >retrieving revision 1.6 >diff -u -r1.6 SimpleSingleton.java >--- src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/SimpleSingleton.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IPlanner; > import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; >@@ -33,9 +35,9 @@ > > a2 = createIU("A", new Version("2.0.0"), true); > >- RequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >- RequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false); >- y = createIU("Y", new Version(2, 0, 0), new RequiredCapability[] {c1, c2}); >+ IRequiredCapability c1 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.0.0]"), null, false, false); >+ IRequiredCapability c2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[2.0.0, 2.0.0]"), null, false, false); >+ y = createIU("Y", new Version(2, 0, 0), new IRequiredCapability[] {c1, c2}); > > createTestMetdataRepository(new IInstallableUnit[] {a1, a2, y}); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java,v >retrieving revision 1.6 >diff -u -r1.6 PatchTest11.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java 22 Dec 2008 15:30:43 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest11.java 24 Dec 2008 17:31:32 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IEngine; >@@ -29,11 +33,11 @@ > > protected void setUp() throws Exception { > super.setUp(); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, true, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); > b2 = createIU("B", new Version(1, 2, 0), true); >- RequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), "foo=bar", false, false, true)); >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {change}, new RequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); >+ IRequirementChange change = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), "foo=bar", false, false, true)); >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {change}, new IRequiredCapability[][] {{MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false)}}, null); > > createTestMetdataRepository(new IInstallableUnit[] {a1, b1, b2, p1}); > >Index: src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java,v >retrieving revision 1.4 >diff -u -r1.4 SimpleOptionalTest4.java >--- src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/planner/SimpleOptionalTest4.java 24 Dec 2008 17:31:34 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -37,7 +39,7 @@ > b4 = createIU("B", new Version("4.0.0"), false); > > //B's dependency is missing >- RequiredCapability[] reqA = new RequiredCapability[4]; >+ IRequiredCapability[] reqA = new IRequiredCapability[4]; > reqA[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0,1.0.0]"), null, true, false, true); > reqA[1] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0,2.0.0]"), null, true, false, true); > reqA[2] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[3.0.0,3.0.0]"), null, true, false, true); >Index: src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java,v >retrieving revision 1.5 >diff -u -r1.5 GreedyRequirement.java >--- src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/GreedyRequirement.java 24 Dec 2008 17:31:31 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; >@@ -27,11 +29,11 @@ > super.setUp(); > b1 = createIU("B", new Version("1.0.0"), true); > >- RequiredCapability[] reqB = new RequiredCapability[1]; >+ IRequiredCapability[] reqB = new IRequiredCapability[1]; > reqB[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, true, false, false); > a1 = createIU("A", new Version("1.0.0"), reqB); > >- RequiredCapability[] reqC = new RequiredCapability[1]; >+ IRequiredCapability[] reqC = new IRequiredCapability[1]; > reqC[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, true); > c1 = createIU("C", new Version("1.0.0"), reqC); > >Index: src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java,v >retrieving revision 1.5 >diff -u -r1.5 PatchTest4.java >--- src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java 22 Dec 2008 15:30:43 -0000 1.5 >+++ src/org/eclipse/equinox/p2/tests/planner/PatchTest4.java 24 Dec 2008 17:31:33 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.planner; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.*; >@@ -34,21 +38,21 @@ > > protected void setUp() throws Exception { > super.setUp(); >- f1 = createIU("F", new Version(1, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true)}); >- a1 = createIU("A", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)}); >+ f1 = createIU("F", new Version(1, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", VersionRange.emptyRange, null, false, false, true)}); >+ a1 = createIU("A", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)}); > b1 = createIU("B", new Version(1, 0, 0), true); >- c1 = createIU("C", new Version("1.0.0"), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)}); >+ c1 = createIU("C", new Version("1.0.0"), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 1.1.0)"), null, false, false, true)}); > d1 = createIU("D", new Version(1, 0, 0), true); >- b2 = createIU("B", new Version(2, 0, 0), new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 3.1.0)"), null, false, false, true)}); >+ b2 = createIU("B", new Version(2, 0, 0), new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 3.1.0)"), null, false, false, true)}); > d2 = createIU("D", new Version(2, 0, 0), true); > >- RequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true)); >- RequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true)); >+ IRequirementChange changeA = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true)); >+ IRequirementChange changeC = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[2.0.0, 2.1.0)"), null, false, false, true)); > >- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false); >- RequiredCapability[][] scope = new RequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}; >- p1 = createIUPatch("P", new Version("1.0.0"), true, new RequirementChange[] {changeA, changeC}, scope, lifeCycle); >- p2 = createIUPatch("P", new Version("2.0.0"), true, new RequirementChange[] {changeA, changeC}, new RequiredCapability[0][0], lifeCycle); >+ IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "F", VersionRange.emptyRange, null, false, false, false); >+ IRequiredCapability[][] scope = new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}, {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 1.1.0]"), null, false, false, false)}}; >+ p1 = createIUPatch("P", new Version("1.0.0"), true, new IRequirementChange[] {changeA, changeC}, scope, lifeCycle); >+ p2 = createIUPatch("P", new Version("2.0.0"), true, new IRequirementChange[] {changeA, changeC}, new IRequiredCapability[0][0], lifeCycle); > createTestMetdataRepository(new IInstallableUnit[] {f1, a1, b1, b2, c1, d1, d2, p1}); > > profile1 = createProfile("TestProfile." + getName()); >Index: src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java,v >retrieving revision 1.12 >diff -u -r1.12 FragmentTest.java >--- src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java 28 Feb 2008 01:11:03 -0000 1.12 >+++ src/org/eclipse/equinox/p2/tests/metadata/FragmentTest.java 24 Dec 2008 17:31:29 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.*; > import junit.framework.AssertionFailedError; > import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper; >@@ -86,7 +90,7 @@ > > public void testDefaultIUCapability() { > IInstallableUnit iu = createEclipseIU("ui.test1"); >- ProvidedCapability[] cap = iu.getProvidedCapabilities(); >+ IProvidedCapability[] cap = iu.getProvidedCapabilities(); > for (int i = 0; i < cap.length; i++) { > if (cap[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) { > assertEquals(cap[i].getNamespace(), IInstallableUnit.NAMESPACE_IU_ID); >@@ -114,7 +118,7 @@ > } > > private IInstallableUnit createIUWithTouchpointData() { >- TouchpointData data = MetadataFactory.createTouchpointData(new HashMap()); >+ ITouchpointData data = MetadataFactory.createTouchpointData(new HashMap()); > return createEclipseIU("ui.test1", DEFAULT_VERSION, NO_REQUIRES, data); > } > >Index: src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java,v >retrieving revision 1.4 >diff -u -r1.4 InstallableUnitTest.java >--- src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java 22 Dec 2008 15:30:43 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/metadata/InstallableUnitTest.java 24 Dec 2008 17:31:30 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; >@@ -23,14 +27,14 @@ > * Tests for {@link org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit#satisfies(org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability)}. > */ > public void testSatisfies() { >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("testNamespace", "name", new Version(1, 0, 0))}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("testNamespace", "name", new Version(1, 0, 0))}; > IInstallableUnit iu = createIU("iu", provides); > >- RequiredCapability wrongNamespace = MetadataFactory.createRequiredCapability("wrongNamespace", "name", VersionRange.emptyRange, null, false, false); >- RequiredCapability wrongName = MetadataFactory.createRequiredCapability("testNamespace", "wrongName", VersionRange.emptyRange, null, false, false); >- RequiredCapability lowerVersionRange = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("[0.1,1.0)"), null, false, false); >- RequiredCapability higherVersionRange = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("(1.0,99.99]"), null, false, false); >- RequiredCapability match = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("[1.0,2.0)"), null, false, false); >+ IRequiredCapability wrongNamespace = MetadataFactory.createRequiredCapability("wrongNamespace", "name", VersionRange.emptyRange, null, false, false); >+ IRequiredCapability wrongName = MetadataFactory.createRequiredCapability("testNamespace", "wrongName", VersionRange.emptyRange, null, false, false); >+ IRequiredCapability lowerVersionRange = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("[0.1,1.0)"), null, false, false); >+ IRequiredCapability higherVersionRange = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("(1.0,99.99]"), null, false, false); >+ IRequiredCapability match = MetadataFactory.createRequiredCapability("testNamespace", "name", new VersionRange("[1.0,2.0)"), null, false, false); > > assertFalse("1.0", iu.satisfies(wrongNamespace)); > assertFalse("1.1", iu.satisfies(wrongName)); >Index: src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java,v >retrieving revision 1.16 >diff -u -r1.16 IUPersistenceTest.java >--- src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java 22 Dec 2008 15:30:43 -0000 1.16 >+++ src/org/eclipse/equinox/p2/tests/metadata/IUPersistenceTest.java 24 Dec 2008 17:31:30 -0000 >@@ -10,6 +10,14 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.*; > import java.util.*; > import javax.xml.parsers.ParserConfigurationException; >@@ -64,9 +72,9 @@ > > public static IInstallableUnit createPersistenceTestIU() { > Map propertyMap = createProperties(properties); >- ProvidedCapability[] additionalProvides = createProvided(provides); >- RequiredCapability[] requirements = createRequired(requires); >- TouchpointData tpData = createTouchpointData(instructions); >+ IProvidedCapability[] additionalProvides = createProvided(provides); >+ IRequiredCapability[] requirements = createRequired(requires); >+ ITouchpointData tpData = createTouchpointData(instructions); > IUpdateDescriptor update = createUpdateDescriptor(); > boolean singleton = false; > IInstallableUnit iu = createIU(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update); >@@ -86,8 +94,8 @@ > return props; > } > >- private static ProvidedCapability[] createProvided(String[][] provideTuples) { >- ProvidedCapability[] provided = new ProvidedCapability[provideTuples.length]; >+ private static IProvidedCapability[] createProvided(String[][] provideTuples) { >+ IProvidedCapability[] provided = new IProvidedCapability[provideTuples.length]; > for (int i = 0; i < provideTuples.length; i++) { > String[] nextTuple = provideTuples[i]; > provided[i] = MetadataFactory.createProvidedCapability(nextTuple[0], nextTuple[1], new Version(nextTuple[2])); >@@ -96,8 +104,8 @@ > return provided; > } > >- private static RequiredCapability[] createRequired(String[][] requireTuples) { >- RequiredCapability[] required = new RequiredCapability[requireTuples.length]; >+ private static IRequiredCapability[] createRequired(String[][] requireTuples) { >+ IRequiredCapability[] required = new IRequiredCapability[requireTuples.length]; > for (int i = 0; i < requireTuples.length; i++) { > String[] nextTuple = requireTuples[i]; > required[i] = MetadataFactory.createRequiredCapability(nextTuple[0], nextTuple[1], new VersionRange(nextTuple[2]), null, Boolean.valueOf(nextTuple[3]).booleanValue(), false); >@@ -105,7 +113,7 @@ > return required; > } > >- private static TouchpointData createTouchpointData(String[][] instructionData) { >+ private static ITouchpointData createTouchpointData(String[][] instructionData) { > Map map = new LinkedHashMap(instructionData.length); > for (int i = 0; i < instructionData.length; i++) { > String[] nextInstruction = instructionData[i]; >@@ -306,31 +314,31 @@ > > private IInstallableUnitPatch createPatchWithEmptyScope() { > Map propertyMap = createProperties(properties); >- ProvidedCapability[] additionalProvides = createProvided(provides); >- RequiredCapability[] requirements = createRequired(requires); >- TouchpointData tpData = createTouchpointData(instructions); >+ IProvidedCapability[] additionalProvides = createProvided(provides); >+ IRequiredCapability[] requirements = createRequired(requires); >+ ITouchpointData tpData = createTouchpointData(instructions); > IUpdateDescriptor update = createUpdateDescriptor(); > boolean singleton = false; >- RequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null); >- RequiredCapability[][] scope = new RequiredCapability[][] {{}}; >- IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new RequirementChange[] {change1, change2, change3}, scope, null); >+ IRequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null); >+ IRequiredCapability[][] scope = new IRequiredCapability[][] {{}}; >+ IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new IRequirementChange[] {change1, change2, change3}, scope, null); > return iu; > } > > private IInstallableUnitPatch createPatchIU() { > Map propertyMap = createProperties(properties); >- ProvidedCapability[] additionalProvides = createProvided(provides); >- RequiredCapability[] requirements = createRequired(requires); >- TouchpointData tpData = createTouchpointData(instructions); >+ IProvidedCapability[] additionalProvides = createProvided(provides); >+ IRequiredCapability[] requirements = createRequired(requires); >+ ITouchpointData tpData = createTouchpointData(instructions); > IUpdateDescriptor update = createUpdateDescriptor(); > boolean singleton = false; >- RequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null); >- RequiredCapability[][] scope = new RequiredCapability[][] { {MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}}; >- IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new RequirementChange[] {change1, change2, change3}, scope, null); >+ IRequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null); >+ IRequiredCapability[][] scope = new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}}; >+ IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new IRequirementChange[] {change1, change2, change3}, scope, null); > return iu; > } > >@@ -392,7 +400,7 @@ > > private static String[][] addSelfCapability(IInstallableUnit iu, String[][] provideTuples) { > String[][] augmentedProvides = new String[provideTuples.length + 1][3]; >- ProvidedCapability self = getSelfCapability(iu); >+ IProvidedCapability self = getSelfCapability(iu); > augmentedProvides[0] = new String[] {self.getNamespace(), self.getName(), self.getVersion().toString()}; > for (int i = 0; i < provideTuples.length; i++) { > augmentedProvides[i + 1] = provideTuples[i]; >@@ -401,20 +409,20 @@ > } > > private static String[][] extractProvides(IInstallableUnit iu) { >- ProvidedCapability[] provydes = iu.getProvidedCapabilities(); >+ IProvidedCapability[] provydes = iu.getProvidedCapabilities(); > String[][] tuples = new String[provydes.length][3]; > for (int i = 0; i < provydes.length; i++) { >- ProvidedCapability next = provydes[i]; >+ IProvidedCapability next = provydes[i]; > tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getVersion().toString()}; > } > return tuples; > } > > private static String[][] extractRequires(IInstallableUnit iu) { >- RequiredCapability[] requyres = iu.getRequiredCapabilities(); >+ IRequiredCapability[] requyres = iu.getRequiredCapabilities(); > String[][] tuples = new String[requyres.length][4]; > for (int i = 0; i < requyres.length; i++) { >- RequiredCapability next = requyres[i]; >+ IRequiredCapability next = requyres[i]; > tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getRange().toString(), Boolean.valueOf(next.isOptional()).toString()}; > } > return tuples; >Index: src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java,v >retrieving revision 1.7 >diff -u -r1.7 IUPatchPersistenceTest.java >--- src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java 22 Dec 2008 15:30:43 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/metadata/IUPatchPersistenceTest.java 24 Dec 2008 17:31:30 -0000 >@@ -10,6 +10,14 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.*; > import java.util.*; > import javax.xml.parsers.ParserConfigurationException; >@@ -64,9 +72,9 @@ > > public static IInstallableUnit createPersistenceTestIU() { > Map propertyMap = createProperties(properties); >- ProvidedCapability[] additionalProvides = createProvided(provides); >- RequiredCapability[] requirements = createRequired(requires); >- TouchpointData tpData = createTouchpointData(instructions); >+ IProvidedCapability[] additionalProvides = createProvided(provides); >+ IRequiredCapability[] requirements = createRequired(requires); >+ ITouchpointData tpData = createTouchpointData(instructions); > IUpdateDescriptor update = createUpdateDescriptor(); > boolean singleton = false; > IInstallableUnit iu = createIU(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update); >@@ -86,8 +94,8 @@ > return props; > } > >- private static ProvidedCapability[] createProvided(String[][] provideTuples) { >- ProvidedCapability[] provided = new ProvidedCapability[provideTuples.length]; >+ private static IProvidedCapability[] createProvided(String[][] provideTuples) { >+ IProvidedCapability[] provided = new IProvidedCapability[provideTuples.length]; > for (int i = 0; i < provideTuples.length; i++) { > String[] nextTuple = provideTuples[i]; > provided[i] = MetadataFactory.createProvidedCapability(nextTuple[0], nextTuple[1], new Version(nextTuple[2])); >@@ -96,8 +104,8 @@ > return provided; > } > >- private static RequiredCapability[] createRequired(String[][] requireTuples) { >- RequiredCapability[] required = new RequiredCapability[requireTuples.length]; >+ private static IRequiredCapability[] createRequired(String[][] requireTuples) { >+ IRequiredCapability[] required = new IRequiredCapability[requireTuples.length]; > for (int i = 0; i < requireTuples.length; i++) { > String[] nextTuple = requireTuples[i]; > required[i] = MetadataFactory.createRequiredCapability(nextTuple[0], nextTuple[1], new VersionRange(nextTuple[2]), null, Boolean.valueOf(nextTuple[3]).booleanValue(), false); >@@ -105,7 +113,7 @@ > return required; > } > >- private static TouchpointData createTouchpointData(String[][] instructionData) { >+ private static ITouchpointData createTouchpointData(String[][] instructionData) { > Map map = new LinkedHashMap(instructionData.length); > for (int i = 0; i < instructionData.length; i++) { > String[] nextInstruction = instructionData[i]; >@@ -281,17 +289,17 @@ > > private IInstallableUnitPatch createPatchIU() { > Map propertyMap = createProperties(properties); >- ProvidedCapability[] additionalProvides = createProvided(provides); >- RequiredCapability[] requirements = createRequired(requires); >- TouchpointData tpData = createTouchpointData(instructions); >+ IProvidedCapability[] additionalProvides = createProvided(provides); >+ IRequiredCapability[] requirements = createRequired(requires); >+ ITouchpointData tpData = createTouchpointData(instructions); > IUpdateDescriptor update = createUpdateDescriptor(); > boolean singleton = false; >- RequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >- RequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null); >- RequiredCapability[][] scope = new RequiredCapability[][] { {MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}}; >- RequiredCapability lifeCycle = MetadataFactory.createRequiredCapability("zoo", "x", null, null, false, false, false); >- IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new RequirementChange[] {change1, change2, change3}, scope, lifeCycle); >+ IRequirementChange change1 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequirementChange change2 = new RequirementChange(null, MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", new VersionRange("[1.1.0, 1.3.0)"), null, false, false, true)); >+ IRequirementChange change3 = new RequirementChange(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "B", VersionRange.emptyRange, null, false, false, false), null); >+ IRequiredCapability[][] scope = new IRequiredCapability[][] { {MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true), MetadataFactory.createRequiredCapability("foo", "bar", null, null, true, true)}, {MetadataFactory.createRequiredCapability("zoo", "far", null, null, true, true)}}; >+ IRequiredCapability lifeCycle = MetadataFactory.createRequiredCapability("zoo", "x", null, null, false, false, false); >+ IInstallableUnitPatch iu = createIUPatch(id, version, filter, requirements, additionalProvides, propertyMap, TOUCHPOINT_OSGI, tpData, singleton, update, new IRequirementChange[] {change1, change2, change3}, scope, lifeCycle); > return iu; > } > >@@ -340,7 +348,7 @@ > > private static String[][] addSelfCapability(IInstallableUnit iu, String[][] provideTuples) { > String[][] augmentedProvides = new String[provideTuples.length + 1][3]; >- ProvidedCapability self = getSelfCapability(iu); >+ IProvidedCapability self = getSelfCapability(iu); > augmentedProvides[0] = new String[] {self.getNamespace(), self.getName(), self.getVersion().toString()}; > for (int i = 0; i < provideTuples.length; i++) { > augmentedProvides[i + 1] = provideTuples[i]; >@@ -349,10 +357,10 @@ > } > > private static String[][] extractProvides(IInstallableUnit iu) { >- ProvidedCapability[] provydes = iu.getProvidedCapabilities(); >+ IProvidedCapability[] provydes = iu.getProvidedCapabilities(); > String[][] tuples = new String[provydes.length][3]; > for (int i = 0; i < provydes.length; i++) { >- ProvidedCapability next = provydes[i]; >+ IProvidedCapability next = provydes[i]; > tuples[i] = new String[] {next.getNamespace(), next.getName(), next.getVersion().toString()}; > } > return tuples; >Index: src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java,v >retrieving revision 1.14 >diff -u -r1.14 MultipleIUAndFragmentTest.java >--- src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java 22 Dec 2008 15:30:43 -0000 1.14 >+++ src/org/eclipse/equinox/p2/tests/metadata/MultipleIUAndFragmentTest.java 24 Dec 2008 17:31:30 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.*; > import org.eclipse.equinox.internal.p2.resolution.ResolutionHelper; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; >@@ -61,7 +63,7 @@ > } > > private static IInstallableUnit createIUWithDependencyOn(String iuName, String dependencyOn) { >- RequiredCapability[] requires = new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, dependencyOn, VersionRange.emptyRange, null, false, true)}; >+ IRequiredCapability[] requires = new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, dependencyOn, VersionRange.emptyRange, null, false, true)}; > return createEclipseIU(iuName, DEFAULT_VERSION, requires, NO_TP_DATA); > } > } >Index: src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java,v >retrieving revision 1.16 >diff -u -r1.16 FragmentMethodTest.java >--- src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java 22 Dec 2008 15:30:43 -0000 1.16 >+++ src/org/eclipse/equinox/p2/tests/metadata/FragmentMethodTest.java 24 Dec 2008 17:31:29 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.*; > import junit.framework.AssertionFailedError; > import junit.framework.TestCase; >@@ -27,10 +31,10 @@ > private static final String TEST_REQUIRED = "testRequired"; > IInstallableUnit iu1; > IInstallableUnit iu3; >- RequiredCapability[] iu1Deps; >- RequiredCapability[] iu3Deps; >- ProvidedCapability[] iu1Caps; >- ProvidedCapability[] iu3Caps; >+ IRequiredCapability[] iu1Deps; >+ IRequiredCapability[] iu3Deps; >+ IProvidedCapability[] iu1Caps; >+ IProvidedCapability[] iu3Caps; > > protected void setUp() throws Exception { > super.setUp(); >@@ -64,10 +68,10 @@ > } > > public void testCapabilities() { >- ProvidedCapability[] iuCapabilities = iu1Caps; >- ProvidedCapability[] initialFragmentCapabilities = iu3Caps; >+ IProvidedCapability[] iuCapabilities = iu1Caps; >+ IProvidedCapability[] initialFragmentCapabilities = iu3Caps; > >- ProvidedCapability[] mergedCapabilities = iu1.getProvidedCapabilities(); >+ IProvidedCapability[] mergedCapabilities = iu1.getProvidedCapabilities(); > for (int i = 0; i < iuCapabilities.length; i++) { > FragmentTest.assertContainsWithEquals(mergedCapabilities, iuCapabilities[i]); > } >@@ -143,9 +147,9 @@ > iu.setVersion(new Version(1, 0, 0)); > iu.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI); > iu.setProperty(PROP_FRAG, "value"); >- RequiredCapability[] reqs = new RequiredCapability[] {MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true), MetadataFactory.createRequiredCapability(TEST_REQUIRED, TEST_REQUIRED, VersionRange.emptyRange, null, true, false)}; >+ IRequiredCapability[] reqs = new IRequiredCapability[] {MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true), MetadataFactory.createRequiredCapability(TEST_REQUIRED, TEST_REQUIRED, VersionRange.emptyRange, null, true, false)}; > iu.setHost(reqs); >- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("testCapabilityInFragment", "testCapabilityInFragment", new Version(1, 0, 0))}; >+ IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("testCapabilityInFragment", "testCapabilityInFragment", new Version(1, 0, 0))}; > iu.setCapabilities(cap); > return MetadataFactory.createInstallableUnitFragment(iu); > } >@@ -156,7 +160,7 @@ > iu.setVersion(new Version(1, 0, 0)); > iu.setTouchpointType(AbstractProvisioningTest.TOUCHPOINT_OSGI); > iu.setProperty(PROP_IU, "valueIU"); >- ProvidedCapability[] cap = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0)), MetadataFactory.createProvidedCapability("testCapability", "testCapability", new Version(1, 0, 0))}; >+ IProvidedCapability[] cap = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0)), MetadataFactory.createProvidedCapability("testCapability", "testCapability", new Version(1, 0, 0))}; > iu.setCapabilities(cap); > return MetadataFactory.createInstallableUnit(iu); > } >Index: src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java,v >retrieving revision 1.1 >diff -u -r1.1 LicenseTest.java >--- src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java 13 Feb 2008 21:47:28 -0000 1.1 >+++ src/org/eclipse/equinox/p2/tests/metadata/LicenseTest.java 24 Dec 2008 17:31:30 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ > import junit.framework.TestCase; > import org.eclipse.equinox.internal.provisional.p2.metadata.License; > >@@ -18,8 +20,8 @@ > */ > public class LicenseTest extends TestCase { > public void testNormalize() { >- License licenseOne = new License(null, "a b"); >- License licenseTwo = new License(null, "a\t\n\r \t\n\r b"); >+ ILicense licenseOne = new License(null, "a b"); >+ ILicense licenseTwo = new License(null, "a\t\n\r \t\n\r b"); > assertEquals("1.0", licenseOne.getDigest(), licenseTwo.getDigest()); > > licenseOne = new License(null, " a b c "); >Index: src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java,v >retrieving revision 1.81 >diff -u -r1.81 AbstractProvisioningTest.java >--- src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java 22 Dec 2008 15:30:44 -0000 1.81 >+++ src/org/eclipse/equinox/p2/tests/AbstractProvisioningTest.java 24 Dec 2008 17:31:26 -0000 >@@ -41,18 +41,18 @@ > public abstract class AbstractProvisioningTest extends TestCase { > > protected static final VersionRange ANY_VERSION = new VersionRange(Version.emptyVersion, true, new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE), true); >- private static final ProvidedCapability[] BUNDLE_CAPABILITY = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0))}; >+ private static final IProvidedCapability[] BUNDLE_CAPABILITY = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("eclipse.touchpoint", "bundle", new Version(1, 0, 0))}; > >- private static final RequiredCapability[] BUNDLE_REQUIREMENT = new RequiredCapability[] {MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true)}; >+ private static final IRequiredCapability[] BUNDLE_REQUIREMENT = new IRequiredCapability[] {MetadataFactory.createRequiredCapability("eclipse.touchpoint", "bundle", VersionRange.emptyRange, null, false, true)}; > > protected static final Version DEFAULT_VERSION = new Version(1, 0, 0); >- public static final TouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0)); >+ public static final ITouchpointType TOUCHPOINT_OSGI = MetadataFactory.createTouchpointType("org.eclipse.equinox.p2.osgi", new Version(1, 0, 0)); > > protected static final Map NO_PROPERTIES = Collections.EMPTY_MAP; >- protected static final ProvidedCapability[] NO_PROVIDES = new ProvidedCapability[0]; >- protected static final RequiredCapability[] NO_REQUIRES = new RequiredCapability[0]; >+ protected static final IProvidedCapability[] NO_PROVIDES = new IProvidedCapability[0]; >+ protected static final IRequiredCapability[] NO_REQUIRES = new IRequiredCapability[0]; > >- protected static final TouchpointData NO_TP_DATA = MetadataFactory.createTouchpointData(new HashMap()); >+ protected static final ITouchpointData NO_TP_DATA = MetadataFactory.createTouchpointData(new HashMap()); > > //flag used to disable currently failing (invalid) tests. This should always be set to true > protected boolean DISABLED = true; >@@ -207,7 +207,7 @@ > * that is hosted by any bundle. The default self and fragment provided capabilities > * are added to the IU. > */ >- public static IInstallableUnitFragment createBundleFragment(String name, Version version, TouchpointData tpData) { >+ public static IInstallableUnitFragment createBundleFragment(String name, Version version, ITouchpointData tpData) { > return createIUFragment(null, name, version, BUNDLE_REQUIREMENT, TOUCHPOINT_OSGI, tpData); > } > >@@ -242,7 +242,7 @@ > * Create an Eclipse InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createEclipseIU(String name, Version version, RequiredCapability[] requires, TouchpointData touchpointData) { >+ public static IInstallableUnit createEclipseIU(String name, Version version, IRequiredCapability[] requires, ITouchpointData touchpointData) { > return createIU(name, version, null, requires, BUNDLE_CAPABILITY, NO_PROPERTIES, TOUCHPOINT_OSGI, touchpointData, false); > } > >@@ -269,32 +269,32 @@ > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, ProvidedCapability[] additionalProvides) { >- return createIU(name, DEFAULT_VERSION, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false); >+ public static IInstallableUnit createIU(String name, IProvidedCapability[] additionalProvides) { >+ return createIU(name, DEFAULT_VERSION, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, RequiredCapability[] requires) { >- return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false); >+ public static IInstallableUnit createIU(String name, IRequiredCapability[] requires) { >+ return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, RequiredCapability[] requires, boolean singleton) { >- return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, singleton); >+ public static IInstallableUnit createIU(String name, IRequiredCapability[] requires, boolean singleton) { >+ return createIU(name, DEFAULT_VERSION, null, requires, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, singleton); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, String filter, ProvidedCapability[] additionalProvides) { >- return createIU(name, DEFAULT_VERSION, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false); >+ public static IInstallableUnit createIU(String name, String filter, IProvidedCapability[] additionalProvides) { >+ return createIU(name, DEFAULT_VERSION, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false); > } > > /** >@@ -302,7 +302,7 @@ > * assume default values, and the default self capability is also added to the IU. > */ > public static IInstallableUnit createIU(String name, Version version) { >- return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false); >+ return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false); > } > > /** >@@ -310,59 +310,59 @@ > * assume default values, and the default self capability is also added to the IU. > */ > public static IInstallableUnit createIU(String name, Version version, boolean singleton) { >- return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, singleton); >+ return createIU(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, singleton); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, Version version, ProvidedCapability[] additionalProvides) { >- return createIU(name, version, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false); >+ public static IInstallableUnit createIU(String name, Version version, IProvidedCapability[] additionalProvides) { >+ return createIU(name, version, null, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, Version version, RequiredCapability[] required) { >- return createIU(name, version, null, required, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false); >+ public static IInstallableUnit createIU(String name, Version version, IRequiredCapability[] required) { >+ return createIU(name, version, null, required, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, Version version, RequiredCapability[] required, Map properties, boolean singleton) { >- return createIU(name, version, null, required, NO_PROVIDES, properties, TouchpointType.NONE, NO_TP_DATA, singleton); >+ public static IInstallableUnit createIU(String name, Version version, IRequiredCapability[] required, Map properties, boolean singleton) { >+ return createIU(name, version, null, required, NO_PROVIDES, properties, ITouchpointType.NONE, NO_TP_DATA, singleton); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, Version version, String filter, ProvidedCapability[] additionalProvides) { >- return createIU(name, version, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false); >+ public static IInstallableUnit createIU(String name, Version version, String filter, IProvidedCapability[] additionalProvides) { >+ return createIU(name, version, filter, NO_REQUIRES, additionalProvides, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false); > } > > /** > * Create a basic InstallableUnit with the given attributes. All other attributes > * assume default values, and the default self capability is also added to the IU. > */ >- public static IInstallableUnit createIU(String name, Version version, String filter, RequiredCapability[] required, ProvidedCapability[] additionalProvides, Map properties, TouchpointType tpType, TouchpointData tpData, boolean singleton) { >+ public static IInstallableUnit createIU(String name, Version version, String filter, IRequiredCapability[] required, IProvidedCapability[] additionalProvides, Map properties, ITouchpointType tpType, ITouchpointData tpData, boolean singleton) { > return createIU(name, version, filter, required, additionalProvides, properties, tpType, tpData, singleton, null); > } > >- public static IInstallableUnitPatch createIUPatch(String name, Version version, boolean singleton, RequirementChange[] changes, RequiredCapability[][] scope, RequiredCapability lifeCycle) { >- return createIUPatch(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, singleton, null, changes, scope, lifeCycle); >+ public static IInstallableUnitPatch createIUPatch(String name, Version version, boolean singleton, IRequirementChange[] changes, IRequiredCapability[][] scope, IRequiredCapability lifeCycle) { >+ return createIUPatch(name, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, singleton, null, changes, scope, lifeCycle); > } > >- public static IInstallableUnitPatch createIUPatch(String name, Version version, String filter, RequiredCapability[] required, ProvidedCapability[] additionalProvides, Map properties, TouchpointType tpType, TouchpointData tpData, boolean singleton, IUpdateDescriptor update, RequirementChange[] reqChanges, RequiredCapability[][] scope, RequiredCapability lifeCycle) { >+ public static IInstallableUnitPatch createIUPatch(String name, Version version, String filter, IRequiredCapability[] required, IProvidedCapability[] additionalProvides, Map properties, ITouchpointType tpType, ITouchpointData tpData, boolean singleton, IUpdateDescriptor update, IRequirementChange[] reqChanges, IRequiredCapability[][] scope, IRequiredCapability lifeCycle) { > InstallableUnitPatchDescription iu = new MetadataFactory.InstallableUnitPatchDescription(); > iu.setId(name); > iu.setVersion(version); > iu.setFilter(filter); >- ProvidedCapability[] provides = new ProvidedCapability[additionalProvides.length + 1]; >+ IProvidedCapability[] provides = new IProvidedCapability[additionalProvides.length + 1]; > provides[0] = getSelfCapability(name, version); > for (int i = 0; i < additionalProvides.length; i++) { > provides[i + 1] = additionalProvides[i]; >@@ -385,12 +385,12 @@ > return MetadataFactory.createInstallableUnitPatch(iu); > } > >- public static IInstallableUnit createIU(String name, Version version, String filter, RequiredCapability[] required, ProvidedCapability[] additionalProvides, Map properties, TouchpointType tpType, TouchpointData tpData, boolean singleton, IUpdateDescriptor update) { >+ public static IInstallableUnit createIU(String name, Version version, String filter, IRequiredCapability[] required, IProvidedCapability[] additionalProvides, Map properties, ITouchpointType tpType, ITouchpointData tpData, boolean singleton, IUpdateDescriptor update) { > InstallableUnitDescription iu = new MetadataFactory.InstallableUnitDescription(); > iu.setId(name); > iu.setVersion(version); > iu.setFilter(filter); >- ProvidedCapability[] provides = new ProvidedCapability[additionalProvides.length + 1]; >+ IProvidedCapability[] provides = new IProvidedCapability[additionalProvides.length + 1]; > provides[0] = getSelfCapability(name, version); > for (int i = 0; i < additionalProvides.length; i++) { > provides[i + 1] = additionalProvides[i]; >@@ -415,14 +415,14 @@ > * The self and fragment provided capabilities are added to the IU. > */ > public static IInstallableUnitFragment createIUFragment(IInstallableUnit host, String name, Version version) { >- return createIUFragment(host, name, version, NO_REQUIRES, TouchpointType.NONE, NO_TP_DATA); >+ return createIUFragment(host, name, version, NO_REQUIRES, ITouchpointType.NONE, NO_TP_DATA); > } > > /** > * Create a basic InstallableUnitFragment with the given attributes. > * The self and fragment provided capabilities are added to the IU. > */ >- public static IInstallableUnitFragment createIUFragment(IInstallableUnit host, String name, Version version, RequiredCapability[] required, TouchpointType tpType, TouchpointData tpData) { >+ public static IInstallableUnitFragment createIUFragment(IInstallableUnit host, String name, Version version, IRequiredCapability[] required, ITouchpointType tpType, ITouchpointData tpData) { > InstallableUnitFragmentDescription fragment = new InstallableUnitFragmentDescription(); > fragment.setId(name); > fragment.setVersion(version); >@@ -433,14 +433,14 @@ > fragment.addTouchpointData(tpData); > if (host != null) { > VersionRange hostRange = new VersionRange(host.getVersion(), true, host.getVersion(), true); >- fragment.setHost(new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, host.getId(), hostRange, null, false, false)}); >+ fragment.setHost(new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, host.getId(), hostRange, null, false, false)}); > } >- fragment.setCapabilities(new ProvidedCapability[] {getSelfCapability(name, version)}); >+ fragment.setCapabilities(new IProvidedCapability[] {getSelfCapability(name, version)}); > return MetadataFactory.createInstallableUnitFragment(fragment); > } > > public static void changeVersion(InstallableUnitDescription desc, Version newVersion) { >- ProvidedCapability[] capabilities = desc.getProvidedCapabilities(); >+ IProvidedCapability[] capabilities = desc.getProvidedCapabilities(); > for (int i = 0; i < capabilities.length; i++) { > if (desc.getVersion().equals(capabilities[i].getVersion())) > capabilities[i] = MetadataFactory.createProvidedCapability(capabilities[i].getNamespace(), capabilities[i].getName(), newVersion); >@@ -451,8 +451,8 @@ > public static MetadataFactory.InstallableUnitDescription createIUDescriptor(IInstallableUnit prototype) { > InstallableUnitDescription desc = new MetadataFactory.InstallableUnitDescription(); > desc.setArtifacts(prototype.getArtifacts()); >- ProvidedCapability originalCapabilities[] = prototype.getProvidedCapabilities(); >- ProvidedCapability newCapabilities[] = new ProvidedCapability[originalCapabilities.length]; >+ IProvidedCapability originalCapabilities[] = prototype.getProvidedCapabilities(); >+ IProvidedCapability newCapabilities[] = new IProvidedCapability[originalCapabilities.length]; > for (int i = 0; i < originalCapabilities.length; i++) { > newCapabilities[i] = MetadataFactory.createProvidedCapability(originalCapabilities[i].getNamespace(), originalCapabilities[i].getName(), originalCapabilities[i].getVersion()); > } >@@ -461,8 +461,8 @@ > desc.setFilter(prototype.getFilter()); > desc.setId(prototype.getId()); > desc.setLicense(prototype.getLicense()); >- RequiredCapability[] originalRequirements = prototype.getRequiredCapabilities(); >- RequiredCapability[] newRequirements = new RequiredCapability[originalRequirements.length]; >+ IRequiredCapability[] originalRequirements = prototype.getRequiredCapabilities(); >+ IRequiredCapability[] newRequirements = new IRequiredCapability[originalRequirements.length]; > for (int i = 0; i < newRequirements.length; i++) { > newRequirements[i] = MetadataFactory.createRequiredCapability(originalRequirements[i].getNamespace(), originalRequirements[i].getName(), originalRequirements[i].getRange(), originalRequirements[i].getFilter(), originalRequirements[i].isOptional(), originalRequirements[i].isMultiple(), originalRequirements[i].isGreedy()); > } >@@ -487,15 +487,15 @@ > /** > * Creates and returns a required capability with the provided attributes. > */ >- protected static RequiredCapability[] createRequiredCapabilities(String namespace, String name, String filter) { >+ protected static IRequiredCapability[] createRequiredCapabilities(String namespace, String name, String filter) { > return createRequiredCapabilities(namespace, name, ANY_VERSION, filter); > } > > /** > * Creates and returns a required capability with the provided attributes. > */ >- protected static RequiredCapability[] createRequiredCapabilities(String namespace, String name, VersionRange range, String filter) { >- return new RequiredCapability[] {MetadataFactory.createRequiredCapability(namespace, name, range, filter, false, false)}; >+ protected static IRequiredCapability[] createRequiredCapabilities(String namespace, String name, VersionRange range, String filter) { >+ return new IRequiredCapability[] {MetadataFactory.createRequiredCapability(namespace, name, range, filter, false, false)}; > } > > public static boolean delete(File file) { >@@ -554,14 +554,14 @@ > /** > * Get the 'self' capability for the given installable unit. > */ >- protected static ProvidedCapability getSelfCapability(IInstallableUnit iu) { >+ protected static IProvidedCapability getSelfCapability(IInstallableUnit iu) { > return getSelfCapability(iu.getId(), iu.getVersion()); > } > > /** > * Get the 'self' capability for an installable unit with the give id and version. > */ >- private static ProvidedCapability getSelfCapability(String installableUnitId, Version installableUnitVersion) { >+ private static IProvidedCapability getSelfCapability(String installableUnitId, Version installableUnitVersion) { > return MetadataFactory.createProvidedCapability(IInstallableUnit.NAMESPACE_IU_ID, installableUnitId, installableUnitVersion); > } > >@@ -1037,7 +1037,7 @@ > /* > * Compare 2 copyright objects and fail if they are not considered equal. > */ >- protected static void assertEquals(String message, Copyright cpyrt1, Copyright cpyrt2) { >+ protected static void assertEquals(String message, ICopyright cpyrt1, ICopyright cpyrt2) { > if (cpyrt1 == cpyrt2) > return; > if (cpyrt1 == null || cpyrt2 == null) { >Index: src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java,v >retrieving revision 1.8 >diff -u -r1.8 InstructionParserTest.java >--- src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java 22 Dec 2008 15:30:43 -0000 1.8 >+++ src/org/eclipse/equinox/p2/tests/engine/InstructionParserTest.java 24 Dec 2008 17:31:29 -0000 >@@ -1,5 +1,7 @@ > package org.eclipse.equinox.p2.tests.engine; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ > import org.eclipse.equinox.internal.p2.engine.InstructionParser; > > import java.util.Map; >@@ -9,17 +11,16 @@ > import org.eclipse.equinox.internal.p2.engine.ActionManager; > import org.eclipse.equinox.internal.provisional.p2.engine.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; > import org.eclipse.equinox.internal.provisional.p2.core.Version; > > public class InstructionParserTest extends AbstractProvisioningTest { > >- public static final TouchpointType TOUCHPOINT_TYPE = MetadataFactory.createTouchpointType("InstructionParserTestTouchpoint", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$ >+ public static final ITouchpointType TOUCHPOINT_TYPE = MetadataFactory.createTouchpointType("InstructionParserTestTouchpoint", new Version("1.0")); //$NON-NLS-1$ //$NON-NLS-2$ > > public static class InstructionParserTestTouchpoint extends Touchpoint { > >- public TouchpointType getTouchpointType() { >+ public ITouchpointType getTouchpointType() { > return TOUCHPOINT_TYPE; > } > >Index: src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java,v >retrieving revision 1.28 >diff -u -r1.28 PhaseTest.java >--- src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java 22 Dec 2008 15:30:43 -0000 1.28 >+++ src/org/eclipse/equinox/p2/tests/engine/PhaseTest.java 24 Dec 2008 17:31:29 -0000 >@@ -13,12 +13,12 @@ > import java.util.*; > import org.eclipse.core.runtime.*; > import org.eclipse.equinox.internal.p2.engine.ParameterizedProvisioningAction; >+import org.eclipse.equinox.internal.provisional.p2.core.Version; > import org.eclipse.equinox.internal.provisional.p2.engine.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; > import org.eclipse.equinox.p2.tests.TestActivator; > import org.osgi.framework.ServiceReference; >-import org.eclipse.equinox.internal.provisional.p2.core.Version; > > /** > * Simple test of the engine API. >@@ -82,8 +82,8 @@ > if (parsedActions != null) > return parsedActions; > >- TouchpointType type = unit.getTouchpointType(); >- if (type == null || type == TouchpointType.NONE) >+ ITouchpointType type = unit.getTouchpointType(); >+ if (type == null || ITouchpointType.NONE.equals(type)) > return null; > > ProvisioningAction action = actionManager.getTouchpointQualifiedAction(phaseId, type); >@@ -251,8 +251,8 @@ > Map instructions = new HashMap(); > instructions.put("test1", MetadataFactory.createTouchpointInstruction("test1.test()", null)); > instructions.put("test2", MetadataFactory.createTouchpointInstruction("test2.test()", null)); >- TouchpointData touchpointData = MetadataFactory.createTouchpointData(instructions); >- IInstallableUnit unit = createIU("test", new Version("1.0.0"), null, NO_REQUIRES, new ProvidedCapability[0], NO_PROPERTIES, TouchpointType.NONE, touchpointData, false); >+ ITouchpointData touchpointData = MetadataFactory.createTouchpointData(instructions); >+ IInstallableUnit unit = createIU("test", new Version("1.0.0"), null, NO_REQUIRES, new IProvidedCapability[0], NO_PROPERTIES, ITouchpointType.NONE, touchpointData, false); > IStatus status = engine.perform(profile, phaseSet, new InstallableUnitOperand[] {new InstallableUnitOperand(null, unit)}, null, new NullProgressMonitor()); > if (!status.isOK()) { > fail(status.toString()); >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java,v >retrieving revision 1.7 >diff -u -r1.7 ActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java 22 Dec 2008 15:30:42 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/ActionTest.java 24 Dec 2008 17:31:35 -0000 >@@ -11,6 +11,10 @@ > > import static org.easymock.EasyMock.*; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.*; > import java.util.*; > import junit.framework.Assert; >@@ -55,14 +59,14 @@ > return (String[]) result.toArray(new String[result.size()]); > } > >- protected void verifyProvidedCapability(ProvidedCapability[] prov, String namespace, String name, Version version) { >+ protected void verifyProvidedCapability(IProvidedCapability[] prov, String namespace, String name, Version version) { > for (int i = 0; i < prov.length; i++) > if (prov[i].getName().equalsIgnoreCase(name) && prov[i].getNamespace().equalsIgnoreCase(namespace) && prov[i].getVersion().equals(version)) > return; // pass > Assert.fail("Missing ProvidedCapability: " + name + version.toString()); //$NON-NLS-1$ > } > >- protected void verifyRequiredCapability(RequiredCapability[] required, String namespace, String name, VersionRange range) { >+ protected void verifyRequiredCapability(IRequiredCapability[] required, String namespace, String name, VersionRange range) { > for (int i = 0; i < required.length; i++) > if (required[i].getName().equalsIgnoreCase(name) && required[i].getNamespace().equalsIgnoreCase(namespace) && required[i].getRange().equals(range)) > return; >@@ -104,18 +108,18 @@ > return map; > } > >- protected void contains(ProvidedCapability[] capabilities, String namespace, String name, Version version) { >+ protected void contains(IProvidedCapability[] capabilities, String namespace, String name, Version version) { > for (int i = 0; i < capabilities.length; i++) { >- ProvidedCapability capability = capabilities[i]; >+ IProvidedCapability capability = capabilities[i]; > if (capability.getNamespace().equals(namespace) && capability.getName().equals(name) && capability.getVersion().equals(version)) > return; > } > fail(); > } > >- protected void contains(RequiredCapability[] capabilities, String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) { >+ protected void contains(IRequiredCapability[] capabilities, String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) { > for (int i = 0; i < capabilities.length; i++) { >- RequiredCapability capability = capabilities[i]; >+ IRequiredCapability capability = capabilities[i]; > if (filter == null) { > if (capability.getFilter() != null) > continue; >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java,v >retrieving revision 1.7 >diff -u -r1.7 RootIUActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java 22 Dec 2008 15:30:42 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/RootIUActionTest.java 24 Dec 2008 17:31:36 -0000 >@@ -12,12 +12,13 @@ > > import static org.easymock.EasyMock.expect; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.ArrayList; > import java.util.Collection; > import org.eclipse.core.runtime.NullProgressMonitor; > import org.eclipse.core.runtime.Status; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository; > import org.eclipse.equinox.internal.provisional.p2.query.Query; > import org.eclipse.equinox.p2.publisher.IPublisherResult; >@@ -270,7 +271,7 @@ > IInstallableUnit iu = (IInstallableUnit) ius.get(0); > assertTrue(iu != null); > assertTrue(iu.getVersion().equals(versionArg)); >- RequiredCapability[] required = iu.getRequiredCapabilities(); >+ IRequiredCapability[] required = iu.getRequiredCapabilities(); > if ((testSpec & EMPTY) > 0) > assertEquals(required.length, 0); > String confirmedIUs = ""; //$NON-NLS-1$ >@@ -296,7 +297,7 @@ > debug("Confirmed \t\t Empty"); //$NON-NLS-1$ > } > >- private boolean contains(RequiredCapability[] required, String iu) { >+ private boolean contains(IRequiredCapability[] required, String iu) { > for (int i = 0; i < required.length; i++) > if (required[i].getName().equalsIgnoreCase(iu)) > return true; >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java,v >retrieving revision 1.8 >diff -u -r1.8 BundlesActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java 22 Dec 2008 15:30:42 -0000 1.8 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java 24 Dec 2008 17:31:35 -0000 >@@ -12,6 +12,14 @@ > > import static org.easymock.EasyMock.*; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.io.FileInputStream; > import java.util.*; >@@ -124,22 +132,22 @@ > assertEquals("1.1", bundle1IU.getVersion(), BUNDLE1_VERSION); > > // check required capabilities >- RequiredCapability[] requiredCapability = bundle1IU.getRequiredCapabilities(); >+ IRequiredCapability[] requiredCapability = bundle1IU.getRequiredCapabilities(); > verifyRequiredCapability(requiredCapability, TEST1_IUD_NAMESPACE, TEST1_IUD_NAME, TEST1_IUD_VERSION_RANGE); > assertEquals("2.0", 1, requiredCapability.length); > > // check provided capabilities >- ProvidedCapability[] providedCapabilities = bundle1IU.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapabilities = bundle1IU.getProvidedCapabilities(); > verifyProvidedCapability(providedCapabilities, PROVBUNDLE_NAMESPACE, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION); > verifyProvidedCapability(providedCapabilities, OSGI, TEST1_PROVBUNDLE_NAME, BUNDLE1_VERSION); > verifyProvidedCapability(providedCapabilities, TEST1_PROVZ_NAMESPACE, TEST1_PROVZ_NAME, TEST2_PROVZ_VERSION); > verifyProvidedCapability(providedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "source", new Version("1.0.0"));//$NON-NLS-1$//$NON-NLS-2$ > assertEquals("2.1", 4, providedCapabilities.length); > >- TouchpointData[] data = bundle1IU.getTouchpointData(); >+ ITouchpointData[] data = bundle1IU.getTouchpointData(); > boolean found = false; > for (int i = 0; i < data.length; i++) { >- TouchpointInstruction configure = data[i].getInstruction("configure"); >+ ITouchpointInstruction configure = data[i].getInstruction("configure"); > if (configure == null) > continue; > String body = configure.getBody(); >@@ -159,14 +167,14 @@ > assertEquals(bundle2IU.getVersion(), BUNDLE2_VERSION); > > // check required capabilities >- RequiredCapability[] requiredCapabilities = bundle2IU.getRequiredCapabilities(); >+ IRequiredCapability[] requiredCapabilities = bundle2IU.getRequiredCapabilities(); > verifyRequiredCapability(requiredCapabilities, TEST2_IUA_NAMESPACE, TEST2_REQA_NAME, TEST2_IUA_VERSION_RANGE); > verifyRequiredCapability(requiredCapabilities, TEST2_IUB_NAMESPACE, TEST2_REQB_NAME, TEST2_IUB_VERSION_RANGE); > verifyRequiredCapability(requiredCapabilities, TEST2_IUC_NAMESPACE, TEST2_REQC_NAME, TEST2_IUC_VERSION_RANGE); > assertTrue(requiredCapabilities.length == 3 /*number of tested elements*/); > > // check provided capabilities >- ProvidedCapability[] providedCapabilities = bundle2IU.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapabilities = bundle2IU.getProvidedCapabilities(); > verifyProvidedCapability(providedCapabilities, PROVBUNDLE_NAMESPACE, TEST2_PROVBUNDLE_NAME, PROVBUNDLE2_VERSION); > verifyProvidedCapability(providedCapabilities, OSGI, TEST2_PROVBUNDLE_NAME, BUNDLE2_VERSION); > verifyProvidedCapability(providedCapabilities, TEST2_PROVZ_NAMESPACE, TEST2_PROVZ_NAME, TEST2_PROVZ_VERSION); >@@ -180,10 +188,10 @@ > assertTrue(prop.get("org.eclipse.equinox.p2.name").toString().equalsIgnoreCase("%bundleName"));//$NON-NLS-1$//$NON-NLS-2$ > assertTrue(prop.get("org.eclipse.equinox.p2.provider").toString().equalsIgnoreCase("%providerName"));//$NON-NLS-1$//$NON-NLS-2$ > >- TouchpointData[] data = bundle2IU.getTouchpointData(); >+ ITouchpointData[] data = bundle2IU.getTouchpointData(); > boolean found = false; > for (int i = 0; i < data.length; i++) { >- TouchpointInstruction configure = data[i].getInstruction("configure"); >+ ITouchpointInstruction configure = data[i].getInstruction("configure"); > if (configure == null) > continue; > String body = configure.getBody(); >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java,v >retrieving revision 1.7 >diff -u -r1.7 EquinoxLauncherCUActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java 22 Dec 2008 15:30:42 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxLauncherCUActionTest.java 24 Dec 2008 17:31:35 -0000 >@@ -12,12 +12,13 @@ > > import static org.easymock.EasyMock.*; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.ArrayList; > import java.util.Map; > import org.eclipse.core.runtime.NullProgressMonitor; > import org.eclipse.equinox.internal.p2.metadata.InstallableUnitFragment; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.ProvidedCapability; > import org.eclipse.equinox.p2.publisher.IPublisherResult; > import org.eclipse.equinox.p2.publisher.PublisherResult; > import org.eclipse.equinox.p2.publisher.actions.IVersionAdvice; >@@ -71,7 +72,7 @@ > verifyRequiredCapability(iu.getRequiredCapabilities(), PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "bundle", new VersionRange(new Version("1.0.0"), true, new Version("2.0.0"), false)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ > assertTrue(iu.getRequiredCapabilities().length == 2); > >- ProvidedCapability[] cap = iu.getProvidedCapabilities(); >+ IProvidedCapability[] cap = iu.getProvidedCapabilities(); > verifyProvidedCapability(cap, IInstallableUnit.NAMESPACE_IU_ID, flavorArg + "org.eclipse.equinox.launcher", Version.emptyVersion); //$NON-NLS-1$ > verifyProvidedCapability(cap, "org.eclipse.equinox.p2.flavor", flavorArg, new Version("1.0.0")); //$NON-NLS-1$//$NON-NLS-2$ > assertTrue(cap.length == 2); >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java,v >retrieving revision 1.1 >diff -u -r1.1 ProductActionWithAdviceFileTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java 3 Dec 2008 22:54:35 -0000 1.1 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/ProductActionWithAdviceFileTest.java 24 Dec 2008 17:31:36 -0000 >@@ -10,11 +10,12 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.publisher.actions; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.io.File; > import java.io.IOException; > import java.util.Collection; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointData; > import org.eclipse.equinox.p2.publisher.IPublisherResult; > import org.eclipse.equinox.p2.publisher.PublisherInfo; > import org.eclipse.equinox.p2.publisher.eclipse.ProductAction; >@@ -45,7 +46,7 @@ > Collection productIUs = publisherResult.getIUs("productWithAdvice.product", IPublisherResult.NON_ROOT); > assertEquals("1.0", 1, productIUs.size()); > IInstallableUnit product = (IInstallableUnit) productIUs.iterator().next(); >- TouchpointData[] data = product.getTouchpointData(); >+ ITouchpointData[] data = product.getTouchpointData(); > assertEquals("1.1", 1, data.length); > String configure = data[0].getInstruction("configure").getBody(); > assertEquals("1.2", "addRepository(type:0,location:http${#58}//download.eclipse.org/releases/fred);addRepository(type:1,location:http${#58}//download.eclipse.org/releases/fred);", configure); >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java,v >retrieving revision 1.9 >diff -u -r1.9 FeaturesActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java 22 Dec 2008 15:30:42 -0000 1.9 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/FeaturesActionTest.java 24 Dec 2008 17:31:35 -0000 >@@ -12,6 +12,14 @@ > > import static org.easymock.EasyMock.*; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.io.IOException; > import java.util.*; >@@ -88,14 +96,14 @@ > assertTrue(foo.getTouchpointType().getVersion().equals(fooVersion)); > > //zipped=true >- TouchpointData[] tpData = foo.getTouchpointData(); >- String fooValue = ((TouchpointInstruction) tpData[0].getInstructions().get("zipped")).getBody(); //$NON-NLS-1$ >+ ITouchpointData[] tpData = foo.getTouchpointData(); >+ String fooValue = ((ITouchpointInstruction) tpData[0].getInstructions().get("zipped")).getBody(); //$NON-NLS-1$ > assertTrue(fooValue.equalsIgnoreCase("true")); //$NON-NLS-1$ > >- RequiredCapability[] fooRequiredCapabilities = foo.getRequiredCapabilities(); >+ IRequiredCapability[] fooRequiredCapabilities = foo.getRequiredCapabilities(); > assertTrue(fooRequiredCapabilities.length == 0); > >- ProvidedCapability[] fooProvidedCapabilities = foo.getProvidedCapabilities(); >+ IProvidedCapability[] fooProvidedCapabilities = foo.getProvidedCapabilities(); > contains(fooProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "foo.feature.jar", fooVersion); //$NON-NLS-1$ > contains(fooProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ > contains(fooProvidedCapabilities, "org.eclipse.update.feature", FOO, fooVersion); //$NON-NLS-1$ >@@ -107,7 +115,7 @@ > IInstallableUnit fooGroup = (IInstallableUnit) fooIUs.get(0); > tpData = fooGroup.getTouchpointData(); > assertEquals(1, tpData.length); >- TouchpointInstruction instruction = tpData[0].getInstruction("install"); >+ ITouchpointInstruction instruction = tpData[0].getInstruction("install"); > assertNotNull(instruction); > assertEquals("ln(targetDir:@artifact,linkTarget:foo/lib.1.so,linkName:lib.so);chmod(targetDir:@artifact,targetFile:lib/lib.so,permissions:755);", instruction.getBody()); > >@@ -126,18 +134,18 @@ > assertTrue(bar.isSingleton()); > > //check zipped=true in touchpointData >- String barValue = ((TouchpointInstruction) bar.getTouchpointData()[0].getInstructions().get("zipped")).getBody(); //$NON-NLS-1$ >+ String barValue = ((ITouchpointInstruction) bar.getTouchpointData()[0].getInstructions().get("zipped")).getBody(); //$NON-NLS-1$ > assertTrue(barValue.equalsIgnoreCase("true")); //$NON-NLS-1$ > > //check touchpointType > assertTrue(bar.getTouchpointType().getId().equalsIgnoreCase("org.eclipse.equinox.p2.osgi")); //$NON-NLS-1$ > assertTrue(bar.getTouchpointType().getVersion().equals(fooVersion)); > //String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy) >- RequiredCapability[] barRequiredCapabilities = bar.getRequiredCapabilities(); >+ IRequiredCapability[] barRequiredCapabilities = bar.getRequiredCapabilities(); > contains(barRequiredCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar_root", new VersionRange(barVersion, true, barVersion, true), "(org.eclipse.update.install.features=true)", false /*multiple*/, false /*optional*/); //$NON-NLS-1$//$NON-NLS-2$ > assertTrue(barRequiredCapabilities.length == 1); > >- ProvidedCapability[] barProvidedCapabilities = bar.getProvidedCapabilities(); >+ IProvidedCapability[] barProvidedCapabilities = bar.getProvidedCapabilities(); > contains(barProvidedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, "bar.feature.jar", barVersion); //$NON-NLS-1$ > contains(barProvidedCapabilities, PublisherHelper.NAMESPACE_ECLIPSE_TYPE, "feature", fooVersion); //$NON-NLS-1$ > contains(barProvidedCapabilities, "org.eclipse.update.feature", BAR, barVersion); //$NON-NLS-1$ >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java,v >retrieving revision 1.6 >diff -u -r1.6 EquinoxExecutableActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java 22 Dec 2008 15:30:42 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/EquinoxExecutableActionTest.java 24 Dec 2008 17:31:35 -0000 >@@ -12,6 +12,10 @@ > > import static org.easymock.EasyMock.expect; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.util.ArrayList; > import org.eclipse.core.runtime.NullProgressMonitor; >@@ -92,10 +96,10 @@ > IInstallableUnit possibleEclipse = (IInstallableUnit) iuList.get(i); > if (possibleEclipse.getId().equals(flavorArg + idBase + ".executable." + configSpec)) {//$NON-NLS-1$ > IInstallableUnitFragment fragment = (IInstallableUnitFragment) iuList.get(i); >- ProvidedCapability[] providedCapability = fragment.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapability = fragment.getProvidedCapabilities(); > verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, flavorArg + idBase + ".executable." + configSpec, version); //$NON-NLS-1$ > assertTrue(providedCapability.length == 1); >- RequiredCapability[] requiredCapability = fragment.getRequiredCapabilities(); >+ IRequiredCapability[] requiredCapability = fragment.getRequiredCapabilities(); > verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ > assertTrue(requiredCapability.length == 1); > assertTrue(fragment.getFilter().equals("(& (osgi.ws=" + ws + ")(osgi.os=" + os + ")(osgi.arch=" + arch + "))")); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$//$NON-NLS-4$ >@@ -112,10 +116,10 @@ > IInstallableUnit possibleEclipse = (IInstallableUnit) iuList.get(i); > if (possibleEclipse.getId().equals((idBase + ".executable." + configSpec + ".eclipse"))) { //$NON-NLS-1$//$NON-NLS-2$ > assertTrue(possibleEclipse.getVersion().equals(version)); >- ProvidedCapability[] providedCapability = possibleEclipse.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapability = possibleEclipse.getProvidedCapabilities(); > verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + configSpec + ".eclipse", version); //$NON-NLS-1$ //$NON-NLS-2$ > assertTrue(providedCapability.length == 1); >- RequiredCapability[] req = possibleEclipse.getRequiredCapabilities(); >+ IRequiredCapability[] req = possibleEclipse.getRequiredCapabilities(); > assertTrue(req.length == 0); > return;//pass > } >@@ -138,12 +142,12 @@ > assertTrue(eKey.getClassifier().equals("binary")); //$NON-NLS-1$ > assertTrue(eKey.getId().equals(idBase + ".executable." + configSpec)); //$NON-NLS-1$ > assertTrue(eKey.getVersion().equals(version)); >- ProvidedCapability[] providedCapabilities = possibleExec.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapabilities = possibleExec.getProvidedCapabilities(); > verifyProvidedCapability(providedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, idBase + ".executable." + configSpec, version); //$NON-NLS-1$ > verifyProvidedCapability(providedCapabilities, flavorArg + idBase, idBase + ".executable", version); //$NON-NLS-1$ > assertTrue(providedCapabilities.length == 2); > >- RequiredCapability[] requiredCapability = possibleExec.getRequiredCapabilities(); >+ IRequiredCapability[] requiredCapability = possibleExec.getRequiredCapabilities(); > verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, "org.eclipse.equinox.launcher." + (idBase.equals("mac") || idBase.equals("macCocoa") ? configSpec.substring(0, configSpec.lastIndexOf(".")) : configSpec), VersionRange.emptyRange); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ > assertTrue(requiredCapability.length == 1); > return;//pass >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java,v >retrieving revision 1.6 >diff -u -r1.6 ConfigCUsActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java 22 Dec 2008 15:30:42 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/ConfigCUsActionTest.java 24 Dec 2008 17:31:35 -0000 >@@ -12,6 +12,10 @@ > > import static org.easymock.EasyMock.expect; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.util.ArrayList; > import org.eclipse.core.runtime.NullProgressMonitor; >@@ -57,13 +61,13 @@ > assertTrue(iu.getId().equalsIgnoreCase(flavor + id + ".configuration")); //$NON-NLS-1$ > > //verify ProvidedCapabilities >- ProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities(); > verifyProvidedCapability(providedCapabilities, "org.eclipse.equinox.p2.iu", iu.getId(), version); //$NON-NLS-1$ > // verifyProvidedCapability(providedCapabilities, flavor + id, id + ".config", version); //$NON-NLS-1$ > assertTrue(providedCapabilities.length == 1); > > //verify RequiredCapabilities >- RequiredCapability[] requiredCapability = iu.getRequiredCapabilities(); >+ IRequiredCapability[] requiredCapability = iu.getRequiredCapabilities(); > verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".config." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ > verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + ".ini." + configSpec, new VersionRange(version, true, version, true)); //$NON-NLS-1$ > assertTrue(requiredCapability.length == 2); >@@ -83,7 +87,7 @@ > assertTrue(iu.getVersion().equals(version)); > assertTrue(iu.getProperty("org.eclipse.equinox.p2.type.fragment").equals("true")); //$NON-NLS-1$//$NON-NLS-2$ > assertFalse(iu.isSingleton()); >- ProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapabilities = iu.getProvidedCapabilities(); > verifyProvidedCapability(providedCapabilities, IInstallableUnit.NAMESPACE_IU_ID, flavor + id + "." + cuType + "." + configSpec, version); //$NON-NLS-1$//$NON-NLS-2$ > verifyProvidedCapability(providedCapabilities, flavor + id, id + "." + cuType, version); //$NON-NLS-1$ > assertTrue(providedCapabilities.length == 2); >Index: src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java,v >retrieving revision 1.7 >diff -u -r1.7 JREActionTest.java >--- src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java 22 Dec 2008 15:30:42 -0000 1.7 >+++ src/org/eclipse/equinox/p2/tests/publisher/actions/JREActionTest.java 24 Dec 2008 17:31:35 -0000 >@@ -12,6 +12,12 @@ > > import static org.easymock.EasyMock.expect; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.*; > import java.util.*; > import java.util.zip.ZipInputStream; >@@ -82,7 +88,7 @@ > assertTrue(foo.getTouchpointType().getVersion().equals(new Version("1.0.0"))); //$NON-NLS-1$ > > // check provided capabilities >- ProvidedCapability[] fooProvidedCapabilities = foo.getProvidedCapabilities(); >+ IProvidedCapability[] fooProvidedCapabilities = foo.getProvidedCapabilities(); > assertTrue(fooProvidedCapabilities.length == numProvidedCapabilities); > > ArrayList barIUs = new ArrayList(publisherResult.getIUs("config.a.jre", IPublisherResult.ROOT)); //$NON-NLS-1$ >@@ -90,14 +96,14 @@ > IInstallableUnit bar = (IInstallableUnit) barIUs.get(0); > > Map instructions = bar.getTouchpointData()[0].getInstructions(); >- assertTrue(((TouchpointInstruction) instructions.get("install")).getBody().equals("unzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$//$NON-NLS-2$ >- assertTrue(((TouchpointInstruction) instructions.get("uninstall")).getBody().equals("cleanupzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$ //$NON-NLS-2$ >+ assertTrue(((ITouchpointInstruction) instructions.get("install")).getBody().equals("unzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$//$NON-NLS-2$ >+ assertTrue(((ITouchpointInstruction) instructions.get("uninstall")).getBody().equals("cleanupzip(source:@artifact, target:${installFolder});")); //$NON-NLS-1$ //$NON-NLS-2$ > >- RequiredCapability[] requiredCapability = bar.getRequiredCapabilities(); >+ IRequiredCapability[] requiredCapability = bar.getRequiredCapabilities(); > verifyRequiredCapability(requiredCapability, IInstallableUnit.NAMESPACE_IU_ID, "a.jre", new VersionRange(JREVersion, true, new Version(Integer.MAX_VALUE, Integer.MAX_VALUE, Integer.MAX_VALUE), true)); //$NON-NLS-1$ > assertTrue(requiredCapability.length == 1); > >- ProvidedCapability[] providedCapability = bar.getProvidedCapabilities(); >+ IProvidedCapability[] providedCapability = bar.getProvidedCapabilities(); > verifyProvidedCapability(providedCapability, IInstallableUnit.NAMESPACE_IU_ID, "config.a.jre", JREVersion); //$NON-NLS-1$ > assertTrue(providedCapability.length == 1); > >Index: src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java,v >retrieving revision 1.22 >diff -u -r1.22 UpdateSiteTest.java >--- src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java 22 Dec 2008 15:30:44 -0000 1.22 >+++ src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java 24 Dec 2008 17:31:36 -0000 >@@ -10,6 +10,12 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.updatesite; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.io.ByteArrayOutputStream; > import java.io.File; > import java.net.URI; >@@ -424,7 +430,7 @@ > Collector result = metadataRepo.query(query, new Collector(), null); > assertEquals("1.0", 1, result.size()); > IInstallableUnit featureIU = (IInstallableUnit) result.iterator().next(); >- RequiredCapability[] required = featureIU.getRequiredCapabilities(); >+ IRequiredCapability[] required = featureIU.getRequiredCapabilities(); > for (int i = 0; i < required.length; i++) { > if (required[i].getName().equals("org.eclipse.ui.ide")) { > assertEquals("2.0", VersionRange.emptyRange, required[i].getRange()); >@@ -471,11 +477,11 @@ > Collector result = repository.query(new InstallableUnitQuery("test.feature.feature.jar"), new Collector(), getMonitor()); > assertTrue("1.0", !result.isEmpty()); > IInstallableUnit unit = (IInstallableUnit) result.iterator().next(); >- TouchpointData[] data = unit.getTouchpointData(); >+ ITouchpointData[] data = unit.getTouchpointData(); > assertEquals("1.1", 1, data.length); > Map instructions = data[0].getInstructions(); > assertEquals("1.2", 1, instructions.size()); >- assertEquals("1.3", "true", ((TouchpointInstruction) instructions.get("zipped")).getBody()); >+ assertEquals("1.3", "true", ((ITouchpointInstruction) instructions.get("zipped")).getBody()); > } > > public void testMetadtaRepoCount() { >Index: src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java,v >retrieving revision 1.9 >diff -u -r1.9 AddRepositoryActionTest.java >--- src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java 22 Dec 2008 15:30:44 -0000 1.9 >+++ src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/AddRepositoryActionTest.java 24 Dec 2008 17:31:36 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.touchpoint.eclipse; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.net.URI; > import java.util.HashMap; > import java.util.Map; >@@ -116,7 +118,7 @@ > Version version = new Version(1, 0, 0); > Map instructions = new HashMap(); > instructions.put("configure", TouchpointInstruction.encodeAction("addRepository", getValidArguments())); >- TouchpointData tpData = MetadataFactory.createTouchpointData(instructions); >+ ITouchpointData tpData = MetadataFactory.createTouchpointData(instructions); > IInstallableUnit iu = createIU(id, version, null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TOUCHPOINT_OSGI, tpData, true, createUpdateDescriptor(id, version)); > IProfile profile = createProfile(id); > ProfileChangeRequest request = new ProfileChangeRequest(profile); >Index: src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java,v >retrieving revision 1.6 >diff -u -r1.6 UtilTest.java >--- src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java 28 Nov 2008 19:04:35 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/touchpoint/eclipse/UtilTest.java 24 Dec 2008 17:31:36 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.touchpoint.eclipse; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.io.File; > import java.net.MalformedURLException; > import java.net.URISyntaxException; >@@ -24,7 +26,6 @@ > import org.eclipse.equinox.internal.provisional.p2.core.location.AgentLocation; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; > import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory; >-import org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointData; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; > > /** >@@ -64,7 +65,7 @@ > } > > public void testMissingManifest() { >- TouchpointData emptyData = MetadataFactory.createTouchpointData(Collections.EMPTY_MAP); >- assertNull(Util.getManifest(new TouchpointData[] {emptyData})); >+ ITouchpointData emptyData = MetadataFactory.createTouchpointData(Collections.EMPTY_MAP); >+ assertNull(Util.getManifest(new ITouchpointData[] {emptyData})); > } > } >Index: src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java,v >retrieving revision 1.4 >diff -u -r1.4 UpdateCheckerTest.java >--- src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java 22 Dec 2008 15:30:44 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/updatechecker/UpdateCheckerTest.java 24 Dec 2008 17:31:36 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.updatechecker; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; > import org.eclipse.equinox.internal.p2.publisher.Activator; >@@ -45,7 +47,7 @@ > String id = "toInstall." + getName(); > toInstallIU = createIU(id, new Version(1, 0, 0)); > IUpdateDescriptor updateDescriptor = createUpdateDescriptor(id, new Version(2, 0, 0)); >- update = createIU(id, new Version(2, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, true, updateDescriptor); >+ update = createIU(id, new Version(2, 0, 0), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, true, updateDescriptor); > > IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU, update}; > IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU}; >Index: src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java,v >retrieving revision 1.14 >diff -u -r1.14 OperationGenerationTest.java >--- src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java 22 Dec 2008 15:30:42 -0000 1.14 >+++ src/org/eclipse/equinox/p2/tests/director/OperationGenerationTest.java 24 Dec 2008 17:31:26 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ > import java.util.ArrayList; > import java.util.Collection; > import org.eclipse.equinox.internal.p2.director.OperationGenerator; >@@ -232,12 +234,12 @@ > public void test248468b() { > String id = "myBundle"; > IUpdateDescriptor update = createUpdateDescriptor(id, new Version("1.0.0")); >- IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update); >+ IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update); > IUpdateDescriptor update2 = createUpdateDescriptor(id, new Version("2.0.0")); >- IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update2); >+ IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update2); > > IUpdateDescriptor update3 = createUpdateDescriptor(id, new Version("3.0.0")); >- IInstallableUnit three = createIU(id, new Version("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update3); >+ IInstallableUnit three = createIU(id, new Version("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update3); > > Collection from = new ArrayList(); > from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0])); >@@ -264,12 +266,12 @@ > public void test248468d() { > String id = "myBundle"; > IUpdateDescriptor update = createUpdateDescriptor(id, new Version("1.0.0")); >- IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update); >+ IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update); > update = createUpdateDescriptor(id, new Version("2.0.0")); >- IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update); >+ IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update); > > IUpdateDescriptor update3 = createUpdateDescriptor(id, new Version("3.0.0")); >- IInstallableUnit three = createIU("anotherBundle", new Version("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update3); >+ IInstallableUnit three = createIU("anotherBundle", new Version("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update3); > > Collection from = new ArrayList(); > from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0])); >@@ -297,13 +299,13 @@ > public void test248468c() { > String id = "myBundle"; > IUpdateDescriptor update = createUpdateDescriptor(id, new Version("1.0.0")); >- IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update); >+ IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update); > update = createUpdateDescriptor(id, new Version("2.0.0")); >- IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update); >+ IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update); > > IUpdateDescriptor update3 = MetadataFactory.createUpdateDescriptor(id, new VersionRange(new Version(2, 0, 0), true, new Version(3, 0, 0), false), IUpdateDescriptor.HIGH, "desc"); > // IUpdateDescriptor update3 = createUpdateDescriptor(id, new Version("3.0.0")); >- IInstallableUnit three = createIU("anotherBundle", new Version("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update3); >+ IInstallableUnit three = createIU("anotherBundle", new Version("3.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update3); > > Collection from = new ArrayList(); > from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0])); >@@ -333,9 +335,9 @@ > public void test248468() { > String id = "myBundle"; > IUpdateDescriptor update = createUpdateDescriptor(id, new Version("1.0.0")); >- IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update); >+ IInstallableUnit one = createIU(id, new Version("1.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update); > update = createUpdateDescriptor(id, new Version("2.0.0")); >- IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, TouchpointType.NONE, NO_TP_DATA, false, update); >+ IInstallableUnit two = createIU(id, new Version("2.0.0"), null, NO_REQUIRES, NO_PROVIDES, NO_PROPERTIES, ITouchpointType.NONE, NO_TP_DATA, false, update); > > Collection from = new ArrayList(); > from.add(MetadataFactory.createResolvedInstallableUnit(one, new IInstallableUnitFragment[0])); >Index: src/org/eclipse/equinox/p2/tests/director/OracleTest2.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest2.java,v >retrieving revision 1.16 >diff -u -r1.16 OracleTest2.java >--- src/org/eclipse/equinox/p2/tests/director/OracleTest2.java 22 Dec 2008 15:30:42 -0000 1.16 >+++ src/org/eclipse/equinox/p2/tests/director/OracleTest2.java 24 Dec 2008 17:31:27 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IDirector; > import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; >@@ -29,7 +31,7 @@ > IProfile profile; > > protected void setUp() throws Exception { >- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null); >+ IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null); > a1 = createIU("A", requires, true); > > c1 = createIU("C", DEFAULT_VERSION, true); >Index: src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java,v >retrieving revision 1.17 >diff -u -r1.17 AutomatedDirectorTest.java >--- src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java 3 Apr 2008 01:07:57 -0000 1.17 >+++ src/org/eclipse/equinox/p2/tests/director/AutomatedDirectorTest.java 24 Dec 2008 17:31:26 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.HashMap; > import java.util.Map; > import junit.framework.Test; >@@ -50,8 +54,8 @@ > > // The IU to be installed > String filter = createFilter("FilterKey", "true"); >- RequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, filter, false, false); >- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {capability}); >+ IRequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, filter, false, false); >+ IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {capability}); > > IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU}; > IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU}; >@@ -75,11 +79,11 @@ > public void testInstallOptionalAvailable() { > String capabilityId = "test." + getName(); > //The IU that exports the capability >- IInstallableUnit requiredIU = createIU("required." + getName(), new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)}); >+ IInstallableUnit requiredIU = createIU("required." + getName(), new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)}); > > //The IU that optionally requires the capability >- RequiredCapability required = MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, /* optional=> */true, /* multiple=> */false, /* greedy=>*/false); >- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {required}); >+ IRequiredCapability required = MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, /* optional=> */true, /* multiple=> */false, /* greedy=>*/false); >+ IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {required}); > > IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU, requiredIU}; > IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU}; >@@ -102,8 +106,8 @@ > public void testInstallOptionalUnavailable() { > String capabilityId = "test." + getName(); > //no IU will be available that exports this capability >- RequiredCapability required = MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, true, false); >- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {required}); >+ IRequiredCapability required = MetadataFactory.createRequiredCapability("test.capability", capabilityId, ANY_VERSION, null, true, false); >+ IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {required}); > > IInstallableUnit[] allUnits = new IInstallableUnit[] {toInstallIU}; > createTestMetdataRepository(allUnits); >@@ -126,7 +130,7 @@ > public void testInstallPlatformFilter() { > //The IU that exports the capability > String capabilityId = "test." + getName(); >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)}; > IInstallableUnit requiredIU = createIU("required." + getName(), createFilter("osgi.os", "blort"), provides); > > IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null)); >@@ -186,7 +190,7 @@ > public void testSimpleInstallRequired() { > String capabilityId = "test." + getName(); > //The IU that exports the capability >- IInstallableUnit requiredIU = createIU("required." + getName(), new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)}); >+ IInstallableUnit requiredIU = createIU("required." + getName(), new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", capabilityId, DEFAULT_VERSION)}); > > IInstallableUnit toInstallIU = createIU("toInstall." + getName(), createRequiredCapabilities("test.capability", capabilityId, ANY_VERSION, null)); > >@@ -214,8 +218,8 @@ > //The IU that is needed > IInstallableUnit requiredIU = createIU("required." + getName()); > >- RequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), null, null, false, false); >- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {capability}); >+ IRequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), null, null, false, false); >+ IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {capability}); > > IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU}; > IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU}; >@@ -242,8 +246,8 @@ > //The IU that exports the capability > IInstallableUnit requiredIU = createIU("required." + getName()); > >- RequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, null, false, false); >- IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new RequiredCapability[] {capability}); >+ IRequiredCapability capability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, requiredIU.getId(), ANY_VERSION, null, false, false); >+ IInstallableUnit toInstallIU = createIU("toInstall." + getName(), new IRequiredCapability[] {capability}); > > IInstallableUnit[] allUnits = new IInstallableUnit[] {requiredIU, toInstallIU}; > IInstallableUnit[] toInstallArray = new IInstallableUnit[] {toInstallIU}; >Index: src/org/eclipse/equinox/p2/tests/director/OracleTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/OracleTest.java,v >retrieving revision 1.14 >diff -u -r1.14 OracleTest.java >--- src/org/eclipse/equinox/p2/tests/director/OracleTest.java 22 Dec 2008 15:30:42 -0000 1.14 >+++ src/org/eclipse/equinox/p2/tests/director/OracleTest.java 24 Dec 2008 17:31:26 -0000 >@@ -8,12 +8,13 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.IDirector; > import org.eclipse.equinox.internal.provisional.p2.director.ProfileChangeRequest; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >@@ -30,7 +31,7 @@ > IProfile profile; > > protected void setUp() throws Exception { >- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null); >+ IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "C", new VersionRange("[1.0.0, 2.0.0)"), null); > a1 = createIU("A", requires, true); > > requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "D", new VersionRange("[1.0.0, 3.0.0)"), null); >Index: src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java,v >retrieving revision 1.6 >diff -u -r1.6 ResolutionHelperTest.java >--- src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java 22 Dec 2008 15:30:42 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/director/ResolutionHelperTest.java 24 Dec 2008 17:31:27 -0000 >@@ -8,6 +8,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.util.*; > import junit.framework.Test; > import junit.framework.TestSuite; >@@ -44,11 +48,11 @@ > Version version = new Version(5, 0, 0); > > //The IU that exports the capability >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > IInstallableUnit required = createIU("required", version, provides); > > //an IU whose required capability falls outside available range >- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,5.0)"), null); >+ IRequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,5.0)"), null); > IInstallableUnit toInstall = createIU("match", version, requires); > > ResolutionHelper rh = new ResolutionHelper(null, null); >@@ -60,7 +64,7 @@ > > assertEquals("1.0", 1, unsatisfied.length); > assertEquals("1.1", "match", unsatisfied[0].getUnsatisfiedUnit().getId()); >- RequiredCapability capability = unsatisfied[0].getRequiredCapability(); >+ IRequiredCapability capability = unsatisfied[0].getRequiredCapability(); > assertEquals("1.4", "test.capability", capability.getNamespace()); > assertEquals("1.5", "test", capability.getName()); > } >@@ -73,11 +77,11 @@ > Version version = new Version(2, 0, 0); > > //The IU that exports the capability >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > IInstallableUnit required = createIU("required", version, provides); > > //an IU whose required capability falls outside available range >- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", new VersionRange("(2.0,3.0)"), null); >+ IRequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", new VersionRange("(2.0,3.0)"), null); > IInstallableUnit toInstall = createIU("match", version, requires); > > ResolutionHelper rh = new ResolutionHelper(null, null); >@@ -89,7 +93,7 @@ > > assertEquals("1.0", 1, unsatisfied.length); > assertEquals("1.1", "match", unsatisfied[0].getUnsatisfiedUnit().getId()); >- RequiredCapability capability = unsatisfied[0].getRequiredCapability(); >+ IRequiredCapability capability = unsatisfied[0].getRequiredCapability(); > assertEquals("1.4", "test.capability", capability.getNamespace()); > assertEquals("1.5", "test", capability.getName()); > } >@@ -98,10 +102,10 @@ > Version version = new Version(1, 0, 0); > > //The IU that exports the capability >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > IInstallableUnit required = createIU("required", version, createFilter(FILTER_KEY, "win32"), provides); > >- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", ANY_VERSION, null); >+ IRequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", ANY_VERSION, null); > IInstallableUnit toInstall = createIU("toInstall", version, requires); > > //setup context so that platform filter will satisfy dependency >@@ -120,7 +124,7 @@ > unsatisfied = rh.install(installSet, available); > assertEquals("1.1", 1, unsatisfied.length); > assertEquals("1.2", "toInstall", unsatisfied[0].getUnsatisfiedUnit().getId()); >- RequiredCapability capability = unsatisfied[0].getRequiredCapability(); >+ IRequiredCapability capability = unsatisfied[0].getRequiredCapability(); > assertEquals("1.3", "test.capability", capability.getNamespace()); > assertEquals("1.4", "test", capability.getName()); > >@@ -144,11 +148,11 @@ > Version version = new Version(1, 0, 0); > > //The IU that exports the capability >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > IInstallableUnit required = createIU("required", version, provides); > > //an IU whose filter will match the environment >- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "matchValue")); >+ IRequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "matchValue")); > IInstallableUnit toInstall = createIU("match", version, requires); > > Dictionary environment = new Hashtable(); >@@ -172,11 +176,11 @@ > Version version = new Version(1, 0, 0); > > //The IU that exports the capability >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > IInstallableUnit required = createIU("required", version, provides); > > //an IU whose filter will not match the environment >- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "noMatchValue")); >+ IRequiredCapability[] requires = createRequiredCapabilities("test.capability", "test", createFilter(FILTER_KEY, "noMatchValue")); > IInstallableUnit toInstall = createIU("noMatch", version, requires); > > Dictionary environment = new Hashtable(); >@@ -192,10 +196,10 @@ > } > > public void testSimpleDependency() { >- RequiredCapability[] requires = new RequiredCapability[] {MetadataFactory.createRequiredCapability("java.runtime", "JRE", null, null, false, false)}; >+ IRequiredCapability[] requires = new IRequiredCapability[] {MetadataFactory.createRequiredCapability("java.runtime", "JRE", null, null, false, false)}; > IInstallableUnit osgi = createIU("org.eclipse.osgi", new Version(3, 2, 0, null), requires, NO_PROPERTIES, false); > >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("java.runtime", "JRE", new Version(1, 4, 2, "sr2"))}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("java.runtime", "JRE", new Version(1, 4, 2, "sr2"))}; > IInstallableUnit jre = createIU("com.ibm.jre", new Version(1, 4, 2, "sr2"), provides); > > ResolutionHelper rh = new ResolutionHelper(null, null); >@@ -215,11 +219,11 @@ > Version version = new Version(1, 0, 0); > > //The IU that exports the capability >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > IInstallableUnit required = createIU("required", version, provides); > > //an IU whose filter will match the environment >- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "matchValue")); >+ IRequiredCapability[] requires = createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "matchValue")); > IInstallableUnit toInstall = createIU("match", version, requires); > > Dictionary environment = new Hashtable(); >@@ -233,7 +237,7 @@ > > assertEquals("1.0", 1, unsatisfied.length); > assertEquals("1.1", "match", unsatisfied[0].getUnsatisfiedUnit().getId()); >- RequiredCapability capability = unsatisfied[0].getRequiredCapability(); >+ IRequiredCapability capability = unsatisfied[0].getRequiredCapability(); > assertEquals("1.4", "test.capability", capability.getNamespace()); > assertEquals("1.5", "does.not.exist", capability.getName()); > } >@@ -248,11 +252,11 @@ > Version version = new Version(1, 0, 0); > > //The IU that exports the capability >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > IInstallableUnit required = createIU("required", version, provides); > > //an IU whose filter will not match the environment >- RequiredCapability[] requires = createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "noMatchValue")); >+ IRequiredCapability[] requires = createRequiredCapabilities("test.capability", "does.not.exist", createFilter(FILTER_KEY, "noMatchValue")); > IInstallableUnit toInstall = createIU("noMatch", version, requires); > > Dictionary environment = new Hashtable(); >Index: src/org/eclipse/equinox/p2/tests/director/PickerTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/PickerTest.java,v >retrieving revision 1.8 >diff -u -r1.8 PickerTest.java >--- src/org/eclipse/equinox/p2/tests/director/PickerTest.java 22 Dec 2008 15:30:42 -0000 1.8 >+++ src/org/eclipse/equinox/p2/tests/director/PickerTest.java 24 Dec 2008 17:31:27 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import org.eclipse.equinox.internal.p2.director.Picker; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; >@@ -36,7 +40,7 @@ > Version version = new Version(5, 0, 0); > > //create some sample IUs to be available for the picker >- ProvidedCapability[] provides = new ProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; >+ IProvidedCapability[] provides = new IProvidedCapability[] {MetadataFactory.createProvidedCapability("test.capability", "test", version)}; > unitVersion5 = createIU("required", version, provides); > > IInstallableUnit[] units = new IInstallableUnit[] {unitVersion5}; >@@ -51,7 +55,7 @@ > public void testRequiredBelowVersionRange() { > > //an IU whose required capability falls outside available range >- RequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,5.0)"), null); >+ IRequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,5.0)"), null); > > IInstallableUnit[][] result = picker.findInstallableUnit(null, null, required, false); > assertEquals("1.0", 0, result[0].length + result[1].length); >@@ -64,7 +68,7 @@ > public void testRequiredWithinVersionRange() { > > //in middle of range >- RequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,6.0)"), null); >+ IRequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[2.0,6.0)"), null); > IInstallableUnit[] result = picker.findInstallableUnit(null, null, required, false)[1]; > assertEquals("1.0", 1, result.length); > assertEquals("1.1", unitVersion5, result[0]); >@@ -89,7 +93,7 @@ > public void testRequiredAboveVersionRange() { > > //an IU whose required capability falls outside available range >- RequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[5.1,6.0)"), null); >+ IRequiredCapability[] required = createRequiredCapabilities("test.capability", "test", new VersionRange("[5.1,6.0)"), null); > > IInstallableUnit[][] result = picker.findInstallableUnit(null, null, required, false); > assertEquals("1.0", 0, result[0].length + result[1].length); >Index: src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java,v >retrieving revision 1.14 >diff -u -r1.14 ReplacePlanTest.java >--- src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java 22 Dec 2008 15:30:42 -0000 1.14 >+++ src/org/eclipse/equinox/p2/tests/director/ReplacePlanTest.java 24 Dec 2008 17:31:27 -0000 >@@ -10,11 +10,12 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >@@ -48,7 +49,7 @@ > frag1_4 = createIUFragment(f1, "frag1", f1_4.getVersion()); > > //IUs that require base IU >- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "f1", new VersionRange("[1.0.0, 1.3.0)"), null); >+ IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "f1", new VersionRange("[1.0.0, 1.3.0)"), null); > fa = createIU("fa", requires, false); > requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "f1", new VersionRange("[1.0.0, 1.4.0)"), null); > fap = createIU("fa", new Version(1, 1, 0), requires, NO_PROPERTIES, false); >Index: src/org/eclipse/equinox/p2/tests/director/UpdateTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/UpdateTest.java,v >retrieving revision 1.22 >diff -u -r1.22 UpdateTest.java >--- src/org/eclipse/equinox/p2/tests/director/UpdateTest.java 22 Dec 2008 15:30:42 -0000 1.22 >+++ src/org/eclipse/equinox/p2/tests/director/UpdateTest.java 24 Dec 2008 17:31:28 -0000 >@@ -8,13 +8,14 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.NullProgressMonitor; > import org.eclipse.equinox.internal.provisional.p2.director.*; > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; > import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; > import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >@@ -36,7 +37,7 @@ > f1_1 = createIU(f1Id, new Version(1, 1, 0), true); > f1_4 = createIU(f1Id, new Version(1, 4, 0), true); > >- RequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, f1Id, new VersionRange("[1.0.0, 1.3.0)"), null); >+ IRequiredCapability[] requires = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, f1Id, new VersionRange("[1.0.0, 1.3.0)"), null); > String faId = getName() + ".fa"; > fa = createIU(faId, requires, false); > >Index: src/org/eclipse/equinox/p2/tests/director/RollbackTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RollbackTest.java,v >retrieving revision 1.22 >diff -u -r1.22 RollbackTest.java >--- src/org/eclipse/equinox/p2/tests/director/RollbackTest.java 22 Dec 2008 15:30:42 -0000 1.22 >+++ src/org/eclipse/equinox/p2/tests/director/RollbackTest.java 24 Dec 2008 17:31:28 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.net.*; > import java.util.ArrayList; > import java.util.List; >@@ -46,7 +48,7 @@ > b1 = createIU("B", DEFAULT_VERSION, true); > c1 = createIU("C", DEFAULT_VERSION, true); > >- RequiredCapability[] req = new RequiredCapability[1]; >+ IRequiredCapability[] req = new IRequiredCapability[1]; > req[0] = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "A", VersionRange.emptyRange, null, false, false, true); > d1 = createIU("D", new Version("1.0.0"), req); > >Index: src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java,v >retrieving revision 1.8 >diff -u -r1.8 RecommendationTest.java >--- src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java 22 Dec 2008 15:30:42 -0000 1.8 >+++ src/org/eclipse/equinox/p2/tests/director/RecommendationTest.java 24 Dec 2008 17:31:27 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.director; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IStatus; > > import java.lang.reflect.Method; >@@ -27,18 +29,18 @@ > //test > //check that the picker is returning something in the range > public void testRecommendation() { >- RequiredCapability applyOn, newValue; >+ IRequiredCapability applyOn, newValue; > applyOn = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); > newValue = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.1, 2.0)"), null, false, false); > Recommendation r1 = new Recommendation(applyOn, newValue); > >- RequiredCapability goodMatch = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); >+ IRequiredCapability goodMatch = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); > assertEquals(true, r1.matches(goodMatch)); > >- RequiredCapability badNamespace = MetadataFactory.createRequiredCapability("badNamespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); >+ IRequiredCapability badNamespace = MetadataFactory.createRequiredCapability("badNamespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); > assertEquals(false, r1.matches(badNamespace)); > >- RequiredCapability badName = MetadataFactory.createRequiredCapability("namespace", "badName", new VersionRange("[1.0, 2.0)"), null, false, false); >+ IRequiredCapability badName = MetadataFactory.createRequiredCapability("namespace", "badName", new VersionRange("[1.0, 2.0)"), null, false, false); > assertEquals(false, r1.matches(badName)); > } > >@@ -48,12 +50,12 @@ > IInstallableUnit iu2 = createIU("iu2", new Version(4, 0, 0)); > > //The recommendations to be used >- RequiredCapability applyOn, newValue; >+ IRequiredCapability applyOn, newValue; > applyOn = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[1.0, 2.0)"), null, false, false); > newValue = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[1.1, 2.0)"), null, false, false); > Recommendation r1 = new Recommendation(applyOn, newValue); > >- RequiredCapability applyOn2, newValue2; >+ IRequiredCapability applyOn2, newValue2; > applyOn2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu2", new VersionRange("[4.2, 5.0)"), null, false, false); > newValue2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu2", new VersionRange("[4.0, 5.0)"), null, false, false); > Recommendation r2 = new Recommendation(applyOn2, newValue2); >@@ -62,15 +64,15 @@ > recommendations.add(r2); > > Picker p = new Picker(new IInstallableUnit[] {iu1, iu2}, null); >- IInstallableUnit[][] matches = p.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", null, null, false, false)}, false); >+ IInstallableUnit[][] matches = p.findInstallableUnit(null, null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", null, null, false, false)}, false); > assertEquals(matches[1][0], iu1); > > Picker p1 = new Picker(new IInstallableUnit[] {iu1, iu2}, new RecommendationDescriptor(recommendations)); >- matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[1.0, 2.0)"), null, false, false)}, false); >+ matches = p1.findInstallableUnit(null, null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[1.0, 2.0)"), null, false, false)}, false); > assertEquals(matches[0].length, 0); > assertEquals(matches[1].length, 0); > >- matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false)}, false); >+ matches = p1.findInstallableUnit(null, null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false)}, false); > assertEquals(matches[0].length, 0); > assertEquals(matches[1].length, 0); > } >@@ -80,7 +82,7 @@ > IInstallableUnit iu1 = createIU("iu1", new Version(4, 0, 0)); > > //Here we add recommendation that widen the range of the bundle we are looking for >- RequiredCapability applyOn2, newValue2; >+ IRequiredCapability applyOn2, newValue2; > applyOn2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false); > newValue2 = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.0, 5.0)"), null, false, false); > Recommendation r2 = new Recommendation(applyOn2, newValue2); >@@ -89,18 +91,18 @@ > > //Check without the recommendations > Picker p2 = new Picker(new IInstallableUnit[] {iu1}, null); >- IInstallableUnit[][] matches = p2.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.0, 5.0)"), null, false, false)}, false); >+ IInstallableUnit[][] matches = p2.findInstallableUnit(null, null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.0, 5.0)"), null, false, false)}, false); > assertEquals(matches[1].length, 1); > > //Check the widening works > Picker p1 = new Picker(new IInstallableUnit[] {iu1}, new RecommendationDescriptor(recommendations)); >- matches = p1.findInstallableUnit(null, null, new RequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false)}, false); >+ matches = p1.findInstallableUnit(null, null, new IRequiredCapability[] {MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, "iu1", new VersionRange("[4.2, 5.0)"), null, false, false)}, false); > assertEquals(matches[1].length, 1); > > } > > public void testRecommendationDescriptorMerge() { >- RequiredCapability applyOn1, newValue1; >+ IRequiredCapability applyOn1, newValue1; > applyOn1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); > newValue1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.1, 2.0)"), null, false, false); > Recommendation r1 = new Recommendation(applyOn1, newValue1); >@@ -108,7 +110,7 @@ > list1.add(r1); > RecommendationDescriptor desc1 = new RecommendationDescriptor(list1); > >- RequiredCapability applyOn2, newValue2; >+ IRequiredCapability applyOn2, newValue2; > applyOn2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); > newValue2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.3, 2.0)"), null, false, false); > Recommendation r2 = new Recommendation(applyOn2, newValue2); >@@ -122,7 +124,7 @@ > } > > public void testRecommendationDescriptorMergeConflict() { >- RequiredCapability applyOn1, newValue1; >+ IRequiredCapability applyOn1, newValue1; > applyOn1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); > newValue1 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.1, 2.0)"), null, false, false); > Recommendation r1 = new Recommendation(applyOn1, newValue1); >@@ -130,7 +132,7 @@ > list1.add(r1); > RecommendationDescriptor desc1 = new RecommendationDescriptor(list1); > >- RequiredCapability applyOn2, newValue2; >+ IRequiredCapability applyOn2, newValue2; > applyOn2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[1.0, 2.0)"), null, false, false); > newValue2 = MetadataFactory.createRequiredCapability("namespace", "name", new VersionRange("[2.1, 3.0)"), null, false, false); > Recommendation r2 = new Recommendation(applyOn2, newValue2); >Index: src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java,v >retrieving revision 1.20 >diff -u -r1.20 RepositoryListenerTest.java >--- src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java 7 Nov 2008 16:26:02 -0000 1.20 >+++ src/org/eclipse/equinox/p2/tests/directorywatcher/RepositoryListenerTest.java 24 Dec 2008 17:31:29 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.directorywatcher; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.io.File; > import junit.framework.Test; > import junit.framework.TestSuite; >@@ -33,7 +35,7 @@ > return new TestSuite(RepositoryListenerTest.class); > } > >- public static boolean isZipped(TouchpointData[] data) { >+ public static boolean isZipped(ITouchpointData[] data) { > if (data == null || data.length == 0) > return false; > for (int i = 0; i < data.length; i++) { >Index: src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java,v >retrieving revision 1.6 >diff -u -r1.6 AllTests.java >--- src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java 13 Nov 2008 20:42:49 -0000 1.6 >+++ src/org/eclipse/equinox/p2/tests/metadata/repository/AllTests.java 24 Dec 2008 17:31:30 -0000 >@@ -21,6 +21,7 @@ > TestSuite suite = new TestSuite(AllTests.class.getName()); > suite.addTestSuite(JarURLRepositoryTest.class); > suite.addTestSuite(LocalMetadataRepositoryTest.class); >+ suite.addTestSuite(SPIMetadataRepositoryTest.class); > suite.addTestSuite(MetadataRepositoryManagerTest.class); > suite.addTestSuite(CompositeMetadataRepositoryTest.class); > return suite; >Index: src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java >=================================================================== >RCS file: src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java >diff -N src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/p2/tests/metadata/repository/SPIMetadataRepositoryTest.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,806 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.p2.tests.metadata.repository; >+ >+import java.io.File; >+import java.io.UnsupportedEncodingException; >+import java.math.BigInteger; >+import java.net.URI; >+import java.net.URISyntaxException; >+import java.security.MessageDigest; >+import java.security.NoSuchAlgorithmException; >+import java.util.*; >+import org.eclipse.core.runtime.NullProgressMonitor; >+import org.eclipse.equinox.internal.p2.metadata.InstallableUnit; >+import org.eclipse.equinox.internal.provisional.p2.core.*; >+import org.eclipse.equinox.internal.provisional.p2.core.repository.IRepository; >+import org.eclipse.equinox.internal.provisional.p2.metadata.*; >+import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitDescription; >+import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.InstallableUnitPatchDescription; >+import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository; >+import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager; >+import org.eclipse.equinox.internal.provisional.p2.query.Collector; >+import org.eclipse.equinox.internal.provisional.p2.query.Query; >+import org.eclipse.equinox.p2.tests.AbstractProvisioningTest; >+ >+/** >+ * Test API of the metadata interfaces with an SPI implementation. >+ */ >+public class SPIMetadataRepositoryTest extends AbstractProvisioningTest { >+ protected File repoLocation; >+ >+ protected void setUp() throws Exception { >+ super.setUp(); >+ String tempDir = System.getProperty("java.io.tmpdir"); >+ repoLocation = new File(tempDir, "SPILocalMetadataRepositoryTest"); >+ AbstractProvisioningTest.delete(repoLocation); >+ repoLocation.mkdir(); >+ } >+ >+ protected void tearDown() throws Exception { >+ getMetadataRepositoryManager().removeRepository(repoLocation.toURI()); >+ delete(repoLocation); >+ super.tearDown(); >+ } >+ >+ class SPIRequiredCapability implements IRequiredCapability { >+ String filter; >+ String name; >+ String namespace; >+ VersionRange versionRange; >+ String[] selectors = new String[0]; >+ boolean isGreedy; >+ boolean isMultiple; >+ boolean isOptional; >+ >+ public SPIRequiredCapability(String namespace, String name, VersionRange versionRange, String filter, String[] selectors, boolean isGreedy, boolean isMultiple, boolean isOptional) { >+ this.namespace = namespace; >+ this.name = name; >+ this.versionRange = versionRange; >+ this.filter = filter; >+ this.selectors = selectors; >+ this.isGreedy = isGreedy; >+ this.isMultiple = isMultiple; >+ this.isOptional = isOptional; >+ } >+ >+ public SPIRequiredCapability(String namespace, String name, VersionRange versionRange) { >+ this.namespace = namespace; >+ this.name = name; >+ this.versionRange = versionRange; >+ } >+ >+ public String getFilter() { >+ return this.filter; >+ } >+ >+ public String getName() { >+ return this.name; >+ } >+ >+ public String getNamespace() { >+ return this.namespace; >+ } >+ >+ public VersionRange getRange() { >+ return this.versionRange; >+ } >+ >+ public String[] getSelectors() { >+ return selectors; >+ } >+ >+ public boolean isGreedy() { >+ return isGreedy; >+ } >+ >+ public boolean isMultiple() { >+ return this.isMultiple; >+ } >+ >+ public boolean isOptional() { >+ return this.isOptional; >+ } >+ >+ public void setFilter(String filter) { >+ this.filter = filter; >+ } >+ >+ public void setSelectors(String[] selectors) { >+ this.selectors = selectors; >+ } >+ >+ public boolean equals(Object obj) { >+ if (this == obj) >+ return true; >+ if (obj == null) >+ return false; >+ if (!(obj instanceof IRequiredCapability)) >+ return false; >+ final IRequiredCapability other = (IRequiredCapability) obj; >+ if (filter == null) { >+ if (other.getFilter() != null) >+ return false; >+ } else if (!filter.equals(other.getFilter())) >+ return false; >+ if (isMultiple != other.isMultiple()) >+ return false; >+ if (!name.equals(other.getName())) >+ return false; >+ if (!namespace.equals(other.getNamespace())) >+ return false; >+ if (isOptional != other.isOptional()) >+ return false; >+ if (!versionRange.equals(other.getRange())) >+ return false; >+ return true; >+ } >+ >+ } >+ >+ class SPIProvidedCapability implements IProvidedCapability { >+ >+ String namespace = null; >+ String name = null; >+ Version version = null; >+ >+ public SPIProvidedCapability(String namespace, String name, Version version) { >+ this.namespace = namespace; >+ this.name = name; >+ this.version = version; >+ } >+ >+ public boolean equals(Object other) { >+ if (other == null) >+ return false; >+ if (!(other instanceof IProvidedCapability)) >+ return false; >+ IProvidedCapability otherCapability = (IProvidedCapability) other; >+ if (!(namespace.equals(otherCapability.getNamespace()))) >+ return false; >+ if (!(name.equals(otherCapability.getName()))) >+ return false; >+ return true; >+ } >+ >+ public String getName() { >+ return this.name; >+ } >+ >+ public String getNamespace() { >+ return this.namespace; >+ } >+ >+ public Version getVersion() { >+ return this.version; >+ } >+ >+ public boolean satisfies(IRequiredCapability candidate) { >+ return false; >+ } >+ >+ } >+ >+ class SPIInstallableUnit implements IInstallableUnit { >+ >+ List artifacts = new ArrayList(); >+ List fragments = new ArrayList(); >+ List requiredCapabilities = new ArrayList(); >+ List providedCapabilities = new ArrayList(); >+ List touchpointData = new ArrayList(); >+ ICopyright copyright = null; >+ String filter = null; >+ String id = null; >+ ILicense license = null; >+ Map properties = new HashMap(); >+ ITouchpointType touchpointType = null; >+ IUpdateDescriptor updateDescriptor = null; >+ Version version = null; >+ boolean isFragment; >+ boolean isResolved; >+ boolean isSingleton; >+ >+ public SPIInstallableUnit(String id, Version version) { >+ this.id = id; >+ this.version = version; >+ } >+ >+ public void addProvidedCapability(IProvidedCapability providedCapability) { >+ this.providedCapabilities.add(providedCapability); >+ } >+ >+ public IArtifactKey[] getArtifacts() { >+ return (IArtifactKey[]) this.artifacts.toArray(new IArtifactKey[artifacts.size()]); >+ } >+ >+ public ICopyright getCopyright() { >+ return this.copyright; >+ } >+ >+ public String getFilter() { >+ return this.filter; >+ } >+ >+ public IInstallableUnitFragment[] getFragments() { >+ return (IInstallableUnitFragment[]) this.fragments.toArray(new IInstallableUnitFragment[fragments.size()]); >+ } >+ >+ public String getId() { >+ return this.id; >+ } >+ >+ public ILicense getLicense() { >+ return this.license; >+ } >+ >+ public Map getProperties() { >+ return this.properties; >+ } >+ >+ public String getProperty(String key) { >+ return (String) this.properties.get(key); >+ } >+ >+ public IProvidedCapability[] getProvidedCapabilities() { >+ return (IProvidedCapability[]) this.providedCapabilities.toArray(new IProvidedCapability[profilesToRemove.size()]); >+ } >+ >+ public IRequiredCapability[] getRequiredCapabilities() { >+ return (IRequiredCapability[]) this.requiredCapabilities.toArray(new IRequiredCapability[requiredCapabilities.size()]); >+ } >+ >+ public ITouchpointData[] getTouchpointData() { >+ return (ITouchpointData[]) this.touchpointData.toArray(new ITouchpointData[touchpointData.size()]); >+ } >+ >+ public ITouchpointType getTouchpointType() { >+ if (this.touchpointType == null) >+ return ITouchpointType.NONE; >+ return this.touchpointType; >+ } >+ >+ public IUpdateDescriptor getUpdateDescriptor() { >+ return this.updateDescriptor; >+ } >+ >+ public Version getVersion() { >+ return this.version; >+ } >+ >+ public boolean isFragment() { >+ return this.isFragment; >+ } >+ >+ public boolean isResolved() { >+ return this.isResolved; >+ } >+ >+ public boolean isSingleton() { >+ return this.isSingleton; >+ } >+ >+ public boolean satisfies(IRequiredCapability candidate) { >+ IProvidedCapability[] provides = getProvidedCapabilities(); >+ for (int i = 0; i < provides.length; i++) >+ if (provides[i].satisfies(candidate)) >+ return true; >+ return false; >+ } >+ >+ public IInstallableUnit unresolved() { >+ return this; >+ } >+ >+ public int compareTo(Object toCompareTo) { >+ if (!(toCompareTo instanceof IInstallableUnit)) { >+ return -1; >+ } >+ IInstallableUnit other = (IInstallableUnit) toCompareTo; >+ if (getId().compareTo(other.getId()) == 0) >+ return (getVersion().compareTo(other.getVersion())); >+ return getId().compareTo(other.getId()); >+ } >+ >+ } >+ >+ class SPITouchpointData implements ITouchpointData { >+ >+ Map instructions = new HashMap(); >+ >+ public ITouchpointInstruction getInstruction(String instructionKey) { >+ return (ITouchpointInstruction) instructions.get(instructionKey); >+ } >+ >+ public void addInstruction(String instructionKey, ITouchpointInstruction instruction) { >+ this.instructions.put(instructionKey, instruction); >+ } >+ >+ public Map getInstructions() { >+ return this.instructions; >+ } >+ >+ public boolean equals(Object obj) { >+ if (this == obj) >+ return true; >+ if (obj == null) >+ return false; >+ if (!(obj instanceof ITouchpointData)) >+ return false; >+ final ITouchpointData other = (ITouchpointData) obj; >+ if (instructions == null) { >+ if (other.getInstructions() != null) >+ return false; >+ } else if (!instructions.equals(other.getInstructions())) >+ return false; >+ return true; >+ } >+ } >+ >+ class SPITouchpointInstruction implements ITouchpointInstruction { >+ >+ private String body; >+ private String importAttribute; >+ >+ public SPITouchpointInstruction(String body, String importAttribute) { >+ this.body = body; >+ this.importAttribute = importAttribute; >+ } >+ >+ public String getBody() { >+ return this.body; >+ } >+ >+ public String getImportAttribute() { >+ return this.importAttribute; >+ } >+ >+ public boolean equals(Object obj) { >+ if (this == obj) >+ return true; >+ if (obj == null) >+ return false; >+ if (!(obj instanceof ITouchpointInstruction)) >+ return false; >+ ITouchpointInstruction other = (ITouchpointInstruction) obj; >+ if (body == null) { >+ if (other.getBody() != null) >+ return false; >+ } else if (!body.equals(other.getBody())) >+ return false; >+ if (importAttribute == null) { >+ if (other.getImportAttribute() != null) >+ return false; >+ } else if (!importAttribute.equals(other.getImportAttribute())) >+ return false; >+ return true; >+ } >+ } >+ >+ class SPITouchpointType implements ITouchpointType { >+ >+ private String id; >+ private Version version; >+ >+ public SPITouchpointType(String id, Version version) { >+ this.id = id; >+ this.version = version; >+ } >+ >+ public String getId() { >+ return this.id; >+ } >+ >+ public Version getVersion() { >+ return this.version; >+ } >+ >+ public boolean equals(Object obj) { >+ if (this == obj) >+ return true; >+ if (super.equals(obj)) >+ return true; >+ if (obj == null || !(obj instanceof ITouchpointType)) >+ return false; >+ ITouchpointType other = (ITouchpointType) obj; >+ return id.equals(other.getId()) && version.equals(other.getVersion()); >+ } >+ } >+ >+ class SPIRequirementChange implements IRequirementChange { >+ >+ private IRequiredCapability applyOn; >+ private IRequiredCapability newValue; >+ >+ public SPIRequirementChange(IRequiredCapability applyOn2, IRequiredCapability newValue2) { >+ if (applyOn2 == null && newValue2 == null) >+ throw new IllegalArgumentException(); >+ this.applyOn = applyOn2; >+ this.newValue = newValue2; >+ } >+ >+ public IRequiredCapability applyOn() { >+ return applyOn; >+ } >+ >+ public IRequiredCapability newValue() { >+ return newValue; >+ } >+ >+ public boolean matches(IRequiredCapability toMatch) { >+ if (!toMatch.getNamespace().equals(applyOn.getNamespace())) >+ return false; >+ if (!toMatch.getName().equals(applyOn.getName())) >+ return false; >+ if (toMatch.getRange().equals(applyOn.getRange())) >+ return true; >+ >+ return intersect(toMatch.getRange(), applyOn.getRange()) == null ? false : true; >+ } >+ >+ private VersionRange intersect(VersionRange r1, VersionRange r2) { >+ Version resultMin = null; >+ boolean resultMinIncluded = false; >+ Version resultMax = null; >+ boolean resultMaxIncluded = false; >+ >+ int minCompare = r1.getMinimum().compareTo(r2.getMinimum()); >+ if (minCompare < 0) { >+ resultMin = r2.getMinimum(); >+ resultMinIncluded = r2.getIncludeMinimum(); >+ } else if (minCompare > 0) { >+ resultMin = r1.getMinimum(); >+ resultMinIncluded = r1.getIncludeMinimum(); >+ } else if (minCompare == 0) { >+ resultMin = r1.getMinimum(); >+ resultMinIncluded = r1.getIncludeMinimum() && r2.getIncludeMinimum(); >+ } >+ >+ int maxCompare = r1.getMaximum().compareTo(r2.getMaximum()); >+ if (maxCompare > 0) { >+ resultMax = r2.getMaximum(); >+ resultMaxIncluded = r2.getIncludeMaximum(); >+ } else if (maxCompare < 0) { >+ resultMax = r1.getMaximum(); >+ resultMaxIncluded = r1.getIncludeMaximum(); >+ } else if (maxCompare == 0) { >+ resultMax = r1.getMaximum(); >+ resultMaxIncluded = r1.getIncludeMaximum() && r2.getIncludeMaximum(); >+ } >+ >+ int resultRangeComparison = resultMin.compareTo(resultMax); >+ if (resultRangeComparison < 0) >+ return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded); >+ else if (resultRangeComparison == 0 && resultMinIncluded == resultMaxIncluded) >+ return new VersionRange(resultMin, resultMinIncluded, resultMax, resultMaxIncluded); >+ else >+ return null; >+ } >+ >+ public int hashCode() { >+ final int prime = 31; >+ int result = 1; >+ result = prime * result + ((applyOn == null) ? 0 : applyOn.hashCode()); >+ result = prime * result + ((newValue == null) ? 0 : newValue.hashCode()); >+ return result; >+ } >+ >+ public boolean equals(Object obj) { >+ if (this == obj) >+ return true; >+ if (obj == null) >+ return false; >+ if (!(obj instanceof IRequirementChange)) >+ return false; >+ final IRequirementChange other = (IRequirementChange) obj; >+ if (applyOn == null) { >+ if (other.applyOn() != null) >+ return false; >+ } else if (!applyOn.equals(other.applyOn())) >+ return false; >+ if (newValue == null) { >+ if (other.newValue() != null) >+ return false; >+ } else if (!newValue.equals(other.newValue())) >+ return false; >+ return true; >+ } >+ >+ public String toString() { >+ return applyOn + " --> " + newValue; //$NON-NLS-1$ >+ } >+ >+ } >+ >+ class SPILicense implements ILicense { >+ >+ private String body; >+ private URI location; >+ >+ public SPILicense(String body, URI location) { >+ this.body = body; >+ this.location = location; >+ } >+ >+ public String getBody() { >+ return this.body; >+ } >+ >+ public BigInteger getDigest() { >+ return this.calculateLicenseDigest(); >+ } >+ >+ public URI getLocation() { >+ return this.location; >+ } >+ >+ public boolean equals(Object obj) { >+ if (obj == this) >+ return true; >+ if (obj == null) >+ return false; >+ if (obj instanceof ILicense) { >+ ILicense other = (ILicense) obj; >+ if (other.getDigest().equals(getDigest())) >+ return true; >+ } >+ return false; >+ } >+ >+ private BigInteger calculateLicenseDigest() { >+ String message = normalize(getBody()); >+ try { >+ MessageDigest algorithm = MessageDigest.getInstance("MD5"); //$NON-NLS-1$ >+ algorithm.reset(); >+ algorithm.update(message.getBytes("UTF-8")); //$NON-NLS-1$ >+ byte[] digestBytes = algorithm.digest(); >+ return new BigInteger(1, digestBytes); >+ } catch (NoSuchAlgorithmException e) { >+ throw new RuntimeException(e); >+ } catch (UnsupportedEncodingException e) { >+ throw new RuntimeException(e); >+ } >+ } >+ >+ private String normalize(String license) { >+ String text = license.trim(); >+ StringBuffer result = new StringBuffer(); >+ int length = text.length(); >+ for (int i = 0; i < length; i++) { >+ char c = text.charAt(i); >+ boolean foundWhitespace = false; >+ while (Character.isWhitespace(c) && i < length) { >+ foundWhitespace = true; >+ c = text.charAt(++i); >+ } >+ if (foundWhitespace) >+ result.append(' '); >+ if (i < length) >+ result.append(c); >+ } >+ return result.toString(); >+ } >+ >+ } >+ >+ class AllAcceptingQuery extends Query { >+ public boolean isMatch(Object candidate) { >+ return true; >+ } >+ } >+ >+ /** >+ * This test cases creates an SPI implementation of an IU and writes it to a repository. >+ * If the repository is Cached, it reads back the SPI implementation. If the repository is >+ * not cached, it reads back the default (InstallableUnit) implementation. >+ * >+ * @throws ProvisionException >+ */ >+ public void testSPIMetadataIU() throws ProvisionException { >+ IMetadataRepositoryManager manager = getMetadataRepositoryManager(); >+ Map properties = new HashMap(); >+ properties.put(IRepository.PROP_COMPRESSED, "true"); >+ IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties); >+ >+ repo.addInstallableUnits(new IInstallableUnit[] {new SPIInstallableUnit("foo", new Version(1, 1, 1))}); >+ >+ Collector collector = repo.query(new AllAcceptingQuery(), new Collector(), new NullProgressMonitor()); >+ >+ Collection collection = collector.toCollection(); >+ assertEquals(1, collection.size()); >+ >+ assertTrue("Repo contains SPI IU)", collection.iterator().next() instanceof SPIInstallableUnit); >+ >+ repo = manager.refreshRepository(repoLocation.toURI(), null); >+ collector = repo.query(new AllAcceptingQuery(), new Collector(), new NullProgressMonitor()); >+ >+ collection = collector.toCollection(); >+ assertEquals(1, collection.size()); >+ >+ assertTrue("Refreshed repo contains default IU", collection.iterator().next() instanceof InstallableUnit); >+ } >+ >+ /** >+ * This test cases creates an SPI IU and adds a default provided capability. It ensures that >+ * you can write this type of repository and read it back again. If you read it back, and it is cached, >+ * you get the SPI IU, otherwise you get the default (InstallableUnit) IU. >+ * >+ * @throws ProvisionException >+ */ >+ public void testProvidedCapabilitywithSPI_IU() throws ProvisionException { >+ IMetadataRepositoryManager manager = getMetadataRepositoryManager(); >+ Map properties = new HashMap(); >+ properties.put(IRepository.PROP_COMPRESSED, "true"); >+ >+ IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties); >+ IProvidedCapability providedCapability = MetadataFactory.createProvidedCapability("foo", "bar", new Version(1, 0, 0)); >+ >+ SPIInstallableUnit spiInstallableUnit = new SPIInstallableUnit("foo", new Version(1, 1, 1)); >+ spiInstallableUnit.addProvidedCapability(providedCapability); >+ repo.addInstallableUnits(new IInstallableUnit[] {spiInstallableUnit}); >+ >+ Collector collector = repo.query(new AllAcceptingQuery(), new Collector(), new NullProgressMonitor()); >+ >+ Collection collection = collector.toCollection(); >+ assertEquals(1, collection.size()); >+ >+ IInstallableUnit spiUnit = (IInstallableUnit) collection.iterator().next(); >+ assertTrue("Repo contains SPI IU)", spiUnit instanceof SPIInstallableUnit); >+ assertEquals(spiUnit.getProvidedCapabilities().length, 1); >+ assertTrue(spiUnit.getProvidedCapabilities()[0] instanceof ProvidedCapability); >+ >+ repo = manager.refreshRepository(repoLocation.toURI(), null); >+ collector = repo.query(new AllAcceptingQuery(), new Collector(), new NullProgressMonitor()); >+ >+ collection = collector.toCollection(); >+ assertEquals(1, collection.size()); >+ >+ IInstallableUnit defaultUnit = (IInstallableUnit) collection.iterator().next(); >+ assertTrue("Repo contains SPI IU)", defaultUnit instanceof InstallableUnit); >+ assertEquals(spiUnit.getProvidedCapabilities().length, 1); >+ assertTrue(spiUnit.getProvidedCapabilities()[0] instanceof ProvidedCapability); >+ } >+ >+ /** >+ * This test cases creates an IU and adds an SPI required capability. It ensures that >+ * you can write this type of repository and read it back again. If you read it back, and it is cached, >+ * you get the SPI Required Capability, otherwise you get the default RequiredCapability. >+ * >+ * @throws ProvisionException >+ */ >+ public void testSPIRequiredCapability() throws ProvisionException { >+ IMetadataRepositoryManager manager = getMetadataRepositoryManager(); >+ Map properties = new HashMap(); >+ properties.put(IRepository.PROP_COMPRESSED, "true"); >+ >+ IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties); >+ InstallableUnitDescription iuDescription = new InstallableUnitDescription(); >+ iuDescription.setId("foo"); >+ iuDescription.setVersion(new Version(1, 1, 1)); >+ IRequiredCapability spiRequiredCapability = new SPIRequiredCapability("com.example", "bar", new VersionRange(new Version(1, 0, 0), true, new Version(2, 0, 0), true)); >+ Collection list = new ArrayList(); >+ list.add(spiRequiredCapability); >+ iuDescription.addRequiredCapabilities(list); >+ >+ repo.addInstallableUnits(new IInstallableUnit[] {MetadataFactory.createInstallableUnit(iuDescription)}); >+ >+ Collector collector = repo.query(new AllAcceptingQuery(), new Collector(), new NullProgressMonitor()); >+ >+ Collection collection = collector.toCollection(); >+ assertEquals(1, collection.size()); >+ >+ IInstallableUnit unit = (IInstallableUnit) collection.iterator().next(); >+ assertEquals(unit.getRequiredCapabilities().length, 1); >+ assertTrue(unit.getRequiredCapabilities()[0] instanceof SPIRequiredCapability); >+ >+ repo = manager.refreshRepository(repoLocation.toURI(), null); >+ collector = repo.query(new AllAcceptingQuery(), new Collector(), new NullProgressMonitor()); >+ >+ collection = collector.toCollection(); >+ assertEquals(1, collection.size()); >+ >+ unit = (IInstallableUnit) collection.iterator().next(); >+ assertEquals(unit.getRequiredCapabilities().length, 1); >+ assertTrue(unit.getRequiredCapabilities()[0] instanceof RequiredCapability); >+ assertTrue(unit.getRequiredCapabilities()[0].getName().equals("bar")); >+ } >+ >+ /** >+ * This tests the .equals method in many of the metadata classes. This test >+ * case ensures that an SPI implementation .equals() the default one. >+ * @throws ProvisionException >+ */ >+ public void testSPIEquals() throws ProvisionException, URISyntaxException { >+ IMetadataRepositoryManager manager = getMetadataRepositoryManager(); >+ Map properties = new HashMap(); >+ properties.put(IRepository.PROP_COMPRESSED, "true"); >+ >+ IMetadataRepository repo = manager.createRepository(repoLocation.toURI(), "TestRepo", IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, properties); >+ InstallableUnitDescription iuDescription = new InstallableUnitDescription(); >+ InstallableUnitPatchDescription iuPatchDescription = new InstallableUnitPatchDescription(); >+ iuDescription.setId("foo"); >+ iuDescription.setVersion(new Version(1, 1, 1)); >+ >+ SPIRequiredCapability spiRequiredCapability1 = new SPIRequiredCapability("com.example", "bar", new VersionRange(new Version(1, 0, 0), true, new Version(2, 0, 0), true), "bar", new String[] {"foo", "bar"}, true, true, true); >+ IRequiredCapability requiredCapability1 = MetadataFactory.createRequiredCapability("com.example2", "foo", new VersionRange(new Version(1, 0, 0), true, new Version(2, 0, 0), true), "bar", false, false, false); >+ >+ SPIRequirementChange spiRequirementChange = new SPIRequirementChange(spiRequiredCapability1, requiredCapability1); >+ iuPatchDescription.setRequirementChanges(new IRequirementChange[] {spiRequirementChange}); >+ >+ IRequiredCapability spiRequiredCapability = new SPIRequiredCapability("com.example", "bar", new VersionRange(new Version(1, 0, 0), true, new Version(2, 0, 0), true), "bar", new String[] {"foo", "bar"}, true, true, true); >+ IProvidedCapability spiProvidedCapability = new SPIProvidedCapability("bar", "foo", new Version(1, 1, 1)); >+ >+ ITouchpointData spiTouchpointData = new SPITouchpointData(); >+ ITouchpointInstruction spiTouchpointInstruction = new SPITouchpointInstruction("the body", "the import attribute"); >+ ((SPITouchpointData) spiTouchpointData).addInstruction("foo", spiTouchpointInstruction); >+ iuDescription.addTouchpointData(spiTouchpointData); >+ >+ SPILicense spiLicense = new SPILicense("body", new URI("http://example.com")); >+ iuDescription.setLicense(spiLicense); >+ >+ SPITouchpointType spiTouchpointType = new SPITouchpointType("foo", new Version(3, 3, 3)); >+ iuDescription.setTouchpointType(spiTouchpointType); >+ >+ Collection requiredCapabilityList = new ArrayList(); >+ requiredCapabilityList.add(spiRequiredCapability); >+ iuDescription.addRequiredCapabilities(requiredCapabilityList); >+ >+ Collection providedCapabilityList = new ArrayList(); >+ providedCapabilityList.add(spiProvidedCapability); >+ iuDescription.addProvidedCapabilities(providedCapabilityList); >+ >+ repo.addInstallableUnits(new IInstallableUnit[] {MetadataFactory.createInstallableUnit(iuDescription), MetadataFactory.createInstallableUnitPatch(iuPatchDescription)}); >+ >+ repo = manager.refreshRepository(repoLocation.toURI(), null); >+ Collector collector = repo.query(new AllAcceptingQuery(), new Collector(), new NullProgressMonitor()); >+ >+ Collection collection = collector.toCollection(); >+ assertEquals(2, collection.size()); >+ Iterator iterator = collection.iterator(); >+ >+ IInstallableUnit unit = (IInstallableUnit) iterator.next(); >+ IInstallableUnitPatch patchUnit = (IInstallableUnitPatch) iterator.next(); >+ while (iterator.hasNext()) { >+ Object o = iterator.next(); >+ if (o instanceof IInstallableUnitPatch) { >+ patchUnit = (IInstallableUnitPatch) o; >+ } else if (o instanceof IInstallableUnit) { >+ unit = (IInstallableUnit) o; >+ } >+ } >+ assertFalse(unit == null); >+ assertFalse(patchUnit == null); >+ >+ assertEquals(unit.getRequiredCapabilities().length, 1); >+ assertEquals(unit.getProvidedCapabilities().length, 1); >+ assertEquals(unit.getTouchpointData().length, 1); >+ assertEquals(unit.getRequiredCapabilities()[0], spiRequiredCapability); >+ assertEquals(unit.getProvidedCapabilities()[0], spiProvidedCapability); >+ assertEquals(unit.getTouchpointData()[0], spiTouchpointData); >+ assertEquals(unit.getTouchpointType(), spiTouchpointType); >+ assertEquals(unit.getLicense(), spiLicense); >+ assertEquals(spiRequiredCapability, unit.getRequiredCapabilities()[0]); >+ assertEquals(spiProvidedCapability, unit.getProvidedCapabilities()[0]); >+ assertEquals(spiTouchpointData, unit.getTouchpointData()[0]); >+ assertEquals(spiTouchpointType, unit.getTouchpointType()); >+ assertEquals(spiLicense, unit.getLicense()); >+ >+ assertEquals(patchUnit.getRequirementsChange().length, 1); >+ assertEquals(patchUnit.getRequirementsChange()[0], spiRequirementChange); >+ assertEquals(spiRequirementChange, patchUnit.getRequirementsChange()[0]); >+ >+ // Check to make sure the actual objects are not equal. This is because the repo has >+ // been refreshed, and re-parsed, thus using the default implementations. >+ assertFalse(spiTouchpointData == unit.getTouchpointData()[0]); >+ assertFalse(spiRequiredCapability == unit.getRequiredCapabilities()[0]); >+ assertFalse(spiProvidedCapability == unit.getProvidedCapabilities()[0]); >+ assertFalse(spiTouchpointType == unit.getTouchpointType()); >+ assertFalse(spiLicense == unit.getLicense()); >+ } >+} >#P org.eclipse.equinox.p2.metadata >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java,v >retrieving revision 1.3 >diff -u -r1.3 IInstallableUnitPatch.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java 14 Aug 2008 19:45:09 -0000 1.3 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitPatch.java 24 Dec 2008 17:31:41 -0000 >@@ -25,13 +25,13 @@ > * a scope of [[r1, r2, r3], [r4, r5]] will match any unit whose provided capabilities > * satisfy the expression ((r1 ^ r2 ^ r3) | (r4 ^ r5)). > */ >- RequiredCapability[][] getApplicabilityScope(); >+ IRequiredCapability[][] getApplicabilityScope(); > > /** > * Returns the requirement changes imposed by the patch. > * @return The patch requirement changes. > */ >- RequirementChange[] getRequirementsChange(); >+ IRequirementChange[] getRequirementsChange(); > > /** > * Returns the required capability that defines the lifecycle of this patch. The >@@ -39,5 +39,5 @@ > * is satisfied by some IU in the profile. If a future provisioning operation causes > * the requirement to no longer be satisfied, the patch will be uninstalled. > */ >- RequiredCapability getLifeCycle(); >+ IRequiredCapability getLifeCycle(); > } >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java,v >retrieving revision 1.5 >diff -u -r1.5 TouchpointType.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java 22 Dec 2008 15:30:47 -0000 1.5 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointType.java 24 Dec 2008 17:31:43 -0000 >@@ -16,13 +16,7 @@ > * Identifies a particular touchpoint. A touchpoint is identified by an id > * and a version. > */ >-public class TouchpointType { >- /** >- * A touchpoint type indicating that the "null" touchpoint should be used. >- * The null touchpoint does not participate in any install phase. >- */ >- public static final TouchpointType NONE = new TouchpointType("null", Version.emptyVersion); //$NON-NLS-1$ >- >+public class TouchpointType implements ITouchpointType { > private String id;//never null > private Version version;//never null > >@@ -36,10 +30,10 @@ > return true; > if (super.equals(obj)) > return true; >- if (getClass() != obj.getClass()) >+ if (obj == null || !(obj instanceof ITouchpointType)) > return false; >- TouchpointType other = (TouchpointType) obj; >- return id.equals(other.id) && version.equals(other.version); >+ ITouchpointType other = (ITouchpointType) obj; >+ return id.equals(other.getId()) && version.equals(other.getVersion()); > } > > public String getId() { >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java,v >retrieving revision 1.9 >diff -u -r1.9 RequiredCapability.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java 22 Dec 2008 15:30:47 -0000 1.9 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/RequiredCapability.java 24 Dec 2008 17:31:42 -0000 >@@ -24,7 +24,7 @@ > * > * @see IInstallableUnit#NAMESPACE_IU_ID > */ >-public class RequiredCapability { >+public class RequiredCapability implements IRequiredCapability { > private static final String[] NO_SELECTORS = new String[0]; > > private String filter; >@@ -60,23 +60,23 @@ > return true; > if (obj == null) > return false; >- if (getClass() != obj.getClass()) >+ if (!(obj instanceof IRequiredCapability)) > return false; >- final RequiredCapability other = (RequiredCapability) obj; >+ final IRequiredCapability other = (IRequiredCapability) obj; > if (filter == null) { >- if (other.filter != null) >+ if (other.getFilter() != null) > return false; >- } else if (!filter.equals(other.filter)) >+ } else if (!filter.equals(other.getFilter())) > return false; >- if (multiple != other.multiple) >+ if (multiple != other.isMultiple()) > return false; >- if (!name.equals(other.name)) >+ if (!name.equals(other.getName())) > return false; >- if (!namespace.equals(other.namespace)) >+ if (!namespace.equals(other.getNamespace())) > return false; >- if (optional != other.optional) >+ if (optional != other.isOptional()) > return false; >- if (!range.equals(other.range)) >+ if (!range.equals(other.getRange())) > return false; > return true; > } >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java,v >retrieving revision 1.7 >diff -u -r1.7 RequirementChange.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java 22 Dec 2008 15:30:47 -0000 1.7 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/RequirementChange.java 24 Dec 2008 17:31:42 -0000 >@@ -8,29 +8,29 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.metadata; > >-import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >+import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > >-public class RequirementChange { >- private RequiredCapability applyOn; >- private RequiredCapability newValue; >+public class RequirementChange implements IRequirementChange { >+ private IRequiredCapability applyOn; >+ private IRequiredCapability newValue; > >- public RequirementChange(RequiredCapability applyOn2, RequiredCapability newValue2) { >+ public RequirementChange(IRequiredCapability applyOn2, IRequiredCapability newValue2) { > if (applyOn2 == null && newValue2 == null) > throw new IllegalArgumentException(); > this.applyOn = applyOn2; > this.newValue = newValue2; > } > >- public RequiredCapability applyOn() { >+ public IRequiredCapability applyOn() { > return applyOn; > } > >- public RequiredCapability newValue() { >+ public IRequiredCapability newValue() { > return newValue; > } > >- public boolean matches(RequiredCapability toMatch) { >+ public boolean matches(IRequiredCapability toMatch) { > if (!toMatch.getNamespace().equals(applyOn.getNamespace())) > return false; > if (!toMatch.getName().equals(applyOn.getName())) >@@ -93,18 +93,18 @@ > return true; > if (obj == null) > return false; >- if (getClass() != obj.getClass()) >+ if (!(obj instanceof IRequirementChange)) > return false; >- final RequirementChange other = (RequirementChange) obj; >+ final IRequirementChange other = (IRequirementChange) obj; > if (applyOn == null) { >- if (other.applyOn != null) >+ if (other.applyOn() != null) > return false; >- } else if (!applyOn.equals(other.applyOn)) >+ } else if (!applyOn.equals(other.applyOn())) > return false; > if (newValue == null) { >- if (other.newValue != null) >+ if (other.newValue() != null) > return false; >- } else if (!newValue.equals(other.newValue)) >+ } else if (!newValue.equals(other.newValue())) > return false; > return true; > } >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java,v >retrieving revision 1.3 >diff -u -r1.3 License.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java 10 Oct 2008 19:58:45 -0000 1.3 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/License.java 24 Dec 2008 17:31:41 -0000 >@@ -21,7 +21,7 @@ > * which may be the full text or an annotation. An optional URL field can be specified > * which links to full text. Licenses can be easily compared using their digests. > */ >-public class License { >+public class License implements ILicense { > /** > * The <code>body</code> contains the descriptive text for the license. This may > * be a summary for a full license specified in a URL. >@@ -90,8 +90,8 @@ > return true; > if (obj == null) > return false; >- if (obj instanceof License) { >- License other = (License) obj; >+ if (obj instanceof ILicense) { >+ ILicense other = (ILicense) obj; > if (other.getDigest().equals(getDigest())) > return true; > } >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointInstruction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointInstruction.java,v >retrieving revision 1.5 >diff -u -r1.5 TouchpointInstruction.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointInstruction.java 7 Nov 2008 16:35:52 -0000 1.5 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointInstruction.java 24 Dec 2008 17:31:43 -0000 >@@ -48,7 +48,7 @@ > * @noextend This class is not intended to be subclassed by clients. > * @see MetadataFactory#createTouchpointInstruction(String, String) > */ >-public class TouchpointInstruction { >+public class TouchpointInstruction implements ITouchpointInstruction { > > private final String body; > private final String importAttribute; >@@ -112,18 +112,18 @@ > return true; > if (obj == null) > return false; >- if (getClass() != obj.getClass()) >+ if (!(obj instanceof ITouchpointInstruction)) > return false; >- TouchpointInstruction other = (TouchpointInstruction) obj; >+ ITouchpointInstruction other = (ITouchpointInstruction) obj; > if (body == null) { >- if (other.body != null) >+ if (other.getBody() != null) > return false; >- } else if (!body.equals(other.body)) >+ } else if (!body.equals(other.getBody())) > return false; > if (importAttribute == null) { >- if (other.importAttribute != null) >+ if (other.getImportAttribute() != null) > return false; >- } else if (!importAttribute.equals(other.importAttribute)) >+ } else if (!importAttribute.equals(other.getImportAttribute())) > return false; > return true; > } >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java,v >retrieving revision 1.18 >diff -u -r1.18 MetadataFactory.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java 22 Dec 2008 15:30:47 -0000 1.18 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/MetadataFactory.java 24 Dec 2008 17:31:42 -0000 >@@ -15,8 +15,8 @@ > import java.util.Map.Entry; > import org.eclipse.core.runtime.Assert; > import org.eclipse.equinox.internal.p2.metadata.*; >-import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >+import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > > /** > * A factory class for instantiating various p2 metadata objects. >@@ -32,28 +32,28 @@ > public void addProvidedCapabilities(Collection additional) { > if (additional == null || additional.size() == 0) > return; >- ProvidedCapability[] current = unit().getProvidedCapabilities(); >- ProvidedCapability[] result = new ProvidedCapability[additional.size() + current.length]; >+ IProvidedCapability[] current = unit().getProvidedCapabilities(); >+ IProvidedCapability[] result = new IProvidedCapability[additional.size() + current.length]; > System.arraycopy(current, 0, result, 0, current.length); > int j = current.length; > for (Iterator i = additional.iterator(); i.hasNext();) >- result[j++] = (ProvidedCapability) i.next(); >+ result[j++] = (IProvidedCapability) i.next(); > unit().setCapabilities(result); > } > > public void addRequiredCapabilities(Collection additional) { > if (additional == null || additional.size() == 0) > return; >- RequiredCapability[] current = unit().getRequiredCapabilities(); >- RequiredCapability[] result = new RequiredCapability[additional.size() + current.length]; >+ IRequiredCapability[] current = unit().getRequiredCapabilities(); >+ IRequiredCapability[] result = new IRequiredCapability[additional.size() + current.length]; > System.arraycopy(current, 0, result, 0, current.length); > int j = current.length; > for (Iterator i = additional.iterator(); i.hasNext();) >- result[j++] = (RequiredCapability) i.next(); >+ result[j++] = (IRequiredCapability) i.next(); > unit().setRequiredCapabilities(result); > } > >- public void addTouchpointData(TouchpointData data) { >+ public void addTouchpointData(ITouchpointData data) { > Assert.isNotNull(data); > unit().addTouchpointData(data); > } >@@ -62,11 +62,11 @@ > return unit().getId(); > } > >- public ProvidedCapability[] getProvidedCapabilities() { >+ public IProvidedCapability[] getProvidedCapabilities() { > return unit().getProvidedCapabilities(); > } > >- public RequiredCapability[] getRequiredCapabilities() { >+ public IRequiredCapability[] getRequiredCapabilities() { > return unit().getRequiredCapabilities(); > } > >@@ -76,7 +76,7 @@ > * > * @return The current touchpoint data on this description > */ >- public TouchpointData[] getTouchpointData() { >+ public ITouchpointData[] getTouchpointData() { > return unit().getTouchpointData(); > > } >@@ -89,11 +89,11 @@ > unit().setArtifacts(value); > } > >- public void setCapabilities(ProvidedCapability[] exportedCapabilities) { >+ public void setCapabilities(IProvidedCapability[] exportedCapabilities) { > unit().setCapabilities(exportedCapabilities); > } > >- public void setCopyright(Copyright copyright) { >+ public void setCopyright(ICopyright copyright) { > unit().setCopyright(copyright); > } > >@@ -105,7 +105,7 @@ > unit().setId(id); > } > >- public void setLicense(License license) { >+ public void setLicense(ILicense license) { > unit().setLicense(license); > } > >@@ -113,7 +113,7 @@ > unit().setProperty(key, value); > } > >- public void setRequiredCapabilities(RequiredCapability[] capabilities) { >+ public void setRequiredCapabilities(IRequiredCapability[] capabilities) { > unit().setRequiredCapabilities(capabilities); > } > >@@ -121,7 +121,7 @@ > unit().setSingleton(singleton); > } > >- public void setTouchpointType(TouchpointType type) { >+ public void setTouchpointType(ITouchpointType type) { > unit().setTouchpointType(type); > } > >@@ -149,7 +149,7 @@ > } > > public static class InstallableUnitFragmentDescription extends InstallableUnitDescription { >- public void setHost(RequiredCapability[] hostRequirements) { >+ public void setHost(IRequiredCapability[] hostRequirements) { > ((InstallableUnitFragment) unit()).setHost(hostRequirements); > } > >@@ -162,24 +162,24 @@ > > public static class InstallableUnitPatchDescription extends InstallableUnitDescription { > >- public void setApplicabilityScope(RequiredCapability[][] applyTo) { >+ public void setApplicabilityScope(IRequiredCapability[][] applyTo) { > if (applyTo == null) > throw new IllegalArgumentException("A patch scope can not be null"); //$NON-NLS-1$ > ((InstallableUnitPatch) unit()).setApplicabilityScope(applyTo); > } > >- public void setLifeCycle(RequiredCapability lifeCycle) { >+ public void setLifeCycle(IRequiredCapability lifeCycle) { > ((InstallableUnitPatch) unit()).setLifeCycle(lifeCycle); > } > >- public void setRequirementChanges(RequirementChange[] changes) { >+ public void setRequirementChanges(IRequirementChange[] changes) { > ((InstallableUnitPatch) unit()).setRequirementsChange(changes); > } > > InstallableUnit unit() { > if (unit == null) { > unit = new InstallableUnitPatch(); >- ((InstallableUnitPatch) unit()).setApplicabilityScope(new RequiredCapability[0][0]); >+ ((InstallableUnitPatch) unit()).setApplicabilityScope(new IRequiredCapability[0][0]); > } > return unit; > } >@@ -188,9 +188,9 @@ > /** > * Singleton touchpoint data for a touchpoint with no instructions. > */ >- private static final TouchpointData EMPTY_TOUCHPOINT_DATA = new TouchpointData(Collections.EMPTY_MAP); >+ private static final ITouchpointData EMPTY_TOUCHPOINT_DATA = new TouchpointData(Collections.EMPTY_MAP); > >- private static TouchpointType[] typeCache = new TouchpointType[5]; >+ private static ITouchpointType[] typeCache = new ITouchpointType[5]; > > private static int typeCacheOffset; > >@@ -234,18 +234,18 @@ > } > > /** >- * Returns a {@link ProvidedCapability} with the given values. >+ * Returns a {@link IProvidedCapability} with the given values. > * > * @param namespace The capability namespace > * @param name The capability name > * @param version The capability version > */ >- public static ProvidedCapability createProvidedCapability(String namespace, String name, Version version) { >+ public static IProvidedCapability createProvidedCapability(String namespace, String name, Version version) { > return new ProvidedCapability(namespace, name, version); > } > > /** >- * Returns a {@link RequiredCapability} with the given values. >+ * Returns a {@link IRequiredCapability} with the given values. > * > * @param namespace The capability namespace > * @param name The required capability name >@@ -257,11 +257,11 @@ > * and <code>false</code> otherwise. > * @param multiple <code>true</code> if this capability can be satisfied by multiple provided capabilities, or it requires exactly one match > */ >- public static RequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) { >+ public static IRequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple) { > return new RequiredCapability(namespace, name, range, filter, optional, multiple); > } > >- public static RequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy) { >+ public static IRequiredCapability createRequiredCapability(String namespace, String name, VersionRange range, String filter, boolean optional, boolean multiple, boolean greedy) { > return new RequiredCapability(namespace, name, range, filter, optional, multiple, greedy); > } > >@@ -284,12 +284,12 @@ > } > > /** >- * Returns an instance of {@link TouchpointData} with the given instructions. >+ * Returns an instance of {@link ITouchpointData} with the given instructions. > * > * @param instructions The instructions for the touchpoint data. > * @return The created touchpoint data > */ >- public static TouchpointData createTouchpointData(Map instructions) { >+ public static ITouchpointData createTouchpointData(Map instructions) { > Assert.isNotNull(instructions); > //copy the map to protect against subsequent change by caller > if (instructions.isEmpty()) >@@ -307,7 +307,7 @@ > return new TouchpointData(result); > } > >- public static TouchpointInstruction createTouchpointInstruction(String body, String importAttribute) { >+ public static ITouchpointInstruction createTouchpointInstruction(String body, String importAttribute) { > return new TouchpointInstruction(body, importAttribute); > } > >@@ -318,15 +318,15 @@ > * @param version The touchpoint version > * @return A touchpoint type instance with the given id and version > */ >- public static TouchpointType createTouchpointType(String id, Version version) { >+ public static ITouchpointType createTouchpointType(String id, Version version) { > Assert.isNotNull(id); > Assert.isNotNull(version); > >- if (id.equals(TouchpointType.NONE.getId()) && version.equals(TouchpointType.NONE.getVersion())) >- return TouchpointType.NONE; >+ if (id.equals(ITouchpointType.NONE.getId()) && version.equals(ITouchpointType.NONE.getVersion())) >+ return ITouchpointType.NONE; > > synchronized (typeCache) { >- TouchpointType result = getCachedTouchpointType(id, version); >+ ITouchpointType result = getCachedTouchpointType(id, version); > if (result != null) > return result; > result = new TouchpointType(id, version); >@@ -339,7 +339,7 @@ > return new UpdateDescriptor(id, range, severity, description); > } > >- private static TouchpointType getCachedTouchpointType(String id, Version version) { >+ private static ITouchpointType getCachedTouchpointType(String id, Version version) { > for (int i = 0; i < typeCache.length; i++) { > if (typeCache[i] != null && typeCache[i].getId().equals(id) && typeCache[i].getVersion().equals(version)) > return typeCache[i]; >@@ -347,7 +347,7 @@ > return null; > } > >- private static void putCachedTouchpointType(TouchpointType result) { >+ private static void putCachedTouchpointType(ITouchpointType result) { > //simple rotating buffer > typeCache[typeCacheOffset] = result; > typeCacheOffset = (typeCacheOffset + 1) % typeCache.length; >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java,v >retrieving revision 1.18 >diff -u -r1.18 IInstallableUnit.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java 22 Dec 2008 15:30:47 -0000 1.18 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnit.java 24 Dec 2008 17:31:41 -0000 >@@ -192,13 +192,13 @@ > > public String getProperty(String key); > >- public ProvidedCapability[] getProvidedCapabilities(); >+ public IProvidedCapability[] getProvidedCapabilities(); > >- public RequiredCapability[] getRequiredCapabilities(); >+ public IRequiredCapability[] getRequiredCapabilities(); > >- public TouchpointData[] getTouchpointData(); >+ public ITouchpointData[] getTouchpointData(); > >- public TouchpointType getTouchpointType(); >+ public ITouchpointType getTouchpointType(); > > public Version getVersion(); > >@@ -224,7 +224,7 @@ > * @return <code>true</code> if this unit satisfies the given required > * capability, and <code>false</code> otherwise. > */ >- public boolean satisfies(RequiredCapability candidate); >+ public boolean satisfies(IRequiredCapability candidate); > > /** > * Returns the unresolved equivalent of this installable unit. If this unit is >@@ -248,11 +248,11 @@ > * Returns the license that applies to this installable unit. > * @return the license that applies to this installable unit or <code>null</code> > */ >- public License getLicense(); >+ public ILicense getLicense(); > > /** > * Returns the copyright that applies to this installable unit. > * @return the copyright that applies to this installable unit or <code>null</code> > */ >- public Copyright getCopyright(); >+ public ICopyright getCopyright(); > } >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java,v >retrieving revision 1.6 >diff -u -r1.6 TouchpointData.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java 13 Dec 2008 02:55:43 -0000 1.6 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/TouchpointData.java 24 Dec 2008 17:31:43 -0000 >@@ -22,7 +22,7 @@ > * @noextend This class is not intended to be subclassed by clients. > * @see MetadataFactory#createTouchpointData(Map) > */ >-public class TouchpointData { >+public class TouchpointData implements ITouchpointData { > > /** > * Map of (String->TouchpointInstruction). The set >@@ -40,13 +40,13 @@ > return true; > if (obj == null) > return false; >- if (getClass() != obj.getClass()) >+ if (!(obj instanceof ITouchpointData)) > return false; >- final TouchpointData other = (TouchpointData) obj; >+ final ITouchpointData other = (ITouchpointData) obj; > if (instructions == null) { >- if (other.instructions != null) >+ if (other.getInstructions() != null) > return false; >- } else if (!instructions.equals(other.instructions)) >+ } else if (!instructions.equals(other.getInstructions())) > return false; > return true; > } >@@ -61,13 +61,13 @@ > /** > * Returns the touchpoint instruction corresponding to the given key. > */ >- public TouchpointInstruction getInstruction(String instructionKey) { >- return (TouchpointInstruction) instructions.get(instructionKey); >+ public ITouchpointInstruction getInstruction(String instructionKey) { >+ return (ITouchpointInstruction) instructions.get(instructionKey); > } > > /** > * Returns an unmodifiable map of the touchpoint instructions. The map >- * keys are strings, and the values are instances of {@link TouchpointInstruction}. >+ * keys are strings, and the values are instances of {@link ITouchpointInstruction}. > * > * @return the touchpoint instructions > */ >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java,v >retrieving revision 1.2 >diff -u -r1.2 Copyright.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java 10 Oct 2008 19:58:45 -0000 1.2 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/Copyright.java 24 Dec 2008 17:31:41 -0000 >@@ -17,7 +17,7 @@ > * required body text which may be the full text or a summary. An optional location field can be specified > * which links to full text. > */ >-public class Copyright { >+public class Copyright implements ICopyright { > /** > * The <code>body</code> contains the descriptive text for the copyright. This may > * be a summary for a copyright specified in a URL. >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java,v >retrieving revision 1.3 >diff -u -r1.3 IInstallableUnitFragment.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java 28 Feb 2008 01:10:58 -0000 1.3 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/IInstallableUnitFragment.java 24 Dec 2008 17:31:41 -0000 >@@ -9,5 +9,5 @@ > package org.eclipse.equinox.internal.provisional.p2.metadata; > > public interface IInstallableUnitFragment extends IInstallableUnit { >- public RequiredCapability[] getHost(); >+ public IRequiredCapability[] getHost(); > } >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java,v >retrieving revision 1.5 >diff -u -r1.5 ProvidedCapability.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java 22 Dec 2008 15:30:47 -0000 1.5 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/ProvidedCapability.java 24 Dec 2008 17:31:42 -0000 >@@ -16,7 +16,7 @@ > /** > * Describes a capability as exposed or required by an installable unit > */ >-public class ProvidedCapability { >+public class ProvidedCapability implements IProvidedCapability { > private final String name; > private final String namespace; > private final Version version; >@@ -30,11 +30,16 @@ > } > > public boolean equals(Object other) { >- if (other instanceof ProvidedCapability) { >- ProvidedCapability otherCapability = (ProvidedCapability) other; >- return otherCapability.namespace.equals(namespace) && otherCapability.name.equals(name) && otherCapability.version.equals(version); >- } >- return false; >+ if (other == null) >+ return false; >+ if (!(other instanceof IProvidedCapability)) >+ return false; >+ IProvidedCapability otherCapability = (IProvidedCapability) other; >+ if (!(namespace.equals(otherCapability.getNamespace()))) >+ return false; >+ if (!(name.equals(otherCapability.getName()))) >+ return false; >+ return true; > } > > public String getName() { >@@ -58,7 +63,7 @@ > * @return <code>true</code> if this capability satisfies the given required > * capability, and <code>false</code> otherwise. > */ >- public boolean satisfies(RequiredCapability candidate) { >+ public boolean satisfies(IRequiredCapability candidate) { > if (getName() == null || !getName().equals(candidate.getName())) > return false; > if (getNamespace() == null || !getNamespace().equals(candidate.getNamespace())) >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java,v >retrieving revision 1.3 >diff -u -r1.3 CapabilityQuery.java >--- src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java 17 Oct 2008 20:38:15 -0000 1.3 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/query/CapabilityQuery.java 24 Dec 2008 17:31:44 -0000 >@@ -10,8 +10,9 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.metadata.query; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.query.Query; > > /** >@@ -19,14 +20,14 @@ > * capabilities that match one or more required capabilities. > */ > public class CapabilityQuery extends Query { >- private RequiredCapability[] required; >+ private IRequiredCapability[] required; > > /** > * Creates a new query on the given required capability. > * @param required The required capability > */ >- public CapabilityQuery(RequiredCapability required) { >- this.required = new RequiredCapability[] {required}; >+ public CapabilityQuery(IRequiredCapability required) { >+ this.required = new IRequiredCapability[] {required}; > } > > /** >@@ -35,7 +36,7 @@ > * for this query to be satisfied. > * @param required The required capabilities > */ >- public CapabilityQuery(RequiredCapability[] required) { >+ public CapabilityQuery(IRequiredCapability[] required) { > this.required = required; > } > >@@ -43,7 +44,7 @@ > * Returns the required capability that this query is matching against. > * @return the required capability that this query is matching against. > */ >- public RequiredCapability[] getRequiredCapabilities() { >+ public IRequiredCapability[] getRequiredCapabilities() { > return required; > } > >Index: src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java,v >retrieving revision 1.13 >diff -u -r1.13 ResolvedInstallableUnit.java >--- src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java 22 Dec 2008 15:30:47 -0000 1.13 >+++ src/org/eclipse/equinox/internal/p2/metadata/ResolvedInstallableUnit.java 24 Dec 2008 17:31:41 -0000 >@@ -11,6 +11,18 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ICopyright; >+ > import java.util.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >@@ -62,38 +74,38 @@ > return original.getProperties(); > } > >- public ProvidedCapability[] getProvidedCapabilities() { >+ public IProvidedCapability[] getProvidedCapabilities() { > ArrayList result = new ArrayList(); > result.addAll(Arrays.asList(original.getProvidedCapabilities())); > for (int i = 0; i < fragments.length; i++) { > result.addAll(Arrays.asList(fragments[i].getProvidedCapabilities())); > } >- return (ProvidedCapability[]) result.toArray(new ProvidedCapability[result.size()]); >+ return (IProvidedCapability[]) result.toArray(new IProvidedCapability[result.size()]); > } > >- public RequiredCapability[] getRequiredCapabilities() { >+ public IRequiredCapability[] getRequiredCapabilities() { > ArrayList result = new ArrayList(); > result.addAll(Arrays.asList(original.getRequiredCapabilities())); > for (int i = 0; i < fragments.length; i++) { > result.addAll(Arrays.asList(fragments[i].getRequiredCapabilities())); > } >- return (RequiredCapability[]) result.toArray(new RequiredCapability[result.size()]); >+ return (IRequiredCapability[]) result.toArray(new IRequiredCapability[result.size()]); > > } > >- public TouchpointData[] getTouchpointData() { >+ public ITouchpointData[] getTouchpointData() { > ArrayList result = new ArrayList(); > result.addAll(Arrays.asList(original.getTouchpointData())); > for (int i = 0; i < fragments.length; i++) { >- TouchpointData[] data = fragments[i].getTouchpointData(); >+ ITouchpointData[] data = fragments[i].getTouchpointData(); > for (int j = 0; j < data.length; j++) { > result.add(data[j]); > } > } >- return (TouchpointData[]) result.toArray(new TouchpointData[result.size()]); >+ return (ITouchpointData[]) result.toArray(new ITouchpointData[result.size()]); > } > >- public TouchpointType getTouchpointType() { >+ public ITouchpointType getTouchpointType() { > return original.getTouchpointType(); > } > >@@ -154,16 +166,16 @@ > return original.getUpdateDescriptor(); > } > >- public License getLicense() { >+ public ILicense getLicense() { > return original.getLicense(); > } > >- public Copyright getCopyright() { >+ public ICopyright getCopyright() { > return original.getCopyright(); > } > >- public boolean satisfies(RequiredCapability candidate) { >- ProvidedCapability[] provides = getProvidedCapabilities(); >+ public boolean satisfies(IRequiredCapability candidate) { >+ IProvidedCapability[] provides = getProvidedCapabilities(); > for (int i = 0; i < provides.length; i++) > if (provides[i].satisfies(candidate)) > return true; >Index: src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java,v >retrieving revision 1.6 >diff -u -r1.6 InstallableUnitFragment.java >--- src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java 28 Feb 2008 01:10:59 -0000 1.6 >+++ src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitFragment.java 24 Dec 2008 17:31:41 -0000 >@@ -10,27 +10,28 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnitFragment; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > > public class InstallableUnitFragment extends InstallableUnit implements IInstallableUnitFragment { > >- private RequiredCapability[] hostRequirements; >+ private IRequiredCapability[] hostRequirements; > > public InstallableUnitFragment() { > super(); > } > >- public void setHost(RequiredCapability[] hostRequirements) { >+ public void setHost(IRequiredCapability[] hostRequirements) { > if (hostRequirements == null) > return; > this.hostRequirements = hostRequirements; > addRequiredCapability(hostRequirements); > } > >- private void addRequiredCapability(RequiredCapability[] toAdd) { >- RequiredCapability[] current = super.getRequiredCapabilities(); >- RequiredCapability[] result = new RequiredCapability[current.length + toAdd.length]; >+ private void addRequiredCapability(IRequiredCapability[] toAdd) { >+ IRequiredCapability[] current = super.getRequiredCapabilities(); >+ IRequiredCapability[] result = new IRequiredCapability[current.length + toAdd.length]; > System.arraycopy(current, 0, result, 0, current.length); > System.arraycopy(toAdd, 0, result, current.length, toAdd.length); > setRequiredCapabilities(result); >@@ -40,7 +41,7 @@ > return true; > } > >- public RequiredCapability[] getHost() { >+ public IRequiredCapability[] getHost() { > return hostRequirements; > } > } >Index: src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java,v >retrieving revision 1.16 >diff -u -r1.16 InstallableUnit.java >--- src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java 22 Dec 2008 15:30:47 -0000 1.16 >+++ src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java 24 Dec 2008 17:31:41 -0000 >@@ -14,16 +14,16 @@ > import java.util.ArrayList; > import java.util.Map; > import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties; >-import org.eclipse.equinox.internal.provisional.p2.metadata.*; > import org.eclipse.equinox.internal.provisional.p2.core.Version; >+import org.eclipse.equinox.internal.provisional.p2.metadata.*; > > public class InstallableUnit implements IInstallableUnit { > > private static final OrderedProperties NO_PROPERTIES = new OrderedProperties(); >- private static final ProvidedCapability[] NO_PROVIDES = new ProvidedCapability[0]; >- private static final RequiredCapability[] NO_REQUIRES = new RequiredCapability[0]; >+ private static final IProvidedCapability[] NO_PROVIDES = new IProvidedCapability[0]; >+ private static final IRequiredCapability[] NO_REQUIRES = new IRequiredCapability[0]; > private static final IArtifactKey[] NO_ARTIFACTS = new IArtifactKey[0]; >- private static final TouchpointData[] NO_TOUCHPOINT_DATA = new TouchpointData[0]; >+ private static final ITouchpointData[] NO_TOUCHPOINT_DATA = new ITouchpointData[0]; > > private IArtifactKey[] artifacts = NO_ARTIFACTS; > private String filter; >@@ -32,26 +32,26 @@ > > private OrderedProperties properties; > private OrderedProperties localizedProperties; >- ProvidedCapability[] providedCapabilities = NO_PROVIDES; >- private RequiredCapability[] requires = NO_REQUIRES; >+ IProvidedCapability[] providedCapabilities = NO_PROVIDES; >+ private IRequiredCapability[] requires = NO_REQUIRES; > > private boolean singleton; > > private ArrayList touchpointData = null; > >- private TouchpointType touchpointType; >+ private ITouchpointType touchpointType; > > private Version version; > > private IUpdateDescriptor updateInfo; >- private License license; >- private Copyright copyright; >+ private ILicense license; >+ private ICopyright copyright; > > public InstallableUnit() { > super(); > } > >- public void addTouchpointData(TouchpointData newData) { >+ public void addTouchpointData(ITouchpointData newData) { > ensureTouchpointDataCapacity(1); > touchpointData.add(newData); > } >@@ -135,22 +135,22 @@ > return properties().getProperty(key); > } > >- public ProvidedCapability[] getProvidedCapabilities() { >+ public IProvidedCapability[] getProvidedCapabilities() { > return providedCapabilities; > } > >- public RequiredCapability[] getRequiredCapabilities() { >+ public IRequiredCapability[] getRequiredCapabilities() { > return requires; > > } > >- public TouchpointData[] getTouchpointData() { >+ public ITouchpointData[] getTouchpointData() { > return (touchpointData == null ? NO_TOUCHPOINT_DATA // >- : (TouchpointData[]) touchpointData.toArray(new TouchpointData[touchpointData.size()])); >+ : (ITouchpointData[]) touchpointData.toArray(new ITouchpointData[touchpointData.size()])); > } > >- public TouchpointType getTouchpointType() { >- return touchpointType != null ? touchpointType : TouchpointType.NONE; >+ public ITouchpointType getTouchpointType() { >+ return touchpointType != null ? touchpointType : ITouchpointType.NONE; > } > > public Version getVersion() { >@@ -188,7 +188,7 @@ > artifacts = value; > } > >- public void setCapabilities(ProvidedCapability[] newCapabilities) { >+ public void setCapabilities(IProvidedCapability[] newCapabilities) { > if (newCapabilities == null || newCapabilities.length == 0) > providedCapabilities = NO_PROVIDES; > else >@@ -220,12 +220,12 @@ > return (String) properties.setProperty(key, value); > } > >- public void setRequiredCapabilities(RequiredCapability[] capabilities) { >+ public void setRequiredCapabilities(IRequiredCapability[] capabilities) { > if (capabilities.length == 0) { > this.requires = NO_REQUIRES; > } else { > //copy array for safety >- this.requires = (RequiredCapability[]) capabilities.clone(); >+ this.requires = (IRequiredCapability[]) capabilities.clone(); > } > } > >@@ -233,8 +233,8 @@ > this.singleton = singleton; > } > >- public void setTouchpointType(TouchpointType type) { >- this.touchpointType = (type != TouchpointType.NONE ? type : null); >+ public void setTouchpointType(ITouchpointType type) { >+ this.touchpointType = (!ITouchpointType.NONE.equals(type) ? type : null); > } > > public void setVersion(Version newVersion) { >@@ -257,24 +257,24 @@ > this.updateInfo = updateInfo; > } > >- public void setLicense(License license) { >+ public void setLicense(ILicense license) { > this.license = license; > } > >- public License getLicense() { >+ public ILicense getLicense() { > return license; > } > >- public void setCopyright(Copyright copyright) { >+ public void setCopyright(ICopyright copyright) { > this.copyright = copyright; > } > >- public Copyright getCopyright() { >+ public ICopyright getCopyright() { > return copyright; > } > >- public boolean satisfies(RequiredCapability candidate) { >- ProvidedCapability[] provides = getProvidedCapabilities(); >+ public boolean satisfies(IRequiredCapability candidate) { >+ IProvidedCapability[] provides = getProvidedCapabilities(); > for (int i = 0; i < provides.length; i++) > if (provides[i].satisfies(candidate)) > return true; >Index: src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java,v >retrieving revision 1.1 >diff -u -r1.1 InstallableUnitPatch.java >--- src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java 14 Aug 2008 19:50:34 -0000 1.1 >+++ src/org/eclipse/equinox/internal/p2/metadata/InstallableUnitPatch.java 24 Dec 2008 17:31:41 -0000 >@@ -8,45 +8,49 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.metadata; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > > public class InstallableUnitPatch extends InstallableUnit implements IInstallableUnitPatch { >- private RequirementChange[] changes; >- private RequiredCapability lifeCycle; >- private RequiredCapability[][] scope; >- >- private void addRequiredCapability(RequiredCapability[] toAdd) { >- RequiredCapability[] current = super.getRequiredCapabilities(); >- RequiredCapability[] result = new RequiredCapability[current.length + toAdd.length]; >+ private IRequirementChange[] changes; >+ private IRequiredCapability lifeCycle; >+ private IRequiredCapability[][] scope; >+ >+ private void addRequiredCapability(IRequiredCapability[] toAdd) { >+ IRequiredCapability[] current = super.getRequiredCapabilities(); >+ IRequiredCapability[] result = new IRequiredCapability[current.length + toAdd.length]; > System.arraycopy(current, 0, result, 0, current.length); > System.arraycopy(toAdd, 0, result, current.length, toAdd.length); > setRequiredCapabilities(result); > } > >- public RequiredCapability[][] getApplicabilityScope() { >+ public IRequiredCapability[][] getApplicabilityScope() { > return scope; > } > >- public RequiredCapability getLifeCycle() { >+ public IRequiredCapability getLifeCycle() { > return lifeCycle; > } > >- public RequirementChange[] getRequirementsChange() { >+ public IRequirementChange[] getRequirementsChange() { > return changes; > } > >- public void setApplicabilityScope(RequiredCapability[][] applyTo) { >+ public void setApplicabilityScope(IRequiredCapability[][] applyTo) { > scope = applyTo; > } > >- public void setLifeCycle(RequiredCapability lifeCycle) { >+ public void setLifeCycle(IRequiredCapability lifeCycle) { > if (lifeCycle == null) > return; > this.lifeCycle = lifeCycle; >- addRequiredCapability(new RequiredCapability[] {lifeCycle}); >+ addRequiredCapability(new IRequiredCapability[] {lifeCycle}); > } > >- public void setRequirementsChange(RequirementChange[] changes) { >+ public void setRequirementsChange(IRequirementChange[] changes) { > this.changes = changes; > } > } >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/ICopyright.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/ICopyright.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/ICopyright.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/ICopyright.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,35 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+import java.net.URI; >+ >+/** >+ * The <code>ICopyright</code> interface represents a software copyright. A copyright has >+ * required body text which may be the full text or a summary. An optional location field can be specified >+ * which links to full text. >+ */ >+public interface ICopyright { >+ >+ /** >+ * Returns the location of a document containing the copyright notice. >+ * >+ * @return The location of the copyright notice, or <code>null</code> >+ */ >+ public URI getLocation(); >+ >+ /** >+ * Returns the license body. >+ * >+ * @return the license body, never <code>null</code> >+ */ >+ public String getBody(); >+ >+} >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointData.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,44 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+import java.util.Map; >+ >+/** >+ * ITouchpoint data instances contain the additional information needed by a touchpoint >+ * to execute each engine phase it participates in. This includes the sequence of >+ * instruction statements to be executed during each phase, and any additional >+ * supporting data needed to perform the phase. >+ * >+ * @see MetadataFactory#createTouchpointData(Map) >+ */ >+public interface ITouchpointData { >+ >+ /** >+ * Returns the touchpoint instruction corresponding to the given key. >+ */ >+ public ITouchpointInstruction getInstruction(String instructionKey); >+ >+ /** >+ * Returns an unmodifiable map of the touchpoint instructions. The map >+ * keys are strings, and the values are instances of {@link ITouchpointInstruction}. >+ * >+ * @return the touchpoint instructions >+ */ >+ public Map getInstructions(); >+ >+ /** >+ * Returns whether this Touchpoint Data is equal to the given object. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointData#equals(Object)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean equals(Object obj); >+} >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequiredCapability.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequiredCapability.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequiredCapability.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequiredCapability.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,77 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; >+ >+/** >+ * A required capability represents some external constraint on an {@link IInstallableUnit}. >+ * Each capability represents something an {@link IInstallableUnit} needs that >+ * it expects to be provided by another {@link IInstallableUnit}. Capabilities are >+ * entirely generic, and are intended to be capable of representing anything that >+ * an {@link IInstallableUnit} may need either at install time, or at runtime. >+ * <p> >+ * Capabilities are segmented into namespaces. Anyone can introduce new >+ * capability namespaces. Some well-known namespaces are introduced directly >+ * by the provisioning framework. >+ * >+ * @see IInstallableUnit#NAMESPACE_IU_ID >+ */ >+public interface IRequiredCapability { >+ >+ public String getFilter(); >+ >+ public String getName(); >+ >+ public String getNamespace(); >+ >+ /** >+ * Returns the range of versions that satisfy this required capability. Returns >+ * an empty version range ({@link VersionRange#emptyRange} if any version >+ * will satisfy the capability. >+ * @return the range of versions that satisfy this required capability. >+ */ >+ public VersionRange getRange(); >+ >+ /** >+ * Returns the properties to use for evaluating required capability filters >+ * downstream from this capability. For example, if the selector "doc" >+ * is provided, then a downstream InstallableUnit with a required capability >+ * filtered with "doc=true" will be included. >+ */ >+ public String[] getSelectors(); >+ >+ public boolean isMultiple(); >+ >+ public boolean isOptional(); >+ >+ /** >+ * TODO This object shouldn't be mutable since it makes equality unstable, and >+ * introduces lifecycle issues (how are the changes persisted, etc) >+ */ >+ public void setFilter(String filter); >+ >+ /** >+ * TODO This object shouldn't be mutable since it makes equality unstable, and >+ * introduces lifecycle issues (how are the changes persisted, etc) >+ */ >+ public void setSelectors(String[] selectors); >+ >+ public boolean isGreedy(); >+ >+ /** >+ * Returns whether this required capability is equal to the given object. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability#equals(Object)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean equals(Object other); >+ >+} >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointInstruction.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,66 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+/** >+ * A touchpoint instruction contains either a sequence of instruction statements >+ * to be executed during a particular engine phase, or some simple string value >+ * that is needed by a touchpoint to execute its phases. >+ * <p> >+ * The format of a touchpoint instruction statement sequence is as follows: >+ * >+ * statement-sequence : >+ * | statement ';' >+ * | statement-sequence statement >+ * ; >+ * >+ *Where a statement is of the format: >+ * >+ * statement : >+ * | actionName '(' parameters ')' >+ * ; >+ * >+ * parameters : >+ * | // empty >+ * | parameter >+ * | parameters ',' parameter >+ * ; >+ * >+ * parameter : >+ * | paramName ':' paramValue >+ * ; >+ * >+ * actionName, paramName, paramValue : >+ * | String >+ * ; >+ * >+ */ >+public interface ITouchpointInstruction { >+ >+ /** >+ * Returns the body of this touchpoint instruction. The body is either a sequence >+ * of instruction statements, or a simple string value. >+ * >+ * @return The body of this touchpoint instruction >+ */ >+ public String getBody(); >+ >+ //TODO What is this? Please doc >+ public String getImportAttribute(); >+ >+ /** >+ * Returns whether this TouchpointInstruction is equal to the given object. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointInstruction#equals(Object)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean equals(Object obj); >+ >+} >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/ILicense.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,53 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+import java.math.BigInteger; >+import java.net.URI; >+ >+/** >+ * The <code>ILicense</code> interface represents a software license. A license has required body text >+ * which may be the full text or an annotation. An optional URL field can be specified >+ * which links to full text. Licenses can be easily compared using their digests. >+ */ >+public interface ILicense { >+ >+ /** >+ * Returns the location of a document containing the full license. >+ * >+ * @return the location of the license document, or <code>null</code> >+ */ >+ public URI getLocation(); >+ >+ /** >+ * Returns the license body. >+ * @return the license body, never <code>null</code> >+ */ >+ public String getBody(); >+ >+ /** >+ * Returns the message digest of the license body. The digest is calculated on a normalized >+ * version of the license where all whitespace has been reduced to one space. >+ * >+ * Any SPI must maintain the same semantics as: >+ * <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.License#getDigest()}</code> >+ * @return the message digest as a <code>BigInteger</code>, never <code>null</code> >+ */ >+ public BigInteger getDigest(); >+ >+ /** >+ * Returns whether this License is equal to the given object. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.License#equals(Object)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean equals(Object obj); >+ >+} >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/IRequirementChange.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,27 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+public interface IRequirementChange { >+ >+ public IRequiredCapability applyOn(); >+ >+ public IRequiredCapability newValue(); >+ >+ public boolean matches(IRequiredCapability toMatch); >+ >+ /** >+ * Returns whether this requirement change is equal to the given object. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.RequirementChange#equals(Object)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean equals(Object other); >+} >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/IProvidedCapability.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,43 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+import org.eclipse.equinox.internal.provisional.p2.core.Version; >+ >+/** >+ * Describes a capability as exposed or required by an installable unit >+ */ >+public interface IProvidedCapability { >+ >+ public String getName(); >+ >+ public String getNamespace(); >+ >+ public Version getVersion(); >+ >+ /** >+ * Returns whether this provided capability satisfies the given required capability. >+ * @return <code>true</code> if this capability satisfies the given required >+ * capability, and <code>false</code> otherwise. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.p2.metadata.InstallableUnit#satisfies(IRequiredCapability)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean satisfies(IRequiredCapability candidate); >+ >+ /** >+ * Returns whether this provided capability is equal to the given object. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.ProvidedCapability#equals(Object)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean equals(Object other); >+ >+} >\ No newline at end of file >Index: src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java >=================================================================== >RCS file: src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java >diff -N src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java >--- /dev/null 1 Jan 1970 00:00:00 -0000 >+++ src/org/eclipse/equinox/internal/provisional/p2/metadata/ITouchpointType.java 1 Jan 1970 00:00:00 -0000 >@@ -0,0 +1,41 @@ >+/******************************************************************************* >+* Copyright (c) 2008 EclipseSource 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 http://www.eclipse.org/legal/epl-v10.html >+* >+* Contributors: >+* EclipseSource - initial API and implementation >+******************************************************************************/ >+package org.eclipse.equinox.internal.provisional.p2.metadata; >+ >+import org.eclipse.equinox.internal.provisional.p2.core.Version; >+ >+/** >+ * Identifies a particular touchpoint. A touchpoint is identified by an id >+ * and a version. >+ */ >+public interface ITouchpointType { >+ >+ /** >+ * A touchpoint type indicating that the "null" touchpoint should be used. >+ * The null touchpoint does not participate in any install phase. >+ * >+ * This TouchpointType should always be compared with .equals() as other SPIs >+ * may implement their own version. >+ */ >+ public static final ITouchpointType NONE = new TouchpointType("null", Version.emptyVersion); //$NON-NLS-1$ >+ >+ public String getId(); >+ >+ public Version getVersion(); >+ >+ /** >+ * Returns whether this TouchpointType is equal to the given object. >+ * >+ * See <code>{@link org.eclipse.equinox.internal.provisional.p2.metadata.TouchpointType#equals(Object)}</code> >+ * for an example implementation. SPIs must maintain the same semantics. >+ */ >+ public boolean equals(Object obj); >+ >+} >\ No newline at end of file >#P org.eclipse.equinox.p2.updatesite >Index: src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java,v >retrieving revision 1.12 >diff -u -r1.12 SiteXMLAction.java >--- src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java 22 Dec 2008 15:30:46 -0000 1.12 >+++ src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java 24 Dec 2008 17:31:45 -0000 >@@ -10,6 +10,10 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.updatesite; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ > import java.io.File; > import java.net.URI; > import java.net.URISyntaxException; >@@ -232,7 +236,7 @@ > if (parentCategory != null) { > reqsConfigurationUnits.add(MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_IU_ID, parentCategory.getId(), VersionRange.emptyRange, parentCategory.getFilter(), false, false)); > } >- cat.setRequiredCapabilities((RequiredCapability[]) reqsConfigurationUnits.toArray(new RequiredCapability[reqsConfigurationUnits.size()])); >+ cat.setRequiredCapabilities((IRequiredCapability[]) reqsConfigurationUnits.toArray(new IRequiredCapability[reqsConfigurationUnits.size()])); > > // Create set of provided capabilities > ArrayList providedCapabilities = new ArrayList(); >@@ -252,7 +256,7 @@ > } > } > >- cat.setCapabilities((ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()])); >+ cat.setCapabilities((IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()])); > > cat.setArtifacts(new IArtifactKey[0]); > cat.setProperty(IInstallableUnit.PROP_TYPE_CATEGORY, "true"); //$NON-NLS-1$ >#P org.eclipse.equinox.p2.ui >Index: src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java,v >retrieving revision 1.5 >diff -u -r1.5 CategoryElement.java >--- src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java 25 Nov 2008 18:45:50 -0000 1.5 >+++ src/org/eclipse/equinox/internal/p2/ui/model/CategoryElement.java 24 Dec 2008 17:31:47 -0000 >@@ -10,10 +10,11 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.model; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.*; > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages; > import org.eclipse.equinox.internal.provisional.p2.ui.policy.QueryProvider; > >@@ -26,7 +27,7 @@ > public class CategoryElement extends RemoteQueriedElement implements IIUElement { > > private ArrayList ius = new ArrayList(1); >- private RequiredCapability[] requirements; >+ private IRequiredCapability[] requirements; > > public CategoryElement(Object parent, IInstallableUnit iu) { > super(parent); >@@ -85,9 +86,9 @@ > ius.add(iu); > } > >- public RequiredCapability[] getRequirements() { >+ public IRequiredCapability[] getRequirements() { > if (ius == null || ius.isEmpty()) >- return new RequiredCapability[0]; >+ return new IRequiredCapability[0]; > if (requirements == null) { > if (ius.size() == 1) > requirements = getIU().getRequiredCapabilities(); >@@ -98,7 +99,7 @@ > IInstallableUnit iu = (IInstallableUnit) iter.next(); > capabilities.addAll(Arrays.asList(iu.getRequiredCapabilities())); > } >- requirements = (RequiredCapability[]) capabilities.toArray(new RequiredCapability[capabilities.size()]); >+ requirements = (IRequiredCapability[]) capabilities.toArray(new IRequiredCapability[capabilities.size()]); > } > } > return requirements; >Index: src/org/eclipse/equinox/internal/p2/ui/model/RollbackProfileElement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/RollbackProfileElement.java,v >retrieving revision 1.5 >diff -u -r1.5 RollbackProfileElement.java >--- src/org/eclipse/equinox/internal/p2/ui/model/RollbackProfileElement.java 25 Nov 2008 18:45:50 -0000 1.5 >+++ src/org/eclipse/equinox/internal/p2/ui/model/RollbackProfileElement.java 24 Dec 2008 17:31:47 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.model; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import com.ibm.icu.text.DateFormat; > import java.util.Date; > import org.eclipse.core.runtime.IProgressMonitor; >@@ -19,7 +21,6 @@ > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; > import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.query.IQueryable; > import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages; > import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; >@@ -134,7 +135,7 @@ > /* (non-Javadoc) > * @see org.eclipse.equinox.internal.p2.ui.model.IUElement#getRequirements() > */ >- public RequiredCapability[] getRequirements() { >+ public IRequiredCapability[] getRequirements() { > return iu.getRequiredCapabilities(); > } > >Index: src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java,v >retrieving revision 1.20 >diff -u -r1.20 AvailableIUElement.java >--- src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java 3 Dec 2008 22:44:40 -0000 1.20 >+++ src/org/eclipse/equinox/internal/p2/ui/model/AvailableIUElement.java 24 Dec 2008 17:31:47 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.model; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.core.runtime.SubMonitor; > import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; >@@ -19,7 +21,6 @@ > import org.eclipse.equinox.internal.provisional.p2.engine.IProfile; > import org.eclipse.equinox.internal.provisional.p2.engine.ProvisioningContext; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages; > import org.eclipse.equinox.internal.provisional.p2.ui.operations.ProvisioningUtil; > import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policy; >@@ -127,7 +128,7 @@ > /* (non-Javadoc) > * @see org.eclipse.equinox.internal.p2.ui.model.IUElement#getRequirements() > */ >- public RequiredCapability[] getRequirements() { >+ public IRequiredCapability[] getRequirements() { > return iu.getRequiredCapabilities(); > } > >Index: src/org/eclipse/equinox/internal/p2/ui/model/IIUElement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/model/IIUElement.java,v >retrieving revision 1.2 >diff -u -r1.2 IIUElement.java >--- src/org/eclipse/equinox/internal/p2/ui/model/IIUElement.java 25 Nov 2008 18:45:50 -0000 1.2 >+++ src/org/eclipse/equinox/internal/p2/ui/model/IIUElement.java 24 Dec 2008 17:31:47 -0000 >@@ -10,9 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.model; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > > /** > * Interface for elements that represent IU's. >@@ -49,7 +50,7 @@ > > public void computeSize(IProgressMonitor monitor); > >- public RequiredCapability[] getRequirements(); >+ public IRequiredCapability[] getRequirements(); > > public Object getParent(Object obj); > >Index: src/org/eclipse/equinox/internal/p2/ui/query/UncategorizedElementCollector.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/UncategorizedElementCollector.java,v >retrieving revision 1.2 >diff -u -r1.2 UncategorizedElementCollector.java >--- src/org/eclipse/equinox/internal/p2/ui/query/UncategorizedElementCollector.java 7 Oct 2008 23:04:42 -0000 1.2 >+++ src/org/eclipse/equinox/internal/p2/ui/query/UncategorizedElementCollector.java 24 Dec 2008 17:31:47 -0000 >@@ -10,10 +10,11 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.query; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.*; > import org.eclipse.equinox.internal.p2.ui.model.QueriedElementCollector; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.query.Collector; > import org.eclipse.equinox.internal.provisional.p2.query.IQueryable; > >@@ -95,7 +96,7 @@ > Iterator iter = categories.iterator(); > while (iter.hasNext()) { > IInstallableUnit categoryIU = (IInstallableUnit) iter.next(); >- RequiredCapability[] requirements = categoryIU.getRequiredCapabilities(); >+ IRequiredCapability[] requirements = categoryIU.getRequiredCapabilities(); > for (int i = 0; i < requirements.length; i++) { > if (requirements[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) { > IInstallableUnit[] arrayAllOthers = (IInstallableUnit[]) allOthers.toArray(new IInstallableUnit[allOthers.size()]); >Index: src/org/eclipse/equinox/internal/p2/ui/query/CategoryElementCollector.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/CategoryElementCollector.java,v >retrieving revision 1.7 >diff -u -r1.7 CategoryElementCollector.java >--- src/org/eclipse/equinox/internal/p2/ui/query/CategoryElementCollector.java 22 Dec 2008 15:30:49 -0000 1.7 >+++ src/org/eclipse/equinox/internal/p2/ui/query/CategoryElementCollector.java 24 Dec 2008 17:31:47 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.query; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.util.*; > import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; > import org.eclipse.equinox.internal.p2.ui.model.*; >@@ -48,7 +50,7 @@ > if (!(match instanceof IInstallableUnit)) > return true; > IInstallableUnit iu = (IInstallableUnit) match; >- RequiredCapability[] requirements = iu.getRequiredCapabilities(); >+ IRequiredCapability[] requirements = iu.getRequiredCapabilities(); > for (int i = 0; i < requirements.length; i++) { > if (requirements[i].getNamespace().equals(IInstallableUnit.NAMESPACE_IU_ID)) { > referredIUs.add(requirements[i].getName()); >Index: src/org/eclipse/equinox/internal/p2/ui/query/AnyRequiredCapabilityQuery.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/query/AnyRequiredCapabilityQuery.java,v >retrieving revision 1.3 >diff -u -r1.3 AnyRequiredCapabilityQuery.java >--- src/org/eclipse/equinox/internal/p2/ui/query/AnyRequiredCapabilityQuery.java 17 Oct 2008 20:38:14 -0000 1.3 >+++ src/org/eclipse/equinox/internal/p2/ui/query/AnyRequiredCapabilityQuery.java 24 Dec 2008 17:31:47 -0000 >@@ -10,8 +10,9 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.query; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.query.Query; > > /** >@@ -19,12 +20,12 @@ > * meet any one of the given capabilities. > */ > public class AnyRequiredCapabilityQuery extends Query { >- private RequiredCapability[] requirements; >+ private IRequiredCapability[] requirements; > > /** > * Creates a new query for the capabilities of the given IU. > */ >- public AnyRequiredCapabilityQuery(RequiredCapability[] requirements) { >+ public AnyRequiredCapabilityQuery(IRequiredCapability[] requirements) { > this.requirements = requirements; > } > >Index: src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java,v >retrieving revision 1.8 >diff -u -r1.8 IULicensePropertyPage.java >--- src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java 10 Oct 2008 19:58:38 -0000 1.8 >+++ src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IULicensePropertyPage.java 24 Dec 2008 17:31:48 -0000 >@@ -10,10 +10,11 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.ui.dialogs; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ > import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; > import org.eclipse.equinox.internal.p2.ui.dialogs.IUPropertyPage; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.License; > import org.eclipse.equinox.internal.provisional.p2.ui.IUPropertyUtils; > import org.eclipse.osgi.util.NLS; > import org.eclipse.swt.SWT; >@@ -32,7 +33,7 @@ > > protected Control createIUPage(Composite parent, IInstallableUnit iu) { > // Get the license in the default locale >- final License license = IUPropertyUtils.getLicense(iu); >+ final ILicense license = IUPropertyUtils.getLicense(iu); > if (license != null && license.getBody().length() > 0) { > Composite composite = new Composite(parent, SWT.NONE); > GridLayout layout = new GridLayout(); >Index: src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java,v >retrieving revision 1.7 >diff -u -r1.7 IUCopyrightPropertyPage.java >--- src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java 10 Oct 2008 19:58:38 -0000 1.7 >+++ src/org/eclipse/equinox/internal/provisional/p2/ui/dialogs/IUCopyrightPropertyPage.java 24 Dec 2008 17:31:48 -0000 >@@ -10,10 +10,11 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.ui.dialogs; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ICopyright; >+ > import java.net.MalformedURLException; > import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; > import org.eclipse.equinox.internal.p2.ui.dialogs.IUPropertyPage; >-import org.eclipse.equinox.internal.provisional.p2.metadata.Copyright; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; > import org.eclipse.equinox.internal.provisional.p2.ui.IUPropertyUtils; > import org.eclipse.osgi.util.NLS; >@@ -33,7 +34,7 @@ > > protected Control createIUPage(Composite parent, IInstallableUnit iu) { > // Get the copyright in the current locale >- final Copyright copyright = IUPropertyUtils.getCopyright(iu); >+ final ICopyright copyright = IUPropertyUtils.getCopyright(iu); > if (copyright != null && copyright.getBody().length() > 0) { > Composite composite = new Composite(parent, SWT.NONE); > GridLayout layout = new GridLayout(); >Index: src/org/eclipse/equinox/internal/p2/ui/SimpleLicenseManager.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/SimpleLicenseManager.java,v >retrieving revision 1.2 >diff -u -r1.2 SimpleLicenseManager.java >--- src/org/eclipse/equinox/internal/p2/ui/SimpleLicenseManager.java 7 Oct 2008 23:04:43 -0000 1.2 >+++ src/org/eclipse/equinox/internal/p2/ui/SimpleLicenseManager.java 24 Dec 2008 17:31:46 -0000 >@@ -11,6 +11,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ > import org.eclipse.equinox.internal.provisional.p2.ui.IUPropertyUtils; > > import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI; >@@ -20,7 +22,6 @@ > import java.util.*; > import javax.xml.parsers.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.License; > import org.eclipse.equinox.internal.provisional.p2.ui.policy.LicenseManager; > import org.eclipse.ui.statushandlers.StatusManager; > import org.w3c.dom.*; >@@ -37,21 +38,21 @@ > java.util.Set accepted = new HashSet(); > > public boolean accept(IInstallableUnit iu) { >- License license = IUPropertyUtils.getLicense(iu); >+ ILicense license = IUPropertyUtils.getLicense(iu); > if (license != null) > accepted.add(license.getDigest()); > return true; > } > > public boolean reject(IInstallableUnit iu) { >- License license = IUPropertyUtils.getLicense(iu); >+ ILicense license = IUPropertyUtils.getLicense(iu); > if (license != null) > accepted.remove(license.getDigest()); > return true; > } > > public boolean isAccepted(IInstallableUnit iu) { >- License license = IUPropertyUtils.getLicense(iu); >+ ILicense license = IUPropertyUtils.getLicense(iu); > if (license == null) > return true; > return accepted.contains(license.getDigest()); >Index: src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java,v >retrieving revision 1.8 >diff -u -r1.8 ProvElementLabelProvider.java >--- src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java 25 Nov 2008 23:54:11 -0000 1.8 >+++ src/org/eclipse/equinox/internal/provisional/p2/ui/viewers/ProvElementLabelProvider.java 24 Dec 2008 17:31:48 -0000 >@@ -11,6 +11,8 @@ > > package org.eclipse.equinox.internal.provisional.p2.ui.viewers; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.p2.ui.model.IIUElement; > import org.eclipse.equinox.internal.p2.ui.model.ProvElement; > import org.eclipse.equinox.internal.provisional.p2.artifact.repository.IArtifactRepository; >@@ -71,8 +73,8 @@ > ProcessingStepDescriptor descriptor = (ProcessingStepDescriptor) obj; > return descriptor.getProcessorId(); > } >- if (obj instanceof RequiredCapability) { >- return ((RequiredCapability) obj).getName(); >+ if (obj instanceof IRequiredCapability) { >+ return ((IRequiredCapability) obj).getName(); > } > return obj.toString(); > } >@@ -96,7 +98,7 @@ > if (obj instanceof IArtifactKey) { > return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FILE); > } >- if (obj instanceof RequiredCapability) { >+ if (obj instanceof IRequiredCapability) { > return ProvUIImages.getImage(ProvUIImages.IMG_IU); > } > return null; >@@ -136,8 +138,8 @@ > IArtifactKey key = (IArtifactKey) element; > return key.getVersion().toString(); > } >- if (element instanceof RequiredCapability) { >- return ((RequiredCapability) element).getRange().getMaximum().toString(); >+ if (element instanceof IRequiredCapability) { >+ return ((IRequiredCapability) element).getRange().getMaximum().toString(); > } > > } >Index: src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java,v >retrieving revision 1.15 >diff -u -r1.15 AcceptLicensesWizardPage.java >--- src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java 25 Nov 2008 18:45:49 -0000 1.15 >+++ src/org/eclipse/equinox/internal/p2/ui/dialogs/AcceptLicensesWizardPage.java 24 Dec 2008 17:31:47 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.ui.dialogs; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ > import java.util.*; > import java.util.List; > import org.eclipse.equinox.internal.p2.ui.ProvUIMessages; >@@ -19,7 +21,6 @@ > import org.eclipse.equinox.internal.provisional.p2.engine.InstallableUnitOperand; > import org.eclipse.equinox.internal.provisional.p2.engine.Operand; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.License; > import org.eclipse.equinox.internal.provisional.p2.ui.IUPropertyUtils; > import org.eclipse.equinox.internal.provisional.p2.ui.ProvUI; > import org.eclipse.equinox.internal.provisional.p2.ui.policy.Policy; >@@ -215,7 +216,7 @@ > } > > private String getLicenseBody(IInstallableUnit iu) { >- License license = IUPropertyUtils.getLicense(iu); >+ ILicense license = IUPropertyUtils.getLicense(iu); > if (license != null && license.getBody() != null) > return license.getBody(); > // shouldn't happen because we already reduced the list to those >@@ -254,12 +255,12 @@ > for (int i = 0; i < iusToCheck.length; i++) { > IInstallableUnit iu = iusToCheck[i]; > String name = labelProvider.getText(iu); >- License license = IUPropertyUtils.getLicense(iu); >+ ILicense license = IUPropertyUtils.getLicense(iu); > // It has a license, is it already accepted? > if (license != null) { > if (!policy.getLicenseManager().isAccepted(iu)) { > // Have we already found a license with this IU name? >- License potentialDuplicate = (License) licensesByIUName.get(name); >+ ILicense potentialDuplicate = (ILicense) licensesByIUName.get(name); > // If we have no duplicate or the duplicate license doesn't match, add it > if (potentialDuplicate == null || !potentialDuplicate.equals(license)) > unaccepted.add(iu); >Index: src/org/eclipse/equinox/internal/provisional/p2/ui/IUPropertyUtils.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/IUPropertyUtils.java,v >retrieving revision 1.3 >diff -u -r1.3 IUPropertyUtils.java >--- src/org/eclipse/equinox/internal/provisional/p2/ui/IUPropertyUtils.java 10 Oct 2008 19:58:38 -0000 1.3 >+++ src/org/eclipse/equinox/internal/provisional/p2/ui/IUPropertyUtils.java 24 Dec 2008 17:31:48 -0000 >@@ -10,6 +10,14 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.ui; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ICopyright; >+ > import java.lang.ref.SoftReference; > import java.util.*; > import org.eclipse.core.runtime.IStatus; >@@ -35,12 +43,12 @@ > private static Map LocaleCollectorCache = new HashMap(2); > > // Get the license in the default locale. >- public static License getLicense(IInstallableUnit iu) { >+ public static ILicense getLicense(IInstallableUnit iu) { > return getLicense(iu, getCurrentLocale()); > } > > // Get the copyright in the default locale. >- public static Copyright getCopyright(IInstallableUnit iu) { >+ public static ICopyright getCopyright(IInstallableUnit iu) { > return getCopyright(iu, getCurrentLocale()); > } > >@@ -49,8 +57,8 @@ > return getIUProperty(iu, propertyKey, getCurrentLocale()); > } > >- public static License getLicense(IInstallableUnit iu, Locale locale) { >- License license = iu.getLicense(); >+ public static ILicense getLicense(IInstallableUnit iu, Locale locale) { >+ ILicense license = iu.getLicense(); > String body = (license != null ? license.getBody() : null); > if (body == null || body.length() <= 1 || body.charAt(0) != '%') > return license; >@@ -59,8 +67,8 @@ > return new License(license.getLocation(), body); > } > >- public static Copyright getCopyright(IInstallableUnit iu, Locale locale) { >- Copyright copyright = iu.getCopyright(); >+ public static ICopyright getCopyright(IInstallableUnit iu, Locale locale) { >+ ICopyright copyright = iu.getCopyright(); > String body = (copyright != null ? copyright.getBody() : null); > if (body == null || body.length() <= 1 || body.charAt(0) != '%') > return copyright; >@@ -101,9 +109,9 @@ > boolean haveHost = false; > if (object instanceof IInstallableUnitFragment) { > IInstallableUnitFragment fragment = (IInstallableUnitFragment) object; >- RequiredCapability[] hosts = fragment.getHost(); >+ IRequiredCapability[] hosts = fragment.getHost(); > for (int i = 0; i < hosts.length; i++) { >- RequiredCapability nextHost = hosts[i]; >+ IRequiredCapability nextHost = hosts[i]; > if (IInstallableUnit.NAMESPACE_IU_ID.equals(nextHost.getNamespace()) && // > theUnit.getId().equals(nextHost.getName()) && // > nextHost.getRange() != null && // >@@ -174,9 +182,9 @@ > boolean haveLocale = false; > if (object instanceof IInstallableUnitFragment) { > IInstallableUnitFragment fragment = (IInstallableUnitFragment) object; >- ProvidedCapability[] provides = fragment.getProvidedCapabilities(); >+ IProvidedCapability[] provides = fragment.getProvidedCapabilities(); > for (int j = 0; j < provides.length && !haveLocale; j++) { >- ProvidedCapability nextProvide = provides[j]; >+ IProvidedCapability nextProvide = provides[j]; > if (NAMESPACE_IU_LOCALIZATION.equals(nextProvide.getNamespace())) { > String providedLocale = nextProvide.getName(); > if (providedLocale != null) { >Index: src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java,v >retrieving revision 1.6 >diff -u -r1.6 InstalledIUElement.java >--- src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java 25 Nov 2008 18:40:10 -0000 1.6 >+++ src/org/eclipse/equinox/internal/provisional/p2/ui/model/InstalledIUElement.java 24 Dec 2008 17:31:48 -0000 >@@ -10,11 +10,12 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.provisional.p2.ui.model; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.core.runtime.IProgressMonitor; > import org.eclipse.equinox.internal.p2.ui.model.IIUElement; > import org.eclipse.equinox.internal.p2.ui.model.QueriedElement; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.ui.ProvUIImages; > import org.eclipse.equinox.internal.provisional.p2.ui.policy.QueryProvider; > >@@ -83,7 +84,7 @@ > /* (non-Javadoc) > * @see org.eclipse.equinox.internal.p2.ui.model.IUElement#getRequirements() > */ >- public RequiredCapability[] getRequirements() { >+ public IRequiredCapability[] getRequirements() { > return iu.getRequiredCapabilities(); > } > >#P org.eclipse.equinox.p2.touchpoint.eclipse >Index: src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java,v >retrieving revision 1.3 >diff -u -r1.3 CollectAction.java >--- src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java 7 Nov 2008 16:25:55 -0000 1.3 >+++ src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/actions/CollectAction.java 24 Dec 2008 17:31:50 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.touchpoint.eclipse.actions; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.util.*; > import org.eclipse.core.runtime.IStatus; > import org.eclipse.core.runtime.Status; >@@ -42,7 +44,7 @@ > return Status.OK_STATUS; > } > >- public static boolean isZipped(TouchpointData[] data) { >+ public static boolean isZipped(ITouchpointData[] data) { > if (data == null || data.length == 0) > return false; > for (int i = 0; i < data.length; i++) { >Index: src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.touchpoint.eclipse/src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java,v >retrieving revision 1.59 >diff -u -r1.59 Util.java >--- src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java 14 Dec 2008 15:13:10 -0000 1.59 >+++ src/org/eclipse/equinox/internal/p2/touchpoint/eclipse/Util.java 24 Dec 2008 17:31:50 -0000 >@@ -12,6 +12,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.touchpoint.eclipse; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ > import java.io.*; > import java.net.*; > import java.util.*; >@@ -288,9 +292,9 @@ > return null; > } > >- public static String getManifest(TouchpointData[] data) { >+ public static String getManifest(ITouchpointData[] data) { > for (int i = 0; i < data.length; i++) { >- TouchpointInstruction manifestInstruction = data[i].getInstruction("manifest"); //$NON-NLS-1$ >+ ITouchpointInstruction manifestInstruction = data[i].getInstruction("manifest"); //$NON-NLS-1$ > if (manifestInstruction == null) > return null; > String manifest = manifestInstruction.getBody(); >#P org.eclipse.equinox.p2.tools >Index: src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tools/src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java,v >retrieving revision 1.4 >diff -u -r1.4 MetadataCompareApplication.java >--- src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java 9 Oct 2008 03:22:40 -0000 1.4 >+++ src/org/eclipse/equinox/internal/p2/tools/MetadataCompareApplication.java 24 Dec 2008 17:31:51 -0000 >@@ -10,6 +10,8 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.tools; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.net.URI; > import java.util.Arrays; > import java.util.Comparator; >@@ -20,7 +22,6 @@ > import org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager; > import org.eclipse.equinox.internal.provisional.p2.core.ProvisionException; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.metadata.query.InstallableUnitQuery; > import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepository; > import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager; >@@ -175,7 +176,7 @@ > return result; > } > >- private boolean compareRequires(RequiredCapability[] a, RequiredCapability[] b) { >+ private boolean compareRequires(IRequiredCapability[] a, IRequiredCapability[] b) { > if (a == null) > return b == null; > if (a.length != b.length) >@@ -188,9 +189,9 @@ > return true; > } > >- private RequiredCapability findCapability(RequiredCapability target, RequiredCapability[] b) { >+ private IRequiredCapability findCapability(IRequiredCapability target, IRequiredCapability[] b) { > for (int i = 0; i < b.length; i++) { >- RequiredCapability capability = b[i]; >+ IRequiredCapability capability = b[i]; > if (target.equals(capability)) > return capability; > } >#P org.eclipse.equinox.p2.metadata.repository >Index: src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java,v >retrieving revision 1.16 >diff -u -r1.16 MetadataWriter.java >--- src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java 17 Oct 2008 17:38:30 -0000 1.16 >+++ src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataWriter.java 24 Dec 2008 17:31:52 -0000 >@@ -11,6 +11,22 @@ > *******************************************************************************/ > package org.eclipse.equinox.internal.p2.metadata.repository.io; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointType; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointInstruction; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ITouchpointData; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequirementChange; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.IProvidedCapability; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ICopyright; >+ > import java.io.OutputStream; > import java.io.UnsupportedEncodingException; > import java.util.Iterator; >@@ -79,7 +95,7 @@ > end(INSTALLABLE_UNIT_ELEMENT); > } > >- protected void writeLifeCycle(RequiredCapability capability) { >+ protected void writeLifeCycle(IRequiredCapability capability) { > if (capability == null) > return; > start(LIFECYCLE); >@@ -87,7 +103,7 @@ > end(LIFECYCLE); > } > >- protected void writeHostRequiredCapabilities(RequiredCapability[] capabilities) { >+ protected void writeHostRequiredCapabilities(IRequiredCapability[] capabilities) { > if (capabilities != null && capabilities.length > 0) { > start(HOST_REQUIRED_CAPABILITIES_ELEMENT); > attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length); >@@ -98,7 +114,7 @@ > } > } > >- protected void writeProvidedCapabilities(ProvidedCapability[] capabilities) { >+ protected void writeProvidedCapabilities(IProvidedCapability[] capabilities) { > if (capabilities != null && capabilities.length > 0) { > start(PROVIDED_CAPABILITIES_ELEMENT); > attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length); >@@ -113,7 +129,7 @@ > } > } > >- protected void writeRequiredCapabilities(RequiredCapability[] capabilities) { >+ protected void writeRequiredCapabilities(IRequiredCapability[] capabilities) { > if (capabilities != null && capabilities.length > 0) { > start(REQUIRED_CAPABILITIES_ELEMENT); > attribute(COLLECTION_SIZE_ATTRIBUTE, capabilities.length); >@@ -136,7 +152,7 @@ > end(UPDATE_DESCRIPTOR_ELEMENT); > } > >- protected void writeApplicabilityScope(RequiredCapability[][] capabilities) { >+ protected void writeApplicabilityScope(IRequiredCapability[][] capabilities) { > start(APPLICABILITY_SCOPE); > for (int i = 0; i < capabilities.length; i++) { > start(APPLY_ON); >@@ -146,7 +162,7 @@ > end(APPLICABILITY_SCOPE); > } > >- protected void writeRequirementsChange(RequirementChange[] changes) { >+ protected void writeRequirementsChange(IRequirementChange[] changes) { > start(REQUIREMENT_CHANGES); > for (int i = 0; i < changes.length; i++) { > writeRequirementChange(changes[i]); >@@ -154,7 +170,7 @@ > end(REQUIREMENT_CHANGES); > } > >- protected void writeRequirementChange(RequirementChange change) { >+ protected void writeRequirementChange(IRequirementChange change) { > start(REQUIREMENT_CHANGE); > if (change.applyOn() != null) { > start(REQUIREMENT_FROM); >@@ -169,7 +185,7 @@ > end(REQUIREMENT_CHANGE); > } > >- protected void writeRequiredCapability(RequiredCapability capability) { >+ protected void writeRequiredCapability(IRequiredCapability capability) { > start(REQUIRED_CAPABILITY_ELEMENT); > attribute(NAMESPACE_ATTRIBUTE, capability.getNamespace()); > attribute(NAME_ATTRIBUTE, capability.getName()); >@@ -207,19 +223,19 @@ > } > } > >- protected void writeTouchpointType(TouchpointType touchpointType) { >+ protected void writeTouchpointType(ITouchpointType touchpointType) { > start(TOUCHPOINT_TYPE_ELEMENT); > attribute(ID_ATTRIBUTE, touchpointType.getId()); > attribute(VERSION_ATTRIBUTE, touchpointType.getVersion()); > end(TOUCHPOINT_TYPE_ELEMENT); > } > >- protected void writeTouchpointData(TouchpointData[] touchpointData) { >+ protected void writeTouchpointData(ITouchpointData[] touchpointData) { > if (touchpointData != null && touchpointData.length > 0) { > start(TOUCHPOINT_DATA_ELEMENT); > attribute(COLLECTION_SIZE_ATTRIBUTE, touchpointData.length); > for (int i = 0; i < touchpointData.length; i++) { >- TouchpointData nextData = touchpointData[i]; >+ ITouchpointData nextData = touchpointData[i]; > Map instructions = nextData.getInstructions(); > if (instructions.size() > 0) { > start(TOUCHPOINT_DATA_INSTRUCTIONS_ELEMENT); >@@ -228,7 +244,7 @@ > Map.Entry entry = (Map.Entry) iter.next(); > start(TOUCHPOINT_DATA_INSTRUCTION_ELEMENT); > attribute(TOUCHPOINT_DATA_INSTRUCTION_KEY_ATTRIBUTE, entry.getKey()); >- TouchpointInstruction instruction = (TouchpointInstruction) entry.getValue(); >+ ITouchpointInstruction instruction = (ITouchpointInstruction) entry.getValue(); > if (instruction.getImportAttribute() != null) > attribute(TOUCHPOINT_DATA_INSTRUCTION_IMPORT_ATTRIBUTE, instruction.getImportAttribute()); > cdata(instruction.getBody(), true); >@@ -249,7 +265,7 @@ > } > } > >- private void writeLicenses(License license) { >+ private void writeLicenses(ILicense license) { > if (license != null) { > // In the future there may be more than one license, so we write this > // as a collection of one. >@@ -265,7 +281,7 @@ > } > } > >- private void writeCopyright(Copyright copyright) { >+ private void writeCopyright(ICopyright copyright) { > if (copyright != null) { > start(COPYRIGHT_ELEMENT); > try { >Index: src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.metadata.repository/src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java,v >retrieving revision 1.28 >diff -u -r1.28 MetadataParser.java >--- src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java 22 Dec 2008 15:30:41 -0000 1.28 >+++ src/org/eclipse/equinox/internal/p2/metadata/repository/io/MetadataParser.java 24 Dec 2008 17:31:52 -0000 >@@ -16,12 +16,12 @@ > import org.eclipse.equinox.internal.p2.core.helpers.OrderedProperties; > import org.eclipse.equinox.internal.p2.metadata.ArtifactKey; > import org.eclipse.equinox.internal.p2.persistence.XMLParser; >+import org.eclipse.equinox.internal.provisional.p2.core.Version; >+import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.eclipse.equinox.internal.provisional.p2.metadata.*; > import org.eclipse.equinox.internal.provisional.p2.metadata.MetadataFactory.*; > import org.eclipse.equinox.internal.provisional.spi.p2.metadata.repository.RepositoryReference; >-import org.eclipse.equinox.internal.provisional.p2.core.VersionRange; > import org.osgi.framework.BundleContext; >-import org.eclipse.equinox.internal.provisional.p2.core.Version; > import org.xml.sax.Attributes; > import org.xml.sax.ContentHandler; > >@@ -240,7 +240,7 @@ > if (isValidXML()) { > if (requirementChangesHandler != null) { > currentUnit = new MetadataFactory.InstallableUnitPatchDescription(); >- ((InstallableUnitPatchDescription) currentUnit).setRequirementChanges((RequirementChange[]) requirementChangesHandler.getRequirementChanges().toArray(new RequirementChange[requirementChangesHandler.getRequirementChanges().size()])); >+ ((InstallableUnitPatchDescription) currentUnit).setRequirementChanges((IRequirementChange[]) requirementChangesHandler.getRequirementChanges().toArray(new IRequirementChange[requirementChangesHandler.getRequirementChanges().size()])); > if (applicabilityScopeHandler != null) > ((InstallableUnitPatchDescription) currentUnit).setApplicabilityScope(applicabilityScopeHandler.getScope()); > if (lifeCycleHandler != null) >@@ -278,18 +278,18 @@ > //End of backward compatibility > > if (licensesHandler != null) { >- License license = licensesHandler.getLicense(); >+ ILicense license = licensesHandler.getLicense(); > currentUnit.setLicense(license); > } > > if (copyrightHandler != null) { >- Copyright copyright = copyrightHandler.getCopyright(); >+ ICopyright copyright = copyrightHandler.getCopyright(); > currentUnit.setCopyright(copyright); > } > >- ProvidedCapability[] providedCapabilities = (providedCapabilitiesHandler == null ? new ProvidedCapability[0] : providedCapabilitiesHandler.getProvidedCapabilities()); >+ IProvidedCapability[] providedCapabilities = (providedCapabilitiesHandler == null ? new IProvidedCapability[0] : providedCapabilitiesHandler.getProvidedCapabilities()); > currentUnit.setCapabilities(providedCapabilities); >- RequiredCapability[] requiredCapabilities = (requiredCapabilitiesHandler == null ? new RequiredCapability[0] : requiredCapabilitiesHandler.getRequiredCapabilities()); >+ IRequiredCapability[] requiredCapabilities = (requiredCapabilitiesHandler == null ? new IRequiredCapability[0] : requiredCapabilitiesHandler.getRequiredCapabilities()); > currentUnit.setRequiredCapabilities(requiredCapabilities); > if (filterHandler != null) { > currentUnit.setFilter(filterHandler.getText()); >@@ -301,7 +301,7 @@ > } else { > // TODO: create an error > } >- TouchpointData[] touchpointData = (touchpointDataHandler == null ? new TouchpointData[0] : touchpointDataHandler.getTouchpointData()); >+ ITouchpointData[] touchpointData = (touchpointDataHandler == null ? new ITouchpointData[0] : touchpointDataHandler.getTouchpointData()); > for (int i = 0; i < touchpointData.length; i++) > currentUnit.addTouchpointData(touchpointData[i]); > if (updateDescriptorHandler != null) >@@ -328,8 +328,8 @@ > } > } > >- public RequiredCapability[][] getScope() { >- return (RequiredCapability[][]) scopes.toArray(new RequiredCapability[scopes.size()][]); >+ public IRequiredCapability[][] getScope() { >+ return (IRequiredCapability[][]) scopes.toArray(new IRequiredCapability[scopes.size()][]); > } > } > >@@ -405,7 +405,7 @@ > } > > protected void finished() { >- requirementChanges.add(new RequirementChange(from.size() == 0 ? null : (RequiredCapability) from.get(0), to.size() == 0 ? null : (RequiredCapability) to.get(0))); >+ requirementChanges.add(new RequirementChange(from.size() == 0 ? null : (IRequiredCapability) from.get(0), to.size() == 0 ? null : (IRequiredCapability) to.get(0))); > } > } > >@@ -435,10 +435,10 @@ > lifeCycleRequirement = new ArrayList(1); > } > >- public RequiredCapability getLifeCycleRequirement() { >+ public IRequiredCapability getLifeCycleRequirement() { > if (lifeCycleRequirement.size() == 0) > return null; >- return (RequiredCapability) lifeCycleRequirement.get(0); >+ return (IRequiredCapability) lifeCycleRequirement.get(0); > } > > public void startElement(String name, Attributes attributes) { >@@ -459,8 +459,8 @@ > providedCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4)); > } > >- public ProvidedCapability[] getProvidedCapabilities() { >- return (ProvidedCapability[]) providedCapabilities.toArray(new ProvidedCapability[providedCapabilities.size()]); >+ public IProvidedCapability[] getProvidedCapabilities() { >+ return (IProvidedCapability[]) providedCapabilities.toArray(new IProvidedCapability[providedCapabilities.size()]); > } > > public void startElement(String name, Attributes attributes) { >@@ -496,8 +496,8 @@ > requiredCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4)); > } > >- public RequiredCapability[] getHostRequiredCapabilities() { >- return (RequiredCapability[]) requiredCapabilities.toArray(new RequiredCapability[requiredCapabilities.size()]); >+ public IRequiredCapability[] getHostRequiredCapabilities() { >+ return (IRequiredCapability[]) requiredCapabilities.toArray(new IRequiredCapability[requiredCapabilities.size()]); > } > > public void startElement(String name, Attributes attributes) { >@@ -518,8 +518,8 @@ > requiredCapabilities = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4)); > } > >- public RequiredCapability[] getRequiredCapabilities() { >- return (RequiredCapability[]) requiredCapabilities.toArray(new RequiredCapability[requiredCapabilities.size()]); >+ public IRequiredCapability[] getRequiredCapabilities() { >+ return (IRequiredCapability[]) requiredCapabilities.toArray(new IRequiredCapability[requiredCapabilities.size()]); > } > > public void startElement(String name, Attributes attributes) { >@@ -535,7 +535,7 @@ > private final String[] required = new String[] {NAMESPACE_ATTRIBUTE, NAME_ATTRIBUTE, VERSION_RANGE_ATTRIBUTE}; > private final String[] optional = new String[] {CAPABILITY_OPTIONAL_ATTRIBUTE, CAPABILITY_MULTIPLE_ATTRIBUTE, CAPABILITY_GREED_ATTRIBUTE}; > >- private RequiredCapability currentCapability = null; >+ private IRequiredCapability currentCapability = null; > > private TextHandler filterHandler = null; > private CapabilitySelectorsHandler selectorsHandler = null; >@@ -641,7 +641,7 @@ > > private final String[] required = new String[] {ID_ATTRIBUTE, VERSION_ATTRIBUTE}; > >- TouchpointType touchpointType = null; >+ ITouchpointType touchpointType = null; > > public TouchpointTypeHandler(AbstractHandler parentHandler, Attributes attributes) { > super(parentHandler, TOUCHPOINT_TYPE_ELEMENT); >@@ -650,7 +650,7 @@ > touchpointType = MetadataFactory.createTouchpointType(values[0], version); > } > >- public TouchpointType getTouchpointType() { >+ public ITouchpointType getTouchpointType() { > return touchpointType; > } > >@@ -661,7 +661,7 @@ > > protected class TouchpointDataHandler extends AbstractHandler { > >- TouchpointData touchpointData = null; >+ ITouchpointData touchpointData = null; > > List data = null; > >@@ -671,8 +671,8 @@ > data = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(4)); > } > >- public TouchpointData[] getTouchpointData() { >- TouchpointData[] result = new TouchpointData[data.size()]; >+ public ITouchpointData[] getTouchpointData() { >+ ITouchpointData[] result = new ITouchpointData[data.size()]; > for (int i = 0; i < result.length; i++) > result[i] = ((TouchpointInstructionsHandler) data.get(i)).getTouchpointData(); > return result; >@@ -697,7 +697,7 @@ > instructions = (size != null ? new LinkedHashMap(new Integer(size).intValue()) : new LinkedHashMap(4)); > } > >- public TouchpointData getTouchpointData() { >+ public ITouchpointData getTouchpointData() { > return MetadataFactory.createTouchpointData(instructions); > } > >@@ -770,10 +770,10 @@ > licenses = (size != null ? new ArrayList(new Integer(size).intValue()) : new ArrayList(2)); > } > >- public License getLicense() { >+ public ILicense getLicense() { > if (licenses.size() == 0) > return null; >- return (License) licenses.get(0); >+ return (ILicense) licenses.get(0); > } > > public void startElement(String name, Attributes attributes) { >@@ -814,7 +814,7 @@ > protected class CopyrightHandler extends TextHandler { > > URI location = null; >- private Copyright copyright; >+ private ICopyright copyright; > > public CopyrightHandler(AbstractHandler parentHandler, Attributes attributes) { > super(parentHandler, COPYRIGHT_ELEMENT); >@@ -827,7 +827,7 @@ > } > } > >- public Copyright getCopyright() { >+ public ICopyright getCopyright() { > return copyright; > } > } >#P org.eclipse.equinox.p2.tests.ui >Index: src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementCollectorTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementCollectorTest.java,v >retrieving revision 1.4 >diff -u -r1.4 CategoryElementCollectorTest.java >--- src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementCollectorTest.java 5 Dec 2008 15:29:10 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/ui/query/CategoryElementCollectorTest.java 24 Dec 2008 17:31:54 -0000 >@@ -10,10 +10,11 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.ui.query; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import org.eclipse.equinox.internal.p2.ui.model.CategoryElement; > import org.eclipse.equinox.internal.p2.ui.query.CategoryElementCollector; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.query.Collector; > import org.eclipse.equinox.p2.tests.MockQueryable; > >@@ -83,7 +84,7 @@ > assertEquals("1.6", 1, collector.size()); > > //adding a nested category shouldn't affected size >- RequiredCapability[] required = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "category1", null); >+ IRequiredCapability[] required = createRequiredCapabilities(IInstallableUnit.NAMESPACE_IU_ID, "category1", null); > IInstallableUnit nested = createIU("Nested", required); > collector.accept(nested); > assertEquals("1.7", 1, collector.size()); >Index: src/org/eclipse/equinox/p2/tests/ui/query/IUPropertyUtilsTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/IUPropertyUtilsTest.java,v >retrieving revision 1.4 >diff -u -r1.4 IUPropertyUtilsTest.java >--- src/org/eclipse/equinox/p2/tests/ui/query/IUPropertyUtilsTest.java 5 Dec 2008 15:29:10 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/ui/query/IUPropertyUtilsTest.java 24 Dec 2008 17:31:54 -0000 >@@ -10,6 +10,10 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.ui.query; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.ILicense; >+ >+import org.eclipse.equinox.internal.provisional.p2.metadata.ICopyright; >+ > import java.io.File; > import java.net.URI; > import org.eclipse.equinox.internal.p2.core.helpers.ServiceHelper; >@@ -41,9 +45,9 @@ > assertTrue("1.0", !result.isEmpty()); > IInstallableUnit unit = (IInstallableUnit) result.iterator().next(); > >- Copyright copyright = org.eclipse.equinox.internal.provisional.p2.ui.IUPropertyUtils.getCopyright(unit); >+ ICopyright copyright = org.eclipse.equinox.internal.provisional.p2.ui.IUPropertyUtils.getCopyright(unit); > assertEquals("1.1", "Test Copyright", copyright.getBody()); >- License license = IUPropertyUtils.getLicense(unit); >+ ILicense license = IUPropertyUtils.getLicense(unit); > assertEquals("1.2", "Test License", license.getBody()); > // assertEquals("1.3", "license.html", license.getURL().toExternalForm()); > String name = IUPropertyUtils.getIUProperty(unit, IInstallableUnit.PROP_NAME); >Index: src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.tests.ui/src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java,v >retrieving revision 1.4 >diff -u -r1.4 AnyRequiredCapabilityTest.java >--- src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java 5 Dec 2008 15:29:11 -0000 1.4 >+++ src/org/eclipse/equinox/p2/tests/ui/query/AnyRequiredCapabilityTest.java 24 Dec 2008 17:31:54 -0000 >@@ -10,12 +10,13 @@ > *******************************************************************************/ > package org.eclipse.equinox.p2.tests.ui.query; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.net.URI; > import java.util.ArrayList; > import java.util.List; > import org.eclipse.equinox.internal.p2.ui.query.AnyRequiredCapabilityQuery; > import org.eclipse.equinox.internal.provisional.p2.metadata.IInstallableUnit; >-import org.eclipse.equinox.internal.provisional.p2.metadata.RequiredCapability; > import org.eclipse.equinox.internal.provisional.p2.metadata.repository.IMetadataRepositoryManager; > import org.eclipse.equinox.internal.provisional.p2.query.Collector; > import org.eclipse.equinox.internal.provisional.p2.ui.QueryableMetadataRepositoryManager; >@@ -27,7 +28,7 @@ > */ > public class AnyRequiredCapabilityTest extends AbstractQueryTest { > public void testMatchOtherObjects() { >- RequiredCapability[] requires = createRequiredCapabilities("org.eclipse.equinox.p2.iu", "test.bundle", null); >+ IRequiredCapability[] requires = createRequiredCapabilities("org.eclipse.equinox.p2.iu", "test.bundle", null); > AnyRequiredCapabilityQuery query = new AnyRequiredCapabilityQuery(requires); > IInstallableUnit match = createIU("test.bundle"); > IInstallableUnit noMatch = createIU("another.bundle"); >@@ -52,7 +53,7 @@ > IMetadataRepositoryManager metadataRepositoryManager = getMetadataRepositoryManager(); > metadataRepositoryManager.addRepository(location); > QueryableMetadataRepositoryManager manager = new QueryableMetadataRepositoryManager(Policy.getDefault(), false); >- RequiredCapability[] requires = createRequiredCapabilities("org.eclipse.equinox.p2.iu", "test.bundle", null); >+ IRequiredCapability[] requires = createRequiredCapabilities("org.eclipse.equinox.p2.iu", "test.bundle", null); > AnyRequiredCapabilityQuery query = new AnyRequiredCapabilityQuery(requires); > Collector result = manager.query(query, new Collector(), getMonitor()); > assertEquals("1.0", 1, result.size()); >#P org.eclipse.equinox.p2.selfhosting >Index: src/org/eclipse/equinox/internal/p2/selfhosting/FlavorVisitor.java >=================================================================== >RCS file: /cvsroot/rt/org.eclipse.equinox/p2/bundles/org.eclipse.equinox.p2.selfhosting/src/org/eclipse/equinox/internal/p2/selfhosting/FlavorVisitor.java,v >retrieving revision 1.11 >diff -u -r1.11 FlavorVisitor.java >--- src/org/eclipse/equinox/internal/p2/selfhosting/FlavorVisitor.java 22 Dec 2008 15:30:49 -0000 1.11 >+++ src/org/eclipse/equinox/internal/p2/selfhosting/FlavorVisitor.java 24 Dec 2008 17:31:55 -0000 >@@ -8,6 +8,8 @@ > ******************************************************************************/ > package org.eclipse.equinox.internal.p2.selfhosting; > >+import org.eclipse.equinox.internal.provisional.p2.metadata.IRequiredCapability; >+ > import java.io.BufferedInputStream; > import java.io.IOException; > import java.util.*; >@@ -51,7 +53,7 @@ > } > > private void processRemoval(String flavorName) { >- RequiredCapability flavorCapability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_FLAVOR, flavorName, VersionRange.emptyRange, null, false, false); >+ IRequiredCapability flavorCapability = MetadataFactory.createRequiredCapability(IInstallableUnit.NAMESPACE_FLAVOR, flavorName, VersionRange.emptyRange, null, false, false); > repo.removeInstallableUnits(new CapabilityQuery(flavorCapability), null); > } >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 256359
:
120442
|
121187
|
121190
|
121197
|
121223
|
121328