From 8dda1b31678b83c22fbb6f54a813fe584b9b09c8 Mon Sep 17 00:00:00 2001
From: Mike McKay <mfmckay@wustl.edu>
Date: Thu, 15 Sep 2016 10:07:14 -0500
Subject: [PATCH] XNAT-4520 Converted old 0/1 boolean properties to t/f when
 bringing them in to make the requireLogin property work correctly after 1.6
 to 1.7 upgrade.

---
 .../java/org/nrg/xnat/services/XnatAppInfo.java | 17 ++++++++++++++---
 1 file changed, 14 insertions(+), 3 deletions(-)

diff --git a/src/main/java/org/nrg/xnat/services/XnatAppInfo.java b/src/main/java/org/nrg/xnat/services/XnatAppInfo.java
index 4d3b80bb..c08e6454 100644
--- a/src/main/java/org/nrg/xnat/services/XnatAppInfo.java
+++ b/src/main/java/org/nrg/xnat/services/XnatAppInfo.java
@@ -118,9 +118,9 @@ public class XnatAppInfo {
                                 _foundPreferences.put("adminEmail", rs.getString("site_admin_email"));
                                 _foundPreferences.put("siteUrl", rs.getString("site_url"));
                                 _foundPreferences.put("smtp_host", rs.getString("smtp_host"));
-                                _foundPreferences.put("requireLogin", rs.getString("require_login"));
-                                _foundPreferences.put("userRegistration", rs.getString("enable_new_registrations"));
-                                _foundPreferences.put("enableCsrfToken", rs.getString("enable_csrf_token"));
+                                _foundPreferences.put("requireLogin", translateIntToBoolean(rs.getString("require_login")));
+                                _foundPreferences.put("userRegistration", translateIntToBoolean(rs.getString("enable_new_registrations")));
+                                _foundPreferences.put("enableCsrfToken", translateIntToBoolean(rs.getString("enable_csrf_token")));
                                 _foundPreferences.put("archivePath", rs.getString("archivepath"));
                                 _foundPreferences.put("prearchivePath", rs.getString("prearchivepath"));
                                 _foundPreferences.put("cachePath", rs.getString("cachepath"));
@@ -138,6 +138,17 @@ public class XnatAppInfo {
         }
     }
 
+    private String translateIntToBoolean(String oldProperty){
+        String translation = oldProperty;
+        if(oldProperty.equals("0")){
+            translation="false";
+        }
+        else if(oldProperty.equals("1")){
+            translation="true";
+        }
+        return translation;
+    }
+
     public Map<String, String> getFoundPreferences() {
         if (_foundPreferences.size() == 0) {
             return null;
-- 
GitLab