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;
}
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());
}
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());
}
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());
}
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);
}
Aggregations