[jboss-svn-commits] JBoss Portal SVN: r5382 - in trunk/core/src: main/org/jboss/portal/core/portlet/user resources/portal-core-war/WEB-INF/classes resources/portal-core-war/WEB-INF/jsp/user

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Oct 9 16:54:48 EDT 2006


Author: roy.russo at jboss.com
Date: 2006-10-09 16:54:45 -0400 (Mon, 09 Oct 2006)
New Revision: 5382

Added:
   trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser_admin.jsp
Modified:
   trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
   trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource.properties
   trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties
   trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_es.properties
   trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_fr.properties
   trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/menu.jsp
   trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser.jsp
Log:
JBPORTAL-1073 - ui/functionality enhancements to userportlet.

Modified: trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java
===================================================================
--- trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java	2006-10-09 20:35:52 UTC (rev 5381)
+++ trunk/core/src/main/org/jboss/portal/core/portlet/user/UserPortlet.java	2006-10-09 20:54:45 UTC (rev 5382)
@@ -68,887 +68,1058 @@
  * @version $Revision$
  */
 public class UserPortlet
-        extends JBossPortlet {
+   extends JBossPortlet
+{
 
-    /**
-     * The class logger.
-     */
-    public static final Logger log = Logger.getLogger(JBossPortlet.class);
+   /**
+    * The class logger.
+    */
+   public static final Logger log = Logger.getLogger(JBossPortlet.class);
 
-    /**
-     * Render operation to show the login screen.
-     */
-    public static final String OP_SHOWLOGIN = "showLogin";
+   /**
+    * Render operation to show the login screen.
+    */
+   public static final String OP_SHOWLOGIN = "showLogin";
 
-    /**
-     * Render operation to show the register screen.
-     */
-    public static final String OP_SHOWREGISTER = "showRegister";
+   /**
+    * Render operation to show the register screen.
+    */
+   public static final String OP_SHOWREGISTER = "showRegister";
 
-    /**
-     * Render operation to show the register thankyou screen.
-     */
-    public static final String OP_SHOWREGISTER_TY = "showRegisterty";
+   /**
+    * Render operation to show the register thankyou screen.
+    */
+   public static final String OP_SHOWREGISTER_TY = "showRegisterty";
 
-    /**
-     * Render operation to show the user menu screen.
-     */
-    public static final String OP_SHOWMENU = "showMenu";
+   /**
+    * Render operation to show the user menu screen.
+    */
+   public static final String OP_SHOWMENU = "showMenu";
 
-    /**
-     * Render operation to show the user profile to edit.
-     */
-    public static final String OP_SHOWPROFILE = "showProfile";
+   /**
+    * Render operation to show the user profile to edit.
+    */
+   public static final String OP_SHOWPROFILE = "showProfile";
 
-    /**
-     * Render operation to show the screen to assign roles to a user.
-     */
-    public static final String OP_SHOWADDROLESTOUSER = "showAddRolesToUser";
+   /**
+    * Render operation to show the screen to assign roles to a user.
+    */
+   public static final String OP_SHOWADDROLESTOUSER = "showAddRolesToUser";
 
-    /**
-     * Render operation to show the list of users.
-     */
-    public static final String OP_SHOWLISTUSERS = "showListUsers";
+   /**
+    * Render operation to show the list of users.
+    */
+   public static final String OP_SHOWLISTUSERS = "showListUsers";
 
-    /**
-     * Logout the user.
-     */
-    public static final String OP_USERLOGOUT = "userLogout";
+   /**
+    * Logout the user.
+    */
+   public static final String OP_USERLOGOUT = "userLogout";
 
-    /**
-     * Deletes the user
-     */
-    public static final String OP_DELETEUSER = "deleteUser";
+   /**
+    * Deletes the user
+    */
+   public static final String OP_DELETEUSER = "deleteUser";
 
-    private UserModule userModule;
-    private RoleModule roleModule;
-    private MailModule mailModule;
-    private PortletHelper portletHelper;
-    public static final short UNDEFINED_TIMEZONE = (short) 0;
+   private UserModule userModule;
+   private RoleModule roleModule;
+   private MailModule mailModule;
+   private PortletHelper portletHelper;
+   public static final short UNDEFINED_TIMEZONE = (short)0;
 
-    /**
-     * init method of the portlet, Setting up the diffrent modules used.
-     *
-     * @throws PortletException If a module cannot be looked up.
-     */
-    public void init()
-            throws PortletException {
-        super.init();
+   /**
+    * init method of the portlet, Setting up the diffrent modules used.
+    *
+    * @throws PortletException If a module cannot be looked up.
+    */
+   public void init()
+      throws PortletException
+   {
+      super.init();
 
-        //
-        userModule = (UserModule) getPortletContext().getAttribute("UserModule");
-        roleModule = (RoleModule) getPortletContext().getAttribute("RoleModule");
-        mailModule = (MailModule) getPortletContext().getAttribute("MailModule");
-        portletHelper = new PortletHelper(this);
+      //
+      userModule = (UserModule)getPortletContext().getAttribute("UserModule");
+      roleModule = (RoleModule)getPortletContext().getAttribute("RoleModule");
+      mailModule = (MailModule)getPortletContext().getAttribute("MailModule");
+      portletHelper = new PortletHelper(this);
 
-        //
-        if (userModule == null) {
-            throw new PortletException("No user module");
-        }
-        if (roleModule == null) {
-            throw new PortletException("No role module");
-        }
-        if (mailModule == null) {
-            throw new PortletException("No mail module");
-        }
-    }
+      //
+      if (userModule == null)
+      {
+         throw new PortletException("No user module");
+      }
+      if (roleModule == null)
+      {
+         throw new PortletException("No role module");
+      }
+      if (mailModule == null)
+      {
+         throw new PortletException("No mail module");
+      }
+   }
 
-    public void destroy() {
-        super.destroy();
+   public void destroy()
+   {
+      super.destroy();
 
-        //
-        userModule = null;
-        roleModule = null;
-        mailModule = null;
-        portletHelper = null;
-    }
+      //
+      userModule = null;
+      roleModule = null;
+      mailModule = null;
+      portletHelper = null;
+   }
 
-    public String getDefaultOperation() {
-        return OP_SHOWLOGIN;
-    }
+   public String getDefaultOperation()
+   {
+      return OP_SHOWLOGIN;
+   }
 
-    /**
-     * doView method
-     *
-     * @param req  Render request
-     * @param resp render response
-     * @throws PortletException         DOCUMENT_ME
-     * @throws PortletSecurityException DOCUMENT_ME
-     * @throws IOException              DOCUMENT_ME
-     */
-    protected void doView(JBossRenderRequest req, JBossRenderResponse resp)
-            throws PortletException,
-            PortletSecurityException,
-            IOException {
-        String op;
-        resp.setContentType("text/html");
-        PrintWriter writer = resp.getWriter();
+   /**
+    * doView method
+    *
+    * @param req  Render request
+    * @param resp render response
+    * @throws PortletException         DOCUMENT_ME
+    * @throws PortletSecurityException DOCUMENT_ME
+    * @throws IOException              DOCUMENT_ME
+    */
+   protected void doView(JBossRenderRequest req, JBossRenderResponse resp)
+      throws PortletException,
+      PortletSecurityException,
+      IOException
+   {
+      String op;
+      resp.setContentType("text/html");
+      PrintWriter writer = resp.getWriter();
 
-        if ((req.getUser() != null) && (!req.getUser().getEnabled())) {
-            req.getPortletSession().invalidate();
-            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/login.jsp");
-            PortalNode currentNode = req.getPortalNode();
-            PortalNodeURL url = resp.createRenderURL(currentNode);
-            url.setAuthenticated(Boolean.TRUE);
-            if ("1".equals(getPortletConfig().getInitParameter("useSSL"))) {
-                url.setSecure(Boolean.TRUE);
-                req.setAttribute("secureURL", url.toString());
+      if ((req.getUser() != null) && (!req.getUser().getEnabled()))
+      {
+         req.getPortletSession().invalidate();
+         PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/login.jsp");
+         PortalNode currentNode = req.getPortalNode();
+         PortalNodeURL url = resp.createRenderURL(currentNode);
+         url.setAuthenticated(Boolean.TRUE);
+         if ("1".equals(getPortletConfig().getInitParameter("useSSL")))
+         {
+            url.setSecure(Boolean.TRUE);
+            req.setAttribute("secureURL", url.toString());
+         }
+         url.setSecure(null);
+         req.setAttribute("URL", url.toString());
+         rd.include(req, resp);
+         return;
+      }
+
+      if (req.getRemoteUser() != null)
+      {
+         if (req.getWindowState() != WindowState.MAXIMIZED)
+         {
+            op = OP_SHOWMENU;
+         }
+         else
+         {
+            op = req.getParameters().get(getOperationName(),
+               OP_SHOWMENU);
+            // Because of the automatic redirection
+            if (op.equals(OP_SHOWLOGIN))
+            {
+               op = OP_SHOWMENU;
             }
-            url.setSecure(null);
-            req.setAttribute("URL", url.toString());
-            rd.include(req, resp);
-            return;
-        }
+         }
 
-        if (req.getRemoteUser() != null) {
-            if (req.getWindowState() != WindowState.MAXIMIZED) {
-                op = OP_SHOWMENU;
-            } else {
-                op = req.getParameters().get(getOperationName(),
-                        OP_SHOWMENU);
-                // Because of the automatic redirection
-                if (op.equals(OP_SHOWLOGIN)) {
-                    op = OP_SHOWMENU;
-                }
+         Locale requestLocale = req.getLocale();
+         ResourceBundle bundle = getResourceBundle(requestLocale);
+         if (OP_SHOWPROFILE.equals(op))
+         {
+            String userid = req.getParameters().getParameter("userid");
+            User user = null;
+            if (userid != null)
+            {
+               try
+               {
+                  user = userModule.findUserById(userid);
+               }
+               catch (Exception e)
+               {
+                  log.error("Cannot retrive user", e);
+               }
             }
+            else
+            {
+               user = req.getUser();
+            }
 
-            Locale requestLocale = req.getLocale();
-            ResourceBundle bundle = getResourceBundle(requestLocale);
-            if (OP_SHOWPROFILE.equals(op)) {
-                String userid = req.getParameters().getParameter("userid");
-                User user = null;
-                if (userid != null) {
-                    try {
-                        user = userModule.findUserById(userid);
-                    }
-                    catch (Exception e) {
-                        log.error("Cannot retrive user", e);
-                    }
-                } else {
-                    user = req.getUser();
-                }
+            // Validate we have a user object
+            if (user == null)
+            {
+               throw new PortletException("Not user object found");
+            }
 
-                // Validate we have a user object
-                if (user == null) {
-                    throw new PortletException("Not user object found");
-                }
+            //
+            DelegateContext ctx = new DelegateContext();
 
-                //
-                DelegateContext ctx = new DelegateContext();
+            //
+            ctx.put("userid", user.getId().toString());
+            fillContextWithUserProfile(user, ctx);
 
-                //
-                ctx.put("userid", user.getId().toString());
-                fillContextWithUserProfile(user, ctx);
+            //
+            String selectedTimeZone = (String)user.getProfile().get(User.INFO_USER_TIME_ZONE_OFFSET);
+            for (int i = 0; i < UserPortletConstants.TIME_ZONE_OFFSETS.length; i++)
+            {
+               if (UserPortletConstants.TIME_ZONE_OFFSETS[i] != null)
+               {
+                  DelegateContext timeZoneCtx = ctx.next("timezone");
+                  timeZoneCtx.put("name", UserPortletConstants.TIME_ZONE_OFFSETS[i]);
+                  timeZoneCtx.put("id", "" + i);
+                  if (selectedTimeZone != null && selectedTimeZone.equals("" + i))
+                  {
+                     timeZoneCtx.put("selected", "selected");
+                  }
+               }
+            }
 
-                //
-                String selectedTimeZone = (String) user.getProfile().get(User.INFO_USER_TIME_ZONE_OFFSET);
-                for (int i = 0; i < UserPortletConstants.TIME_ZONE_OFFSETS.length; i++) {
-                    if (UserPortletConstants.TIME_ZONE_OFFSETS[i] != null) {
-                        DelegateContext timeZoneCtx = ctx.next("timezone");
-                        timeZoneCtx.put("name", UserPortletConstants.TIME_ZONE_OFFSETS[i]);
-                        timeZoneCtx.put("id", "" + i);
-                        if (selectedTimeZone != null && selectedTimeZone.equals("" + i)) {
-                            timeZoneCtx.put("selected", "selected");
-                        }
-                    }
-                }
+            //
+            String selectedLocale = (String)user.getProfile().get(User.INFO_USER_LOCALE);
+            for (Iterator i = LocaleInfo.getAll().iterator(); i.hasNext();)
+            {
+               LocaleInfo info = (LocaleInfo)i.next();
+               Locale locale = info.getLocale();
+               DelegateContext localeCtx = ctx.next("locale");
+               localeCtx.put("name", locale.getDisplayName(requestLocale));
+               localeCtx.put("id", locale.toString());
+               if (selectedLocale != null && selectedLocale.equals(locale.toString()))
+               {
+                  localeCtx.put("selected", "selected");
+               }
+            }
 
-                //
-                String selectedLocale = (String) user.getProfile().get(User.INFO_USER_LOCALE);
-                for (Iterator i = LocaleInfo.getAll().iterator(); i.hasNext();) {
-                    LocaleInfo info = (LocaleInfo) i.next();
-                    Locale locale = info.getLocale();
-                    DelegateContext localeCtx = ctx.next("locale");
-                    localeCtx.put("name", locale.getDisplayName(requestLocale));
-                    localeCtx.put("id", locale.toString());
-                    if (selectedLocale != null && selectedLocale.equals(locale.toString())) {
-                        localeCtx.put("selected", "selected");
-                    }
-                }
+            //
+            String selectedTheme = (String)user.getProfile().get(User.INFO_USER_THEME);
+            ThemeService themeService = (ThemeService)getPortletContext().getAttribute("ThemeService");
+            for (Iterator i = themeService.getThemes().iterator(); i.hasNext();)
+            {
+               PortalTheme theme = (PortalTheme)i.next();
+               ThemeInfo info = theme.getThemeInfo();
+               DelegateContext themeCtx = ctx.next("theme");
+               themeCtx.put("name", info.getAppId() + "." + info.getName());
+               themeCtx.put("id", info.getRegistrationId().toString());
+               if ((selectedTheme != null) && selectedTheme.equals(info.getRegistrationId().toString()))
+               {
+                  themeCtx.put("selected", "selected");
+               }
+            }
 
-                //
-                String selectedTheme = (String) user.getProfile().get(User.INFO_USER_THEME);
-                ThemeService themeService = (ThemeService) getPortletContext().getAttribute("ThemeService");
-                for (Iterator i = themeService.getThemes().iterator(); i.hasNext();) {
-                    PortalTheme theme = (PortalTheme) i.next();
-                    ThemeInfo info = theme.getThemeInfo();
-                    DelegateContext themeCtx = ctx.next("theme");
-                    themeCtx.put("name", info.getAppId() + "." + info.getName());
-                    themeCtx.put("id", info.getRegistrationId().toString());
-                    if ((selectedTheme != null) && selectedTheme.equals(info.getRegistrationId().toString())) {
-                        themeCtx.put("selected", "selected");
-                    }
-                }
+            //
+            req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
+            resp.setTitle(bundle.getString("REGISTER_PERSONALINFO"));
+            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/editProfile.jsp");
+            rd.include(req, resp);
+         }
+         else if (OP_SHOWMENU.equals(op))
+         {
+            DelegateContext ctx = new DelegateContext();
+            if (req.isUserInRole("Admin"))
+            {
+               ctx.next("admin");
+            }
+            req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
+            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/menu.jsp");
+            rd.include(req, resp);
 
-                //
-                req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
-                resp.setTitle(bundle.getString("REGISTER_PERSONALINFO"));
-                PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/editProfile.jsp");
-                rd.include(req, resp);
-            } else if (OP_SHOWMENU.equals(op)) {
-                DelegateContext ctx = new DelegateContext();
-                if (req.isUserInRole("Admin")) {
-                    ctx.next("admin");
-                }
-                req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
-                PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/menu.jsp");
-                rd.include(req, resp);
+         }
+         else if (OP_SHOWLISTUSERS.equals(op))
+         {
+            if (req.isUserInRole("Admin"))
+            {
+               try
+               {
+                  int offset = req.getParameters().getInt("offset", 0);
+                  int usersPerPage = req.getParameters().getInt("usersperpage", UserPortletConstants.DEFAULT_USERSPERPAGE);
+                  String usernameFilter = req.getParameters().get("usernamefilter", "");
 
-            } else if (OP_SHOWLISTUSERS.equals(op)) {
-                if (req.isUserInRole("Admin")) {
-                    try {
-                        int offset = req.getParameters().getInt("offset", 0);
-                        int usersPerPage = req.getParameters().getInt("usersperpage", UserPortletConstants.DEFAULT_USERSPERPAGE);
-                        String usernameFilter = req.getParameters().get("usernamefilter", "");
+                  // We get usersPerPage + 1 entries so we can know if there is
+                  // a next page
+                  // It's tricky but it avoids to make 2 queries.
+                  Set users = null;
+                  if (usernameFilter.trim().length() == 0)
+                  {
+                     users = userModule.findUsers(offset, usersPerPage + 1);
+                  }
+                  else
+                  {
+                     users = userModule.findUsersFilteredByUserName(usernameFilter, offset, usersPerPage + 1);
+                  }
 
-                        // We get usersPerPage + 1 entries so we can know if there is
-                        // a next page
-                        // It's tricky but it avoids to make 2 queries.
-                        Set users = null;
-                        if (usernameFilter.trim().length() == 0) {
-                            users = userModule.findUsers(offset, usersPerPage + 1);
-                        } else {
-                            users = userModule.findUsersFilteredByUserName(usernameFilter, offset, usersPerPage + 1);
-                        }
+                  User[] usersArray = new User[users.size()];
+                  usersArray = (User[])users.toArray(usersArray);
+                  DelegateContext ctx = new DelegateContext();
 
-                        User[] usersArray = new User[users.size()];
-                        usersArray = (User[]) users.toArray(usersArray);
-                        DelegateContext ctx = new DelegateContext();
+                  DelegateContext rowCtx = null;
+                  for (int i = 0; i < Math.min(usersArray.length, usersPerPage); i++)
+                  {
+                     int oddeven = i % 2;
+                     User user = usersArray[i];
+                     if (oddeven == 0)
+                     {
+                        rowCtx = ctx.next("row");
+                     }
 
-                        DelegateContext rowCtx = null;
-                        for (int i = 0; i < Math.min(usersArray.length, usersPerPage); i++) {
-                            int oddeven = i % 2;
-                            User user = usersArray[i];
-                            if (oddeven == 0) {
-                                rowCtx = ctx.next("row");
-                            }
+                     rowCtx.put("fullname" + oddeven, getFullName(bundle, user));
+                     rowCtx.put("username" + oddeven, user.getUserName());
 
-                            rowCtx.put("fullname" + oddeven, getFullName(bundle, user));
-                            rowCtx.put("username" + oddeven, user.getUserName());
+                     //
+                     Iterator itRoles = roleModule.getRoles(user).iterator();
+                     while (itRoles.hasNext())
+                     {
+                        DelegateContext rolesCtx = rowCtx.next("roles" + oddeven);
+                        rolesCtx.put("name", ((Role)itRoles.next()).getDisplayName());
+                     }
 
-                            //
-                            Iterator itRoles = roleModule.getRoles(user).iterator();
-                            while (itRoles.hasNext()) {
-                                DelegateContext rolesCtx = rowCtx.next("roles" + oddeven);
-                                rolesCtx.put("name", ((Role) itRoles.next()).getDisplayName());
-                            }
+                     PortletURL editURL = resp.createRenderURL();
+                     editURL.setParameter(getOperationName(), OP_SHOWPROFILE);
+                     editURL.setParameter("userid", "" + user.getId());
 
-                            PortletURL editURL = resp.createRenderURL();
-                            editURL.setParameter(getOperationName(), OP_SHOWPROFILE);
-                            editURL.setParameter("userid", "" + user.getId());
+                     PortletURL rolesURL = resp.createRenderURL();
+                     rolesURL.setParameter(getOperationName(), OP_SHOWADDROLESTOUSER);
+                     rolesURL.setParameter("userid", "" + user.getId());
 
-                            PortletURL rolesURL = resp.createRenderURL();
-                            rolesURL.setParameter(getOperationName(), OP_SHOWADDROLESTOUSER);
-                            rolesURL.setParameter("userid", "" + user.getId());
+                     PortletURL deleteUrl = resp.createActionURL();
+                     deleteUrl.setParameter(getOperationName(), OP_DELETEUSER);
+                     deleteUrl.setParameter("userid", "" + user.getId());
 
-                            PortletURL deleteUrl = resp.createActionURL();
-                            deleteUrl.setParameter(getOperationName(), OP_DELETEUSER);
-                            deleteUrl.setParameter("userid", "" + user.getId());
+                     rowCtx.put("editURL" + oddeven, editURL.toString());
+                     rowCtx.put("rolesURL" + oddeven, rolesURL.toString());
+                     rowCtx.put("deleteURL" + oddeven, deleteUrl.toString());
+                  }
 
-                            rowCtx.put("editURL" + oddeven, editURL.toString());
-                            rowCtx.put("rolesURL" + oddeven, rolesURL.toString());
-                            rowCtx.put("deleteURL" + oddeven, deleteUrl.toString());
-                        }
+                  if (offset != 0)
+                  {
+                     PortletURL previousPageLink = resp.createRenderURL();
+                     previousPageLink.setParameter(getOperationName(), OP_SHOWLISTUSERS);
+                     previousPageLink.setParameter("offset", "" + Math.max(0, offset - usersPerPage));
+                     previousPageLink.setParameter("usersperpage", "" + usersPerPage);
+                     previousPageLink.setParameter("usernamefilter", usernameFilter);
+                     DelegateContext previousCtx = ctx.next("previouspage");
+                     previousCtx.put("link", previousPageLink.toString());
+                  }
 
-                        if (offset != 0) {
-                            PortletURL previousPageLink = resp.createRenderURL();
-                            previousPageLink.setParameter(getOperationName(), OP_SHOWLISTUSERS);
-                            previousPageLink.setParameter("offset", "" + Math.max(0, offset - usersPerPage));
-                            previousPageLink.setParameter("usersperpage", "" + usersPerPage);
-                            previousPageLink.setParameter("usernamefilter", usernameFilter);
-                            DelegateContext previousCtx = ctx.next("previouspage");
-                            previousCtx.put("link", previousPageLink.toString());
-                        }
+                  if (usersArray.length > usersPerPage)
+                  {
+                     PortletURL nextPageLink = resp.createRenderURL();
+                     nextPageLink.setParameter(getOperationName(), OP_SHOWLISTUSERS);
+                     nextPageLink.setParameter("offset", "" + (offset + usersPerPage));
+                     nextPageLink.setParameter("usersperpage", "" + usersPerPage);
+                     nextPageLink.setParameter("usernamefilter", usernameFilter);
+                     DelegateContext nextCtx = ctx.next("nextpage");
+                     nextCtx.put("link", nextPageLink.toString());
+                  }
 
-                        if (usersArray.length > usersPerPage) {
-                            PortletURL nextPageLink = resp.createRenderURL();
-                            nextPageLink.setParameter(getOperationName(), OP_SHOWLISTUSERS);
-                            nextPageLink.setParameter("offset", "" + (offset + usersPerPage));
-                            nextPageLink.setParameter("usersperpage", "" + usersPerPage);
-                            nextPageLink.setParameter("usernamefilter", usernameFilter);
-                            DelegateContext nextCtx = ctx.next("nextpage");
-                            nextCtx.put("link", nextPageLink.toString());
-                        }
+                  ctx.put("usernamefilter", usernameFilter);
+                  req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
+               }
+               catch (IllegalArgumentException e)
+               {
+                  // TODO Auto-generated catch block
+                  e.printStackTrace();
+               }
+               catch (IdentityException e)
+               {
+                  // TODO Auto-generated catch block
+                  e.printStackTrace();
+               }
 
-                        ctx.put("usernamefilter", usernameFilter);
-                        req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
-                    }
-                    catch (IllegalArgumentException e) {
-                        // TODO Auto-generated catch block
-                        e.printStackTrace();
-                    }
-                    catch (IdentityException e) {
-                        // TODO Auto-generated catch block
-                        e.printStackTrace();
-                    }
+               PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/listUsers.jsp");
+               rd.include(req, resp);
+            }
+         }
+         else if (OP_SHOWADDROLESTOUSER.equals(op))
+         {
+            if (req.isUserInRole("Admin"))
+            {
+               DelegateContext ctx = new DelegateContext();
 
-                    PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/listUsers.jsp");
-                    rd.include(req, resp);
-                }
-            } else if (OP_SHOWADDROLESTOUSER.equals(op)) {
-                if (req.isUserInRole("Admin")) {
-                    DelegateContext ctx = new DelegateContext();
+               try
+               {
+                  User user = userModule.findUserById(req.getParameter("userid"));
+                  ctx.put("userid", user.getId().toString());
+                  ctx.put("username", user.getUserName());
+                  ctx.put("userfullname", getFullName(bundle, user));
+                  Set userRoles = roleModule.getRoles(user);
 
-                    try {
-                        User user = userModule.findUserById(req.getParameter("userid"));
-                        ctx.put("userid", user.getId().toString());
-                        ctx.put("username", user.getUserName());
-                        ctx.put("userfullname", getFullName(bundle, user));
-                        Set userRoles = roleModule.getRoles(user);
+                  Set roles = roleModule.findRoles();
+                  Role[] rolesArray = new Role[roles.size()];
+                  rolesArray = (Role[])roles.toArray(rolesArray);
+                  Role role = null;
+                  DelegateContext rowCtx = null;
+                  for (int i = 0; i < rolesArray.length; i++)
+                  {
+                     int oddeven = i % 3;
+                     role = rolesArray[i];
+                     if (oddeven == 0)
+                     {
+                        rowCtx = ctx.next("row");
+                     }
 
-                        Set roles = roleModule.findRoles();
-                        Role[] rolesArray = new Role[roles.size()];
-                        rolesArray = (Role[]) roles.toArray(rolesArray);
-                        Role role = null;
-                        DelegateContext rowCtx = null;
-                        for (int i = 0; i < rolesArray.length; i++) {
-                            int oddeven = i % 3;
-                            role = rolesArray[i];
-                            if (oddeven == 0) {
-                                rowCtx = ctx.next("row");
-                            }
+                     DelegateContext colCtx = rowCtx.next("col");
+                     if (userRoles.contains(role))
+                     {
+                        colCtx.put("ischecked", "checked");
+                     }
 
-                            DelegateContext colCtx = rowCtx.next("col");
-                            if (userRoles.contains(role)) {
-                                colCtx.put("ischecked", "checked");
-                            }
+                     colCtx.put("name", role.getName());
+                     colCtx.put("displayname", role.getDisplayName());
+                  }
+               }
+               catch (IllegalArgumentException e)
+               {
+                  // TODO Auto-generated catch block
+                  e.printStackTrace();
+               }
+               catch (IdentityException e)
+               {
+                  // TODO Auto-generated catch block
+                  e.printStackTrace();
+               }
 
-                            colCtx.put("name", role.getName());
-                            colCtx.put("displayname", role.getDisplayName());
-                        }
-                    }
-                    catch (IllegalArgumentException e) {
-                        // TODO Auto-generated catch block
-                        e.printStackTrace();
-                    }
-                    catch (IdentityException e) {
-                        // TODO Auto-generated catch block
-                        e.printStackTrace();
-                    }
-
-                    req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
-                    PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/editUserRoles.jsp");
-                    rd.include(req, resp);
-                }
-            } else if (OP_SHOWREGISTER.equals(op)) {
-                if (req.isUserInRole("Admin")) {
-                    PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/registerUser.jsp");
-                    rd.include(req, resp);
-                }
-            } else {
-                log.error("This operation does not exist when user is logged in:" + op);
+               req.setAttribute(PortalJsp.CTX_REQUEST, ctx);
+               PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/editUserRoles.jsp");
+               rd.include(req, resp);
             }
-        } else {
-            // User is not logged in
-            if (req.getWindowState() != WindowState.MAXIMIZED) {
-                op = OP_SHOWLOGIN;
-            } else {
-                op = req.getParameters().get(getOperationName(), OP_SHOWLOGIN);
+         }
+         else if (OP_SHOWREGISTER.equals(op))
+         {
+            if (req.isUserInRole("Admin"))
+            {
+               PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/registerUser.jsp");
+               rd.include(req, resp);
             }
+         }
+         else if (OP_SHOWREGISTER_TY.equals(op))
+         {
+            if (req.isUserInRole("Admin"))
+            {
+               PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/registerUser_admin.jsp");
+               rd.include(req, resp);
+            }
+         }
+         else
+         {
+            log.error("This operation does not exist when user is logged in:" + op);
+         }
+      }
+      else
+      {
+         // User is not logged in
+         if (req.getWindowState() != WindowState.MAXIMIZED)
+         {
+            op = OP_SHOWLOGIN;
+         }
+         else
+         {
+            op = req.getParameters().get(getOperationName(), OP_SHOWLOGIN);
+         }
 
-            if (OP_SHOWREGISTER.equals(op)) {
-                PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/register.jsp");
-                rd.include(req, resp);
-            } else if (OP_SHOWREGISTER_TY.equals(op)) {
-                PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/register_ty.jsp");
-                PortalNode currentNode = Navigation.getCurrentNode();
-                PortalNodeURL url = resp.createRenderURL(currentNode);
-                url.setAuthenticated(Boolean.TRUE);
-                if ("1".equals(getPortletConfig().getInitParameter("useSSL"))) {
-                    url.setSecure(Boolean.TRUE);
-                    req.setAttribute("secureURL", url.toString());
-                }
-                url.setSecure(null);
-                req.setAttribute("URL", url.toString());
-                rd.include(req, resp);
-            } else if (OP_SHOWLOGIN.equals(op)) {
-                PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/login.jsp");
-                rd.include(req, resp);
-            } else {
-                log.error("This operation does not exist when user is not logged in:" + op);
+         if (OP_SHOWREGISTER.equals(op))
+         {
+            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/register.jsp");
+            rd.include(req, resp);
+         }
+         else if (OP_SHOWREGISTER_TY.equals(op))
+         {
+            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/register_ty.jsp");
+            PortalNode currentNode = Navigation.getCurrentNode();
+            PortalNodeURL url = resp.createRenderURL(currentNode);
+            url.setAuthenticated(Boolean.TRUE);
+            if ("1".equals(getPortletConfig().getInitParameter("useSSL")))
+            {
+               url.setSecure(Boolean.TRUE);
+               req.setAttribute("secureURL", url.toString());
             }
-        }
+            url.setSecure(null);
+            req.setAttribute("URL", url.toString());
+            rd.include(req, resp);
+         }
+         else if (OP_SHOWLOGIN.equals(op))
+         {
+            PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/WEB-INF/jsp/user/login.jsp");
+            rd.include(req, resp);
+         }
+         else
+         {
+            log.error("This operation does not exist when user is not logged in:" + op);
+         }
+      }
 
-        writer.close();
-    }
+      writer.close();
+   }
 
 
-    /**
-     *
-     */
-    public void showListUsers(JBossActionRequest actionRequest, JBossActionResponse actionResponse) throws IOException {
-        if (actionRequest.isUserInRole("Admin")) {
-            actionResponse.setRenderParameter("usernamefilter", actionRequest.getParameter("usernamefilter"));
-            actionResponse.setRenderParameter("usersperpage", actionRequest.getParameter("usersperpage"));
-            actionResponse.setRenderParameter("op", OP_SHOWLISTUSERS);
-        }
-    }
+   /**
+    *
+    */
+   public void showListUsers(JBossActionRequest actionRequest, JBossActionResponse actionResponse) throws IOException
+   {
+      if (actionRequest.isUserInRole("Admin"))
+      {
+         actionResponse.setRenderParameter("usernamefilter", actionRequest.getParameter("usernamefilter"));
+         actionResponse.setRenderParameter("usersperpage", actionRequest.getParameter("usersperpage"));
+         actionResponse.setRenderParameter("op", OP_SHOWLISTUSERS);
+      }
+   }
 
 
-    /**
-     * Performs a log out.
-     */
-    public void userLogout(JBossActionRequest req, JBossActionResponse resp) throws IOException {
-        String locationURL = req.getParameter("locationURL");
-        if (locationURL != null) {
-            resp.signOut(locationURL);
-        } else {
-            resp.signOut();
-        }
-    }
+   /**
+    * Performs a log out.
+    */
+   public void userLogout(JBossActionRequest req, JBossActionResponse resp) throws IOException
+   {
+      String locationURL = req.getParameter("locationURL");
+      if (locationURL != null)
+      {
+         resp.signOut(locationURL);
+      }
+      else
+      {
+         resp.signOut();
+      }
+   }
 
-    /**
-     * Action when a user register
-     *
-     * @param req  JBoss action request
-     * @param resp JBoss action response
-     */
-    public void userRegister(JBossActionRequest req, JBossActionResponse resp) {
-        // TODO: Check that a bot is not creating many accounts
-        String uname = req.getParameter("uname");
-        int nbErrors = 0;
-        if ((uname == null) || (uname.length() == 0)) {
-            nbErrors++;
-            resp.setRenderParameter("uname_error", "REGISTER_ERROR_INVALIDUSERNAME");
-        } else {
-            try {
-                User user = userModule.findUserByUserName(uname);
-                if (user != null) {
-                    nbErrors++;
-                    resp.setRenderParameter("uname_error", "REGISTER_ERROR_EXISTINGUSERNAME");
-                }
+   /**
+    * Action when a user register
+    *
+    * @param req  JBoss action request
+    * @param resp JBoss action response
+    */
+   public void userRegister(JBossActionRequest req, JBossActionResponse resp)
+   {
+      // TODO: Check that a bot is not creating many accounts
+      String uname = req.getParameter("uname");
+      int nbErrors = 0;
+      if ((uname == null) || (uname.length() == 0))
+      {
+         nbErrors++;
+         resp.setRenderParameter("uname_error", "REGISTER_ERROR_INVALIDUSERNAME");
+      }
+      else
+      {
+         try
+         {
+            User user = userModule.findUserByUserName(uname);
+            if (user != null)
+            {
+               nbErrors++;
+               resp.setRenderParameter("uname_error", "REGISTER_ERROR_EXISTINGUSERNAME");
             }
-            catch (IllegalArgumentException e) {
-                log.error("", e);
-            }
-            catch (IdentityException e) {
-                // Ok the user does not exist yet
-            }
-        }
+         }
+         catch (IllegalArgumentException e)
+         {
+            log.error("", e);
+         }
+         catch (IdentityException e)
+         {
+            // Ok the user does not exist yet
+         }
+      }
 
-        String pass1 = req.getParameter("pass1");
-        if ((pass1 == null) || (pass1.length() == 0)) {
-            nbErrors++;
-            resp.setRenderParameter("pass1_error", "REGISTER_ERROR_INVALIDPASSWORD1");
-        }
+      String pass1 = req.getParameter("pass1");
+      if ((pass1 == null) || (pass1.length() == 0))
+      {
+         nbErrors++;
+         resp.setRenderParameter("pass1_error", "REGISTER_ERROR_INVALIDPASSWORD1");
+      }
 
-        String pass2 = req.getParameter("pass2");
-        if ((pass2 == null) || (pass2.length() == 0)) {
-            nbErrors++;
-            resp.setRenderParameter("pass2_error", "REGISTER_ERROR_INVALIDPASSWORD2");
-        } else if (!pass1.equals(pass2)) {
-            nbErrors++;
-            resp.setRenderParameter("pass2_error", "REGISTER_ERROR_PASSWORDMISMATCH");
-        }
+      String pass2 = req.getParameter("pass2");
+      if ((pass2 == null) || (pass2.length() == 0))
+      {
+         nbErrors++;
+         resp.setRenderParameter("pass2_error", "REGISTER_ERROR_INVALIDPASSWORD2");
+      }
+      else if (!pass1.equals(pass2))
+      {
+         nbErrors++;
+         resp.setRenderParameter("pass2_error", "REGISTER_ERROR_PASSWORDMISMATCH");
+      }
 
-        String realEmail = req.getParameter("realemail");
-        if (!URLTools.isEmailValid(realEmail)) {
-            nbErrors++;
-            resp.setRenderParameter("realemail_error", "REGISTER_ERROR_INVALIDREALEMAIL");
-        }
+      String realEmail = req.getParameter("realemail");
+      if (!URLTools.isEmailValid(realEmail))
+      {
+         nbErrors++;
+         resp.setRenderParameter("realemail_error", "REGISTER_ERROR_INVALIDREALEMAIL");
+      }
 
-        String fakeEmail = req.getParameter("fakeemail");
-        String question = req.getParameter("question");
-        String answer = req.getParameter("answer");
-        User user = null;
-        if (nbErrors == 0) {
-            try {
-                user = userModule.createUser(uname, pass1, realEmail);
-                user.setFakeEmail(fakeEmail);
+      String fakeEmail = req.getParameter("fakeemail");
+      String question = req.getParameter("question");
+      String answer = req.getParameter("answer");
+      User user = null;
+      if (nbErrors == 0)
+      {
+         try
+         {
+            user = userModule.createUser(uname, pass1, realEmail);
+            user.setFakeEmail(fakeEmail);
 
-                //user.setRegistrationDate(new Date());
-                String subscriptionMode = getPortletConfig().getInitParameter(UserPortletConstants.SUBSCRIPTIONMODE);
-                if (subscriptionMode == null) {
-                    subscriptionMode = UserPortletConstants.SUBSCRIPTIONMODE_AUTOMATIC;
-                }
+            //user.setRegistrationDate(new Date());
+            String subscriptionMode = getPortletConfig().getInitParameter(UserPortletConstants.SUBSCRIPTIONMODE);
+            if (subscriptionMode == null)
+            {
+               subscriptionMode = UserPortletConstants.SUBSCRIPTIONMODE_AUTOMATIC;
+            }
 
-                if (UserPortletConstants.SUBSCRIPTIONMODE_AUTOMATIC.equals(subscriptionMode)) {
-                    user.setEnabled(true);
-                } else if (UserPortletConstants.SUBSCRIPTIONMODE_EMAILVERIFICATION.equals(subscriptionMode)) {
-                    user.setEnabled(false);
-                    String emailText = generateValidationEmail(req, resp, user, pass1);
-                    String from = getPortletConfig().getInitParameter(UserPortletConstants.EMAILFROM);
-                    Locale locale = req.getLocale();
-                    ResourceBundle bundle = getResourceBundle(locale);
-                    String subject = bundle.getString("REGISTER_CONFIRMATIONEMAIL");
-                    mailModule.send(from, user.getRealEmail(), subject, emailText);
-                }
+            if (UserPortletConstants.SUBSCRIPTIONMODE_AUTOMATIC.equals(subscriptionMode))
+            {
+               user.setEnabled(true);
+            }
+            else if (UserPortletConstants.SUBSCRIPTIONMODE_EMAILVERIFICATION.equals(subscriptionMode))
+            {
+               user.setEnabled(false);
+               String emailText = generateValidationEmail(req, resp, user, pass1);
+               String from = getPortletConfig().getInitParameter(UserPortletConstants.EMAILFROM);
+               Locale locale = req.getLocale();
+               ResourceBundle bundle = getResourceBundle(locale);
+               String subject = bundle.getString("REGISTER_CONFIRMATIONEMAIL");
+               mailModule.send(from, user.getRealEmail(), subject, emailText);
+            }
 
-                /*
-                * Have to define the link to /login Have to redirect after the
-                * login try { resp.sendRedirect("/portal/login?username=" + uname +
-                * "&password=" + pass1); } catch (IOException e1) { // TODO
-                * Auto-generated catch block e1.printStackTrace(); }
-                */
+            /*
+            * Have to define the link to /login Have to redirect after the
+            * login try { resp.sendRedirect("/portal/login?username=" + uname +
+            * "&password=" + pass1); } catch (IOException e1) { // TODO
+            * Auto-generated catch block e1.printStackTrace(); }
+            */
 
-                // Add the user to the default user role
-                String defaultRole = getPortletConfig().getInitParameter(UserPortletConstants.DEFAULT_ROLE);
-                if (defaultRole != null) {
-                    Set roleSet = new HashSet();
-                    Role role = roleModule.findRoleByName(defaultRole);
-                    if (role != null) {
-                        roleSet.add(role);
-                        roleModule.setRoles(user, roleSet);
-                    } else {
-                        log.error("The role you specified as default role does not exist, check your portlet configuration");
-                    }
-                } else {
-                    log.info("You didn't specify a default role in the portlet init configuration, please refer to the documentation");
-                }
-                resp.setRenderParameter("op", OP_SHOWREGISTER_TY);
+            // Add the user to the default user role
+            String defaultRole = getPortletConfig().getInitParameter(UserPortletConstants.DEFAULT_ROLE);
+            if (defaultRole != null)
+            {
+               Set roleSet = new HashSet();
+               Role role = roleModule.findRoleByName(defaultRole);
+               if (role != null)
+               {
+                  roleSet.add(role);
+                  roleModule.setRoles(user, roleSet);
+               }
+               else
+               {
+                  log.error("The role you specified as default role does not exist, check your portlet configuration");
+               }
             }
-            catch (IllegalArgumentException e) {
-                log.error("Cannot create user " + uname, e);
+            else
+            {
+               log.info("You didn't specify a default role in the portlet init configuration, please refer to the documentation");
             }
-            catch (IdentityException e) {
-                log.error("Cannot create user " + uname, e);
-            }
-        } else {
-            portletHelper.setRenderParameter(resp, "USERNAME", uname);
-            portletHelper.setRenderParameter(resp, "REALEMAIL", realEmail);
-            portletHelper.setRenderParameter(resp, "FAKEEMAIL", fakeEmail);
-            portletHelper.setRenderParameter(resp, "QUESTION", question);
-            portletHelper.setRenderParameter(resp, "ANSWER", answer);
-            portletHelper.setRenderParameter(resp, getOperationName(), OP_SHOWREGISTER);
-        }
-    }
+            resp.setRenderParameter("op", OP_SHOWREGISTER_TY);
+         }
+         catch (IllegalArgumentException e)
+         {
+            log.error("Cannot create user " + uname, e);
+         }
+         catch (IdentityException e)
+         {
+            log.error("Cannot create user " + uname, e);
+         }
+      }
+      else
+      {
+         portletHelper.setRenderParameter(resp, "USERNAME", uname);
+         portletHelper.setRenderParameter(resp, "REALEMAIL", realEmail);
+         portletHelper.setRenderParameter(resp, "FAKEEMAIL", fakeEmail);
+         portletHelper.setRenderParameter(resp, "QUESTION", question);
+         portletHelper.setRenderParameter(resp, "ANSWER", answer);
+         portletHelper.setRenderParameter(resp, getOperationName(), OP_SHOWREGISTER);
+      }
+   }
 
-    private void fillContextWithUserProfile(User user, DelegateContext ctx) {
-        ctx.put("GIVENNAME", user.getGivenName());
-        ctx.put("FAMILYNAME", user.getFamilyName());
-        ctx.put("REALEMAIL", user.getRealEmail());
-        ctx.put("FAKEEMAIL", user.getFakeEmail());
-        ctx.put("THEME", user.getTheme());
-        ctx.put("VIEWREALEMAIL", user.getViewRealEmail() ? "checked=\"checked\"" : "");
-        ctx.put("HOMEPAGE", (String) (user.getProfile().get(User.INFO_USER_HOMEPAGE)));
-        ctx.put("ICQ", (String) (user.getProfile().get(User.INFO_USER_IM_ICQ)));
-        ctx.put("AIM", (String) (user.getProfile().get(User.INFO_USER_IM_AIM)));
-        ctx.put("YIM", (String) (user.getProfile().get(User.INFO_USER_IM_YIM)));
-        ctx.put("MSNM", (String) (user.getProfile().get(User.INFO_USER_IM_MSNM)));
-        ctx.put("SKYPE", (String) (user.getProfile().get(User.INFO_USER_IM_SKYPE)));
-        ctx.put("SIGNATURE", (String) (user.getProfile().get(User.INFO_USER_SIGNATURE)));
-        ctx.put("LOCATION", (String) (user.getProfile().get(User.INFO_USER_LOCATION)));
-        ctx.put("OCCUPATION", (String) (user.getProfile().get(User.INFO_USER_OCCUPATION)));
-        ctx.put("INTERESTS", (String) (user.getProfile().get(User.INFO_USER_INTERESTS)));
-        ctx.put("EXTRA", (String) (user.getProfile().get(User.INFO_USER_EXTRA)));
-        ctx.put("QUESTION", (String) (user.getProfile().get(User.INFO_USER_SECURITY_QUESTION)));
-        ctx.put("ANSWER", (String) (user.getProfile().get(User.INFO_USER_SECURITY_ANSWER)));
-    }
+   private void fillContextWithUserProfile(User user, DelegateContext ctx)
+   {
+      ctx.put("GIVENNAME", user.getGivenName());
+      ctx.put("FAMILYNAME", user.getFamilyName());
+      ctx.put("REALEMAIL", user.getRealEmail());
+      ctx.put("FAKEEMAIL", user.getFakeEmail());
+      ctx.put("THEME", user.getTheme());
+      ctx.put("VIEWREALEMAIL", user.getViewRealEmail() ? "checked=\"checked\"" : "");
+      ctx.put("HOMEPAGE", (String)(user.getProfile().get(User.INFO_USER_HOMEPAGE)));
+      ctx.put("ICQ", (String)(user.getProfile().get(User.INFO_USER_IM_ICQ)));
+      ctx.put("AIM", (String)(user.getProfile().get(User.INFO_USER_IM_AIM)));
+      ctx.put("YIM", (String)(user.getProfile().get(User.INFO_USER_IM_YIM)));
+      ctx.put("MSNM", (String)(user.getProfile().get(User.INFO_USER_IM_MSNM)));
+      ctx.put("SKYPE", (String)(user.getProfile().get(User.INFO_USER_IM_SKYPE)));
+      ctx.put("SIGNATURE", (String)(user.getProfile().get(User.INFO_USER_SIGNATURE)));
+      ctx.put("LOCATION", (String)(user.getProfile().get(User.INFO_USER_LOCATION)));
+      ctx.put("OCCUPATION", (String)(user.getProfile().get(User.INFO_USER_OCCUPATION)));
+      ctx.put("INTERESTS", (String)(user.getProfile().get(User.INFO_USER_INTERESTS)));
+      ctx.put("EXTRA", (String)(user.getProfile().get(User.INFO_USER_EXTRA)));
+      ctx.put("QUESTION", (String)(user.getProfile().get(User.INFO_USER_SECURITY_QUESTION)));
+      ctx.put("ANSWER", (String)(user.getProfile().get(User.INFO_USER_SECURITY_ANSWER)));
+   }
 
-    /**
-     * DOCUMENT_ME
-     *
-     * @param req  DOCUMENT_ME
-     * @param resp DOCUMENT_ME
-     */
-    public void storeProfile(JBossActionRequest req, JBossActionResponse resp) throws PortletException {
-        User currentUser = req.getUser();
-        if (currentUser == null) {
-            throw new PortletException("No user");
-        }
+   /**
+    * DOCUMENT_ME
+    *
+    * @param req  DOCUMENT_ME
+    * @param resp DOCUMENT_ME
+    */
+   public void storeProfile(JBossActionRequest req, JBossActionResponse resp) throws PortletException
+   {
+      User currentUser = req.getUser();
+      if (currentUser == null)
+      {
+         throw new PortletException("No user");
+      }
 
-        // Get the user
-        User user = null;
-        try {
-            String userid = req.getParameters().getParameter("userid");
-            user = userModule.findUserById(userid);
-        }
-        catch (Exception e) {
-            throw new PortletException("blah", e);
-        }
+      // Get the user
+      User user = null;
+      try
+      {
+         String userid = req.getParameters().getParameter("userid");
+         user = userModule.findUserById(userid);
+      }
+      catch (Exception e)
+      {
+         throw new PortletException("blah", e);
+      }
 
-        // Are we editing ourself ?
-        boolean self = currentUser.getId().equals(user.getId());
-        if (!self && !req.isUserInRole("Admin")) {
-            throw new PortletException();
-        }
+      // Are we editing ourself ?
+      boolean self = currentUser.getId().equals(user.getId());
+      if (!self && !req.isUserInRole("Admin"))
+      {
+         throw new PortletException();
+      }
 
 
-        int nbErrors = 0;
-        boolean changePassword = false;
-        String givenName = req.getParameter("givenname");
-        String familyName = req.getParameter("familyname");
-        String pass1 = req.getParameter("pass1");
-        String pass2 = req.getParameter("pass2");
-        if (!(((pass2 == null) || (pass2.length() == 0)) && ((pass1 == null) || (pass1.length() == 0)))) {
-            changePassword = true;
-            if ((pass1 == null) || (pass1.length() == 0)) {
-                nbErrors++;
-                resp.setRenderParameter("pass1_error", "REGISTER_ERROR_INVALIDPASSWORD1");
-            }
+      int nbErrors = 0;
+      boolean changePassword = false;
+      String givenName = req.getParameter("givenname");
+      String familyName = req.getParameter("familyname");
+      String pass1 = req.getParameter("pass1");
+      String pass2 = req.getParameter("pass2");
+      if (!(((pass2 == null) || (pass2.length() == 0)) && ((pass1 == null) || (pass1.length() == 0))))
+      {
+         changePassword = true;
+         if ((pass1 == null) || (pass1.length() == 0))
+         {
+            nbErrors++;
+            resp.setRenderParameter("pass1_error", "REGISTER_ERROR_INVALIDPASSWORD1");
+         }
 
-            if ((pass2 == null) || (pass2.length() == 0)) {
-                nbErrors++;
-                resp.setRenderParameter("pass2_error", "REGISTER_ERROR_INVALIDPASSWORD2");
-            } else if (!pass1.equals(pass2)) {
-                nbErrors++;
-                resp.setRenderParameter("pass2_error", "REGISTER_ERROR_PASSWORDMISMATCH");
-            }
-        }
-
-        String realEmail = req.getParameter("realemail");
-        if (!URLTools.isEmailValid(realEmail)) {
+         if ((pass2 == null) || (pass2.length() == 0))
+         {
             nbErrors++;
-            resp.setRenderParameter("realemail_error", "REGISTER_ERROR_INVALIDREALEMAIL");
-        }
+            resp.setRenderParameter("pass2_error", "REGISTER_ERROR_INVALIDPASSWORD2");
+         }
+         else if (!pass1.equals(pass2))
+         {
+            nbErrors++;
+            resp.setRenderParameter("pass2_error", "REGISTER_ERROR_PASSWORDMISMATCH");
+         }
+      }
 
-        String fakeEmail = req.getParameter("fakeemail");
-        boolean viewRealEmail = req.getParameters().getBoolean("viewrealemail", false);
-        String homepage = req.getParameter("homepage");
-        Short timezoneoffset = req.getParameters().getShortObject("timezoneoffset", UNDEFINED_TIMEZONE);
-        String question = req.getParameter("question");
-        String answer = req.getParameter("answer");
-        String icq = req.getParameter("icq");
-        String msnm = req.getParameter("msnm");
-        String yim = req.getParameter("yim");
-        String aim = req.getParameter("aim");
-        String skype = req.getParameter("skype");
-        String location = req.getParameter("location");
-        String occupation = req.getParameter("occupation");
-        String interests = req.getParameter("interests");
-        String signature = req.getParameter("signature");
-        String extra = req.getParameter("extra");
-        String locale = req.getParameter("locale");
-        String theme = req.getParameter("theme");
+      String realEmail = req.getParameter("realemail");
+      if (!URLTools.isEmailValid(realEmail))
+      {
+         nbErrors++;
+         resp.setRenderParameter("realemail_error", "REGISTER_ERROR_INVALIDREALEMAIL");
+      }
 
-        if (nbErrors == 0) {
-            //
-            if (givenName.trim().length() != 0) {
-                user.setGivenName(givenName);
-            }
+      String fakeEmail = req.getParameter("fakeemail");
+      boolean viewRealEmail = req.getParameters().getBoolean("viewrealemail", false);
+      String homepage = req.getParameter("homepage");
+      Short timezoneoffset = req.getParameters().getShortObject("timezoneoffset", UNDEFINED_TIMEZONE);
+      String question = req.getParameter("question");
+      String answer = req.getParameter("answer");
+      String icq = req.getParameter("icq");
+      String msnm = req.getParameter("msnm");
+      String yim = req.getParameter("yim");
+      String aim = req.getParameter("aim");
+      String skype = req.getParameter("skype");
+      String location = req.getParameter("location");
+      String occupation = req.getParameter("occupation");
+      String interests = req.getParameter("interests");
+      String signature = req.getParameter("signature");
+      String extra = req.getParameter("extra");
+      String locale = req.getParameter("locale");
+      String theme = req.getParameter("theme");
 
-            if (familyName.trim().length() != 0) {
-                user.setFamilyName(familyName);
-            }
+      if (nbErrors == 0)
+      {
+         //
+         if (givenName.trim().length() != 0)
+         {
+            user.setGivenName(givenName);
+         }
 
-            if (realEmail.trim().length() != 0) {
-                user.setRealEmail(realEmail);
-            }
+         if (familyName.trim().length() != 0)
+         {
+            user.setFamilyName(familyName);
+         }
 
-            if (fakeEmail.trim().length() != 0) {
-                user.setFakeEmail(fakeEmail);
-            }
+         if (realEmail.trim().length() != 0)
+         {
+            user.setRealEmail(realEmail);
+         }
 
-            user.setViewRealEmail(viewRealEmail);
-            if (changePassword) {
-                user.updatePassword(pass1);
-            }
+         if (fakeEmail.trim().length() != 0)
+         {
+            user.setFakeEmail(fakeEmail);
+         }
 
-            if (timezoneoffset.shortValue() != UNDEFINED_TIMEZONE) {
-                user.getProfile().put(User.INFO_USER_TIME_ZONE_OFFSET, timezoneoffset.toString());
-            }
+         user.setViewRealEmail(viewRealEmail);
+         if (changePassword)
+         {
+            user.updatePassword(pass1);
+         }
 
-            LocaleInfo localeInfo = LocaleInfo.decodeLocaleInfo(locale);
-            if (localeInfo != null) {
-                user.setPreferredLocale(localeInfo.getLocale());
-            }
+         if (timezoneoffset.shortValue() != UNDEFINED_TIMEZONE)
+         {
+            user.getProfile().put(User.INFO_USER_TIME_ZONE_OFFSET, timezoneoffset.toString());
+         }
 
-            putNonEmptyProperty(user, User.INFO_USER_THEME, theme);
-            putNonEmptyProperty(user, User.INFO_USER_HOMEPAGE, homepage);
-            putNonEmptyProperty(user, User.INFO_USER_SECURITY_QUESTION, question);
-            putNonEmptyProperty(user, User.INFO_USER_SECURITY_ANSWER, answer);
-            putNonEmptyProperty(user, User.INFO_USER_IM_ICQ, icq);
-            putNonEmptyProperty(user, User.INFO_USER_IM_MSNM, msnm);
-            putNonEmptyProperty(user, User.INFO_USER_IM_YIM, yim);
-            putNonEmptyProperty(user, User.INFO_USER_IM_AIM, aim);
-            putNonEmptyProperty(user, User.INFO_USER_IM_SKYPE, skype);
-            putNonEmptyProperty(user, User.INFO_USER_SIGNATURE, signature);
-            putNonEmptyProperty(user, User.INFO_USER_LOCATION, location);
-            putNonEmptyProperty(user, User.INFO_USER_OCCUPATION, occupation);
-            putNonEmptyProperty(user, User.INFO_USER_INTERESTS, interests);
-            putNonEmptyProperty(user, User.INFO_USER_EXTRA, extra);
+         LocaleInfo localeInfo = LocaleInfo.decodeLocaleInfo(locale);
+         if (localeInfo != null)
+         {
+            user.setPreferredLocale(localeInfo.getLocale());
+         }
 
-            // Set back to normal window state
-            resp.setWindowState(WindowState.NORMAL);
-            portletHelper.setRenderParameter(resp, getOperationName(), OP_SHOWMENU);
-        } else {
-            portletHelper.setRenderParameter(resp, "GIVENNAME", givenName);
-            portletHelper.setRenderParameter(resp, "FAMILYNAME", familyName);
-            portletHelper.setRenderParameter(resp, "REALEMAIL", realEmail);
-            portletHelper.setRenderParameter(resp, "FAKEEMAIL", fakeEmail);
-            if (user.getViewRealEmail()) {
-                portletHelper.setRenderParameter(resp, "VIEWREALEMAIL", "checked=\"checked\"");
-            } else {
-                portletHelper.setRenderParameter(resp, "VIEWREALEMAIL", "");
-            }
+         putNonEmptyProperty(user, User.INFO_USER_THEME, theme);
+         putNonEmptyProperty(user, User.INFO_USER_HOMEPAGE, homepage);
+         putNonEmptyProperty(user, User.INFO_USER_SECURITY_QUESTION, question);
+         putNonEmptyProperty(user, User.INFO_USER_SECURITY_ANSWER, answer);
+         putNonEmptyProperty(user, User.INFO_USER_IM_ICQ, icq);
+         putNonEmptyProperty(user, User.INFO_USER_IM_MSNM, msnm);
+         putNonEmptyProperty(user, User.INFO_USER_IM_YIM, yim);
+         putNonEmptyProperty(user, User.INFO_USER_IM_AIM, aim);
+         putNonEmptyProperty(user, User.INFO_USER_IM_SKYPE, skype);
+         putNonEmptyProperty(user, User.INFO_USER_SIGNATURE, signature);
+         putNonEmptyProperty(user, User.INFO_USER_LOCATION, location);
+         putNonEmptyProperty(user, User.INFO_USER_OCCUPATION, occupation);
+         putNonEmptyProperty(user, User.INFO_USER_INTERESTS, interests);
+         putNonEmptyProperty(user, User.INFO_USER_EXTRA, extra);
 
-            portletHelper.setRenderParameter(resp, "HOMEPAGE", homepage);
-            portletHelper.setRenderParameter(resp, "SELECTEDTIMEZONE", "" + timezoneoffset);
-            portletHelper.setRenderParameter(resp, "SELECTEDLOCALE", locale);
-            portletHelper.setRenderParameter(resp, "THEME", theme);
-            portletHelper.setRenderParameter(resp, "ICQ", icq);
-            portletHelper.setRenderParameter(resp, "AIM", aim);
-            portletHelper.setRenderParameter(resp, "YIM", yim);
-            portletHelper.setRenderParameter(resp, "MSNM", msnm);
-            portletHelper.setRenderParameter(resp, "SKYPE", skype);
-            portletHelper.setRenderParameter(resp, "SIGNATURE", signature);
-            portletHelper.setRenderParameter(resp, "LOCATION", location);
-            portletHelper.setRenderParameter(resp, "OCCUPATION", occupation);
-            portletHelper.setRenderParameter(resp, "INTERESTS", interests);
-            portletHelper.setRenderParameter(resp, "EXTRA", extra);
-            portletHelper.setRenderParameter(resp, getOperationName(), OP_SHOWPROFILE);
-        }
-    }
+         // Set back to normal window state
+         resp.setWindowState(WindowState.NORMAL);
+         portletHelper.setRenderParameter(resp, getOperationName(), OP_SHOWMENU);
+      }
+      else
+      {
+         portletHelper.setRenderParameter(resp, "GIVENNAME", givenName);
+         portletHelper.setRenderParameter(resp, "FAMILYNAME", familyName);
+         portletHelper.setRenderParameter(resp, "REALEMAIL", realEmail);
+         portletHelper.setRenderParameter(resp, "FAKEEMAIL", fakeEmail);
+         if (user.getViewRealEmail())
+         {
+            portletHelper.setRenderParameter(resp, "VIEWREALEMAIL", "checked=\"checked\"");
+         }
+         else
+         {
+            portletHelper.setRenderParameter(resp, "VIEWREALEMAIL", "");
+         }
 
-    /**
-     * DOCUMENT_ME
-     *
-     * @param request  DOCUMENT_ME
-     * @param response DOCUMENT_ME
-     */
-    public void addRolesToUser(JBossActionRequest request, JBossActionResponse response) {
-        if (request.isUserInRole("Admin")) {
-            String[] selectedRoles = request.getParameterValues("roles");
-            String userId = request.getParameters().getParameter("userid");
-            try {
-                User user = userModule.findUserById(userId);
-                Set roles = roleModule.findRolesByNames(selectedRoles);
-                roleModule.setRoles(user, roles);
-            }
-            catch (IllegalArgumentException e) {
-                // TODO Auto-generated catch block
-                e.printStackTrace();
-            }
-            catch (IdentityException e) {
-                // TODO Auto-generated catch block
-                e.printStackTrace();
-            }
-        }
-    }
+         portletHelper.setRenderParameter(resp, "HOMEPAGE", homepage);
+         portletHelper.setRenderParameter(resp, "SELECTEDTIMEZONE", "" + timezoneoffset);
+         portletHelper.setRenderParameter(resp, "SELECTEDLOCALE", locale);
+         portletHelper.setRenderParameter(resp, "THEME", theme);
+         portletHelper.setRenderParameter(resp, "ICQ", icq);
+         portletHelper.setRenderParameter(resp, "AIM", aim);
+         portletHelper.setRenderParameter(resp, "YIM", yim);
+         portletHelper.setRenderParameter(resp, "MSNM", msnm);
+         portletHelper.setRenderParameter(resp, "SKYPE", skype);
+         portletHelper.setRenderParameter(resp, "SIGNATURE", signature);
+         portletHelper.setRenderParameter(resp, "LOCATION", location);
+         portletHelper.setRenderParameter(resp, "OCCUPATION", occupation);
+         portletHelper.setRenderParameter(resp, "INTERESTS", interests);
+         portletHelper.setRenderParameter(resp, "EXTRA", extra);
+         portletHelper.setRenderParameter(resp, getOperationName(), OP_SHOWPROFILE);
+      }
+   }
 
-    /*
-    * TODO: The email verification needs an email service. This is not done yet.
-    * It also needs a way to generate portlet URL or some kind of URL. Once all
-    * of this made, it will be quick to implement.
-    */
-    /*
-    * * Generates the body of the email sent for user activation.
+   /**
+    * DOCUMENT_ME
     *
-    * @param user user @param password unencrypted password @return email body
-    *
+    * @param request  DOCUMENT_ME
+    * @param response DOCUMENT_ME
     */
-    private String generateValidationEmail(JBossActionRequest req,
-                                           JBossActionResponse resp,
-                                           User user,
-                                           String clearPassword) {
-        // gen link using username, encrypted pw, and a salt.
-        String hash = Tools.md5AsHexString(user.getUserName() + user.getRegistrationDate() + UserPortletConstants.SALT);
+   public void addRolesToUser(JBossActionRequest request, JBossActionResponse response)
+   {
+      if (request.isUserInRole("Admin"))
+      {
+         String[] selectedRoles = request.getParameterValues("roles");
+         String userId = request.getParameters().getParameter("userid");
+         try
+         {
+            User user = userModule.findUserById(userId);
+            Set roles = roleModule.findRolesByNames(selectedRoles);
+            roleModule.setRoles(user, roles);
+         }
+         catch (IllegalArgumentException e)
+         {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+         }
+         catch (IdentityException e)
+         {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+         }
+      }
+   }
 
-        String rootURL = getPortletConfig().getInitParameter("emailDomain");
+   /*
+   * TODO: The email verification needs an email service. This is not done yet.
+   * It also needs a way to generate portlet URL or some kind of URL. Once all
+   * of this made, it will be quick to implement.
+   */
+   /*
+   * * Generates the body of the email sent for user activation.
+   *
+   * @param user user @param password unencrypted password @return email body
+   *
+   */
+   private String generateValidationEmail(JBossActionRequest req,
+                                          JBossActionResponse resp,
+                                          User user,
+                                          String clearPassword)
+   {
+      // gen link using username, encrypted pw, and a salt.
+      String hash = Tools.md5AsHexString(user.getUserName() + user.getRegistrationDate() + UserPortletConstants.SALT);
 
-        PortalNode node = req.getPortalNode();
-        PortalNodeURL link = resp.createActionURL(node);
-        link.setParameter("op", "activate");
-        link.setParameter(UserPortletConstants.USERID, "" + user.getId());
-        link.setParameter(UserPortletConstants.HASH, hash);
-        link.setRelative(false);
+      String rootURL = getPortletConfig().getInitParameter("emailDomain");
 
-        // TODO: refactor to have a simple text file outside the code that can be
-        // easily changed
-        StringBuffer sb = new StringBuffer();
-        Locale locale = req.getLocale();
-        ResourceBundle bundle = getResourceBundle(locale);
-        try {
-            sb.append(bundle.getString("VALIDATIONEMAIL_1") + " - ");
-            sb.append(rootURL);
-            sb.append("\n\n");
-            sb.append(bundle.getString("VALIDATIONEMAIL_2") + ":\n\n");
-            sb.append("----------------------------\n");
-            sb.append(bundle.getString("USERNAME") + ": " + user.getUserName() + "\n");
-            sb.append(bundle.getString("PASSWORD") + ": " + clearPassword + "\n");
-            sb.append("----------------------------\n\n");
-            sb.append(bundle.getString("VALIDATIONEMAIL_3") + ": \n");
-            sb.append(link);
-            sb.append("\n\n");
-            sb.append(bundle.getString("VALIDATIONEMAIL_4"));
-            sb.append("\n\n");
-            sb.append(bundle.getString("VALIDATIONEMAIL_5") + "\n");
-        }
-        catch (Exception e) {
-            log.error("Cannot generate an email notification", e);
-        }
+      PortalNode node = req.getPortalNode();
+      PortalNodeURL link = resp.createActionURL(node);
+      link.setParameter("op", "activate");
+      link.setParameter(UserPortletConstants.USERID, "" + user.getId());
+      link.setParameter(UserPortletConstants.HASH, hash);
+      link.setRelative(false);
 
-        return sb.toString();
-    }
+      // TODO: refactor to have a simple text file outside the code that can be
+      // easily changed
+      StringBuffer sb = new StringBuffer();
+      Locale locale = req.getLocale();
+      ResourceBundle bundle = getResourceBundle(locale);
+      try
+      {
+         sb.append(bundle.getString("VALIDATIONEMAIL_1") + " - ");
+         sb.append(rootURL);
+         sb.append("\n\n");
+         sb.append(bundle.getString("VALIDATIONEMAIL_2") + ":\n\n");
+         sb.append("----------------------------\n");
+         sb.append(bundle.getString("USERNAME") + ": " + user.getUserName() + "\n");
+         sb.append(bundle.getString("PASSWORD") + ": " + clearPassword + "\n");
+         sb.append("----------------------------\n\n");
+         sb.append(bundle.getString("VALIDATIONEMAIL_3") + ": \n");
+         sb.append(link);
+         sb.append("\n\n");
+         sb.append(bundle.getString("VALIDATIONEMAIL_4"));
+         sb.append("\n\n");
+         sb.append(bundle.getString("VALIDATIONEMAIL_5") + "\n");
+      }
+      catch (Exception e)
+      {
+         log.error("Cannot generate an email notification", e);
+      }
 
-    /**
-     * DOCUMENT_ME
-     *
-     * @param req  DOCUMENT_ME
-     * @param resp DOCUMENT_ME
-     */
-    public void activate(JBossActionRequest req,
-                         JBossActionResponse resp) {
-        String hash = req.getParameter(UserPortletConstants.HASH);
-        String userId = req.getParameters().getParameter(UserPortletConstants.USERID);
+      return sb.toString();
+   }
 
-        User user = null;
-        try {
-            user = userModule.findUserById(userId);
-            String hexCompare = Tools.md5AsHexString(user.getUserName() + user.getRegistrationDate() + UserPortletConstants.SALT);
-            if (hash.equals(hexCompare)) {
-                user.setEnabled(true);
-                portletHelper.setI18nRenderParameter(req, resp, UserPortletConstants.INFOMESSAGE, "INFOMESSAGE_CONGRATULATIONACTIVATED");
-            } else {
-                portletHelper.setI18nRenderParameter(req, resp, UserPortletConstants.ERRORMESSAGE, "ERRORMESSAGE_UNABLEACTIVATE");
-            }
-        }
-        catch (Exception e) {
+   /**
+    * DOCUMENT_ME
+    *
+    * @param req  DOCUMENT_ME
+    * @param resp DOCUMENT_ME
+    */
+   public void activate(JBossActionRequest req,
+                        JBossActionResponse resp)
+   {
+      String hash = req.getParameter(UserPortletConstants.HASH);
+      String userId = req.getParameters().getParameter(UserPortletConstants.USERID);
+
+      User user = null;
+      try
+      {
+         user = userModule.findUserById(userId);
+         String hexCompare = Tools.md5AsHexString(user.getUserName() + user.getRegistrationDate() + UserPortletConstants.SALT);
+         if (hash.equals(hexCompare))
+         {
+            user.setEnabled(true);
+            portletHelper.setI18nRenderParameter(req, resp, UserPortletConstants.INFOMESSAGE, "INFOMESSAGE_CONGRATULATIONACTIVATED");
+         }
+         else
+         {
             portletHelper.setI18nRenderParameter(req, resp, UserPortletConstants.ERRORMESSAGE, "ERRORMESSAGE_UNABLEACTIVATE");
-        }
-    }
+         }
+      }
+      catch (Exception e)
+      {
+         portletHelper.setI18nRenderParameter(req, resp, UserPortletConstants.ERRORMESSAGE, "ERRORMESSAGE_UNABLEACTIVATE");
+      }
+   }
 
-    private String getFullName(ResourceBundle bundle,
-                               User user) {
-        if ((user.getGivenName() != null) && (user.getGivenName().trim().length() != 0)) {
-            if ((user.getFamilyName() != null) && (user.getFamilyName().trim().length() != 0)) {
-                return user.getGivenName() + " " + user.getFamilyName();
-            } else {
-                return user.getGivenName().trim();
-            }
-        } else {
-            if ((user.getFamilyName() != null) && (user.getFamilyName().trim().length() != 0)) {
-                return user.getFamilyName().trim();
-            } else {
-                return bundle.getString("NAMENOTAVAILABLE");
-            }
-        }
-    }
+   private String getFullName(ResourceBundle bundle,
+                              User user)
+   {
+      if ((user.getGivenName() != null) && (user.getGivenName().trim().length() != 0))
+      {
+         if ((user.getFamilyName() != null) && (user.getFamilyName().trim().length() != 0))
+         {
+            return user.getGivenName() + " " + user.getFamilyName();
+         }
+         else
+         {
+            return user.getGivenName().trim();
+         }
+      }
+      else
+      {
+         if ((user.getFamilyName() != null) && (user.getFamilyName().trim().length() != 0))
+         {
+            return user.getFamilyName().trim();
+         }
+         else
+         {
+            return bundle.getString("NAMENOTAVAILABLE");
+         }
+      }
+   }
 
-    private void putNonEmptyProperty(User user, String key, String value) {
-        if ((value != null) && (value.trim().length() != 0)) {
-            user.getProfile().put(key, value);
-        }
-    }
+   private void putNonEmptyProperty(User user, String key, String value)
+   {
+      if ((value != null) && (value.trim().length() != 0))
+      {
+         user.getProfile().put(key, value);
+      }
+   }
 
-    public void deleteUser(JBossActionRequest request, JBossActionResponse response) {
-        if (request.isUserInRole("Admin")) {
-            try {
-                User user = userModule.findUserById(request.getParameter("userid"));
-                userModule.removeUser(user.getId());
-            }
-            catch (IdentityException e) {
-                e.printStackTrace();
-            }
-        }
-        portletHelper.setRenderParameter(response, getOperationName(), OP_SHOWLISTUSERS);
-    }
+   public void deleteUser(JBossActionRequest request, JBossActionResponse response)
+   {
+      if (request.isUserInRole("Admin"))
+      {
+         try
+         {
+            User user = userModule.findUserById(request.getParameter("userid"));
+            userModule.removeUser(user.getId());
+         }
+         catch (IdentityException e)
+         {
+            e.printStackTrace();
+         }
+      }
+      portletHelper.setRenderParameter(response, getOperationName(), OP_SHOWLISTUSERS);
+   }
 
-    /*
-    * private String getTimezoneOffsetString(short timezoneOffset) {
-    * StringBuffer timeZone = new StringBuffer(); for (int i = 0; i <
-    * UserPortletConstants.TIME_ZONE_OFFSETS.length; i++) { if
-    * (UserPortletConstants.TIME_ZONE_OFFSETS[i] != null) { timeZone.append("
-    * <option value=\"").append(i); if (timezoneOffset == i) {
-    * timeZone.append("\" selected>"); } else { timeZone.append("\">"); }
-    * timeZone.append(UserPortletConstants.TIME_ZONE_OFFSETS[i]).append("
-    * </option>"); } } return timeZone.toString(); }
-    *
-    * private String getTimezoneOffsetString() { return
-    * getTimezoneOffsetString((short)0); }
-    *
-    * private String getTimezoneOffsetString(String timezoneOffset) { short
-    * offset = Short.parseShort(timezoneOffset); return
-    * getTimezoneOffsetString(offset); }
-    */
+   /*
+   * private String getTimezoneOffsetString(short timezoneOffset) {
+   * StringBuffer timeZone = new StringBuffer(); for (int i = 0; i <
+   * UserPortletConstants.TIME_ZONE_OFFSETS.length; i++) { if
+   * (UserPortletConstants.TIME_ZONE_OFFSETS[i] != null) { timeZone.append("
+   * <option value=\"").append(i); if (timezoneOffset == i) {
+   * timeZone.append("\" selected>"); } else { timeZone.append("\">"); }
+   * timeZone.append(UserPortletConstants.TIME_ZONE_OFFSETS[i]).append("
+   * </option>"); } } return timeZone.toString(); }
+   *
+   * private String getTimezoneOffsetString() { return
+   * getTimezoneOffsetString((short)0); }
+   *
+   * private String getTimezoneOffsetString(String timezoneOffset) { short
+   * offset = Short.parseShort(timezoneOffset); return
+   * getTimezoneOffsetString(offset); }
+   */
 }
\ No newline at end of file

Modified: trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource.properties
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource.properties	2006-10-09 20:35:52 UTC (rev 5381)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource.properties	2006-10-09 20:54:45 UTC (rev 5382)
@@ -215,6 +215,7 @@
 REGISTER_ERROR_PASSWORDMISMATCH=Passwords do not match
 REGISTER_ERROR_INVALIDREALEMAIL=Email address is not valid
 
+REGISTER_CONFIRM=User created successfully.
 REGISTER_ADMIN_SEARCH=Use this form to view, edit or delete users.
 
 

Modified: trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties	2006-10-09 20:35:52 UTC (rev 5381)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_en.properties	2006-10-09 20:54:45 UTC (rev 5382)
@@ -214,6 +214,8 @@
 REGISTER_ERROR_PASSWORDMISMATCH=Passwords do not match
 REGISTER_ERROR_INVALIDREALEMAIL=Email address is not valid
 
+REGISTER_CONFIRM=User created successfully.
+REGISTER_ADMIN_SEARCH=Use this form to view, edit or delete users.
 
 MENU_LOGOUT=Logout
 MENU_EDITPROFILE=Edit your profile

Modified: trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_es.properties
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_es.properties	2006-10-09 20:35:52 UTC (rev 5381)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_es.properties	2006-10-09 20:54:45 UTC (rev 5382)
@@ -214,6 +214,7 @@
 REGISTER_ERROR_PASSWORDMISMATCH=Las Claves no coincide
 REGISTER_ERROR_INVALIDREALEMAIL=La dirección de E-mail no es válida
 
+REGISTER_CONFIRM=User created successfully.
 REGISTER_ADMIN_SEARCH=Use this form to view, edit or delete users.
 
 MENU_LOGOUT=Desconectarse

Modified: trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_fr.properties
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_fr.properties	2006-10-09 20:35:52 UTC (rev 5381)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/classes/Resource_fr.properties	2006-10-09 20:54:45 UTC (rev 5382)
@@ -193,6 +193,7 @@
 REGISTER_ERROR_PASSWORDMISMATCH=les mots de passe sont differents
 REGISTER_ERROR_INVALIDREALEMAIL=Adresse email invalide
 
+REGISTER_CONFIRM=User created successfully.
 REGISTER_ADMIN_SEARCH=Use this form to view, edit or delete users.
 
 MENU_LOGOUT=Deconnection

Modified: trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/menu.jsp
===================================================================
(Binary files differ)

Modified: trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser.jsp
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser.jsp	2006-10-09 20:35:52 UTC (rev 5381)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser.jsp	2006-10-09 20:54:45 UTC (rev 5382)
@@ -1,44 +1,65 @@
 <%@ page language="java" extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
 <%@ taglib uri="/WEB-INF/portal-lib.tld" prefix="n" %>
 <%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
-<%@ page isELIgnored ="false" %> 
+<%@ page isELIgnored="false" %>
 <portlet:defineObjects/>
 
+<%@ page language="java" extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
+<%@ taglib uri="/WEB-INF/portal-lib.tld" prefix="n" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<%@ page isELIgnored="false" %>
+<portlet:defineObjects/>
 
-<div style="margin: 0 15% 0 15%" align="center">
-   <form name="register" action="<portlet:actionURL><portlet:param name="op" value="userRegister"/></portlet:actionURL>" method="post">
-      <table cellspacing="2" cellpadding="2" border="0">
-         <th colspan="2" class="portlet-section-header">${n:i18n("REGISTER_NEWUSER")}</th>
-         <tr class="portlet-section-body">
-            <td><font class="portlet-form-label">${n:i18n("USERNAME")}: </font></td>
-            <td><input class="portlet-form-input-field" type="text" name="uname" value="${param["USERNAME"]}" size="26" maxlength="25">&nbsp;*&nbsp;<n:error key="uname_error"/></td>
-         </tr>
-         <tr class="portlet-section-body">
-            <td><font class="portlet-form-label">${n:i18n("PASSWORD")}: </font></td>
-            <td><input class="portlet-form-input-field" type="password" name="pass1" size="26" maxlength="60">&nbsp;*&nbsp;<n:error key="pass1_error"/></td>
-         </tr>
-         <tr class="portlet-section-body">
-            <td><font class="portlet-form-label">${n:i18n("REGISTER_PASSWORDAGAIN")}: </font></td>
-            <td><input class="portlet-form-input-field" type="password" name="pass2" size="26" maxlength="60">&nbsp;*&nbsp;<n:error key="pass2_error"/></td>
-         </tr>
-         <tr class="portlet-section-body">
-            <td><font class="portlet-form-label">${n:i18n("REGISTER_REALEMAIL")}: </font></td>
-            <td><input class="portlet-form-input-field" type="text" name="realemail" value="${param["REALEMAIL"]}" size="26" maxlength="60">&nbsp;*&nbsp;<n:error key="realemail_error"/></td>
-         </tr>
-         <tr class="portlet-section-body">
-            <td><font class="portlet-form-label">${n:i18n("REGISTER_FAKEEMAIL")}: </font></td>
-            <td><input class="portlet-form-input-field" type="text" name="fakeemail" value="${param["FAKEEMAIL"]}" size="26" maxlength="60"></td>
-         </tr>
-         <tr class="portlet-section-body">
-            <td colspan="2"><font class="portlet-form-label">*${n:i18n("REGISTER_FAKEEMAIL_EXPLAIN")}</font></td>
-         </tr>
-         <tr><td colspan="2" height="5"></td></tr>
-         <tr>
-            <td colspan="2" align="center"><input name="register" type="submit" class="portlet-form-button" value="${n:i18n("REGISTER_NEWUSER")}" /></td>
-         </tr>
-      </table>
+<p><span class="requiredfield">*</span>&nbsp;${n:i18n("REQUIRED")}</p>
+<hr/>
+<table width="100%" cellpadding="0" cellspacing="10" border="0" class="pn-normal">
+   <form name="register"
+         action="<portlet:actionURL><portlet:param name="op" value="userRegister"/></portlet:actionURL>" method="post">
+      <tr>
+         <td colspan="3" nowrap><h4>${n:i18n("REGISTER_BASICINFO")}</h4></td>
+      </tr>
+      <tr>
+
+         <td class="portlet-form-label" nowrap>${n:i18n("USERNAME")}<span class="requiredfield">*</span></td>
+         <td colspan="2"><input type="text" name="uname" value="${param["USERNAME"]}"
+                                size="30" maxlength="25">
+            <n:error key="uname_error"/>
+         </td>
+      </tr>
+      <tr>
+         <td class="portlet-form-label" nowrap>${n:i18n("REGISTER_REALEMAIL")}<span class="requiredfield">*</span>
+         </td>
+         <td><input type="text" name="realemail" value="user at portal.com" size="30" maxlength="60">
+            <n:error key="realemail_error"/>
+         </td>
+
+         <td><input type="checkbox" name="viewrealemail" value="true" checked="checked" class="portlet-form-label"/>Allow
+            other users to view my real e-mail address
+         </td>
+      </tr>
+      <tr>
+         <td class="portlet-form-label" nowrap>${n:i18n("REGISTER_FAKEEMAIL")}</td>
+         <td colspan="2"><input type="text" name="fakeemail" value="" size="30" maxlength="60"></td>
+      </tr>
+      <tr>
+         <td class="portlet-form-label" nowrap>${n:i18n("PASSWORD")}<span class="requiredfield">*</span></td>
+
+         <td colspan="2"><input type="password" name="pass1" size="30" maxlength="20">
+            <n:error key="pass1_error"/>
+         </td>
+      </tr>
+      <tr>
+         <td class="portlet-form-label" nowrap>${n:i18n("REGISTER_PASSWORDAGAIN")}<span
+            class="requiredfield">*</span></td>
+         <td colspan="2"><input type="password" name="pass2" size="30" maxlength="20">
+            <n:error key="pass2_error"/>
+         </td>
+      </tr>
+      <tr>
+         <td colspan="3" class="bottombuttonbar">
+            <input name="register" type="submit" class="portlet-form-button"
+                   value="${n:i18n("REGISTER_NEWUSER")}"/>
+         </td>
+      </tr>
    </form>
-</div>
-   <br/>
-   <!-- END disclaimer -->
-
+</table>
\ No newline at end of file

Added: trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser_admin.jsp
===================================================================
--- trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser_admin.jsp	2006-10-09 20:35:52 UTC (rev 5381)
+++ trunk/core/src/resources/portal-core-war/WEB-INF/jsp/user/registerUser_admin.jsp	2006-10-09 20:54:45 UTC (rev 5382)
@@ -0,0 +1,19 @@
+<%@ page import="org.jboss.portal.core.CoreConstants" %>
+<%@ page language="java" extends="org.jboss.portal.core.servlet.jsp.PortalJsp" %>
+<%@ taglib uri="/WEB-INF/portal-lib.tld" prefix="n" %>
+<%@ taglib uri="http://java.sun.com/portlet" prefix="portlet" %>
+<%@ page isELIgnored="false" %>
+<portlet:defineObjects/>
+
+<span class="portlet-font"><a
+   href="<portlet:renderURL windowState="normal"><portlet:param name="op" value="showMenu"/></portlet:renderURL>">${n:i18n("REGISTER_SHOWMENU")}</a></span>
+<br/>
+
+<div class="box" align="center">
+   <table border="0" class="portlet-font" cellspacing="0" cellpadding="2">
+      <tr>
+         <td align="center">${n:i18n("REGISTER_CONFIRM")}
+         </td>
+      </tr>
+   </table>
+</div>
\ No newline at end of file




More information about the jboss-svn-commits mailing list