@Override public void txnBegin() { super.txnBegin(); if ( currentTransactionId == null ) { currentTransactionId = Id.create().asNode(); super.header(RDFPatchConst.ID, currentTransactionId); } }
@Test public void id_2() { Id id1 = Id.nullId(); Id id2 = Id.create(); assertNotEquals(id1, id2); }
@Test public void patchStorage_1_empty() { PatchStorage patchStorage = patchStorage(); assertFalse(patchStorage.find().findAny().isPresent()); Id id = Id.create(); RDFPatch patch1 = patchStorage.fetch(id); assertNull(patch1); }
protected void exec1(String fn) { Id dsRef = getDescription().getId(); PatchLogInfo info = dLink.getPatchLogInfo(dsRef); Id prev = info.getLatestPatch(); RDFPatch body = toPatch(fn); // Header. PatchHeader header = RDFPatchOps.makeHeader(Id.create().asNode(), prev==null?null:prev.asNode()); RDFPatch patch = RDFPatchOps.withHeader(header, body); //RDFPatchOps.write(System.out, patch); // Add previous. Version version = dLink.append(dsRef, patch); System.out.printf("Version = %s\n", version.value()); }
@Override protected PatchLog patchLog() { try { String connectString = "localhost:" + server.getPort(); RetryPolicy policy = new ExponentialBackoffRetry(10000, 5); client = CuratorFrameworkFactory.builder() .connectString(connectString) .retryPolicy(policy) .build(); client.start(); //client.getConnectionStateListenable().addListener((c, newState)->System.out.println("** STATE CHANGED TO : " + newState)); client.blockUntilConnected(); LocalServerConfig config = LocalServers.configZk(connectString); PatchStore ps = new PatchStoreProviderZk().create(config); ps.initialize(new DataRegistry("TestPatchLogZk"), config); DataSourceDescription dsd = new DataSourceDescription(Id.create(), "ABC", "http://example/ABC"); PatchLog patchLog = ps.createLog(dsd); return patchLog; } catch (Exception ex) { ex.printStackTrace(); return null; } }
/** * Create a new data source in the specified {@link PatchStore}. This can * not be one that has been removed (i.e. disabled) whose files must be * cleaned up manually. */ public Id createDataSource(PatchStore patchStore, String name, String baseURI/*, details*/) { checkActive(); int C = createCounter.incrementAndGet(); if ( syncedDataRegistry().containsName(name) ) throw new DeltaBadRequestException("DataSource with name '"+name+"' already exists"); // Proposed id, only becomes permanent if the create actually does a create and // does not find someone else has (with a different id); // XXX Delay id allocation until create-for-real. Create does not take a DSD. Id dsRef = Id.create(); FmtLog.info(LOG, "[%s](%d) createDataSource/start: %s", label, C, dsRef); DataSourceDescription dsd = new DataSourceDescription(dsRef, name, baseURI); DataSource dataSource = createDataSource$(C, patchStore, dsd); FmtLog.info(LOG, "[%s](%d) createDataSource/finish: %s %s", label, C, dsRef, dataSource.getDescription()); // dsRef is not invalid if it was not used. dsRef = null; return dataSource.getId(); }
@Test public void id_fromNode() { Id id1 = Id.create(); assertEquals(36, id1.asPlainString().length()); Id id2 = Id.fromNode(id1.asNode()); assertEquals(id1, id2); }
@Override protected PatchLog patchLog() { DataSourceDescription dsd = new DataSourceDescription(Id.create(), "ABC", "http://test/ABC"); return new PatchLogBase(dsd, new PatchLogIndexMem(), new PatchStorageMem(), null); }
@Test public void id_fromBytes() { Id id1 = Id.create(); byte[] bytes = id1.asBytes(); Id id2 = Id.fromBytes(bytes); assertNotNull(id2); assertNotSame(id1, id2); assertEquals(id1, id2); }
@Override protected PatchLog patchLog() { DataSourceDescription dsd = new DataSourceDescription(Id.create(), "ABC", "http://test/ABC"); patchStore = new PatchStoreProviderFile().create(config); patchStore.initialize(new DataRegistry("X"), config); patchLog = patchStore.createLog(dsd); return patchLog; } }
@Test public void id_fromString() { Id id1 = Id.create(); assertTrue(id1.asNode().isURI()); assertEquals(36, id1.asParam().length()); Id id2 = Id.fromString(id1.asParam()); assertEquals(id1, id2); }
@Test public void patchStorage_2_singlePatch() { PatchStorage patchStorage = patchStorage(); RDFPatch patch = RDFPatchOps.emptyPatch(); Id id = Id.create(); patchStorage.store(id, patch); RDFPatch patch1 = patchStorage.fetch(id); assertNotNull(patch1); assertEquals(patch.getId(), patch1.getId()); List<Id> x = ListUtils.toList(patchStorage.find()); assertFalse(x.isEmpty()); }
@Test public void patchStore_1() { PatchStore ps = provider(); DataRegistry dataRegistry = ps.getDataRegistry(); DataSourceDescription dsdSetup = new DataSourceDescription(Id.create(), "ABC", "http://example/ABC"); PatchLog patchLog = ps.createLog(dsdSetup); Id logId = patchLog.getLogId(); assertEquals(dsdSetup.getId(), logId); assertNotNull(dataRegistry.getByName("ABC")); assertFalse(dataRegistry.isEmpty()); assertTrue(ps.logExists(dsdSetup.getId())); assertEquals(patchLog, ps.getLog(logId)); }
public void recovery1() { PatchStore ps = provider(); // Match dsd2 below DataSourceDescription dsdSetup = new DataSourceDescription(Id.create(), "ABC", "http://example/ABC"); PatchLog patchLog = ps.createLog(dsdSetup); RDFPatch patch = RDFPatchOps.emptyPatch(); patchLog.append(patch); PatchLogInfo info = patchLog.getInfo(); Id id = patchLog.getLogId(); DataSourceDescription dsd = patchLog.getDescription(); DPS.resetSystem(); String name = dsd.getName(); PatchStore provider = provider(); // Same FileStore, different PatchLog? DataSourceDescription dsd2 = new DataSourceDescription(id, name, "http://example/ABC"); PatchLog patchLog1 = provider.connectLog(dsd2); PatchLogInfo info1 = patchLog1.getInfo(); assertEquals(info, info1); }
@Test public void patchStorage_3_twoPatches() { PatchStorage patchStorage = patchStorage(); RDFPatch patch1 = RDFPatchOps.emptyPatch(); Id id1 = Id.create(); Id id2 = Id.create(); patchStorage.store(id1, patch1); RDFPatch patch1f = patchStorage.fetch(id1); assertNotNull(patch1); assertEquals(patch1.getId(), patch1f.getId()); RDFPatch patch2f = patchStorage.fetch(id2); assertNull(patch2f); RDFPatch patch2 = RDFPatchOps.emptyPatch(); patchStorage.store(id2, patch2); patch2f = patchStorage.fetch(id2); assertNotNull(patch2f); assertEquals(patch2.getId(), patch2f.getId()); assertNotEquals(patch1.getId(), patch2f.getId()); assertNotEquals(patch1f.getId(), patch2f.getId()); RDFPatch patch1f_a = patchStorage.fetch(id1); assertNotNull(patch1f_a); assertEquals(patch1f_a.getId(), patch1f_a.getId()); } }
@Test public void patchStore_2() { PatchStore ps = provider(); DataRegistry dataRegistry = ps.getDataRegistry(); DataSourceDescription dsdSetup = new DataSourceDescription(Id.create(), "ABC", "http://example/ABC"); PatchLog patchLog = ps.createLog(dsdSetup); assertEquals(dsdSetup.getId(), patchLog.getLogId()); Id logId = patchLog.getLogId(); assertFalse(dataRegistry.isEmpty()); assertNotNull(dataRegistry.getByName("ABC")); assertTrue(ps.logExists(dsdSetup.getId())); assertNotNull(ps.getLog(logId)); ps.release(patchLog); assertTrue(dataRegistry.isEmpty()); assertNull(dataRegistry.getByName("ABC")); assertFalse(ps.logExists(dsdSetup.getId())); assertNull(ps.getLog(logId)); }
assertNotNull(patchFetch1); RDFPatch patchAdd2 = RDFPatchOps.withHeader(patchAdd1, Id.create().asNode(), patchAdd1.getId());