/** * Loads the thumbnails for the passed collection of files. * * @param files The collection of files to handle. */ private void loadFSThumbnails(List files) { List result = new ArrayList(); try { ExperimenterData exp = (ExperimenterData) context.lookup(LookupNames.CURRENT_USER_DETAILS); long id = exp.getId(); Map<DataObject, BufferedImage> m = service.getFSThumbnailSet(ctx, files, maxLength, id); Entry<DataObject, BufferedImage> entry; Iterator<Entry<DataObject, BufferedImage>> i = m.entrySet().iterator(); BufferedImage thumb; DataObject obj; boolean valid = true; FileData f; while (i.hasNext()) { entry = i.next(); obj = entry.getKey(); thumb = entry.getValue(); if (thumb == null) { thumb = Factory.createDefaultImageThumbnail(Factory.IMAGE_ICON); } if (obj.getId() > 0) result.add(new ThumbnailData(obj.getId(), thumb, valid)); else result.add(new ThumbnailData(obj, thumb, valid)); } currentThumbs = result; } catch (Exception e) { currentThumbs = result; context.getLogger().error(this, "Cannot retrieve thumbnail: " + e.getMessage()); } }
/** * Returns the list of users who annotated that image only if the annotation cannot be unlinked. * * @param object The object the annotation is linked to. * @param annotation The annotation to handle. */ private String formatAnnotators(DataObject object, AnnotationData annotation) { StringBuffer buffer = new StringBuffer(); List<ExperimenterData> annotators = model.getAnnotators(object, annotation); if (annotators.size() == 0) return null; long userID = model.getCurrentUser().getId(); Iterator<ExperimenterData> i = annotators.iterator(); ExperimenterData annotator; int n = annotators.size() - 1; int index = 0; buffer.append(" ("); while (i.hasNext()) { annotator = i.next(); if (annotator.getId() != userID) { buffer.append(EditorUtil.formatExperimenter(annotator)); if (index != n) buffer.append(", "); index++; } } if (index == 0) return null; buffer.append(")"); return buffer.toString(); }
/** * Returns the id of the experimenter. * * @return See above. */ public long getExperimenter() { if (experimenter == null) return -1; return experimenter.getId(); }