You can subscribe to this list here.
| 2006 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(39) |
Dec
(10) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2007 |
Jan
(19) |
Feb
(150) |
Mar
(10) |
Apr
|
May
(8) |
Jun
(11) |
Jul
(27) |
Aug
(52) |
Sep
(35) |
Oct
(30) |
Nov
(18) |
Dec
(4) |
| 2008 |
Jan
(76) |
Feb
(121) |
Mar
(39) |
Apr
(55) |
May
(18) |
Jun
(49) |
Jul
(32) |
Aug
(4) |
Sep
(10) |
Oct
|
Nov
(3) |
Dec
(33) |
| 2009 |
Jan
(19) |
Feb
(87) |
Mar
(69) |
Apr
(38) |
May
(47) |
Jun
(20) |
Jul
(5) |
Aug
(76) |
Sep
(145) |
Oct
(34) |
Nov
(8) |
Dec
(68) |
| 2010 |
Jan
(150) |
Feb
(379) |
Mar
(191) |
Apr
(100) |
May
(525) |
Jun
(269) |
Jul
(127) |
Aug
(190) |
Sep
(190) |
Oct
(29) |
Nov
(147) |
Dec
(83) |
| 2011 |
Jan
(188) |
Feb
(81) |
Mar
(43) |
Apr
(97) |
May
(63) |
Jun
(129) |
Jul
(17) |
Aug
(124) |
Sep
(6) |
Oct
(20) |
Nov
(67) |
Dec
(23) |
| 2012 |
Jan
(6) |
Feb
(14) |
Mar
(181) |
Apr
(64) |
May
(102) |
Jun
(47) |
Jul
(26) |
Aug
(3) |
Sep
(1) |
Oct
(14) |
Nov
(13) |
Dec
(23) |
| 2013 |
Jan
(4) |
Feb
(14) |
Mar
(18) |
Apr
(14) |
May
(27) |
Jun
(27) |
Jul
(5) |
Aug
(2) |
Sep
(74) |
Oct
(79) |
Nov
(21) |
Dec
(97) |
| 2014 |
Jan
(6) |
Feb
(3) |
Mar
(8) |
Apr
|
May
(5) |
Jun
|
Jul
(9) |
Aug
(6) |
Sep
(3) |
Oct
(10) |
Nov
(6) |
Dec
|
| 2015 |
Jan
|
Feb
|
Mar
(1) |
Apr
(25) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
| 2016 |
Jan
|
Feb
|
Mar
|
Apr
(5) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <fc...@us...> - 2008-03-06 09:10:10
|
Revision: 720
http://openutils.svn.sourceforge.net/openutils/?rev=720&view=rev
Author: fcarone
Date: 2008-03-06 01:10:11 -0800 (Thu, 06 Mar 2008)
Log Message:
-----------
[maven-release-plugin] prepare release openutils-bshd5-2.0.2
Modified Paths:
--------------
trunk/openutils-bshd5/pom.xml
Modified: trunk/openutils-bshd5/pom.xml
===================================================================
--- trunk/openutils-bshd5/pom.xml 2008-03-05 17:17:33 UTC (rev 719)
+++ trunk/openutils-bshd5/pom.xml 2008-03-06 09:10:11 UTC (rev 720)
@@ -8,7 +8,7 @@
</parent>
<artifactId>openutils-bshd5</artifactId>
<name>openutils base Spring-Hibernate DAO for java 5.0</name>
- <version>2.0.2-SNAPSHOT</version>
+ <version>2.0.2</version>
<description>openutils base Spring-Hibernate DAO for java 5.0</description>
<dependencies>
<dependency>
@@ -105,4 +105,10 @@
<properties>
<spring.version>2.5.1</spring.version>
</properties>
+
+ <scm>
+ <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-bshd5-2.0.2</connection>
+ <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-bshd5-2.0.2</developerConnection>
+ <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-bshd5-2.0.2</url>
+ </scm>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mup...@us...> - 2008-03-05 17:17:33
|
Revision: 719
http://openutils.svn.sourceforge.net/openutils/?rev=719&view=rev
Author: muppet68
Date: 2008-03-05 09:17:33 -0800 (Wed, 05 Mar 2008)
Log Message:
-----------
NoLazy enhancement
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
Added Paths:
-----------
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/NoLazyEnhancement.java
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-05 17:08:56 UTC (rev 718)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-05 17:17:33 UTC (rev 719)
@@ -18,6 +18,7 @@
import it.openutils.spring.rmibernate.server.aspects.util.EntitySerializer;
import it.openutils.spring.rmibernate.shared.LazyReference;
+import it.openutils.spring.rmibernate.shared.NoLazyEnhancement;
import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
import java.lang.reflect.Field;
@@ -249,6 +250,11 @@
return null;
}
+ if (original.getClass()
+ .isAnnotationPresent(NoLazyEnhancement.class)) {
+ return original;
+ }
+
if (original.getClass().getName().startsWith("java.")
&& !((original instanceof Collection) || (original instanceof Map)))
{
Added: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/NoLazyEnhancement.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/NoLazyEnhancement.java (rev 0)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/NoLazyEnhancement.java 2008-03-05 17:17:33 UTC (rev 719)
@@ -0,0 +1,5 @@
+package it.openutils.spring.rmibernate.shared;
+
+public @interface NoLazyEnhancement {
+
+}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <mup...@us...> - 2008-03-05 17:09:03
|
Revision: 718
http://openutils.svn.sourceforge.net/openutils/?rev=718&view=rev
Author: muppet68
Date: 2008-03-05 09:08:56 -0800 (Wed, 05 Mar 2008)
Log Message:
-----------
Aggiunto metodo per ritornare solo sottoinsieme di propriet?\195?\160 di un oggetto
Modified Paths:
--------------
trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java
trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java
Modified: trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java
===================================================================
--- trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java 2008-03-03 14:36:22 UTC (rev 717)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAO.java 2008-03-05 17:08:56 UTC (rev 718)
@@ -141,7 +141,22 @@
*/
List<T> findFiltered(final T filter, final Order[] customOrder, final Map<String, FilterMetadata> metadata,
final int maxResults, final int page, List<Criterion> additionalCriteria);
+
+ /**
+ * Return properties from all objects related to the implementation of this DAO filtered using properties of the provided instance.
+ * @param filter an instance of the object with the properties you whish to filter on.
+ * @param customOrder order criterias
+ * @param metadata filter metadata
+ * @param maxResults maximum number of results
+ * @param page result page (first result is maxResults * page)
+ * @param additionalCriteria additional criteria
+ * @param properties properties to be returned
+ * @return list of properties from all objects
+ */
+ List<?> findFilteredProperties(final T filter, final Order[] customOrder, final Map<String, FilterMetadata> metadata,
+ final int maxResults,final int page, List<Criterion> additionalCriteria, List<String> properties);
+
/**
* Return all objects related to the implementation of this DAO filtered using properties of the provided instance.
* @param filter an instance of the object with the properties you whish to filter on.
Modified: trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java
===================================================================
--- trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2008-03-03 14:36:22 UTC (rev 717)
+++ trunk/openutils-bshd5/src/main/java/it/openutils/dao/hibernate/HibernateDAOImpl.java 2008-03-05 17:08:56 UTC (rev 718)
@@ -20,6 +20,9 @@
import org.hibernate.criterion.CriteriaSpecification;
import org.hibernate.criterion.Criterion;
import org.hibernate.criterion.Order;
+import org.hibernate.criterion.ProjectionList;
+import org.hibernate.criterion.Projections;
+import org.hibernate.criterion.Property;
import org.hibernate.type.Type;
import org.springframework.aop.framework.AopContext;
import org.springframework.orm.hibernate3.HibernateCallback;
@@ -331,7 +334,7 @@
/**
* {@inheritDoc}
*/
- @SuppressWarnings("unchecked")
+ @SuppressWarnings("unchecked")
public List<T> findFiltered(T filter, Order[] customOrder, Map<String, FilterMetadata> metadata, int maxResults,
int page, List<Criterion> additionalCriteria)
{
@@ -339,10 +342,40 @@
.getDefaultOrder();
return (List<T>) getHibernateTemplate().execute(
- new HibernateCallbackForExecution(filter, page, maxResults, metadata, orderProperties, additionalCriteria));
+ new HibernateCallbackForExecution(
+ filter,
+ page,
+ maxResults,
+ metadata,
+ orderProperties,
+ additionalCriteria,
+ null));
}
/**
+ *
+ * {@inheritDoc}
+ */
+ @SuppressWarnings("unchecked")
+ public List<?> findFilteredProperties(final T filter, final Order[] customOrder,
+ final Map<String, FilterMetadata> metadata, final int maxResults, final int page,
+ List<Criterion> additionalCriteria, List<String> properties)
+ {
+ final Order[] orderProperties = customOrder != null && customOrder.length > 0 ? customOrder : this
+ .getDefaultOrder();
+
+ return (List< ? >) getHibernateTemplate().execute(
+ new HibernateCallbackForExecution(
+ filter,
+ page,
+ maxResults,
+ metadata,
+ orderProperties,
+ additionalCriteria,
+ properties));
+ }
+
+ /**
* Return the specific Object class that will be used for class-specific implementation of this DAO.
* @return the reference Class
*/
@@ -550,6 +583,11 @@
private final Map<String, FilterMetadata> metadata;
/**
+ *
+ */
+ private final List<String> properties;
+
+ /**
*
*/
private final Order[] orderProperties;
@@ -569,7 +607,8 @@
int maxResults,
Map<String, FilterMetadata> metadata,
Order[] orderProperties,
- List<Criterion> additionalCriteria)
+ List<Criterion> additionalCriteria,
+ List<String> properties)
{
this.filter = filter;
this.page = page;
@@ -577,6 +616,7 @@
this.metadata = metadata;
this.orderProperties = orderProperties;
this.additionalCriteria = additionalCriteria;
+ this.properties = properties;
}
public Object doInHibernate(Session ses) throws HibernateException
@@ -604,6 +644,17 @@
crit.add(criterion);
}
}
+ if (properties != null)
+ {
+ ProjectionList projectionList = Projections.projectionList();
+
+ for (String property : properties)
+ {
+ projectionList.add(Property.forName(property));
+ }
+
+ crit.setProjection(projectionList);
+ }
return crit.list();
}
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-03-03 14:36:25
|
Revision: 717
http://openutils.svn.sourceforge.net/openutils/?rev=717&view=rev
Author: fcarone
Date: 2008-03-03 06:36:22 -0800 (Mon, 03 Mar 2008)
Log Message:
-----------
[maven-release-plugin] prepare for next development iteration
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/pom.xml
Modified: trunk/openutils-spring-rmibernate/pom.xml
===================================================================
--- trunk/openutils-spring-rmibernate/pom.xml 2008-03-03 14:35:57 UTC (rev 716)
+++ trunk/openutils-spring-rmibernate/pom.xml 2008-03-03 14:36:22 UTC (rev 717)
@@ -8,7 +8,7 @@
</parent>
<artifactId>openutils-spring-rmibernate</artifactId>
<name>hibernate remote lazy loading</name>
- <version>2.0</version>
+ <version>2.0.1-SNAPSHOT</version>
<description>openutils base Spring-Hibernate RMI remote lazy loading support</description>
<dependencies>
<dependency>
@@ -108,10 +108,4 @@
<properties>
<spring.version>2.5.1</spring.version>
</properties>
-
- <scm>
- <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-spring-rmibernate-2.0</connection>
- <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-spring-rmibernate-2.0</developerConnection>
- <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-spring-rmibernate-2.0</url>
- </scm>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-03-03 14:36:04
|
Revision: 716
http://openutils.svn.sourceforge.net/openutils/?rev=716&view=rev
Author: fcarone
Date: 2008-03-03 06:35:57 -0800 (Mon, 03 Mar 2008)
Log Message:
-----------
[maven-release-plugin] copy for tag openutils-spring-rmibernate-2.0
Added Paths:
-----------
tags/openutils-spring-rmibernate-2.0/
tags/openutils-spring-rmibernate-2.0/pom.xml
tags/openutils-spring-rmibernate-2.0/src/
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/util/EntitySerializer.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/exporter/HibernateRmiServiceExporter.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/managers/HibernateLazyServiceImpl.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/shared/HibernateLazyLoaderCallbackFilter.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/shared/LazyReference.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/shared/managers/HibernateLazyService.java
Removed Paths:
-------------
tags/openutils-spring-rmibernate-2.0/pom.xml
tags/openutils-spring-rmibernate-2.0/src/
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/util/EntitySerializer.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/exporter/HibernateRmiServiceExporter.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/managers/HibernateLazyServiceImpl.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/shared/HibernateLazyLoaderCallbackFilter.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/shared/LazyReference.java
tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/shared/managers/HibernateLazyService.java
Copied: tags/openutils-spring-rmibernate-2.0 (from rev 615, trunk/openutils-spring-rmibernate)
Deleted: tags/openutils-spring-rmibernate-2.0/pom.xml
===================================================================
--- trunk/openutils-spring-rmibernate/pom.xml 2008-02-12 16:57:54 UTC (rev 615)
+++ tags/openutils-spring-rmibernate-2.0/pom.xml 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,112 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils</artifactId>
- <version>7</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>openutils-spring-rmibernate</artifactId>
- <name>hibernate remote lazy loading</name>
- <version>2.0-SNAPSHOT</version>
- <description>openutils base Spring-Hibernate RMI remote lazy loading support</description>
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <!-- replaces commons-logging -->
- <groupId>org.slf4j</groupId>
- <artifactId>jcl104-over-slf4j</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-orm</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- <version>3.2.4.ga</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- <exclusion>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- </exclusion>
- <exclusion>
- <groupId>asm</groupId>
- <artifactId>asm-attrs</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.7.0</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.3</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.1</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- <version>2.2.3</version>
- </dependency>
- </dependencies>
- <properties>
- <spring.version>2.5.1</spring.version>
- </properties>
-</project>
\ No newline at end of file
Copied: tags/openutils-spring-rmibernate-2.0/pom.xml (from rev 715, trunk/openutils-spring-rmibernate/pom.xml)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/pom.xml (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/pom.xml 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,117 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils</artifactId>
+ <version>7</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <artifactId>openutils-spring-rmibernate</artifactId>
+ <name>hibernate remote lazy loading</name>
+ <version>2.0</version>
+ <description>openutils base Spring-Hibernate RMI remote lazy loading support</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <!-- replaces commons-logging -->
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl104-over-slf4j</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-orm</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>3.2.4.ga</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>asm</groupId>
+ <artifactId>asm-attrs</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>1.7.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>cglib</groupId>
+ <artifactId>cglib-nodep</artifactId>
+ <version>2.1_3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ </dependencies>
+ <properties>
+ <spring.version>2.5.1</spring.version>
+ </properties>
+
+ <scm>
+ <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-spring-rmibernate-2.0</connection>
+ <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-spring-rmibernate-2.0</developerConnection>
+ <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-spring-rmibernate-2.0</url>
+ </scm>
+</project>
\ No newline at end of file
Copied: tags/openutils-spring-rmibernate-2.0/src (from rev 614, trunk/openutils-spring-rmibernate/src)
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,59 +0,0 @@
-package it.openutils.spring.rmibernate.client;
-
-import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
-
-import org.aopalliance.intercept.MethodInvocation;
-import org.springframework.remoting.rmi.RmiProxyFactoryBean;
-
-
-/**
- * ProxyFactoryBean for automatic injection of remote lazy loading proxies
- * @author mmolaschi
- * @version $Id$
- */
-public class HibernateRmiProxyFactoryBean extends RmiProxyFactoryBean
-{
-
- /**
- *
- */
- private static final long serialVersionUID = 6545259150454309616L;
-
- /**
- * Store the hibernate lazy service to be used by remote lazy loading
- */
- public static ThreadLocal<HibernateLazyService> hibernateLazyServiceTL = new ThreadLocal<HibernateLazyService>();
-
- private HibernateLazyService hibernateLazyService;
-
- /**
- * {@inheritDoc}
- */
- @Override
- public Object invoke(MethodInvocation invocation) throws Throwable
- {
- // store the lazy service for this thread
- if (hibernateLazyService == null)
- {
- // if hibernateLazyService is null this means that this service IS hibernateLazyService
- hibernateLazyServiceTL.set((HibernateLazyService)this.getObject());
- }
- else
- {
- hibernateLazyServiceTL.set(hibernateLazyService);
- }
-
- // proceed with rmi call
- return super.invoke(invocation);
- }
-
- /**
- * Sets the hibernateLazyService.
- * @param hibernateLazyService the hibernateLazyService to set
- */
- public void setHibernateLazyService(HibernateLazyService hibernateLazyService)
- {
- this.hibernateLazyService = hibernateLazyService;
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java (from rev 714, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,72 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.client;
+
+import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
+
+import org.aopalliance.intercept.MethodInvocation;
+import org.springframework.remoting.rmi.RmiProxyFactoryBean;
+
+
+/**
+ * ProxyFactoryBean for automatic injection of remote lazy loading proxies
+ * @author mmolaschi
+ * @version $Id$
+ */
+public class HibernateRmiProxyFactoryBean extends RmiProxyFactoryBean
+{
+
+ /**
+ * Store the hibernate lazy service to be used by remote lazy loading
+ */
+ public static ThreadLocal<HibernateLazyService> hibernateLazyServiceTL = new ThreadLocal<HibernateLazyService>();
+
+ private static final long serialVersionUID = 6545259150454309616L;
+
+ private HibernateLazyService hibernateLazyService;
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public Object invoke(MethodInvocation invocation) throws Throwable
+ {
+ // store the lazy service for this thread
+ if (hibernateLazyService == null)
+ {
+ // if hibernateLazyService is null this means that this service IS hibernateLazyService
+ hibernateLazyServiceTL.set((HibernateLazyService) this.getObject());
+ }
+ else
+ {
+ hibernateLazyServiceTL.set(hibernateLazyService);
+ }
+
+ // proceed with rmi call
+ return super.invoke(invocation);
+ }
+
+ /**
+ * Sets the hibernateLazyService.
+ * @param hibernateLazyService the hibernateLazyService to set
+ */
+ public void setHibernateLazyService(HibernateLazyService hibernateLazyService)
+ {
+ this.hibernateLazyService = hibernateLazyService;
+ }
+
+}
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.spring.rmibernate.client.aspects;
-
-import java.io.Serializable;
-import java.lang.reflect.Method;
-
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-
-
-/**
- * @author fcarone
- * @version $Id: $
- */
-public class ClientSerializationInterceptor implements MethodInterceptor, Serializable
-{
-
- /**
- *
- */
- private static final long serialVersionUID = -2694751376173790718L;
-
- private HibernateLazyLoaderAspect hibernateLazyLoaderAspect;
-
- /**
- * @param hlla
- */
- public ClientSerializationInterceptor(HibernateLazyLoaderAspect hibernateLazyLoaderAspect)
- {
- this.hibernateLazyLoaderAspect = hibernateLazyLoaderAspect;
- }
-
- /**
- * {@inheritDoc}
- */
- public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
- {
- return hibernateLazyLoaderAspect.loadObject();
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java (from rev 714, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,56 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.client.aspects;
+
+import java.io.Serializable;
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+
+
+/**
+ * @author fcarone
+ * @version $Id: $
+ */
+public class ClientSerializationInterceptor implements MethodInterceptor, Serializable
+{
+
+ /**
+ *
+ */
+ private static final long serialVersionUID = -2694751376173790718L;
+
+ private HibernateLazyLoaderAspect hibernateLazyLoaderAspect;
+
+ /**
+ * @param hlla
+ */
+ public ClientSerializationInterceptor(HibernateLazyLoaderAspect hibernateLazyLoaderAspect)
+ {
+ this.hibernateLazyLoaderAspect = hibernateLazyLoaderAspect;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
+ {
+ return hibernateLazyLoaderAspect.loadObject();
+ }
+
+}
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,86 +0,0 @@
-package it.openutils.spring.rmibernate.client.aspects;
-
-import it.openutils.spring.rmibernate.client.pagination.Paginator;
-import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
-
-import java.io.Serializable;
-
-import net.sf.cglib.proxy.LazyLoader;
-
-
-/**
- * Aspect that does remote lazy loading on cglib proxy
- * @author mmolaschi
- * @version $Id$
- */
-public class HibernateLazyLoaderAspect implements LazyLoader, Serializable
-{
-
- /**
- * UID
- */
- private static final long serialVersionUID = -365731708075101363L;
-
- private static ThreadLocal<Paginator> paginator = new ThreadLocal<Paginator>();
-
- private String className;
-
- private String fieldName;
-
- private Serializable id;
-
- private Object localReference;
-
- private HibernateLazyService hibernateLazyService;
-
- /**
- * Constructor
- * @param className parent class name
- * @param fieldName field to be lazy loaded
- * @param id id of current entity
- */
- public HibernateLazyLoaderAspect(String className, String fieldName, Serializable id, HibernateLazyService hibernateLazyService)
- {
- this.className = className;
- this.fieldName = fieldName;
- this.id = id;
- this.hibernateLazyService = hibernateLazyService;
- }
-
- /**
- * Set pagination for next calls in current thread
- * @param from starting row number
- * @param size max number of rows
- */
- public static void setPagination(int from, int size)
- {
- paginator.set(new Paginator(from, size));
- }
-
- /**
- * Disable pagination for next calls in current thread
- */
- public static void resetPagination()
- {
- paginator.set(null);
- }
-
- /**
- * {@inheritDoc}
- */
- public Object loadObject() throws Exception
- {
- // @todo handle localreference with paginator
- // Load from remote
- if (paginator.get() != null)
- {
- return hibernateLazyService.invoke(className, fieldName, id, paginator.get().getFrom(), paginator.get().getSize());
- }
- if (localReference == null)
- {
- localReference = hibernateLazyService.invoke(className, fieldName, id);
- }
- return localReference;
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java (from rev 714, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,102 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.client.aspects;
+
+import it.openutils.spring.rmibernate.client.pagination.Paginator;
+import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
+
+import java.io.Serializable;
+
+import net.sf.cglib.proxy.LazyLoader;
+
+
+/**
+ * Aspect that does remote lazy loading on cglib proxy
+ * @author mmolaschi
+ * @version $Id$
+ */
+public class HibernateLazyLoaderAspect implements LazyLoader, Serializable
+{
+
+ /**
+ * UID
+ */
+ private static final long serialVersionUID = -365731708075101363L;
+
+ private static ThreadLocal<Paginator> paginator = new ThreadLocal<Paginator>();
+
+ private String className;
+
+ private String fieldName;
+
+ private Serializable id;
+
+ private Object localReference;
+
+ private HibernateLazyService hibernateLazyService;
+
+ /**
+ * Constructor
+ * @param className parent class name
+ * @param fieldName field to be lazy loaded
+ * @param id id of current entity
+ */
+ public HibernateLazyLoaderAspect(String className, String fieldName, Serializable id, HibernateLazyService hibernateLazyService)
+ {
+ this.className = className;
+ this.fieldName = fieldName;
+ this.id = id;
+ this.hibernateLazyService = hibernateLazyService;
+ }
+
+ /**
+ * Set pagination for next calls in current thread
+ * @param from starting row number
+ * @param size max number of rows
+ */
+ public static void setPagination(int from, int size)
+ {
+ paginator.set(new Paginator(from, size));
+ }
+
+ /**
+ * Disable pagination for next calls in current thread
+ */
+ public static void resetPagination()
+ {
+ paginator.set(null);
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object loadObject() throws Exception
+ {
+ // @todo handle localreference with paginator
+ // Load from remote
+ if (paginator.get() != null)
+ {
+ return hibernateLazyService.invoke(className, fieldName, id, paginator.get().getFrom(), paginator.get().getSize());
+ }
+ if (localReference == null)
+ {
+ localReference = hibernateLazyService.invoke(className, fieldName, id);
+ }
+ return localReference;
+ }
+
+}
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,68 +0,0 @@
-package it.openutils.spring.rmibernate.client.pagination;
-
-/**
- * @author mmolaschi
- * @version $Id$
- */
-public class Paginator
-{
-
- private int from;
-
- private int size;
-
- /**
- *
- */
- public Paginator()
- {
-
- }
-
- /**
- * @param from starting row number
- * @param size max rows
- */
- public Paginator(int from, int size)
- {
- this.from = from;
- this.size = size;
- }
-
- /**
- * Get starting row number
- * @return starting row number
- */
- public int getFrom()
- {
- return from;
- }
-
- /**
- * Set starting row number
- * @param from starting row number
- */
- public void setFrom(int from)
- {
- this.from = from;
- }
-
- /**
- * Get max number of rows
- * @return max number of rows
- */
- public int getSize()
- {
- return size;
- }
-
- /**
- * Set max number of rows
- * @param size max number of rows
- */
- public void setSize(int size)
- {
- this.size = size;
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java (from rev 714, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,84 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.client.pagination;
+
+/**
+ * @author mmolaschi
+ * @version $Id$
+ */
+public class Paginator
+{
+
+ private int from;
+
+ private int size;
+
+ /**
+ *
+ */
+ public Paginator()
+ {
+
+ }
+
+ /**
+ * @param from starting row number
+ * @param size max rows
+ */
+ public Paginator(int from, int size)
+ {
+ this.from = from;
+ this.size = size;
+ }
+
+ /**
+ * Get starting row number
+ * @return starting row number
+ */
+ public int getFrom()
+ {
+ return from;
+ }
+
+ /**
+ * Set starting row number
+ * @param from starting row number
+ */
+ public void setFrom(int from)
+ {
+ this.from = from;
+ }
+
+ /**
+ * Get max number of rows
+ * @return max number of rows
+ */
+ public int getSize()
+ {
+ return size;
+ }
+
+ /**
+ * Set max number of rows
+ * @param size max number of rows
+ */
+ public void setSize(int size)
+ {
+ this.size = size;
+ }
+
+}
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,27 +0,0 @@
-package it.openutils.spring.rmibernate.server.aspects;
-
-import java.lang.reflect.Method;
-
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-
-
-/**
- * @author mmolaschi
- * @version $Id$
- */
-public class EmptyMethodInterceptor implements MethodInterceptor
-{
-
- public static final MethodInterceptor INSTANCE = new EmptyMethodInterceptor();
-
- /**
- * {@inheritDoc}
- */
- public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
- {
- // TODO Auto-generated method stub
- return proxy.invokeSuper(obj, args);
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java (from rev 714, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,42 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.server.aspects;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+
+
+/**
+ * @author mmolaschi
+ * @version $Id$
+ */
+public class EmptyMethodInterceptor implements MethodInterceptor
+{
+
+ public static final MethodInterceptor INSTANCE = new EmptyMethodInterceptor();
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
+ {
+ return proxy.invokeSuper(obj, args);
+ }
+
+}
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,61 +0,0 @@
-package it.openutils.spring.rmibernate.server.aspects;
-
-import org.aopalliance.intercept.MethodInterceptor;
-import org.aopalliance.intercept.MethodInvocation;
-import org.hibernate.SessionFactory;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * Main server interceptor on rmi calls
- * @author mmolaschi
- * @version $Id$
- */
-public class HibernateLazyRmiInterceptor implements MethodInterceptor
-{
-
- /**
- * log
- */
- protected static final Logger logger = LoggerFactory.getLogger(HibernateLazyRmiInterceptor.class);
-
- private SessionFactory sessionFactory;
-
- /**
- * Contructor
- * @param sessionFactory hibernate session factory
- */
- public HibernateLazyRmiInterceptor(SessionFactory sessionFactory)
- {
- this.sessionFactory = sessionFactory;
- }
-
- /**
- * {@inheritDoc}
- */
- public Object invoke(MethodInvocation invocation) throws Throwable
- {
- logger.debug("Catched invocation: {}", invocation);
- try
- {
- Object retVal = invocation.proceed();
-
- SerializationInterceptor.clean();
- // Proxy class for serialization work
- Object result = SerializationInterceptor.getEnhancedObject(retVal, sessionFactory);
- logger.debug("Returning enhanced object {}", result);
- return result;
- }
- catch (Throwable ex)
- {
- if (logger.isInfoEnabled())
- {
- logger.info("Processing of " + " remote call resulted in exception: ", ex);
- }
-
- throw ex;
- }
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java (from rev 714, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,75 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.server.aspects;
+
+import org.aopalliance.intercept.MethodInterceptor;
+import org.aopalliance.intercept.MethodInvocation;
+import org.hibernate.SessionFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * Main server interceptor on rmi calls
+ * @author mmolaschi
+ * @version $Id$
+ */
+public class HibernateLazyRmiInterceptor implements MethodInterceptor
+{
+
+ /**
+ * log
+ */
+ protected static final Logger logger = LoggerFactory.getLogger(HibernateLazyRmiInterceptor.class);
+
+ private SessionFactory sessionFactory;
+
+ /**
+ * Contructor
+ * @param sessionFactory hibernate session factory
+ */
+ public HibernateLazyRmiInterceptor(SessionFactory sessionFactory)
+ {
+ this.sessionFactory = sessionFactory;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object invoke(MethodInvocation invocation) throws Throwable
+ {
+ logger.debug("Catched invocation: {}", invocation);
+ try
+ {
+ Object retVal = invocation.proceed();
+
+ SerializationInterceptor.clean();
+ // Proxy class for serialization work
+ return SerializationInterceptor.getEnhancedObject(retVal, sessionFactory);
+ }
+ catch (Throwable ex)
+ {
+ if (logger.isInfoEnabled())
+ {
+ logger.info("Processing of " + " remote call resulted in exception: ", ex);
+ }
+
+ throw ex;
+ }
+ }
+
+}
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,39 +0,0 @@
-package it.openutils.spring.rmibernate.server.aspects;
-
-import it.openutils.spring.rmibernate.shared.LazyReference;
-
-import java.lang.reflect.Method;
-
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-
-
-/**
- * Aspect on lazy fields to intercept writeReplace
- * @author mmolaschi
- * @version $Id$
- */
-public class LazyReferenceAspect implements MethodInterceptor
-{
-
- private LazyReference lazyReference;
-
- public LazyReference getLazyReference()
- {
- return lazyReference;
- }
-
- public void setLazyReference(LazyReference lazyReference)
- {
- this.lazyReference = lazyReference;
- }
-
- /**
- * {@inheritDoc}
- */
- public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
- {
- return lazyReference;
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java (from rev 714, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,55 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.server.aspects;
+
+import it.openutils.spring.rmibernate.shared.LazyReference;
+
+import java.lang.reflect.Method;
+
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+
+
+/**
+ * Aspect on lazy fields to intercept writeReplace
+ * @author mmolaschi
+ * @version $Id$
+ */
+public class LazyReferenceAspect implements MethodInterceptor
+{
+
+ private LazyReference lazyReference;
+
+ public LazyReference getLazyReference()
+ {
+ return lazyReference;
+ }
+
+ public void setLazyReference(LazyReference lazyReference)
+ {
+ this.lazyReference = lazyReference;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
+ {
+ return lazyReference;
+ }
+
+}
Deleted: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-02-11 20:51:03 UTC (rev 614)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -1,413 +0,0 @@
-package it.openutils.spring.rmibernate.server.aspects;
-
-import it.openutils.spring.rmibernate.server.aspects.util.EntitySerializer;
-import it.openutils.spring.rmibernate.shared.LazyReference;
-import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-import net.sf.cglib.proxy.Callback;
-import net.sf.cglib.proxy.CallbackFilter;
-import net.sf.cglib.proxy.Enhancer;
-import net.sf.cglib.proxy.Factory;
-import net.sf.cglib.proxy.MethodInterceptor;
-import net.sf.cglib.proxy.MethodProxy;
-import net.sf.cglib.proxy.NoOp;
-
-import org.apache.commons.collections.CollectionUtils;
-import org.apache.commons.collections.ListUtils;
-import org.apache.commons.collections.MapUtils;
-import org.apache.commons.collections.SetUtils;
-import org.apache.commons.collections.Transformer;
-import org.hibernate.EntityMode;
-import org.hibernate.SessionFactory;
-import org.hibernate.collection.PersistentCollection;
-import org.hibernate.collection.PersistentSet;
-import org.hibernate.proxy.HibernateProxy;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.util.ReflectionUtils;
-import org.apache.commons.lang.builder.HashCodeBuilder;
-
-
-/**
- * Proxy object with {@link EntitySerializer} and Intercept writeReplace calls
- * @author mmolaschi
- * @version $Id$
- */
-public class SerializationInterceptor implements MethodInterceptor
-{
-
- private static ThreadLocal<List<Object>> processed = new ThreadLocal<List<Object>>();
-
- private static ThreadLocal<HibernateLazyService> hibernateLazyService = new ThreadLocal<HibernateLazyService>();
-
- private static Map<Class, Object> proxies = Collections.synchronizedMap(new HashMap<Class, Object>());
-
- /**
- * log
- */
- private static Logger log = LoggerFactory.getLogger(SerializationInterceptor.class);
-
- /**
- * non proxied object
- */
- private Object original;
-
- /**
- * hibernate sessionfactory
- */
- private SessionFactory sessionFactory;
-
- /**
- * Constructor
- * @param o object to be proxied
- * @param sessionFactory hibernate sessionfactory
- */
- private SerializationInterceptor(Object o, SessionFactory sessionFactory)
- {
- this.original = o;
- this.sessionFactory = sessionFactory;
- }
-
- /**
- * Cleans the processed beans cache
- */
- public static void clean()
- {
- processed.set(null);
- }
-
- /**
- * Get proxy object intercepting writeReplace calls
- * @param o object to be proxied
- * @param sessionFactory hibernate sessionfactory
- * @return proxied object
- */
- public static Object getEnhancedObject(Object o, SessionFactory sessionFactory)
- {
- return getEnhancedObject(o, sessionFactory, null);
- }
-
- /**
- * Get proxy object intercepting writeReplace calls
- * @param o object to be proxied
- * @param sessionFactory hibernate sessionfactory
- * @param lazyRef reference to a lazy field
- * @return proxied object
- */
- public static Object getEnhancedObject(Object o, SessionFactory sessionFactory, LazyReference lazyRef)
- {
- if (o == null)
- {
- return null;
- }
-
- if (!(o instanceof HibernateProxy)
- && !(o instanceof PersistentSet)
- && processed.get() != null
- && processed.get().contains(o))
- {
- return o;
- }
-
- if (o.getClass().getName().startsWith("java.") && !((o instanceof Collection) || (o instanceof Map)))
- {
- return o;
- }
-
- // check if there is an empty constructor
- try
- {
- o.getClass().getConstructor(new Class[]{});
- }
- catch (NoSuchMethodException ex)
- {
- return o;
- }
-
- // check if object can be subclassed
- if (Modifier.isFinal(o.getClass().getModifiers()))
- {
- return o;
- }
-
- try
- {
- // get class
- Class clazz = o.getClass();
-
- // if it is an hibernateproxy get superclass
- if (o instanceof HibernateProxy)
- {
- clazz = o.getClass().getSuperclass();
- if (clazz == null)
- {
- clazz = o.getClass().getInterfaces()[0];
- }
- }
-
- Callback callback = null;
-
- // if this is a lazy field user lazyreferenceaspect
- if (lazyRef != null)
- {
- LazyReferenceAspect lra = new LazyReferenceAspect();
- lra.setLazyReference(lazyRef);
- callback = lra;
- }
- else
- {
- // user default interceptor
- callback = new SerializationInterceptor(o, sessionFactory);
- }
-
- synchronized (proxies)
- {
- if (proxies.containsKey(clazz))
- {
- Factory proxy = (Factory) proxies.get(clazz);
- return proxy.newInstance(new Callback[]{callback, NoOp.INSTANCE });
- }
- }
- // create proxy to listen on writeReplace method calls
- Object proxy = Enhancer.create(clazz, new Class[]{EntitySerializer.class }, new CallbackFilter()
- {
-
- public int accept(Method method)
- {
- if (method.getName().equals("writeReplace"))
- {
- return 0;
- }
- if (method.getName().equals("hashCode"))
- {
- return 0;
- }
- else
- {
- return 1;
- }
- }
-
- }, new Callback[]{callback, NoOp.INSTANCE });
-
- // store proxy
- proxies.put(clazz, ((Factory) proxy).newInstance(new Callback[]{
- EmptyMethodInterceptor.INSTANCE,
- NoOp.INSTANCE }));
- return proxy;
- }
- catch (Throwable t)
- {
- log.warn(t.getMessage(), t);
- return o;
- }
- }
-
- /**
- * {@inheritDoc}
- */
- @SuppressWarnings("unchecked")
- public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
- {
- if (method.getName().equals("hashCode"))
- {
- return hashCode();
- }
- try
- {
- if (original == null)
- {
- return null;
- }
-
- if (original.getClass().getName().startsWith("java.")
- && !(original instanceof Collection)
- || (original instanceof Map))
- {
- return original;
- }
-
- if (processed.get() == null)
- {
- processed.set(new ArrayList<Object>());
- }
-
- // add to processed objects
- processed.get().add(original);
-
- if (original.getClass().isPrimitive())
- {
- log.debug("Non enhancing primitive type: {}", original.getClass().getName());
- return original;
- }
- else if (original.getClass().isArray())
- {
- // replace array entries with proxied ones
- Object[] array = (Object[]) original;
- for (int i = 0; i < array.length; i++)
- {
- array[i] = SerializationInterceptor.getEnhancedObject(array[i], sessionFactory);
- }
- return array;
- }
- else if (original instanceof Set)
- {
- // replace set entries with proxied ones
- Set set = (Set) original;
- Set transformed = SetUtils.transformedSet(new HashSet(), transformer(sessionFactory));
- transformed.addAll(set);
- Set result = new HashSet();
- result.addAll(transformed);
- return result;
- }
- else if (original instanceof List)
- {
- List list = (List) original;
- List transformed = ListUtils.transformedList(new ArrayList(), transformer(sessionFactory));
- transformed.addAll(list);
- List result = new ArrayList();
- result.addAll(transformed);
- return result;
- }
- else if (original instanceof Collection)
- {
- // replace collection entries with proxied ones
- Collection collection = (Collection) original;
- CollectionUtils.transform(collection, transformer(sessionFactory));
- return collection;
- }
- else if (original instanceof Map)
- {
- // replace map entries with proxied ones
- Map map = (Map) original;
- Map transformed = MapUtils.transformedMap(
- new HashMap(),
- transformer(sessionFactory),
- transformer(sessionFactory));
- transformed.putAll(map);
- Map result = new HashMap();
- result.putAll(transformed);
- return result;
- }
- else
- {
- // cycle on bean fields
- ReflectionUtils.doWithFields(original.getClass(), new ReflectionUtils.FieldCallback()
- {
-
- /**
- * {@inheritDoc}
- */
- public void doWith(Field field) throws IllegalArgumentException, IllegalAccessException
- {
- // set field accessible
- field.setAccessible(true);
-
- // get original value
- Object oldValue = field.get(original);
-
- // get new value
- Object newValue = null;
-
- if (oldValue instanceof HibernateProxy || oldValue instanceof PersistentCollection)
- {
- // if this field is a hibernate proxy or a persistent collection store reference
- LazyReference lazyRef = new LazyReference();
- lazyRef.setFieldClassName(field.getType().getName());
- lazyRef.setClassName(original.getClass().getName());
- lazyRef.setFieldName(field.getName());
- // load id
- lazyRef.setId(sessionFactory.getClassMetadata(original.getClass()).getIdentifier(
- original,
- EntityMode.POJO));
-
- // get proxy for lazy
- newValue = SerializationInterceptor.getEnhancedObject(oldValue, sessionFactory, lazyRef);
- }
- else
- {
- // get default proxy
- newValue = SerializationInterceptor.getEnhancedObject(oldValue, sessionFactory);
- }
-
- // if there is a variation store it
- if (newValue != oldValue)
- {
- field.set(original, newValue);
- }
- }
-
- });
- }
-
- return original;
-
- }
- catch (Throwable t)
- {
- log.error(t.getMessage(), t);
- return original;
- }
- }
-
- /**
- * Get transformer for collection, map or set injection of proxied objects
- * @param factory hibernate session factory
- * @return transformer
- */
- private Transformer transformer(SessionFactory factory)
- {
- return new Transformer()
- {
-
- public Object transform(Object input)
- {
- return SerializationInterceptor.getEnhancedObject(input, sessionFactory);
- }
-
- };
- }
-
- /**
- * Sets the hibernateLazyService.
- * @param hibernateLazyService the hibernateLazyService to set
- */
- public static void setHibernateLazyService(HibernateLazyService hibernateLazyService)
- {
- SerializationInterceptor.hibernateLazyService.set(hibernateLazyService);
- }
-
- /**
- * Returns the hibernateLazyService.
- * @return the hibernateLazyService
- */
- public static HibernateLazyService getHibernateLazyService()
- {
- return hibernateLazyService.get();
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public int hashCode()
- {
- return new HashCodeBuilder(-469032761, 855711273)
- .appendSuper(super.hashCode())
- .append(this.original)
- .toHashCode();
- }
-
-}
Copied: tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java (from rev 713, trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java)
===================================================================
--- tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java (rev 0)
+++ tags/openutils-spring-rmibernate-2.0/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-03 14:35:57 UTC (rev 716)
@@ -0,0 +1,435 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package it.openutils.spring.rmibernate.server.aspects;
+
+import it.openutils.spring.rmibernate.server.aspects.util.EntitySerializer;
+import it.openutils.spring.rmibernate.shared.LazyReference;
+import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
+
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+import java.lang.reflect.Modifier;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import net.sf.cglib.proxy.Callback;
+import net.sf.cglib.proxy.CallbackFilter;
+import net.sf.cglib.proxy.Enhancer;
+import net.sf.cglib.proxy.Factory;
+import net.sf.cglib.proxy.MethodInterceptor;
+import net.sf.cglib.proxy.MethodProxy;
+import net.sf.cglib.proxy.NoOp;
+
+import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections.ListUtils;
+import org...
[truncated message content] |
|
From: <fc...@us...> - 2008-03-03 14:35:20
|
Revision: 715
http://openutils.svn.sourceforge.net/openutils/?rev=715&view=rev
Author: fcarone
Date: 2008-03-03 06:35:07 -0800 (Mon, 03 Mar 2008)
Log Message:
-----------
[maven-release-plugin] prepare release openutils-spring-rmibernate-2.0
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/pom.xml
Modified: trunk/openutils-spring-rmibernate/pom.xml
===================================================================
--- trunk/openutils-spring-rmibernate/pom.xml 2008-03-03 12:13:15 UTC (rev 714)
+++ trunk/openutils-spring-rmibernate/pom.xml 2008-03-03 14:35:07 UTC (rev 715)
@@ -1,112 +1,117 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils</artifactId>
- <version>7</version>
- <relativePath>..</relativePath>
- </parent>
- <artifactId>openutils-spring-rmibernate</artifactId>
- <name>hibernate remote lazy loading</name>
- <version>2.0-SNAPSHOT</version>
- <description>openutils base Spring-Hibernate RMI remote lazy loading support</description>
- <dependencies>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <!-- replaces commons-logging -->
- <groupId>org.slf4j</groupId>
- <artifactId>jcl104-over-slf4j</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-orm</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- <version>3.2.4.ga</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- <exclusion>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- </exclusion>
- <exclusion>
- <groupId>asm</groupId>
- <artifactId>asm-attrs</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-beanutils</groupId>
- <artifactId>commons-beanutils</artifactId>
- <version>1.7.0</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.3</version>
- </dependency>
- <dependency>
- <groupId>commons-collections</groupId>
- <artifactId>commons-collections</artifactId>
- <version>3.1</version>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>3.8.1</version>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- <version>2.2.3</version>
- </dependency>
- </dependencies>
- <properties>
- <spring.version>2.5.1</spring.version>
- </properties>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils</artifactId>
+ <version>7</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <artifactId>openutils-spring-rmibernate</artifactId>
+ <name>hibernate remote lazy loading</name>
+ <version>2.0</version>
+ <description>openutils base Spring-Hibernate RMI remote lazy loading support</description>
+ <dependencies>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <!-- replaces commons-logging -->
+ <groupId>org.slf4j</groupId>
+ <artifactId>jcl104-over-slf4j</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-orm</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>3.2.4.ga</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>asm</groupId>
+ <artifactId>asm-attrs</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-beanutils</groupId>
+ <artifactId>commons-beanutils</artifactId>
+ <version>1.7.0</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>commons-collections</groupId>
+ <artifactId>commons-collections</artifactId>
+ <version>3.1</version>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>3.8.1</version>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
+ <groupId>cglib</groupId>
+ <artifactId>cglib-nodep</artifactId>
+ <version>2.1_3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ </dependencies>
+ <properties>
+ <spring.version>2.5.1</spring.version>
+ </properties>
+
+ <scm>
+ <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-spring-rmibernate-2.0</connection>
+ <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-spring-rmibernate-2.0</developerConnection>
+ <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-spring-rmibernate-2.0</url>
+ </scm>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-03-03 12:13:17
|
Revision: 714
http://openutils.svn.sourceforge.net/openutils/?rev=714&view=rev
Author: fcarone
Date: 2008-03-03 04:13:15 -0800 (Mon, 03 Mar 2008)
Log Message:
-----------
copyright notice updated on all files.
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/util/EntitySerializer.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/exporter/HibernateRmiServiceExporter.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/managers/HibernateLazyServiceImpl.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/HibernateLazyLoaderCallbackFilter.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/LazyReference.java
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/managers/HibernateLazyService.java
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/HibernateRmiProxyFactoryBean.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.client;
import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
@@ -15,15 +31,12 @@
{
/**
- *
- */
- private static final long serialVersionUID = 6545259150454309616L;
-
- /**
* Store the hibernate lazy service to be used by remote lazy loading
*/
public static ThreadLocal<HibernateLazyService> hibernateLazyServiceTL = new ThreadLocal<HibernateLazyService>();
+ private static final long serialVersionUID = 6545259150454309616L;
+
private HibernateLazyService hibernateLazyService;
/**
@@ -36,7 +49,7 @@
if (hibernateLazyService == null)
{
// if hibernateLazyService is null this means that this service IS hibernateLazyService
- hibernateLazyServiceTL.set((HibernateLazyService)this.getObject());
+ hibernateLazyServiceTL.set((HibernateLazyService) this.getObject());
}
else
{
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/ClientSerializationInterceptor.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,6 +1,19 @@
/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+
package it.openutils.spring.rmibernate.client.aspects;
import java.io.Serializable;
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/aspects/HibernateLazyLoaderAspect.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.client.aspects;
import it.openutils.spring.rmibernate.client.pagination.Paginator;
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/client/pagination/Paginator.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.client.pagination;
/**
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/EmptyMethodInterceptor.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.server.aspects;
import java.lang.reflect.Method;
@@ -20,7 +36,6 @@
*/
public Object intercept(Object obj, Method method, Object[] args, MethodProxy proxy) throws Throwable
{
- // TODO Auto-generated method stub
return proxy.invokeSuper(obj, args);
}
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/HibernateLazyRmiInterceptor.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.server.aspects;
import org.aopalliance.intercept.MethodInterceptor;
@@ -43,9 +59,7 @@
SerializationInterceptor.clean();
// Proxy class for serialization work
- Object result = SerializationInterceptor.getEnhancedObject(retVal, sessionFactory);
- logger.debug("Returning enhanced object {}", result);
- return result;
+ return SerializationInterceptor.getEnhancedObject(retVal, sessionFactory);
}
catch (Throwable ex)
{
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/LazyReferenceAspect.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.server.aspects;
import it.openutils.spring.rmibernate.shared.LazyReference;
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/util/EntitySerializer.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/util/EntitySerializer.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/util/EntitySerializer.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.server.aspects.util;
import java.io.ObjectStreamException;
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/exporter/HibernateRmiServiceExporter.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/exporter/HibernateRmiServiceExporter.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/exporter/HibernateRmiServiceExporter.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.server.exporter;
import it.openutils.spring.rmibernate.server.aspects.HibernateLazyRmiInterceptor;
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/managers/HibernateLazyServiceImpl.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/managers/HibernateLazyServiceImpl.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/managers/HibernateLazyServiceImpl.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.server.managers;
import it.openutils.spring.rmibernate.shared.managers.HibernateLazyService;
@@ -165,9 +181,6 @@
return null;
}
- // get class
- Class fClass = lazy.getClass();
-
// if is a single object proxy
if (lazy instanceof HibernateProxy)
{
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/HibernateLazyLoaderCallbackFilter.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/HibernateLazyLoaderCallbackFilter.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/HibernateLazyLoaderCallbackFilter.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,6 +1,19 @@
/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
*/
+
package it.openutils.spring.rmibernate.shared;
import java.io.Serializable;
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/LazyReference.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/LazyReference.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/LazyReference.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.shared;
import it.openutils.spring.rmibernate.client.HibernateRmiProxyFactoryBean;
@@ -85,7 +101,6 @@
return Enhancer.create(superclass, interfaces, new HibernateLazyLoaderCallbackFilter(), new Callback[]{
hlla,
new ClientSerializationInterceptor(hlla) });
-
}
public String getClassName()
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/managers/HibernateLazyService.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/managers/HibernateLazyService.java 2008-03-03 12:11:11 UTC (rev 713)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/shared/managers/HibernateLazyService.java 2008-03-03 12:13:15 UTC (rev 714)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.shared.managers;
import java.io.Serializable;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
Revision: 713
http://openutils.svn.sourceforge.net/openutils/?rev=713&view=rev
Author: fcarone
Date: 2008-03-03 04:11:11 -0800 (Mon, 03 Mar 2008)
Log Message:
-----------
explanation added
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-03 12:10:04 UTC (rev 712)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-03 12:11:11 UTC (rev 713)
@@ -312,6 +312,9 @@
new HashMap(),
transformer(sessionFactory),
transformer(sessionFactory));
+
+ // this is needed since AbstractHashedMap used by commons collections
+ // needs at least 1 element before transforming
if (map.size() > 0)
{
transformed.putAll(map);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
Revision: 712
http://openutils.svn.sourceforge.net/openutils/?rev=712&view=rev
Author: fcarone
Date: 2008-03-03 04:10:04 -0800 (Mon, 03 Mar 2008)
Log Message:
-----------
check if the map has at least 1 element before transforming (required by commons collections)
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-02 23:28:17 UTC (rev 711)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-03-03 12:10:04 UTC (rev 712)
@@ -312,7 +312,10 @@
new HashMap(),
transformer(sessionFactory),
transformer(sessionFactory));
- transformed.putAll(map);
+ if (map.size() > 0)
+ {
+ transformed.putAll(map);
+ }
Map result = new HashMap();
result.putAll(transformed);
return result;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fg...@us...> - 2008-03-02 23:28:12
|
Revision: 711
http://openutils.svn.sourceforge.net/openutils/?rev=711&view=rev
Author: fgiust
Date: 2008-03-02 15:28:17 -0800 (Sun, 02 Mar 2008)
Log Message:
-----------
fix excludedTables in DbUnitExecution
Modified Paths:
--------------
trunk/openutils-testing/pom.xml
trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java
trunk/openutils-testing/src/site/changes/changes.xml
Added Paths:
-----------
trunk/openutils-testing/src/test/
trunk/openutils-testing/src/test/java/
trunk/openutils-testing/src/test/java/it/
trunk/openutils-testing/src/test/java/it/openutils/
trunk/openutils-testing/src/test/java/it/openutils/testing/
trunk/openutils-testing/src/test/java/it/openutils/testing/RegExpTableFilterTest.java
Property Changed:
----------------
trunk/openutils-testing/
Property changes on: trunk/openutils-testing
___________________________________________________________________
Name: svn:ignore
- .project
.classpath
.checkstyle
target
.settings
+ .project
.classpath
.checkstyle
target
.settings
test-output
temp-testng-customsuite.xml
Modified: trunk/openutils-testing/pom.xml
===================================================================
--- trunk/openutils-testing/pom.xml 2008-02-29 16:53:04 UTC (rev 710)
+++ trunk/openutils-testing/pom.xml 2008-03-02 23:28:17 UTC (rev 711)
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>net.sourceforge.openutils</groupId>
@@ -57,6 +58,19 @@
</exclusion>
</exclusions>
</dependency>
+ <dependency>
+ <groupId>org.testng</groupId>
+ <artifactId>testng</artifactId>
+ <classifier>jdk15</classifier>
+ <version>5.7</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
</dependencies>
<properties>
<spring.version>2.5.1</spring.version>
Modified: trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java
===================================================================
--- trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java 2008-02-29 16:53:04 UTC (rev 710)
+++ trunk/openutils-testing/src/main/java/it/openutils/testing/DbUnitExecution.java 2008-03-02 23:28:17 UTC (rev 711)
@@ -22,7 +22,6 @@
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;
-import org.dbunit.database.DatabaseConfig;
import org.dbunit.dataset.datatype.IDataTypeFactory;
import org.dbunit.operation.DatabaseOperation;
@@ -62,9 +61,9 @@
/**
* A regexp that can match table names. Any table matching this regular expression will not be considered by DbUnit.
- * By default tables starting with $ are ignored (oracle recycle bin).
+ * By default tables starting with BIN$ are ignored (oracle recycle bin).
*/
- String excludedTables() default "(^\\$(.*))"; // oracle recycle bin
+ String excludedTables() default "^BIN\\$(.*)"; // oracle recycle bin
/**
* If true, <strong>all</strong> the tables in the database will be truncated before loading any dataset.
Modified: trunk/openutils-testing/src/site/changes/changes.xml
===================================================================
--- trunk/openutils-testing/src/site/changes/changes.xml 2008-02-29 16:53:04 UTC (rev 710)
+++ trunk/openutils-testing/src/site/changes/changes.xml 2008-03-02 23:28:17 UTC (rev 711)
@@ -8,30 +8,30 @@
<author email="fgiust(at)users.sourceforge.net">Fabrizio Giustina</author>
</properties>
<body>
+ <release version="2.0.3" date="in svn" description="2.0.3">
+ <action type="fix" dev="fgiust"> excludedTables in DbUnitExecution now defaults to "^BIN\\$(.*)", properly excluding
+ tables in oracle recycle bin.</action>
+ </release>
<release version="2.0.3" date="2008-02-19" description="2.0.3">
- <action type="update" dev="fgiust">
- it.openutils.testing.DateAssert is now thread safe. Failure messages have been improved.
- </action>
- <action type="add" dev="fcarone">
- New option for DbUnitExection to specify the DatabaseConfig.PROPERTY_DATATYPE_FACTORY added.
- </action>
+ <action type="update" dev="fgiust"> it.openutils.testing.DateAssert is now thread safe. Failure messages have been
+ improved.</action>
+ <action type="add" dev="fcarone"> New option for DbUnitExection to specify the
+ DatabaseConfig.PROPERTY_DATATYPE_FACTORY added.</action>
</release>
<release version="2.0.2" date="2008-01-31" description="2.0.2">
- <action type="add" dev="fgiust">
- New dbunit operation classes for mssql and mysql (extension of standard dbunit operation, but refactored so that
- they can be used in annotations). See the javadocs in the it.openutils.testing.dbunit package
- </action>
- <action type="update" dev="fgiust">
- truncate operation now defaults to DbUnitOperation.DELETE_ALL instead of DbUnitOperation.TRUNCATE.
- </action>
- <action type="fix" dev="fgiust">DbUnitUtils.exportDataset() doesn't close anymore the provided connection</action>
+ <action type="add" dev="fgiust"> New dbunit operation classes for mssql and mysql (extension of standard dbunit
+ operation, but refactored so that they can be used in annotations). See the javadocs in the
+ it.openutils.testing.dbunit package</action>
+ <action type="update" dev="fgiust"> truncate operation now defaults to DbUnitOperation.DELETE_ALL instead of
+ DbUnitOperation.TRUNCATE.</action>
+ <action type="fix" dev="fgiust">DbUnitUtils.exportDataset() doesn't close anymore the
+ provided connection</action>
<action type="add" dev="fgiust">new DbUnitUtils.exportTablesToDir() utility method</action>
</release>
<release version="2.0.1" date="2008-01-30" description="2.0.1">
- <action type="fix" dev="fgiust">
- (junit version only). it.openutils.testing.junit.AbstractDbUnitJunitSpringContextTests was totally broken due to
- the setup method being protected. Fixed + added tests
- </action>
+ <action type="fix" dev="fgiust"> (junit version only).
+ it.openutils.testing.junit.AbstractDbUnitJunitSpringContextTests was totally broken due to the setup method
+ being protected. Fixed + added tests</action>
</release>
<release version="2.0" date="2008-01-20" description="2.0 release">
<action type="update" dev="fgiust">Totally reworked dbunit test framework.</action>
Added: trunk/openutils-testing/src/test/java/it/openutils/testing/RegExpTableFilterTest.java
===================================================================
--- trunk/openutils-testing/src/test/java/it/openutils/testing/RegExpTableFilterTest.java (rev 0)
+++ trunk/openutils-testing/src/test/java/it/openutils/testing/RegExpTableFilterTest.java 2008-03-02 23:28:17 UTC (rev 711)
@@ -0,0 +1,26 @@
+package it.openutils.testing;
+
+import org.testng.Assert;
+import org.testng.annotations.Test;
+
+
+/**
+ * @author fgiust
+ * @version $Id: $
+ */
+@DbUnitExecution
+public class RegExpTableFilterTest
+{
+
+ @Test
+ public void testDefaultRegExp() throws Exception
+ {
+
+ DbUnitExecution dbUnitExecution = getClass().getAnnotation(DbUnitExecution.class);
+ RegExpTableFilter retf = new RegExpTableFilter(dbUnitExecution.excludedTables());
+
+ Assert.assertTrue(retf.accept("SOMETHING"));
+ Assert.assertFalse(retf.accept("BIN$SOMETHING"));
+
+ }
+}
Property changes on: trunk/openutils-testing/src/test/java/it/openutils/testing/RegExpTableFilterTest.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Name: svn:keywords
+ Author Date Id Revision
Name: svn:eol-style
+ native
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
Revision: 710
http://openutils.svn.sourceforge.net/openutils/?rev=710&view=rev
Author: fcarone
Date: 2008-02-29 08:53:04 -0800 (Fri, 29 Feb 2008)
Log Message:
-----------
PersistentCollection is more general than PersistentSet
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-02-29 15:33:01 UTC (rev 709)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-02-29 16:53:04 UTC (rev 710)
@@ -45,15 +45,14 @@
import org.apache.commons.collections.MapUtils;
import org.apache.commons.collections.SetUtils;
import org.apache.commons.collections.Transformer;
+import org.apache.commons.lang.builder.HashCodeBuilder;
import org.hibernate.EntityMode;
import org.hibernate.SessionFactory;
import org.hibernate.collection.PersistentCollection;
-import org.hibernate.collection.PersistentSet;
import org.hibernate.proxy.HibernateProxy;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.util.ReflectionUtils;
-import org.apache.commons.lang.builder.HashCodeBuilder;
/**
@@ -132,7 +131,7 @@
}
if (!(o instanceof HibernateProxy)
- && !(o instanceof PersistentSet)
+ && !(o instanceof PersistentCollection)
&& processed.get() != null
&& processed.get().contains(o))
{
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
Revision: 709
http://openutils.svn.sourceforge.net/openutils/?rev=709&view=rev
Author: fcarone
Date: 2008-02-29 07:33:01 -0800 (Fri, 29 Feb 2008)
Log Message:
-----------
fix for check on the original object during interception
copyright added
Modified Paths:
--------------
trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
Modified: trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java
===================================================================
--- trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-02-27 13:19:33 UTC (rev 708)
+++ trunk/openutils-spring-rmibernate/src/main/java/it/openutils/spring/rmibernate/server/aspects/SerializationInterceptor.java 2008-02-29 15:33:01 UTC (rev 709)
@@ -1,3 +1,19 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package it.openutils.spring.rmibernate.server.aspects;
import it.openutils.spring.rmibernate.server.aspects.util.EntitySerializer;
@@ -52,6 +68,7 @@
private static ThreadLocal<HibernateLazyService> hibernateLazyService = new ThreadLocal<HibernateLazyService>();
+ @SuppressWarnings("unchecked")
private static Map<Class, Object> proxies = Collections.synchronizedMap(new HashMap<Class, Object>());
/**
@@ -106,6 +123,7 @@
* @param lazyRef reference to a lazy field
* @return proxied object
*/
+ @SuppressWarnings("unchecked")
public static Object getEnhancedObject(Object o, SessionFactory sessionFactory, LazyReference lazyRef)
{
if (o == null)
@@ -233,8 +251,7 @@
}
if (original.getClass().getName().startsWith("java.")
- && !(original instanceof Collection)
- || (original instanceof Map))
+ && !((original instanceof Collection) || (original instanceof Map)))
{
return original;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-27 13:19:29
|
Revision: 708
http://openutils.svn.sourceforge.net/openutils/?rev=708&view=rev
Author: fcarone
Date: 2008-02-27 05:19:33 -0800 (Wed, 27 Feb 2008)
Log Message:
-----------
Fix spacing
Modified Paths:
--------------
trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
Modified: trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
===================================================================
--- trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-27 13:17:28 UTC (rev 707)
+++ trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-27 13:19:33 UTC (rev 708)
@@ -44,11 +44,13 @@
is 1 and stringValue is 'ABC': now we need two security rules:
Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD
+
Role1 - DummyDataObject - stringValue - 'ABC' - EQUALS - LOAD
In this way the AND is done. What if we want to create OR rules:
Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD
+
Role2 - DummyDataObject - stringValue - 'ABC' - EQUALS - LOAD
and assign users both roles 1 and 2.
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-27 13:17:24
|
Revision: 707
http://openutils.svn.sourceforge.net/openutils/?rev=707&view=rev
Author: fcarone
Date: 2008-02-27 05:17:28 -0800 (Wed, 27 Feb 2008)
Log Message:
-----------
Fix indent
Modified Paths:
--------------
trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
Modified: trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
===================================================================
--- trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-26 10:57:04 UTC (rev 706)
+++ trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-27 13:17:28 UTC (rev 707)
@@ -46,9 +46,9 @@
Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD
Role1 - DummyDataObject - stringValue - 'ABC' - EQUALS - LOAD
-In this way the AND is done. What if we want to create OR rules:
+ In this way the AND is done. What if we want to create OR rules:
Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD
Role2 - DummyDataObject - stringValue - 'ABC' - EQUALS - LOAD
-and assign users both roles 1 and 2.
\ No newline at end of file
+ and assign users both roles 1 and 2.
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-26 10:57:12
|
Revision: 706
http://openutils.svn.sourceforge.net/openutils/?rev=706&view=rev
Author: fcarone
Date: 2008-02-26 02:57:04 -0800 (Tue, 26 Feb 2008)
Log Message:
-----------
[maven-release-plugin] prepare for next development iteration
Modified Paths:
--------------
trunk/openutils-hibernate-security/pom.xml
Modified: trunk/openutils-hibernate-security/pom.xml
===================================================================
--- trunk/openutils-hibernate-security/pom.xml 2008-02-26 10:56:55 UTC (rev 705)
+++ trunk/openutils-hibernate-security/pom.xml 2008-02-26 10:57:04 UTC (rev 706)
@@ -9,7 +9,7 @@
<groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-hibernate-security</artifactId>
<name>openutils hibernate security</name>
- <version>0.0.6</version>
+ <version>0.0.7-SNAPSHOT</version>
<description>Hibernate Security classes</description>
<properties>
<spring.version>2.5.1</spring.version>
@@ -220,10 +220,4 @@
<scope>test</scope>
</dependency>
</dependencies>
-
- <scm>
- <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.6</connection>
- <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.6</developerConnection>
- <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-hibernate-security-0.0.6</url>
- </scm>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-26 10:56:51
|
Revision: 705
http://openutils.svn.sourceforge.net/openutils/?rev=705&view=rev
Author: fcarone
Date: 2008-02-26 02:56:55 -0800 (Tue, 26 Feb 2008)
Log Message:
-----------
[maven-release-plugin] copy for tag openutils-hibernate-security-0.0.6
Added Paths:
-----------
tags/openutils-hibernate-security-0.0.6/
tags/openutils-hibernate-security-0.0.6/pom.xml
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleBaseHandler.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/utils/SecurityRuleUtils.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/services/SecurityRuleManager.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/services/impl/SecurityRuleManagerImpl.java
tags/openutils-hibernate-security-0.0.6/src/site/apt/
tags/openutils-hibernate-security-0.0.6/src/site/apt/index.apt
tags/openutils-hibernate-security-0.0.6/src/site/apt/rbac-acegi.apt
tags/openutils-hibernate-security-0.0.6/src/test/java/it/openutils/hibernate/security/filter/JavaBeanFilterTest.java
tags/openutils-hibernate-security-0.0.6/src/test/resources/SecurityIntegrationTest-load.xml
tags/openutils-hibernate-security-0.0.6/src/test/resources/spring-security.xml
Removed Paths:
-------------
tags/openutils-hibernate-security-0.0.6/pom.xml
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleBaseHandler.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/utils/SecurityRuleUtils.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/services/SecurityRuleManager.java
tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/services/impl/SecurityRuleManagerImpl.java
tags/openutils-hibernate-security-0.0.6/src/site/apt/index.apt
tags/openutils-hibernate-security-0.0.6/src/test/java/it/openutils/hibernate/security/filter/JavaBeanFilterTest.java
tags/openutils-hibernate-security-0.0.6/src/test/resources/SecurityIntegrationTest-load.xml
tags/openutils-hibernate-security-0.0.6/src/test/resources/spring-security.xml
Copied: tags/openutils-hibernate-security-0.0.6 (from rev 673, trunk/openutils-hibernate-security)
Deleted: tags/openutils-hibernate-security-0.0.6/pom.xml
===================================================================
--- trunk/openutils-hibernate-security/pom.xml 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/pom.xml 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,223 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <artifactId>openutils</artifactId>
- <groupId>net.sourceforge.openutils</groupId>
- <version>7</version>
- <relativePath>..</relativePath>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-hibernate-security</artifactId>
- <name>openutils hibernate security</name>
- <version>0.0.4-SNAPSHOT</version>
- <description>Hibernate Security classes</description>
- <properties>
- <spring.version>2.5.1</spring.version>
- <aspectj.version>1.5.3</aspectj.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-orm</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <!-- already imported cglib-nodep by spring -->
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>aspectj</groupId>
- <artifactId>aspectjrt</artifactId>
- <version>${aspectj.version}</version>
- </dependency>
- <dependency>
- <groupId>aspectj</groupId>
- <artifactId>aspectjweaver</artifactId>
- <version>${aspectj.version}</version>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- <version>2.2.3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm-attrs</artifactId>
- <version>2.2.3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm-commons</artifactId>
- <version>2.2.3</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-usermanagement</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-usermanagement-dataobjects</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-bshd5</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-testing-junit</artifactId>
- <version>2.0.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-testing</artifactId>
- <version>2.0.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- <version>3.2.5.ga</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>3.2.1.ga</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-dbcp</groupId>
- <artifactId>commons-dbcp</artifactId>
- <version>1.2.1</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <artifactId>xerces</artifactId>
- <groupId>xerces</groupId>
- </exclusion>
- <exclusion>
- <artifactId>xml-apis</artifactId>
- <groupId>xml-apis</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.2</version>
- </dependency>
- <dependency>
- <groupId>org.acegisecurity</groupId>
- <artifactId>acegi-security</artifactId>
- <version>1.0.6</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <artifactId>spring-remoting</artifactId>
- <groupId>org.springframework</groupId>
- </exclusion>
- <exclusion>
- <artifactId>spring-jdbc</artifactId>
- <groupId>org.springframework</groupId>
- </exclusion>
- <exclusion>
- <artifactId>spring-support</artifactId>
- <groupId>org.springframework</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>1.8.0.7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.4</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>dbunit</groupId>
- <artifactId>dbunit</artifactId>
- <version>2.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
Copied: tags/openutils-hibernate-security-0.0.6/pom.xml (from rev 704, trunk/openutils-hibernate-security/pom.xml)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/pom.xml (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/pom.xml 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,229 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>openutils</artifactId>
+ <groupId>net.sourceforge.openutils</groupId>
+ <version>7</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-hibernate-security</artifactId>
+ <name>openutils hibernate security</name>
+ <version>0.0.6</version>
+ <description>Hibernate Security classes</description>
+ <properties>
+ <spring.version>2.5.1</spring.version>
+ <aspectj.version>1.5.3</aspectj.version>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-orm</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <!-- already imported cglib-nodep by spring -->
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>${aspectj.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>aspectj</groupId>
+ <artifactId>aspectjweaver</artifactId>
+ <version>${aspectj.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>cglib</groupId>
+ <artifactId>cglib-nodep</artifactId>
+ <version>2.1_3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm-attrs</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm-commons</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-usermanagement</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-usermanagement-dataobjects</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-bshd5</artifactId>
+ <version>2.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-testing-junit</artifactId>
+ <version>2.0.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-testing</artifactId>
+ <version>2.0.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>3.2.5.ga</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.2.1.ga</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.2.1</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <artifactId>xerces</artifactId>
+ <groupId>xerces</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>xml-apis</artifactId>
+ <groupId>xml-apis</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.acegisecurity</groupId>
+ <artifactId>acegi-security</artifactId>
+ <version>1.0.6</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <artifactId>spring-remoting</artifactId>
+ <groupId>org.springframework</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>spring-jdbc</artifactId>
+ <groupId>org.springframework</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>spring-support</artifactId>
+ <groupId>org.springframework</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>dbunit</groupId>
+ <artifactId>dbunit</artifactId>
+ <version>2.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.6</connection>
+ <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.6</developerConnection>
+ <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-hibernate-security-0.0.6</url>
+ </scm>
+</project>
\ No newline at end of file
Deleted: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,154 +0,0 @@
-/*
- * Copyright Openmind http://www.openmindonline.it
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package it.openutils.hibernate.security.aop;
-
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-import it.openutils.hibernate.security.services.SecurityRuleManager;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.acegisecurity.Authentication;
-import org.acegisecurity.GrantedAuthority;
-import org.acegisecurity.context.SecurityContextHolder;
-import org.apache.commons.lang.StringUtils;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.hibernate.Filter;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.criterion.Restrictions;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * @author fcarone
- * @version $Id$
- */
-@Aspect
-public class AOPSecurity
-{
-
- /**
- * Logger.
- */
- private Logger log = LoggerFactory.getLogger(AOPSecurity.class);
-
- private SecurityRuleManager securityRuleManager;
-
- private List<String> securedDAOs;
-
- private boolean enabled;
-
- /**
- * @param pjp The proceeding joinpoint
- * @param filter The entity we are going to filter
- * @param additionalCriteria The additional criteria list, cannot be null
- * @return The execution invocation result
- * @throws Throwable Any exception occurring in the invoked method
- */
- @Around("execution(* it.openutils.dao.hibernate.*.*(Object, .., java.util.List<org.hibernate.criterion.Criterion>)) && "
- + //
- " args(filter, .., additionalCriteria)")
- public Object applySecurityRules(ProceedingJoinPoint pjp, Object filter, List<Criterion> additionalCriteria)
- throws Throwable
- {
- if (!enabled)
- {
- log.debug("DAO security disabled, proceeding.");
- return pjp.proceed();
- }
-
- if (!securedDAOs.contains(pjp.getTarget().getClass().getCanonicalName()))
- {
- log.debug("The intercepted DAO {} is not secured, proceeding.", pjp.getTarget().toString());
- return pjp.proceed();
- }
-
- log.debug("applying security rules for {} with criteria {}", filter.toString(), additionalCriteria);
- Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- if (authentication == null)
- {
- throw new SecurityException("Authentication is not valid");
- }
- GrantedAuthority[] authorities = authentication.getAuthorities();
- List<String> roles = new ArrayList<String>();
- for (int i = 0; i < authorities.length; i++)
- {
- roles.add(authorities[i].getAuthority());
- }
-
- String entity = filter.getClass().getCanonicalName();
- List<SecurityRule> rules = securityRuleManager.getRulesForRoles(entity, roles);
-
- if (rules.isEmpty())
- {
- if (log.isWarnEnabled())
- {
- String grantedRoles = StringUtils.EMPTY;
- for (int i = 0; i < authorities.length; i++)
- {
- grantedRoles += authorities[i].getAuthority() + " ";
- }
- log.warn(
- "No rules found. Access is denied on " + entity + ", for user {} with roles {}",
- SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(),
- grantedRoles);
- }
- throw new SecurityException("Access denied");
- }
-
- Filter hibernateFilter = securityRuleManager.getEntityFilterFromRules(entity, rules);
-
- Criterion sqlCriterion = Restrictions.sqlRestriction(hibernateFilter
- .getFilterDefinition()
- .getDefaultFilterCondition());
-
- log.debug("Adding sql restriction: {}", sqlCriterion.toString());
- additionalCriteria.add(sqlCriterion);
-
- Object result = pjp.proceed();
- return result;
- }
-
- /**
- * Sets the securityRuleManager.
- * @param securityRuleManager the securityRuleManager to set
- */
- public void setSecurityRuleManager(SecurityRuleManager securityRuleManager)
- {
- this.securityRuleManager = securityRuleManager;
- }
-
- /**
- * Sets the securedDAOs.
- * @param securedDAOs the securedDAOs to set
- */
- public void setSecuredDAOs(List<String> securedDAOs)
- {
- this.securedDAOs = securedDAOs;
- }
-
- /**
- * Sets the enabled.
- * @param enabled the enabled to set
- */
- public void setEnabled(boolean enabled)
- {
- this.enabled = enabled;
- }
-}
Copied: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java (from rev 687, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,175 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.aop;
+
+import it.openutils.hibernate.security.dataobject.SecurityRule;
+import it.openutils.hibernate.security.services.SecurityRuleManager;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.acegisecurity.Authentication;
+import org.acegisecurity.GrantedAuthority;
+import org.acegisecurity.context.SecurityContextHolder;
+import org.apache.commons.lang.StringUtils;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.hibernate.Filter;
+import org.hibernate.criterion.Criterion;
+import org.hibernate.criterion.Restrictions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+@Aspect
+public class AOPSecurity
+{
+
+ /**
+ * Logger.
+ */
+ private Logger log = LoggerFactory.getLogger(AOPSecurity.class);
+
+ private boolean denyIfNoRulesFound = true;
+
+ private SecurityRuleManager securityRuleManager;
+
+ private List<String> securedDAOs;
+
+ private boolean enabled;
+
+ /**
+ * @param pjp The proceeding joinpoint
+ * @param filter The entity we are going to filter
+ * @param additionalCriteria The additional criteria list, cannot be null
+ * @return The execution invocation result
+ * @throws Throwable Any exception occurring in the invoked method
+ */
+ @Around("execution(* it.openutils.dao.hibernate.*.*(Object, .., java.util.List<org.hibernate.criterion.Criterion>)) && "
+ + //
+ " args(filter, .., additionalCriteria)")
+ public Object applySecurityRules(ProceedingJoinPoint pjp, Object filter, List<Criterion> additionalCriteria)
+ throws Throwable
+ {
+ if (!enabled)
+ {
+ log.debug("DAO security disabled, proceeding.");
+ return pjp.proceed();
+ }
+
+ if (!securedDAOs.contains(pjp.getTarget().getClass().getCanonicalName()))
+ {
+ log.debug("The intercepted DAO {} is not secured, proceeding.", pjp.getTarget().toString());
+ return pjp.proceed();
+ }
+
+ log.debug("applying security rules for {} with criteria {}", filter.toString(), additionalCriteria);
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+ if (authentication == null)
+ {
+ throw new SecurityException("Authentication is not valid");
+ }
+ GrantedAuthority[] authorities = authentication.getAuthorities();
+ List<String> roles = new ArrayList<String>();
+ for (int i = 0; i < authorities.length; i++)
+ {
+ roles.add(authorities[i].getAuthority());
+ }
+
+ String entity = filter.getClass().getCanonicalName();
+ List<SecurityRule> rules = securityRuleManager.getRulesForRoles(filter, roles);
+
+ if (rules.isEmpty())
+ {
+ if (log.isWarnEnabled())
+ {
+ String grantedRoles = StringUtils.EMPTY;
+ for (int i = 0; i < authorities.length; i++)
+ {
+ grantedRoles += authorities[i].getAuthority() + " ";
+ }
+ log.warn(
+ "No rules found for " + entity + ", user {} with roles {}",
+ SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(),
+ grantedRoles);
+ }
+ if (denyIfNoRulesFound)
+ {
+ log.debug("denyIfNoRulesFound is true, denying access.");
+ throw new SecurityException("Access denied");
+ }
+ else
+ {
+ log.debug("denyIfNoRulesFound is false, allowing access.");
+ return pjp.proceed();
+ }
+ }
+
+ Filter hibernateFilter = securityRuleManager.getEntityFilterFromRules(entity, rules);
+
+ Criterion sqlCriterion = Restrictions.sqlRestriction(hibernateFilter
+ .getFilterDefinition()
+ .getDefaultFilterCondition());
+
+ log.debug("Adding sql restriction: {}", sqlCriterion.toString());
+ additionalCriteria.add(sqlCriterion);
+
+ Object result = pjp.proceed();
+ return result;
+ }
+
+ /**
+ * Sets the securityRuleManager.
+ * @param securityRuleManager the securityRuleManager to set
+ */
+ public void setSecurityRuleManager(SecurityRuleManager securityRuleManager)
+ {
+ this.securityRuleManager = securityRuleManager;
+ }
+
+ /**
+ * Sets the securedDAOs.
+ * @param securedDAOs the securedDAOs to set
+ */
+ public void setSecuredDAOs(List<String> securedDAOs)
+ {
+ this.securedDAOs = securedDAOs;
+ }
+
+ /**
+ * Sets the enabled.
+ * @param enabled the enabled to set
+ */
+ public void setEnabled(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
+
+ /**
+ * Sets the denyIfNoRulesFound.
+ * @param denyIfNoRulesFound the denyIfNoRulesFound to set
+ */
+ public void setDenyIfNoRulesFound(boolean denyIfNoRulesFound)
+ {
+ this.denyIfNoRulesFound = denyIfNoRulesFound;
+ }
+}
Deleted: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dao;
-
-import it.openutils.dao.hibernate.HibernateDAO;
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public interface SecurityRuleDAO extends HibernateDAO<SecurityRule, Long>
-{
-
-}
Copied: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,29 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dao;
+
+import it.openutils.dao.hibernate.HibernateDAO;
+import it.openutils.hibernate.security.dataobject.SecurityRule;
+
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public interface SecurityRuleDAO extends HibernateDAO<SecurityRule, Long>
+{
+
+}
Deleted: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dao.impl;
-
-import it.openutils.dao.hibernate.HibernateDAOImpl;
-import it.openutils.hibernate.security.dao.SecurityRuleDAO;
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public class SecurityRuleDAOImpl extends HibernateDAOImpl<SecurityRule, Long> implements SecurityRuleDAO
-{
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected Class<SecurityRule> getReferenceClass()
- {
- return SecurityRule.class;
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,39 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dao.impl;
+
+import it.openutils.dao.hibernate.HibernateDAOImpl;
+import it.openutils.hibernate.security.dao.SecurityRuleDAO;
+import it.openutils.hibernate.security.dataobject.SecurityRule;
+
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public class SecurityRuleDAOImpl extends HibernateDAOImpl<SecurityRule, Long> implements SecurityRuleDAO
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Class<SecurityRule> getReferenceClass()
+ {
+ return SecurityRule.class;
+ }
+
+}
Deleted: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dataobject;
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public enum ModifierEnum {
-
- /**
- * Equals
- */
- EQUALS("equals"),
-
- /**
- * Not
- */
- NOT("not");
-
- private String value;
-
- /**
- * @param value The literal value of the modifier
- */
- ModifierEnum(String value)
- {
- this.value = value;
- }
-
- public String getValue()
- {
- return value;
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,49 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dataobject;
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public enum ModifierEnum {
+
+ /**
+ * Equals
+ */
+ EQUALS("equals"),
+
+ /**
+ * Not
+ */
+ NOT("not");
+
+ private String value;
+
+ /**
+ * @param value The literal value of the modifier
+ */
+ ModifierEnum(String value)
+ {
+ this.value = value;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+}
Deleted: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dataobject;
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public enum PermissionEnum {
-
- /**
- * Load, Create, Modify, Delete permissions
- */
- LOAD("LOAD"), CREATE("CREATE"), MODIFY("MODIFY"), DELETE("DELETE");
-
- private String value;
-
- /**
- * @param value The literal value for the needed enumeration object
- */
- PermissionEnum(String value)
- {
- this.value = value;
- }
-
-
- /**
- * Returns the value.
- * @return the value
- */
- public String getValue()
- {
- return value;
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,49 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dataobject;
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public enum PermissionEnum {
+
+ /**
+ * Load, Create, Modify, Delete permissions
+ */
+ LOAD("LOAD"), CREATE("CREATE"), MODIFY("MODIFY"), DELETE("DELETE");
+
+ private String value;
+
+ /**
+ * @param value The literal value for the needed enumeration object
+ */
+ PermissionEnum(String value)
+ {
+ this.value = value;
+ }
+
+
+ /**
+ * Returns the value.
+ * @return the value
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+}
Deleted: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dataobject;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.Table;
-
-import org.hibernate.annotations.CollectionOfElements;
-import org.hibernate.annotations.Fetch;
-import org.hibernate.annotations.FetchMode;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
-
-/**
- * @author fcarone
- * @version $Id$ A security rule
- */
-@Entity
-@Table(name = "SECURITY_RULE")
-public class SecurityRule implements Serializable
-{
-
- /**
- * Generated serial version UID
- */
- private static final long serialVersionUID = -4820683448073404349L;
-
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- @Column(name = "ID_SECURITY_RULE")
- private Long id;
-
- @Column(name = "ROLE", length = 64, nullable = false)
- private String role;
-
- @Column(name = "ENTITY", length = 512, nullable = false)
- private String entity;
-
- @Column(name = "PROPERTY", length = 512, nullable = false)
- private String property;
-
- @Column(name = "VALUE", nullable = false)
- private String value;
-
- @Enumerated(EnumType.STRING)
- @Column(name = "MODIFIER", nullable = false)
- private ModifierEnum modifier;
-
- @CollectionOfElements(fetch = FetchType.EAGER)
- @JoinTable(name = "SECRULE_PERMISSION", joinColumns = {@JoinColumn(name = "ID_SECURITY_RULE") })
- @Column(name = "PERMISSION", nullable = false)
- @Enumerated(EnumType.STRING)
- @Fetch(FetchMode.SUBSELECT)
- private List<PermissionEnum> permissions;
-
- /**
- * Returns the role.
- * @return the role
- */
- public String getRole()
- {
- return role;
- }
-
- /**
- * Sets the role.
- * @param role the role to set
- */
- public void setRole(String role)
- {
- this.role = role;
- }
-
- /**
- * Returns the entity.
- * @return the entity
- */
- public String getEntity()
- {
- return entity;
- }
-
- /**
- * Sets the entity.
- * @param entity the entity to set
- */
- public void setEntity(String entity)
- {
- this.entity = entity;
- }
-
- /**
- * Returns the property.
- * @return the property
- */
- public String getProperty()
- {
- return property;
- }
-
- /**
- * Sets the property.
- * @param property the property to set
- */
- public void setProperty(String property)
- {
- this.property = property;
- }
-
- /**
- * Returns the value.
- * @return the value
- */
- public String getValue()
- {
- return value;
- }
-
- /**
- * Sets the value.
- * @param value the value to set
- */
- public void setValue(String value)
- {
- this.value = value;
- }
-
- /**
- * Returns the modifier.
- * @return the modifier
- */
- public ModifierEnum getModifier()
- {
- return modifier;
- }
-
- /**
- * Sets the modifier.
- * @param modifier the modifier to set
- */
- public void setModifier(ModifierEnum modifier)
- {
- this.modifier = modifier;
- }
-
- /**
- * Returns the permissions.
- * @return the permissions
- */
- public List<PermissionEnum> getPermissions()
- {
- return permissions;
- }
-
- /**
- * Sets the permissions.
- * @param permissions the permissions to set
- */
- public void setPermissions(List<PermissionEnum> permissions)
- {
- this.permissions = permissions;
- }
-
- /**
- * Returns the id.
- * @return the id
- */
- public Long getId()
- {
- return id;
- }
-
- /**
- * Sets the id.
- * @param id the id to set
- */
- public void setId(Long id)
- {
- this.id = id;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString()
- {
- return new ToStringBuilder(this)
- .append("id", this.id)
- .append("role", this.role)
- .append("entity", this.entity)
- .append("property", this.property)
- .append("value", this.value)
- .append("modifier", this.modifier)
- .append("permissions", this.permissions)
- .toString();
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java (from rev 696, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
+ */
+package it.openutils.hibernate.security.dataobject;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.CollectionOfElements;
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
+import org.hibernate.annotations.Filter;
+import org.hibernate.annotations.FilterDef;
+import org.hibernate.annotations.FilterDefs;
+import org.hibernate.annotations.Filters;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+
+/**
+ * @author fcarone
+ * @version $Id$ A security rule
+ */
+@Entity
+@Table(name = "SECURITY_RULE")
+@FilterDefs({@FilterDef(name = "notDeletedRules", defaultCondition = "DELETED != '1'") })
+@Filters({@Filter(name = "notDeletedRules") })
+public class SecurityRule implements Serializable
+{
+
+ /**
+ * Generated serial version UID
+ */
+ private static final long serialVersionUID = -4820683448073404349L;
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ @Column(name = "ID_SECURITY_RULE")
+ private Long id;
+
+ @Column(name = "ROLE", length = 64, nullable = false)
+ private String role;
+
+ @Column(name = "ENTITY", length = 512, nullable = false)
+ private String entity;
+
+ @Column(name = "PROPERTY", length = 512, nullable = false)
+ private String property;
+
+ @Column(name = "VALUE", nullable = false)
+ private String value;
+
+ @Enumerated(EnumType.STRING)
+ @Column(name = "MODIFIER", nullable = false)
+ private ModifierEnum modifier;
+
+ @CollectionOfElements(fetch = FetchType.EAGER)
+ @JoinTable(name = "SECRULE_PERMISSION", joinColumns = {@JoinColumn(name = "ID_SECURITY_RULE") })
+ @Column(name = "PERMISSION", nullable = false)
+ @Enumerated(EnumType.STRING)
+ @Fetch(FetchMode.SUBSELECT)
+ private List<PermissionEnum> permissions;
+
+ @Enumerated(EnumType.STRING)
+ @Column(name = "STATUS", nullable = false)
+ private StatusEnum status;
+
+ @Column(name = "DELETED", length = 1, nullable = false)
+ private Boolean deleted;
+
+ @CollectionOfElements(fetch = FetchType.EAGER)
+ @org.hibernate.annotations.MapKey(columns = @Column(name = "NAME"))
+ @JoinTable(name = "SECRULE_ENTITY", joinColumns = {@JoinColumn(name = "ID_SECURITY_RULE") })
+ @Column(name = "VALUE", length = 256)
+ @Fetch(FetchMode.SUBSELECT)
+ private Map<String, String> entities;
+
+ /**
+ * Returns the role.
+ * @return the role
+ */
+ public String getRole()
+ {
+ return role;
+ }
+
+ /**
+ * Sets the role.
+ * @param role the role to set
+ */
+ public void setRole(String role)
+ {
+ this.role = role;
+ }
+
+ /**
+ * Returns the entity.
+ * @return the entity
+ */
+ public String getEntity()
+ {
+ return entity;
+ }
+
+ /**
+ * Sets the entity.
+ * @param entity the entity to set
+ */
+ public void setEntity(String entity)
+ {
+ this.entity = entity;
+ }
+
+ /**
+ * Returns the property.
+ * @return the property
+ */
+ public String getProperty()
+ {
+ return property;
+ }
+
+ /**
+ * Sets the property.
+ * @param property the property to set
+ */
+ public void setProperty(String property)
+ {
+ this.property = property;
+ }
+
+ /**
+ * Returns the value.
+ * @return the value
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Sets the value.
+ * @param value the value to set
+ */
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+
+ /**
+ * Returns the modifier.
+ * @return the modifier
+ */
+ public ModifierEnum getModifier()
+ {
+ return modifier;
+ }
+
+ /**
+ * Sets the modifier.
+ * @param modifier the modifier to set
+ */
+ public void setModifier(ModifierEnum modifier)
+ {
+ this.modifier = modifier;
+ }
+
+ /**
+ * Returns the permissions.
+ * @return the permissions
+ */
+ public List<PermissionEnum> getPermissions()
+ {
+ return permissions;
+ }
+
+ /**
+ * Sets the permissions.
+ * @param permissions the permissions to set
+ */
+ public void setPermissions(List<PermissionEnum> permissions)
+ {
+ this.permissions = permissions;
+ }
+
+ /**
+ * Returns the id.
+ * @return the id
+ */
+ public Long getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the id.
+ * @param id the id to set
+ */
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String toString()
+ {
+ return new ToStringBuilder(this)
+ .append("id", this.id)
+ .append("role", this.role)
+ .append("entity", this.entity)
+ .append("property", this.property)
+ .append("value", this.value)
+ .append("modifier", this.modifier)
+ .append("permissions", this.permissions)
+ .toString();
+ }
+
+ /**
+ * Returns the status.
+ * @return the status
+ */
+ public StatusEnum getStatus()
+ {
+ return status;
+ }
+
+ /**
+ * Sets the status.
+ * @param status the status to set
+ */
+ public void setStatus(StatusEnum status)
+ {
+ this.status = status;
+ }
+
+ /**
+ * @return True if the rule is enabled
+ */
+ public boolean isEnabled()
+ {
+ if (status == null)
+ {
+ return false;
+ }
+ return status.equals(StatusEnum.ENABLED);
+ }
+
+ /**
+ * Returns the entities.
+ * @return the entities
+ */
+ public Map<String, String> getEntities()
+ {
+ return entities;
+ }
+
+ /**
+ * Sets the entities.
+ * @param entities the entities to set
+ */
+ public void setEntities(Map<String, String> entities)
+ {
+ this.entities = entities;
+ }
+
+
+ /**
+ * Returns the deleted.
+ * @return the deleted
+ */
+ public Boolean getDeleted()
+ {
+ return deleted;
+ }
+
+
+ /**
+ * Sets the deleted.
+ * @param deleted the deleted to set
+ */
+ public void setDeleted(Boolean deleted)
+ {
+ this.deleted = deleted;
+ }
+
+}
Copied: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java (from rev 688, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -0,0 +1,46 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dataobject;
+
+
+/**
+ * @author fcarone
+ * @version $Id: $
+ */
+public enum StatusEnum {
+
+ /**
+ * Enabled
+ */
+ ENABLED("enabled"),
+
+ /**
+ * Disabled
+ */
+ DISABLED("disabled");
+
+ private String value;
+
+ private StatusEnum(String value)
+ {
+ this.value = value;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+}
Deleted: tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.6/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java 2008-02-26 10:56:55 UTC (rev 705)
@@ -1,258 +0,0 @@
-/*
- * Copyright Openmind http://www.openmindonline.it
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package it.openutils.hibernate.security.filter;
-
-import it.openutils.hibernate.security.dataobject.PermissionEnum;
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Table;
-
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
-import org.hibernate.Filter;
-import org.hibernate.HibernateException;
-import org.hibernate.engine.Fil...
[truncated message content] |
|
From: <fc...@us...> - 2008-02-26 10:56:21
|
Revision: 704
http://openutils.svn.sourceforge.net/openutils/?rev=704&view=rev
Author: fcarone
Date: 2008-02-26 02:56:24 -0800 (Tue, 26 Feb 2008)
Log Message:
-----------
[maven-release-plugin] prepare release openutils-hibernate-security-0.0.6
Modified Paths:
--------------
trunk/openutils-hibernate-security/pom.xml
Modified: trunk/openutils-hibernate-security/pom.xml
===================================================================
--- trunk/openutils-hibernate-security/pom.xml 2008-02-26 10:51:37 UTC (rev 703)
+++ trunk/openutils-hibernate-security/pom.xml 2008-02-26 10:56:24 UTC (rev 704)
@@ -9,7 +9,7 @@
<groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-hibernate-security</artifactId>
<name>openutils hibernate security</name>
- <version>0.0.6-SNAPSHOT</version>
+ <version>0.0.6</version>
<description>Hibernate Security classes</description>
<properties>
<spring.version>2.5.1</spring.version>
@@ -220,4 +220,10 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <scm>
+ <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.6</connection>
+ <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.6</developerConnection>
+ <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-hibernate-security-0.0.6</url>
+ </scm>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-26 10:51:38
|
Revision: 703
http://openutils.svn.sourceforge.net/openutils/?rev=703&view=rev
Author: fcarone
Date: 2008-02-26 02:51:37 -0800 (Tue, 26 Feb 2008)
Log Message:
-----------
More use-cases in documentation
Modified Paths:
--------------
trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
Modified: trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
===================================================================
--- trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-26 10:10:35 UTC (rev 702)
+++ trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-26 10:51:37 UTC (rev 703)
@@ -21,7 +21,7 @@
access/modify/create/delete which object (so who can do what on something). To enforce our example policy we add
2 SecurityRules, using the following notation:
- RoleN - Bean - property - value - Modifier (EQUALS, NOT) - Permission (LOAD, CREATE, DELETE, MODIFY)
+ Role - Bean - Property - Value - Modifier (EQUALS, NOT) - Permission (LOAD, CREATE, DELETE, MODIFY)
So:
@@ -37,4 +37,18 @@
Role2 - DummyDataObject - intValue - 2 - EQUALS - LOAD, MODIFY
- In this case, users with Role2 won't be able to either create or delete DummyDataObjects when intValue is 2.
\ No newline at end of file
+ In this case, users with Role2 won't be able to either create or delete DummyDataObjects when intValue is 2, but can
+load and modify them.
+
+ Let's have some more complex rules scenarios: AND and OR. Users in Role1 can only load DummyDataObjects when intValue
+is 1 and stringValue is 'ABC': now we need two security rules:
+
+ Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD
+ Role1 - DummyDataObject - stringValue - 'ABC' - EQUALS - LOAD
+
+In this way the AND is done. What if we want to create OR rules:
+
+ Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD
+ Role2 - DummyDataObject - stringValue - 'ABC' - EQUALS - LOAD
+
+and assign users both roles 1 and 2.
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-26 10:10:45
|
Revision: 702
http://openutils.svn.sourceforge.net/openutils/?rev=702&view=rev
Author: fcarone
Date: 2008-02-26 02:10:35 -0800 (Tue, 26 Feb 2008)
Log Message:
-----------
More logging and enable/disable added to all logic pieces.
Modified Paths:
--------------
trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java
trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java
trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java
Modified: trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java 2008-02-25 17:45:22 UTC (rev 701)
+++ trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java 2008-02-26 10:10:35 UTC (rev 702)
@@ -49,11 +49,18 @@
private SecurityRuleUtils ruleUtils = new SecurityRuleUtils();
+ private boolean enabled = true;
+
/**
* {@inheritDoc}
*/
public int vote(Authentication authentication, Object object, ConfigAttributeDefinition config)
{
+ if (!enabled)
+ {
+ log.debug("SecurityRuleAccessDecisionVoter disabled, abstaining.");
+ return ACCESS_ABSTAIN;
+ }
List<String> roles = ruleUtils.getRolesFromAuthentication(authentication);
if (object instanceof ReflectiveMethodInvocation)
@@ -69,12 +76,14 @@
}
if (ruleUtils.checkPermissions(rules, config) && ruleUtils.checkRules(rules, argument))
{
+ log.debug("Granting access.");
return ACCESS_GRANTED;
}
+ log.debug("Denying access.");
return ACCESS_DENIED;
}
}
-
+ log.debug("No rules found, abstaining.");
return ACCESS_ABSTAIN;
}
@@ -86,4 +95,14 @@
{
this.securityRuleManager = securityRuleManager;
}
+
+
+ /**
+ * Sets the enabled.
+ * @param enabled the enabled to set
+ */
+ public void setEnabled(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
}
Modified: trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java 2008-02-25 17:45:22 UTC (rev 701)
+++ trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java 2008-02-26 10:10:35 UTC (rev 702)
@@ -26,6 +26,8 @@
import org.acegisecurity.ConfigAttributeDefinition;
import org.acegisecurity.afterinvocation.AfterInvocationProvider;
import org.apache.commons.collections.CollectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
@@ -35,9 +37,17 @@
public class SecurityRuleAfterInvocationHandler extends SecurityRuleBaseHandler implements AfterInvocationProvider
{
+ /**
+ * Logger.
+ */
+ private Logger log = LoggerFactory.getLogger(SecurityRuleAfterInvocationHandler.class);
+
private SecurityRuleManager securityRuleManager;
+
private boolean denyIfNoRulesFound = true;
+ private boolean enabled = true;
+
/**
* {@inheritDoc}
*/
@@ -45,12 +55,17 @@
public Object decide(Authentication authentication, Object object, ConfigAttributeDefinition config,
Object returnedObject) throws AccessDeniedException
{
+ if (!enabled)
+ {
+ log.debug("SecurityRuleAfterInvocationHandler disabled, returning.");
+ return returnedObject;
+ }
if (returnedObject == null)
{
return null;
}
SecurityRulePredicate predicate = new SecurityRulePredicate(authentication, config, securityRuleManager);
- predicate.setDenyIfNoRulesFound(denyIfNoRulesFound );
+ predicate.setDenyIfNoRulesFound(denyIfNoRulesFound);
if (returnedObject instanceof Collection)
{
@@ -78,7 +93,6 @@
this.securityRuleManager = securityRuleManager;
}
-
/**
* Sets the denyIfNoRulesFound.
* @param denyIfNoRulesFound the denyIfNoRulesFound to set
@@ -88,4 +102,13 @@
this.denyIfNoRulesFound = denyIfNoRulesFound;
}
+ /**
+ * Sets the enabled.
+ * @param enabled the enabled to set
+ */
+ public void setEnabled(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
}
Modified: trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java 2008-02-25 17:45:22 UTC (rev 701)
+++ trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java 2008-02-26 10:10:35 UTC (rev 702)
@@ -26,6 +26,8 @@
import org.acegisecurity.ConfigAttributeDefinition;
import org.apache.commons.collections.Predicate;
import org.apache.commons.lang.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
/**
@@ -35,6 +37,11 @@
public class SecurityRulePredicate implements Predicate
{
+ /**
+ * Logger.
+ */
+ private Logger log = LoggerFactory.getLogger(SecurityRulePredicate.class);
+
private Authentication authentication;
private SecurityRuleManager securityRuleManager;
@@ -69,19 +76,18 @@
List<String> roles = ruleUtils.getRolesFromAuthentication(authentication);
List<SecurityRule> rules = findAllRules(object, roles);
- // @todo: this should be configurable
- // denyAll by default
if (rules == null || rules.isEmpty())
{
- if (denyIfNoRulesFound )
+ if (denyIfNoRulesFound)
{
+ log.debug("Returning false since no rules found and denyIfNoRulesFound is true.");
return false;
}
- else
- {
- return true;
- }
+ log.debug("Returning true since no rules found and denyIfNoRulesFound is false.");
+ return true;
+
}
+ log.debug("Evaluating rules.");
return (ruleUtils.checkPermissions(rules, configAttribute) && ruleUtils.checkRules(rules, object));
}
@@ -102,7 +108,6 @@
return result;
}
-
/**
* Sets the denyIfNoRulesFound.
* @param denyIfNoRulesFound the denyIfNoRulesFound to set
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-25 17:45:34
|
Revision: 701
http://openutils.svn.sourceforge.net/openutils/?rev=701&view=rev
Author: fcarone
Date: 2008-02-25 09:45:22 -0800 (Mon, 25 Feb 2008)
Log Message:
-----------
Minor changes to documentation
Modified Paths:
--------------
trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
Modified: trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
===================================================================
--- trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-25 17:38:38 UTC (rev 700)
+++ trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-25 17:45:22 UTC (rev 701)
@@ -8,11 +8,11 @@
This project proposes a Role Based approach to security, trying to be as hidden as possible to application developers.
- A common test case is when you have different users who can access the same group of domain business objects and a
+ A common test case is when you have different users who can access the same set of domain business objects and a
policy to enforce access security is needed. For exaple, given a DummyDataObject with two properties, intValue and
stringValue, you want UserA to access the DummyDataObject when intValue is 1 and UserB when intValue is 2.
- In a typical RBAC environment, the user (or entity who does something) is called subject and a subject is tied to
+ Using the RBAC grammar, the user (or entity who does something) is called subject and a subject is tied to
many roles. Within openutils, 1 user is contained in N groups and a group can have M roles, so you relate users
to roles through groups. For our example let's map UserA to Role1 and UserB to Role2 (through 2 different groups,
GroupA and GroupB, but groups are not important now).
@@ -31,7 +31,7 @@
SecurityRule 2:
Role2 - DummyDataObject - intValue - 2 - EQUALS - LOAD
- With the given scheme, users with roles Role1 and Role2 can access in readonly mode the DummyDataObject instances with
+ With the given scheme, users with roles Role1 and Role2 can access in read-only mode the DummyDataObject instances with
respectively intValue equals to 1 and 2. If you want to make Role2 access the DummyDataObjects in read-write mode, the
SecurityRule 2 becomes:
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-25 17:38:59
|
Revision: 700
http://openutils.svn.sourceforge.net/openutils/?rev=700&view=rev
Author: fcarone
Date: 2008-02-25 09:38:38 -0800 (Mon, 25 Feb 2008)
Log Message:
-----------
More documentation added
Modified Paths:
--------------
trunk/openutils-hibernate-security/src/site/apt/index.apt
Added Paths:
-----------
trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
Modified: trunk/openutils-hibernate-security/src/site/apt/index.apt
===================================================================
--- trunk/openutils-hibernate-security/src/site/apt/index.apt 2008-02-25 14:08:41 UTC (rev 699)
+++ trunk/openutils-hibernate-security/src/site/apt/index.apt 2008-02-25 17:38:38 UTC (rev 700)
@@ -12,7 +12,9 @@
See the test classes for how to setup security and look at {{{apidocs/index.html}javadocs}} for more details.
+ If need more detail but you don't want to dig into the sources, then you can read this {{{rbac-acegi.html}document}}.
+
Released versions
Check it at {{{http://www.mvnrepository.com/artifact/net.sourceforge.openutils/openutils-hibernate-security}http://www.mvnrepository.com/artifact/net.sourceforge.openutils/openutils-hibernate-security}}
Added: trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt
===================================================================
--- trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt (rev 0)
+++ trunk/openutils-hibernate-security/src/site/apt/rbac-acegi.apt 2008-02-25 17:38:38 UTC (rev 700)
@@ -0,0 +1,40 @@
+ --------------------------
+ O p e n u t i l s
+ --------------------------
+ Filippo Carone
+ --------------------------
+
+openutils-hibernate-security - A Role Based Access Control library
+
+ This project proposes a Role Based approach to security, trying to be as hidden as possible to application developers.
+
+ A common test case is when you have different users who can access the same group of domain business objects and a
+policy to enforce access security is needed. For exaple, given a DummyDataObject with two properties, intValue and
+stringValue, you want UserA to access the DummyDataObject when intValue is 1 and UserB when intValue is 2.
+
+ In a typical RBAC environment, the user (or entity who does something) is called subject and a subject is tied to
+many roles. Within openutils, 1 user is contained in N groups and a group can have M roles, so you relate users
+to roles through groups. For our example let's map UserA to Role1 and UserB to Role2 (through 2 different groups,
+GroupA and GroupB, but groups are not important now).
+
+ The core of the openutils-hibernate-security is called SecurityRule. A SecurityRule defines which role can
+access/modify/create/delete which object (so who can do what on something). To enforce our example policy we add
+2 SecurityRules, using the following notation:
+
+ RoleN - Bean - property - value - Modifier (EQUALS, NOT) - Permission (LOAD, CREATE, DELETE, MODIFY)
+
+ So:
+
+ SecurityRule 1:
+ Role1 - DummyDataObject - intValue - 1 - EQUALS - LOAD
+
+ SecurityRule 2:
+ Role2 - DummyDataObject - intValue - 2 - EQUALS - LOAD
+
+ With the given scheme, users with roles Role1 and Role2 can access in readonly mode the DummyDataObject instances with
+respectively intValue equals to 1 and 2. If you want to make Role2 access the DummyDataObjects in read-write mode, the
+SecurityRule 2 becomes:
+
+ Role2 - DummyDataObject - intValue - 2 - EQUALS - LOAD, MODIFY
+
+ In this case, users with Role2 won't be able to either create or delete DummyDataObjects when intValue is 2.
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-25 14:08:41
|
Revision: 699
http://openutils.svn.sourceforge.net/openutils/?rev=699&view=rev
Author: fcarone
Date: 2008-02-25 06:08:41 -0800 (Mon, 25 Feb 2008)
Log Message:
-----------
[maven-release-plugin] prepare for next development iteration
Modified Paths:
--------------
trunk/openutils-hibernate-security/pom.xml
Modified: trunk/openutils-hibernate-security/pom.xml
===================================================================
--- trunk/openutils-hibernate-security/pom.xml 2008-02-25 14:08:00 UTC (rev 698)
+++ trunk/openutils-hibernate-security/pom.xml 2008-02-25 14:08:41 UTC (rev 699)
@@ -9,7 +9,7 @@
<groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-hibernate-security</artifactId>
<name>openutils hibernate security</name>
- <version>0.0.5</version>
+ <version>0.0.6-SNAPSHOT</version>
<description>Hibernate Security classes</description>
<properties>
<spring.version>2.5.1</spring.version>
@@ -220,10 +220,4 @@
<scope>test</scope>
</dependency>
</dependencies>
-
- <scm>
- <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.5</connection>
- <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.5</developerConnection>
- <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-hibernate-security-0.0.5</url>
- </scm>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-25 14:08:27
|
Revision: 698
http://openutils.svn.sourceforge.net/openutils/?rev=698&view=rev
Author: fcarone
Date: 2008-02-25 06:08:00 -0800 (Mon, 25 Feb 2008)
Log Message:
-----------
[maven-release-plugin] copy for tag openutils-hibernate-security-0.0.5
Added Paths:
-----------
tags/openutils-hibernate-security-0.0.5/
tags/openutils-hibernate-security-0.0.5/pom.xml
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleBaseHandler.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/utils/SecurityRuleUtils.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/services/SecurityRuleManager.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/services/impl/SecurityRuleManagerImpl.java
tags/openutils-hibernate-security-0.0.5/src/site/apt/
tags/openutils-hibernate-security-0.0.5/src/test/java/it/openutils/hibernate/security/filter/JavaBeanFilterTest.java
tags/openutils-hibernate-security-0.0.5/src/test/resources/SecurityIntegrationTest-load.xml
tags/openutils-hibernate-security-0.0.5/src/test/resources/spring-security.xml
Removed Paths:
-------------
tags/openutils-hibernate-security-0.0.5/pom.xml
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAccessDecisionVoter.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleAfterInvocationHandler.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRuleBaseHandler.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/SecurityRulePredicate.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/utils/SecurityRuleUtils.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/services/SecurityRuleManager.java
tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/services/impl/SecurityRuleManagerImpl.java
tags/openutils-hibernate-security-0.0.5/src/test/java/it/openutils/hibernate/security/filter/JavaBeanFilterTest.java
tags/openutils-hibernate-security-0.0.5/src/test/resources/SecurityIntegrationTest-load.xml
tags/openutils-hibernate-security-0.0.5/src/test/resources/spring-security.xml
Copied: tags/openutils-hibernate-security-0.0.5 (from rev 673, trunk/openutils-hibernate-security)
Deleted: tags/openutils-hibernate-security-0.0.5/pom.xml
===================================================================
--- trunk/openutils-hibernate-security/pom.xml 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/pom.xml 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,223 +0,0 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <parent>
- <artifactId>openutils</artifactId>
- <groupId>net.sourceforge.openutils</groupId>
- <version>7</version>
- <relativePath>..</relativePath>
- </parent>
- <modelVersion>4.0.0</modelVersion>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-hibernate-security</artifactId>
- <name>openutils hibernate security</name>
- <version>0.0.4-SNAPSHOT</version>
- <description>Hibernate Security classes</description>
- <properties>
- <spring.version>2.5.1</spring.version>
- <aspectj.version>1.5.3</aspectj.version>
- </properties>
- <dependencies>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-core</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-context</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-aop</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.springframework</groupId>
- <artifactId>spring-orm</artifactId>
- <version>${spring.version}</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <!-- already imported cglib-nodep by spring -->
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>aspectj</groupId>
- <artifactId>aspectjrt</artifactId>
- <version>${aspectj.version}</version>
- </dependency>
- <dependency>
- <groupId>aspectj</groupId>
- <artifactId>aspectjweaver</artifactId>
- <version>${aspectj.version}</version>
- </dependency>
- <dependency>
- <groupId>cglib</groupId>
- <artifactId>cglib-nodep</artifactId>
- <version>2.1_3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm</artifactId>
- <version>2.2.3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm-attrs</artifactId>
- <version>2.2.3</version>
- </dependency>
- <dependency>
- <groupId>asm</groupId>
- <artifactId>asm-commons</artifactId>
- <version>2.2.3</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-usermanagement</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-usermanagement-dataobjects</artifactId>
- <version>2.0</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-bshd5</artifactId>
- <version>2.0.1</version>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-testing-junit</artifactId>
- <version>2.0.2</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>net.sourceforge.openutils</groupId>
- <artifactId>openutils-testing</artifactId>
- <version>2.0.3</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>org.slf4j</groupId>
- <artifactId>slf4j-log4j12</artifactId>
- <version>1.4.1</version>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate</artifactId>
- <version>3.2.5.ga</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>org.hibernate</groupId>
- <artifactId>hibernate-annotations</artifactId>
- <version>3.2.1.ga</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <groupId>cglib</groupId>
- <artifactId>cglib</artifactId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-dbcp</groupId>
- <artifactId>commons-dbcp</artifactId>
- <version>1.2.1</version>
- <scope>test</scope>
- <exclusions>
- <exclusion>
- <artifactId>xerces</artifactId>
- <groupId>xerces</groupId>
- </exclusion>
- <exclusion>
- <artifactId>xml-apis</artifactId>
- <groupId>xml-apis</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>commons-lang</groupId>
- <artifactId>commons-lang</artifactId>
- <version>2.2</version>
- </dependency>
- <dependency>
- <groupId>org.acegisecurity</groupId>
- <artifactId>acegi-security</artifactId>
- <version>1.0.6</version>
- <exclusions>
- <exclusion>
- <groupId>commons-logging</groupId>
- <artifactId>commons-logging</artifactId>
- </exclusion>
- <exclusion>
- <artifactId>spring-remoting</artifactId>
- <groupId>org.springframework</groupId>
- </exclusion>
- <exclusion>
- <artifactId>spring-jdbc</artifactId>
- <groupId>org.springframework</groupId>
- </exclusion>
- <exclusion>
- <artifactId>spring-support</artifactId>
- <groupId>org.springframework</groupId>
- </exclusion>
- </exclusions>
- </dependency>
- <dependency>
- <groupId>hsqldb</groupId>
- <artifactId>hsqldb</artifactId>
- <version>1.8.0.7</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>junit</groupId>
- <artifactId>junit</artifactId>
- <version>4.4</version>
- <scope>test</scope>
- </dependency>
- <dependency>
- <groupId>dbunit</groupId>
- <artifactId>dbunit</artifactId>
- <version>2.1</version>
- <scope>test</scope>
- </dependency>
- </dependencies>
-</project>
\ No newline at end of file
Copied: tags/openutils-hibernate-security-0.0.5/pom.xml (from rev 697, trunk/openutils-hibernate-security/pom.xml)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/pom.xml (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/pom.xml 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,229 @@
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+ <parent>
+ <artifactId>openutils</artifactId>
+ <groupId>net.sourceforge.openutils</groupId>
+ <version>7</version>
+ <relativePath>..</relativePath>
+ </parent>
+ <modelVersion>4.0.0</modelVersion>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-hibernate-security</artifactId>
+ <name>openutils hibernate security</name>
+ <version>0.0.5</version>
+ <description>Hibernate Security classes</description>
+ <properties>
+ <spring.version>2.5.1</spring.version>
+ <aspectj.version>1.5.3</aspectj.version>
+ </properties>
+ <dependencies>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-core</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-context</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-aop</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.springframework</groupId>
+ <artifactId>spring-orm</artifactId>
+ <version>${spring.version}</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <!-- already imported cglib-nodep by spring -->
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>aspectj</groupId>
+ <artifactId>aspectjrt</artifactId>
+ <version>${aspectj.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>aspectj</groupId>
+ <artifactId>aspectjweaver</artifactId>
+ <version>${aspectj.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>cglib</groupId>
+ <artifactId>cglib-nodep</artifactId>
+ <version>2.1_3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm-attrs</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>asm</groupId>
+ <artifactId>asm-commons</artifactId>
+ <version>2.2.3</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-usermanagement</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-usermanagement-dataobjects</artifactId>
+ <version>2.0</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-bshd5</artifactId>
+ <version>2.0.1</version>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-testing-junit</artifactId>
+ <version>2.0.2</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>net.sourceforge.openutils</groupId>
+ <artifactId>openutils-testing</artifactId>
+ <version>2.0.3</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>org.slf4j</groupId>
+ <artifactId>slf4j-log4j12</artifactId>
+ <version>1.4.1</version>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate</artifactId>
+ <version>3.2.5.ga</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>org.hibernate</groupId>
+ <artifactId>hibernate-annotations</artifactId>
+ <version>3.2.1.ga</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <groupId>cglib</groupId>
+ <artifactId>cglib</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-dbcp</groupId>
+ <artifactId>commons-dbcp</artifactId>
+ <version>1.2.1</version>
+ <scope>test</scope>
+ <exclusions>
+ <exclusion>
+ <artifactId>xerces</artifactId>
+ <groupId>xerces</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>xml-apis</artifactId>
+ <groupId>xml-apis</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>commons-lang</groupId>
+ <artifactId>commons-lang</artifactId>
+ <version>2.2</version>
+ </dependency>
+ <dependency>
+ <groupId>org.acegisecurity</groupId>
+ <artifactId>acegi-security</artifactId>
+ <version>1.0.6</version>
+ <exclusions>
+ <exclusion>
+ <groupId>commons-logging</groupId>
+ <artifactId>commons-logging</artifactId>
+ </exclusion>
+ <exclusion>
+ <artifactId>spring-remoting</artifactId>
+ <groupId>org.springframework</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>spring-jdbc</artifactId>
+ <groupId>org.springframework</groupId>
+ </exclusion>
+ <exclusion>
+ <artifactId>spring-support</artifactId>
+ <groupId>org.springframework</groupId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
+ <groupId>hsqldb</groupId>
+ <artifactId>hsqldb</artifactId>
+ <version>1.8.0.7</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ <version>4.4</version>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
+ <groupId>dbunit</groupId>
+ <artifactId>dbunit</artifactId>
+ <version>2.1</version>
+ <scope>test</scope>
+ </dependency>
+ </dependencies>
+
+ <scm>
+ <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.5</connection>
+ <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.5</developerConnection>
+ <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-hibernate-security-0.0.5</url>
+ </scm>
+</project>
\ No newline at end of file
Deleted: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,154 +0,0 @@
-/*
- * Copyright Openmind http://www.openmindonline.it
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package it.openutils.hibernate.security.aop;
-
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-import it.openutils.hibernate.security.services.SecurityRuleManager;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.acegisecurity.Authentication;
-import org.acegisecurity.GrantedAuthority;
-import org.acegisecurity.context.SecurityContextHolder;
-import org.apache.commons.lang.StringUtils;
-import org.aspectj.lang.ProceedingJoinPoint;
-import org.aspectj.lang.annotation.Around;
-import org.aspectj.lang.annotation.Aspect;
-import org.hibernate.Filter;
-import org.hibernate.criterion.Criterion;
-import org.hibernate.criterion.Restrictions;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * @author fcarone
- * @version $Id$
- */
-@Aspect
-public class AOPSecurity
-{
-
- /**
- * Logger.
- */
- private Logger log = LoggerFactory.getLogger(AOPSecurity.class);
-
- private SecurityRuleManager securityRuleManager;
-
- private List<String> securedDAOs;
-
- private boolean enabled;
-
- /**
- * @param pjp The proceeding joinpoint
- * @param filter The entity we are going to filter
- * @param additionalCriteria The additional criteria list, cannot be null
- * @return The execution invocation result
- * @throws Throwable Any exception occurring in the invoked method
- */
- @Around("execution(* it.openutils.dao.hibernate.*.*(Object, .., java.util.List<org.hibernate.criterion.Criterion>)) && "
- + //
- " args(filter, .., additionalCriteria)")
- public Object applySecurityRules(ProceedingJoinPoint pjp, Object filter, List<Criterion> additionalCriteria)
- throws Throwable
- {
- if (!enabled)
- {
- log.debug("DAO security disabled, proceeding.");
- return pjp.proceed();
- }
-
- if (!securedDAOs.contains(pjp.getTarget().getClass().getCanonicalName()))
- {
- log.debug("The intercepted DAO {} is not secured, proceeding.", pjp.getTarget().toString());
- return pjp.proceed();
- }
-
- log.debug("applying security rules for {} with criteria {}", filter.toString(), additionalCriteria);
- Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
- if (authentication == null)
- {
- throw new SecurityException("Authentication is not valid");
- }
- GrantedAuthority[] authorities = authentication.getAuthorities();
- List<String> roles = new ArrayList<String>();
- for (int i = 0; i < authorities.length; i++)
- {
- roles.add(authorities[i].getAuthority());
- }
-
- String entity = filter.getClass().getCanonicalName();
- List<SecurityRule> rules = securityRuleManager.getRulesForRoles(entity, roles);
-
- if (rules.isEmpty())
- {
- if (log.isWarnEnabled())
- {
- String grantedRoles = StringUtils.EMPTY;
- for (int i = 0; i < authorities.length; i++)
- {
- grantedRoles += authorities[i].getAuthority() + " ";
- }
- log.warn(
- "No rules found. Access is denied on " + entity + ", for user {} with roles {}",
- SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(),
- grantedRoles);
- }
- throw new SecurityException("Access denied");
- }
-
- Filter hibernateFilter = securityRuleManager.getEntityFilterFromRules(entity, rules);
-
- Criterion sqlCriterion = Restrictions.sqlRestriction(hibernateFilter
- .getFilterDefinition()
- .getDefaultFilterCondition());
-
- log.debug("Adding sql restriction: {}", sqlCriterion.toString());
- additionalCriteria.add(sqlCriterion);
-
- Object result = pjp.proceed();
- return result;
- }
-
- /**
- * Sets the securityRuleManager.
- * @param securityRuleManager the securityRuleManager to set
- */
- public void setSecurityRuleManager(SecurityRuleManager securityRuleManager)
- {
- this.securityRuleManager = securityRuleManager;
- }
-
- /**
- * Sets the securedDAOs.
- * @param securedDAOs the securedDAOs to set
- */
- public void setSecuredDAOs(List<String> securedDAOs)
- {
- this.securedDAOs = securedDAOs;
- }
-
- /**
- * Sets the enabled.
- * @param enabled the enabled to set
- */
- public void setEnabled(boolean enabled)
- {
- this.enabled = enabled;
- }
-}
Copied: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java (from rev 687, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/aop/AOPSecurity.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,175 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.aop;
+
+import it.openutils.hibernate.security.dataobject.SecurityRule;
+import it.openutils.hibernate.security.services.SecurityRuleManager;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.acegisecurity.Authentication;
+import org.acegisecurity.GrantedAuthority;
+import org.acegisecurity.context.SecurityContextHolder;
+import org.apache.commons.lang.StringUtils;
+import org.aspectj.lang.ProceedingJoinPoint;
+import org.aspectj.lang.annotation.Around;
+import org.aspectj.lang.annotation.Aspect;
+import org.hibernate.Filter;
+import org.hibernate.criterion.Criterion;
+import org.hibernate.criterion.Restrictions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+@Aspect
+public class AOPSecurity
+{
+
+ /**
+ * Logger.
+ */
+ private Logger log = LoggerFactory.getLogger(AOPSecurity.class);
+
+ private boolean denyIfNoRulesFound = true;
+
+ private SecurityRuleManager securityRuleManager;
+
+ private List<String> securedDAOs;
+
+ private boolean enabled;
+
+ /**
+ * @param pjp The proceeding joinpoint
+ * @param filter The entity we are going to filter
+ * @param additionalCriteria The additional criteria list, cannot be null
+ * @return The execution invocation result
+ * @throws Throwable Any exception occurring in the invoked method
+ */
+ @Around("execution(* it.openutils.dao.hibernate.*.*(Object, .., java.util.List<org.hibernate.criterion.Criterion>)) && "
+ + //
+ " args(filter, .., additionalCriteria)")
+ public Object applySecurityRules(ProceedingJoinPoint pjp, Object filter, List<Criterion> additionalCriteria)
+ throws Throwable
+ {
+ if (!enabled)
+ {
+ log.debug("DAO security disabled, proceeding.");
+ return pjp.proceed();
+ }
+
+ if (!securedDAOs.contains(pjp.getTarget().getClass().getCanonicalName()))
+ {
+ log.debug("The intercepted DAO {} is not secured, proceeding.", pjp.getTarget().toString());
+ return pjp.proceed();
+ }
+
+ log.debug("applying security rules for {} with criteria {}", filter.toString(), additionalCriteria);
+ Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
+ if (authentication == null)
+ {
+ throw new SecurityException("Authentication is not valid");
+ }
+ GrantedAuthority[] authorities = authentication.getAuthorities();
+ List<String> roles = new ArrayList<String>();
+ for (int i = 0; i < authorities.length; i++)
+ {
+ roles.add(authorities[i].getAuthority());
+ }
+
+ String entity = filter.getClass().getCanonicalName();
+ List<SecurityRule> rules = securityRuleManager.getRulesForRoles(filter, roles);
+
+ if (rules.isEmpty())
+ {
+ if (log.isWarnEnabled())
+ {
+ String grantedRoles = StringUtils.EMPTY;
+ for (int i = 0; i < authorities.length; i++)
+ {
+ grantedRoles += authorities[i].getAuthority() + " ";
+ }
+ log.warn(
+ "No rules found for " + entity + ", user {} with roles {}",
+ SecurityContextHolder.getContext().getAuthentication().getPrincipal().toString(),
+ grantedRoles);
+ }
+ if (denyIfNoRulesFound)
+ {
+ log.debug("denyIfNoRulesFound is true, denying access.");
+ throw new SecurityException("Access denied");
+ }
+ else
+ {
+ log.debug("denyIfNoRulesFound is false, allowing access.");
+ return pjp.proceed();
+ }
+ }
+
+ Filter hibernateFilter = securityRuleManager.getEntityFilterFromRules(entity, rules);
+
+ Criterion sqlCriterion = Restrictions.sqlRestriction(hibernateFilter
+ .getFilterDefinition()
+ .getDefaultFilterCondition());
+
+ log.debug("Adding sql restriction: {}", sqlCriterion.toString());
+ additionalCriteria.add(sqlCriterion);
+
+ Object result = pjp.proceed();
+ return result;
+ }
+
+ /**
+ * Sets the securityRuleManager.
+ * @param securityRuleManager the securityRuleManager to set
+ */
+ public void setSecurityRuleManager(SecurityRuleManager securityRuleManager)
+ {
+ this.securityRuleManager = securityRuleManager;
+ }
+
+ /**
+ * Sets the securedDAOs.
+ * @param securedDAOs the securedDAOs to set
+ */
+ public void setSecuredDAOs(List<String> securedDAOs)
+ {
+ this.securedDAOs = securedDAOs;
+ }
+
+ /**
+ * Sets the enabled.
+ * @param enabled the enabled to set
+ */
+ public void setEnabled(boolean enabled)
+ {
+ this.enabled = enabled;
+ }
+
+
+ /**
+ * Sets the denyIfNoRulesFound.
+ * @param denyIfNoRulesFound the denyIfNoRulesFound to set
+ */
+ public void setDenyIfNoRulesFound(boolean denyIfNoRulesFound)
+ {
+ this.denyIfNoRulesFound = denyIfNoRulesFound;
+ }
+}
Deleted: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,17 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dao;
-
-import it.openutils.dao.hibernate.HibernateDAO;
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public interface SecurityRuleDAO extends HibernateDAO<SecurityRule, Long>
-{
-
-}
Copied: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/SecurityRuleDAO.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,29 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dao;
+
+import it.openutils.dao.hibernate.HibernateDAO;
+import it.openutils.hibernate.security.dataobject.SecurityRule;
+
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public interface SecurityRuleDAO extends HibernateDAO<SecurityRule, Long>
+{
+
+}
Deleted: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,27 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dao.impl;
-
-import it.openutils.dao.hibernate.HibernateDAOImpl;
-import it.openutils.hibernate.security.dao.SecurityRuleDAO;
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public class SecurityRuleDAOImpl extends HibernateDAOImpl<SecurityRule, Long> implements SecurityRuleDAO
-{
-
- /**
- * {@inheritDoc}
- */
- @Override
- protected Class<SecurityRule> getReferenceClass()
- {
- return SecurityRule.class;
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dao/impl/SecurityRuleDAOImpl.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,39 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dao.impl;
+
+import it.openutils.dao.hibernate.HibernateDAOImpl;
+import it.openutils.hibernate.security.dao.SecurityRuleDAO;
+import it.openutils.hibernate.security.dataobject.SecurityRule;
+
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public class SecurityRuleDAOImpl extends HibernateDAOImpl<SecurityRule, Long> implements SecurityRuleDAO
+{
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ protected Class<SecurityRule> getReferenceClass()
+ {
+ return SecurityRule.class;
+ }
+
+}
Deleted: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dataobject;
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public enum ModifierEnum {
-
- /**
- * Equals
- */
- EQUALS("equals"),
-
- /**
- * Not
- */
- NOT("not");
-
- private String value;
-
- /**
- * @param value The literal value of the modifier
- */
- ModifierEnum(String value)
- {
- this.value = value;
- }
-
- public String getValue()
- {
- return value;
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/ModifierEnum.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,49 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dataobject;
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public enum ModifierEnum {
+
+ /**
+ * Equals
+ */
+ EQUALS("equals"),
+
+ /**
+ * Not
+ */
+ NOT("not");
+
+ private String value;
+
+ /**
+ * @param value The literal value of the modifier
+ */
+ ModifierEnum(String value)
+ {
+ this.value = value;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+
+}
Deleted: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dataobject;
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public enum PermissionEnum {
-
- /**
- * Load, Create, Modify, Delete permissions
- */
- LOAD("LOAD"), CREATE("CREATE"), MODIFY("MODIFY"), DELETE("DELETE");
-
- private String value;
-
- /**
- * @param value The literal value for the needed enumeration object
- */
- PermissionEnum(String value)
- {
- this.value = value;
- }
-
-
- /**
- * Returns the value.
- * @return the value
- */
- public String getValue()
- {
- return value;
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java (from rev 693, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/PermissionEnum.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,49 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dataobject;
+
+/**
+ * @author fcarone
+ * @version $Id$
+ */
+public enum PermissionEnum {
+
+ /**
+ * Load, Create, Modify, Delete permissions
+ */
+ LOAD("LOAD"), CREATE("CREATE"), MODIFY("MODIFY"), DELETE("DELETE");
+
+ private String value;
+
+ /**
+ * @param value The literal value for the needed enumeration object
+ */
+ PermissionEnum(String value)
+ {
+ this.value = value;
+ }
+
+
+ /**
+ * Returns the value.
+ * @return the value
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+}
Deleted: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
- */
-package it.openutils.hibernate.security.dataobject;
-
-import java.io.Serializable;
-import java.util.List;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.EnumType;
-import javax.persistence.Enumerated;
-import javax.persistence.FetchType;
-import javax.persistence.GeneratedValue;
-import javax.persistence.GenerationType;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.JoinTable;
-import javax.persistence.Table;
-
-import org.hibernate.annotations.CollectionOfElements;
-import org.hibernate.annotations.Fetch;
-import org.hibernate.annotations.FetchMode;
-import org.apache.commons.lang.builder.ToStringBuilder;
-
-
-/**
- * @author fcarone
- * @version $Id$ A security rule
- */
-@Entity
-@Table(name = "SECURITY_RULE")
-public class SecurityRule implements Serializable
-{
-
- /**
- * Generated serial version UID
- */
- private static final long serialVersionUID = -4820683448073404349L;
-
- @Id
- @GeneratedValue(strategy = GenerationType.AUTO)
- @Column(name = "ID_SECURITY_RULE")
- private Long id;
-
- @Column(name = "ROLE", length = 64, nullable = false)
- private String role;
-
- @Column(name = "ENTITY", length = 512, nullable = false)
- private String entity;
-
- @Column(name = "PROPERTY", length = 512, nullable = false)
- private String property;
-
- @Column(name = "VALUE", nullable = false)
- private String value;
-
- @Enumerated(EnumType.STRING)
- @Column(name = "MODIFIER", nullable = false)
- private ModifierEnum modifier;
-
- @CollectionOfElements(fetch = FetchType.EAGER)
- @JoinTable(name = "SECRULE_PERMISSION", joinColumns = {@JoinColumn(name = "ID_SECURITY_RULE") })
- @Column(name = "PERMISSION", nullable = false)
- @Enumerated(EnumType.STRING)
- @Fetch(FetchMode.SUBSELECT)
- private List<PermissionEnum> permissions;
-
- /**
- * Returns the role.
- * @return the role
- */
- public String getRole()
- {
- return role;
- }
-
- /**
- * Sets the role.
- * @param role the role to set
- */
- public void setRole(String role)
- {
- this.role = role;
- }
-
- /**
- * Returns the entity.
- * @return the entity
- */
- public String getEntity()
- {
- return entity;
- }
-
- /**
- * Sets the entity.
- * @param entity the entity to set
- */
- public void setEntity(String entity)
- {
- this.entity = entity;
- }
-
- /**
- * Returns the property.
- * @return the property
- */
- public String getProperty()
- {
- return property;
- }
-
- /**
- * Sets the property.
- * @param property the property to set
- */
- public void setProperty(String property)
- {
- this.property = property;
- }
-
- /**
- * Returns the value.
- * @return the value
- */
- public String getValue()
- {
- return value;
- }
-
- /**
- * Sets the value.
- * @param value the value to set
- */
- public void setValue(String value)
- {
- this.value = value;
- }
-
- /**
- * Returns the modifier.
- * @return the modifier
- */
- public ModifierEnum getModifier()
- {
- return modifier;
- }
-
- /**
- * Sets the modifier.
- * @param modifier the modifier to set
- */
- public void setModifier(ModifierEnum modifier)
- {
- this.modifier = modifier;
- }
-
- /**
- * Returns the permissions.
- * @return the permissions
- */
- public List<PermissionEnum> getPermissions()
- {
- return permissions;
- }
-
- /**
- * Sets the permissions.
- * @param permissions the permissions to set
- */
- public void setPermissions(List<PermissionEnum> permissions)
- {
- this.permissions = permissions;
- }
-
- /**
- * Returns the id.
- * @return the id
- */
- public Long getId()
- {
- return id;
- }
-
- /**
- * Sets the id.
- * @param id the id to set
- */
- public void setId(Long id)
- {
- this.id = id;
- }
-
- /**
- * {@inheritDoc}
- */
- @Override
- public String toString()
- {
- return new ToStringBuilder(this)
- .append("id", this.id)
- .append("role", this.role)
- .append("entity", this.entity)
- .append("property", this.property)
- .append("value", this.value)
- .append("modifier", this.modifier)
- .append("permissions", this.permissions)
- .toString();
- }
-
-}
Copied: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java (from rev 696, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,301 @@
+/*
+ * Copyright (c) Openmind. All rights reserved. http://www.openmindonline.it
+ */
+package it.openutils.hibernate.security.dataobject;
+
+import java.io.Serializable;
+import java.util.List;
+import java.util.Map;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinTable;
+import javax.persistence.Table;
+
+import org.hibernate.annotations.CollectionOfElements;
+import org.hibernate.annotations.Fetch;
+import org.hibernate.annotations.FetchMode;
+import org.hibernate.annotations.Filter;
+import org.hibernate.annotations.FilterDef;
+import org.hibernate.annotations.FilterDefs;
+import org.hibernate.annotations.Filters;
+import org.apache.commons.lang.builder.ToStringBuilder;
+
+
+/**
+ * @author fcarone
+ * @version $Id$ A security rule
+ */
+@Entity
+@Table(name = "SECURITY_RULE")
+@FilterDefs({@FilterDef(name = "notDeletedRules", defaultCondition = "DELETED != '1'") })
+@Filters({@Filter(name = "notDeletedRules") })
+public class SecurityRule implements Serializable
+{
+
+ /**
+ * Generated serial version UID
+ */
+ private static final long serialVersionUID = -4820683448073404349L;
+
+ @Id
+ @GeneratedValue(strategy = GenerationType.AUTO)
+ @Column(name = "ID_SECURITY_RULE")
+ private Long id;
+
+ @Column(name = "ROLE", length = 64, nullable = false)
+ private String role;
+
+ @Column(name = "ENTITY", length = 512, nullable = false)
+ private String entity;
+
+ @Column(name = "PROPERTY", length = 512, nullable = false)
+ private String property;
+
+ @Column(name = "VALUE", nullable = false)
+ private String value;
+
+ @Enumerated(EnumType.STRING)
+ @Column(name = "MODIFIER", nullable = false)
+ private ModifierEnum modifier;
+
+ @CollectionOfElements(fetch = FetchType.EAGER)
+ @JoinTable(name = "SECRULE_PERMISSION", joinColumns = {@JoinColumn(name = "ID_SECURITY_RULE") })
+ @Column(name = "PERMISSION", nullable = false)
+ @Enumerated(EnumType.STRING)
+ @Fetch(FetchMode.SUBSELECT)
+ private List<PermissionEnum> permissions;
+
+ @Enumerated(EnumType.STRING)
+ @Column(name = "STATUS", nullable = false)
+ private StatusEnum status;
+
+ @Column(name = "DELETED", length = 1, nullable = false)
+ private Boolean deleted;
+
+ @CollectionOfElements(fetch = FetchType.EAGER)
+ @org.hibernate.annotations.MapKey(columns = @Column(name = "NAME"))
+ @JoinTable(name = "SECRULE_ENTITY", joinColumns = {@JoinColumn(name = "ID_SECURITY_RULE") })
+ @Column(name = "VALUE", length = 256)
+ @Fetch(FetchMode.SUBSELECT)
+ private Map<String, String> entities;
+
+ /**
+ * Returns the role.
+ * @return the role
+ */
+ public String getRole()
+ {
+ return role;
+ }
+
+ /**
+ * Sets the role.
+ * @param role the role to set
+ */
+ public void setRole(String role)
+ {
+ this.role = role;
+ }
+
+ /**
+ * Returns the entity.
+ * @return the entity
+ */
+ public String getEntity()
+ {
+ return entity;
+ }
+
+ /**
+ * Sets the entity.
+ * @param entity the entity to set
+ */
+ public void setEntity(String entity)
+ {
+ this.entity = entity;
+ }
+
+ /**
+ * Returns the property.
+ * @return the property
+ */
+ public String getProperty()
+ {
+ return property;
+ }
+
+ /**
+ * Sets the property.
+ * @param property the property to set
+ */
+ public void setProperty(String property)
+ {
+ this.property = property;
+ }
+
+ /**
+ * Returns the value.
+ * @return the value
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * Sets the value.
+ * @param value the value to set
+ */
+ public void setValue(String value)
+ {
+ this.value = value;
+ }
+
+ /**
+ * Returns the modifier.
+ * @return the modifier
+ */
+ public ModifierEnum getModifier()
+ {
+ return modifier;
+ }
+
+ /**
+ * Sets the modifier.
+ * @param modifier the modifier to set
+ */
+ public void setModifier(ModifierEnum modifier)
+ {
+ this.modifier = modifier;
+ }
+
+ /**
+ * Returns the permissions.
+ * @return the permissions
+ */
+ public List<PermissionEnum> getPermissions()
+ {
+ return permissions;
+ }
+
+ /**
+ * Sets the permissions.
+ * @param permissions the permissions to set
+ */
+ public void setPermissions(List<PermissionEnum> permissions)
+ {
+ this.permissions = permissions;
+ }
+
+ /**
+ * Returns the id.
+ * @return the id
+ */
+ public Long getId()
+ {
+ return id;
+ }
+
+ /**
+ * Sets the id.
+ * @param id the id to set
+ */
+ public void setId(Long id)
+ {
+ this.id = id;
+ }
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public String toString()
+ {
+ return new ToStringBuilder(this)
+ .append("id", this.id)
+ .append("role", this.role)
+ .append("entity", this.entity)
+ .append("property", this.property)
+ .append("value", this.value)
+ .append("modifier", this.modifier)
+ .append("permissions", this.permissions)
+ .toString();
+ }
+
+ /**
+ * Returns the status.
+ * @return the status
+ */
+ public StatusEnum getStatus()
+ {
+ return status;
+ }
+
+ /**
+ * Sets the status.
+ * @param status the status to set
+ */
+ public void setStatus(StatusEnum status)
+ {
+ this.status = status;
+ }
+
+ /**
+ * @return True if the rule is enabled
+ */
+ public boolean isEnabled()
+ {
+ if (status == null)
+ {
+ return false;
+ }
+ return status.equals(StatusEnum.ENABLED);
+ }
+
+ /**
+ * Returns the entities.
+ * @return the entities
+ */
+ public Map<String, String> getEntities()
+ {
+ return entities;
+ }
+
+ /**
+ * Sets the entities.
+ * @param entities the entities to set
+ */
+ public void setEntities(Map<String, String> entities)
+ {
+ this.entities = entities;
+ }
+
+
+ /**
+ * Returns the deleted.
+ * @return the deleted
+ */
+ public Boolean getDeleted()
+ {
+ return deleted;
+ }
+
+
+ /**
+ * Sets the deleted.
+ * @param deleted the deleted to set
+ */
+ public void setDeleted(Boolean deleted)
+ {
+ this.deleted = deleted;
+ }
+
+}
Copied: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java (from rev 688, trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java)
===================================================================
--- tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java (rev 0)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/dataobject/StatusEnum.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -0,0 +1,46 @@
+/*
+ * Copyright Openmind http://www.openmindonline.it
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package it.openutils.hibernate.security.dataobject;
+
+
+/**
+ * @author fcarone
+ * @version $Id: $
+ */
+public enum StatusEnum {
+
+ /**
+ * Enabled
+ */
+ ENABLED("enabled"),
+
+ /**
+ * Disabled
+ */
+ DISABLED("disabled");
+
+ private String value;
+
+ private StatusEnum(String value)
+ {
+ this.value = value;
+ }
+
+ public String getValue()
+ {
+ return value;
+ }
+}
Deleted: tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java 2008-02-21 09:17:34 UTC (rev 673)
+++ tags/openutils-hibernate-security-0.0.5/src/main/java/it/openutils/hibernate/security/filter/JavaBeanFilter.java 2008-02-25 14:08:00 UTC (rev 698)
@@ -1,258 +0,0 @@
-/*
- * Copyright Openmind http://www.openmindonline.it
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package it.openutils.hibernate.security.filter;
-
-import it.openutils.hibernate.security.dataobject.PermissionEnum;
-import it.openutils.hibernate.security.dataobject.SecurityRule;
-
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
-
-import javax.persistence.Column;
-import javax.persistence.Entity;
-import javax.persistence.Table;
-
-import org.apache.commons.lang.StringEscapeUtils;
-import org.apache.commons.lang.StringUtils;
-import org.hibernate.Filter;
-import org.hibernate.HibernateException;
-import org.hibernate.engine.FilterDefinition;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-
-/**
- * @author fcarone
- * @version $Id$
- */
-public class JavaBeanFilter implements Filter
-{
-
- private FilterDefinitio...
[truncated message content] |
|
From: <fc...@us...> - 2008-02-25 14:07:02
|
Revision: 697
http://openutils.svn.sourceforge.net/openutils/?rev=697&view=rev
Author: fcarone
Date: 2008-02-25 06:07:04 -0800 (Mon, 25 Feb 2008)
Log Message:
-----------
[maven-release-plugin] prepare release openutils-hibernate-security-0.0.5
Modified Paths:
--------------
trunk/openutils-hibernate-security/pom.xml
Modified: trunk/openutils-hibernate-security/pom.xml
===================================================================
--- trunk/openutils-hibernate-security/pom.xml 2008-02-25 13:39:29 UTC (rev 696)
+++ trunk/openutils-hibernate-security/pom.xml 2008-02-25 14:07:04 UTC (rev 697)
@@ -9,7 +9,7 @@
<groupId>net.sourceforge.openutils</groupId>
<artifactId>openutils-hibernate-security</artifactId>
<name>openutils hibernate security</name>
- <version>0.0.5-SNAPSHOT</version>
+ <version>0.0.5</version>
<description>Hibernate Security classes</description>
<properties>
<spring.version>2.5.1</spring.version>
@@ -220,4 +220,10 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <scm>
+ <connection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.5</connection>
+ <developerConnection>scm:svn:https://openutils.svn.sourceforge.net/svnroot/openutils/tags/openutils-hibernate-security-0.0.5</developerConnection>
+ <url>http://openutils.svn.sourceforge.net/viewcvs.cgi/openutils/tags/openutils-hibernate-security-0.0.5</url>
+ </scm>
</project>
\ No newline at end of file
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <fc...@us...> - 2008-02-25 13:46:04
|
Revision: 696
http://openutils.svn.sourceforge.net/openutils/?rev=696&view=rev
Author: fcarone
Date: 2008-02-25 05:39:29 -0800 (Mon, 25 Feb 2008)
Log Message:
-----------
use name and value for entities
Modified Paths:
--------------
trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
Modified: trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java
===================================================================
--- trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-25 13:24:54 UTC (rev 695)
+++ trunk/openutils-hibernate-security/src/main/java/it/openutils/hibernate/security/dataobject/SecurityRule.java 2008-02-25 13:39:29 UTC (rev 696)
@@ -83,7 +83,7 @@
@CollectionOfElements(fetch = FetchType.EAGER)
@org.hibernate.annotations.MapKey(columns = @Column(name = "NAME"))
@JoinTable(name = "SECRULE_ENTITY", joinColumns = {@JoinColumn(name = "ID_SECURITY_RULE") })
- @Column(name = "VALUE", length = 60)
+ @Column(name = "VALUE", length = 256)
@Fetch(FetchMode.SUBSELECT)
private Map<String, String> entities;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|