Community
Participate
Working Groups
We've added several new fields to the metadata (description in a requirement, URI in a license, URI in a update descriptor, etc.) and we need to verify that all fields of each metadata type is properly persisted.
Created attachment 162484 [details] patch to read/write update descriptor location This patch adds read/write for the IUpdateDescriptor.getLocation() I needed this for my EclipseCon demo. This patch introduces new API on MetadataFactory so I couldn't commit it, and I felt we may as well figure out what new API is needed for all of this before bugging the PMC.
Steffen, you'll need this patch in your workspace when/if you build RCP Cloud version 1.0. I've sent you email with more detail.
Created attachment 162485 [details] modified patch to include parsing of location Thanks Susan. I had to add another slight modification to MetadataParser to parse the actual URI but other than that it works great!
Created attachment 162486 [details] mylyn/context/zip
This is API-affecting, as it requires adding methods to a public class.
Created attachment 164122 [details] patch Updated patch.
Created attachment 164376 [details] patch
Created attachment 164635 [details] patch
I created bug 308997 about creating and using a RequirementDescription object in the future. I started coding this but it started introducing too many API changes at this point in the release cycle. So I just added a couple of new methods to MetadataFactory to minimize the API change. Adding Tom to the CC for PMC approval for these API changes. There are 3 method additions to the MetadataFactory class. They are all the same as already existing methods except they add a new (previously missing) parameter. These parameter additions are necessary because without them there are no (API) ways to create a Requirement object with a description or an UpdateDescriptor with a location.
(In reply to comment #9) > I created bug 308997 about creating and using a RequirementDescription object > in the future. I started coding this but it started introducing too many API > changes at this point in the release cycle. So I just added a couple of new > methods to MetadataFactory to minimize the API change. > > Adding Tom to the CC for PMC approval for these API changes. There are 3 method > additions to the MetadataFactory class. They are all the same as already > existing methods except they add a new (previously missing) parameter. > > These parameter additions are necessary because without them there are no (API) > ways to create a Requirement object with a description or an UpdateDescriptor > with a location. Is MetadataFactory intended to be implemented by clients? If not we should add @noextend @noimplement to the javadoc. If so then this will have an impact on clients. What is the impact, who is implementing etc.
No, it is declared as being final. I will add the annotations though to be more explicit.
(In reply to comment #11) > No, it is declared as being final. I will add the annotations though to be more > explicit. Thanks, that makes sense. Sorry I missed that. I approve the addition. Any way you could add javadoc to these additions? I realize even the previous methods you are overloading with additional parameters are not javadoc'ed, but it would really help make sense of all the public methods on MetadataFactory that take different params.
Javadoc on API? Are you crazy? I'll see what I can do. :-)
I opened bug 309214 to address getting the rest of the class javadoc'd. Closing.
Olivier, Could you please add the following methods to the api exception list that showed up in last night's API report: org.eclipse.equinox.p2.metadata.MetadataFactory#IRequirement createRequirement(String, String, VersionRange, IMatchExpression, int, int, boolean, String) org.eclipse.equinox.p2.metadata.MetadataFactory#IRequirement createRequirement(IMatchExpression, IMatchExpression, int, int, boolean, String) org.eclipse.equinox.p2.metadata.MetadataFactory#IUpdateDescriptor createUpdateDescriptor(String, VersionRange, int, String, URI)
Sure. I'll take care of this.
Done. I also added as commented entries the new entries for SWT (they added @noreference tag)