@Override public boolean canReadProperties() { return versionablePermission.canReadProperties(); }
@Override @NotNull public Iterable<? extends PropertyState> getProperties() { if (treePermission.canReadProperties()) { return state.getProperties(); } else { return filter( state.getProperties(), new ReadablePropertyPredicate()); } }
@Override @Nonnull public Iterable<? extends PropertyState> getProperties() { if (treePermission.canReadProperties()) { return state.getProperties(); } else { return filter( state.getProperties(), new ReadablePropertyPredicate()); } }
@Override @NotNull public Iterable<? extends PropertyState> getProperties() { if (treePermission.canReadProperties()) { return state.getProperties(); } else { return filter( state.getProperties(), new ReadablePropertyPredicate()); } }
@Override public synchronized long getPropertyCount() { if (getTreePermission().canReadProperties() || isNew()) { return builder.getPropertyCount(); } else { return size(filter( builder.getProperties(), new ReadablePropertyPredicate())); } }
@Override public synchronized long getPropertyCount() { if (getTreePermission().canReadProperties() || isNew()) { return builder.getPropertyCount(); } else { return size(filter( builder.getProperties(), new ReadablePropertyPredicate())); } }
@NotNull @Override public Iterable<? extends PropertyState> getProperties() { if (getTreePermission().canReadProperties() || isNew()) { return builder.getProperties(); } else { return filter( builder.getProperties(), new ReadablePropertyPredicate()); } }
@Nonnull @Override public Iterable<? extends PropertyState> getProperties() { if (getTreePermission().canReadProperties() || isNew()) { return builder.getProperties(); } else { return filter( builder.getProperties(), new ReadablePropertyPredicate()); } }
@Override public synchronized long getPropertyCount() { if (propertyCount == -1) { if (treePermission.canReadProperties()) { propertyCount = state.getPropertyCount(); } else { propertyCount = count(filter( state.getProperties(), new ReadablePropertyPredicate())); } } return propertyCount; }
@Override public synchronized long getPropertyCount() { if (propertyCount == -1) { if (treePermission.canReadProperties()) { propertyCount = state.getPropertyCount(); } else { propertyCount = count(filter( state.getProperties(), new ReadablePropertyPredicate())); } } return propertyCount; }
@NotNull @Override public Iterable<? extends PropertyState> getProperties() { if (getTreePermission().canReadProperties() || isNew()) { return builder.getProperties(); } else { return filter( builder.getProperties(), new ReadablePropertyPredicate()); } }
@Override public synchronized long getPropertyCount() { if (getTreePermission().canReadProperties() || isNew()) { return builder.getPropertyCount(); } else { return size(filter( builder.getProperties(), new ReadablePropertyPredicate())); } }
@Test(expected = UnsupportedOperationException.class) public void testCanReadProperties() { noRecurse.canReadProperties(); }
@Test public void testCanReadProperties() { assertTrue(all.canReadProperties()); }
@Test public void testCanReadProperties() throws Exception { TreePermission tp = getTreePermission(accessSession, REPO_POLICY_PATH); assertTrue(tp.canReadProperties()); }
@Test public void testCanReadProperties2() throws Exception { TreePermission tp = getTreePermission(noAccessSession, REPO_POLICY_PATH); assertFalse(tp.canReadProperties()); }
@Test public void testTreePermissionCanReadProperties() throws Exception { PermissionProvider pp = createPermissionProvider(); TreePermission parentPermission = TreePermission.EMPTY; for (String path : TP_PATHS) { TreePermission tp = pp.getTreePermission(readOnlyRoot.getTree(path), parentPermission); assertFalse(tp.canReadProperties()); parentPermission = tp; } }
@Override @Test public void testTreePermissionCanReadPropertiesOR() throws Exception { PermissionProvider pp = createPermissionProviderOR(); TreePermission parentPermission = TreePermission.EMPTY; for (String path : TP_PATHS) { TreePermission tp = pp.getTreePermission(readOnlyRoot.getTree(path), parentPermission); assertTrue(tp.canReadProperties()); parentPermission = tp; } }
@Test public void testTreePermissionCanReadPropertiesOR() throws Exception { PermissionProvider pp = createPermissionProviderOR(); TreePermission parentPermission = TreePermission.EMPTY; for (String path : TP_PATHS) { TreePermission tp = pp.getTreePermission(readOnlyRoot.getTree(path), parentPermission); assertFalse(tp.canReadProperties()); parentPermission = tp; } }
private void assertVersionPermission(@NotNull TreePermission tp, @NotNull String expectedPath, boolean canRead) throws Exception { assertTrue(tp instanceof VersionTreePermission); assertEquals(canRead, tp.canRead()); assertEquals(canRead, tp.canRead(PropertyStates.createProperty("any", "Value"))); assertEquals(canRead, tp.isGranted(Permissions.READ)); assertEquals(canRead, tp.isGranted(Permissions.READ, PropertyStates.createProperty("any", "Value"))); assertEquals(canRead, tp.canReadProperties()); assertFalse(tp.canReadAll()); VersionTreePermission vtp = (VersionTreePermission) tp; TreePermission delegatee = (TreePermission) vpField.get(vtp); Tree delegateeTree = (Tree) tpImplTree.get(delegatee); assertEquals(expectedPath, delegateeTree.getPath()); }