@Override public String getString(String name) { return getWrappedNodeBuilder().getString(name); }
private static byte[] readUniqueKey(NodeBuilder file) { if (file.hasProperty(OakDirectory.PROP_UNIQUE_KEY)) { String key = file.getString(OakDirectory.PROP_UNIQUE_KEY); return StringUtils.convertHexToBytes(key); } return null; }
public ValuePattern(NodeBuilder node) { this(node.getString(IndexConstants.VALUE_PATTERN), getStrings(node, IndexConstants.VALUE_INCLUDED_PREFIXES), getStrings(node, IndexConstants.VALUE_EXCLUDED_PREFIXES)); }
private boolean asyncIndexedToTimeSameAsPrevious(long lastIndexedTo) { String previous = builder.getString(PROP_PREVIOUS_BUCKET); if (previous != null) { long previousAsyncIndexedTo = getOptionalValue(builder.getChildNode(previous), PROP_ASYNC_INDEXED_TO_TIME_AT_SWITCH, 0); return previousAsyncIndexedTo == lastIndexedTo; } return false; }
private static byte[] readUniqueKey(NodeBuilder file) { if (file.hasProperty(OakDirectory.PROP_UNIQUE_KEY)) { String key = file.getString(OakDirectory.PROP_UNIQUE_KEY); return StringUtils.convertHexToBytes(key); } return null; }
public ValuePattern(NodeBuilder node) { this(node.getString(IndexConstants.VALUE_PATTERN), getStrings(node, IndexConstants.VALUE_INCLUDED_PREFIXES), getStrings(node, IndexConstants.VALUE_EXCLUDED_PREFIXES)); }
@Override public Iterable<String> getIndexedPaths(String propertyRelativePath, String value) { NodeBuilder idxb = getIndexNode(propertyRelativePath); checkState(STORAGE_TYPE_UNIQUE.equals(idxb.getString(PROP_STORAGE_TYPE))); NodeBuilder entry = idxb.child(value); return entry.getProperty("entry").getValue(Type.STRINGS); }
@Override public void importIndex(NodeState root, NodeBuilder defn, File indexDir) { //Foo property should be set by virtue of import from json assertEquals("bar", defn.getString("foo")); }
private NodeBuilder getSimpleIndexBuilder(NodeBuilder propertyIndex, String nodeName) { NodeBuilder idx = propertyIndex.child(nodeName); if (idx.isNew()) { idx.setProperty(PROP_HEAD_BUCKET, DEFAULT_HEAD_BUCKET); idx.setProperty(PROP_STORAGE_TYPE, STORAGE_TYPE_CONTENT_MIRROR); } String headBucketName = idx.getString(PROP_HEAD_BUCKET); checkNotNull(headBucketName, "[%s] property not found in [%s] for index [%s]", PROP_HEAD_BUCKET, idx, indexPath); return idx.child(headBucketName); }
public static Iterable<String> getStrings(NodeBuilder node, String propertyName) { if (!node.hasProperty(propertyName)) { return null; } PropertyState s = node.getProperty(propertyName); if (s.isArray()) { return node.getProperty(propertyName).getValue(Type.STRINGS); } return Collections.singleton(node.getString(propertyName)); }
public static Iterable<String> getStrings(NodeBuilder node, String propertyName) { if (!node.hasProperty(propertyName)) { return null; } PropertyState s = node.getProperty(propertyName); if (s.isArray()) { return node.getProperty(propertyName).getValue(Type.STRINGS); } return Collections.singleton(node.getString(propertyName)); }
void close() throws CommitFailedException { if (isLeaseCheckEnabled(leaseTimeOut)) { NodeBuilder builder = store.getRoot().builder(); NodeBuilder async = builder.child(ASYNC); async.removeProperty(leaseName); mergeWithConcurrencyCheck(store, validatorProviders, builder, async.getString(name), lease, name); } }
@Override public void importIndex(NodeState root, NodeBuilder defn, File indexDir) { assertEquals("bar", defn.getString("foo")); assertEquals("idx-a", indexDir.getName()); defn.setProperty("imported", true); }
@Test public void twoBuckets_BothUsed() throws Exception { builder.child("2").child("foo"); builder.child("1"); builder.setProperty(PROP_HEAD_BUCKET, "2"); builder.setProperty(PROP_PREVIOUS_BUCKET, "1"); bs.switchBucket(100); assertEquals("2", builder.getString(PROP_PREVIOUS_BUCKET)); assertEquals("3", builder.getString(PROP_HEAD_BUCKET)); assertTrue(builder.hasChildNode("3")); assertThat(copyOf(bs.getOldBuckets()), containsInAnyOrder("1")); }
@Test public void twoBucket_HeadUnused() throws Exception { builder.child("1"); builder.child("2"); builder.setProperty(PROP_HEAD_BUCKET, "2"); builder.setProperty(PROP_PREVIOUS_BUCKET, "1"); bs.switchBucket(100); assertFalse(builder.hasProperty(PROP_PREVIOUS_BUCKET)); assertEquals("2", builder.getString(PROP_HEAD_BUCKET)); assertThat(copyOf(bs.getOldBuckets()), containsInAnyOrder("1")); }
@Test public void twoBuckets_2Switches() throws Exception{ builder.child("2").child("foo"); builder.child("1"); builder.setProperty(PROP_HEAD_BUCKET, "2"); builder.setProperty(PROP_PREVIOUS_BUCKET, "1"); bs.switchBucket(100); bs.switchBucket(150); assertFalse(builder.hasProperty(PROP_PREVIOUS_BUCKET)); assertEquals("3", builder.getString(PROP_HEAD_BUCKET)); assertThat(copyOf(bs.getOldBuckets()), containsInAnyOrder("1", "2")); }
@Test public void revert() throws Exception{ builder.setProperty(ASYNC_PROPERTY_NAME, "async"); AsyncLaneSwitcher.switchLane(builder, "foo"); assertNotNull(builder.getProperty(AsyncLaneSwitcher.ASYNC_PREVIOUS)); AsyncLaneSwitcher.revertSwitch(builder, "/fooIndex"); assertNull(builder.getProperty(AsyncLaneSwitcher.ASYNC_PREVIOUS)); assertEquals("async", builder.getString(ASYNC_PROPERTY_NAME)); }
@Test public void uniqueId() throws Exception{ LuceneIndexDefinition defn = new LuceneIndexDefinition(root, builder.getNodeState(), "/foo"); assertNull(defn.getUniqueId()); //Check that uniqueId is properly seeded LuceneIndexEditorContext.configureUniqueId(builder); String uid = builder.child(IndexDefinition.STATUS_NODE).getString(IndexDefinition.PROP_UID); assertNotNull(uid); //Assert via NodeState defn = new LuceneIndexDefinition(root, builder.getNodeState(), "/foo"); assertEquals(uid, defn.getUniqueId()); }