You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by mr...@apache.org on 2018/10/23 03:17:42 UTC
[04/16] usergrid git commit: bypass ES for push notification devices
specified by UUID
bypass ES for push notification devices specified by UUID
Project: http://git-wip-us.apache.org/repos/asf/usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/usergrid/commit/e8dc09bb
Tree: http://git-wip-us.apache.org/repos/asf/usergrid/tree/e8dc09bb
Diff: http://git-wip-us.apache.org/repos/asf/usergrid/diff/e8dc09bb
Branch: refs/heads/master
Commit: e8dc09bb3961ae91f5631b14344c7bcd62539263
Parents: 455bdde
Author: Mike Dunker <md...@google.com>
Authored: Sat Feb 24 15:59:39 2018 -0800
Committer: Keyur Karnik <ke...@gmail.com>
Committed: Tue Aug 28 16:41:43 2018 -0700
----------------------------------------------------------------------
.../apache/usergrid/persistence/PathQuery.java | 34 ++++++++++++++++++--
1 file changed, 32 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/usergrid/blob/e8dc09bb/stack/core/src/main/java/org/apache/usergrid/persistence/PathQuery.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/persistence/PathQuery.java b/stack/core/src/main/java/org/apache/usergrid/persistence/PathQuery.java
index c5833af..51b20c6 100644
--- a/stack/core/src/main/java/org/apache/usergrid/persistence/PathQuery.java
+++ b/stack/core/src/main/java/org/apache/usergrid/persistence/PathQuery.java
@@ -23,10 +23,14 @@ import java.util.UUID;
import org.apache.usergrid.persistence.Query.Level;
import org.apache.usergrid.utils.InflectionUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class PathQuery<E> {
+ private static final Logger logger = LoggerFactory.getLogger( PathQuery.class );
+
private PathQuery source;
private Query query;
private UUID uuid;
@@ -122,10 +126,30 @@ public class PathQuery<E> {
EntityRef ref = new SimpleEntityRef(type,uuid);
- // if it's a single name identifier, just directly fetch that
- if ( !query.getQl().isPresent() && query.getSingleNameOrEmailIdentifier() != null){
+ if ( !query.getQl().isPresent() && query.getSingleUuidIdentifier() != null) {
+
+ // fetch entity by UUID directly
+ UUID entityUUID = query.getSingleUuidIdentifier();
+
+ if (logger.isTraceEnabled()) {
+ logger.trace("getHeadResults(): identified path uuid: appid={}, collection={}, entityUUID={}",
+ uuid.toString(), query.getCollection(), entityUUID.toString());
+ }
+
+ String entityType = InflectionUtils.singularize(query.getCollection());
+
+ return em.getEntities(Collections.singletonList(entityUUID), entityType);
+ } else if ( !query.getQl().isPresent() && query.getSingleNameOrEmailIdentifier() != null){
+
+ // if it's a single name identifier, just directly fetch that
String name = query.getSingleNameOrEmailIdentifier();
+
+ if (logger.isTraceEnabled()) {
+ logger.trace("getHeadResults(): identified path name/email: appid={}, collection={}, name={}",
+ uuid.toString(), query.getCollection(), name);
+ }
+
String entityType = InflectionUtils.singularize(query.getCollection());
// don't use unique index repair on read only logic
@@ -140,6 +164,12 @@ public class PathQuery<E> {
return em.getEntities(Collections.singletonList(entityId), entityType);
}
+ if (logger.isTraceEnabled()) {
+ logger.trace("getHeadResults(): sending query to ES: appid={}, collection={}, query=[{}]",
+ uuid.toString(), query.getCollection(),
+ query.getQl().isPresent() ? query.getQl().get() : "NONE");
+ }
+
return ( query.getCollection() != null ) ?
em.searchCollection( ref, query.getCollection(), query ) :
em.searchTargetEntities(ref, query);