You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by dj...@apache.org on 2007/01/16 09:24:50 UTC
svn commit: r496618 [1/5] - in /directory/sandbox/triplesec-jacc2: ./
admin-api2/ admin-api2/src/
admin-api2/src/main/java/org/safehaus/triplesec/admin/
admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/
admin-api2/src/main/java/org/safehaus/tr...
Author: djencks
Date: Tue Jan 16 00:24:45 2007
New Revision: 496618
URL: http://svn.apache.org/viewvc?view=rev&rev=496618
Log:
Intermediate commit, does not all compile. Includes object-ldap mapping framework in admin-api2, some rewrite of jaas, some jacc support, and lots of problems due to change in bootstrap schema loading
Added:
directory/sandbox/triplesec-jacc2/admin-api2/
- copied from r493297, directory/sandbox/triplesec-jacc2/admin-api/
directory/sandbox/triplesec-jacc2/admin-api2/pom.xml
- copied unchanged from r496616, directory/sandbox/triplesec-jacc2/admin-api/pom.xml
directory/sandbox/triplesec-jacc2/admin-api2/src/
- copied from r496616, directory/sandbox/triplesec-jacc2/admin-api/src/
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/ChangeListener.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/ChildMap.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/ConstantRdn.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManager.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/EntityManagerImpl.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Field.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/HiddenChild.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/MultiValuedField.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/PCException.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/PersistenceCapable.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Query.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/Rdn.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/ReferenceMapField.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/RootStateManager.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/SimpleRdn.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/SingleValuedField.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/State.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/persistence/StateManager.java (with props)
directory/sandbox/triplesec-jacc2/admin-api2/todo.txt
- copied unchanged from r496616, directory/sandbox/triplesec-jacc2/admin-api/todo.txt
directory/sandbox/triplesec-jacc2/guardian-api/src/main/java/org/safehaus/triplesec/guardian/RealmPolicy.java (with props)
directory/sandbox/triplesec-jacc2/guardian-api/src/main/java/org/safehaus/triplesec/guardian/RealmPolicyFactory.java
- copied, changed from r493297, directory/sandbox/triplesec-jacc/guardian-api/src/main/java/org/safehaus/triplesec/guardian/RealmPolicyFactory.java
directory/sandbox/triplesec-jacc2/itest-data/src/main/java/
directory/sandbox/triplesec-jacc2/itest-data/src/main/java/org/
directory/sandbox/triplesec-jacc2/itest-data/src/main/java/org/apache/
directory/sandbox/triplesec-jacc2/itest-data/src/main/java/org/apache/directory/
directory/sandbox/triplesec-jacc2/itest-data/src/main/java/org/apache/directory/triplesec/
directory/sandbox/triplesec-jacc2/itest-data/src/main/java/org/apache/directory/triplesec/jaas/
directory/sandbox/triplesec-jacc2/itest-data/src/main/java/org/apache/directory/triplesec/jaas/TestLoginConfiguration.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/main/java/org/safehaus/triplesec/jaas/BaseKerberosLoginModuleWrapper.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/main/java/org/safehaus/triplesec/jaas/Kerberos1FactorLoginModuleWrapper.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/main/java/org/safehaus/triplesec/jaas/Kerberos2FactorLoginModuleWrapper.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/main/java/org/safehaus/triplesec/jaas/LdapBindLoginModule.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/main/java/org/safehaus/triplesec/jaas/TriplesecRealmPrincipal.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/main/java/org/safehaus/triplesec/jaas/TriplesecRealmPrincipalLoginModule.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/LdapBindLoginModuleIntegrationTest.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/TriplesecRealmPrincipalLoginModuleTest.java (with props)
directory/sandbox/triplesec-jacc2/jaas/src/test/java/org/safehaus/triplesec/jaas/UPCallbackHandler.java (with props)
directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/PermissionKey.java (with props)
Removed:
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/ApplicationModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/MultiValuedField.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/PermissionModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/ProfileModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/RoleModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/SingleValuedField.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/ApplicationDao.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/PermissionDao.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/ProfileDao.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/RoleDao.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/ldap/LdapApplicationDao.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/ldap/LdapPermissionDao.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/ldap/LdapProfileDao.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/ldap/LdapRoleDao.java
directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/data/
Modified:
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/AdministeredEntity.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Constants.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/ExternalUserModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/GroupModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/HauskeysUserModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/LocalUserModifier.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Permission.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Profile.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Role.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/TriplesecAdmin.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/DaoFactory.java
directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/dao/ldap/LdapDaoFactory.java
directory/sandbox/triplesec-jacc2/admin-api2/src/test/java/org/safehaus/triplesec/admin/EntryModifierTest.java
directory/sandbox/triplesec-jacc2/admin-api2/src/test/java/org/safehaus/triplesec/admin/IntegrationTest.java
directory/sandbox/triplesec-jacc2/configuration-io/pom.xml
directory/sandbox/triplesec-jacc2/configuration-io/src/main/java/org/safehaus/triplesec/configuration/ServerXmlUtils.java
directory/sandbox/triplesec-jacc2/configuration-io/src/test/java/org/safehaus/triplesec/configuration/ServerXmlUtilsTest.java
directory/sandbox/triplesec-jacc2/configuration-io/src/test/java/org/safehaus/triplesec/configuration/WebappConfigurationTest.java
directory/sandbox/triplesec-jacc2/configuration/src/main/java/org/safehaus/triplesec/configuration/MutableTriplesecStartupConfiguration.java
directory/sandbox/triplesec-jacc2/guardian-api/src/main/java/org/safehaus/triplesec/guardian/ConnectionDriver.java
directory/sandbox/triplesec-jacc2/guardian-api/src/test/java/org/safehaus/triplesec/guardian/ApplicationPolicyFactoryTest.java
directory/sandbox/triplesec-jacc2/guardian-api/src/test/java/org/safehaus/triplesec/guardian/mock/MockConnectionDriver.java
directory/sandbox/triplesec-jacc2/guardian-ldap/src/main/java/org/safehaus/triplesec/guardian/ldap/LdapConnectionDriver.java
directory/sandbox/triplesec-jacc2/guardian-ldif/src/main/java/org/safehaus/triplesec/guardian/ldif/LdifConnectionDriver.java
directory/sandbox/triplesec-jacc2/integration/src/main/java/org/safehaus/triplesec/integration/TriplesecIntegration.java
directory/sandbox/triplesec-jacc2/itest-data/src/main/resources/server.ldif
directory/sandbox/triplesec-jacc2/jaas/pom.xml
directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/DataPolicyConfiguration.java
directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/TripleSecPolicyConfiguration.java
directory/sandbox/triplesec-jacc2/jacc/src/main/java/org/apache/directory/triplesec/jacc/TripleSecPolicyConfigurationFactory.java
directory/sandbox/triplesec-jacc2/jacc/src/test/java/org/apache/directory/triplesec/jacc/TripleSecPolicyIntegrationTest.java
directory/sandbox/triplesec-jacc2/pom.xml
directory/sandbox/triplesec-jacc2/store/pom.xml
directory/sandbox/triplesec-jacc2/store/src/main/java/org/safehaus/triplesec/store/DefaultServerProfileStore.java
directory/sandbox/triplesec-jacc2/store/src/main/java/org/safehaus/triplesec/store/ProfileStateFactory.java
directory/sandbox/triplesec-jacc2/store/src/main/java/org/safehaus/triplesec/store/interceptor/ApplicationAciManager.java
directory/sandbox/triplesec-jacc2/store/src/main/java/org/safehaus/triplesec/store/interceptor/PolicyProtectionInterceptor.java
directory/sandbox/triplesec-jacc2/store/src/test/java/org/safehaus/triplesec/store/ProfileFactoryITest.java
directory/sandbox/triplesec-jacc2/store/src/test/java/org/safehaus/triplesec/store/ServerProfileStoreITest.java
directory/sandbox/triplesec-jacc2/store/src/test/java/org/safehaus/triplesec/store/interceptor/ApplicationACIManagerITest.java
directory/sandbox/triplesec-jacc2/store/src/test/java/org/safehaus/triplesec/store/interceptor/PolicyProtectionInterceptorITest.java
directory/sandbox/triplesec-jacc2/verifier/pom.xml
directory/sandbox/triplesec-jacc2/verifier/src/test/java/org/safehaus/triplesec/verifier/hotp/GenerateHotp.java
directory/sandbox/triplesec-jacc2/verifier/src/test/java/org/safehaus/triplesec/verifier/hotp/HotpSamVerifierITest.java
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/AdministeredEntity.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/AdministeredEntity.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/AdministeredEntity.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/AdministeredEntity.java Tue Jan 16 00:24:45 2007
@@ -22,50 +22,52 @@
import java.util.Date;
+import org.safehaus.triplesec.admin.persistence.SingleValuedField;
+
public abstract class AdministeredEntity
{
- private final String creatorsName;
- private final String modifiersName;
- private final Date createTimestamp;
- private final Date modifyTimestamp;
-
-
+ private final SingleValuedField<String> creatorsName;
+ private final SingleValuedField<String> modifiersName;
+ private final SingleValuedField<Date> createTimestamp;
+ private final SingleValuedField<Date> modifyTimestamp;
+
+
protected AdministeredEntity( String creatorsName, Date creationTimestamp )
{
this( creatorsName, creationTimestamp, null, null );
}
-
-
+
+
protected AdministeredEntity( String creatorsName, Date createTimestamp, String modifiersName, Date modifyTimestamp )
{
- this.creatorsName = creatorsName;
- this.createTimestamp = createTimestamp;
- this.modifiersName = modifiersName;
- this.modifyTimestamp = modifyTimestamp;
+ this.creatorsName = new SingleValuedField<String>("creatorsName", creatorsName);
+ this.createTimestamp = new SingleValuedField<Date>("createTimestamp", createTimestamp);
+ this.modifiersName = new SingleValuedField<String>("modifiersName", modifiersName);
+ this.modifyTimestamp = new SingleValuedField<Date>("modifiersName", modifyTimestamp);
}
-
-
+
+
public String getCreatorsName()
{
- return creatorsName;
+ return creatorsName.getCurrentValue();
}
public String getModifiersName()
{
- return modifiersName;
+ return modifiersName.getCurrentValue();
}
public Date getCreateTimestamp()
{
- return createTimestamp;
+ return createTimestamp.getCurrentValue();
}
public Date getModifyTimestamp()
{
- return modifyTimestamp;
+ return modifyTimestamp.getCurrentValue();
}
}
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Application.java Tue Jan 16 00:24:45 2007
@@ -20,160 +20,210 @@
package org.safehaus.triplesec.admin;
-import java.util.Date;
-import java.util.Iterator;
+import java.util.Collection;
-import org.safehaus.triplesec.admin.dao.ApplicationDao;
-import org.safehaus.triplesec.admin.dao.PermissionDao;
-import org.safehaus.triplesec.admin.dao.ProfileDao;
-import org.safehaus.triplesec.admin.dao.RoleDao;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.SearchControls;
+import org.safehaus.triplesec.admin.persistence.SingleValuedField;
+import org.safehaus.triplesec.admin.persistence.StateManager;
+import org.safehaus.triplesec.admin.persistence.SimpleRdn;
+import org.safehaus.triplesec.admin.persistence.PersistenceCapable;
+import org.safehaus.triplesec.admin.persistence.State;
+import org.safehaus.triplesec.admin.persistence.ChildMap;
+import org.safehaus.triplesec.admin.persistence.HiddenChild;
-public class Application extends AdministeredEntity
+
+public class Application implements PersistenceCapable
{
- private final RoleDao roleDao;
- private final ProfileDao profileDao;
- private final PermissionDao permissionDao;
- private final String appRdn;
- private final String description;
- private final String password;
- private final ApplicationDao dao;
-
-
- public Application( String creatorsName, Date creationTimestamp, ApplicationDao dao, String name,
- String description, String password, PermissionDao permissionDao, RoleDao roleDao, ProfileDao profileDao )
- {
- this( creatorsName, creationTimestamp, null, null, dao, name, description, password,
- permissionDao, roleDao, profileDao );
- }
-
-
- public Application( String creatorsName, Date creationTimestamp, String modifiersName, Date modifyTimestamp,
- ApplicationDao dao, String name, String description, String userPassword, PermissionDao permissionDao,
- RoleDao roleDao, ProfileDao profileDao )
- {
- super( creatorsName, creationTimestamp, modifiersName, modifyTimestamp );
- this.appRdn = name;
- this.dao = dao;
- this.description = description;
- this.permissionDao = permissionDao;
- this.profileDao = profileDao;
- this.roleDao = roleDao;
- this.password = userPassword;
- }
-
-
- // -----------------------------------------------------------------------
- // Package friendly dao accessors
- // -----------------------------------------------------------------------
-
-
- PermissionDao getPermissionDao()
- {
- return permissionDao;
- }
-
-
- RoleDao getRoleDao()
- {
- return roleDao;
- }
-
-
- ProfileDao getProfileDao()
- {
- return profileDao;
- }
-
-
- // -----------------------------------------------------------------------
- // Property accessors
- // -----------------------------------------------------------------------
-
-
- public String getAppRdn()
+ public static String PARENT_APPLICATION_RDN = "ou=applications";
+
+ private static final SearchControls PERMISSIONS_CONTROLS = new SearchControls( SearchControls.ONELEVEL_SCOPE, 0, 0, Permission.attrs, false, false );
+ private static final String PERMISSIONS_QUERY = "(& (permName=*) (objectClass=policyPermission) )";
+ private static final HiddenChild PERMISSIONS_SPACER = new HiddenChild( "ou=permissions", new BasicAttributes( "objectClass", "OrganizationalUnit", true ) );
+
+ private static final SearchControls ROLES_CONTROLS = new SearchControls( SearchControls.ONELEVEL_SCOPE, 0, 0, Role.attrs, false, false );
+ private static final String ROLES_QUERY = "(& (roleName=*) (objectClass=policyRole) )";
+ private static final HiddenChild ROLES_SPACER = new HiddenChild( "ou=roles", new BasicAttributes( "objectClass", "OrganizationalUnit", true ) );
+
+ private static final SearchControls PROFILES_CONTROLS = new SearchControls( SearchControls.ONELEVEL_SCOPE, 0, 0, Profile.attrs, false, false );
+ private static final String PROFILES_QUERY = "(& (profileId=*) (objectClass=policyProfile) )";
+ private static final HiddenChild PROFILES_SPACER = new HiddenChild( "ou=profiles", new BasicAttributes( "objectClass", "OrganizationalUnit", true ) );
+
+ private static final int APPNAME_INDEX = 0;
+ private static final int DESCRIPTION_INDEX = 1;
+ private static final int PASSWORD_INDEX = 2;
+
+ static final int PERMISSIONS_INDEX = 0;
+ static final int ROLES_INDEX = 1;
+ static final int PROFILES_INDEX = 2;
+
+ private final StateManager stateManager;
+
+ public Application()
+ {
+ stateManager = new StateManager( this );
+ stateManager.setRdn( new SimpleRdn( "appName", null, PARENT_APPLICATION_RDN ) );
+ stateManager.addField( new SingleValuedField<String>( "description", null ) );
+ stateManager.addField( new SingleValuedField<String>( "userPassword", null ) );
+
+ stateManager.addMap( new ChildMap<Permission>( this, Permission.class, "ou=permissions", PERMISSIONS_CONTROLS, PERMISSIONS_QUERY ) );
+ stateManager.addMap( new ChildMap<Role>( this, Role.class, "ou=roles", ROLES_CONTROLS, ROLES_QUERY ) );
+ stateManager.addMap( new ChildMap<Profile>( this, Profile.class, "ou=profiles", PROFILES_CONTROLS, PROFILES_QUERY ) );
+
+ stateManager.addHiddenChild( PERMISSIONS_SPACER );
+ stateManager.addHiddenChild( ROLES_SPACER );
+ stateManager.addHiddenChild( PROFILES_SPACER );
+
+ stateManager.setState( State.EMPTY );
+ }
+
+ public Application( String name, String description, String password )
+ {
+ this();
+ setAppName( name );
+ setDescription( description );
+ setPassword( password );
+ }
+
+ public void setParentStateManager( StateManager parentSM )
{
- return appRdn;
+ stateManager.setParent( parentSM );
}
-
-
+
+ public void setParentApplication( Application application )
+ {
+ setParentStateManager( application.stateManager );
+ }
+
+ public String getAppName()
+ {
+ return stateManager.getId();
+ }
+
+ public void setAppName( String appName )
+ {
+ stateManager.setId( appName );
+ }
+
+
public String getDescription()
{
- return description;
+ return stateManager.getStringValue( DESCRIPTION_INDEX );
+ }
+
+ public void setDescription( String description )
+ {
+ stateManager.setStringValue( DESCRIPTION_INDEX, description );
}
-
-
+
+
public String getPassword()
{
- return password;
+ return stateManager.getStringValue( PASSWORD_INDEX );
}
-
-
- // -----------------------------------------------------------------------
- // Accessors to contained entities
- // -----------------------------------------------------------------------
-
-
- public Permission getPermission( String permName ) throws DataAccessException
+
+ public void setPassword( String password )
+ {
+ stateManager.setStringValue( PASSWORD_INDEX, password );
+ }
+
+ public Permission getPermission( String permissionId )
+ {
+ ChildMap<Permission> map = stateManager.getChildMap( PERMISSIONS_INDEX );
+ return map.get( permissionId );
+ }
+
+ public void addPermission( Permission permission )
+ {
+ ChildMap<Permission> map = stateManager.getChildMap( PERMISSIONS_INDEX );
+ String permissionId = permission.getPermissionId();
+ map.put( permissionId, permission );
+ }
+
+ public void removePermission( Permission permission )
+ {
+ ChildMap<Permission> map = stateManager.getChildMap( PERMISSIONS_INDEX );
+ String permissionId = permission.getPermissionId();
+ map.remove( permissionId );
+ }
+
+ public Collection<Permission> getPermissions()
+ {
+ ChildMap<Permission> map = stateManager.getChildMap( PERMISSIONS_INDEX );
+ return map.values();
+ }
+
+ public Role getRole( String roleId )
{
- return permissionDao.load( appRdn, permName );
+ ChildMap<Role> map = stateManager.getChildMap( ROLES_INDEX );
+ return map.get( roleId );
}
-
-
- public Role getRole( String roleName ) throws DataAccessException
+
+ public void addRole( Role role )
+ {
+ ChildMap<Role> map = stateManager.getChildMap( ROLES_INDEX );
+ String roleId = role.getRoleName();
+ map.put( roleId, role );
+ }
+
+ public void removeRole( Role role )
{
- return roleDao.load( appRdn, roleName );
+ ChildMap<Role> map = stateManager.getChildMap( ROLES_INDEX );
+ String roleId = role.getRoleName();
+ map.remove( roleId );
}
-
-
- public Profile getProfile( String profileId ) throws DataAccessException
+
+ public Collection<Role> getRoles()
+ {
+ ChildMap<Role> map = stateManager.getChildMap( ROLES_INDEX );
+ return map.values();
+ }
+
+ public Profile getProfile( String profileId )
{
- return profileDao.load( appRdn, profileId );
+ ChildMap<Profile> map = stateManager.getChildMap( PROFILES_INDEX );
+ return map.get( profileId );
}
-
-
- // -----------------------------------------------------------------------
- // ReadOnly Iterator methods
- // -----------------------------------------------------------------------
-
-
- public Iterator permissionIterator() throws DataAccessException
+
+ public void addProfile( Profile profile )
{
- return new ReadOnlyIterator( permissionDao.permissionIterator( appRdn ) );
+ ChildMap<Profile> map = stateManager.getChildMap( PROFILES_INDEX );
+ String profileId = profile.getProfileId();
+ map.put( profileId, profile );
}
-
-
- public Iterator roleIterator() throws DataAccessException
+
+ public void removeProfile( Profile profile )
{
- return new ReadOnlyIterator( roleDao.roleIterator( appRdn ) );
+ ChildMap<Profile> map = stateManager.getChildMap( PROFILES_INDEX );
+ String profileId = profile.getProfileId();
+ map.remove( profileId );
}
-
-
- public Iterator profileIterator() throws DataAccessException
+
+ public Collection<Profile> getProfiles()
{
- return new ReadOnlyIterator( profileDao.profileIterator( appRdn ) );
+ ChildMap<Profile> map = stateManager.getChildMap( PROFILES_INDEX );
+ return map.values();
}
-
-
- public Iterator profileIterator( String user) throws DataAccessException
+
+// public String toString()
+// {
+// return appRdn;
+// }
+
+ public StateManager getStateManager()
{
- return new ReadOnlyIterator( profileDao.profileIterator( appRdn, user ) );
+ return stateManager;
}
-
-
- // -----------------------------------------------------------------------
- // Modifier factory methods
- // -----------------------------------------------------------------------
-
-
- public ApplicationModifier modifier()
+
+ public Attributes getAttributes()
{
- return new ApplicationModifier( dao, this );
+ return new BasicAttributes( Constants.OBJECT_CLASS_ID, Constants.POLICY_APPLICATION_OC, true );
}
-
-
- public String toString()
+
+ public void parentSet( StateManager parentSm )
{
- return appRdn;
}
+
}
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Constants.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Constants.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Constants.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Constants.java Tue Jan 16 00:24:45 2007
@@ -25,6 +25,7 @@
public interface Constants
{
+ String POLICY_APPLICATION_OC = "policyApplication";
String POLICY_PROFILE_OC = "policyProfile";
String POLICY_PERMISSION_OC = "policyPermission";
String POLICY_ROLE_OC = "policyRole";
@@ -38,6 +39,7 @@
String KRB5PRINCIPAL_OC = "krb5Principal";
String KRB5KDCENTRY_OC = "krb5KDCEntry";
String REFERRAL_OC = "referral";
+ String POLICY_JAVA_PERMISSION_OC = "javaPermission";
String SAFEHAUS_RESYNCH_COUNT_ID = "safehausResynchCount";
String SAFEHAUS_DISABLED_ID = "safehausDisabled";
@@ -90,6 +92,10 @@
String PROFILEID_ID = "profileId";
String SAFEHAUS_ID = "safehausUid";
String CREATORS_NAME_ID = "creatorsName";
+
+ String PERM_JAVA_CLASS_ID = "permJavaClass";
+ String PERM_JAVA_NAME_ID = "permJavaName";
+ String PERM_JAVA_ACTIONS_ID = "permJavaActions";
ModificationItem[] EMPTY_MODS = new ModificationItem[0];
String INVALID_MSG = "This modifier has persisted changes and is no longer valid.";
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/ExternalUserModifier.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/ExternalUserModifier.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/ExternalUserModifier.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/ExternalUserModifier.java Tue Jan 16 00:24:45 2007
@@ -26,33 +26,34 @@
import javax.naming.directory.ModificationItem;
import org.safehaus.triplesec.admin.dao.ExternalUserDao;
+import org.safehaus.triplesec.admin.persistence.SingleValuedField;
public class ExternalUserModifier implements Constants
{
- private SingleValuedField referral;
- private final SingleValuedField disabled;
-
+ private SingleValuedField<String> referral;
+ private final SingleValuedField<String> disabled;
+
private final ExternalUserDao dao;
private final String id;
private final ExternalUser archetype;
- private final SingleValuedField description;
+ private final SingleValuedField<String> description;
private boolean persisted = false;
-
-
+
+
// -----------------------------------------------------------------------
// Constructors
// -----------------------------------------------------------------------
-
+
public ExternalUserModifier( ExternalUserDao dao, ExternalUser archetype )
{
this.id = archetype.getId();
this.dao = dao;
this.archetype = archetype;
- this.referral = new SingleValuedField( REF_ID, archetype.getReferral() );
- this.description = new SingleValuedField( DESCRIPTION_ID, archetype.getDescription() );
- this.disabled = new SingleValuedField( KRB5_DISABLED_ID, String.valueOf( archetype.isDisabled() ).toUpperCase() );
+ this.referral = new SingleValuedField<String>( REF_ID, archetype.getReferral() );
+ this.description = new SingleValuedField<String>( DESCRIPTION_ID, archetype.getDescription() );
+ this.disabled = new SingleValuedField<String>( KRB5_DISABLED_ID, String.valueOf( archetype.isDisabled() ).toUpperCase() );
}
@@ -65,13 +66,13 @@
this.description = new SingleValuedField( DESCRIPTION_ID, null );
this.disabled = new SingleValuedField( KRB5_DISABLED_ID, null );
}
-
-
+
+
// -----------------------------------------------------------------------
// Mutators
// -----------------------------------------------------------------------
-
+
public ExternalUserModifier setDisabled( boolean disabled )
{
if ( persisted )
@@ -81,8 +82,8 @@
this.disabled.setValue( String.valueOf( disabled ).toUpperCase() );
return this;
}
-
-
+
+
public ExternalUserModifier setReferral( String referral )
{
if ( persisted )
@@ -92,8 +93,8 @@
this.referral.setValue( referral );
return this;
}
-
-
+
+
public ExternalUserModifier setDescription( String description )
{
if ( persisted )
@@ -109,7 +110,7 @@
// Modifier Check Methods
// -----------------------------------------------------------------------
-
+
public boolean isUpdateNeeded()
{
return description.isUpdateNeeded() || referral.isUpdateNeeded() || disabled.isUpdateNeeded();
@@ -126,19 +127,19 @@
{
return archetype != null;
}
-
-
+
+
public boolean isValid()
{
return ! persisted;
}
-
-
+
+
// -----------------------------------------------------------------------
// Modifier Methods
// -----------------------------------------------------------------------
-
+
public ExternalUser add() throws DataAccessException
{
if ( persisted )
@@ -149,8 +150,8 @@
persisted = true;
return user;
}
-
-
+
+
public ExternalUser rename( String newName ) throws DataAccessException
{
if ( persisted )
@@ -163,27 +164,27 @@
throw new ModificationLossException( id + " has been modified. " +
"A rename operation will result in the loss of these modifications." );
}
-
+
ExternalUser user = dao.rename( newName, archetype );
persisted = true;
return user;
}
-
-
+
+
public ExternalUser modify() throws DataAccessException
{
if ( persisted )
{
throw new IllegalStateException( INVALID_MSG );
}
- ExternalUser user = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), id,
- description.getCurrentValue(), referral.getCurrentValue(),
+ ExternalUser user = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), id,
+ description.getCurrentValue(), referral.getCurrentValue(),
parseBoolean( disabled.getCurrentValue().toLowerCase() ), getModificationItems() );
persisted = true;
return user;
}
-
-
+
+
public void delete() throws DataAccessException
{
if ( persisted )
@@ -194,7 +195,7 @@
persisted = true;
}
-
+
private ModificationItem[] getModificationItems()
{
// new entries do not generate modification items
@@ -231,7 +232,7 @@
{
return true;
}
-
+
return false;
}
}
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/GroupModifier.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/GroupModifier.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/GroupModifier.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/GroupModifier.java Tue Jan 16 00:24:45 2007
@@ -25,6 +25,7 @@
import javax.naming.directory.ModificationItem;
import org.safehaus.triplesec.admin.dao.GroupDao;
+import org.safehaus.triplesec.admin.persistence.MultiValuedField;
public class GroupModifier implements Constants
@@ -43,8 +44,8 @@
this.name = archetype.getName();
this.members = new MultiValuedField( UNIQUE_MEMBER_ID, archetype.getMembers() );
}
-
-
+
+
public GroupModifier( GroupDao dao, String name, Set members )
{
this.dao = dao;
@@ -61,12 +62,12 @@
{
return EMPTY_MODS;
}
-
+
if ( members.isUpdateNeeded() )
{
return new ModificationItem[] { members.getModificationItem() };
}
-
+
return EMPTY_MODS;
}
@@ -81,32 +82,32 @@
{
return archetype != null;
}
-
-
+
+
public boolean isUpdateNeeded()
{
return members.isUpdateNeeded();
}
-
-
+
+
public boolean isValid()
{
return ! persisted;
}
-
-
+
+
public GroupModifier addMember( String member )
{
if ( persisted )
{
throw new IllegalStateException( INVALID_MSG );
}
-
+
members.addValue( member );
return this;
}
-
-
+
+
public GroupModifier removeMember( String member )
{
if ( persisted )
@@ -117,8 +118,8 @@
members.removeValue( member );
return this;
}
-
-
+
+
public Group add() throws DataAccessException
{
if ( persisted )
@@ -129,8 +130,8 @@
persisted = true;
return group;
}
-
-
+
+
public Group rename( String newName ) throws DataAccessException
{
if ( persisted )
@@ -143,26 +144,26 @@
throw new ModificationLossException( name + " has been modified. " +
"A rename operation will result in the loss of these modifications." );
}
-
+
Group group = dao.rename( newName, archetype );
persisted = true;
return group;
}
-
-
+
+
public Group modify() throws DataAccessException
{
if ( persisted )
{
throw new IllegalStateException( INVALID_MSG );
}
- Group group = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), name,
+ Group group = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), name,
members.getCurrentValues(), getModificationItems() );
persisted = true;
return group;
}
-
-
+
+
public void delete() throws DataAccessException
{
if ( persisted )
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/HauskeysUserModifier.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/HauskeysUserModifier.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/HauskeysUserModifier.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/HauskeysUserModifier.java Tue Jan 16 00:24:45 2007
@@ -28,6 +28,7 @@
import javax.naming.directory.ModificationItem;
import org.safehaus.triplesec.admin.dao.HauskeysUserDao;
+import org.safehaus.triplesec.admin.persistence.SingleValuedField;
public class HauskeysUserModifier implements Constants
@@ -36,103 +37,103 @@
private final HauskeysUser archetype;
private final HauskeysUserDao dao;
- private final SingleValuedField firstName;
- private final SingleValuedField disabled;
- private final SingleValuedField lastName;
- private final SingleValuedField password;
- private final SingleValuedField description;
- private final SingleValuedField mobile;
- private final SingleValuedField email;
- private final SingleValuedField notifyBy;
- private final SingleValuedField mobileCarrier;
- private final SingleValuedField tokenPin;
- private final SingleValuedField midletName;
- private final SingleValuedField failuresInEpoch;
- private final SingleValuedField activationKey;
- private final SingleValuedField realm;
- private final SingleValuedField secret;
- private final SingleValuedField label;
- private final SingleValuedField movingFactor;
-
- private final SingleValuedField address1;
- private final SingleValuedField address2;
- private final SingleValuedField city;
- private final SingleValuedField stateProvRegion;
- private final SingleValuedField zipPostalCode;
- private final SingleValuedField country;
- private final SingleValuedField company;
+ private final SingleValuedField<String> firstName;
+ private final SingleValuedField<String> disabled;
+ private final SingleValuedField<String> lastName;
+ private final SingleValuedField<String> password;
+ private final SingleValuedField<String> description;
+ private final SingleValuedField<String> mobile;
+ private final SingleValuedField<String> email;
+ private final SingleValuedField<String> notifyBy;
+ private final SingleValuedField<String> mobileCarrier;
+ private final SingleValuedField<String> tokenPin;
+ private final SingleValuedField<String> midletName;
+ private final SingleValuedField<String> failuresInEpoch;
+ private final SingleValuedField<String> activationKey;
+ private final SingleValuedField<String> realm;
+ private final SingleValuedField<String> secret;
+ private final SingleValuedField<String> label;
+ private final SingleValuedField<String> movingFactor;
+
+ private final SingleValuedField<String> address1;
+ private final SingleValuedField<String> address2;
+ private final SingleValuedField<String> city;
+ private final SingleValuedField<String> stateProvRegion;
+ private final SingleValuedField<String> zipPostalCode;
+ private final SingleValuedField<String> country;
+ private final SingleValuedField<String> company;
private boolean persisted = false;
-
-
+
+
// -----------------------------------------------------------------------
// Constructors
// -----------------------------------------------------------------------
-
+
public HauskeysUserModifier( HauskeysUserDao dao, HauskeysUser archetype )
{
this.id = archetype.getId();
this.dao = dao;
this.archetype = archetype;
- this.firstName = new SingleValuedField( GIVENNAME_ID, archetype.getFirstName() );
- this.lastName = new SingleValuedField( SURNAME_ID, archetype.getLastName() );
- this.password = new SingleValuedField( PASSWORD_ID, archetype.getPassword() );
- this.description = new SingleValuedField( DESCRIPTION_ID, archetype.getDescription() );
- this.mobile = new SingleValuedField( MOBILE_ID, archetype.getMobile() );
- this.email = new SingleValuedField( EMAIL_ID, archetype.getEmail() );
- this.notifyBy = new SingleValuedField( NOTIFY_BY_ID, archetype.getNotifyBy() );
- this.mobileCarrier = new SingleValuedField( MOBILE_CARRIER_ID, archetype.getMobileCarrier() );
- this.tokenPin = new SingleValuedField( TOKEN_PIN_ID, archetype.getTokenPin() );
- this.midletName = new SingleValuedField( MIDLE_NAME_ID, archetype.getMidletName() );
- this.failuresInEpoch = new SingleValuedField( FAILURES_IN_EPOCH_ID, archetype.getFailuresInEpoch() );
- this.activationKey = new SingleValuedField( ACTIVATION_KEY_ID, archetype.getActivationKey() );
- this.realm = new SingleValuedField( REALM_ID, archetype.getRealm() );
- this.secret = new SingleValuedField( SECRET_ID, archetype.getSecret() );
- this.label = new SingleValuedField( LABEL_ID, archetype.getLabel() );
- this.movingFactor = new SingleValuedField( MOVING_FACTOR_ID, archetype.getMovingFactor() );
- this.address1 = new SingleValuedField( STREET_ID, archetype.getAddress1() );
- this.address2 = new SingleValuedField( POSTAL_ADDRESS_ID, archetype.getAddress2() );
- this.city = new SingleValuedField( LOCALITY_NAME_ID, archetype.getCity() );
- this.stateProvRegion = new SingleValuedField( STATE_PROVINCE_ID, archetype.getStateProvRegion() );
- this.zipPostalCode = new SingleValuedField( ZIP_POSTAL_CODE_ID, archetype.getZipPostalCode() );
- this.country = new SingleValuedField( COUNTRY_ID, archetype.getCountry() );
- this.company = new SingleValuedField( ORGANIZATION_ID, archetype.getCompany() );
- this.disabled = new SingleValuedField( KRB5_DISABLED_ID, String.valueOf( archetype.isDisabled() ).toUpperCase() );
+ this.firstName = new SingleValuedField<String>( GIVENNAME_ID, archetype.getFirstName() );
+ this.lastName = new SingleValuedField<String>( SURNAME_ID, archetype.getLastName() );
+ this.password = new SingleValuedField<String>( PASSWORD_ID, archetype.getPassword() );
+ this.description = new SingleValuedField<String>( DESCRIPTION_ID, archetype.getDescription() );
+ this.mobile = new SingleValuedField<String>( MOBILE_ID, archetype.getMobile() );
+ this.email = new SingleValuedField<String>( EMAIL_ID, archetype.getEmail() );
+ this.notifyBy = new SingleValuedField<String>( NOTIFY_BY_ID, archetype.getNotifyBy() );
+ this.mobileCarrier = new SingleValuedField<String>( MOBILE_CARRIER_ID, archetype.getMobileCarrier() );
+ this.tokenPin = new SingleValuedField<String>( TOKEN_PIN_ID, archetype.getTokenPin() );
+ this.midletName = new SingleValuedField<String>( MIDLE_NAME_ID, archetype.getMidletName() );
+ this.failuresInEpoch = new SingleValuedField<String>( FAILURES_IN_EPOCH_ID, archetype.getFailuresInEpoch() );
+ this.activationKey = new SingleValuedField<String>( ACTIVATION_KEY_ID, archetype.getActivationKey() );
+ this.realm = new SingleValuedField<String>( REALM_ID, archetype.getRealm() );
+ this.secret = new SingleValuedField<String>( SECRET_ID, archetype.getSecret() );
+ this.label = new SingleValuedField<String>( LABEL_ID, archetype.getLabel() );
+ this.movingFactor = new SingleValuedField<String>( MOVING_FACTOR_ID, archetype.getMovingFactor() );
+ this.address1 = new SingleValuedField<String>( STREET_ID, archetype.getAddress1() );
+ this.address2 = new SingleValuedField<String>( POSTAL_ADDRESS_ID, archetype.getAddress2() );
+ this.city = new SingleValuedField<String>( LOCALITY_NAME_ID, archetype.getCity() );
+ this.stateProvRegion = new SingleValuedField<String>( STATE_PROVINCE_ID, archetype.getStateProvRegion() );
+ this.zipPostalCode = new SingleValuedField<String>( ZIP_POSTAL_CODE_ID, archetype.getZipPostalCode() );
+ this.country = new SingleValuedField<String>( COUNTRY_ID, archetype.getCountry() );
+ this.company = new SingleValuedField<String>( ORGANIZATION_ID, archetype.getCompany() );
+ this.disabled = new SingleValuedField<String>( KRB5_DISABLED_ID, String.valueOf( archetype.isDisabled() ).toUpperCase() );
}
- public HauskeysUserModifier( HauskeysUserDao dao, String id, String firstName, String lastName,
+ public HauskeysUserModifier( HauskeysUserDao dao, String id, String firstName, String lastName,
String password )
{
this.id = id;
this.dao = dao;
this.archetype = null;
- this.firstName = new SingleValuedField( GIVENNAME_ID, firstName );
- this.lastName = new SingleValuedField( SURNAME_ID, lastName );
- this.disabled = new SingleValuedField( KRB5_DISABLED_ID, "FALSE" );
-
- this.password = new SingleValuedField( PASSWORD_ID, password );
- this.description = new SingleValuedField( DESCRIPTION_ID, null );
- this.mobile = new SingleValuedField( MOBILE_ID, null );
- this.email = new SingleValuedField( EMAIL_ID, null );
- this.notifyBy = new SingleValuedField( NOTIFY_BY_ID, null );
- this.mobileCarrier = new SingleValuedField( MOBILE_CARRIER_ID, null );
- this.tokenPin = new SingleValuedField( TOKEN_PIN_ID, null );
- this.midletName = new SingleValuedField( MIDLE_NAME_ID, null );
- this.failuresInEpoch = new SingleValuedField( FAILURES_IN_EPOCH_ID, null );
- this.activationKey = new SingleValuedField( ACTIVATION_KEY_ID, null );
- this.realm = new SingleValuedField( REALM_ID, null );
- this.secret = new SingleValuedField( SECRET_ID, null );
- this.label = new SingleValuedField( LABEL_ID, null );
- this.movingFactor = new SingleValuedField( MOVING_FACTOR_ID, null );
- this.address1 = new SingleValuedField( STREET_ID, null );
- this.address2 = new SingleValuedField( POSTAL_ADDRESS_ID, null );
- this.city = new SingleValuedField( LOCALITY_NAME_ID, null );
- this.stateProvRegion = new SingleValuedField( STATE_PROVINCE_ID, null );
- this.zipPostalCode = new SingleValuedField( ZIP_POSTAL_CODE_ID, null );
- this.country = new SingleValuedField( COUNTRY_ID, null );
- this.company = new SingleValuedField( ORGANIZATION_ID, null );
+ this.firstName = new SingleValuedField<String>( GIVENNAME_ID, firstName );
+ this.lastName = new SingleValuedField<String>( SURNAME_ID, lastName );
+ this.disabled = new SingleValuedField<String>( KRB5_DISABLED_ID, "FALSE" );
+
+ this.password = new SingleValuedField<String>( PASSWORD_ID, password );
+ this.description = new SingleValuedField<String>( DESCRIPTION_ID, null );
+ this.mobile = new SingleValuedField<String>( MOBILE_ID, null );
+ this.email = new SingleValuedField<String>( EMAIL_ID, null );
+ this.notifyBy = new SingleValuedField<String>( NOTIFY_BY_ID, null );
+ this.mobileCarrier = new SingleValuedField<String>( MOBILE_CARRIER_ID, null );
+ this.tokenPin = new SingleValuedField<String>( TOKEN_PIN_ID, null );
+ this.midletName = new SingleValuedField<String>( MIDLE_NAME_ID, null );
+ this.failuresInEpoch = new SingleValuedField<String>( FAILURES_IN_EPOCH_ID, null );
+ this.activationKey = new SingleValuedField<String>( ACTIVATION_KEY_ID, null );
+ this.realm = new SingleValuedField<String>( REALM_ID, null );
+ this.secret = new SingleValuedField<String>( SECRET_ID, null );
+ this.label = new SingleValuedField<String>( LABEL_ID, null );
+ this.movingFactor = new SingleValuedField<String>( MOVING_FACTOR_ID, null );
+ this.address1 = new SingleValuedField<String>( STREET_ID, null );
+ this.address2 = new SingleValuedField<String>( POSTAL_ADDRESS_ID, null );
+ this.city = new SingleValuedField<String>( LOCALITY_NAME_ID, null );
+ this.stateProvRegion = new SingleValuedField<String>( STATE_PROVINCE_ID, null );
+ this.zipPostalCode = new SingleValuedField<String>( ZIP_POSTAL_CODE_ID, null );
+ this.country = new SingleValuedField<String>( COUNTRY_ID, null );
+ this.company = new SingleValuedField<String>( ORGANIZATION_ID, null );
}
@@ -140,7 +141,7 @@
// Mutators
// -----------------------------------------------------------------------
-
+
public HauskeysUserModifier setAddress1( String address1 )
{
if ( persisted )
@@ -150,8 +151,8 @@
this.address1.setValue( address1 );
return this;
}
-
-
+
+
public HauskeysUserModifier setAddress2( String address2 )
{
if ( persisted )
@@ -161,8 +162,8 @@
this.address2.setValue( address2 );
return this;
}
-
-
+
+
public HauskeysUserModifier setCity( String city )
{
if ( persisted )
@@ -172,8 +173,8 @@
this.city.setValue( city );
return this;
}
-
-
+
+
public HauskeysUserModifier setStateProvRegion( String stateProvRegion )
{
if ( persisted )
@@ -183,8 +184,8 @@
this.stateProvRegion.setValue( stateProvRegion );
return this;
}
-
-
+
+
public HauskeysUserModifier setZipPostalCode( String zipPostalCode )
{
if ( persisted )
@@ -194,8 +195,8 @@
this.zipPostalCode.setValue( zipPostalCode );
return this;
}
-
-
+
+
public HauskeysUserModifier setCountry( String country )
{
if ( persisted )
@@ -205,8 +206,8 @@
this.country.setValue( country );
return this;
}
-
-
+
+
public HauskeysUserModifier setCompany( String company )
{
if ( persisted )
@@ -216,8 +217,8 @@
this.company.setValue( company );
return this;
}
-
-
+
+
public HauskeysUserModifier setDisabled( boolean disabled )
{
if ( persisted )
@@ -228,7 +229,7 @@
return this;
}
-
+
public HauskeysUserModifier setFirstName( String firstName )
{
if ( persisted )
@@ -238,8 +239,8 @@
this.firstName.setValue( firstName );
return this;
}
-
-
+
+
public HauskeysUserModifier setLastName( String lastName )
{
if ( persisted )
@@ -249,8 +250,8 @@
this.lastName.setValue( lastName );
return this;
}
-
-
+
+
public HauskeysUserModifier setPassword( String password )
{
if ( persisted )
@@ -260,8 +261,8 @@
this.password.setValue( password );
return this;
}
-
-
+
+
public HauskeysUserModifier setDescription( String description )
{
if ( persisted )
@@ -271,8 +272,8 @@
this.description.setValue( description );
return this;
}
-
-
+
+
public HauskeysUserModifier setMobile( String mobile )
{
if ( persisted )
@@ -282,8 +283,8 @@
this.mobile.setValue( mobile );
return this;
}
-
-
+
+
public HauskeysUserModifier setEmail( String email )
{
if ( persisted )
@@ -293,8 +294,8 @@
this.email.setValue( email );
return this;
}
-
-
+
+
public HauskeysUserModifier setNotifyBy( String notifyBy )
{
if ( persisted )
@@ -304,8 +305,8 @@
this.notifyBy.setValue( notifyBy );
return this;
}
-
-
+
+
public HauskeysUserModifier setMobileCarrier( String mobileCarrier )
{
if ( persisted )
@@ -315,8 +316,8 @@
this.mobileCarrier.setValue( mobileCarrier );
return this;
}
-
-
+
+
public HauskeysUserModifier setTokenPin( String tokenPin )
{
if ( persisted )
@@ -326,8 +327,8 @@
this.tokenPin.setValue( tokenPin );
return this;
}
-
-
+
+
public HauskeysUserModifier setMidletName( String midletName )
{
if ( persisted )
@@ -337,8 +338,8 @@
this.midletName.setValue( midletName );
return this;
}
-
-
+
+
public HauskeysUserModifier setFailuresInEpoch( String failuresInEpoch )
{
if ( persisted )
@@ -348,8 +349,8 @@
this.failuresInEpoch.setValue( failuresInEpoch );
return this;
}
-
-
+
+
public HauskeysUserModifier setActivationKey( String activationKey )
{
if ( persisted )
@@ -359,8 +360,8 @@
this.activationKey.setValue( activationKey );
return this;
}
-
-
+
+
public HauskeysUserModifier setRealm( String realm )
{
if ( persisted )
@@ -370,8 +371,8 @@
this.realm.setValue( realm );
return this;
}
-
-
+
+
public HauskeysUserModifier setSecret( String secret )
{
if ( persisted )
@@ -382,7 +383,7 @@
return this;
}
-
+
public HauskeysUserModifier setLabel( String label )
{
if ( persisted )
@@ -393,7 +394,7 @@
return this;
}
-
+
public HauskeysUserModifier setMovingFactor( String movingFactor )
{
if ( persisted )
@@ -404,12 +405,12 @@
return this;
}
-
+
// -----------------------------------------------------------------------
// Modifier Check Methods
// -----------------------------------------------------------------------
-
+
public boolean isNewEntry()
{
return archetype == null;
@@ -420,21 +421,21 @@
{
return archetype != null;
}
-
-
+
+
public boolean isValid()
{
return ! persisted;
}
-
-
+
+
public boolean isUpdateNeeded()
{
- return
+ return
disabled.isUpdateNeeded() ||
- description.isUpdateNeeded() ||
- firstName.isUpdateNeeded() ||
- lastName.isUpdateNeeded() ||
+ description.isUpdateNeeded() ||
+ firstName.isUpdateNeeded() ||
+ lastName.isUpdateNeeded() ||
password.isUpdateNeeded() ||
mobile.isUpdateNeeded() ||
email.isUpdateNeeded() ||
@@ -462,7 +463,7 @@
// Modifier Methods
// -----------------------------------------------------------------------
-
+
public HauskeysUser add() throws DataAccessException
{
if ( persisted )
@@ -470,19 +471,19 @@
throw new IllegalStateException( INVALID_MSG );
}
HauskeysUser user = dao.add( id, description.getCurrentValue(), firstName.getCurrentValue(),
- lastName.getCurrentValue(), password.getCurrentValue(), mobile.getCurrentValue(),
- email.getCurrentValue(), notifyBy.getCurrentValue(), mobileCarrier.getCurrentValue(),
+ lastName.getCurrentValue(), password.getCurrentValue(), mobile.getCurrentValue(),
+ email.getCurrentValue(), notifyBy.getCurrentValue(), mobileCarrier.getCurrentValue(),
tokenPin.getCurrentValue(), midletName.getCurrentValue(), failuresInEpoch.getCurrentValue(),
- activationKey.getCurrentValue(), realm.getCurrentValue(), secret.getCurrentValue(),
- label.getCurrentValue(), movingFactor.getCurrentValue(), address1.getCurrentValue(),
- address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
- zipPostalCode.getCurrentValue(), country.getCurrentValue(), company.getCurrentValue(),
+ activationKey.getCurrentValue(), realm.getCurrentValue(), secret.getCurrentValue(),
+ label.getCurrentValue(), movingFactor.getCurrentValue(), address1.getCurrentValue(),
+ address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
+ zipPostalCode.getCurrentValue(), country.getCurrentValue(), company.getCurrentValue(),
parseBoolean( disabled.getCurrentValue().toLowerCase() ) );
persisted = true;
return user;
}
-
-
+
+
public HauskeysUser rename( String newName ) throws DataAccessException
{
if ( persisted )
@@ -495,34 +496,34 @@
throw new ModificationLossException( id + " has been modified. " +
"A rename operation will result in the loss of these modifications." );
}
-
+
HauskeysUser user = dao.rename( newName, archetype );
persisted = true;
return user;
}
-
-
+
+
public HauskeysUser modify() throws DataAccessException
{
if ( persisted )
{
throw new IllegalStateException( INVALID_MSG );
}
- HauskeysUser user = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), id,
- description.getCurrentValue(), firstName.getCurrentValue(), lastName.getCurrentValue(),
- password.getCurrentValue(), mobile.getCurrentValue(), email.getCurrentValue(),
- notifyBy.getCurrentValue(), mobileCarrier.getCurrentValue(), tokenPin.getCurrentValue(),
- midletName.getCurrentValue(), failuresInEpoch.getCurrentValue(), activationKey.getCurrentValue(),
- realm.getCurrentValue(), secret.getCurrentValue(), label.getCurrentValue(),
- movingFactor.getCurrentValue(), address1.getCurrentValue(),
- address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
- zipPostalCode.getCurrentValue(), country.getCurrentValue(), company.getCurrentValue(),
+ HauskeysUser user = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), id,
+ description.getCurrentValue(), firstName.getCurrentValue(), lastName.getCurrentValue(),
+ password.getCurrentValue(), mobile.getCurrentValue(), email.getCurrentValue(),
+ notifyBy.getCurrentValue(), mobileCarrier.getCurrentValue(), tokenPin.getCurrentValue(),
+ midletName.getCurrentValue(), failuresInEpoch.getCurrentValue(), activationKey.getCurrentValue(),
+ realm.getCurrentValue(), secret.getCurrentValue(), label.getCurrentValue(),
+ movingFactor.getCurrentValue(), address1.getCurrentValue(),
+ address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
+ zipPostalCode.getCurrentValue(), country.getCurrentValue(), company.getCurrentValue(),
parseBoolean( disabled.getCurrentValue().toLowerCase() ), getModificationItems() );
persisted = true;
return user;
}
-
-
+
+
public void delete() throws DataAccessException
{
if ( persisted )
@@ -533,7 +534,7 @@
persisted = true;
}
-
+
private ModificationItem[] getModificationItems()
{
// new entries do not generate modification items
@@ -641,28 +642,28 @@
{
mods.add( disabled.getModificationItem() );
}
-
+
// if first or last name has changed modify the common name
if ( firstName.isUpdateNeeded() || lastName.isUpdateNeeded() )
{
- mods.add( new ModificationItem( DirContext.REPLACE_ATTRIBUTE, new BasicAttribute( "cn",
+ mods.add( new ModificationItem( DirContext.REPLACE_ATTRIBUTE, new BasicAttribute( "cn",
firstName.getCurrentValue() + " " + lastName.getCurrentValue() ) ) );
}
-
+
ModificationItem[] modArray = new ModificationItem[mods.size()];
return ( ModificationItem[] ) mods.toArray( modArray );
}
return EMPTY_MODS;
}
-
+
private static boolean parseBoolean( String bool )
{
if ( bool.equals( "true" ) )
{
return true;
}
-
+
return false;
}
}
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/LocalUserModifier.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/LocalUserModifier.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/LocalUserModifier.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/LocalUserModifier.java Tue Jan 16 00:24:45 2007
@@ -26,6 +26,7 @@
import javax.naming.directory.ModificationItem;
import org.safehaus.triplesec.admin.dao.LocalUserDao;
+import org.safehaus.triplesec.admin.persistence.SingleValuedField;
public class LocalUserModifier implements Constants
@@ -33,46 +34,46 @@
private final String id;
private final LocalUser archetype;
private final LocalUserDao dao;
- private final SingleValuedField disabled;
- private final SingleValuedField firstName;
- private final SingleValuedField lastName;
- private final SingleValuedField password;
- private final SingleValuedField description;
-
- private final SingleValuedField address1;
- private final SingleValuedField address2;
- private final SingleValuedField city;
- private final SingleValuedField stateProvRegion;
- private final SingleValuedField zipPostalCode;
- private final SingleValuedField country;
- private final SingleValuedField company;
- private final SingleValuedField email;
+ private final SingleValuedField<String> disabled;
+ private final SingleValuedField<String> firstName;
+ private final SingleValuedField<String> lastName;
+ private final SingleValuedField<String> password;
+ private final SingleValuedField<String> description;
+
+ private final SingleValuedField<String> address1;
+ private final SingleValuedField<String> address2;
+ private final SingleValuedField<String> city;
+ private final SingleValuedField<String> stateProvRegion;
+ private final SingleValuedField<String> zipPostalCode;
+ private final SingleValuedField<String> country;
+ private final SingleValuedField<String> company;
+ private final SingleValuedField<String> email;
private boolean persisted = false;
-
+
// -----------------------------------------------------------------------
// Constructors
// -----------------------------------------------------------------------
-
+
public LocalUserModifier( LocalUserDao dao, LocalUser archetype )
{
this.id = archetype.getId();
this.dao = dao;
this.archetype = archetype;
- this.firstName = new SingleValuedField( GIVENNAME_ID, archetype.getFirstName() );
- this.lastName = new SingleValuedField( SURNAME_ID, archetype.getLastName() );
- this.password = new SingleValuedField( PASSWORD_ID, archetype.getPassword() );
- this.description = new SingleValuedField( DESCRIPTION_ID, archetype.getDescription() );
- this.disabled = new SingleValuedField( KRB5_DISABLED_ID, String.valueOf( archetype.isDisabled() ).toUpperCase() );
- this.address1 = new SingleValuedField( STREET_ID, archetype.getAddress1() );
- this.address2 = new SingleValuedField( POSTAL_ADDRESS_ID, archetype.getAddress2() );
- this.city = new SingleValuedField( LOCALITY_NAME_ID, archetype.getCity() );
- this.stateProvRegion = new SingleValuedField( STATE_PROVINCE_ID, archetype.getStateProvRegion() );
- this.zipPostalCode = new SingleValuedField( ZIP_POSTAL_CODE_ID, archetype.getZipPostalCode() );
- this.country = new SingleValuedField( COUNTRY_ID, archetype.getCountry() );
- this.company = new SingleValuedField( ORGANIZATION_ID, archetype.getCompany() );
- this.email = new SingleValuedField( EMAIL_ID, archetype.getEmail() );
+ this.firstName = new SingleValuedField<String>( GIVENNAME_ID, archetype.getFirstName() );
+ this.lastName = new SingleValuedField<String>( SURNAME_ID, archetype.getLastName() );
+ this.password = new SingleValuedField<String>( PASSWORD_ID, archetype.getPassword() );
+ this.description = new SingleValuedField<String>( DESCRIPTION_ID, archetype.getDescription() );
+ this.disabled = new SingleValuedField<String>( KRB5_DISABLED_ID, String.valueOf( archetype.isDisabled() ).toUpperCase() );
+ this.address1 = new SingleValuedField<String>( STREET_ID, archetype.getAddress1() );
+ this.address2 = new SingleValuedField<String>( POSTAL_ADDRESS_ID, archetype.getAddress2() );
+ this.city = new SingleValuedField<String>( LOCALITY_NAME_ID, archetype.getCity() );
+ this.stateProvRegion = new SingleValuedField<String>( STATE_PROVINCE_ID, archetype.getStateProvRegion() );
+ this.zipPostalCode = new SingleValuedField<String>( ZIP_POSTAL_CODE_ID, archetype.getZipPostalCode() );
+ this.country = new SingleValuedField<String>( COUNTRY_ID, archetype.getCountry() );
+ this.company = new SingleValuedField<String>( ORGANIZATION_ID, archetype.getCompany() );
+ this.email = new SingleValuedField<String>( EMAIL_ID, archetype.getEmail() );
}
@@ -101,7 +102,7 @@
// Mutators
// -----------------------------------------------------------------------
-
+
public LocalUserModifier setEmail( String email )
{
if ( persisted )
@@ -111,8 +112,8 @@
this.email.setValue( email );
return this;
}
-
-
+
+
public LocalUserModifier setAddress1( String address1 )
{
if ( persisted )
@@ -122,8 +123,8 @@
this.address1.setValue( address1 );
return this;
}
-
-
+
+
public LocalUserModifier setAddress2( String address2 )
{
if ( persisted )
@@ -133,8 +134,8 @@
this.address2.setValue( address2 );
return this;
}
-
-
+
+
public LocalUserModifier setCity( String city )
{
if ( persisted )
@@ -144,8 +145,8 @@
this.city.setValue( city );
return this;
}
-
-
+
+
public LocalUserModifier setStateProvRegion( String stateProvRegion )
{
if ( persisted )
@@ -155,8 +156,8 @@
this.stateProvRegion.setValue( stateProvRegion );
return this;
}
-
-
+
+
public LocalUserModifier setZipPostalCode( String zipPostalCode )
{
if ( persisted )
@@ -166,8 +167,8 @@
this.zipPostalCode.setValue( zipPostalCode );
return this;
}
-
-
+
+
public LocalUserModifier setCountry( String country )
{
if ( persisted )
@@ -177,8 +178,8 @@
this.country.setValue( country );
return this;
}
-
-
+
+
public LocalUserModifier setCompany( String company )
{
if ( persisted )
@@ -188,8 +189,8 @@
this.company.setValue( company );
return this;
}
-
-
+
+
public LocalUserModifier setDisabled( boolean disabled )
{
if ( persisted )
@@ -200,7 +201,7 @@
return this;
}
-
+
public LocalUserModifier setFirstName( String firstName )
{
if ( persisted )
@@ -210,8 +211,8 @@
this.firstName.setValue( firstName );
return this;
}
-
-
+
+
public LocalUserModifier setLastName( String lastName )
{
if ( persisted )
@@ -221,8 +222,8 @@
this.lastName.setValue( lastName );
return this;
}
-
-
+
+
public LocalUserModifier setPassword( String password )
{
if ( persisted )
@@ -232,8 +233,8 @@
this.password.setValue( password );
return this;
}
-
-
+
+
public LocalUserModifier setDescription( String description )
{
if ( persisted )
@@ -243,13 +244,13 @@
this.description.setValue( description );
return this;
}
-
-
+
+
// -----------------------------------------------------------------------
// Modifier Check Methods
// -----------------------------------------------------------------------
-
+
public boolean isNewEntry()
{
return archetype == null;
@@ -260,21 +261,21 @@
{
return archetype != null;
}
-
-
+
+
public boolean isValid()
{
return ! persisted;
}
-
-
+
+
public boolean isUpdateNeeded()
{
- return
- description.isUpdateNeeded() ||
- firstName.isUpdateNeeded() ||
- lastName.isUpdateNeeded() ||
- password.isUpdateNeeded() ||
+ return
+ description.isUpdateNeeded() ||
+ firstName.isUpdateNeeded() ||
+ lastName.isUpdateNeeded() ||
+ password.isUpdateNeeded() ||
disabled.isUpdateNeeded() ||
address1.isUpdateNeeded() ||
address2.isUpdateNeeded() ||
@@ -284,7 +285,7 @@
country.isUpdateNeeded() ||
company.isUpdateNeeded() ||
email.isUpdateNeeded();
-
+
}
@@ -292,23 +293,23 @@
// Modifier Methods
// -----------------------------------------------------------------------
-
+
public LocalUser add() throws DataAccessException
{
if ( persisted )
{
throw new IllegalStateException( INVALID_MSG );
}
- LocalUser user = dao.add( id, description.getCurrentValue(), firstName.getCurrentValue(),
- lastName.getCurrentValue(), password.getCurrentValue(), address1.getCurrentValue(),
- address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
- zipPostalCode.getCurrentValue(), country.getCurrentValue(), company.getCurrentValue(),
+ LocalUser user = dao.add( id, description.getCurrentValue(), firstName.getCurrentValue(),
+ lastName.getCurrentValue(), password.getCurrentValue(), address1.getCurrentValue(),
+ address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
+ zipPostalCode.getCurrentValue(), country.getCurrentValue(), company.getCurrentValue(),
email.getCurrentValue(), parseBoolean( disabled.getCurrentValue().toLowerCase() ) );
persisted = true;
return user;
}
-
-
+
+
public LocalUser rename( String newName ) throws DataAccessException
{
if ( persisted )
@@ -321,31 +322,31 @@
throw new ModificationLossException( id + " has been modified. " +
"A rename operation will result in the loss of these modifications." );
}
-
+
LocalUser user = dao.rename( newName, archetype );
persisted = true;
return user;
}
-
-
+
+
public LocalUser modify() throws DataAccessException
{
if ( persisted )
{
throw new IllegalStateException( INVALID_MSG );
}
- LocalUser user = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), id,
- description.getCurrentValue(), password.getCurrentValue(), firstName.getCurrentValue(),
- lastName.getCurrentValue(), address1.getCurrentValue(),
- address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
+ LocalUser user = dao.modify( archetype.getCreatorsName(), archetype.getCreateTimestamp(), id,
+ description.getCurrentValue(), password.getCurrentValue(), firstName.getCurrentValue(),
+ lastName.getCurrentValue(), address1.getCurrentValue(),
+ address2.getCurrentValue(), city.getCurrentValue(), stateProvRegion.getCurrentValue(),
zipPostalCode.getCurrentValue(), country.getCurrentValue(), company.getCurrentValue(),
- email.getCurrentValue(), parseBoolean( disabled.getCurrentValue().toLowerCase() ),
+ email.getCurrentValue(), parseBoolean( disabled.getCurrentValue().toLowerCase() ),
getModificationItems() );
persisted = true;
return user;
}
-
-
+
+
public void delete() throws DataAccessException
{
if ( persisted )
@@ -356,7 +357,7 @@
persisted = true;
}
-
+
private ModificationItem[] getModificationItems()
{
// new entries do not generate modification items
@@ -420,21 +421,21 @@
{
mods.add( email.getModificationItem() );
}
-
+
ModificationItem[] modArray = new ModificationItem[mods.size()];
return ( ModificationItem[] ) mods.toArray( modArray );
}
return EMPTY_MODS;
}
-
+
private static boolean parseBoolean( String bool )
{
if ( bool.equals( "true" ) )
{
return true;
}
-
+
return false;
}
}
Modified: directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Permission.java
URL: http://svn.apache.org/viewvc/directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Permission.java?view=diff&rev=496618&r1=496616&r2=496618
==============================================================================
--- directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Permission.java (original)
+++ directory/sandbox/triplesec-jacc2/admin-api2/src/main/java/org/safehaus/triplesec/admin/Permission.java Tue Jan 16 00:24:45 2007
@@ -20,62 +20,133 @@
package org.safehaus.triplesec.admin;
-import java.util.Date;
+import javax.naming.directory.Attributes;
+import javax.naming.directory.BasicAttributes;
+import javax.naming.directory.BasicAttribute;
+
+import org.safehaus.triplesec.admin.persistence.SingleValuedField;
+import org.safehaus.triplesec.admin.persistence.StateManager;
+import org.safehaus.triplesec.admin.persistence.SimpleRdn;
+import org.safehaus.triplesec.admin.persistence.State;
+import org.safehaus.triplesec.admin.persistence.PersistenceCapable;
-import org.safehaus.triplesec.admin.dao.PermissionDao;
-
-public class Permission extends AdministeredEntity
+public class Permission implements PersistenceCapable
{
- private final String description;
- private final String name;
- private final String applicationRdn;
- private final PermissionDao dao;
-
-
- public Permission( String creatorsName, Date createTimestamp, PermissionDao dao, String applicationName, String name, String description )
- {
- this( creatorsName, createTimestamp, null, null, dao, applicationName, name, description );
- }
-
-
- public Permission( String creatorsName, Date createTimestamp, String modifiersName,
- Date modifyTimestamp, PermissionDao dao, String applicationName, String name, String description )
- {
- super( creatorsName, createTimestamp, modifiersName, modifyTimestamp );
- this.dao = dao;
- this.applicationRdn = applicationName;
- this.name = name;
- this.description = description;
+
+ public static final String[] attrs = new String[] {Constants.PERM_NAME_ID,
+ Constants.DESCRIPTION_ID,
+ Constants.PERM_JAVA_CLASS_ID,
+ Constants.PERM_JAVA_NAME_ID,
+ Constants.PERM_JAVA_ACTIONS_ID};
+
+ private static final int PERMISSIONID_INDEX = 0;
+ private static final int DESCRIPTION_INDEX = 1;
+ private static final int JAVACLASS_INDEX = 2;
+ private static final int JAVANAME_INDEX = 3;
+ private static final int JAVAACTIONS_INDEX = 4;
+
+ private final StateManager stateManager;
+
+ public Permission()
+ {
+ stateManager = new StateManager( this );
+ stateManager.setRdn( new SimpleRdn( Constants.PERM_NAME_ID, null, "ou=permissions" ) );
+ stateManager.addField( new SingleValuedField<String>( Constants.DESCRIPTION_ID, null ) );
+ stateManager.addField( new SingleValuedField<String>( Constants.PERM_JAVA_CLASS_ID, null ) );
+ stateManager.addField( new SingleValuedField<String>( Constants.PERM_JAVA_NAME_ID, null ) );
+ stateManager.addField( new SingleValuedField<String>( Constants.PERM_JAVA_ACTIONS_ID, null ) );
+ stateManager.setState( State.EMPTY );
}
-
-
- public String getDescription()
+
+ public Permission( String permissionId, String description, String javaClass, String javaName, String javaActions )
{
- return description;
+ this();
+ setPermissionId( permissionId );
+ setDescription( description );
+ setJavaClass( javaClass );
+ setJavaName( javaName );
+ setJavaActions( javaActions );
}
+ public void setApplication( Application application )
+ {
+ stateManager.setParent( application.getStateManager() );
+ }
- public String getName()
+ public String getPermissionId()
{
- return name;
+ return stateManager.getId( );
}
-
+ public void setPermissionId( String permissionId )
+ {
+ stateManager.setId( permissionId );
+ }
+
+
+ public String getDescription()
+ {
+ return stateManager.getStringValue( DESCRIPTION_INDEX );
+ }
+
+ public void setDescription( String description )
+ {
+ stateManager.setStringValue( DESCRIPTION_INDEX, description );
+ }
+
+
public String getApplicationRdn()
{
- return applicationRdn;
+ return null;
}
-
-
- public PermissionModifier modifier()
+
+ public String getJavaClass()
{
- return new PermissionModifier( dao, this );
+ return stateManager.getStringValue( JAVACLASS_INDEX );
}
-
-
- public String toString()
+
+ public void setJavaClass( String javaClass )
+ {
+ stateManager.setStringValue( JAVACLASS_INDEX, javaClass );
+ }
+
+ public String getJavaName()
+ {
+ return stateManager.getStringValue( JAVANAME_INDEX );
+ }
+
+ public void setJavaName( String javaName )
+ {
+ stateManager.setStringValue( JAVANAME_INDEX, javaName );
+ }
+
+ public String getJavaActions()
+ {
+ return stateManager.getStringValue( JAVAACTIONS_INDEX );
+ }
+
+ public void setJavaActions( String javaActions )
+ {
+ stateManager.setStringValue( JAVAACTIONS_INDEX, javaActions );
+ }
+
+ public StateManager getStateManager()
+ {
+ return stateManager;
+ }
+
+ public Attributes getAttributes()
+ {
+ BasicAttributes attrs = new BasicAttributes();
+ BasicAttribute oc = new BasicAttribute( Constants.OBJECT_CLASS_ID );
+ oc.add( Constants.POLICY_PERMISSION_OC );
+ oc.add( Constants.POLICY_JAVA_PERMISSION_OC );
+ attrs.put( oc );
+ return attrs;
+ }
+
+ public void parentSet( StateManager parentSm )
{
- return name;
}
}