private RevCommit callCommit() { final CommitOp commitOp = context.command(CommitOp.class).setAll(true) .setAuthor(authorName, authorEmail).setMessage(commitMessage); commitOp.setProgressListener(getProgressListener()); return commitOp.call(); }
private RevCommit callCommit() { final CommitOp commitOp = context.command(CommitOp.class).setAll(true) .setAuthor(authorName, authorEmail).setMessage(commitMessage); commitOp.setProgressListener(getProgressListener()); return commitOp.call(); }
private RevCommit callCommit() { final CommitOp commitOp = context.command(CommitOp.class).setAll(true) .setAuthor(authorName, authorEmail).setMessage(commitMessage); commitOp.setProgressListener(getProgressListener()); return commitOp.call(); }
private RevCommit callCommit() { final CommitOp commitOp = context.command(CommitOp.class).setAll(true) .setAuthor(authorName, authorEmail).setMessage(commitMessage); commitOp.setProgressListener(getProgressListener()); return commitOp.call(); }
@Test public void testFilterNamespaceNoChanges() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(pointsName); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertFalse(diffs.hasNext()); } }
@Test public void testFilterTypeNameNoChanges() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(pointsName); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertFalse(diffs.hasNext()); } }
@Test public void testFilterNamespaceNoChanges() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(pointsName); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertFalse(diffs.hasNext()); } }
@Test public void testFilterTypeNameNoChanges() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(pointsName); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertFalse(diffs.hasNext()); } }
@Test public void testFilterDidntMatchAnything() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); // set a filter that doesn't produce any match diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(NodeRef.appendChild(pointsName, "nonExistentId")); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertNotNull(diffs); assertFalse(diffs.hasNext()); } }
@Test public void testFilterFeatureIdNoChanges() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); // filter on feature1_1, it didn't change between commit2 and commit1 diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(NodeRef.appendChild(pointsName, points1.getIdentifier().getID())); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertFalse(diffs.hasNext()); } }
@Test public void testFilterDidntMatchAnything() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); // set a filter that doesn't produce any match diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(NodeRef.appendChild(pointsName, "nonExistentId")); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertNotNull(diffs); assertFalse(diffs.hasNext()); } }
@Test public void testFilterFeatureIdNoChanges() throws Exception { // two commits on different trees insertAndAdd(points1); final RevCommit commit1 = geogig.command(CommitOp.class).setAll(true).call(); insertAndAdd(lines1); final RevCommit commit2 = geogig.command(CommitOp.class).setAll(true).call(); // filter on feature1_1, it didn't change between commit2 and commit1 diffOp.setOldVersion(commit1.getId()).setNewVersion(commit2.getId()); diffOp.setFilter(NodeRef.appendChild(pointsName, points1.getIdentifier().getID())); try (AutoCloseableIterator<DiffEntry> diffs = diffOp.call()) { assertFalse(diffs.hasNext()); } }
@Test public void testSingleModification() throws Exception { final ObjectId oldOid = insertAndAdd(points1); final RevCommit insertCommit = geogig.command(CommitOp.class).setAll(true).call(); final ObjectId newOid = insertAndAdd(points1_modified); final RevCommit changeCommit = geogig.command(CommitOp.class).setAll(true).call(); List<DiffEntry> difflist = toList(diffOp.setOldVersion(insertCommit.getId()) .setNewVersion(changeCommit.getId()).call()); assertNotNull(difflist); assertEquals(1, difflist.size()); DiffEntry de = difflist.get(0); String expectedPath = NodeRef.appendChild(pointsName, points1.getIdentifier().getID()); assertEquals(expectedPath, de.newPath()); assertEquals(DiffEntry.ChangeType.MODIFIED, de.changeType()); assertEquals(oldOid, de.oldObjectId()); assertEquals(newOid, de.newObjectId()); }
@Test public void testSingleDeletion() throws Exception { final ObjectId featureContentId = insertAndAdd(points1); final RevCommit addCommit = geogig.command(CommitOp.class).setAll(true).call(); assertTrue(deleteAndAdd(points1)); final RevCommit deleteCommit = geogig.command(CommitOp.class).setAll(true).call(); List<DiffEntry> difflist = toList( diffOp.setOldVersion(addCommit.getId()).setNewVersion(deleteCommit.getId()).call()); final String path = NodeRef.appendChild(pointsName, points1.getIdentifier().getID()); assertNotNull(difflist); assertEquals(1, difflist.size()); DiffEntry de = difflist.get(0); assertEquals(path, de.oldPath()); assertEquals(DiffEntry.ChangeType.REMOVED, de.changeType()); assertEquals(featureContentId, de.oldObjectId()); assertEquals(ObjectId.NULL, de.newObjectId()); }
@Test public void testCreatePatchWithNoChanges() throws Exception { insertAndAdd(points1, points2); geogig.command(CommitOp.class).setAll(true).call(); try (AutoCloseableIterator<DiffEntry> diffs = geogig.command(DiffOp.class).call()) { Patch patch = geogig.command(CreatePatchOp.class).setDiffs(diffs).call(); assertEquals(0, patch.count()); } }
@Test public void testCreatePatchWithNoChanges() throws Exception { insertAndAdd(points1, points2); geogig.command(CommitOp.class).setAll(true).call(); try (AutoCloseableIterator<DiffEntry> diffs = geogig.command(DiffOp.class).call()) { Patch patch = geogig.command(CreatePatchOp.class).setDiffs(diffs).call(); assertEquals(0, patch.count()); } }
@Test public void testNoChangeSameCommit() throws Exception { insertAndAdd(points1); final RevCommit commit = geogig.command(CommitOp.class).setAll(true).call(); assertFalse(diffOp.setOldVersion(commit.getId().toString()) .setNewVersion(commit.getId().toString()).call().hasNext()); }
@Test public void testNoChangeSameCommit() throws Exception { insertAndAdd(points1); final RevCommit commit = geogig.command(CommitOp.class).setAll(true).call(); assertFalse(diffOp.setOldVersion(commit.getId().toString()) .setNewVersion(commit.getId().toString()).call().hasNext()); }
@Test public void testSingleAdditionReverseOrder() throws Exception { final ObjectId newOid = insertAndAdd(points1); final RevCommit commit = geogig.command(CommitOp.class).setAll(true).call(); List<DiffEntry> difflist = toList( diffOp.setOldVersion(commit.getId()).setNewVersion(ObjectId.NULL).call()); assertNotNull(difflist); assertEquals(1, difflist.size()); DiffEntry de = difflist.get(0); assertNull(de.getNewObject()); assertNotNull(de.getOldObject()); assertEquals(DiffEntry.ChangeType.REMOVED, de.changeType()); assertEquals(ObjectId.NULL, de.newObjectId()); assertEquals(newOid, de.oldObjectId()); assertFalse(de.getOldObject().getMetadataId().isNull()); }
@Test public void testExportWithBBOXFilter() throws Exception { Feature[] points = new Feature[] { points1, points2, points3 }; for (Feature feature : points) { insert(feature); } geogig.command(AddOp.class).call(); geogig.command(CommitOp.class).setAll(true).call(); MemoryDataStore dataStore = new MemoryDataStore(pointsType); final String typeName = dataStore.getTypeNames()[0]; SimpleFeatureSource featureSource = dataStore.getFeatureSource(typeName); SimpleFeatureStore featureStore = (SimpleFeatureStore) featureSource; ReferencedEnvelope bbox = (ReferencedEnvelope) points1.getBounds(); geogig.command(ExportOp.class).setFeatureStore(featureStore).setPath("HEAD:" + pointsName) .setBBoxFilter(bbox).call(); featureSource = dataStore.getFeatureSource(typeName); assertEquals(1, featureSource.getCount(Query.ALL)); }