usergrid-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From g...@apache.org
Subject usergrid git commit: Added ability to find and output the uuid's of orgs that aren't correctly registered and preventing users from logging in. Removed the repair as that is done elsewhere.
Date Wed, 09 Dec 2015 19:33:30 GMT
Repository: usergrid
Updated Branches:
  refs/heads/unique_index_logging 818da46b2 -> a212ff0df


Added ability to find and output the uuid's of orgs that aren't correctly registered and preventing
users from logging in.
Removed the repair as that is done elsewhere.


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

Branch: refs/heads/unique_index_logging
Commit: a212ff0df7755644d17abfc98d8a1f16ae8f5ac0
Parents: 818da46
Author: George Reyes <grey@apache.org>
Authored: Wed Dec 9 11:33:27 2015 -0800
Committer: George Reyes <grey@apache.org>
Committed: Wed Dec 9 11:33:27 2015 -0800

----------------------------------------------------------------------
 .../usergrid/tools/ManagementUserAudit.java     | 82 ++++++--------------
 1 file changed, 25 insertions(+), 57 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/usergrid/blob/a212ff0d/stack/tools/src/main/java/org/apache/usergrid/tools/ManagementUserAudit.java
----------------------------------------------------------------------
diff --git a/stack/tools/src/main/java/org/apache/usergrid/tools/ManagementUserAudit.java
b/stack/tools/src/main/java/org/apache/usergrid/tools/ManagementUserAudit.java
index f85962c..710fca1 100644
--- a/stack/tools/src/main/java/org/apache/usergrid/tools/ManagementUserAudit.java
+++ b/stack/tools/src/main/java/org/apache/usergrid/tools/ManagementUserAudit.java
@@ -20,6 +20,7 @@ package org.apache.usergrid.tools;
 import java.nio.ByteBuffer;
 import java.nio.charset.Charset;
 import java.util.List;
+import java.util.Map;
 import java.util.UUID;
 
 import org.slf4j.Logger;
@@ -31,7 +32,14 @@ import org.apache.commons.cli.OptionBuilder;
 import org.apache.commons.cli.Options;
 import org.apache.thrift.TBaseHelper;
 
+import org.apache.usergrid.management.OrganizationInfo;
 import org.apache.usergrid.management.UserInfo;
+import org.apache.usergrid.persistence.EntityManager;
+import org.apache.usergrid.persistence.EntityRef;
+import org.apache.usergrid.persistence.Results;
+import org.apache.usergrid.persistence.SimpleEntityRef;
+import org.apache.usergrid.persistence.entities.User;
+import org.apache.usergrid.persistence.exceptions.EntityNotFoundException;
 import org.apache.usergrid.utils.UUIDUtils;
 
 import me.prettyprint.cassandra.service.RangeSlicesIterator;
@@ -195,7 +203,7 @@ public class ManagementUserAudit extends ToolBase {
                 }
             }
         }
-        logger.debug( "Completed logging successfully" );
+        logger.info( "Completed logging successfully" );
     }
 
 
@@ -238,6 +246,8 @@ public class ManagementUserAudit extends ToolBase {
     private void entityStateLogger( final String uniqueValue, final List<HColumn<ByteBuffer,
ByteBuffer>> cols ) throws Exception {
 
         UserInfo userInfo = null;
+        EntityManager em = emf.getEntityManager( MANAGEMENT_APPLICATION_ID );
+
         try {
             userInfo = managementService.getAdminUserByEmail( uniqueValue );
         }catch(Exception e){
@@ -254,61 +264,6 @@ public class ManagementUserAudit extends ToolBase {
                 }
                 if(cols.size()==1){
                     logger.error( "Management user with uuid: {} and email: {} is broken.",ue.fromByteBuffer(
cols.get( 0 ).getName()), uniqueValue );
-//                    EntityManager em = emf.getEntityManager( CassandraService.MANAGEMENT_APPLICATION_ID
);
-//                    EntityRef entity = em.getUserByIdentifier( Identifier.fromEmail(uniqueValue)
);
-//                    if(entity == null){
-//                        entity = em.getUserByIdentifier(Identifier.fromName(uniqueValue));
-//                    }
-//                    if(entity == null){
-//                        logger.error("Entity id parameter {} with {} value does not exist",
"email", uniqueValue);
-//                        return;
-//                        //throw new IllegalArgumentException("Entity not found.");
-//                    }
-//
-//                    Map<String, Object> properties = new HashMap<String, Object>();
-//                    properties.put("email", uniqueValue);
-//                    properties.put("username", uniqueValue);
-//                    properties.put("name", uniqueValue);
-//                    properties.put("uuid", entity.getUuid());
-//                    properties.put("confirmed", true);
-//                    properties.put("activated", true);
-//
-//
-//
-//                    // Re-create the user entity with the existing UUID found in the index
-//                    em.create(entity.getUuid(), User.ENTITY_TYPE, properties );
-//                    logger.debug( "Repair Finished.Verifying Fix." );
-//                    userInfo = managementService.getAdminUserByEmail( uniqueValue );
-//                    if(userInfo==null){
-//                        logger.error("Repair failed for uuid: {} and email {}", ue.fromByteBuffer(
cols.get( 0 ).getName()),uniqueValue );
-//                    }
-//                    if(!userInfo.getUuid().equals(cols.get( 0 ).getName())){
-//                        Object[] loggerObjects = new Object[3];
-//                        loggerObjects[0] = uniqueValue;
-//                        loggerObjects[1] = ue.fromByteBuffer( cols.get( 0 ).getName());
-//                        loggerObjects[2] = userInfo.getUuid();
-//                        logger.error("Repair associated a new uuid for email {}. It should
have been uuid: {} but is instead uuid: {}", loggerObjects );
-//                    }
-//
-//                    if(!userInfo.getUsername().equals( uniqueValue )){
-//                        Object[] loggerObjects = new Object[3];
-//                        loggerObjects[0] = uniqueValue;
-//                        loggerObjects[1] = uniqueValue;
-//                        loggerObjects[2] = uniqueValue;
-//                        logger.error("Repair associated a new username for email {}. It
should have been username: {} but is instead username: {}", loggerObjects );
-//                    }
-//
-//                    if(!userInfo.getEmail().equals( uniqueValue )){
-//                        Object[] loggerObjects = new Object[3];
-//                        loggerObjects[0] = uniqueValue;
-//                        loggerObjects[1] = uniqueValue;
-//                        loggerObjects[2] = uniqueValue;
-//                        logger.error("Repair associated a new email for email {}. It should
have been email: {} but is instead email: {}", loggerObjects );
-//                    }
-//
-//                    logger.debug("Repair succeeded for uuid: {} and email {}", ue.fromByteBuffer(
cols.get( 0 ).getName()),uniqueValue );
-
-
                 }
                 else{
                     logger.error( "Management user with email: {} is broken and has no uuid's
associated with it",uniqueValue );
@@ -316,7 +271,20 @@ public class ManagementUserAudit extends ToolBase {
             }
         }
         else {
-            logger.info( "The following email works: {}",uniqueValue );
+            Results orgResults =
+                    em.getCollection( new SimpleEntityRef( User.ENTITY_TYPE, userInfo.getUuid()
), "groups", null, 10000, Results.Level.REFS,
+                            false );
+
+            for ( EntityRef orgRef : orgResults.getRefs() ) {
+                try {
+                    em.getDictionaryAsMap( orgRef, "orgProperties" );
+                    logger.info( "The following email works: {}",uniqueValue );
+                }
+                catch(EntityNotFoundException enfe){
+                    logger.error("Management user with email: {} is present but cannot login
due to not finding the following organization: {}",uniqueValue,orgRef.getUuid());
+                    break;
+                }
+            }
         }
 
     }


Mime
View raw message