use of org.jbei.ice.storage.model.Folder in project ice by JBEI.
the class FolderControllerTest method testCreateNewFolder.
@Test
public void testCreateNewFolder() throws Exception {
Account account = AccountCreator.createTestAccount("testCreateNewFolder", false);
String userId = account.getEmail();
FolderDetails folderDetails = new FolderDetails();
folderDetails.setName("test");
FolderDetails folder = controller.createPersonalFolder(userId, folderDetails);
Assert.assertNotNull(folder);
Folder f = DAOFactory.getFolderDAO().get(folder.getId());
Assert.assertNotNull(f);
Assert.assertEquals("test", f.getName());
}
use of org.jbei.ice.storage.model.Folder in project ice by JBEI.
the class FolderContentsTest method createPersonalFolder.
public FolderDetails createPersonalFolder(String userId, FolderDetails folderDetails) {
if (folderDetails.getName() == null)
return null;
Folder folder = new Folder(folderDetails.getName());
folder.setOwnerEmail(userId);
folder.setType(FolderType.PRIVATE);
folder.setCreationTime(new Date());
folder = DAOFactory.getFolderDAO().create(folder);
FolderDetails details = folder.toDataTransferObject();
details.setCanEdit(true);
return details;
}
use of org.jbei.ice.storage.model.Folder in project ice by JBEI.
the class FolderAuthorization method canRead.
public boolean canRead(String userId, Folder folder) {
if (controller.isPublicVisible(folder))
return true;
Account account = getAccount(userId);
if (account == null)
return false;
if (folder.getType() == FolderType.PUBLIC)
return true;
if (super.canRead(userId, folder))
return true;
// now check actual permissions
Set<Folder> folders = new HashSet<>();
folders.add(folder);
if (controller.groupHasReadPermission(new ArrayList<>(account.getGroups()), folders) || controller.groupHasWritePermission(new ArrayList<>(account.getGroups()), folders))
return true;
return controller.accountHasReadPermission(account, folders) || controller.accountHasWritePermission(account, folders);
}
use of org.jbei.ice.storage.model.Folder in project ice by JBEI.
the class FolderPermissionsTest method testCreateFolderPermission.
@Test
public void testCreateFolderPermission() throws Exception {
Account account = AccountCreator.createTestAccount("FolderPermissionsTest.testCreateFolderPermission", false);
String userId = account.getEmail();
Folder folder = new Folder();
folder.setOwnerEmail(userId);
folder.setType(FolderType.PRIVATE);
folder.setDescription("test folder");
folder.setName("test");
folder = DAOFactory.getFolderDAO().create(folder);
Assert.assertNotNull(folder);
FolderPermissions folderPermissions = new FolderPermissions(userId, folder.getId());
AccessPermission accessPermission = new AccessPermission();
// create a new account
Account account2 = AccountCreator.createTestAccount("FolderPermissionsTest.testCreateFolderPermission2", false);
// give read permission to folder for account
accessPermission.setArticle(AccessPermission.Article.ACCOUNT);
accessPermission.setType(AccessPermission.Type.READ_FOLDER);
accessPermission.setArticleId(account2.getId());
accessPermission.setTypeId(folder.getId());
Assert.assertNotNull(folderPermissions.createPermission(accessPermission));
}
use of org.jbei.ice.storage.model.Folder in project ice by JBEI.
the class FolderDAOTest method testRemoveFolderEntries.
@Test
public void testRemoveFolderEntries() throws Exception {
Account account = AccountCreator.createTestAccount("testRemoveFolderEntries", false);
String email = account.getEmail();
// create test folder
Folder folder = createFolderObject("testRemoveFolderEntries");
folder = dao.create(folder);
Assert.assertNotNull(folder);
List<Entry> entries = new ArrayList<>();
EntryCreator creator = new EntryCreator();
// create 10 entries
for (int i = 0; i < 10; i += 1) {
Part part = new Part();
part.setName("name" + i);
part.setOwnerEmail(email);
part.setAlias("alias" + i);
part.setShortDescription("short description");
Entry entry = creator.createEntry(account, part, null);
entries.add(entry);
}
// add entries to folder
folder = dao.addFolderContents(folder, entries);
// remove entries from folder
List<Long> entriesToRemove = new ArrayList<>();
entriesToRemove.add(entries.get(2).getId());
entriesToRemove.add(entries.get(8).getId());
entriesToRemove.add(entries.get(1).getId());
entriesToRemove.add(entries.get(3).getId());
dao.removeFolderEntries(folder, entriesToRemove);
folder = dao.get(folder.getId());
Assert.assertNotNull(folder);
Assert.assertEquals(6, folder.getContents().size());
}
Aggregations