You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sf...@apache.org on 2015/10/20 17:19:11 UTC

[2/2] usergrid git commit: Added logging changes for people who don't know how to use log4j. Added catch for duplicate usernames.

Added logging changes for people who don't know how to use log4j.
Added catch for duplicate usernames.


Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/afe0c51d
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/afe0c51d
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/afe0c51d

Branch: refs/heads/1.x
Commit: afe0c51d67ca1d3f262890ec44363200128e7361
Parents: 6e2ff96
Author: George Reyes <gr...@apache.org>
Authored: Mon Oct 19 16:52:52 2015 -0700
Committer: George Reyes <gr...@apache.org>
Committed: Mon Oct 19 16:52:52 2015 -0700

----------------------------------------------------------------------
 .../apache/usergrid/tools/AdminPointerFix.java   | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/afe0c51d/stack/tools/src/main/java/org/apache/usergrid/tools/AdminPointerFix.java
----------------------------------------------------------------------
diff --git a/stack/tools/src/main/java/org/apache/usergrid/tools/AdminPointerFix.java b/stack/tools/src/main/java/org/apache/usergrid/tools/AdminPointerFix.java
index 72ae4d7..6243571 100644
--- a/stack/tools/src/main/java/org/apache/usergrid/tools/AdminPointerFix.java
+++ b/stack/tools/src/main/java/org/apache/usergrid/tools/AdminPointerFix.java
@@ -38,6 +38,7 @@ import org.apache.usergrid.persistence.Results;
 import org.apache.usergrid.persistence.cassandra.CassandraService;
 import org.apache.usergrid.persistence.entities.Application;
 import org.apache.usergrid.persistence.entities.User;
+import org.apache.usergrid.persistence.exceptions.DuplicateUniquePropertyExistsException;
 
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimap;
@@ -78,6 +79,7 @@ public class AdminPointerFix extends ExportingToolBase {
         startSpring();
 
         logger.info( "Starting crawl of all admins" );
+        System.out.println( "Starting crawl of all admins" );
 
         EntityManager em = emf.getEntityManager( CassandraService.MANAGEMENT_APPLICATION_ID );
         Application app = em.getApplication();
@@ -115,6 +117,8 @@ public class AdminPointerFix extends ExportingToolBase {
 
             if ( ids.size() > 1 ) {
                 logger.info( "Found multiple users with the username {}", username );
+                System.out.println("Found multiple users with the username"+ username+". Run DupAdmiRepair.");
+
             }
         }
 
@@ -123,6 +127,8 @@ public class AdminPointerFix extends ExportingToolBase {
 
             if ( ids.size() > 1 ) {
                 logger.info( "Found multiple users with the email {}", email );
+                System.out.println("Found multiple users with the username"+ email+". Run DupAdmiRepair.");
+
             }
 
 
@@ -136,13 +142,24 @@ public class AdminPointerFix extends ExportingToolBase {
                 UUID toLoad = tempIds.get( 0 );
 
                 logger.warn( "Could not load target user by email {}, loading by UUID {} instead", email, toLoad );
+                System.out.println("Could not load the target user by email: "+email+". Loading by the following uuid instead: "+toLoad.toString());
                 targetUser = managementService.getAdminUserByUuid( toLoad );
                 User targetUserEntity = em.get( targetUser.getUuid(), User.class );
-                em.update( targetUserEntity );
+                try {
+                    em.update( targetUserEntity );
+                }catch(DuplicateUniquePropertyExistsException dup){
+                    System.out.println("Found duplicate unique property: "+dup.getPropertyName()+ ". Duplicate property is: "+dup.getPropertyValue());
+                    if (dup.getPropertyName().equals( "username" )){
+                       targetUserEntity.setUsername( targetUserEntity.getEmail() );
+                    }
+                    else
+                        throw dup;
+                }
 
             }
         }
 
         logger.info( "Repair complete" );
+        System.out.println("Repair Complete");
     }
 }