Obtener usuario y grupo que ha modificado un contenido

Para obtener el usuario que modificó un contenido por última vez  y los grupos a los que pertenece podemos usar dentro de una página jsp de OpenCms (que puede ser un template o una función) el siguiente código:


<%@page buffer="none" session="false" taglibs="c,cms,fn" %>
<%@ page import="org.opencms.jsp.*" %>
<%@ page import="org.opencms.file.*" %>
<%@ page import="org.opencms.util.*" %>
<%@ page import="java.util.*" %>

...

...

CmsJspActionElement cms = new CmsJspActionElement(pageContext, request, response);
CmsJspNavBuilder nav = cms.getNavigation();
String filename = cms.getRequestContext().getUri();
String lm = org.opencms.util.CmsDateUtil.getDateShort(cms.getCmsObject().readFile(filename).getDateLastModified());
CmsResource res=cms.getCmsObject().readFile(filename);
if(lm != null){
out.print("<div class=\"txtalignright\">Last Updated: " + lm + "</div>");
}
if(res != null){
CmsUUID uuid=res.getUserLastModified();
CmsUser user=cms.getCmsObject().readUser(uuid);

out.print("<div class=\"txtalignright\">User Last Updated: " + user.getName()+" "+user.getEmail()+ "</div>");
// out.print("<div class=\"txtalignright\">User Last Updated: " + uid + "</div>");

// Getting the groups of the users
List groups = cms.getCmsObject().getGroupsOfUser(user.getName(),false);
Iterator it= groups.iterator();
while (it.hasNext()) {
CmsGroup cmsGroup = (CmsGroup) it.next();
out.println("<div class=\"txtalignright\">GRUPO "+ cmsGroup.getName() + "</div>");
}
}