Search in sources :

Example 26 with Folder

use of org.jbei.ice.storage.model.Folder in project ice by JBEI.

the class FolderController method getAvailableFolders.

/**
     * Retrieves folders that have been "promoted" by an administrator to
     * imply that they are to be made available to everyone on the site
     *
     * @param userId unique user identifier
     * @return list of folders that are contained under the "Available" section
     */
public ArrayList<FolderDetails> getAvailableFolders(String userId) {
    Set<Folder> folders = new HashSet<>();
    folders.addAll(dao.getFoldersByType(FolderType.PUBLIC));
    boolean isAdmin = accountController.isAdministrator(userId);
    ArrayList<FolderDetails> list = new ArrayList<>();
    for (Folder folder : folders) {
        FolderDetails details = folder.toDataTransferObject();
        long folderSize = dao.getFolderSize(folder.getId(), null, true);
        details.setCount(folderSize);
        details.setType(FolderType.PUBLIC);
        details.setCanEdit(isAdmin);
        list.add(details);
    }
    Collections.sort(list);
    return list;
}
Also used : FolderDetails(org.jbei.ice.lib.dto.folder.FolderDetails) Folder(org.jbei.ice.storage.model.Folder)

Example 27 with Folder

use of org.jbei.ice.storage.model.Folder in project ice by JBEI.

the class RemoteEntries method retrieveRemoteToolTip.

// contact the remote partner to get the tool tip
public PartData retrieveRemoteToolTip(String userId, long folderId, long partId) {
    Account account = DAOFactory.getAccountDAO().getByEmail(userId);
    Folder folder = DAOFactory.getFolderDAO().get(folderId);
    RemoteAccessModel remoteAccessModel = DAOFactory.getRemoteAccessModelDAO().getByFolder(account, folder);
    if (remoteAccessModel == null) {
        Logger.error("Could not retrieve remote access for folder " + folder.getId());
        return null;
    }
    RemotePartner remotePartner = remoteAccessModel.getRemoteClientModel().getRemotePartner();
    String url = remotePartner.getUrl();
    String token = remoteAccessModel.getToken();
    return remoteContact.getToolTipDetails(url, userId, partId, token, remotePartner.getApiKey());
}
Also used : Account(org.jbei.ice.storage.model.Account) RemotePartner(org.jbei.ice.storage.model.RemotePartner) Folder(org.jbei.ice.storage.model.Folder) RemoteAccessModel(org.jbei.ice.storage.model.RemoteAccessModel)

Example 28 with Folder

use of org.jbei.ice.storage.model.Folder in project ice by JBEI.

the class RemoteEntries method getEntryDetails.

public PartData getEntryDetails(String userId, long folderId, long partId) {
    Account account = DAOFactory.getAccountDAO().getByEmail(userId);
    Folder folder = DAOFactory.getFolderDAO().get(folderId);
    RemoteAccessModel remoteAccessModel = DAOFactory.getRemoteAccessModelDAO().getByFolder(account, folder);
    if (remoteAccessModel == null) {
        Logger.error("Could not retrieve remote access for folder " + folder.getId());
        return null;
    }
    RemotePartner remotePartner = remoteAccessModel.getRemoteClientModel().getRemotePartner();
    String url = remotePartner.getUrl();
    String token = remoteAccessModel.getToken();
    long remoteFolderId = Long.decode(remoteAccessModel.getIdentifier());
    return remoteContact.getRemoteEntry(url, userId, partId, remoteFolderId, token, remotePartner.getApiKey());
}
Also used : Account(org.jbei.ice.storage.model.Account) RemotePartner(org.jbei.ice.storage.model.RemotePartner) Folder(org.jbei.ice.storage.model.Folder) RemoteAccessModel(org.jbei.ice.storage.model.RemoteAccessModel)

Example 29 with Folder

use of org.jbei.ice.storage.model.Folder in project ice by JBEI.

the class RemoteEntries method getSequence.

public FeaturedDNASequence getSequence(String userId, long folderId, String entryId) {
    Account account = DAOFactory.getAccountDAO().getByEmail(userId);
    Folder folder = DAOFactory.getFolderDAO().get(folderId);
    RemoteAccessModel remoteAccessModel = DAOFactory.getRemoteAccessModelDAO().getByFolder(account, folder);
    if (remoteAccessModel == null) {
        Logger.error("Could not retrieve remote access for folder " + folder.getId());
        return null;
    }
    RemotePartner remotePartner = remoteAccessModel.getRemoteClientModel().getRemotePartner();
    String token = remoteAccessModel.getToken();
    long remoteFolderId = Long.decode(remoteAccessModel.getIdentifier());
    return remoteContact.getSequence(remotePartner.getUrl(), userId, entryId, remoteFolderId, token, remotePartner.getApiKey());
}
Also used : Account(org.jbei.ice.storage.model.Account) RemotePartner(org.jbei.ice.storage.model.RemotePartner) Folder(org.jbei.ice.storage.model.Folder) RemoteAccessModel(org.jbei.ice.storage.model.RemoteAccessModel)

Example 30 with Folder

use of org.jbei.ice.storage.model.Folder in project ice by JBEI.

the class Entries method getFolderEntries.

// todo : folder controller
protected List<Long> getFolderEntries(long folderId, boolean all, EntryType type) {
    Folder folder = DAOFactory.getFolderDAO().get(folderId);
    FolderAuthorization folderAuthorization = new FolderAuthorization();
    folderAuthorization.expectRead(userId, folder);
    if (all)
        type = null;
    boolean visibleOnly = folder.getType() != FolderType.TRANSFERRED;
    return DAOFactory.getFolderDAO().getFolderContentIds(folderId, type, visibleOnly);
}
Also used : FolderAuthorization(org.jbei.ice.lib.dto.folder.FolderAuthorization) Folder(org.jbei.ice.storage.model.Folder)

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