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/05/05 13:49:27 UTC
[10/15] directory-fortress-core git commit: made globalIds not a
singleton and moved instance vars into config class
made globalIds not a singleton and moved instance vars into config class
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/a5ad1032
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/tree/a5ad1032
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-core/diff/a5ad1032
Branch: refs/heads/master
Commit: a5ad10329f79891de22cc4f46f79023c78f6c947
Parents: 07d205a
Author: clp207 <cl...@psu.edu>
Authored: Mon May 2 14:13:20 2016 -0400
Committer: clp207 <cl...@psu.edu>
Committed: Mon May 2 14:13:20 2016 -0400
----------------------------------------------------------------------
.../fortress/core/AccessMgrFactory.java | 2 +-
.../fortress/core/AdminMgrFactory.java | 2 +-
.../fortress/core/AuditMgrFactory.java | 2 +-
.../fortress/core/DelAccessMgrFactory.java | 2 +-
.../fortress/core/DelAdminMgrFactory.java | 2 +-
.../fortress/core/DelReviewMgrFactory.java | 2 +-
.../directory/fortress/core/GlobalIds.java | 57 ++------------------
.../fortress/core/PwPolicyMgrFactory.java | 2 +-
.../fortress/core/ReviewMgrFactory.java | 2 +-
.../directory/fortress/core/impl/PermDAO.java | 3 +-
.../directory/fortress/core/impl/UserDAO.java | 18 +++----
.../fortress/core/ldap/LdapDataProvider.java | 4 +-
.../fortress/core/model/ConstraintUtil.java | 25 ++++-----
.../directory/fortress/core/model/PropUtil.java | 3 +-
.../fortress/core/model/UserAdminRole.java | 26 ++++-----
.../directory/fortress/core/model/UserRole.java | 21 ++++----
.../directory/fortress/core/util/Config.java | 26 +++++++++
.../fortress/core/impl/FortressJUnitTest.java | 18 +++----
18 files changed, 99 insertions(+), 118 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/AccessMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/AccessMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/AccessMgrFactory.java
index 54a924b..1455379 100755
--- a/src/main/java/org/apache/directory/fortress/core/AccessMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/AccessMgrFactory.java
@@ -68,7 +68,7 @@ public final class AccessMgrFactory
AccessMgr accessMgr;
if ( StringUtils.isEmpty( accessClassName ) )
{
- if(GlobalIds.getInstance().IS_REST)
+ if(Config.getInstance().IS_REST)
{
accessMgr = new AccessMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/AdminMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/AdminMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/AdminMgrFactory.java
index d95c686..8c617d5 100755
--- a/src/main/java/org/apache/directory/fortress/core/AdminMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/AdminMgrFactory.java
@@ -71,7 +71,7 @@ public final class AdminMgrFactory
if ( StringUtils.isEmpty( adminClassName ) )
{
- if(GlobalIds.getInstance().IS_REST)
+ if(Config.getInstance().IS_REST)
{
adminMgr = new AdminMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/AuditMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/AuditMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/AuditMgrFactory.java
index 168ba29..8ae1834 100755
--- a/src/main/java/org/apache/directory/fortress/core/AuditMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/AuditMgrFactory.java
@@ -70,7 +70,7 @@ public final class AuditMgrFactory
if ( StringUtils.isEmpty( auditClassName ) )
{
- if(GlobalIds.getInstance().IS_REST)
+ if(Config.getInstance().IS_REST)
{
auditMgr = new AuditMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/DelAccessMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/DelAccessMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/DelAccessMgrFactory.java
index 738d400..ed8a905 100755
--- a/src/main/java/org/apache/directory/fortress/core/DelAccessMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/DelAccessMgrFactory.java
@@ -70,7 +70,7 @@ public final class DelAccessMgrFactory
if ( StringUtils.isEmpty( accessClassName ) )
{
- if(GlobalIds.getInstance().IS_REST)
+ if(Config.getInstance().IS_REST)
{
accessMgr = new DelAccessMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/DelAdminMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/DelAdminMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/DelAdminMgrFactory.java
index 9ff0a7a..00d2c5a 100755
--- a/src/main/java/org/apache/directory/fortress/core/DelAdminMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/DelAdminMgrFactory.java
@@ -71,7 +71,7 @@ public final class DelAdminMgrFactory
if ( Strings.isEmpty( dAdminClassName ) )
{
- if ( GlobalIds.getInstance().IS_REST )
+ if ( Config.getInstance().IS_REST )
{
delAdminMgr = new DelAdminMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/DelReviewMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/DelReviewMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/DelReviewMgrFactory.java
index 4264601..1c008b4 100755
--- a/src/main/java/org/apache/directory/fortress/core/DelReviewMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/DelReviewMgrFactory.java
@@ -68,7 +68,7 @@ public final class DelReviewMgrFactory
if ( StringUtils.isEmpty( dReviewClassName ) )
{
- if(GlobalIds.getInstance().IS_REST)
+ if(Config.getInstance().IS_REST)
{
delReviewMgr = new DelReviewMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/GlobalIds.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/GlobalIds.java b/src/main/java/org/apache/directory/fortress/core/GlobalIds.java
index 0b42189..c2678b8 100755
--- a/src/main/java/org/apache/directory/fortress/core/GlobalIds.java
+++ b/src/main/java/org/apache/directory/fortress/core/GlobalIds.java
@@ -21,7 +21,6 @@ package org.apache.directory.fortress.core;
import org.apache.directory.api.ldap.model.constants.SchemaConstants;
-import org.apache.directory.fortress.core.util.Config;
/**
@@ -38,48 +37,12 @@ import org.apache.directory.fortress.core.util.Config;
*/
public final class GlobalIds
{
- public static final String CONFIG_ROOT_PARAM = "config.root";
-
- private static volatile GlobalIds INSTANCE = null;
-
- public static GlobalIds getInstance() {
- if(INSTANCE == null) {
- synchronized (GlobalIds.class) {
- if(INSTANCE == null){
- INSTANCE = new GlobalIds();
- }
- }
- }
- return INSTANCE;
- }
-
- /**
- * Private constructor
- *
- */
- private GlobalIds()
- {
- IS_AUDIT_DISABLED = ( ( Config.getInstance().getProperty( DISABLE_AUDIT ) != null ) && ( Config
- .getInstance().getProperty( DISABLE_AUDIT ).equalsIgnoreCase( "true" ) ) );
-
- IS_REST = ( ( Config.getInstance().getProperty( ENABLE_REST ) != null ) && ( Config
- .getInstance().getProperty( ENABLE_REST ).equalsIgnoreCase( "true" ) ) );
-
- IS_REALM = GlobalIds.REALM_TYPE.equalsIgnoreCase( Config
- .getInstance().getProperty( GlobalIds.AUTHENTICATION_TYPE ) );
-
- IS_OPENLDAP = ( ( Config.getInstance().getProperty( SERVER_TYPE ) != null ) && ( Config
- .getInstance().getProperty( SERVER_TYPE ).equalsIgnoreCase( "openldap" ) ) );
-
- DELIMITER = Config.getInstance().getProperty( "attr.delimiter", "$" );
- }
+ public static final String CONFIG_ROOT_PARAM = "config.root";
public static final String HOME = "HOME";
public static final String TENANT = "tenant";
- private static final String DISABLE_AUDIT = "disable.audit";
- public boolean IS_AUDIT_DISABLED;
- private static final String ENABLE_REST = "enable.mgr.impl.rest";
- public boolean IS_REST;
+ public static final String DISABLE_AUDIT = "disable.audit";
+ public static final String ENABLE_REST = "enable.mgr.impl.rest";
/**
* The following constants are used within the factory classes:
@@ -167,13 +130,6 @@ public final class GlobalIds
public static final String DSD_VALIDATOR_PROP = "temporal.validator.dsd";
/**
- * This constant is used during authentication to determine if runtime is security realm. If IS_REALM == true,
- * the authentication module will not throw SecurityException on password resets. This is to enable the authentication
- * event to succeed allowing the application to prompt user to change their password.
- */
- public boolean IS_REALM;
-
- /**
* Parameter specifies the distinguished name (dn) of the LDAP suffix. The is the root or top-most node for a Directory Information Tree (DIT). The typical
* Fortress suffix format is {@code dc=example,dc=com}.
*/
@@ -257,7 +213,6 @@ public final class GlobalIds
*/
public static final String SERVER_TYPE = "ldap.server.type";
- public boolean IS_OPENLDAP;
/*
* *************************************************************************
@@ -505,12 +460,6 @@ public final class GlobalIds
public static final char PROP_SEP = ':';
/**
- * Fortress stores complex attribute types within a single attribute in ldap. Usually a delimiter of '$' is used for string tokenization.
- * format: {@code part1$part2$part3....} Stored in fortress.properties as 'attr.delimiter=$'
- */
- public String DELIMITER;
-
- /**
* Maximum number of records for ldap client to wait on while processing results sets from ldap server.
*/
public static final int BATCH_SIZE = 1000;
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/PwPolicyMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/PwPolicyMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/PwPolicyMgrFactory.java
index 92a24e6..0fb127a 100755
--- a/src/main/java/org/apache/directory/fortress/core/PwPolicyMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/PwPolicyMgrFactory.java
@@ -69,7 +69,7 @@ public final class PwPolicyMgrFactory
if ( StringUtils.isEmpty( policyClassName ) )
{
- if(GlobalIds.getInstance().IS_REST)
+ if(Config.getInstance().IS_REST)
{
policyMgr = new PwPolicyMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/ReviewMgrFactory.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ReviewMgrFactory.java b/src/main/java/org/apache/directory/fortress/core/ReviewMgrFactory.java
index 557b605..2ee3f8c 100755
--- a/src/main/java/org/apache/directory/fortress/core/ReviewMgrFactory.java
+++ b/src/main/java/org/apache/directory/fortress/core/ReviewMgrFactory.java
@@ -69,7 +69,7 @@ public final class ReviewMgrFactory
if ( StringUtils.isEmpty( reviewClassName ) )
{
- if(GlobalIds.getInstance().IS_REST)
+ if(Config.getInstance().IS_REST)
{
reviewMgr = new ReviewMgrRestImpl();
}
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/impl/PermDAO.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/PermDAO.java b/src/main/java/org/apache/directory/fortress/core/impl/PermDAO.java
index bcf7718..326d18c 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/PermDAO.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/PermDAO.java
@@ -58,6 +58,7 @@ import org.apache.directory.fortress.core.model.PropUtil;
import org.apache.directory.fortress.core.model.Role;
import org.apache.directory.fortress.core.model.Session;
import org.apache.directory.fortress.core.model.User;
+import org.apache.directory.fortress.core.util.Config;
import org.apache.directory.ldap.client.api.LdapConnection;
@@ -920,7 +921,7 @@ final class PermDAO extends LdapDataProvider
throws FinderException
{
// Audit can be turned off here with fortress config param: 'disable.audit=true'
- if ( GlobalIds.getInstance().IS_OPENLDAP && ! GlobalIds.getInstance().IS_AUDIT_DISABLED )
+ if ( Config.getInstance().IS_OPENLDAP && ! Config.getInstance().IS_AUDIT_DISABLED )
{
try
{
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/impl/UserDAO.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/impl/UserDAO.java b/src/main/java/org/apache/directory/fortress/core/impl/UserDAO.java
index c547fc5..21f2e39 100755
--- a/src/main/java/org/apache/directory/fortress/core/impl/UserDAO.java
+++ b/src/main/java/org/apache/directory/fortress/core/impl/UserDAO.java
@@ -228,12 +228,12 @@ final class UserDAO extends LdapDataProvider
// POSIX_ACCOUNT_OBJECT_CLASS_NAME
};
- LOG.debug( "GlobalIds.IS_OPENLDAP: " + GlobalIds.getInstance().IS_OPENLDAP );
- LOG.debug( "GlobalIds.IS_OPENLDAP ? OPENLDAP_PW_RESET : null: " + ( GlobalIds.getInstance().IS_OPENLDAP ? OPENLDAP_PW_RESET
+ LOG.debug( "GlobalIds.IS_OPENLDAP: " + Config.getInstance().IS_OPENLDAP );
+ LOG.debug( "GlobalIds.IS_OPENLDAP ? OPENLDAP_PW_RESET : null: " + ( Config.getInstance().IS_OPENLDAP ? OPENLDAP_PW_RESET
: null ) );
- LOG.debug( "GlobalIds.IS_OPENLDAP: " + GlobalIds.getInstance().IS_OPENLDAP );
+ LOG.debug( "GlobalIds.IS_OPENLDAP: " + Config.getInstance().IS_OPENLDAP );
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
// This default set of attributes contains all and is used for search operations.
defaultAtrs = new String[]
@@ -497,7 +497,7 @@ final class UserDAO extends LdapDataProvider
myEntry.add( SYSTEM_USER, entity.isSystem().toString().toUpperCase() );
}
- if ( GlobalIds.getInstance().IS_OPENLDAP && StringUtils.isNotEmpty( entity.getPwPolicy() ) )
+ if ( Config.getInstance().IS_OPENLDAP && StringUtils.isNotEmpty( entity.getPwPolicy() ) )
{
String pwdPolicyDn = GlobalIds.POLICY_NODE_TYPE + "=" + entity.getPwPolicy() + "," + getRootDn(
entity.getContextId(), GlobalIds.PPOLICY_ROOT );
@@ -602,7 +602,7 @@ final class UserDAO extends LdapDataProvider
entity.getTitle() ) );
}
- if ( GlobalIds.getInstance().IS_OPENLDAP && StringUtils.isNotEmpty( entity.getPwPolicy() ) )
+ if ( Config.getInstance().IS_OPENLDAP && StringUtils.isNotEmpty( entity.getPwPolicy() ) )
{
String szDn = GlobalIds.POLICY_NODE_TYPE + "=" + entity.getPwPolicy() + "," + getRootDn( entity
.getContextId(), GlobalIds.PPOLICY_ROOT );
@@ -1056,7 +1056,7 @@ final class UserDAO extends LdapDataProvider
case CHANGE_AFTER_RESET:
// Don't throw exception if authenticating in J2EE Realm - The Web application must
// give user a chance to modify their password.
- if ( !GlobalIds.getInstance().IS_REALM )
+ if ( !Config.getInstance().IS_REALM )
{
errMsg = msgHdr + "PASSWORD HAS BEEN RESET BY LDAP_ADMIN_POOL_UID";
rc = GlobalErrIds.USER_PW_RESET;
@@ -1712,7 +1712,7 @@ final class UserDAO extends LdapDataProvider
modify( ld, userDn, mods );
// This modify update audit attributes on the User entry (if enabled):
- if ( GlobalIds.getInstance().IS_OPENLDAP && ! GlobalIds.getInstance().IS_AUDIT_DISABLED )
+ if ( Config.getInstance().IS_OPENLDAP && ! Config.getInstance().IS_AUDIT_DISABLED )
{
mods = new ArrayList<>();
modify( ld, userDn, mods, entity );
@@ -2088,7 +2088,7 @@ final class UserDAO extends LdapDataProvider
entity.addProperties( PropUtil.getProperties( getAttributes( entry, GlobalIds.PROPS ) ) );
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
szBoolean = getAttribute( entry, OPENLDAP_PW_RESET );
if ( szBoolean != null && szBoolean.equalsIgnoreCase( "true" ) )
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java b/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java
index aa14e36..908b9fb 100644
--- a/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java
+++ b/src/main/java/org/apache/directory/fortress/core/ldap/LdapDataProvider.java
@@ -240,7 +240,7 @@ public abstract class LdapDataProvider
{
COUNTERS.incrementAdd();
- if ( !GlobalIds.getInstance().IS_AUDIT_DISABLED && ( entity != null ) && ( entity.getAdminSession() != null ) )
+ if ( !Config.getInstance().IS_AUDIT_DISABLED && ( entity != null ) && ( entity.getAdminSession() != null ) )
{
if ( StringUtils.isNotEmpty( entity.getAdminSession().getInternalUserId() ) )
{
@@ -501,7 +501,7 @@ public abstract class LdapDataProvider
*/
private void audit( List<Modification> mods, FortEntity entity )
{
- if ( !GlobalIds.getInstance().IS_AUDIT_DISABLED && ( entity != null ) && ( entity.getAdminSession() != null ) )
+ if ( !Config.getInstance().IS_AUDIT_DISABLED && ( entity != null ) && ( entity.getAdminSession() != null ) )
{
if ( StringUtils.isNotEmpty( entity.getAdminSession().getInternalUserId() ) )
{
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/model/ConstraintUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/model/ConstraintUtil.java b/src/main/java/org/apache/directory/fortress/core/model/ConstraintUtil.java
index ab8300a..a1eb7db 100644
--- a/src/main/java/org/apache/directory/fortress/core/model/ConstraintUtil.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/ConstraintUtil.java
@@ -22,8 +22,8 @@ package org.apache.directory.fortress.core.model;
import java.util.StringTokenizer;
import org.apache.commons.lang.StringUtils;
-import org.apache.directory.fortress.core.GlobalIds;
import org.apache.directory.fortress.core.ValidationException;
+import org.apache.directory.fortress.core.util.Config;
import org.apache.directory.fortress.core.util.VUtil;
/**
@@ -134,7 +134,7 @@ public class ConstraintUtil
{
if ( StringUtils.isNotEmpty( inputString ) )
{
- StringTokenizer tkn = new StringTokenizer( inputString, GlobalIds.getInstance().DELIMITER, true );
+ StringTokenizer tkn = new StringTokenizer( inputString, Config.getInstance().DELIMITER, true );
if ( tkn.countTokens() > 0 )
{
int count = tkn.countTokens();
@@ -143,11 +143,11 @@ public class ConstraintUtil
for ( int i = 0; i < count; i++ )
{
String szValue = tkn.nextToken();
- if ( szValue.equals( GlobalIds.getInstance().DELIMITER ) && !previousTokenWasDelimiter )
+ if ( szValue.equals( Config.getInstance().DELIMITER ) && !previousTokenWasDelimiter )
{
previousTokenWasDelimiter = true;
}
- else if ( szValue.equals( GlobalIds.getInstance().DELIMITER ) )
+ else if ( szValue.equals( Config.getInstance().DELIMITER ) )
{
previousTokenWasDelimiter = true;
index++;
@@ -206,60 +206,61 @@ public class ConstraintUtil
public static String setConstraint( Constraint constraint )
{
String szConstraint = null;
+ String delimiter = Config.getInstance().DELIMITER;
if ( constraint != null )
{
StringBuilder sb = new StringBuilder();
sb.append( constraint.getName() );
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getTimeout() != null )
{
sb.append( constraint.getTimeout() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getBeginTime() != null )
{
sb.append( constraint.getBeginTime() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getEndTime() != null )
{
sb.append( constraint.getEndTime() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getBeginDate() != null )
{
sb.append( constraint.getBeginDate() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getEndDate() != null )
{
sb.append( constraint.getEndDate() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getBeginLockDate() != null )
{
sb.append( constraint.getBeginLockDate() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getEndLockDate() != null )
{
sb.append( constraint.getEndLockDate() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimiter );
if ( constraint.getDayMask() != null )
{
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/model/PropUtil.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/model/PropUtil.java b/src/main/java/org/apache/directory/fortress/core/model/PropUtil.java
index 0c0916e..3fb2b87 100644
--- a/src/main/java/org/apache/directory/fortress/core/model/PropUtil.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/PropUtil.java
@@ -24,6 +24,7 @@ import java.util.Properties;
import java.util.StringTokenizer;
import org.apache.directory.fortress.core.GlobalIds;
+import org.apache.directory.fortress.core.util.Config;
/**
* Utilities to convert to/from property formats.
@@ -91,7 +92,7 @@ public final class PropUtil
*/
public static Properties getProperties( String inputString, char separator )
{
- return getProperties( inputString, separator, GlobalIds.getInstance().DELIMITER );
+ return getProperties( inputString, separator, Config.getInstance().DELIMITER );
}
/**
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/model/UserAdminRole.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/model/UserAdminRole.java b/src/main/java/org/apache/directory/fortress/core/model/UserAdminRole.java
index e7a6d31..e064a12 100755
--- a/src/main/java/org/apache/directory/fortress/core/model/UserAdminRole.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/UserAdminRole.java
@@ -31,6 +31,7 @@ import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang.StringUtils;
import org.apache.directory.fortress.core.GlobalIds;
+import org.apache.directory.fortress.core.util.Config;
/**
@@ -162,7 +163,7 @@ public class UserAdminRole extends UserRole implements Administrator
{
if ( ( szRawData != null ) && ( szRawData.length() > 0 ) )
{
- String[] tokens = StringUtils.splitPreserveAllTokens( szRawData, GlobalIds.getInstance().DELIMITER );
+ String[] tokens = StringUtils.splitPreserveAllTokens( szRawData, Config.getInstance().DELIMITER );
for ( int i = 0; i < tokens.length; i++ )
{
if ( StringUtils.isNotEmpty( tokens[i] ) )
@@ -246,39 +247,40 @@ public class UserAdminRole extends UserRole implements Administrator
public String getRawData()
{
String szRole;
+ String delimeter = Config.getInstance().DELIMITER;
StringBuilder sb = new StringBuilder();
sb.append( name );
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
sb.append( this.getTimeout() );
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( this.getBeginTime() != null )
{
sb.append( this.getBeginTime() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( this.getEndTime() != null )
{
sb.append( this.getEndTime() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( this.getBeginDate() != null )
{
sb.append( this.getBeginDate() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( this.getEndDate() != null )
{
sb.append( this.getEndDate() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( this.getBeginLockDate() != null )
{
@@ -286,14 +288,14 @@ public class UserAdminRole extends UserRole implements Administrator
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( this.getEndLockDate() != null )
{
sb.append( this.getEndLockDate() );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( this.getDayMask() != null )
{
@@ -304,7 +306,7 @@ public class UserAdminRole extends UserRole implements Administrator
{
for ( String org : this.getOsUSet() )
{
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
sb.append( U );
sb.append( GlobalIds.PROP_SEP );
sb.append( org );
@@ -315,7 +317,7 @@ public class UserAdminRole extends UserRole implements Administrator
{
for ( String org : this.getOsPSet() )
{
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
sb.append( P );
sb.append( GlobalIds.PROP_SEP );
sb.append( org );
@@ -323,7 +325,7 @@ public class UserAdminRole extends UserRole implements Administrator
}
if ( StringUtils.isNotEmpty( this.getRoleRangeRaw() ) )
{
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
sb.append( R );
sb.append( GlobalIds.PROP_SEP );
sb.append( this.getRoleRangeRaw() );
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/model/UserRole.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/model/UserRole.java b/src/main/java/org/apache/directory/fortress/core/model/UserRole.java
index efb59d5..e769699 100755
--- a/src/main/java/org/apache/directory/fortress/core/model/UserRole.java
+++ b/src/main/java/org/apache/directory/fortress/core/model/UserRole.java
@@ -31,7 +31,7 @@ import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlType;
import org.apache.commons.lang.StringUtils;
-import org.apache.directory.fortress.core.GlobalIds;
+import org.apache.directory.fortress.core.util.Config;
/**
@@ -152,7 +152,7 @@ public class UserRole extends FortEntity implements Serializable, Constraint
{
if ( ( szRawData != null ) && ( szRawData.length() > 0 ) )
{
- String[] tokens = StringUtils.splitPreserveAllTokens( szRawData, GlobalIds.getInstance().DELIMITER );
+ String[] tokens = StringUtils.splitPreserveAllTokens( szRawData, Config.getInstance().DELIMITER );
for ( int i = 0; i < tokens.length; i++ )
{
if ( StringUtils.isNotEmpty( tokens[i] ) )
@@ -211,54 +211,55 @@ public class UserRole extends FortEntity implements Serializable, Constraint
@Override
public String getRawData()
{
+ String delimeter = Config.getInstance().DELIMITER;
StringBuilder sb = new StringBuilder();
sb.append( name );
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
sb.append( timeout );
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( beginTime != null )
{
sb.append( beginTime );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( endTime != null )
{
sb.append( endTime );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( beginDate != null )
{
sb.append( beginDate );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( endDate != null )
{
sb.append( endDate );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( beginLockDate != null )
{
sb.append( beginLockDate );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( endLockDate != null )
{
sb.append( endLockDate );
}
- sb.append( GlobalIds.getInstance().DELIMITER );
+ sb.append( delimeter );
if ( dayMask != null )
{
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/main/java/org/apache/directory/fortress/core/util/Config.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/core/util/Config.java b/src/main/java/org/apache/directory/fortress/core/util/Config.java
index 0a4cdfd..556725d 100755
--- a/src/main/java/org/apache/directory/fortress/core/util/Config.java
+++ b/src/main/java/org/apache/directory/fortress/core/util/Config.java
@@ -54,6 +54,22 @@ public final class Config
private static final String CLS_NM = Config.class.getName();
private static final Logger LOG = LoggerFactory.getLogger( CLS_NM );
+ public boolean IS_REST;
+ public boolean IS_AUDIT_DISABLED;
+ public boolean IS_OPENLDAP;
+ /**
+ * This constant is used during authentication to determine if runtime is security realm. If IS_REALM == true,
+ * the authentication module will not throw SecurityException on password resets. This is to enable the authentication
+ * event to succeed allowing the application to prompt user to change their password.
+ */
+ public boolean IS_REALM;
+ /**
+ * Fortress stores complex attribute types within a single attribute in ldap. Usually a delimiter of '$' is used for string tokenization.
+ * format: {@code part1$part2$part3....} Stored in fortress.properties as 'attr.delimiter=$'
+ */
+ public String DELIMITER;
+
+
private static volatile Config INSTANCE = null;
public static Config getInstance() {
@@ -108,6 +124,16 @@ public final class Config
//ignore
}
+ IS_AUDIT_DISABLED = ( ( getProperty( GlobalIds.DISABLE_AUDIT ) != null ) && ( getProperty( GlobalIds.DISABLE_AUDIT ).equalsIgnoreCase( "true" ) ) );
+
+ IS_REST = ( ( getProperty( GlobalIds.ENABLE_REST ) != null ) && ( getProperty( GlobalIds.ENABLE_REST ).equalsIgnoreCase( "true" ) ) );
+
+ IS_REALM = GlobalIds.REALM_TYPE.equalsIgnoreCase( getProperty( GlobalIds.AUTHENTICATION_TYPE ) );
+
+ IS_OPENLDAP = ( ( getProperty( GlobalIds.SERVER_TYPE ) != null ) && ( getProperty( GlobalIds.SERVER_TYPE ).equalsIgnoreCase( "openldap" ) ) );
+
+ DELIMITER = getProperty( "attr.delimiter", "$" );
+
}
else
{
http://git-wip-us.apache.org/repos/asf/directory-fortress-core/blob/a5ad1032/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
----------------------------------------------------------------------
diff --git a/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java b/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
index fca8127..5429386 100755
--- a/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
+++ b/src/test/java/org/apache/directory/fortress/core/impl/FortressJUnitTest.java
@@ -23,7 +23,7 @@ import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
-import org.apache.directory.fortress.core.GlobalIds;
+import org.apache.directory.fortress.core.util.Config;
/**
* This JUnit test class drives all of the Fortress Administration APIs contained within {@link AdminMgrImplTest},
@@ -105,7 +105,7 @@ public class FortressJUnitTest extends TestCase
if ( !isFirstRun() )
{
// PwPolicyMgr PW Policy Teardown:
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
suite.addTest( new PswdPolicyMgrImplTest( "testDeletePasswordPolicy" ) );
}
@@ -126,7 +126,7 @@ public class FortressJUnitTest extends TestCase
suite.addTest( new AdminMgrImplTest( "testDelRoleDescendant" ) );
suite.addTest( new AdminMgrImplTest( "testDelRoleAscendant" ) );
suite.addTest( new AdminMgrImplTest( "testDeleteRole" ) );
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
suite.addTest( new PswdPolicyMgrImplTest( "testDelete" ) );
}
@@ -151,7 +151,7 @@ public class FortressJUnitTest extends TestCase
/* 2. Build Up */
/***********************************************************/
// PW PolicyMgr APIs:
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
suite.addTest( new PswdPolicyMgrImplTest( "testAdd" ) );
suite.addTest( new PswdPolicyMgrImplTest( "testUpdate" ) );
@@ -188,7 +188,7 @@ public class FortressJUnitTest extends TestCase
suite.addTest( new AdminMgrImplTest( "testUpdateRole" ) );
suite.addTest( new AdminMgrImplTest( "testAddUser" ) );
suite.addTest( new AdminMgrImplTest( "testUpdateUser" ) );
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
suite.addTest( new PswdPolicyMgrImplTest( "testUpdatePasswordPolicy" ) );
}
@@ -210,7 +210,7 @@ public class FortressJUnitTest extends TestCase
suite.addTest( new DelegatedMgrImplTest( "testSearchAdminRole" ) );
// ReviewMgr RBAC:
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
suite.addTest( new PswdPolicyMgrImplTest( "testRead" ) );
suite.addTest( new PswdPolicyMgrImplTest( "testSearch" ) );
@@ -253,7 +253,7 @@ public class FortressJUnitTest extends TestCase
// AccessMgr RBAC:
suite.addTest( new AccessMgrImplTest( "testGetUserId" ) );
suite.addTest( new AccessMgrImplTest( "testGetUser" ) );
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
// These tests are reliant on OpenLDAP's pwpolicy overlay:
suite.addTest( new AdminMgrImplTest( "testResetPassword" ) );
@@ -279,7 +279,7 @@ public class FortressJUnitTest extends TestCase
suite.addTest( new AccessMgrImplTest( "testCreateSessionWithRolesTrusted" ) );
// PwPolicyMgr PW Policy checks:
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
// These tests are reliant on OpenLDAP's pwpolicy overlay:
suite.addTest( new PswdPolicyMgrImplTest( "testMinAge" ) );
@@ -301,7 +301,7 @@ public class FortressJUnitTest extends TestCase
/* 5. Audit Checks */
/***********************************************************/
//suite.addTest(new AuditMgrImplTest("testSearchAuthNInvalid"));
- if ( GlobalIds.getInstance().IS_OPENLDAP )
+ if ( Config.getInstance().IS_OPENLDAP )
{
// These tests reliant on OpenLDAP's slapo access log overlay:
suite.addTest( new AuditMgrImplTest( "testSearchBinds" ) );