String memberContentId = it.next().getKey(); if (prop.hasValue(memberContentId)) { prop.removeValue(memberContentId); it.remove();
String memberContentId = it.next().getKey(); if (prop.hasValue(memberContentId)) { prop.removeValue(memberContentId); it.remove();
String memberContentId = it.next().getKey(); if (prop.hasValue(memberContentId)) { prop.removeValue(memberContentId); it.remove();
private static long addNestedCugPath(@NotNull NodeBuilder parentBuilder, @NotNull NodeBuilder builder, @NotNull String pathWithNewCug) { PropertyState ps = parentBuilder.getProperty(HIDDEN_NESTED_CUGS); PropertyBuilder<String> pb = getHiddenPropertyBuilder(ps); if (ps != null) { List<String> moveToNestedCug = Lists.newArrayList(); for (String p : ps.getValue(Type.STRINGS)) { if (Text.isDescendant(pathWithNewCug, p)) { pb.removeValue(p); moveToNestedCug.add(p); } else if (p.equals(pathWithNewCug)) { // already present with parent -> remove to avoid duplicate entries log.debug("Path of node holding a new nested CUG is already listed with the parent CUG."); pb.removeValue(p); } } if (!moveToNestedCug.isEmpty()) { PropertyBuilder<String> pb2 = getHiddenPropertyBuilder(builder.getProperty(HIDDEN_NESTED_CUGS)); pb2.addValues(moveToNestedCug); builder.setProperty(pb2.getPropertyState()); } } // update the nested-cug property of the parent pb.addValue(pathWithNewCug); parentBuilder.setProperty(pb.getPropertyState()); return pb.count(); }
private static long addNestedCugPath(@NotNull NodeBuilder parentBuilder, @NotNull NodeBuilder builder, @NotNull String pathWithNewCug) { PropertyState ps = parentBuilder.getProperty(HIDDEN_NESTED_CUGS); PropertyBuilder<String> pb = getHiddenPropertyBuilder(ps); if (ps != null) { List<String> moveToNestedCug = Lists.newArrayList(); for (String p : ps.getValue(Type.STRINGS)) { if (Text.isDescendant(pathWithNewCug, p)) { pb.removeValue(p); moveToNestedCug.add(p); } else if (p.equals(pathWithNewCug)) { // already present with parent -> remove to avoid duplicate entries log.debug("Path of node holding a new nested CUG is already listed with the parent CUG."); pb.removeValue(p); } } if (!moveToNestedCug.isEmpty()) { PropertyBuilder<String> pb2 = getHiddenPropertyBuilder(builder.getProperty(HIDDEN_NESTED_CUGS)); pb2.addValues(moveToNestedCug); builder.setProperty(pb2.getPropertyState()); } } // update the nested-cug property of the parent pb.addValue(pathWithNewCug); parentBuilder.setProperty(pb.getPropertyState()); return pb.count(); }
private static int removeNestedCugPath(@NotNull NodeBuilder parentBuilder, @NotNull String toRemove, @NotNull Iterable<String> toReconnect) { PropertyState ps = parentBuilder.getProperty(HIDDEN_NESTED_CUGS); PropertyBuilder<String> pb = getHiddenPropertyBuilder(ps); if (pb.hasValue(toRemove)) { pb.removeValue(toRemove); pb.addValues(toReconnect); if (pb.isEmpty()) { parentBuilder.removeProperty(HIDDEN_NESTED_CUGS); return 0; } else { parentBuilder.setProperty(pb.getPropertyState()); return pb.count(); } } else { log.debug("Parent CUG doesn't contain expected entry for removed nested CUG"); return -1; } }
private static int removeNestedCugPath(@NotNull NodeBuilder parentBuilder, @NotNull String toRemove, @NotNull Iterable<String> toReconnect) { PropertyState ps = parentBuilder.getProperty(HIDDEN_NESTED_CUGS); PropertyBuilder<String> pb = getHiddenPropertyBuilder(ps); if (pb.hasValue(toRemove)) { pb.removeValue(toRemove); pb.addValues(toReconnect); if (pb.isEmpty()) { parentBuilder.removeProperty(HIDDEN_NESTED_CUGS); return 0; } else { parentBuilder.setProperty(pb.getPropertyState()); return pb.count(); } } else { log.debug("Parent CUG doesn't contain expected entry for removed nested CUG"); return -1; } }
private static void merge(NodeBuilder parent, PropertyState ours, PropertyState theirs) { Set<String> theirOrder = Sets.newHashSet(theirs.getValue(Type.NAMES)); PropertyBuilder<String> merged = PropertyBuilder.array(Type.NAME).assignFrom(theirs); // Append child node names from ours that are not in theirs for (String ourChild : ours.getValue(Type.NAMES)) { if (!theirOrder.contains(ourChild)) { merged.addValue(ourChild); } } // Remove child node names of nodes that have been removed for (String child : merged.getValues()) { if (!parent.hasChildNode(child)) { merged.removeValue(child); } } parent.setProperty(merged.getPropertyState()); }
private static void merge(NodeBuilder parent, PropertyState ours, PropertyState theirs) { Set<String> theirOrder = Sets.newHashSet(theirs.getValue(Type.NAMES)); PropertyBuilder<String> merged = PropertyBuilder.array(Type.NAME).assignFrom(theirs); // Append child node names from ours that are not in theirs for (String ourChild : ours.getValue(Type.NAMES)) { if (!theirOrder.contains(ourChild)) { merged.addValue(ourChild); } } // Remove child node names of nodes that have been removed for (String child : merged.getValues()) { if (!parent.hasChildNode(child)) { merged.removeValue(child); } } parent.setProperty(merged.getPropertyState()); }
private static void removeChild(NodeBuilder target, String name) { target.getChildNode(name).remove(); PropertyState childOrder = target.getProperty(TreeConstants.OAK_CHILD_ORDER); if (childOrder != null) { PropertyBuilder<String> builder = PropertyBuilder.copy(NAME, childOrder); builder.removeValue(name); target.setProperty(builder.getPropertyState()); } }
private static void removeChild(NodeBuilder target, String name) { target.getChildNode(name).remove(); PropertyState childOrder = target.getProperty(TreeConstants.OAK_CHILD_ORDER); if (childOrder != null) { PropertyBuilder<String> builder = PropertyBuilder.copy(NAME, childOrder); builder.removeValue(name); target.setProperty(builder.getPropertyState()); } }
private static void removeChild(NodeBuilder target, String name) { target.getChildNode(name).remove(); PropertyState childOrder = target.getProperty(TreeConstants.OAK_CHILD_ORDER); if (childOrder != null) { PropertyBuilder<String> builder = PropertyBuilder.copy(NAME, childOrder); builder.removeValue(name); target.setProperty(builder.getPropertyState()); } }
private static void merge(NodeBuilder parent, PropertyState ours, PropertyState theirs) { Set<String> theirOrder = Sets.newHashSet(theirs.getValue(Type.NAMES)); PropertyBuilder<String> merged = PropertyBuilder.array(Type.NAME).assignFrom(theirs); // Append child node names from ours that are not in theirs for (String ourChild : ours.getValue(Type.NAMES)) { if (!theirOrder.contains(ourChild)) { merged.addValue(ourChild); } } // Remove child node names of nodes that have been removed for (String child : merged.getValues()) { if (!parent.hasChildNode(child)) { merged.removeValue(child); } } parent.setProperty(merged.getPropertyState()); }
pb.setName(JCR_PREDECESSORS).setValues(successor.getProperty(JCR_PREDECESSORS).getValue(Type.REFERENCES)); pb.removeValue(versionId); pb.addValues(predecessorIds.getValue(Type.REFERENCES)); pb.setName(JCR_SUCCESSORS).setValues(predecessor.getProperty(JCR_SUCCESSORS).getValue(Type.REFERENCES)); pb.removeValue(versionId); pb.addValues(successorIds.getValue(Type.REFERENCES));
@Test public void testStringsProperty() { PropertyBuilder builder = PropertyBuilder.array(Type.STRING); builder.setName("foo") .addValue("one") .addValue("two"); assertEquals(MultiStringPropertyState.stringProperty("foo", Arrays.asList("one", "two")), builder.getPropertyState()); builder.setScalar(); try { builder.getPropertyState(); } catch (IllegalStateException expected) { // success } builder.removeValue("one"); assertEquals(StringPropertyState.stringProperty("foo", "two"), builder.getPropertyState()); }
pb.setName(JCR_PREDECESSORS).setValues(successor.getProperty(JCR_PREDECESSORS).getValue(Type.REFERENCES)); pb.removeValue(versionId); pb.addValues(predecessorIds.getValue(Type.REFERENCES)); pb.setName(JCR_SUCCESSORS).setValues(predecessor.getProperty(JCR_SUCCESSORS).getValue(Type.REFERENCES)); pb.removeValue(versionId); pb.addValues(successorIds.getValue(Type.REFERENCES));
pb.setName(JCR_PREDECESSORS).setValues(successor.getProperty(JCR_PREDECESSORS).getValue(Type.REFERENCES)); pb.removeValue(versionId); pb.addValues(predecessorIds.getValue(Type.REFERENCES)); pb.setName(JCR_SUCCESSORS).setValues(predecessor.getProperty(JCR_SUCCESSORS).getValue(Type.REFERENCES)); pb.removeValue(versionId); pb.addValues(successorIds.getValue(Type.REFERENCES));
@Test public void testDateProperty() { PropertyBuilder builder = PropertyBuilder.array(Type.DATE); String date1 = "1970-01-01T00:00:00.000Z"; String date2 = "1971-01-01T00:00:00.000Z"; builder.setName("foo") .addValue(date1) .addValue(date2); Assert.assertEquals(MultiGenericPropertyState.dateProperty("foo", Arrays.asList(date1, date2)), builder.getPropertyState()); builder.setScalar(); try { builder.getPropertyState(); } catch (IllegalStateException expected) { } builder.removeValue(date1); Assert.assertEquals(GenericPropertyState.dateProperty("foo", date2), builder.getPropertyState()); }