Search in sources :

Example 11 with Folder

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());
}
Also used : Account(org.jbei.ice.storage.model.Account) FolderDetails(org.jbei.ice.lib.dto.folder.FolderDetails) Folder(org.jbei.ice.storage.model.Folder) Test(org.junit.Test)

Example 12 with Folder

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;
}
Also used : FolderDetails(org.jbei.ice.lib.dto.folder.FolderDetails) Folder(org.jbei.ice.storage.model.Folder)

Example 13 with Folder

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);
}
Also used : Account(org.jbei.ice.storage.model.Account) ArrayList(java.util.ArrayList) Folder(org.jbei.ice.storage.model.Folder) HashSet(java.util.HashSet)

Example 14 with Folder

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));
}
Also used : Account(org.jbei.ice.storage.model.Account) AccessPermission(org.jbei.ice.lib.dto.access.AccessPermission) Folder(org.jbei.ice.storage.model.Folder) Test(org.junit.Test)

Example 15 with Folder

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());
}
Also used : Account(org.jbei.ice.storage.model.Account) Entry(org.jbei.ice.storage.model.Entry) EntryCreator(org.jbei.ice.lib.entry.EntryCreator) Part(org.jbei.ice.storage.model.Part) ArrayList(java.util.ArrayList) Folder(org.jbei.ice.storage.model.Folder) Test(org.junit.Test)

Aggregations

Folder (org.jbei.ice.storage.model.Folder)31 Account (org.jbei.ice.storage.model.Account)18 FolderDetails (org.jbei.ice.lib.dto.folder.FolderDetails)11 Test (org.junit.Test)9 ArrayList (java.util.ArrayList)7 EntryCreator (org.jbei.ice.lib.entry.EntryCreator)5 Entry (org.jbei.ice.storage.model.Entry)5 Part (org.jbei.ice.storage.model.Part)5 Group (org.jbei.ice.storage.model.Group)4 RemoteAccessModel (org.jbei.ice.storage.model.RemoteAccessModel)3 RemotePartner (org.jbei.ice.storage.model.RemotePartner)3 HashSet (java.util.HashSet)2 AccountTransfer (org.jbei.ice.lib.account.AccountTransfer)2 FolderAuthorization (org.jbei.ice.lib.dto.folder.FolderAuthorization)2 Date (java.util.Date)1 PermissionException (org.jbei.ice.lib.access.PermissionException)1 PermissionsController (org.jbei.ice.lib.access.PermissionsController)1 BulkUploadController (org.jbei.ice.lib.bulkupload.BulkUploadController)1 BulkUploadInfo (org.jbei.ice.lib.bulkupload.BulkUploadInfo)1 AccessPermission (org.jbei.ice.lib.dto.access.AccessPermission)1