From 3675f235691211d5b66474a570ce96295a871430 Mon Sep 17 00:00:00 2001
From: Nicholas Blair <nicholas.blair@wisc.edu>
Date: Mon, 22 Aug 2016 12:13:01 -0500
Subject: [PATCH] feat: namespace all Spring Profiles with 'edu.wisc.uwss'
 prefix

Thus begins the deprecation path for the profiles 'local-users' and 'preauth'.
---
 .../UWSpringSecurityConfiguration.java        | 24 +++++++++++++++++++
 ...alAuthenticationSecurityConfiguration.java |  2 +-
 .../LocalUsersWebSecurityConfiguration.java   |  2 +-
 ...uthenticationDevelopmentConfiguration.java |  2 +-
 ...reAuthenticationSecurityConfiguration.java |  2 +-
 ...uthenticationWebSecurityConfiguration.java |  2 +-
 .../local/LocalUsersUdsPersonServiceImpl.java |  2 +-
 ...tailsAuthenticationUserDetailsService.java |  2 +-
 uw-spring-security-sample-war/pom.xml         | 10 ++++----
 ...ionOnlyPreAuthenticationConfiguration.java |  2 +-
 10 files changed, 37 insertions(+), 13 deletions(-)

diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/UWSpringSecurityConfiguration.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/UWSpringSecurityConfiguration.java
index 39b1142..ffd35ec 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/UWSpringSecurityConfiguration.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/UWSpringSecurityConfiguration.java
@@ -3,10 +3,14 @@
  */
 package edu.wisc.uwss.configuration;
 
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.ComponentScan;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Import;
+import org.springframework.core.env.Environment;
 
 /**
  * Root {@link Configuration} class that consuming applications should reference in their ApplicationInitizalizers.
@@ -23,4 +27,24 @@ import org.springframework.context.annotation.Import;
 @Import(UWSpringSecurityWebConfigurerAdapter.class)
 public class UWSpringSecurityConfiguration {
 
+  private static final Logger logger = LoggerFactory.getLogger(UWSpringSecurityConfiguration.class);
+
+  /**
+   * 'local-users' and 'preauth' Profiles were replaced by 'edu.wisc.uwss.local-users' and
+   * 'edu.wisc.uwss.preauth', respectively.
+   *
+   * Part of the deprecation path for those legacy profiles is to warn deployers to use their
+   * replacements instead.
+   *
+   * @param environment
+   */
+  @Autowired
+  void warnOnDeprecatedProfiles(Environment environment) {
+    if(environment.acceptsProfiles("local-users")) {
+      logger.warn("'local-users' profile is deprecated, please use 'edu.wisc.uwss.local-users' instead");
+    }
+    if(environment.acceptsProfiles("preauth")) {
+      logger.warn("'preauth' profile is deprecated, please use 'edu.wisc.uwss.preauth' instead");
+    }
+  }
 }
diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalAuthenticationSecurityConfiguration.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalAuthenticationSecurityConfiguration.java
index 77b017a..0880a29 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalAuthenticationSecurityConfiguration.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalAuthenticationSecurityConfiguration.java
@@ -28,7 +28,7 @@ import edu.wisc.uwss.local.LocalUserDetailsManagerImpl;
  * @author Nicholas Blair
  */
 @Configuration
-@Profile("local-users")
+@Profile({"local-users", "edu.wisc.uwss.local-users"})
 @EnableGlobalMethodSecurity(prePostEnabled = true)
 public class LocalAuthenticationSecurityConfiguration extends GlobalMethodSecurityConfiguration implements ResourceLoaderAware {
 
diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalUsersWebSecurityConfiguration.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalUsersWebSecurityConfiguration.java
index cb93405..8f2e593 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalUsersWebSecurityConfiguration.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/local/LocalUsersWebSecurityConfiguration.java
@@ -25,7 +25,7 @@ import edu.wisc.uwss.configuration.combined.CombinedAuthentication;
  */
 @Configuration
 @EnableWebSecurity
-@Profile("local-users")
+@Profile({"local-users", "edu.wisc.uwss.local-users"})
 @Order(CombinedAuthentication.LOCAL_USERS_WEB_SECURITY_CONFIGURATION_ORDER)
 public class LocalUsersWebSecurityConfiguration  {
 
diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java
index 3a42cdc..48fb3aa 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationDevelopmentConfiguration.java
@@ -31,7 +31,7 @@ import edu.wisc.uwss.configuration.development.SimulatePreAuthenticationHttpSecu
  * @author Collin Cudd
  */
 @Configuration
-@Profile("preauth-dev")
+@Profile({ "preauth-dev", "edu.wisc.uwss.preauth-dev" })
 public class PreAuthenticationDevelopmentConfiguration {
 
   private static final Logger logger = LoggerFactory.getLogger(PreAuthenticationDevelopmentConfiguration.class);
diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationSecurityConfiguration.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationSecurityConfiguration.java
index e83ac2b..af2bc49 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationSecurityConfiguration.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationSecurityConfiguration.java
@@ -29,7 +29,7 @@ import edu.wisc.uwss.preauth.UWUserDetailsAuthenticationUserDetailsService;
  * @author Nicholas Blair
  */
 @Configuration
-@Profile("preauth")
+@Profile({ "preauth", "edu.wisc.uwss.preauth" })
 @EnableGlobalMethodSecurity(prePostEnabled=true)
 public class PreAuthenticationSecurityConfiguration extends GlobalMethodSecurityConfiguration {
 
diff --git a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationWebSecurityConfiguration.java b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationWebSecurityConfiguration.java
index 1bc2ea3..3a6848b 100644
--- a/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationWebSecurityConfiguration.java
+++ b/uw-spring-security-config/src/main/java/edu/wisc/uwss/configuration/preauth/PreAuthenticationWebSecurityConfiguration.java
@@ -35,7 +35,7 @@ import edu.wisc.uwss.preauth.UWUserDetailsAuthenticationFilter;
  * @author Nicholas Blair
  */
 @Configuration
-@Profile("preauth")
+@Profile({ "preauth", "edu.wisc.uwss.preauth" })
 @Order(CombinedAuthentication.PREAUTH_WEB_SECURITY_CONFIGURATION_ORDER)
 public class PreAuthenticationWebSecurityConfiguration  {
   
diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java
index 5731b0f..a499be1 100644
--- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java
+++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/local/LocalUsersUdsPersonServiceImpl.java
@@ -30,7 +30,7 @@ import edu.wisc.uwss.UWUserDetails;
  *
  * @author Nicholas Blair
  */
-@Profile("local-users")
+@Profile({ "local-users", "edu.wisc.uwss.local-users" })
 public class LocalUsersUdsPersonServiceImpl implements UdsPersonService {
 
   private final Logger logger = LoggerFactory.getLogger(getClass());
diff --git a/uw-spring-security-core/src/main/java/edu/wisc/uwss/preauth/UWUserDetailsAuthenticationUserDetailsService.java b/uw-spring-security-core/src/main/java/edu/wisc/uwss/preauth/UWUserDetailsAuthenticationUserDetailsService.java
index 32f1bd0..ee3cf18 100644
--- a/uw-spring-security-core/src/main/java/edu/wisc/uwss/preauth/UWUserDetailsAuthenticationUserDetailsService.java
+++ b/uw-spring-security-core/src/main/java/edu/wisc/uwss/preauth/UWUserDetailsAuthenticationUserDetailsService.java
@@ -17,7 +17,7 @@ import edu.wisc.uwss.UWUserDetails;
  * 
  * @author Nicholas Blair
  */
-@Profile("preauth")
+@Profile({ "preauth", "edu.wisc.uwss.preauth" })
 public class UWUserDetailsAuthenticationUserDetailsService implements
     AuthenticationUserDetailsService<PreAuthenticatedAuthenticationToken> {
 
diff --git a/uw-spring-security-sample-war/pom.xml b/uw-spring-security-sample-war/pom.xml
index 2ff041e..7684e95 100644
--- a/uw-spring-security-sample-war/pom.xml
+++ b/uw-spring-security-sample-war/pom.xml
@@ -11,7 +11,7 @@
 	<packaging>war</packaging>
 
 	<properties>
-		<activeProfiles>local-users</activeProfiles>
+		<activeProfiles>edu.wisc.uwss.local-users</activeProfiles>
 	</properties>
 	<dependencies>
 		<dependency>
@@ -100,25 +100,25 @@
 		<profile>
 			<id>preauth</id>
 			<properties>
-				<activeProfiles>preauth</activeProfiles>
+				<activeProfiles>edu.wisc.uwss.preauth</activeProfiles>
 			</properties>
 		</profile>
 		<profile>
 			<id>combined</id>
 			<properties>
-				<activeProfiles>local-users,preauth,edu.wisc.uwss.simulated-shibboleth</activeProfiles>
+				<activeProfiles>edu.wisc.uwss.local-users,edu.wisc.uwss.preauth,edu.wisc.uwss.simulated-shibboleth</activeProfiles>
 			</properties>
 		</profile>
 		<profile>
 			<id>combined-simulate-netid</id>
 			<properties>
-				<activeProfiles>local-users,preauth,preauth-simulate-netid</activeProfiles>
+				<activeProfiles>edu.wisc.uwss.local-users,edu.wisc.uwss.preauth,edu.wisc.uwss.preauth-simulate-netid</activeProfiles>
 			</properties>
 		</profile>
 		<profile>
 			<id>combined-simulate-federation</id>
 			<properties>
-				<activeProfiles>local-users,preauth,preauth-simulate-netid,edu.wisc.uwss.preauth.federation</activeProfiles>
+				<activeProfiles>edu.wisc.uwss.local-users,edu.wisc.uwss.preauth,edu.wisc.uwss.preauth-simulate-netid,edu.wisc.uwss.preauth.federation</activeProfiles>
 			</properties>
 		</profile>
 	</profiles>
diff --git a/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java b/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java
index 4460a65..07db4b8 100644
--- a/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java
+++ b/uw-spring-security-sample-war/src/main/java/edu/wisc/uwss/sample/configuration/DemonstrationOnlyPreAuthenticationConfiguration.java
@@ -43,7 +43,7 @@ import edu.wisc.uwss.configuration.development.SimulatePreAuthenticationHttpSecu
  * @author Nicholas Blair
  */
 @Configuration
-@Profile("preauth-simulate-netid")
+@Profile("edu.wisc.uwss.preauth-simulate-netid")
 public class DemonstrationOnlyPreAuthenticationConfiguration {
 
   @Inject
-- 
GitLab