Ticket #472 (closed Enhancement: fixed)
Core Service: generic property handling methods
Reported by: | jri | Owned by: | jri |
---|---|---|---|
Priority: | Major | Milestone: | Release 4.2 |
Component: | DeepaMehta Standard Distribution | Version: | 4.1 |
Keywords: | Cc: | dgf, Malte | |
Complexity: | 3 | Area: | Application Framework / API |
Module: | deepamehta-core |
Description
Currently the Core Service's property handling methods are aimed at Access Control information.
Other plugins want store properties too, e.g. a Time plugin want store/fetch time stamps.
Change History
comment:2 Changed 11 years ago by jri
- Status changed from accepted to closed
- Resolution set to fixed
The DeepaMehta Core service provides 3 new methods for handling generic properties:
- getProperty()
- setProperty()
- hasProperty()
AccessControl? service:
- getACL() is new method
BREAKING CHANGES
DeepaMehta Core service:
- 6 methods are dropped:
- getACL()
- setACL()
- getCreator()
- setCreator()
- getOwner()
- setOwner()
- 4 classes have moved from package de.deepamehta.core.service.accesscontrol to
de.deepamehta.plugins.accesscontrol.model:
- AccessControlList?
- ACLEntry
- Operation
- UserRole?
You must adapt your imports.
Changeset: ec7088ff232e37551956dbd15d6cb01b90d885bf
comment:3 Changed 11 years ago by jri
- Status changed from closed to reopened
- Resolution fixed deleted
We also need removeProperty() methods.
These would be required when a migration want to rename a property.
comment:4 Changed 11 years ago by jri
Core API: add removeProperty() methods (#472).
The Core service has 2 new methods:
- void removeTopicProperty(long topicId, String propUri)
- void removeAssociationProperty(long assocId, String propUri)
See #472.
Changeset: 96542e4f6aedb3119cec8b9e941def2b6572813e
comment:5 Changed 11 years ago by jri
The property API should be polished. The topic/association related property methods (get, set, has, remove) should be polymorph and move to the DeepaMehtaObject? base class.
comment:6 Changed 11 years ago by jri
Core: property API is polymorph (#472).
BREAKING CHANGE
The topic/association related property methods (get, set, has, remove) are polymorph. They are removed from the Core Service API and located now in the DeepaMehtaObject? base class.
- Object getProperty(String propUri);
- void setProperty(String propUri, Object propValue, boolean addToIndex);
- boolean hasProperty(String propUri);
- void removeProperty(String propUri);
See #472.
Changeset: 8d246efbccf5874fb9673409df1674d697d70851
comment:7 Changed 11 years ago by jri
Access Control: API is polymorph (#472).
BREAKING CHANGE
The getters and setters for creator/owner/acl do not distinguih between topics and associations but take a generic DeepaMehtaObject?.
String getCreator(DeepaMehtaObject? object);
void setCreator(DeepaMehtaObject? object, String username);
String getOwner(DeepaMehtaObject? object);
void setOwner(DeepaMehtaObject? object, String username);
AccessControlList? getACL(DeepaMehtaObject? object);
void setACL(DeepaMehtaObject? object, AccessControlList? acl);
See #472.
Changeset: 2c94772e4864dd9a6a1fde87c62346408b33dffe
comment:8 Changed 11 years ago by jri
Time API is polymorph (#472, #386).
BREAKING CHANGE
The timestamp getters and setters do not distinguih between topics and associations but take a generic DeepaMehtaObject?.
long getCreationTime(DeepaMehtaObject? object)
long getModificationTime(DeepaMehtaObject? object)
Changeset: 854a83b2a42941d0b0befeab3655d479358be922