public static void annotationToDocumentModel(Annotation annotation, DocumentModel documentModel) { commentToDocumentModel(annotation, documentModel); documentModel.setPropertyValue(ANNOTATION_XPATH_PROPERTY, annotation.getXpath()); }
@Override protected void writeEntityBody(Annotation entity, JsonGenerator jg) throws IOException { writeCommentEntity(entity, jg); jg.writeStringField(ANNOTATION_XPATH, entity.getXpath()); // Write permissions of current user on the annotation, // which are the ones granted on the annotated document CoreSession session = ctx.getSession(null).getSession(); NuxeoPrincipal principal = session.getPrincipal(); PermissionProvider permissionProvider = Framework.getService(PermissionProvider.class); Collection<String> permissions = CoreInstance.doPrivileged(session, s -> { return s.filterGrantedPermissions(principal, new IdRef(entity.getParentId()), Arrays.asList(permissionProvider.getPermissions())); }); jg.writeArrayFieldStart(ANNOTATION_PERMISSIONS); for (String permission : permissions) { jg.writeString(permission); } jg.writeEndArray(); } }