You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@labs.apache.org by si...@apache.org on 2009/09/16 01:46:47 UTC
svn commit: r815566 - in /labs/magma/trunk:
database-openjpa/src/main/java/org/apache/magma/database/openjpa/
database-openjpa/src/test/ database-openjpa/src/test/java/
database-openjpa/src/test/java/org/
database-openjpa/src/test/java/org/apache/ data...
Author: simoneg
Date: Tue Sep 15 23:46:46 2009
New Revision: 815566
URL: http://svn.apache.org/viewvc?rev=815566&view=rev
Log:
LABS-452 : MagPersistent as a neutral alternative to OpenJPA Persistent while waiting for JPA 2
Added:
labs/magma/trunk/database-openjpa/src/main/java/org/apache/magma/database/openjpa/UseOpenJPAPersistentAnnotation.aj
labs/magma/trunk/database-openjpa/src/test/
labs/magma/trunk/database-openjpa/src/test/java/
labs/magma/trunk/database-openjpa/src/test/java/org/
labs/magma/trunk/database-openjpa/src/test/java/org/apache/
labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/
labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/
labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/
labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/BeanWithStream.java
labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/TestAnnotationPresent.java
labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/MagPersistent.java
Added: labs/magma/trunk/database-openjpa/src/main/java/org/apache/magma/database/openjpa/UseOpenJPAPersistentAnnotation.aj
URL: http://svn.apache.org/viewvc/labs/magma/trunk/database-openjpa/src/main/java/org/apache/magma/database/openjpa/UseOpenJPAPersistentAnnotation.aj?rev=815566&view=auto
==============================================================================
--- labs/magma/trunk/database-openjpa/src/main/java/org/apache/magma/database/openjpa/UseOpenJPAPersistentAnnotation.aj (added)
+++ labs/magma/trunk/database-openjpa/src/main/java/org/apache/magma/database/openjpa/UseOpenJPAPersistentAnnotation.aj Tue Sep 15 23:46:46 2009
@@ -0,0 +1,12 @@
+package org.apache.magma.database.openjpa;
+
+import org.apache.magma.database.MagPersistent;
+import org.apache.openjpa.persistence.Persistent;
+import javax.persistence.Entity;
+
+public aspect UseOpenJPAPersistentAnnotation {
+
+ declare @method : @MagPersistent * (@Entity *).get*(..) : @Persistent;
+ declare @field : @MagPersistent * (@Entity *).* : @Persistent;
+
+}
Added: labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/BeanWithStream.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/BeanWithStream.java?rev=815566&view=auto
==============================================================================
--- labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/BeanWithStream.java (added)
+++ labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/BeanWithStream.java Tue Sep 15 23:46:46 2009
@@ -0,0 +1,25 @@
+package org.apache.magma.database.openjpa;
+
+import java.io.InputStream;
+
+import javax.persistence.Entity;
+
+import org.apache.magma.beans.MagmaBean;
+import org.apache.magma.database.MagPersistent;
+
+@Entity
+@MagmaBean
+public class BeanWithStream {
+
+ private InputStream mystream;
+
+ @MagPersistent
+ public InputStream getMystream() {
+ return mystream;
+ }
+
+ public void setMystream(InputStream mystream) {
+ this.mystream = mystream;
+ }
+
+}
Added: labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/TestAnnotationPresent.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/TestAnnotationPresent.java?rev=815566&view=auto
==============================================================================
--- labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/TestAnnotationPresent.java (added)
+++ labs/magma/trunk/database-openjpa/src/test/java/org/apache/magma/database/openjpa/TestAnnotationPresent.java Tue Sep 15 23:46:46 2009
@@ -0,0 +1,21 @@
+package org.apache.magma.database.openjpa;
+
+import static org.junit.Assert.*;
+
+import java.lang.reflect.Method;
+
+import org.apache.magma.database.MagPersistent;
+import org.apache.openjpa.persistence.Persistent;
+import org.junit.Test;
+
+
+public class TestAnnotationPresent {
+
+ @Test
+ public void persistentAnnotation() throws Exception {
+ Method method = BeanWithStream.class.getMethod("getMystream");
+ assertTrue("No MagPersistent annotation", method.isAnnotationPresent(MagPersistent.class));
+ assertTrue("No OpenJPA Persistent annotation", method.isAnnotationPresent(Persistent.class));
+ }
+
+}
Added: labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/MagPersistent.java
URL: http://svn.apache.org/viewvc/labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/MagPersistent.java?rev=815566&view=auto
==============================================================================
--- labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/MagPersistent.java (added)
+++ labs/magma/trunk/foundation-database/src/main/java/org/apache/magma/database/MagPersistent.java Tue Sep 15 23:46:46 2009
@@ -0,0 +1,18 @@
+package org.apache.magma.database;
+
+import java.io.InputStream;
+import java.lang.annotation.ElementType;
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.lang.annotation.Target;
+
+/**
+ * Use this annotation on {@link InputStream} properties that must be saved on database.
+ *
+ * @author Simone Gianni <si...@apache.org>
+ */
+@Retention(RetentionPolicy.RUNTIME)
+@Target({ElementType.FIELD, ElementType.METHOD})
+public @interface MagPersistent {
+
+}
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@labs.apache.org
For additional commands, e-mail: commits-help@labs.apache.org