----- Original Message -----
Sent: Friday, March 16, 2007 1:53
AM
Subject: [higgins-dev] upcoming (breaking
and non breaking) IdAS changes
This is a list of IdAS changes (as well as changes to make other modules
adhere to the IdAS changes) I plan to commit.
IdAS interface changes which break CP's and/or IdAS consumers:
* Changes to IContext
** No longer extends IHasRelationhips<URI>. Instead, it
directly declares the methods: getRelationships, addRelationship, and
removeRelationship (I just moved the methods here, I haven't yet changed their
arguments or return values).
** createFilter renamed to buildFilter. There are a number of similar
changes were made to make it more obvious that these objects are being built
but not added to the backing data store. The new build* methods take
Iteration rather than strongly-typed Iterable<someclass>
** Added these methods (was create* on IFilter):
buildAttributeAssertion, buildCUIDAssertion, buildMetadataAssertion,
buildTypeAssertion
** Added buildPropertyValue
** Added buildProperty (was createProeprty on IHasProperties)
** Added buildAttribute (was createAttribute on IHasAttributes)
** Added buildMetadata (was createMetadata on IHasMetadata)
** Added buildRelationship (was createRelationship on
IHasRelationships)
** Changed addSubject (was a mix of addSubject and
createSubject)
** Changed updateSubject to take an Iterator of UpdateOperation
objects
* IFilter: Removed create* and moved to build* on IContext
* IHasAttributes changes
** Removed createAttribute, addAttribute, removeAttribute
** getAttribute takes an Iterator of IMetadata objects
* IHasMetadata changes
** Removed createMetadata, addMetadata, removeMetadata
** Added getMetadata
* IHasProperties changes
** Removed createMetadata, addMetadata, removeMetadata
* Deleted IHasRelationships
* IProperty changes:
** getValue now takes a BehaviorOnMulti enum arg which specifies behavior
when multiple values exist
** Removed setValue
* AbstractComplexValue, AuthNAnonymousMaterials,
AuthNLeastPrivilegedUserMaterials, AuthNLeastPrivilegedUserMaterials,
AuthNPropertiesMaterials, and AuthNSelfIssuedMaterials ctors takes
an Iteration rather than Iterable<IProperty>
* BasicAttribute ctors, and other methods changed to match changes to
IProperty
* BasicAttributeSet ctor and other methods changed to match changes to
IHasAttributes
* Changed BasicComplexValue to match IComplexValue
* Changed BasicFilter to match IFilter
* Changed BasicMetadata to match IMetadata
* Changed BasicMetadataSet to match IHasMetadata
* Changed BasicProperty to match IProperty
* Changed BasicPropertySet to match IHasProperties
* Changed BasicSimpleValue and BasicValue* to match
ISimpleValue
Other IdAS changes:
* Added BehaviorOnMulti enum
* Added MultipleValuesExistException
* Added UpdateOperation
* Added org.eclipse.higgins.idas.cp.toolkit.BasicContext
** CP's can extend this to get common code and always be up to date with
IdAS
** Plan to move other Basic* classes over to this package.
Changes to other modules:
* JNDIContext
** extends BasicContext instead of implements IContext
*** removed methods that were implemented by (and in the same way as)
BasicContext
*** implemented removeSubject, addSubject, and updateSubject
* JNDIContextFactory
** extends BasicMetadataSet for metadata methods
* JNDIDigitalSubject
** extends BasicMetadataSet
** changed to match IDigitalSubject
*JNDICPTest
** Added test for update operations
** Use new build* methods for filter and assertions
*IssueHandler
** Pass extra arg (null) to IDigitalSubject.getAttribute
** Pass extra arg *BehaviorOnMulti.IGNORE) to IAttribute.getValue.
*** Mike, you probably want to review this to see if you'd rather
pass BehaviorOnMulti.THROW
updated javadoc for IdAS can be found
here
If no one has any issues with this set of changes, I'll commit
tomorrow.
Are there any other IdAS CPs or IdAS consumers that want me to edit their
code for them?
Jim
_______________________________________________
higgins-dev mailing
list
higgins-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/higgins-dev