From f85f15fee9ecee64e9f366d2bcabd913d38e505a Mon Sep 17 00:00:00 2001 From: John Blum Date: Tue, 18 Jul 2017 16:34:41 -0700 Subject: [PATCH] DATAGEODE-19 - Meta-annotate all uses of GemFire/Geode-based property configuration in the Annotation config model. --- .../gemfire/config/annotation/EnableAuth.java | 1 + .../annotation/EnableGemFireProperties.java | 1 + .../config/annotation/EnableHttpService.java | 1 + .../config/annotation/EnableLocator.java | 1 + .../config/annotation/EnableLogging.java | 1 + .../config/annotation/EnableManager.java | 1 + .../config/annotation/EnableMcast.java | 1 + .../annotation/EnableMemcachedServer.java | 1 + .../config/annotation/EnableOffHeap.java | 1 + .../config/annotation/EnableRedisServer.java | 1 + .../config/annotation/EnableSecurity.java | 1 + .../gemfire/config/annotation/EnableSsl.java | 1 + .../config/annotation/EnableStatistics.java | 1 + .../annotation/UsesGemFireProperties.java | 45 +++++++++++++++++++ 14 files changed, 58 insertions(+) create mode 100644 src/main/java/org/springframework/data/gemfire/config/annotation/UsesGemFireProperties.java diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableAuth.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableAuth.java index e3007673..7643e5d9 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableAuth.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableAuth.java @@ -50,6 +50,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(AuthConfiguration.class) +@UsesGemFireProperties @SuppressWarnings({ "deprecation", "unused" }) public @interface EnableAuth { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableGemFireProperties.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableGemFireProperties.java index 0a273212..2abefeae 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableGemFireProperties.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableGemFireProperties.java @@ -41,6 +41,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(GemFirePropertiesConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableGemFireProperties { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableHttpService.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableHttpService.java index e13f3294..d7ae4b5b 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableHttpService.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableHttpService.java @@ -52,6 +52,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(HttpServiceConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableHttpService { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLocator.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLocator.java index 5d9ec277..5f19b344 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLocator.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLocator.java @@ -48,6 +48,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(LocatorConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableLocator { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLogging.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLogging.java index 99037124..d2e61d55 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLogging.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableLogging.java @@ -42,6 +42,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(LoggingConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableLogging { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableManager.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableManager.java index eb098e81..c6a06d5f 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableManager.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableManager.java @@ -50,6 +50,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(ManagerConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableManager { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMcast.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMcast.java index 9670db58..2785a069 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMcast.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMcast.java @@ -42,6 +42,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(McastConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableMcast { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMemcachedServer.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMemcachedServer.java index 4c70232b..567b3642 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMemcachedServer.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableMemcachedServer.java @@ -50,6 +50,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(MemcachedServerConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableMemcachedServer { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableOffHeap.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableOffHeap.java index e524a193..8487354b 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableOffHeap.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableOffHeap.java @@ -44,6 +44,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(OffHeapConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableOffHeap { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableRedisServer.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableRedisServer.java index 3b4ac041..6ef3fdd4 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableRedisServer.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableRedisServer.java @@ -50,6 +50,7 @@ import org.springframework.context.annotation.Import; @Documented @Inherited @Import(RedisServerConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableRedisServer { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSecurity.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSecurity.java index a2b739dd..c9b54ac5 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSecurity.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSecurity.java @@ -48,6 +48,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import({ ApacheShiroSecurityConfiguration.class, GeodeIntegratedSecurityConfiguration.class }) +@UsesGemFireProperties @SuppressWarnings({ "unused" }) public @interface EnableSecurity { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSsl.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSsl.java index a53cdb51..1d625682 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSsl.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableSsl.java @@ -42,6 +42,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(SslConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableSsl { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableStatistics.java b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableStatistics.java index 7cc77468..94988c4a 100644 --- a/src/main/java/org/springframework/data/gemfire/config/annotation/EnableStatistics.java +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/EnableStatistics.java @@ -44,6 +44,7 @@ import org.springframework.context.annotation.Import; @Inherited @Documented @Import(StatisticsConfiguration.class) +@UsesGemFireProperties @SuppressWarnings("unused") public @interface EnableStatistics { diff --git a/src/main/java/org/springframework/data/gemfire/config/annotation/UsesGemFireProperties.java b/src/main/java/org/springframework/data/gemfire/config/annotation/UsesGemFireProperties.java new file mode 100644 index 00000000..1b306d17 --- /dev/null +++ b/src/main/java/org/springframework/data/gemfire/config/annotation/UsesGemFireProperties.java @@ -0,0 +1,45 @@ +/* + * Copyright 2017 the original author or authors. + * + * 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 org.springframework.data.gemfire.config.annotation; + +import java.lang.annotation.Annotation; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Inherited; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * {@link UsesGemFireProperties} is a meta-annotation used to mark other SDG {@link Annotation Annotations} + * that uses GemFire properties to configure the Spring-based GemFire cache instance. + * + * @author John Blum + * @see java.lang.annotation.Annotation + * @see java.lang.annotation.Documented + * @see java.lang.annotation.Inherited + * @see java.lang.annotation.Retention + * @see java.lang.annotation.Target + * @since 2.0.0 + */ +@Target(ElementType.ANNOTATION_TYPE) +@Retention(RetentionPolicy.RUNTIME) +@Inherited +@Documented +public @interface UsesGemFireProperties { + +}