You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by cp...@apache.org on 2016/11/28 21:13:31 UTC
[04/10] directory-fortress-core git commit: implemented update method
implemented update method
Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/commit/ea5f0231
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/ea5f0231
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/ea5f0231
Branch: refs/heads/master
Commit: ea5f0231e469178da91d83271304351e6b60272c
Parents: 8aff1cc
Author: clp207 <cl...@psu.edu>
Authored: Thu Oct 27 12:25:08 2016 -0400
Committer: clp207 <cl...@psu.edu>
Committed: Thu Oct 27 12:25:08 2016 -0400
----------------------------------------------------------------------
.../fortress/core/impl/PropertyDAO.java | 20 +++++++++++++++++++-
1 file changed, 19 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/ea5f0231/src/main/java/org/apache/directory/fortress/core/impl/PropertyDAO.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/PropertyDAO.java b/src/main/java/org/apache/directory/fortress/core/impl/PropertyDAO.java
index 051717b..15dcf16 100644
--- a/src/main/java/org/apache/directory/fortress/core/impl/PropertyDAO.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/PropertyDAO.java
@@ -73,7 +73,25 @@ public class PropertyDAO extends LdapDataProvider
}
public FortEntity updateProperties( FortEntity entity, Properties properties, PropertyProvider propProvider ) throws UpdateException, FinderException{
- return null;
+ //ftProps all have same name, so will need to delete proprs first, then readd ones that are approprirate
+
+ //get current properties
+ Properties currentProps = this.getProperties( entity, propProvider );
+ Properties toDeleteProps = new Properties();
+
+ //look for proeprties (ftProp=key:value) that are being updated and add to delete list
+ for(Object key : properties.keySet()){
+ String value = currentProps.getProperty( (String)key );
+ toDeleteProps.put( (String)key, value );
+ }
+
+ //delete exising properties
+ this.deleteProperties( entity, toDeleteProps, propProvider );
+
+ //add the udpates back
+ this.addProperties( entity, properties, propProvider );
+
+ return propProvider.getEntity( entity );
}
public void deleteProperties( FortEntity entity, Properties properties, PropertyProvider propProvider ) throws UpdateException, FinderException{