[java-opensaml COMMIT] in /trunk/opensaml-util/src: main/java/org/opensaml/util/constraint/ main/java/org/opensaml/ut...

noreply at shibboleth.net noreply at shibboleth.net
Tue Jun 11 13:48:54 EDT 2013


Author: scantor
Date: Tue Jun 11 13:48:54 2013
New Revision: 3368

URL: http://svn.shibboleth.net/view/java-opensaml?rev=3368&view=rev
Log:
Streamline storage API, add annotation support.

Added:
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/annotation/
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/annotation/AnnotationSupport.java   (with props)
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/annotation/Context.java   (with props)
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/annotation/Expiration.java   (with props)
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/annotation/Key.java   (with props)
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/annotation/Value.java   (with props)
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/annotation/package-info.java   (with props)
Modified:
    trunk/opensaml-util/src/main/java/org/opensaml/util/constraint/
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/AbstractStorageService.java
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/StorageService.java
    trunk/opensaml-util/src/main/java/org/opensaml/util/storage/impl/MemoryStorageService.java
    trunk/opensaml-util/src/main/java/org/opensaml/util/xml/
    trunk/opensaml-util/src/test/java/org/opensaml/util/storage/StorageServiceTest.java

Modified: trunk/opensaml-util/src/main/java/org/opensaml/util/storage/AbstractStorageService.java
URL: http://svn.shibboleth.net/view/java-opensaml/trunk/opensaml-util/src/main/java/org/opensaml/util/storage/AbstractStorageService.java?rev=3368&r1=3367&r2=3368&view=diff
==============================================================================
--- trunk/opensaml-util/src/main/java/org/opensaml/util/storage/AbstractStorageService.java (original)
+++ trunk/opensaml-util/src/main/java/org/opensaml/util/storage/AbstractStorageService.java Tue Jun 11 13:48:54 2013
@@ -24,6 +24,8 @@
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
 
+import org.opensaml.util.storage.annotation.AnnotationSupport;
+
 import net.shibboleth.utilities.java.support.annotation.constraint.NotEmpty;
 import net.shibboleth.utilities.java.support.component.AbstractDestructableIdentifiableInitializableComponent;
 import net.shibboleth.utilities.java.support.component.ComponentInitializationException;
@@ -153,26 +155,31 @@
 
     /** {@inheritDoc} */
     public boolean create(@Nonnull @NotEmpty final String context, @Nonnull @NotEmpty final String key,
-            @Nonnull final Object value, @Nonnull final StorageSerializer serializer) throws IOException {
-        return create(context, key, serializer.serialize(value));
-    }
-
-    /** {@inheritDoc} */
-    public boolean create(@Nonnull @NotEmpty final String context, @Nonnull @NotEmpty final String key,
-            @Nonnull final Object value, @Nonnull final StorageSerializer serializer, final long expiration)
+            @Nonnull final Object value, @Nonnull final StorageSerializer serializer, @Nullable final Long expiration)
                     throws IOException {
         return create(context, key, serializer.serialize(value), expiration);
     }
     
     /** {@inheritDoc} */
+    public boolean create(@Nonnull final Object value) throws IOException {
+        return create(AnnotationSupport.getContext(value), AnnotationSupport.getKey(value),
+                AnnotationSupport.getValue(value), AnnotationSupport.getExpiration(value));
+    }
+    
+    /** {@inheritDoc} */
+    @Nullable public Object read(@Nonnull final Object value) throws IOException {
+        StorageRecord record = read(AnnotationSupport.getContext(value), AnnotationSupport.getKey(value));
+        if (record != null) {
+            AnnotationSupport.setValue(value, record.getValue());
+            AnnotationSupport.setExpiration(value, record.getExpiration());
+            return value;
+        }
+        return null;
+    }
+    
+    /** {@inheritDoc} */
     @Nullable public Integer update(@Nonnull @NotEmpty final String context, @Nonnull @NotEmpty final String key,
-            @Nonnull final Object value, @Nonnull final StorageSerializer serializer) throws IOException {
-        return update(context, key, serializer.serialize(value));
-    }
-
-    /** {@inheritDoc} */
-    @Nullable public Integer update(@Nonnull @NotEmpty final String context, @Nonnull @NotEmpty final String key,
-            @Nonnull final Object value, @Nonnull final StorageSerializer serializer, final long expiration)
+            @Nonnull final Object value, @Nonnull final StorageSerializer serializer, @Nullable final Long expiration)
                     throws IOException {
         return update(context, key, serializer.serialize(value), expiration);
     }
@@ -180,16 +187,34 @@
     /** {@inheritDoc} */
     @Nullable public Integer updateWithVersion(final int version, @Nonnull @NotEmpty final String context,
             @Nonnull @NotEmpty final String key, @Nonnull final Object value,

[... 888 lines stripped ...]


More information about the commits mailing list