[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