private String toOrigInternal(String name) { String origName = append(txOrigNamespace, name); return origName; }
private String toOrigInternal(String name) { String origName = append(txOrigNamespace, name); return origName; }
private String toChangedInternal(String name) { return append(txChangedNamespace, name); }
private String toInternal(String name) { return append(txChangedNamespace, name); }
public static String buildTransactionNamespace(final UUID transactionId) { return append(TRANSACTIONS_PREFIX, transactionId.toString()); }
public static String buildTransactionNamespace(final UUID transactionId) { return append(TRANSACTIONS_PREFIX, transactionId.toString()); }
public Optional<String> mapToLocal(final String remoteRef) { Preconditions.checkNotNull(remoteRef); String localRef = null; if (isAllChildren()) { if (Ref.isChild(this.remoteRef, remoteRef)) { final String remoteRefName = remoteRef.substring(this.remoteRef.length()); localRef = Ref.append(this.localRef, remoteRefName); } } else { if (remoteRef.equals(this.remoteRef)) { localRef = this.localRef; } } return Optional.ofNullable(localRef); }
@Override public Map<String, String> getAll(final String prefix) { Map<String, String> originals = refDb.getAll(append(this.txOrigNamespace, prefix)); Map<String, String> changed = refDb.getAll(append(this.txChangedNamespace, prefix)); Map<String, String> externalOriginals = toExternal(originals); Map<String, String> externalChanged = toExternal(changed); Map<String, String> composite = Maps.newHashMap(externalOriginals); // Overwrite originals composite.putAll(externalChanged); return composite; }
@Override public Map<String, String> getAll(final String prefix) { Map<String, String> changed = refDb.getAll(append(this.txChangedNamespace, prefix)); return toExternal(changed); }
@Override public String getSymRef(final String name) { String internalName; String value; if (name.startsWith("changed") || name.startsWith("orig")) { internalName = append(txNamespace, name); value = refDb.getSymRef(internalName); } else { internalName = toChangedInternal(name); value = refDb.getSymRef(internalName); } return value; }
/** * Gets the requested ref value from {@code transactions/<tx id>/<name>} */ @Override public String getRef(final String name) { String internalName; String value; if (name.startsWith("changed") || name.startsWith("orig")) { internalName = append(txNamespace, name); value = refDb.getRef(internalName); } else { internalName = toChangedInternal(name); value = refDb.getRef(internalName); } return value; }
@Test public void testAppendAndChild() { assertEquals("refs/heads/ref1", Ref.append(Ref.HEADS_PREFIX, "ref1")); assertEquals("ref1", Ref.child(Ref.HEADS_PREFIX, "refs/heads/ref1")); assertEquals("ref1", Ref.append("", "ref1")); assertEquals("refs/heads/ref1", Ref.append(Ref.HEADS_PREFIX, "ref1/")); assertEquals("ref1", Ref.child("refs/heads", "refs/heads/ref1")); assertEquals("refs/heads/ref1", Ref.append(Ref.HEADS_PREFIX, "/ref1")); assertEquals("refs/heads/ref1", Ref.append("refs/heads/ref1", "")); }
@Test public void testGetAllNamespace() { final String txNamespace1 = Ref.append(Ref.TRANSACTIONS_PREFIX, "txnamespace1"); final String txNamespace2 = Ref.append(Ref.TRANSACTIONS_PREFIX, "txnamespace2"); Map<String, String> allrefs = createTestRefs(); Map<String, String> allOnNamespace; allOnNamespace = refDb.getAll(txNamespace1); assertNamespace(txNamespace1, allrefs, allOnNamespace); allOnNamespace = refDb.getAll(txNamespace2); assertNamespace(txNamespace2, allrefs, allOnNamespace); }
@Test public void testGetAllNamespace() { final String txNamespace1 = Ref.append(Ref.TRANSACTIONS_PREFIX, "txnamespace1"); final String txNamespace2 = Ref.append(Ref.TRANSACTIONS_PREFIX, "txnamespace2"); Map<String, String> allrefs = createTestRefs(); Map<String, String> allOnNamespace; allOnNamespace = refDb.getAll(txNamespace1); assertNamespace(txNamespace1, allrefs, allOnNamespace); allOnNamespace = refDb.getAll(txNamespace2); assertNamespace(txNamespace2, allrefs, allOnNamespace); }
@Test public void testGetAllNonExistentNamespace() { Map<String, String> all; all = refDb.getAll(Ref.append(Ref.TRANSACTIONS_PREFIX, "nonexistentns")); assertNotNull(all); assertTrue(all.isEmpty()); }
@Test public void testGetAllNonExistentNamespace() { Map<String, String> all; all = refDb.getAll(Ref.append(Ref.TRANSACTIONS_PREFIX, "nonexistentns")); assertNotNull(all); assertTrue(all.isEmpty()); }
@Test public void testRemove() { final String origin = Ref.append(Ref.ORIGIN, "master"); refDb.putRef(origin, sampleId.toString()); refDb.putSymRef(Ref.HEAD, origin); assertEquals(sampleId.toString(), refDb.getRef(origin)); assertEquals(origin, refDb.getSymRef(Ref.HEAD)); assertEquals(sampleId.toString(), refDb.remove(origin)); assertNull(refDb.getRef(origin)); assertNull(refDb.getSymRef(origin)); assertEquals(origin, refDb.remove(Ref.HEAD)); assertNull(refDb.getSymRef(Ref.HEAD)); assertNull(refDb.getRef(Ref.HEAD)); }
@Test public void testRemove() { final String origin = Ref.append(Ref.ORIGIN, "master"); refDb.putRef(origin, sampleId.toString()); refDb.putSymRef(Ref.HEAD, origin); assertEquals(sampleId.toString(), refDb.getRef(origin)); assertEquals(origin, refDb.getSymRef(Ref.HEAD)); assertEquals(sampleId.toString(), refDb.remove(origin)); assertNull(refDb.getRef(origin)); assertNull(refDb.getSymRef(origin)); assertEquals(origin, refDb.remove(Ref.HEAD)); assertNull(refDb.getSymRef(Ref.HEAD)); assertNull(refDb.getRef(Ref.HEAD)); }