private static NodeBuilder getUniqueIndexBuilder(NodeBuilder propertyIndex, String nodeName) { NodeBuilder idx = propertyIndex.child(nodeName); if (idx.isNew()) { idx.setProperty(PROP_STORAGE_TYPE, STORAGE_TYPE_UNIQUE); } return idx; }
@Override @NotNull public Status getStatus() { NodeBuilder nodeBuilder = getNodeBuilder(); if (nodeBuilder.isNew() || nodeBuilder.isReplaced()) { return NEW; } else if (nodeBuilder.isModified()) { return MODIFIED; } else { return UNCHANGED; } }
@Override @NotNull public Status getStatus() { NodeBuilder nodeBuilder = getNodeBuilder(); if (nodeBuilder.isNew() || nodeBuilder.isReplaced()) { return NEW; } else if (nodeBuilder.isModified()) { return MODIFIED; } else { return UNCHANGED; } }
@Override public boolean isNew() { return builder.isNew() || (builder.isReplaced() && !getTreePermission().canRead()); }
@Override public boolean isNew() { return builder.isNew() || (builder.isReplaced() && !getTreePermission().canRead()); }
@Override public boolean isNew() { return builder.isNew() || (builder.isReplaced() && !getTreePermission().canRead()); }
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); }
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); }
@Override public boolean isNew(String name) { return builder.isNew(name) || (builder.isReplaced(name) && !getTreePermission().canRead(builder.getProperty(name))); }
@Override public boolean isNew(String name) { return builder.isNew(name) || (builder.isReplaced(name) && !getTreePermission().canRead(builder.getProperty(name))); }
@Override public boolean isNew(String name) { return builder.isNew(name) || (builder.isReplaced(name) && !getTreePermission().canRead(builder.getProperty(name))); }
private NodeBuilder getIndexNode(String propertyRelativePath, boolean unique) { NodeBuilder propertyIndex = builder.child(PROPERTY_INDEX); if (propertyIndex.isNew()) { propertyIndex.setProperty(IndexConstants.REINDEX_RETAIN, true); } String nodeName = HybridPropertyIndexUtil.getNodeName(propertyRelativePath); if (unique) { return getUniqueIndexBuilder(propertyIndex, nodeName); } else { return getSimpleIndexBuilder(propertyIndex, nodeName); } }
@Test public void rebasePreservesNew() { NodeBuilder root = store.getRoot().builder(); NodeBuilder added = root.setChildNode("added"); assertTrue(root.hasChildNode("added")); assertTrue(added.isNew()); store.rebase(root); assertTrue(added.exists()); assertTrue(root.hasChildNode("added")); assertTrue(added.isNew()); }
@Test public void testNewStatus() { NodeBuilder root = base.builder(); NodeBuilder n = root.child("n"); assertTrue(n.exists()); assertTrue(n.isNew()); assertFalse(n.isModified()); }
@Test public void testModifiedStatus() { NodeBuilder root = base.builder(); NodeBuilder x = root.child("x"); x.setProperty("p", "pValue"); assertTrue(x.exists()); assertFalse(x.isNew()); assertTrue(x.isModified()); }
private void addNode(NodeStore store, String path) throws CommitFailedException { NodeBuilder root = store.getRoot().builder(); NodeBuilder builder = root; for (String name : PathUtils.elements(path)) { builder = builder.child(name); } assertTrue(builder.isNew()); merge(store, root); }
@Test public void freshBuilderForGlobalStore() { NodeBuilder builder = store.getRoot().builder(); assertFalse("builder.isNew", builder.isNew()); assertFalse("builder.isModified", builder.isModified()); assertFalse("builder.isReplaced", builder.isReplaced()); }
@Test public void freshBuilderForMountedStore() { NodeBuilder builder = store.getRoot().getChildNode("tmp").builder(); assertFalse("builder.isNew", builder.isNew()); assertFalse("builder.isModified", builder.isModified()); assertFalse("builder.isReplaced", builder.isReplaced()); }
@Test public void newBuilderForGlobalStore() { NodeBuilder builder = store.getRoot().builder(); builder = builder.child("newChild"); assertTrue("builder.isNew", builder.isNew()); assertFalse("builder.isModified", builder.isModified()); assertFalse("builder.isReplaced", builder.isReplaced()); }
@Test public void newBuilderForMountedStore() { NodeBuilder builder = store.getRoot().getChildNode("tmp").builder(); builder = builder.child("newChild"); assertTrue("builder.isNew", builder.isNew()); assertFalse("builder.isModified", builder.isModified()); assertFalse("builder.isReplaced", builder.isReplaced()); }