@Override DirectoryEntry run(Session session) { DocumentModel docEntry = session.createEntry(entry.getDocumentModel()); return new DirectoryEntry(directory.getName(), docEntry); } });
@Override public List<DirectoryEntry> getCurrentPage() { Object[] parameters = getParameters(); if (parameters == null || parameters.length > 1) { throw new IllegalStateException("Invalid parameters: " + Arrays.toString(parameters)); } if (!(parameters[0] instanceof Directory)) { throw new IllegalStateException("Provided parameter is not a Directory: " + parameters[0]); } Directory directory = (Directory) parameters[0]; try (Session session = directory.getSession()) { return session.query(Collections.emptyMap(), Collections.emptySet(), Collections.emptyMap(), false, (int) getPageSize(), (int) getCurrentPageOffset()) .stream() .map(dir -> new DirectoryEntry(directory.getName(), dir)) .collect(Collectors.toList()); } } }
@Override DirectoryEntry run(Session session) { session.deleteEntry(entry.getDocumentModel()); return null; } });
private Directory getDirectoryFromEntry(final DirectoryEntry entry) { DirectoryService ds = Framework.getService(DirectoryService.class); Directory directory; try { directory = ds.getDirectory(entry.getDirectoryName()); } catch (DirectoryException e) { throw new WebResourceNotFoundException("directory not found"); } return directory; }
@Override Object run(Session session) { DocumentModel entry = session.getEntry(entryId); if (entry == null) { throw new WebResourceNotFoundException("Entry not found"); } return newObject("directoryEntry", new DirectoryEntry(directory.getName(), entry), entryId); } });
@Override DirectoryEntry run(Session session) { try { DocumentModel docEntry = entry.getDocumentModel(); session.updateEntry(docEntry); return new DirectoryEntry(directory.getName(), session.getEntry(docEntry.getId())); } catch (DirectoryException e) { throw new NuxeoException(e.getMessage(), SC_BAD_REQUEST); } } });