Index: topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernatePermissionManager.java diff -u topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernatePermissionManager.java:1.1 topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernatePermissionManager.java:1.2 --- topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernatePermissionManager.java:1.1 Fri Feb 24 00:48:15 2006 +++ topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernatePermissionManager.java Fri Jul 21 00:55:03 2006 @@ -46,6 +46,7 @@ import org.codelutin.topia.event.TopiaEntityListener; import org.codelutin.topia.framework.TopiaContextImplementor; import org.codelutin.topia.persistence.TopiaDAO; +import org.codelutin.topia.security.TopiaSecurityVetoableListener; import org.codelutin.topia.security.entities.TopiaEntityPermission; import org.codelutin.topia.security.entities.TopiaEntityPermissionImpl; import org.codelutin.topia.security.entities.TopiaPermission; @@ -60,8 +61,12 @@ private Map permissionsCache; - public TopiaHibernatePermissionManager(TopiaContext context) { + public TopiaHibernatePermissionManager(TopiaContext context) + throws TopiaException { this.context = (TopiaContextImplementor)context; + if (this.context.getParentContext() == null) { + this.context = (TopiaContextImplementor)context.beginTransaction(); + } context.addTopiaEntityListener(TopiaEntityPermission.class, this); } @@ -130,4 +135,12 @@ getDAO().delete(perm.getEntityPermission()); } + public void checkPermission(Class entityClass, String actions) throws TopiaException { + TopiaSecurityVetoableListener.checkPermission(entityClass, actions); + } + + public void checkPermission(String topiaId, String actions) throws TopiaException { + TopiaSecurityVetoableListener.checkPermission(topiaId, actions); + } + } //TopiaHibernatePermissionManager Index: topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernateUserManager.java diff -u topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernateUserManager.java:1.1 topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernateUserManager.java:1.2 --- topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernateUserManager.java:1.1 Fri Feb 24 00:48:15 2006 +++ topia2/src/java/org/codelutin/topia/security/entities/hibernate/TopiaHibernateUserManager.java Fri Jul 21 00:55:03 2006 @@ -60,8 +60,12 @@ private TopiaContextImplementor context; - public TopiaHibernateUserManager(TopiaContext context) { + public TopiaHibernateUserManager(TopiaContext context) + throws TopiaException { this.context = (TopiaContextImplementor)context; + if (this.context.getParentContext() == null) { + this.context = (TopiaContextImplementor)context.beginTransaction(); + } } private TopiaDAO getDAO() throws TopiaException {