You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by wo...@apache.org on 2008/02/20 12:59:22 UTC

svn commit: r629431 [1/3] - in /portals/jetspeed-2/trunk: ./ applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/ applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/ applications/j2-admin/src/java/org/apache/jetsp...

Author: woonsan
Date: Wed Feb 20 03:59:16 2008
New Revision: 629431

URL: http://svn.apache.org/viewvc?rev=629431&view=rev
Log:
Implemented Wicket user details portlet prototype.

Added:
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdmin.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_el.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_en.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_it.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ja.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ko.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ua.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh_TW.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserAttributesPanel.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserCredentialPanel.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserGroupsPanel.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserProfilesPanel.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserRolesPanel.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetailsApplication.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_ca.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_de.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_el.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_en.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_es.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_hu.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_it.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_ja.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_ko.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_pl.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_ru.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_ua.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_zh.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails_zh_TW.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/component/CheckBoxPropertyColumn$CheckBoxPanel.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/component/CheckBoxPropertyColumn.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/component/TextFieldPropertyColumn$TextFieldPanel.html
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/component/TextFieldPropertyColumn.java
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/decorations/layout/tigris/images/tab_bg.gif   (with props)
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/decorations/layout/tigris/images/tab_left.gif   (with props)
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/decorations/layout/tigris/images/tab_left_on.gif   (with props)
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/decorations/layout/tigris/images/tab_right.gif   (with props)
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/decorations/layout/tigris/images/tab_right_on.gif   (with props)
Modified:
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.properties
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/AdminWicketPortlet.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/component/PortletOddEvenItem.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/wicket/component/SelectionImagePropertyColumn.java
    portals/jetspeed-2/trunk/applications/j2-admin/src/webapp/WEB-INF/portlet.xml
    portals/jetspeed-2/trunk/applications/j2-admin/src/webapp/WEB-INF/web.xml
    portals/jetspeed-2/trunk/jetspeed-portal-resources/src/main/resources/webapp/decorations/layout/tigris/css/styles.css
    portals/jetspeed-2/trunk/pom.xml

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.html
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.html?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.html (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.html Wed Feb 20 03:59:16 2008
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<h4 class="portlet-section-header">Add User</h4>
+
+<form wicket:id="userAddForm">
+    <table>
+        <tr colspan="2" align="right">
+            <td nowrap class="portlet-section-alternate" align="right">New User Name: </td>
+            <td class="portlet-section-body" align="left">
+                <input type="text" wicket:id="jetspeedUserName" size="30" class="portlet-form-field-label" />
+            </td>
+        </tr>
+        <tr colspan="2" align="right">
+            <td nowrap class="portlet-section-alternate" align="right">Password: </td>
+            <td class="portlet-section-body" align="left">
+                <input type="password" wicket:id="jetspeedPassword" size="30" class="portlet-form-field-label">
+            </td>
+        </tr>
+        <tr colspan="2" align="right">
+            <td nowrap class="portlet-section-alternate" align="right">Change Password on first Login: </td>
+            <td class="portlet-section-body" align="left">
+                <input type="checkbox" wicket:id="jetspeedChangePasswordRequiredOnFirstLogin" />
+            </td>
+        </tr>
+        <tr colspan="2" align="right">
+            <td nowrap class="portlet-section-alternate" align="right">Default Role: </td>
+            <td class="portlet-section-body" align="left">
+                <select wicket:id="jetspeedRole" class="portlet-form-field-label">
+                    <option value="" />
+                </select>      
+            </td>
+        </tr>
+        <tr colspan="2" align="right">
+            <td nowrap class="portlet-section-alternate" align="right">Profiling Rule: </td>
+            <td class="portlet-section-body" align="left">
+                <select wicket:id="jetspeedRule" class="portlet-form-field-label">
+                    <option value=""/> 		
+                </select>      
+            </td>
+        </tr>
+        <tr colspan="2" align="right">
+            <td nowrap class="portlet-section-alternate" align="right">Subsite: </td>
+            <td class="portlet-section-body" align="left">
+                <select wicket:id="jetspeedSubsite" class="portlet-form-field-label">
+                    <option value=""/>
+                </select>      
+            </td>
+        </tr>
+    </table>
+    
+    <br/>
+    
+    <input type="submit" value="Add User" class="portlet-form-button" />
+    
+</form>
+    
+</html>

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.java?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.java (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdd.java Wed Feb 20 03:59:16 2008
@@ -0,0 +1,307 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.portlets.security.users;
+
+import java.io.Serializable;
+import java.io.NotSerializableException;
+import java.util.Set;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.LinkedList;
+import java.util.Iterator;
+import java.util.prefs.Preferences;
+import java.security.Principal;
+
+import javax.portlet.PortletContext;
+import javax.portlet.PortletSession;
+import javax.portlet.PortletRequest;
+
+import org.apache.wicket.RequestContext;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.CheckBox;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.protocol.http.portlet.PortletRequestContext;
+
+import org.apache.portals.messaging.PortletMessaging;
+
+import org.apache.jetspeed.CommonPortletServices;
+import org.apache.jetspeed.PortalReservedParameters;
+import org.apache.jetspeed.audit.AuditActivity;
+import org.apache.jetspeed.om.folder.Folder;
+import org.apache.jetspeed.om.folder.FolderNotFoundException;
+import org.apache.jetspeed.page.PageManager;
+import org.apache.jetspeed.page.document.NodeSet;
+import org.apache.jetspeed.profiler.Profiler;
+import org.apache.jetspeed.profiler.rules.PrincipalRule;
+import org.apache.jetspeed.profiler.rules.ProfilingRule;
+import org.apache.jetspeed.security.PasswordCredential;
+import org.apache.jetspeed.security.Role;
+import org.apache.jetspeed.security.RoleManager;
+import org.apache.jetspeed.security.SecurityException;
+import org.apache.jetspeed.security.User;
+import org.apache.jetspeed.security.UserManager;
+import org.apache.jetspeed.security.UserPrincipal;
+import org.apache.jetspeed.portlets.security.SecurityResources;
+import org.apache.jetspeed.portlets.security.SecurityUtil;
+
+import org.apache.jetspeed.portlets.wicket.component.LinkPropertyColumn;
+import org.apache.jetspeed.portlets.wicket.component.PortletOddEvenItem;
+
+/**
+ * User Add Wicket WebPage
+ * 
+ * @author <a href="mailto:woonsan@apache.org">Woonsan Ko</a>
+ * @version $Id: $
+ */
+public class WicketUserAdd extends WicketUserAdmin
+{
+    
+    protected String userName;
+    protected String password;
+    protected boolean changePasswordRequiredOnFirstLogin;
+    protected String role;
+    protected String rule;
+    protected String subsite;
+
+	public WicketUserAdd()
+	{
+        Form userAddForm = new Form("userAddForm")
+        {
+            protected void onSubmit()
+            {
+                if (!SecurityUtil.isEmpty(getUserName()))
+                {
+                    try
+                    {            
+                        if (SecurityUtil.isEmpty(getPassword()))
+                        {
+                            throw new SecurityException(SecurityException.PASSWORD_REQUIRED);
+                        }
+                        
+                        getUserManager().addUser(getUserName(), getPassword());
+                        getAuditActivity().logAdminUserActivity(getPortletRequest().getUserPrincipal().getName(), getIPAddress(), getUserName(), AuditActivity.USER_CREATE, USER_ADMINISTRATION);            
+                        
+                        PortletMessaging.publish(getPortletRequest(), SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_REFRESH, "true");
+                        PortletMessaging.publish(getPortletRequest(), SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_SELECTED, getUserName());
+                                                        
+                        User user = getUserManager().getUser(getUserName());
+                        
+                        PasswordCredential credential = getCredential(user);
+                        
+                        if ( credential != null )
+                        {
+                            if (getChangePasswordRequiredOnFirstLogin() != credential.isUpdateRequired())
+                            {
+                                getUserManager().setPasswordUpdateRequired(getUserName(), getChangePasswordRequiredOnFirstLogin());
+                            }                    
+                        }
+                        
+                        if (!SecurityUtil.isEmpty(getRole()) && user != null) 
+                        {
+                            getRoleManager().addRoleToUser(getUserName(), getRole());
+                        }
+                        
+                        String templateFolder = getPortletRequest().getPreferences().getValue("newUserTemplateDirectory", "/_user/template/");
+
+                        String subsite = getSubsite();
+                        
+                        if (SecurityUtil.isEmpty(subsite))
+                        {
+                            subsite = Folder.USER_FOLDER + getUserName();
+                        }
+                        else
+                        {
+                            subsite  = subsite + Folder.USER_FOLDER + getUserName();
+                            Preferences attributes = user.getUserAttributes();
+                            attributes.put(User.USER_INFO_SUBSITE, subsite);                    
+                        }
+                        
+                        // copy the entire dir tree from the template folder
+                        if (!(templateFolder == null || templateFolder.trim().length() == 0))
+                        {
+                            Folder source = getPageManager().getFolder(templateFolder);                
+                            getPageManager().deepCopyFolder(source, subsite, getUserName());
+                        }
+                        // TODO: send message that site tree portlet invalidated
+                        
+                        if (!SecurityUtil.isEmpty(getRule()) && user != null) 
+                        {
+                            Principal principal = SecurityUtil.getPrincipal(user.getSubject(), UserPrincipal.class);                         
+                            getProfiler().setRuleForPrincipal(principal, getProfiler().getRule(getRule()), "page");
+                        }
+                        
+                        setResponsePage(WicketUserDetails.class);
+                    }
+                    catch (SecurityException sex)
+                    {
+                        SecurityUtil.publishErrorMessage(getPortletRequest(), SecurityResources.TOPIC_USER, sex.getMessage());
+                    }
+                    catch (Exception ex)
+                    {
+                        SecurityUtil.publishErrorMessage(getPortletRequest(), SecurityResources.TOPIC_USER, ex.getMessage());
+                    }
+                }
+            }
+        };
+
+        TextField userNameField = new TextField("jetspeedUserName", new PropertyModel(this, "userName"));
+        userAddForm.add(userNameField);
+        
+        PasswordTextField passwordField = new PasswordTextField("jetspeedPassword", new PropertyModel(this, "password"));
+        userAddForm.add(passwordField);
+        
+        CheckBox changePasswordRequiredOnFirstLoginField = new CheckBox("jetspeedChangePasswordRequiredOnFirstLogin", new PropertyModel(this, "changePasswordRequiredOnFirstLogin"));
+        userAddForm.add(changePasswordRequiredOnFirstLoginField);
+        
+        List roles = new LinkedList();
+        
+        try
+        {
+            for (Iterator it = getRoleManager().getRoles(""); it.hasNext(); )
+            {
+                Role role = (Role) it.next();
+                roles.add(role.getPrincipal().getName());
+            }
+        }
+        catch (SecurityException e)
+        {
+            SecurityUtil.publishErrorMessage(getPortletRequest(), SecurityResources.TOPIC_USERS, e.getMessage());
+        }                                    
+        
+        DropDownChoice roleField = new DropDownChoice("jetspeedRole", new PropertyModel(this, "role"), roles);
+        userAddForm.add(roleField);
+        
+        List rules = new LinkedList();
+        
+        for (Iterator it = getProfiler().getRules().iterator(); it.hasNext(); )
+        {
+            ProfilingRule rule = (ProfilingRule) it.next();
+            rules.add(rule.getId());
+        }
+        
+        DropDownChoice ruleField = new DropDownChoice("jetspeedRule", new PropertyModel(this, "rule"), rules);
+        userAddForm.add(ruleField);
+        
+        List subsites = new ArrayList();
+        
+        SubsiteInfo emptyone = new SubsiteInfo("","");
+        subsites.add(emptyone.getPath());
+        
+        String subsiteRoot = getPortletRequest().getPreferences().getValue("subsiteRootFolder", "");
+        
+        if (!subsiteRoot.equals(""))
+        {
+            try
+            {
+                Folder subsiteFolder = getPageManager().getFolder(subsiteRoot);
+                NodeSet set = getPageManager().getFolders(subsiteFolder);
+                
+                if (set != null && !set.isEmpty())
+                {
+                    for (Iterator setIterator = set.iterator(); setIterator.hasNext(); )
+                    {
+                        Folder f = (Folder) setIterator.next();
+                        SubsiteInfo subsiteInfo = new SubsiteInfo(f.getPath(), f.getTitle());
+                        subsites.add(subsiteInfo.getPath());
+                    }
+                }
+            }
+            catch (FolderNotFoundException fnfe)
+            {
+                // subsites not used, ignore
+            }
+            catch (Exception e)
+            {
+                
+            }
+        }
+        subsites.add("Localhost");
+        
+        DropDownChoice subsiteField = new DropDownChoice("jetspeedSubsite", new PropertyModel(this, "subsite"), subsites);
+        userAddForm.add(subsiteField);
+        
+        add(userAddForm);
+	}
+    
+    public void setUserName(String userName)
+    {
+        this.userName = userName;
+    }
+    
+    public String getUserName()
+    {
+        return this.userName;
+    }
+    
+    public void setPassword(String password)
+    {
+        this.password = password;
+    }
+    
+    public String getPassword()
+    {
+        return this.password;
+    }
+    
+    public void setChangePasswordRequiredOnFirstLogin(boolean changePasswordRequiredOnFirstLogin)
+    {
+        this.changePasswordRequiredOnFirstLogin = changePasswordRequiredOnFirstLogin;
+    }
+    
+    public boolean getChangePasswordRequiredOnFirstLogin()
+    {
+        return this.changePasswordRequiredOnFirstLogin;
+    }
+    
+    public void setRole(String role)
+    {
+        this.role = role;
+    }
+    
+    public String getRole()
+    {
+        return this.role;
+    }
+    
+    public void setRule(String rule)
+    {
+        this.rule = rule;
+    }
+    
+    public String getRule()
+    {
+        return this.rule;
+    }
+    
+    public void setSubsite(String subsite)
+    {
+        this.subsite = subsite;
+    }
+    
+    public String getSubsite()
+    {
+        return this.subsite;
+    }
+
+}
\ No newline at end of file

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdmin.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdmin.java?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdmin.java (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserAdmin.java Wed Feb 20 03:59:16 2008
@@ -0,0 +1,166 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements.  See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License.  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.jetspeed.portlets.security.users;
+
+import java.io.Serializable;
+import java.io.NotSerializableException;
+import java.util.Set;
+import java.util.List;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.prefs.Preferences;
+import java.security.Principal;
+
+import javax.portlet.PortletContext;
+import javax.portlet.PortletSession;
+import javax.portlet.PortletRequest;
+
+import org.apache.wicket.RequestContext;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.Model;
+import org.apache.wicket.model.PropertyModel;
+import org.apache.wicket.markup.html.WebPage;
+import org.apache.wicket.markup.html.basic.Label;
+import org.apache.wicket.markup.html.form.Form;
+import org.apache.wicket.markup.html.form.TextField;
+import org.apache.wicket.markup.html.form.PasswordTextField;
+import org.apache.wicket.markup.html.form.CheckBox;
+import org.apache.wicket.markup.html.form.DropDownChoice;
+import org.apache.wicket.protocol.http.portlet.PortletRequestContext;
+
+import org.apache.portals.messaging.PortletMessaging;
+
+import org.apache.jetspeed.CommonPortletServices;
+import org.apache.jetspeed.PortalReservedParameters;
+import org.apache.jetspeed.audit.AuditActivity;
+import org.apache.jetspeed.om.folder.Folder;
+import org.apache.jetspeed.om.folder.FolderNotFoundException;
+import org.apache.jetspeed.page.PageManager;
+import org.apache.jetspeed.profiler.Profiler;
+import org.apache.jetspeed.profiler.rules.PrincipalRule;
+import org.apache.jetspeed.profiler.rules.ProfilingRule;
+import org.apache.jetspeed.security.PasswordCredential;
+import org.apache.jetspeed.security.Role;
+import org.apache.jetspeed.security.RoleManager;
+import org.apache.jetspeed.security.GroupManager;
+import org.apache.jetspeed.security.SecurityException;
+import org.apache.jetspeed.security.User;
+import org.apache.jetspeed.security.UserManager;
+import org.apache.jetspeed.security.UserPrincipal;
+import org.apache.jetspeed.portlets.security.SecurityResources;
+import org.apache.jetspeed.portlets.security.SecurityUtil;
+import org.apache.jetspeed.components.portletregistry.PortletRegistry;
+import org.apache.jetspeed.administration.PortalConfiguration;
+
+import org.apache.jetspeed.portlets.wicket.AdminWicketPortlet;
+import org.apache.jetspeed.portlets.wicket.component.LinkPropertyColumn;
+import org.apache.jetspeed.portlets.wicket.component.PortletOddEvenItem;
+
+/**
+ * User Admin Wicket WebPage
+ * 
+ * @author <a href="mailto:woonsan@apache.org">Woonsan Ko</a>
+ * @version $Id: $
+ */
+public class WicketUserAdmin extends WebPage
+{
+    
+    public static final String USER_ADMINISTRATION = "J2 User Administration";
+    
+	public WicketUserAdmin()
+	{
+	}
+    
+    protected PortletRequest getPortletRequest()
+    {
+        return ((PortletRequestContext) RequestContext.get()).getPortletRequest();
+    }
+    
+    protected String getPAIdentifier()
+    {
+        return (String) getPortletRequest().getAttribute(AdminWicketPortlet.JETSPEED_PA_IDENTIFIER);
+    }
+
+    protected UserManager getUserManager()
+    {
+        return (UserManager) getPortletRequest().getAttribute(CommonPortletServices.CPS_USER_MANAGER_COMPONENT);
+    }
+    
+    protected RoleManager getRoleManager()
+    {
+        return (RoleManager) getPortletRequest().getAttribute(CommonPortletServices.CPS_ROLE_MANAGER_COMPONENT);
+    }
+    
+    protected GroupManager getGroupManager()
+    {
+        return (GroupManager) getPortletRequest().getAttribute(CommonPortletServices.CPS_GROUP_MANAGER_COMPONENT);
+    }
+    
+    protected Profiler getProfiler()
+    {
+        return (Profiler) getPortletRequest().getAttribute(CommonPortletServices.CPS_PROFILER_COMPONENT);
+    }
+    
+    protected AuditActivity getAuditActivity()
+    {
+        return (AuditActivity) getPortletRequest().getAttribute(CommonPortletServices.CPS_AUDIT_ACTIVITY);
+    }
+    
+    protected PageManager getPageManager()
+    {
+        return (PageManager) getPortletRequest().getAttribute(CommonPortletServices.CPS_PAGE_MANAGER_COMPONENT);
+    }
+    
+    protected PortletRegistry getPortletRegistry()
+    {
+        return (PortletRegistry) getPortletRequest().getAttribute(CommonPortletServices.CPS_REGISTRY_COMPONENT);
+    }
+
+    protected PortalConfiguration getPortalConfiguration()
+    {
+        return (PortalConfiguration) getPortletRequest().getAttribute(CommonPortletServices.CPS_PORTAL_CONFIGURATION);
+    }
+
+    protected PasswordCredential getCredential(User user)
+    {
+        PasswordCredential credential = null;
+        
+        Set credentials = user.getSubject().getPrivateCredentials();
+        Iterator iter = credentials.iterator();
+        
+        while (iter.hasNext())
+        {
+            Object o = iter.next();
+            
+            if (o instanceof PasswordCredential)
+            {
+                credential = (PasswordCredential)o;
+                break;
+            }
+        }
+        
+        return credential;
+    }
+
+    protected String getIPAddress()
+    {
+        org.apache.jetspeed.request.RequestContext context = (org.apache.jetspeed.request.RequestContext) getPortletRequest().getAttribute(PortalReservedParameters.REQUEST_CONTEXT_ATTRIBUTE);
+        
+        return (context == null ? "" : context.getRequest().getRemoteAddr());
+    }
+    
+}
\ No newline at end of file

Modified: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.java
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.java?rev=629431&r1=629430&r2=629431&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.java (original)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.java Wed Feb 20 03:59:16 2008
@@ -29,6 +29,7 @@
 import org.apache.wicket.RequestContext;
 import org.apache.wicket.model.IModel;
 import org.apache.wicket.model.Model;
+import org.apache.wicket.model.ResourceModel;
 import org.apache.wicket.model.PropertyModel;
 import org.apache.wicket.markup.html.WebPage;
 import org.apache.wicket.markup.html.basic.Label;
@@ -53,6 +54,8 @@
 import org.apache.jetspeed.security.SecurityException;
 import org.apache.jetspeed.portlets.security.SecurityResources;
 import org.apache.jetspeed.portlets.security.SecurityUtil;
+import org.apache.jetspeed.audit.AuditActivity;
+import org.apache.jetspeed.components.portletregistry.PortletRegistry;
 
 import org.apache.jetspeed.portlets.wicket.component.SelectionImagePropertyColumn;
 import org.apache.jetspeed.portlets.wicket.component.LinkPropertyColumn;
@@ -64,7 +67,7 @@
  * @author <a href="mailto:woonsan@apache.org">Woonsan Ko</a>
  * @version $Id: $
  */
-public class WicketUserBrowser extends WebPage
+public class WicketUserBrowser extends WicketUserAdmin
 {
 
     protected List userNameList;
@@ -97,24 +100,23 @@
         {
             new SelectionImagePropertyColumn(new Model(" "), "")
             {
-                protected boolean isSelectedItem(Item item, String componentId, IModel model)
+                protected boolean isSelected(Item item, String componentId, IModel model)
                 {
                     String userName = (String) model.getObject();
                     return userName.equals(selectedUserName);
                 }
             },
-            new LinkPropertyColumn(new Model("User"), "")
+            new LinkPropertyColumn(new ResourceModel("user"), "")
             {
                 public void onClick(Item item, String componentId, IModel model)
                 {
-                    PortletRequest request = ((PortletRequestContext) RequestContext.get()).getPortletRequest();
                     setSelectedUserName((String) model.getObject());
                     
                     if (getSelectedUserName() != null)
                     {
                         try
                         {
-                            PortletMessaging.publish(request, SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_SELECTED, getSelectedUserName());
+                            PortletMessaging.publish(getPortletRequest(), SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_SELECTED, getSelectedUserName());
                         }
                         catch (NotSerializableException e)
                         {
@@ -144,11 +146,11 @@
             }
         };
         
-        TextField searchString = new TextField("searchString", new PropertyModel(this, "searchString"));
-        searchForm.add(searchString);
+        TextField searchStringField = new TextField("searchString", new PropertyModel(this, "searchString"));
+        searchForm.add(searchStringField);
         
-        CheckBox filtered = new CheckBox("filtered", new PropertyModel(this, "filtered"));
-        searchForm.add(filtered);
+        CheckBox filteredField = new CheckBox("filtered", new PropertyModel(this, "filtered"));
+        searchForm.add(filteredField);
         
         add(searchForm);
 	}
@@ -195,34 +197,50 @@
     
     protected void onBeforeRender()
     {
-        PortletRequest request = ((PortletRequestContext) RequestContext.get()).getPortletRequest();
-        
         try
         {
             if (getFiltered())
             {
-                PortletMessaging.publish(request, SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_FILTERED, "on");            
+                PortletMessaging.publish(getPortletRequest(), SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_FILTERED, "on");            
             }
             else
             {
-                PortletMessaging.cancel(request, SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_FILTERED);
+                PortletMessaging.cancel(getPortletRequest(), SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_FILTERED);
             }
 
             this.userNameList = new ArrayList();
-            UserManager userManager = (UserManager) request.getAttribute(CommonPortletServices.CPS_USER_MANAGER_COMPONENT);
-            Iterator users = userManager.getUserNames(getSearchString());
+            Iterator users = getUserManager().getUserNames(getSearchString());
 
             while (users.hasNext())
             {
                 this.userNameList.add(users.next());
-            }            
+            }
+            
+            String userName = (String) PortletMessaging.receive(getPortletRequest(), SecurityResources.TOPIC_USERS, SecurityResources.MESSAGE_SELECTED);
+            setSelectedUserName(userName);
+            
+            if (userName != null)
+            {
+                DataTable userDataTable = (DataTable) get("userDataTable");
+                
+                if (userDataTable != null)
+                {
+                    int index = this.userNameList.indexOf(getSelectedUserName());
+                    
+                    if (index != -1)
+                    {
+                        int currentPage = Math.max(0, userDataTable.getRowCount() - 1) / userDataTable.getRowsPerPage();
+                        userDataTable.setCurrentPage(currentPage);
+                    }
+                }
+            }
         }
         catch (NotSerializableException e)
         {
         }
         catch (SecurityException e)
         {
-            SecurityUtil.publishErrorMessage(request, SecurityResources.TOPIC_USERS, e.getMessage());
+            SecurityUtil.publishErrorMessage(getPortletRequest(), SecurityResources.TOPIC_USERS, e.getMessage());
         }                                    
         
         super.onBeforeRender();

Modified: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.properties?rev=629431&r1=629430&r2=629431&view=diff
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.properties (original)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser.properties Wed Feb 20 03:59:16 2008
@@ -1 +1,29 @@
-NavigatorLabel=${from}-${to}. Total: ${Of}
\ No newline at end of file
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#
+
+user = User
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=of
+go=Go
+nextarrow=>
+lastarrow=>>
+refresh=Refresh
+search=Search
+filter=Filter:

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_el.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_el.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_el.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_el.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+#  Jetspeed Development Team
+
+# portlet info
+javax.portlet.title=\u03a6\u03c5\u03bb\u03bb\u03bf\u03bc\u03b5\u03c4\u03c1\u03b7\u03c4\u03ae\u03c2 \u03a7\u03c1\u03b7\u03c3\u03c4\u03ce\u03bd
+javax.portlet.short-title=\u03a7\u03c1\u03ae\u03c3\u03c4\u03b5\u03c2
+javax.portlet.keywords=admin,security,users
+
+user = \u03a7\u03c1\u03ae\u03c3\u03c4\u03b7\u03c2
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=\u03b1\u03c0\u03cc
+go=\u03a0\u03ae\u03b3\u03b1\u03b9\u03bd\u03b5
+nextarrow=>
+lastarrow=>>
+refresh=\u0391\u03bd\u03b1\u03bd\u03ad\u03c9\u03c3\u03b7
+search=\u0391\u03bd\u03b1\u03b6\u03ae\u03c4\u03b7\u03c3\u03b7
+filter=\u03a6\u03af\u03bb\u03c4\u03c1\u03bf:

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_en.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_en.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_en.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_en.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+#  Jetspeed Development Team
+
+# portlet info
+javax.portlet.title=User Browser
+javax.portlet.short-title=Users
+javax.portlet.keywords=admin,security,users
+
+user = User
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=of
+go=Go
+nextarrow=>
+lastarrow=>>
+refresh=Refresh
+search=Search
+filter=Filter:
\ No newline at end of file

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_it.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_it.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_it.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_it.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# Italian version by Dessì Massimiliano  <a href="desmax74@yahoo.it.it">desmax74@yahoo.it</a>.
+# Vers 0.1 jetspeed 2.0   08/12/2005
+
+# portlet info
+javax.portlet.title=Browser utente
+javax.portlet.short-title=Utenti
+javax.portlet.keywords=admin,sicurezza,utenti
+
+user = Utente
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=di
+go=Vai
+nextarrow=>
+lastarrow=>>
+refresh=Rinfresca
+search=Cerca
+filter=Filtro:
\ No newline at end of file

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ja.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ja.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ja.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ja.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+#  Shinsuke Sugaya
+
+# portlet info
+javax.portlet.title=\u30e6\u30fc\u30b6\u30fc\u30d6\u30e9\u30a6\u30b6
+javax.portlet.short-title=\u30e6\u30fc\u30b6\u30fc
+javax.portlet.keywords=\u7ba1\u7406,\u30bb\u30ad\u30e5\u30ea\u30c6\u30a3,\u30e6\u30fc\u30b6\u30fc
+
+user = \u30e6\u30fc\u30b6\u30fc
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=/
+go=\u5b9f\u884c
+nextarrow=>
+lastarrow=>>
+refresh=\u66f4\u65b0
+search=\u691c\u7d22
+filter=\u30d5\u30a3\u30eb\u30bf:
\ No newline at end of file

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ko.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ko.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ko.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ko.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+#  Jetspeed Development Team
+
+# portlet info
+javax.portlet.title=\uc0ac\uc6a9\uc790 \ud0d0\uc0c9
+javax.portlet.short-title=\uc0ac\uc6a9\uc790
+javax.portlet.keywords=\uad00\ub9ac,\ubcf4\uc548,\uc0ac\uc6a9\uc790
+
+user = \uc0ac\uc6a9\uc790
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=/
+go=\uc774\ub3d9
+nextarrow=>
+lastarrow=>>
+refresh=\uc0c8\ub85c\uace0\uce68
+search=\uac80\uc0c9
+filter=\ud544\ud130:

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ua.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ua.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ua.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_ua.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,35 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+#  Jetspeed Development Team
+
+# portlet info
+javax.portlet.title=\u0411\u0440\u0430\u0443\u0437\u0435\u0440 \u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0430
+javax.portlet.short-title=\u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456
+javax.portlet.keywords=\u0430\u0434\u043c\u0456\u043d\u0456\u0441\u0442\u0440\u0443\u0432\u0430\u043d\u043d\u044f,\u0431\u0435\u0437\u043f\u0435\u043a\u0430,\u043a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447\u0456
+
+user = \u041a\u043e\u0440\u0438\u0441\u0442\u0443\u0432\u0430\u0447
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=of
+go=\u0414\u0430\u043b\u0456
+nextarrow=>
+lastarrow=>>
+refresh=\u041f\u043e\u043d\u043e\u0432\u0438\u0442\u0438
+search=\u041f\u043e\u0448\u0443\u043a
+filter=\u0424\u0456\u043b\u044c\u0442\u0440:

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+# James Liao <ji...@gmail.com>
+
+# portlet info
+javax.portlet.title=\u7528\u6237\u7ba1\u7406
+javax.portlet.short-title=\u7528\u6237
+javax.portlet.keywords=\u7ba1\u7406,\u5b89\u5168,\u7528\u6237
+
+user = \u7528\u6237
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=of
+go=Go
+nextarrow=>
+lastarrow=>>
+refresh=\u5237\u65b0
+search=\u641c\u7d22
+filter=\u8fc7\u6ee4:
+

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh_TW.properties
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh_TW.properties?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh_TW.properties (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserBrowser_zh_TW.properties Wed Feb 20 03:59:16 2008
@@ -0,0 +1,37 @@
+# Licensed to the Apache Software Foundation (ASF) under one or more
+# contributor license agreements.  See the NOTICE file distributed with
+# this work for additional information regarding copyright ownership.
+# The ASF licenses this file to You under the Apache License, Version 2.0
+# (the "License"); you may not use this file except in compliance with
+# the License.  You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+# LOCALIZATION MAINTAINER:
+# Cubehead Fang <cu...@gmail.com>
+
+# portlet info
+javax.portlet.title=\u7528\u6236\u7ba1\u7406
+javax.portlet.short-title=\u7528\u6236
+javax.portlet.keywords=\u7ba1\u7406,\u5b89\u5168,\u7528\u6236
+
+user = \u7528\u6236
+
+NavigatorLabel=${from}-${to}. Total: ${Of}
+firstarrow=<<
+prevarrow=<
+numsepa=of
+go=Go
+nextarrow=>
+lastarrow=>>
+refresh=\u5237\u65b0
+search=\u641c\u7d22
+filter=\u904e\u6ffe:
+
+

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserAttributesPanel.html
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails%24UserAttributesPanel.html?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserAttributesPanel.html (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserAttributesPanel.html Wed Feb 20 03:59:16 2008
@@ -0,0 +1,35 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<wicket:panel>
+    <br />
+
+    <form wicket:id="userAttrsForm">
+        <table wicket:id="entries" cellpadding="0" cellspacing="1" border="0">
+        </table>
+        <input wicket:id="updateAttr" type="submit" value="Update" class="portlet-form-button" />
+        <input wicket:id="removeAttr" type="submit" value="Remove" class="portlet-form-button" />
+    </form>
+    
+    <form wicket:id="addAttrForm">
+        <table>
+            <tr>
+                <td class="portlet-section-alternate">Name</td>
+                <td class="portlet-section-body">
+                    <input type="text" wicket:id="userAttrName" size="20" class="portlet-form-field-label" />
+                </td>
+            </tr>
+            <tr>
+                <td class="portlet-section-alternate">Value</td>
+                <td class="portlet-section-body">
+                    <input type="text" wicket:id="userAttrValue" size="20" class="portlet-form-field-label" />
+                </td>
+            </tr>
+        </table>
+        <input type="submit" value="Add" class="portlet-form-button" />
+    </form>
+    
+</wicket:panel>
+
+</html>

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserCredentialPanel.html
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails%24UserCredentialPanel.html?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserCredentialPanel.html (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserCredentialPanel.html Wed Feb 20 03:59:16 2008
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<wicket:panel>
+    <br />
+    <form wicket:id="userCredentialForm">
+        <table>
+            <tr>
+                <td class="portlet-section-alternate">Value</td>
+                <td class="portlet-section-body" >
+                    <input type="password" wicket:id="credentialValue" />
+                </td>
+                <td>&nbsp;</td>
+                <td class="portlet-section-body">
+                    <input type="checkbox" wicket:id="credentialUpdateRequired" />
+                    Change required at next login
+                </td>
+            </tr>
+            <tr>
+                <td class="portlet-section-alternate">Last Logon</td>
+                <td class="portlet-section-body">
+                    <span wicket:id="lastAuthenticationDate" />
+                </td>
+                <td>&nbsp;</td>
+                <td class="portlet-section-body">
+                    <input type="checkbox" wicket:id="credentialEnabled" />
+                    Enabled
+                </td>
+            </tr>
+            <tr>
+                <td class="portlet-section-alternate">Expires</td>
+                <td class="portlet-section-body">
+                    <span wicket:id="credentialExpirationDate" />
+                </td>
+                <td>&nbsp;</td>
+                <td class="portlet-section-body" nowrap="true">
+                    <span valign="top" wicket:id="userExpiredFlag">
+                        <input type="radio" />Active&nbsp;
+                        <input type="radio" />Expired&nbsp;
+                        <input type="radio" />Extend&nbsp;
+                        <input type="radio" />Extend Unlimited
+                    </span>
+                </td>
+            </tr>
+        </table>
+        <input type="submit" value="Update" class="portlet-form-button" />
+    </form>
+
+</wicket:panel>
+
+</html>

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserGroupsPanel.html
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails%24UserGroupsPanel.html?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserGroupsPanel.html (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserGroupsPanel.html Wed Feb 20 03:59:16 2008
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<wicket:panel>
+    <br />
+    <form wicket:id="userGroupsForm">
+        <table wicket:id="entries" cellpadding="0" cellspacing="1" border="0">
+        </table>
+        <input type="submit" value="Remove" class="portlet-form-button" />
+    </form>
+    
+    <form wicket:id="addGroupForm">
+        <table>
+            <tr>
+                <td class="portlet-section-alternate">Group Name</td>
+                <td class="portlet-section-body" align="left">
+                    <select wicket:id="groupName" class="portlet-form-field-label">
+                        <option>user</option>
+                    </select>      
+                </td>				
+            </tr>
+        </table>
+        <input type="submit" value="Add" class="portlet-form-button" />
+    </form>
+
+</wicket:panel>
+
+</html>

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserProfilesPanel.html
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails%24UserProfilesPanel.html?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserProfilesPanel.html (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserProfilesPanel.html Wed Feb 20 03:59:16 2008
@@ -0,0 +1,37 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<wicket:panel>
+    <br />
+
+    <form wicket:id="userRulesForm">
+        <table wicket:id="entries" cellpadding="0" cellspacing="1" border="0">
+        </table>
+        <input type="submit" value="Remove" class="portlet-form-button" />
+    </form>
+    
+    <form wicket:id="addRuleForm">
+        <table>
+            <tr>
+                <td class="portlet-section-alternate">Name</td>
+                <td class="portlet-section-body" align="left">
+                    <input type="text" wicket:id="locatorName" size="20" />
+                    Common Locator Names: [page,docset]
+                </td>				
+            </tr>
+            <tr>
+                <td class="portlet-section-alternate">Rule</td>
+                <td class="portlet-section-body" align="left">
+                    <select wicket:id="ruleName" class="portlet-form-field-label">
+                        <option>group-fallback</option>
+                    </select>      
+                </td>				
+            </tr>
+        </table>
+        <input type="submit" value="Add" class="portlet-form-button" />
+    </form>
+
+</wicket:panel>
+
+</html>

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserRolesPanel.html
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails%24UserRolesPanel.html?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserRolesPanel.html (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails$UserRolesPanel.html Wed Feb 20 03:59:16 2008
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<wicket:panel>
+    <br />
+
+    <form wicket:id="userRolesForm">
+        <table wicket:id="entries" cellpadding="0" cellspacing="1" border="0">
+        </table>
+        <input type="submit" value="Remove" class="portlet-form-button" />
+    </form>
+    
+    <form wicket:id="addRoleForm">
+        <table>
+            <tr>
+                <td class="portlet-section-alternate">Role Name</td>
+                <td class="portlet-section-body" align="left">
+                    <select wicket:id="roleName" class="portlet-form-field-label">
+                        <option>user</option>
+                    </select>      
+                </td>				
+            </tr>
+        </table>
+        <input type="submit" value="Add" class="portlet-form-button" />
+    </form>
+
+</wicket:panel>
+
+</html>

Added: portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails.html
URL: http://svn.apache.org/viewvc/portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails.html?rev=629431&view=auto
==============================================================================
--- portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails.html (added)
+++ portals/jetspeed-2/trunk/applications/j2-admin/src/java/org/apache/jetspeed/portlets/security/users/WicketUserDetails.html Wed Feb 20 03:59:16 2008
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<html xmlns="http://www.w3.org/1999/xhtml" >
+
+<br/>
+<div class='portlet-section-header'>
+    <wicket:message key="user.principal.name">Principal</wicket:message> : 
+    <span wicket:id="userName" style='font-size:11pt; text-transform:uppercase'>user</span>
+</div>
+<br/>
+
+<div wicket:id="tabs" class="tabpanel">[tabbed panel will be here]</div>
+
+<br/>
+<form wicket:id="userActionForm">
+    <input wicket:id="addNewUser" type="submit" value="Add New User" class="portlet-form-button" />
+    <input wicket:id="removeUser" type="submit" value="Remove User" class="portlet-form-button" />
+</form>
+
+</html>



---------------------------------------------------------------------
To unsubscribe, e-mail: jetspeed-dev-unsubscribe@portals.apache.org
For additional commands, e-mail: jetspeed-dev-help@portals.apache.org