use of org.alfresco.util.FileFilterMode.Client in project alfresco-repository by Alfresco.
the class FileFolderServiceImpl method setHidden.
@Override
public void setHidden(NodeRef nodeRef, boolean isHidden) {
int mask = 0;
boolean allVisible = true;
Visibility webDavVisibility = isHidden ? Visibility.NotVisible : Visibility.Visible;
for (Client client : hiddenAspect.getClients()) {
Visibility clientVisibility = client == FileFilterMode.getClient() ? webDavVisibility : hiddenAspect.getVisibility(client, nodeRef);
if (clientVisibility != Visibility.Visible) {
allVisible = false;
}
mask |= hiddenAspect.getClientVisibilityMask(client, clientVisibility);
}
if (allVisible) {
hiddenAspect.showNode(nodeRef, true);
} else {
hiddenAspect.hideNode(nodeRef, mask, true, true, false);
}
}
use of org.alfresco.util.FileFilterMode.Client in project alfresco-repository by Alfresco.
the class HiddenAspectTest method testHiddenFilesBasicClient.
@Test
public void testHiddenFilesBasicClient() {
if (imapEnabled) {
FileFilterMode.setClient(Client.imap);
try {
// check temporary file
NodeRef parent = fileFolderService.create(topNodeRef, "New Folder", ContentModel.TYPE_FOLDER).getNodeRef();
NodeRef child = fileFolderService.create(parent, "file.tmp", ContentModel.TYPE_CONTENT).getNodeRef();
assertTrue(nodeService.hasAspect(child, ContentModel.ASPECT_TEMPORARY));
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_INDEX_CONTROL));
List<FileInfo> children = fileFolderService.list(parent);
assertEquals(1, children.size());
// check hidden files - should not be hidden for a basic client
parent = fileFolderService.create(topNodeRef, ".TemporaryItems", ContentModel.TYPE_FOLDER).getNodeRef();
child = fileFolderService.create(parent, "inTemporaryItems", ContentModel.TYPE_FOLDER).getNodeRef();
assertFalse(nodeService.hasAspect(parent, ContentModel.ASPECT_TEMPORARY));
assertFalse(nodeService.hasAspect(parent, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(parent, ContentModel.ASPECT_INDEX_CONTROL));
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_TEMPORARY));
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_INDEX_CONTROL));
children = fileFolderService.list(parent);
assertEquals(1, children.size());
parent = fileFolderService.create(topNodeRef, "Folder 2", ContentModel.TYPE_FOLDER).getNodeRef();
child = fileFolderService.create(parent, "Thumbs.db", ContentModel.TYPE_CONTENT).getNodeRef();
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_TEMPORARY));
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(child, ContentModel.ASPECT_INDEX_CONTROL));
children = fileFolderService.list(parent);
assertEquals(1, children.size());
NodeRef node = fileFolderService.create(topNodeRef, "surf-config", ContentModel.TYPE_FOLDER).getNodeRef();
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_INDEX_CONTROL));
node = fileFolderService.create(topNodeRef, ".DS_Store", ContentModel.TYPE_CONTENT).getNodeRef();
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_INDEX_CONTROL));
for (Client client : hiddenAspect.getClients()) {
assertEquals("Should be visible for client " + client, Visibility.Visible, hiddenAspect.getVisibility(client, node));
}
node = fileFolderService.create(topNodeRef, "._resourceFork", ContentModel.TYPE_FOLDER).getNodeRef();
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_INDEX_CONTROL));
children = fileFolderService.list(parent);
assertEquals(1, children.size());
String nodeName = "Node" + System.currentTimeMillis();
node = fileFolderService.create(topNodeRef, nodeName, ContentModel.TYPE_CONTENT).getNodeRef();
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_INDEX_CONTROL));
try {
fileFolderService.rename(node, "." + nodeName);
} catch (FileExistsException e) {
fail();
} catch (FileNotFoundException e) {
fail();
}
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_INDEX_CONTROL));
try {
fileFolderService.rename(node, nodeName);
} catch (FileExistsException e) {
fail();
} catch (FileNotFoundException e) {
fail();
}
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_HIDDEN));
assertFalse(nodeService.hasAspect(node, ContentModel.ASPECT_INDEX_CONTROL));
imapService.getOrCreateMailbox(user, MAILBOX_NAME_A, false, true);
imapService.renameMailbox(user, MAILBOX_NAME_A, MAILBOX_NAME_B);
assertFalse("Can't rename mailbox", checkMailbox(user, MAILBOX_NAME_A));
assertTrue("Can't rename mailbox", checkMailbox(user, MAILBOX_NAME_B));
assertEquals("Can't rename mailbox", 0, numMailboxes(user, MAILBOX_NAME_A));
assertEquals("Can't rename mailbox", 1, numMailboxes(user, MAILBOX_NAME_B));
} finally {
FileFilterMode.clearClient();
}
}
}
Aggregations