You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2014/10/29 06:10:22 UTC
[1/8] git commit: Removed an empty package
Repository: directory-fortress-core
Updated Branches:
refs/heads/master 01427ed84 -> 5cd9cbd17
Removed an empty package
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/0fb5d42a
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/0fb5d42a
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/0fb5d42a
Branch: refs/heads/master
Commit: 0fb5d42a183488e60fbb852b943346b5e4647ddb
Parents: 254f3ba
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 05:56:47 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 05:56:47 2014 +0100
----------------------------------------------------------------------
.../fortress/core/ldap/openldap/package.html | 33 --------------------
1 file changed, 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/0fb5d42a/src/main/java/org/apache/directory/fortress/core/ldap/openldap/package.html
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ldap/openldap/package.html b/src/main/java/org/apache/directory/fortress/core/ldap/openldap/package.html
deleted file mode 100755
index ee649fc..0000000
--- a/src/main/java/org/apache/directory/fortress/core/ldap/openldap/package.html
+++ /dev/null
@@ -1,33 +0,0 @@
-<!--
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
--->
-<html>
- <head>
- <title>Package Documentation for org.apache.directory.fortress.ldap.openldap</title>
- </head>
- <body>
- <p>
- This package contains openldap password policy mappings.
- </p>
- <p>
- This package stores and retrieves data elements in OpenLDAP ldap object class <b>pwdPolicy</b>. In addition this package
- contains processing to interrogate the OpenLDAP password policy control <b>1.3.6.1.4.1.42.2.27.8.5.1</b>.
- </p>
- </body>
-</html>
[7/8] git commit: Fixed a wrong comment
Posted by el...@apache.org.
Fixed a wrong comment
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/bc5c551f
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/bc5c551f
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/bc5c551f
Branch: refs/heads/master
Commit: bc5c551fe2bbd1955271728b575b5aef9699aea9
Parents: 11a7d59
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 06:08:37 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 06:08:37 2014 +0100
----------------------------------------------------------------------
pom.xml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/bc5c551f/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index bee8ea0..b134014 100644
--- a/pom.xml
+++ b/pom.xml
@@ -152,7 +152,8 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xs
<!-- This is a hack to allow someone to release -->
<!-- without having to run the tests. In order to -->
<!-- do so, just tpe : -->
- <!-- mvn release:prepare -Drelease.arguments="-N -Prelease" -->
+ <!-- mvn release:prepare -->
+ <!-- -Drelease.arguments="-DskipTests -Prelease" -->
<!-- ===================================================== -->
<release.arguments></release.arguments>
</properties>
[4/8] git commit: o Removed some compilation warnings o Expanded the
import *
Posted by el...@apache.org.
o Removed some compilation warnings
o Expanded the import *
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/8818908c
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/8818908c
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/8818908c
Branch: refs/heads/master
Commit: 8818908cce6895af35bf78d14b828a3f6a18258e
Parents: 627899e
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 06:02:34 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 06:02:34 2014 +0100
----------------------------------------------------------------------
.../fortress/core/ldap/group/GroupMgrImpl.java | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/8818908c/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupMgrImpl.java b/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupMgrImpl.java
index 8c5722a..d85d3ea 100755
--- a/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupMgrImpl.java
@@ -19,7 +19,9 @@
*/
package org.apache.directory.fortress.core.ldap.group;
-import org.apache.directory.fortress.core.*;
+import org.apache.directory.fortress.core.GlobalErrIds;
+import org.apache.directory.fortress.core.ReviewMgr;
+import org.apache.directory.fortress.core.ReviewMgrFactory;
import org.apache.directory.fortress.core.SecurityException;
import org.apache.directory.fortress.core.rbac.Manageable;
import org.apache.directory.fortress.core.rbac.User;
@@ -57,6 +59,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
String methodName = "add";
assertContext(CLS_NM, methodName, group, GlobalErrIds.GROUP_NULL);
checkAccess(CLS_NM, methodName);
+
if(!group.isMemberDn())
{
loadUserDns( group );
@@ -80,6 +83,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
String methodName = "update";
assertContext(CLS_NM, methodName, group, GlobalErrIds.GROUP_NULL);
checkAccess(CLS_NM, methodName);
+
return groupP.update( group );
}
@@ -96,6 +100,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
String methodName = "delete";
assertContext(CLS_NM, methodName, group, GlobalErrIds.GROUP_NULL);
checkAccess(CLS_NM, methodName);
+
return groupP.delete( group );
}
@@ -113,6 +118,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
String methodName = "addProperty";
assertContext(CLS_NM, methodName, group, GlobalErrIds.GROUP_NULL);
checkAccess(CLS_NM, methodName);
+
return groupP.add( group, key, value );
}
@@ -130,6 +136,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
String methodName = "deleteProperty";
assertContext(CLS_NM, methodName, group, GlobalErrIds.GROUP_NULL);
checkAccess(CLS_NM, methodName);
+
return groupP.delete( group, key, value );
}
@@ -146,6 +153,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
String methodName = "read";
assertContext(CLS_NM, methodName, group, GlobalErrIds.GROUP_NULL);
checkAccess(CLS_NM, methodName);
+
return groupP.read( group );
}
@@ -162,6 +170,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
String methodName = "find";
assertContext(CLS_NM, methodName, group, GlobalErrIds.GROUP_NULL);
checkAccess(CLS_NM, methodName);
+
return groupP.search( group );
}
@@ -178,6 +187,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
assertContext(CLS_NM, methodName, user, GlobalErrIds.USER_NULL);
checkAccess(CLS_NM, methodName);
loadUserDn( user );
+
return groupP.search( user );
}
@@ -197,6 +207,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
checkAccess(CLS_NM, methodName);
ReviewMgr reviewMgr = ReviewMgrFactory.createInstance();
User user = reviewMgr.readUser( new User( member ) );
+
return groupP.assign( group, user.getDn() );
}
@@ -216,6 +227,7 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
checkAccess(CLS_NM, methodName);
ReviewMgr reviewMgr = ReviewMgrFactory.createInstance();
User user = reviewMgr.readUser( new User( member ) );
+
return groupP.deassign( group, user.getDn() );
}
@@ -224,12 +236,14 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
if( VUtil.isNotNullOrEmpty( group.getMembers() ))
{
ReviewMgr reviewMgr = ReviewMgrFactory.createInstance();
- List<String> userDns = new ArrayList<>();
+ List<String> userDns = new ArrayList<String>();
+
for( String member : group.getMembers() )
{
User user = reviewMgr.readUser( new User( member ) );
userDns.add( user.getDn() );
}
+
group.setMembers( userDns );
}
}
@@ -237,7 +251,6 @@ public class GroupMgrImpl extends Manageable implements GroupMgr
private void loadUserDn( User inUser ) throws SecurityException
{
ReviewMgr reviewMgr = ReviewMgrFactory.createInstance();
- String userDns;
User outUser = reviewMgr.readUser( inUser );
inUser.setDn( outUser.getDn() );
}
[8/8] git commit: Merge branch 'master' of
https://git-wip-us.apache.org/repos/asf/directory-fortress-core
Posted by el...@apache.org.
Merge branch 'master' of https://git-wip-us.apache.org/repos/asf/directory-fortress-core
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/5cd9cbd1
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/5cd9cbd1
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/5cd9cbd1
Branch: refs/heads/master
Commit: 5cd9cbd17e683616b65f948383cb4e2cb5887019
Parents: bc5c551 01427ed
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 06:10:02 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 06:10:02 2014 +0100
----------------------------------------------------------------------
build.properties | 15 +++---
build.xml | 16 +++---
config/bootstrap/fortress.properties.src | 8 ++-
config/fortress.properties.src | 13 +++++
ldap/setup/refreshLDAPData-src.xml | 4 --
ldap/slapd.conf.src | 1 +
.../core/ldap/ApacheDsDataProvider.java | 56 ++++++++++++++++----
.../directory/fortress/core/rbac/PolicyDAO.java | 5 +-
.../fortress/core/util/attr/AttrHelper.java | 15 +++---
9 files changed, 92 insertions(+), 41 deletions(-)
----------------------------------------------------------------------
[2/8] git commit: Removed some compilation warning
Posted by el...@apache.org.
Removed some compilation warning
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/df0dea2e
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/df0dea2e
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/df0dea2e
Branch: refs/heads/master
Commit: df0dea2e6ce1ce730fbd768234c21bebd405a265
Parents: 0fb5d42
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 05:58:01 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 05:58:01 2014 +0100
----------------------------------------------------------------------
.../org/apache/directory/fortress/core/ldap/group/Group.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/df0dea2e/src/main/java/org/apache/directory/fortress/core/ldap/group/Group.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ldap/group/Group.java b/src/main/java/org/apache/directory/fortress/core/ldap/group/Group.java
index 2488205..87689ec 100755
--- a/src/main/java/org/apache/directory/fortress/core/ldap/group/Group.java
+++ b/src/main/java/org/apache/directory/fortress/core/ldap/group/Group.java
@@ -47,6 +47,7 @@ import java.util.StringTokenizer;
})
public class Group extends FortEntity implements Serializable
{
+ private static final long serialVersionUID = 1L;
private String name;
private String description;
private String protocol;
@@ -251,7 +252,8 @@ public class Group extends FortEntity implements Serializable
{
// reset the existing properties stored in this entity.
props = new Props();
- for ( Enumeration e = properties.propertyNames(); e.hasMoreElements(); )
+
+ for ( Enumeration<?> e = properties.propertyNames(); e.hasMoreElements(); )
{
// This LDAP attr is stored as a name-value pair separated by a ':'.
String key = ( String ) e.nextElement();
[5/8] git commit: Used the defined SchemaConstants constants for
MEMBER instead of having some locally defined one.
Posted by el...@apache.org.
Used the defined SchemaConstants constants for MEMBER instead of
having some locally defined one.
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/c68593c1
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/c68593c1
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/c68593c1
Branch: refs/heads/master
Commit: c68593c1f31b4bdda0dc6ae420f35f1e5479f98b
Parents: 8818908
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 06:03:59 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 06:05:52 2014 +0100
----------------------------------------------------------------------
.../fortress/core/ldap/suffix/SuffixDAO.java | 17 +++++++++--------
.../directory/fortress/core/rbac/SDUtil.java | 7 ++++---
2 files changed, 13 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/c68593c1/src/main/java/org/apache/directory/fortress/core/ldap/suffix/SuffixDAO.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ldap/suffix/SuffixDAO.java b/src/main/java/org/apache/directory/fortress/core/ldap/suffix/SuffixDAO.java
index ba181fc..49ff943 100755
--- a/src/main/java/org/apache/directory/fortress/core/ldap/suffix/SuffixDAO.java
+++ b/src/main/java/org/apache/directory/fortress/core/ldap/suffix/SuffixDAO.java
@@ -20,6 +20,7 @@
package org.apache.directory.fortress.core.ldap.suffix;
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.cursor.CursorException;
import org.apache.directory.api.ldap.model.entry.DefaultEntry;
import org.apache.directory.api.ldap.model.entry.Entry;
@@ -28,7 +29,6 @@ import org.apache.directory.ldap.client.api.LdapConnection;
import org.apache.directory.fortress.core.ldap.ApacheDsDataProvider;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
import org.apache.directory.fortress.core.CreateException;
import org.apache.directory.fortress.core.GlobalErrIds;
import org.apache.directory.fortress.core.GlobalIds;
@@ -69,8 +69,6 @@ final class SuffixDAO extends ApacheDsDataProvider
{
private static final String CLS_NM = SuffixDAO.class.getName();
private static final Logger LOG = LoggerFactory.getLogger( CLS_NM );
- private static final String DC = "dc";
- private static final String O = "o";
private static final String[] SUFFIX_OBJ_CLASS =
{
GlobalIds.SUFFIX_CLASS, GlobalIds.ORGANIZATION_CLASS
@@ -99,8 +97,8 @@ final class SuffixDAO extends ApacheDsDataProvider
LOG.info( "create suffix dn [" + nodeDn + "]" );
Entry myEntry = new DefaultEntry( nodeDn );
myEntry.add( GlobalIds.OBJECT_CLASS, SUFFIX_OBJ_CLASS );
- myEntry.add( DC, se.getName() );
- myEntry.add( O, se.getDescription() );
+ myEntry.add( SchemaConstants.DC_AT, se.getName() );
+ myEntry.add( SchemaConstants.O_AT, se.getDescription() );
ld = getAdminConnection();
add( ld, myEntry );
}
@@ -166,13 +164,16 @@ final class SuffixDAO extends ApacheDsDataProvider
*/
private String getDn( Suffix se )
{
- String dn = DC + "=" + se.getName() + "," + DC + "=" + se.getDc();
+ String dn = SchemaConstants.DC_AT + "=" + se.getName() + "," + SchemaConstants.DC_AT + "=" + se.getDc();
+
// only use this domain component variable if it has been set in the build.properties file:
if( VUtil.isNotNullOrEmpty( se.getDc2() ) && !se.getDc2().equals( "${suffix.dc2}" ))
{
- dn += "," + DC + "=" + se.getDc2();
+ dn += "," + SchemaConstants.DC_AT + "=" + se.getDc2();
}
- LOG.debug( "suffix=" + dn );
+
+ LOG.debug( "suffix={}", dn );
+
return dn;
}
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/c68593c1/src/main/java/org/apache/directory/fortress/core/rbac/SDUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/rbac/SDUtil.java b/src/main/java/org/apache/directory/fortress/core/rbac/SDUtil.java
index 0eb4c88..52edccc 100755
--- a/src/main/java/org/apache/directory/fortress/core/rbac/SDUtil.java
+++ b/src/main/java/org/apache/directory/fortress/core/rbac/SDUtil.java
@@ -19,6 +19,7 @@
*/
package org.apache.directory.fortress.core.rbac;
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.fortress.core.GlobalErrIds;
import org.apache.directory.fortress.core.GlobalIds;
import org.apache.directory.fortress.core.ReviewMgrFactory;
@@ -30,6 +31,7 @@ import org.apache.directory.fortress.core.util.cache.Cache;
import org.apache.directory.fortress.core.util.cache.CacheMgr;
import org.apache.directory.fortress.core.util.cache.DsdCacheEntry;
import org.apache.directory.fortress.core.util.time.Constraint;
+
import net.sf.ehcache.search.Attribute;
import net.sf.ehcache.search.Query;
import net.sf.ehcache.search.Result;
@@ -56,7 +58,6 @@ final class SDUtil
private static final String FORTRESS_SSDS = "fortress.ssd";
private static final SdP sp = new SdP();
private static final String IS_DSD_CACHE_DISABLED_PARM = "enable.dsd.cache";
- private static final String MEMBER = "member";
private static final String DSD_NAME = "name";
private static final String EMPTY_ELEMENT = "empty";
private static final String CONTEXT_ID = "contextId";
@@ -242,7 +243,7 @@ final class SDUtil
contextId = getContextId(contextId);
Set<SDSet> finalSet = new HashSet<>();
Attribute<String> context = m_dsdCache.getSearchAttribute(CONTEXT_ID);
- Attribute<String> member = m_dsdCache.getSearchAttribute(MEMBER);
+ Attribute<String> member = m_dsdCache.getSearchAttribute(SchemaConstants.MEMBER_AT);
Query query = m_dsdCache.createQuery();
query.includeKeys();
query.includeValues();
@@ -303,7 +304,7 @@ final class SDUtil
else
{
// Search on roleName attribute which maps to 'member' attr on the cache record:
- Attribute<String> member = m_dsdCache.getSearchAttribute(MEMBER);
+ Attribute<String> member = m_dsdCache.getSearchAttribute(SchemaConstants.MEMBER_AT);
Attribute<String> context = m_dsdCache.getSearchAttribute(CONTEXT_ID);
Query query = m_dsdCache.createQuery();
query.includeKeys();
[6/8] git commit: o Replaced tabs with spaces o Pre-compile the
pattern, which is a constant anyway,
to save the time it takes to do it everytime the method safeText() is called.
Posted by el...@apache.org.
o Replaced tabs with spaces
o Pre-compile the pattern, which is a constant anyway, to save the time
it takes to do it everytime the method safeText() is called.
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/11a7d59c
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/11a7d59c
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/11a7d59c
Branch: refs/heads/master
Commit: 11a7d59c5a51010fb7d1e06e09b169475a065cca
Parents: c68593c
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 06:08:01 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 06:08:01 2014 +0100
----------------------------------------------------------------------
.../fortress/core/util/attr/RegExUtil.java | 64 ++++++++++++--------
1 file changed, 38 insertions(+), 26 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/11a7d59c/src/main/java/org/apache/directory/fortress/core/util/attr/RegExUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/util/attr/RegExUtil.java b/src/main/java/org/apache/directory/fortress/core/util/attr/RegExUtil.java
index 08d1f80..9b92a60 100755
--- a/src/main/java/org/apache/directory/fortress/core/util/attr/RegExUtil.java
+++ b/src/main/java/org/apache/directory/fortress/core/util/attr/RegExUtil.java
@@ -19,16 +19,19 @@
*/
package org.apache.directory.fortress.core.util.attr;
-import org.apache.directory.fortress.core.GlobalErrIds;
+import org.apache.directory.api.util.Strings;
+import org.apache.directory.fortress.core.GlobalErrIds;
import org.apache.directory.fortress.core.GlobalIds;
import org.apache.directory.fortress.core.ValidationException;
import org.apache.directory.fortress.core.cfg.Config;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+
/**
* Regular expression utilities to perform data validations on Fortress attributes. These utils use the standard
* java regular expression library.
@@ -39,30 +42,39 @@ class RegExUtil
{
private static final String CLS_NM = RegExUtil.class.getName();
private static final Logger LOG = LoggerFactory.getLogger( CLS_NM );
- private static final String safeTextPatternStr = Config.getProperty( GlobalIds.REG_EX_SAFE_TEXT );
+ private static final String SAFE_TEXT_PATTERN_STRING = Config.getProperty( GlobalIds.REG_EX_SAFE_TEXT );
+ private static Pattern SAFE_TEXT_PATTERN;
+
+ static
+ {
+ if ( ( SAFE_TEXT_PATTERN_STRING != null ) && ( SAFE_TEXT_PATTERN_STRING.length() != 0 ) )
+ {
+ SAFE_TEXT_PATTERN = Pattern.compile( SAFE_TEXT_PATTERN_STRING );
+ }
+ }
+
- /**
- * Perform safe text validation on character string.
- *
- * @param value Contains the string to check.
- * @exception org.apache.directory.fortress.core.ValidationException In the event the data validation fails.
- */
- public static void safeText(String value)
- throws ValidationException
- {
- if (safeTextPatternStr == null || safeTextPatternStr.compareTo("") == 0)
- {
- LOG.debug("safeText can't find safeText regular expression pattern. Check your Fortress cfg");
- }
- else
- {
- Pattern safeTextPattern = Pattern.compile(safeTextPatternStr);
- Matcher safeTextMatcher = safeTextPattern.matcher(value);
- if (!safeTextMatcher.find())
- {
- String error = "safeText has detected invalid value [" + value + "]";
- throw new ValidationException(GlobalErrIds.CONST_INVLD_TEXT, error);
- }
- }
- }
+ /**
+ * Perform safe text validation on character string.
+ *
+ * @param value Contains the string to check.
+ * @exception org.apache.directory.fortress.core.ValidationException In the event the data validation fails.
+ */
+ public static void safeText( String value ) throws ValidationException
+ {
+ if ( Strings.isEmpty( SAFE_TEXT_PATTERN_STRING ) )
+ {
+ LOG.debug( "safeText can't find safeText regular expression pattern. Check your Fortress cfg" );
+ }
+ else
+ {
+ Matcher safeTextMatcher = SAFE_TEXT_PATTERN.matcher( value );
+
+ if ( !safeTextMatcher.find() )
+ {
+ String error = "safeText has detected invalid value [" + value + "]";
+ throw new ValidationException( GlobalErrIds.CONST_INVLD_TEXT, error );
+ }
+ }
+ }
}
\ No newline at end of file
[3/8] git commit: o Fixed some wrong LOG parameter definition ({[]}
was used instead of [{}]) o Using the LDAP API ShcemaConstants.MEMBER_AT
constant instead of a locally defined String "member"
Posted by el...@apache.org.
o Fixed some wrong LOG parameter definition ({[]} was used instead of
[{}])
o Using the LDAP API ShcemaConstants.MEMBER_AT constant instead of a
locally defined String "member"
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/627899ed
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/627899ed
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/627899ed
Branch: refs/heads/master
Commit: 627899ed513cf3c4dbc241f306b292138368768e
Parents: df0dea2
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Wed Oct 29 06:01:14 2014 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Wed Oct 29 06:01:14 2014 +0100
----------------------------------------------------------------------
.../fortress/core/ldap/group/GroupDAO.java | 60 ++++++++++++++------
1 file changed, 43 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/627899ed/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupDAO.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupDAO.java b/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupDAO.java
index fc906ee..a46a22e 100755
--- a/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupDAO.java
+++ b/src/main/java/org/apache/directory/fortress/core/ldap/group/GroupDAO.java
@@ -1,4 +1,5 @@
/*
+
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -20,6 +21,7 @@
package org.apache.directory.fortress.core.ldap.group;
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
import org.apache.directory.api.ldap.model.cursor.CursorException;
import org.apache.directory.api.ldap.model.cursor.SearchCursor;
import org.apache.directory.api.ldap.model.entry.DefaultEntry;
@@ -41,7 +43,6 @@ import org.apache.directory.fortress.core.rbac.User;
import org.apache.directory.fortress.core.util.attr.AttrHelper;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-
import org.apache.directory.fortress.core.CreateException;
import org.apache.directory.fortress.core.GlobalErrIds;
import org.apache.directory.fortress.core.GlobalIds;
@@ -68,8 +69,7 @@ final class GroupDAO extends ApacheDsDataProvider
private static final String GROUP_PROPERTY_ATTR = "group.properties";
private static final String GROUP_PROPERTY_ATTR_IMPL = Config.getProperty( GROUP_PROPERTY_ATTR );
private static final String GROUP_OBJ_CLASS[] = {GlobalIds.TOP, GROUP_OBJECT_CLASS_IMPL};
- private static final String MEMBER = "member";
- private static final String[] GROUP_ATRS = {GlobalIds.CN, GlobalIds.DESC, GROUP_PROTOCOL_ATTR_IMPL, GROUP_PROPERTY_ATTR_IMPL, MEMBER};
+ private static final String[] GROUP_ATRS = {GlobalIds.CN, GlobalIds.DESC, GROUP_PROTOCOL_ATTR_IMPL, GROUP_PROPERTY_ATTR_IMPL, SchemaConstants.MEMBER_AT};
/**
* Package private default constructor.
@@ -87,19 +87,22 @@ final class GroupDAO extends ApacheDsDataProvider
{
LdapConnection ld = null;
String nodeDn = getDn( group.getName(), group.getContextId() );
+
try
{
- LOG.debug( "create group dn {[]}", nodeDn );
+ LOG.debug( "create group dn [{}]", nodeDn );
Entry myEntry = new DefaultEntry( nodeDn );
myEntry.add( GlobalIds.OBJECT_CLASS, GROUP_OBJ_CLASS );
myEntry.add( GlobalIds.CN , group.getName() );
myEntry.add( GROUP_PROTOCOL_ATTR_IMPL, group.getProtocol() );
- loadAttrs( group.getMembers(), myEntry, MEMBER );
+ loadAttrs( group.getMembers(), myEntry, SchemaConstants.MEMBER_AT );
loadProperties( group.getProperties(), myEntry, GROUP_PROPERTY_ATTR_IMPL, '=' );
+
if ( VUtil.isNotNullOrEmpty( group.getDescription() ) )
{
myEntry.add( GlobalIds.DESC, group.getDescription() );
}
+
ld = getAdminConnection();
add( ld, myEntry );
}
@@ -112,9 +115,11 @@ final class GroupDAO extends ApacheDsDataProvider
{
closeAdminConnection( ld );
}
+
return group;
}
+
/**
* @param group
* @return
@@ -125,22 +130,27 @@ final class GroupDAO extends ApacheDsDataProvider
{
LdapConnection ld = null;
String nodeDn = getDn( group.getName(), group.getContextId() );
+
try
{
- LOG.debug( "update group dn {[]}", nodeDn );
+ LOG.debug( "update group dn [{}]", nodeDn );
List<Modification> mods = new ArrayList<Modification>();
+
if ( VUtil.isNotNullOrEmpty( group.getDescription() ) )
{
mods.add( new DefaultModification(
ModificationOperation.REPLACE_ATTRIBUTE, GlobalIds.DESC, group.getDescription() ) );
}
+
if ( VUtil.isNotNullOrEmpty( group.getProtocol() ) )
{
mods.add( new DefaultModification(
ModificationOperation.REPLACE_ATTRIBUTE, GROUP_PROTOCOL_ATTR_IMPL, group.getProtocol() ) );
}
- loadAttrs( group.getMembers(), mods, MEMBER );
+
+ loadAttrs( group.getMembers(), mods, SchemaConstants.MEMBER_AT );
loadProperties( group.getProperties(), mods, GROUP_PROPERTY_ATTR_IMPL, true, '=' );
+
if ( mods.size() > 0 )
{
ld = getAdminConnection();
@@ -163,9 +173,10 @@ final class GroupDAO extends ApacheDsDataProvider
{
LdapConnection ld = null;
String nodeDn = getDn( group.getName(), group.getContextId() );
+
try
{
- LOG.debug( "add group property dn {[]}, key {[]}, value {[]}", nodeDn, key, value );
+ LOG.debug( "add group property dn [{}], key [{}], value [{}]", nodeDn, key, value );
List<Modification> mods = new ArrayList<Modification>();
mods.add( new DefaultModification(
ModificationOperation.ADD_ATTRIBUTE, GROUP_PROPERTY_ATTR_IMPL, key + "=" + value ) );
@@ -181,16 +192,19 @@ final class GroupDAO extends ApacheDsDataProvider
{
closeAdminConnection( ld );
}
+
return get( group );
}
+
final Group delete( Group group, String key, String value ) throws FinderException, RemoveException
{
LdapConnection ld = null;
String nodeDn = getDn( group.getName(), group.getContextId() );
+
try
{
- LOG.debug( "delete group property dn {[]}, key {[]}, value {[]}", nodeDn, key, value );
+ LOG.debug( "delete group property dn [{}], key [{}], value [{}]", nodeDn, key, value );
List<Modification> mods = new ArrayList<Modification>();
mods.add( new DefaultModification(
ModificationOperation.REMOVE_ATTRIBUTE, GROUP_PROPERTY_ATTR_IMPL, key + "=" + value ) );
@@ -220,7 +234,7 @@ final class GroupDAO extends ApacheDsDataProvider
{
LdapConnection ld = null;
String nodeDn = getDn( group.getName(), group.getContextId() );
- LOG.debug( "remove group dn {[]}", nodeDn );
+ LOG.debug( "remove group dn [{}]", nodeDn );
try
{
ld = getAdminConnection();
@@ -255,12 +269,12 @@ final class GroupDAO extends ApacheDsDataProvider
{
LdapConnection ld = null;
String dn = getDn( entity.getName(), entity.getContextId() );
- LOG.debug( "assign group property dn {[]}, member dn {[]}", dn, userDn );
+ LOG.debug( "assign group property dn [{}], member dn [{}]", dn, userDn );
try
{
List<Modification> mods = new ArrayList<Modification>();
mods.add( new DefaultModification(
- ModificationOperation.ADD_ATTRIBUTE, MEMBER, userDn ) );
+ ModificationOperation.ADD_ATTRIBUTE, SchemaConstants.MEMBER_AT, userDn ) );
ld = getAdminConnection();
modify( ld, dn, mods, entity );
}
@@ -288,12 +302,13 @@ final class GroupDAO extends ApacheDsDataProvider
{
LdapConnection ld = null;
String dn = getDn( entity.getName(), entity.getContextId() );
- LOG.debug( "deassign group property dn {[]}, member dn {[]}", dn, userDn );
+ LOG.debug( "deassign group property dn [{}], member dn [{}]", dn, userDn );
+
try
{
List<Modification> mods = new ArrayList<Modification>();
mods.add( new DefaultModification(
- ModificationOperation.REMOVE_ATTRIBUTE, MEMBER, userDn ) );
+ ModificationOperation.REMOVE_ATTRIBUTE, SchemaConstants.MEMBER_AT, userDn ) );
ld = getAdminConnection();
modify( ld, dn, mods, entity );
@@ -308,6 +323,7 @@ final class GroupDAO extends ApacheDsDataProvider
{
closeAdminConnection( ld );
}
+
return get( entity );
}
@@ -322,11 +338,13 @@ final class GroupDAO extends ApacheDsDataProvider
Group entity = null;
LdapConnection ld = null;
String dn = getDn( group.getName(), group.getContextId() );
+
try
{
ld = getAdminConnection();
Entry findEntry = read( ld, dn, GROUP_ATRS );
entity = unloadLdapEntry( findEntry, 0 );
+
if ( entity == null )
{
String warning = "read no entry found dn [" + dn + "]";
@@ -363,6 +381,7 @@ final class GroupDAO extends ApacheDsDataProvider
SearchCursor searchResults;
String groupRoot = getRootDn( group.getContextId(), GlobalIds.GROUP_ROOT );
String filter = null;
+
try
{
String searchVal = encodeSafeText( group.getName(), GlobalIds.ROLE_LEN );
@@ -390,6 +409,7 @@ final class GroupDAO extends ApacheDsDataProvider
{
closeAdminConnection( ld );
}
+
return groupList;
}
@@ -406,14 +426,16 @@ final class GroupDAO extends ApacheDsDataProvider
SearchCursor searchResults;
String groupRoot = getRootDn( user.getContextId(), GlobalIds.GROUP_ROOT );
String filter = null;
+
try
{
- String searchVal = encodeSafeText( user.getUserId(), GlobalIds.USERID_LEN );
- filter = GlobalIds.FILTER_PREFIX + GROUP_OBJECT_CLASS_IMPL + ")(" + MEMBER + "=" + user.getDn() + "))";
+ encodeSafeText( user.getUserId(), GlobalIds.USERID_LEN );
+ filter = GlobalIds.FILTER_PREFIX + GROUP_OBJECT_CLASS_IMPL + ")(" + SchemaConstants.MEMBER_AT + "=" + user.getDn() + "))";
ld = getAdminConnection();
searchResults = search( ld, groupRoot, SearchScope.ONELEVEL, filter, GROUP_ATRS, false,
GlobalIds.BATCH_SIZE );
long sequence = 0;
+
while ( searchResults.next() )
{
groupList.add( unloadLdapEntry( searchResults.getEntry(), sequence++ ) );
@@ -433,8 +455,10 @@ final class GroupDAO extends ApacheDsDataProvider
{
closeAdminConnection( ld );
}
+
return groupList;
}
+
/**
* @param le
@@ -449,12 +473,14 @@ final class GroupDAO extends ApacheDsDataProvider
entity.setName( getAttribute( le, GlobalIds.CN ) );
entity.setDescription( getAttribute( le, GlobalIds.DESC ) );
entity.setProtocol( getAttribute( le, GROUP_PROTOCOL_ATTR_IMPL ) );
- entity.setMembers( getAttributes( le, MEMBER ) );
+ entity.setMembers( getAttributes( le, SchemaConstants.MEMBER_AT ) );
entity.setMemberDn( true );
entity.setProperties( AttrHelper.getProperties( getAttributes( le, GROUP_PROPERTY_ATTR_IMPL ), '=' ) );
entity.setSequenceId( sequence );
+
return entity;
}
+
private String getDn( String name, String contextId )
{