Author: tv
Date: Thu Aug 16 19:47:27 2012
New Revision: 1374014
URL: http://svn.apache.org/viewvc?rev=1374014&view=rev
Log:
Fix warnings and formatting, cleanup
Fix transaction handling
Added:
turbine/fulcrum/trunk/security/hibernate/.settings/
turbine/fulcrum/trunk/security/hibernate/.settings/org.eclipse.jdt.core.prefs
(with props)
turbine/fulcrum/trunk/security/hibernate/.settings/org.maven.ide.eclipse.prefs
(with props)
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernatePermissionManagerImpl.java
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateUserManagerImpl.java
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelper.java
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImpl.java
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic/HibernateModelManagerImpl.java
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImplTest.java
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic/entity/ExtendedUser.java
Added:
turbine/fulcrum/trunk/security/hibernate/.settings/org.eclipse.jdt.core.prefs
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/.settings/org.eclipse.jdt.core.prefs?rev=1374014&view=auto
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/.settings/org.eclipse.jdt.core.prefs
(added)
+++
turbine/fulcrum/trunk/security/hibernate/.settings/org.eclipse.jdt.core.prefs
Thu Aug 16 19:47:27 2012
@@ -0,0 +1,6 @@
+#Thu Aug 16 20:16:15 CEST 2012
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.5
+org.eclipse.jdt.core.compiler.compliance=1.5
+org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
+org.eclipse.jdt.core.compiler.source=1.5
Propchange:
turbine/fulcrum/trunk/security/hibernate/.settings/org.eclipse.jdt.core.prefs
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added:
turbine/fulcrum/trunk/security/hibernate/.settings/org.maven.ide.eclipse.prefs
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/.settings/org.maven.ide.eclipse.prefs?rev=1374014&view=auto
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/.settings/org.maven.ide.eclipse.prefs
(added)
+++
turbine/fulcrum/trunk/security/hibernate/.settings/org.maven.ide.eclipse.prefs
Thu Aug 16 19:47:27 2012
@@ -0,0 +1,8 @@
+#Mon Sep 12 21:14:22 CEST 2011
+activeProfiles=
+eclipse.preferences.version=1
+fullBuildGoals=process-test-resources
+resolveWorkspaceProjects=true
+resourceFilterGoals=process-resources resources\:testResources
+skipCompilerPlugin=true
+version=1
Propchange:
turbine/fulcrum/trunk/security/hibernate/.settings/org.maven.ide.eclipse.prefs
------------------------------------------------------------------------------
svn:mime-type = text/plain
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateGroupManagerImpl.java
Thu Aug 16 19:47:27 2012
@@ -198,7 +198,7 @@ public class HibernateGroupManagerImpl e
/**
* @return Returns the persistenceHelper.
*/
- public PersistenceHelper getPersistenceHelper() throws DataBackendException
+ public PersistenceHelper getPersistenceHelper()
{
if (persistenceHelper == null)
{
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernatePermissionManagerImpl.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernatePermissionManagerImpl.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernatePermissionManagerImpl.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernatePermissionManagerImpl.java
Thu Aug 16 19:47:27 2012
@@ -156,7 +156,7 @@ public class HibernatePermissionManagerI
/**
* @return Returns the persistenceHelper.
*/
- public PersistenceHelper getPersistenceHelper() throws
DataBackendException
+ public PersistenceHelper getPersistenceHelper()
{
if (persistenceHelper == null)
{
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateUserManagerImpl.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateUserManagerImpl.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateUserManagerImpl.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/HibernateUserManagerImpl.java
Thu Aug 16 19:47:27 2012
@@ -50,13 +50,12 @@ public class HibernateUserManagerImpl ex
public boolean checkExists(String userName) throws DataBackendException
{
List<User> users = null;
- userName = userName.toLowerCase();
try
{
users = getPersistenceHelper()
.retrieveSession()
.createQuery("from " + User.class.getName() + " su where
su.name=:name")
- .setString("name", userName)
+ .setString("name", userName.toLowerCase())
.list();
}
catch (HibernateException e)
@@ -69,6 +68,7 @@ public class HibernateUserManagerImpl ex
}
return (users.size() == 1);
}
+
/**
* Retrieve a user from persistent storage using username as the
* key.
@@ -189,7 +189,7 @@ public class HibernateUserManagerImpl ex
/**
* @return Returns the persistenceHelper.
*/
- public PersistenceHelper getPersistenceHelper() throws
DataBackendException
+ public PersistenceHelper getPersistenceHelper()
{
if (persistenceHelper == null)
{
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelper.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelper.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelper.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelper.java
Thu Aug 16 19:47:27 2012
@@ -21,8 +21,8 @@ package org.apache.fulcrum.security.hibe
import org.apache.fulcrum.security.entity.SecurityEntity;
import org.apache.fulcrum.security.util.DataBackendException;
import org.hibernate.HibernateException;
+import org.hibernate.Session;
import org.hibernate.cfg.Configuration;
-import org.hibernate.classic.Session;
/**
* @author Eric Pugh
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImpl.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImpl.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImpl.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImpl.java
Thu Aug 16 19:47:27 2012
@@ -26,10 +26,11 @@ import org.apache.fulcrum.security.spi.A
import org.apache.fulcrum.security.util.DataBackendException;
import org.apache.fulcrum.security.util.UnknownEntityException;
import org.hibernate.HibernateException;
+import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.cfg.Configuration;
-import org.hibernate.classic.Session;
+
/**
*
* This persistenceHelper expects you to either pass in a SessionFactory to
use,
@@ -63,22 +64,23 @@ public class PersistenceHelperDefaultImp
transaction = session.beginTransaction();
session.delete(entity);
transaction.commit();
+ transaction = null;
}
catch (HibernateException he)
{
- try
- {
- transaction.rollback();
- }
- catch (HibernateException hex)
- {
- // ignore
- }
throw new DataBackendException(
"Problem removing entity:" + he.getMessage(),
he);
}
+ finally
+ {
+ if (transaction != null)
+ {
+ transaction.rollback();
+ }
+ }
}
+
/**
* Stores changes made to an object
*
@@ -96,38 +98,34 @@ public class PersistenceHelperDefaultImp
transaction = session.beginTransaction();
session.update(entity);
transaction.commit();
+ transaction = null;
}
catch (HibernateException he)
{
- try
+ if (he
+ .getMessage()
+ .indexOf("Another object was associated with this id")
+ > -1)
{
- if (transaction != null)
- {
- transaction.rollback();
- }
- if (he
- .getMessage()
- .indexOf("Another object was associated with this id")
- > -1)
- {
- session.close();
- updateEntity(entity);
- }
- else
- {
- throw new DataBackendException(
- "updateEntity(" + entity + ")",
- he);
- }
+ session.close();
+ updateEntity(entity);
}
- catch (HibernateException hex)
+ else
{
- // ignore
+ throw new DataBackendException(
+ "updateEntity(" + entity + ")",
+ he);
+ }
+ }
+ finally
+ {
+ if (transaction != null)
+ {
+ transaction.rollback();
}
-
}
- return;
}
+
/**
* adds an entity
*
@@ -145,20 +143,19 @@ public class PersistenceHelperDefaultImp
transaction = session.beginTransaction();
session.save(entity);
transaction.commit();
+ transaction = null;
}
catch (HibernateException he)
{
- try
+ throw new DataBackendException("addEntity(entity)", he);
+ }
+ finally
+ {
+ if (transaction != null)
{
transaction.rollback();
}
- catch (HibernateException hex)
- {
- // ignore
- }
- throw new DataBackendException("addEntity(s,name)", he);
}
- return;
}
/**
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic/HibernateModelManagerImpl.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic/HibernateModelManagerImpl.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic/HibernateModelManagerImpl.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/basic/HibernateModelManagerImpl.java
Thu Aug 16 19:47:27 2012
@@ -26,8 +26,9 @@ import org.apache.fulcrum.security.model
import org.apache.fulcrum.security.spi.AbstractManager;
import org.apache.fulcrum.security.util.DataBackendException;
import org.apache.fulcrum.security.util.UnknownEntityException;
+import org.hibernate.Session;
import org.hibernate.Transaction;
-import org.hibernate.classic.Session;
+
/**
* This implementation persists to a database via Hibernate.
*
@@ -51,21 +52,22 @@ public class HibernateModelManagerImpl e
{
boolean groupExists = false;
boolean userExists = false;
+ Transaction transaction = null;
+
try
{
groupExists = getGroupManager().checkExists(group);
userExists = getUserManager().checkExists(user);
if (groupExists && userExists)
{
-
Session session = getPersistenceHelper().retrieveSession();
- Transaction transaction = session.beginTransaction();
+ transaction = session.beginTransaction();
((BasicUser) user).addGroup(group);
((BasicGroup) group).addUser(user);
session.update(user);
session.update(group);
transaction.commit();
- return;
+ transaction = null;
}
}
catch (Exception e)
@@ -74,6 +76,10 @@ public class HibernateModelManagerImpl e
}
finally
{
+ if (transaction != null)
+ {
+ transaction.rollback();
+ }
}
if (!groupExists)
{
@@ -97,21 +103,22 @@ public class HibernateModelManagerImpl e
{
boolean groupExists = false;
boolean userExists = false;
+ Transaction transaction = null;
+
try
{
groupExists = getGroupManager().checkExists(group);
userExists = getUserManager().checkExists(user);
if (groupExists && userExists)
{
-
Session session =
getPersistenceHelper().retrieveSession();
- Transaction transaction = session.beginTransaction();
+ transaction = session.beginTransaction();
((BasicUser) user).removeGroup(group);
((BasicGroup) group).removeUser(user);
session.update(user);
session.update(group);
transaction.commit();
- return;
+ transaction = null;
}
}
catch (Exception e)
@@ -120,6 +127,10 @@ public class HibernateModelManagerImpl e
}
finally
{
+ if (transaction != null)
+ {
+ transaction.rollback();
+ }
}
if (!groupExists)
{
@@ -166,7 +177,7 @@ public class HibernateModelManagerImpl e
/**
* @return Returns the persistenceHelper.
*/
- public PersistenceHelper getPersistenceHelper() throws
DataBackendException
+ public PersistenceHelper getPersistenceHelper()
{
if (persistenceHelper == null)
{
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/dynamic/HibernateModelManagerImpl.java
Thu Aug 16 19:47:27 2012
@@ -30,8 +30,9 @@ import org.apache.fulcrum.security.model
import org.apache.fulcrum.security.model.dynamic.entity.DynamicUser;
import org.apache.fulcrum.security.util.DataBackendException;
import org.apache.fulcrum.security.util.UnknownEntityException;
+import org.hibernate.Session;
import org.hibernate.Transaction;
-import org.hibernate.classic.Session;
+
/**
* This implementation persists to a database via Hibernate.
*
@@ -64,16 +65,12 @@ public class HibernateModelManagerImpl e
((DynamicRole) role).removeGroup(group);
getPersistenceHelper().updateEntity(group);
//updateEntity(role);
- return;
}
}
catch (Exception e)
{
throw new DataBackendException("revoke(Group,Role) failed", e);
}
- finally
- {
- }
if (!groupExists)
{
throw new UnknownEntityException("Unknown group '" +
group.getName() + "'");
@@ -107,10 +104,9 @@ public class HibernateModelManagerImpl e
((DynamicPermission) permission).addRole(role);
getPersistenceHelper().updateEntity(permission);
getPersistenceHelper().updateEntity(role);
- return;
}
}
- catch (Exception e)
+ catch (DataBackendException e)
{
throw new DataBackendException("grant(Role,Permission) failed", e);
}
@@ -123,6 +119,7 @@ public class HibernateModelManagerImpl e
throw new UnknownEntityException("Unknown permission '" +
permission.getName() + "'");
}
}
+
/**
* Revokes a Permission from a Role.
*
@@ -146,16 +143,12 @@ public class HibernateModelManagerImpl e
((DynamicPermission) permission).removeRole(role);
getPersistenceHelper().updateEntity(role);
getPersistenceHelper().updateEntity(permission);
- return;
}
}
- catch (Exception e)
+ catch (DataBackendException e)
{
throw new DataBackendException("revoke(Role,Permission) failed",
e);
}
- finally
- {
- }
if (!roleExists)
{
throw new UnknownEntityException("Unknown role '" + role.getName()
+ "'");
@@ -189,16 +182,12 @@ public class HibernateModelManagerImpl e
((DynamicGroup) group).addUser(user);
getPersistenceHelper().updateEntity(group);
getPersistenceHelper().updateEntity(user);
- return;
}
}
- catch (Exception e)
+ catch (DataBackendException e)
{
throw new DataBackendException("grant(Role,Permission) failed", e);
}
- finally
- {
- }
if (!groupExists)
{
throw new UnknownEntityException("Unknown group '" +
group.getName() + "'");
@@ -208,6 +197,7 @@ public class HibernateModelManagerImpl e
throw new UnknownEntityException("Unknown user '" + user.getName()
+ "'");
}
}
+
/**
* Removes a user in a group.
*
@@ -221,29 +211,34 @@ public class HibernateModelManagerImpl e
{
boolean groupExists = false;
boolean userExists = false;
+ Transaction transaction = null;
+
try
{
groupExists = getGroupManager().checkExists(group);
userExists = getUserManager().checkExists(user);
if (groupExists && userExists)
{
-
Session session = getPersistenceHelper().retrieveSession();
- Transaction transaction = session.beginTransaction();
+ transaction = session.beginTransaction();
((DynamicUser) user).removeGroup(group);
((DynamicGroup) group).removeUser(user);
session.update(user);
session.update(group);
transaction.commit();
- return;
+ transaction = null;
}
}
- catch (Exception e)
+ catch (DataBackendException e)
{
throw new DataBackendException("grant(Role,Permission) failed", e);
}
finally
{
+ if (transaction != null)
+ {
+ transaction.rollback();
+ }
}
if (!groupExists)
{
@@ -255,7 +250,6 @@ public class HibernateModelManagerImpl e
}
}
-
/**
* Grants a Group a Role
*
@@ -299,7 +293,7 @@ public class HibernateModelManagerImpl e
/**
* @return Returns the persistenceHelper.
*/
- public PersistenceHelper getPersistenceHelper() throws
DataBackendException
+ public PersistenceHelper getPersistenceHelper()
{
if (persistenceHelper == null)
{
@@ -308,7 +302,7 @@ public class HibernateModelManagerImpl e
return persistenceHelper;
}
- /* (non-Javadoc)
+ /**
* @see
org.apache.fulcrum.security.model.dynamic.DynamicModelManager#addDelegate(org.apache.fulcrum.security.entity.User,
org.apache.fulcrum.security.entity.User)
*/
public void addDelegate(User delegator, User delegatee)
@@ -319,7 +313,7 @@ public class HibernateModelManagerImpl e
getPersistenceHelper().updateEntity(delegatee);
}
- /* (non-Javadoc)
+ /**
* @see
org.apache.fulcrum.security.model.dynamic.DynamicModelManager#removeDelegate(org.apache.fulcrum.security.entity.User,
org.apache.fulcrum.security.entity.User)
*/
public void removeDelegate(User delegator, User delegatee)
Modified:
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/java/org/apache/fulcrum/security/hibernate/turbine/HibernateModelManagerImpl.java
Thu Aug 16 19:47:27 2012
@@ -80,6 +80,7 @@ public class HibernateModelManagerImpl e
throw new UnknownEntityException("Unknown permission '" +
permission.getName() + "'");
}
}
+
/**
* Revokes a Permission from a Role.
*
@@ -103,16 +104,12 @@ public class HibernateModelManagerImpl e
((TurbinePermission) permission).removeRole(role);
getPersistenceHelper().updateEntity(role);
getPersistenceHelper().updateEntity(permission);
- return;
}
}
- catch (Exception e)
+ catch (DataBackendException e)
{
throw new DataBackendException("revoke(Role,Permission) failed",
e);
}
- finally
- {
- }
if (!roleExists)
{
throw new UnknownEntityException("Unknown role '" + role.getName()
+ "'");
@@ -126,7 +123,7 @@ public class HibernateModelManagerImpl e
/**
* @return Returns the persistenceHelper.
*/
- public PersistenceHelper getPersistenceHelper() throws
DataBackendException
+ public PersistenceHelper getPersistenceHelper()
{
if (persistenceHelper == null)
{
@@ -135,89 +132,109 @@ public class HibernateModelManagerImpl e
return persistenceHelper;
}
- public void grant(User user, Group group, Role role) throws
DataBackendException, UnknownEntityException {
- boolean roleExists = false;
- boolean userExists = false;
- boolean groupExists = false;
- try {
- roleExists = getRoleManager().checkExists(role);
- userExists = getUserManager().checkExists(user);
- groupExists = getGroupManager().checkExists(group);
- if (roleExists && groupExists && userExists) {
- TurbineUserGroupRole ugr = new TurbineUserGroupRole();
- ugr.setGroup(group);
- ugr.setRole(role);
- ugr.setUser(user);
- ((TurbineUser) user).addUserGroupRole(ugr);
- ((TurbineGroup) group).addUserGroupRole(ugr);
- ((TurbineRole) role).addUserGroupRole(ugr);
- getPersistenceHelper().updateEntity(user);
- getPersistenceHelper().updateEntity(group);
- getPersistenceHelper().updateEntity(role);
- return;
- }
- } catch (Exception e) {
- throw new DataBackendException("grant(Role,Permission)
failed", e);
- }
-
- if (!roleExists) {
- throw new UnknownEntityException("Unknown role '" +
role.getName() + "'");
- }
- if (!groupExists) {
- throw new UnknownEntityException("Unknown group '" +
group.getName() + "'");
- }
- if (!userExists) {
- throw new UnknownEntityException("Unknown user '" +
user.getName() + "'");
+ /**
+ * Grant an User a Role in a Group.
+ *
+ * @param user the user.
+ * @param group the group.
+ * @param role the role.
+ * @throws DataBackendException if there was an error accessing the data
backend.
+ * @throws UnknownEntityException if user account, group or role is not
present.
+ */
+ public void grant(User user, Group group, Role role) throws
DataBackendException, UnknownEntityException
+ {
+ boolean roleExists = false;
+ boolean userExists = false;
+ boolean groupExists = false;
+ try
+ {
+ roleExists = getRoleManager().checkExists(role);
+ userExists = getUserManager().checkExists(user);
+ groupExists = getGroupManager().checkExists(group);
+ if (roleExists && groupExists && userExists)
+ {
+ TurbineUserGroupRole ugr = new TurbineUserGroupRole();
+ ugr.setGroup(group);
+ ugr.setRole(role);
+ ugr.setUser(user);
+ ((TurbineUser) user).addUserGroupRole(ugr);
+ ((TurbineGroup) group).addUserGroupRole(ugr);
+ ((TurbineRole) role).addUserGroupRole(ugr);
+ getPersistenceHelper().updateEntity(user);
+ getPersistenceHelper().updateEntity(group);
+ getPersistenceHelper().updateEntity(role);
}
-
}
+ catch (DataBackendException e)
+ {
+ throw new DataBackendException("grant(User,Group,Role) failed", e);
+ }
+ if (!roleExists) {
+ throw new UnknownEntityException("Unknown role '" + role.getName()
+ "'");
+ }
+ if (!groupExists) {
+ throw new UnknownEntityException("Unknown group '" +
group.getName() + "'");
+ }
+ if (!userExists) {
+ throw new UnknownEntityException("Unknown user '" + user.getName()
+ "'");
+ }
+ }
- public void revoke(User user, Group group, Role role) throws
DataBackendException, UnknownEntityException {
- boolean roleExists = false;
- boolean userExists = false;
- boolean groupExists = false;
- try {
- roleExists = getRoleManager().checkExists(role);
- userExists = getUserManager().checkExists(user);
- groupExists = getGroupManager().checkExists(group);
- if (roleExists && groupExists && userExists) {
- boolean ugrFound = false;
- for(TurbineUserGroupRole ugr : ((TurbineUser)
user).getUserGroupRoleSet())
+ /**
+ * Revoke a Role in a Group from an User.
+ *
+ * @param user the user.
+ * @param group the group.
+ * @param role the role.
+ * @throws DataBackendException if there was an error accessing the data
backend.
+ * @throws UnknownEntityException if user account, group or role is not
present.
+ */
+ public void revoke(User user, Group group, Role role) throws
DataBackendException, UnknownEntityException {
+ boolean roleExists = false;
+ boolean userExists = false;
+ boolean groupExists = false;
+ try {
+ roleExists = getRoleManager().checkExists(role);
+ userExists = getUserManager().checkExists(user);
+ groupExists = getGroupManager().checkExists(group);
+ if (roleExists && groupExists && userExists) {
+ boolean ugrFound = false;
+ for(TurbineUserGroupRole ugr : ((TurbineUser)
user).getUserGroupRoleSet())
+ {
+ if(ugr.getUser().equals(user)&&
ugr.getGroup().equals(group) && ugr.getRole().equals(role))
{
- if(ugr.getUser().equals(user)&&
ugr.getGroup().equals(group) && ugr.getRole().equals(role))
- {
- ugrFound=true;
-
- ((TurbineUser) user).removeUserGroupRole(ugr);
- ((TurbineGroup) group).removeUserGroupRole(ugr);
- ((TurbineRole) role).removeUserGroupRole(ugr);
-
- getPersistenceHelper().updateEntity(user);
- getPersistenceHelper().updateEntity(group);
- getPersistenceHelper().updateEntity(role);
+ ugrFound=true;
- break;
- }
- }
- if(!ugrFound){
- throw new UnknownEntityException("Could not find
User/Group/Role");
- }
+ ((TurbineUser) user).removeUserGroupRole(ugr);
+ ((TurbineGroup) group).removeUserGroupRole(ugr);
+ ((TurbineRole) role).removeUserGroupRole(ugr);
+
+ getPersistenceHelper().updateEntity(user);
+ getPersistenceHelper().updateEntity(group);
+ getPersistenceHelper().updateEntity(role);
- return;
+ break;
+ }
+ }
+ if(!ugrFound){
+ throw new UnknownEntityException("Could not find
User/Group/Role");
}
- } catch (Exception e) {
- throw new DataBackendException("grant(Role,Permission)
failed", e);
- }
- if (!roleExists) {
- throw new UnknownEntityException("Unknown role '" +
role.getName() + "'");
- }
- if (!groupExists) {
- throw new UnknownEntityException("Unknown group '" +
group.getName() + "'");
- }
- if (!userExists) {
- throw new UnknownEntityException("Unknown user '" +
user.getName() + "'");
+ return;
}
-
}
+ catch (DataBackendException e)
+ {
+ throw new DataBackendException("revoke(User,Group,Role) failed",
e);
+ }
+ if (!roleExists) {
+ throw new UnknownEntityException("Unknown role '" + role.getName()
+ "'");
+ }
+ if (!groupExists) {
+ throw new UnknownEntityException("Unknown group '" +
group.getName() + "'");
+ }
+ if (!userExists) {
+ throw new UnknownEntityException("Unknown user '" + user.getName()
+ "'");
+ }
+ }
}
Modified:
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImplTest.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImplTest.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImplTest.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/PersistenceHelperDefaultImplTest.java
Thu Aug 16 19:47:27 2012
@@ -20,24 +20,24 @@ package org.apache.fulcrum.security.hibe
import org.apache.fulcrum.security.SecurityService;
import org.apache.fulcrum.testcontainer.BaseUnitTest;
-import org.hibernate.classic.Session;
+import org.hibernate.Session;
+
/**
* @author <a href="mailto:[email protected]">Eric Pugh</a>
* @version $Id$
*/
public class PersistenceHelperDefaultImplTest extends BaseUnitTest
{
-
-
/**
- * Constructor for HibernatePermissionManagerTest.
- * @param arg0
- */
+ * Constructor for PersistenceHelperDefaultImplTest.
+ * @param arg0
+ */
public PersistenceHelperDefaultImplTest(String arg0)
{
super(arg0);
}
+ @SuppressWarnings("unused")
public void testPassingInExternalHibernateService() throws Exception
{
this.setRoleFileName("src/test/PersistenceHelperDefaultImplRoleConfig.xml");
@@ -49,8 +49,5 @@ public class PersistenceHelperDefaultImp
assertTrue(persistenceHelper instanceof PersistenceHelperDefaultImpl);
PersistenceHelperDefaultImpl persistenceHelperFromGroupManager =
(PersistenceHelperDefaultImpl)persistenceHelper;
Session s = persistenceHelper.retrieveSession();
-
}
-
-
}
Modified:
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic/entity/ExtendedUser.java
URL:
http://svn.apache.org/viewvc/turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic/entity/ExtendedUser.java?rev=1374014&r1=1374013&r2=1374014&view=diff
==============================================================================
---
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic/entity/ExtendedUser.java
(original)
+++
turbine/fulcrum/trunk/security/hibernate/src/test/org/apache/fulcrum/security/hibernate/dynamic/entity/ExtendedUser.java
Thu Aug 16 19:47:27 2012
@@ -21,7 +21,7 @@ package org.apache.fulcrum.security.hibe
import org.apache.fulcrum.security.model.dynamic.entity.impl.DynamicUserImpl;
/**
- * User to test subclassing an existing class and then persiting with
+ * User to test subclassing an existing class and then persisting with
* Hibernate.
*
* @author <a href="mailto:[email protected]">Eric Pugh</a>
@@ -29,11 +29,13 @@ import org.apache.fulcrum.security.model
*/
public class ExtendedUser extends DynamicUserImpl
{
+ /** Serial version */
+ private static final long serialVersionUID = 2806989534919229034L;
+
private String NTDomain;
private String NTName;
private String Email;
-
/**
* @return Returns the email.
*/
@@ -81,7 +83,6 @@ public class ExtendedUser extends Dynami
{
NTName = name;
}
-
}