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/06/11 01:33:55 UTC
[1/5] incubator-usergrid git commit: Fixes bugs in migration with
edge existence checks
Repository: incubator-usergrid
Updated Branches:
refs/heads/USERGRID-739 0a4939ba3 -> ee0edaedc
Fixes bugs in migration with edge existence checks
Fixes bug in test assertion for incorrect count
Fixes bug with indexing on adding to collection
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/c81d21c6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/c81d21c6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/c81d21c6
Branch: refs/heads/USERGRID-739
Commit: c81d21c6bc89f25537155e9a0c33ab825b150600
Parents: daedb92
Author: Todd Nine <tn...@apigee.com>
Authored: Wed Jun 10 16:24:09 2015 -0600
Committer: Todd Nine <tn...@apigee.com>
Committed: Wed Jun 10 16:24:09 2015 -0600
----------------------------------------------------------------------
.../corepersistence/CpRelationManager.java | 28 ++++---------------
.../migration/AppInfoMigrationPlugin.java | 14 +++++-----
.../migration/AppInfoMigrationPluginTest.java | 29 +++++++++++++++++---
3 files changed, 38 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/c81d21c6/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
index 9e2c0bf..2445699 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
@@ -83,6 +83,7 @@ import rx.functions.Func1;
import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createCollectionEdge;
import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createCollectionSearchEdge;
+import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createConnectionEdge;
import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createConnectionSearchByEdge;
import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createSearchEdgeFromSource;
import static org.apache.usergrid.corepersistence.util.CpNamingUtils.generateScopeFromSource;
@@ -688,33 +689,16 @@ public class CpRelationManager implements RelationManager {
} );
}
- Id entityId = new SimpleId( connectedEntityRef.getUuid(), connectedEntityRef.getType() );
- org.apache.usergrid.persistence.model.entity.Entity targetEntity = ( ( CpEntityManager ) em ).load( entityId );
-
- String edgeType = CpNamingUtils.getEdgeTypeFromConnectionType( connectionType );
+ final Id entityId = new SimpleId( connectedEntityRef.getUuid(), connectedEntityRef.getType() );
+ final org.apache.usergrid.persistence.model.entity.Entity targetEntity = ( ( CpEntityManager ) em ).load( entityId );
// create graph edge connection from head entity to member entity
- Edge edge = new SimpleEdge( cpHeadEntity.getId(), edgeType, targetEntity.getId(), System.currentTimeMillis() );
+ final Edge edge = createConnectionEdge( cpHeadEntity.getId(), connectionType, targetEntity.getId() );
- GraphManager gm = managerCache.getGraphManager( applicationScope );
+ final GraphManager gm = managerCache.getGraphManager( applicationScope );
gm.writeEdge( edge ).toBlocking().last();
- EntityIndex ei = managerCache.getEntityIndex( applicationScope );
- EntityIndexBatch batch = ei.createBatch();
-
- // Index the new connection in app|source|type context
- IndexEdge edgeIndex = generateScopeFromSource( edge );
-
- batch.index( edgeIndex, targetEntity );
-
- batch.execute();
-
- // Index the new connection in app|scope|all-types context
- //TODO REMOVE INDEX CODE
- // IndexScope allTypesIndexScope = new IndexScopeImpl( cpHeadEntity.getId(), CpNamingUtils.ALL_TYPES,
- // entityType );
- // batch.index( allTypesIndexScope, targetEntity );
-
+ indexService.queueNewEdge( applicationScope, targetEntity, edge );
return connection;
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/c81d21c6/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
index 97b87b3..8f18ba3 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPlugin.java
@@ -36,6 +36,7 @@ import org.apache.usergrid.persistence.graph.Edge;
import org.apache.usergrid.persistence.graph.GraphManager;
import org.apache.usergrid.persistence.graph.GraphManagerFactory;
import org.apache.usergrid.persistence.graph.SearchByEdgeType;
+import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdge;
import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdgeType;
import org.apache.usergrid.persistence.model.entity.*;
import org.apache.usergrid.utils.UUIDUtils;
@@ -211,7 +212,7 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
final ApplicationScope managementAppScope = getApplicationScope(CpNamingUtils.MANAGEMENT_APPLICATION_ID);
final EntityCollectionManager managementCollectionManager = entityCollectionManagerFactory.createCollectionManager(managementAppScope);
- Observable<Edge> edgesObservable = getApplicationInfoEdges();
+ Observable<Edge> edgesObservable = getApplicationInfoEdges(appId);
//get the graph for all app infos
Observable<org.apache.usergrid.persistence.model.entity.Entity> entityObs =
edgesObservable.flatMap(edge -> {
@@ -275,18 +276,17 @@ public class AppInfoMigrationPlugin implements MigrationPlugin {
return entityObs;
}
- Observable<Edge> edgesObservable;
- public Observable<Edge> getApplicationInfoEdges() {
+ public Observable<Edge> getApplicationInfoEdges(final UUID applicationId) {
final ApplicationScope managementAppScope = getApplicationScope(CpNamingUtils.MANAGEMENT_APPLICATION_ID);
final GraphManager gm = graphManagerFactory.createEdgeManager(managementAppScope);
String edgeType = CpNamingUtils.getEdgeTypeFromCollectionName(CpNamingUtils.APPLICATION_INFOS);
- final SimpleSearchByEdgeType simpleSearchByEdgeType = new SimpleSearchByEdgeType(
- CpNamingUtils.generateApplicationId(CpNamingUtils.MANAGEMENT_APPLICATION_ID), edgeType, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING,
+ final SimpleSearchByEdge simpleSearchByEdgeType = new SimpleSearchByEdge(
+ CpNamingUtils.generateApplicationId(CpNamingUtils.MANAGEMENT_APPLICATION_ID), edgeType, CpNamingUtils.generateApplicationId( applicationId ), Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING,
Optional.absent());
- edgesObservable = edgesObservable !=null ? edgesObservable : gm.loadEdgesFromSource( simpleSearchByEdgeType );
- return edgesObservable;
+
+ return gm.loadEdgeVersions(simpleSearchByEdgeType );
}
}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/c81d21c6/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
----------------------------------------------------------------------
diff --git a/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java b/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
index 0fd1e52..f242318 100644
--- a/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
+++ b/stack/services/src/test/java/org/apache/usergrid/corepersistence/migration/AppInfoMigrationPluginTest.java
@@ -31,8 +31,13 @@ import org.apache.usergrid.persistence.cassandra.CassandraService;
import org.apache.usergrid.persistence.collection.EntityCollectionManagerFactory;
import org.apache.usergrid.persistence.core.migration.data.MigrationInfoSerialization;
import org.apache.usergrid.persistence.core.migration.data.ProgressObserver;
+import org.apache.usergrid.persistence.core.scope.ApplicationScopeImpl;
import org.apache.usergrid.persistence.entities.Application;
+import org.apache.usergrid.persistence.graph.GraphManager;
import org.apache.usergrid.persistence.graph.GraphManagerFactory;
+import org.apache.usergrid.persistence.graph.SearchByEdgeType;
+import org.apache.usergrid.persistence.graph.impl.SimpleSearchByEdgeType;
+
import org.junit.ClassRule;
import org.junit.Rule;
import org.junit.Test;
@@ -43,10 +48,16 @@ import rx.Observable;
import java.util.ArrayList;
import java.util.HashMap;
+import java.util.HashSet;
import java.util.List;
+import java.util.Set;
import java.util.UUID;
import static org.apache.usergrid.TestHelper.*;
+import static org.apache.usergrid.corepersistence.util.CpNamingUtils.createCollectionSearchEdge;
+import static org.apache.usergrid.corepersistence.util.CpNamingUtils.generateApplicationId;
+import static org.apache.usergrid.corepersistence.util.CpNamingUtils.getApplicationScope;
+import static org.apache.usergrid.corepersistence.util.CpNamingUtils.getEdgeTypeFromCollectionName;
import static org.junit.Assert.*;
@@ -86,6 +97,9 @@ public class AppInfoMigrationPluginTest {
List<UUID> appIds = new ArrayList<>();
+ /***
+ * Create all 10 apps in the new format
+ */
for ( int i=0; i<10; i++ ) {
UUID appId = setup.getMgmtSvc().createApplication(
@@ -121,6 +135,11 @@ public class AppInfoMigrationPluginTest {
EntityManager systemAppEm = setup.getEmf().getEntityManager( CpNamingUtils.SYSTEM_APP_ID );
int count = 0;
+
+ /**
+ * Now to ensure the process is idempotent, we "move" half of our app infos into the old system and remove them.
+ * Once they're migrated, we should get all 10
+ */
for ( UUID appId : appIds ) {
final Entity applicationInfo = getApplicationInfo( appId );
@@ -151,7 +170,7 @@ public class AppInfoMigrationPluginTest {
// test that applications are now broken
- checkApplicationsBroken(orgName, deletedApps);
+ checkApplicationsBroken(deletedApps);
// run the migration, which should restore the application_info entities
@@ -173,15 +192,17 @@ public class AppInfoMigrationPluginTest {
final Results applicationInfoResults = rootEm.searchCollection(
new SimpleEntityRef("application", mgmtAppId), "application_infos", Query.fromQL("select *"));
- int appCount = Observable.from(applicationInfoResults.getEntities()).filter(entity -> !entity.getName().startsWith("org.") && !entity.getName().startsWith("usergrid")).toList().toBlocking().last().size();
- assertEquals( appIds.size() - deletedApps.size(),appCount );
+ int appCount = Observable.from( applicationInfoResults.getEntities() ).filter(
+ entity -> !entity.getName().startsWith( "org." ) && !entity.getName().startsWith( "usergrid" ) ).doOnNext(
+ entity -> logger.info("counting entity {}", entity) ).count().toBlocking().last();
+ assertEquals( appIds.size() ,appCount );
// test that 10 applications are no longer broken
checkApplicationsOk( orgName );
}
- private void checkApplicationsBroken( String orgName, List<Entity> deletedApps ) throws Exception {
+ private void checkApplicationsBroken( List<Entity> deletedApps ) throws Exception {
logger.debug("\n\nChecking applications broken\n");
[3/5] incubator-usergrid git commit: change optional return
Posted by sf...@apache.org.
change optional return
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/412254a5
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/412254a5
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/412254a5
Branch: refs/heads/USERGRID-739
Commit: 412254a50ce34dc0b469650ffc2b4322e219c0cc
Parents: 0a4939b
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Jun 10 16:46:15 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Jun 10 16:46:15 2015 -0600
----------------------------------------------------------------------
.../apache/usergrid/corepersistence/ApplicationIdCacheImpl.java | 1 +
.../apache/usergrid/rest/applications/ApplicationDeleteIT.java | 5 +++--
.../usergrid/rest/applications/assets/AssetResourceIT.java | 1 +
3 files changed, 5 insertions(+), 2 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/412254a5/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java
index f4b5a9a..3563469 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/ApplicationIdCacheImpl.java
@@ -81,6 +81,7 @@ public class ApplicationIdCacheImpl implements ApplicationIdCache {
Optional<UUID> optionalUuid = appCache.get( applicationName.toLowerCase() );
if(!optionalUuid.isPresent()){
appCache.invalidate(applicationName.toLowerCase());
+ return Optional.absent();
}
logger.debug("Returning for key {} value {}", applicationName, optionalUuid );
return optionalUuid;
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/412254a5/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java
index bbe7cb8..786ab7d 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/ApplicationDeleteIT.java
@@ -210,7 +210,8 @@ public class ApplicationDeleteIT extends AbstractRestIT {
.queryParam("app_delete_confirm", "confirm_delete_of_application_and_data")
.delete();
- Thread.sleep(INDEXING_WAIT);
+ refreshIndex();
+
// restore the app
@@ -221,7 +222,7 @@ public class ApplicationDeleteIT extends AbstractRestIT {
.queryParam("access_token", orgAdminToken.getAccessToken() )
.put();
- Thread.sleep(INDEXING_WAIT);
+ refreshIndex();
// test that we can see the application in the list of applications
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/412254a5/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
----------------------------------------------------------------------
diff --git a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
index 8e371a5..064067b 100644
--- a/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
+++ b/stack/rest/src/test/java/org/apache/usergrid/rest/applications/assets/AssetResourceIT.java
@@ -81,6 +81,7 @@ public class AssetResourceIT extends AbstractRestIT {
resource().path( orgAppPath + "/assets/" + id.toString() + "/data" )
.queryParam( "access_token", access_token ).type( MediaType.APPLICATION_OCTET_STREAM_TYPE ).put( data );
+ refreshIndex();
InputStream is = resource().path( orgAppPath + "/assets/" + id.toString() + "/data" )
.queryParam( "access_token", access_token ).get( InputStream.class );
[5/5] incubator-usergrid git commit: Merge branch 'two-dot-o-dev' of
https://git-wip-us.apache.org/repos/asf/incubator-usergrid into USERGRID-739
Posted by sf...@apache.org.
Merge branch 'two-dot-o-dev' of https://git-wip-us.apache.org/repos/asf/incubator-usergrid into USERGRID-739
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/ee0edaed
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/ee0edaed
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/ee0edaed
Branch: refs/heads/USERGRID-739
Commit: ee0edaedce80a8cd9ebc889dbfbf44414f807b3d
Parents: bb865eb c93a0fc
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Jun 10 17:33:08 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Jun 10 17:33:08 2015 -0600
----------------------------------------------------------------------
.../corepersistence/CpRelationManager.java | 28 ++++---------------
.../migration/AppInfoMigrationPlugin.java | 14 +++++-----
.../migration/AppInfoMigrationPluginTest.java | 29 +++++++++++++++++---
3 files changed, 38 insertions(+), 33 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/ee0edaed/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
----------------------------------------------------------------------
[4/5] incubator-usergrid git commit: fix edge deletes
Posted by sf...@apache.org.
fix edge deletes
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/bb865eb6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/bb865eb6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/bb865eb6
Branch: refs/heads/USERGRID-739
Commit: bb865eb61ace6b54a7475f2f6bc421c0f083ea04
Parents: 412254a
Author: Shawn Feldman <sf...@apache.org>
Authored: Wed Jun 10 17:32:57 2015 -0600
Committer: Shawn Feldman <sf...@apache.org>
Committed: Wed Jun 10 17:32:57 2015 -0600
----------------------------------------------------------------------
.../corepersistence/CpRelationManager.java | 23 ++++++++++----------
.../corepersistence/util/CpNamingUtils.java | 12 ++++++++++
2 files changed, 24 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bb865eb6/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
index 9e2c0bf..ca98685 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/CpRelationManager.java
@@ -259,16 +259,15 @@ public class CpRelationManager implements RelationManager {
Id entityId = new SimpleId( entity.getUuid(), entity.getType() );
- String edgeType = CpNamingUtils.getEdgeTypeFromConnectionType( connectionType );
logger.debug( "isConnectionMember(): Checking for edge type {} from {}:{} to {}:{}", new Object[] {
- edgeType, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid()
+ connectionType, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid()
} );
GraphManager gm = managerCache.getGraphManager( applicationScope );
Observable<Edge> edges = gm.loadEdgeVersions(
- new SimpleSearchByEdge( new SimpleId( headEntity.getUuid(), headEntity.getType() ), edgeType, entityId,
- Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING, Optional.absent() ) );
+ CpNamingUtils.createEdgeFromConnectionType(new SimpleId(headEntity.getUuid(), headEntity.getType()), connectionType, entityId)
+ );
return edges.toBlocking().firstOrDefault( null ) != null;
}
@@ -280,16 +279,15 @@ public class CpRelationManager implements RelationManager {
Id entityId = new SimpleId( entity.getUuid(), entity.getType() );
- String edgeType = CpNamingUtils.getEdgeTypeFromCollectionName( collectionName );
logger.debug( "isCollectionMember(): Checking for edge type {} from {}:{} to {}:{}", new Object[] {
- edgeType, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid()
+ collectionName, headEntity.getType(), headEntity.getUuid(), entity.getType(), entity.getUuid()
} );
GraphManager gm = managerCache.getGraphManager( applicationScope );
Observable<Edge> edges = gm.loadEdgeVersions(
- new SimpleSearchByEdge( new SimpleId( headEntity.getUuid(), headEntity.getType() ), edgeType, entityId,
- Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING, Optional.<Edge>absent() ) );
+ CpNamingUtils.createEdgeFromCollectionName(new SimpleId(headEntity.getUuid(), headEntity.getType()), collectionName, entityId)
+ );
return edges.toBlocking().firstOrDefault( null ) != null;
}
@@ -520,9 +518,12 @@ public class CpRelationManager implements RelationManager {
//run our delete
- final Edge collectionToItemEdge =
- createCollectionEdge( cpHeadEntity.getId(), collectionName, memberEntity.getId() );
- gm.markEdge( collectionToItemEdge ).toBlocking().last();
+ gm.loadEdgeVersions(
+ CpNamingUtils.createEdgeFromCollectionName(cpHeadEntity.getId(), collectionName, memberEntity.getId())
+ )
+ .flatMap(edge -> gm.markEdge(edge))
+ .flatMap(edge -> gm.deleteEdge(edge))
+ .toBlocking().lastOrDefault(null);
/**
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/bb865eb6/stack/core/src/main/java/org/apache/usergrid/corepersistence/util/CpNamingUtils.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/apache/usergrid/corepersistence/util/CpNamingUtils.java b/stack/core/src/main/java/org/apache/usergrid/corepersistence/util/CpNamingUtils.java
index 24fdbab..41631b3 100644
--- a/stack/core/src/main/java/org/apache/usergrid/corepersistence/util/CpNamingUtils.java
+++ b/stack/core/src/main/java/org/apache/usergrid/corepersistence/util/CpNamingUtils.java
@@ -161,6 +161,18 @@ public class CpNamingUtils {
return new SearchEdgeImpl( edge.getTargetNode(), edge.getType(), SearchEdge.NodeType.SOURCE );
}
+ public static SearchByEdge createEdgeFromCollectionName(Id source, String connectionName, Id target) {
+ final String edgeType = CpNamingUtils.getEdgeTypeFromCollectionName(connectionName);
+
+ return new SimpleSearchByEdge(source, edgeType, target, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING, Optional.<Edge>absent());
+ }
+
+ public static SearchByEdge createEdgeFromConnectionType(Id source, String connectionType, Id target) {
+ final String edgeType = CpNamingUtils.getEdgeTypeFromConnectionType(connectionType);
+
+ return new SimpleSearchByEdge(source, edgeType, target, Long.MAX_VALUE, SearchByEdgeType.Order.DESCENDING, Optional.<Edge>absent());
+ }
+
/**
* TODO move sourceId to ApplicationScope
[2/5] incubator-usergrid git commit: Merge commit
'c81d21c6bc89f25537155e9a0c33ab825b150600' into two-dot-o-dev
Posted by sf...@apache.org.
Merge commit 'c81d21c6bc89f25537155e9a0c33ab825b150600' into two-dot-o-dev
* commit 'c81d21c6bc89f25537155e9a0c33ab825b150600':
Fixes bugs in migration with edge existence checks
Project: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/commit/c93a0fcc
Tree: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/tree/c93a0fcc
Diff: http://git-wip-us.apache.org/repos/asf/incubator-usergrid/diff/c93a0fcc
Branch: refs/heads/USERGRID-739
Commit: c93a0fcc0bd9bc762fb6f699405b35b1f2d25cfe
Parents: d66402d c81d21c
Author: GERey <gr...@apigee.com>
Authored: Wed Jun 10 15:29:24 2015 -0700
Committer: GERey <gr...@apigee.com>
Committed: Wed Jun 10 15:29:24 2015 -0700
----------------------------------------------------------------------
.../corepersistence/CpRelationManager.java | 28 ++++---------------
.../migration/AppInfoMigrationPlugin.java | 14 +++++-----
.../migration/AppInfoMigrationPluginTest.java | 29 +++++++++++++++++---
3 files changed, 38 insertions(+), 33 deletions(-)
----------------------------------------------------------------------