Author: agilliland
Date: Mon May  7 11:52:20 2007
New Revision: 535951

URL: http://svn.apache.org/viewvc?view=rev&rev=535951
Log:
Committing patch for issue ROL-1136 submitted by Matthew Montgomery which adds 
support for a new screen name attribute in user profiles and makes that the 
preferred display field for profiles.


Modified:
    roller/trunk/metadata/database/tmpls/3xx-to-400-migration.vm
    roller/trunk/metadata/database/tmpls/createdb.vm
    roller/trunk/nbproject/project.xml
    roller/trunk/src/org/apache/roller/pojos/UserData.java
    roller/trunk/src/org/apache/roller/pojos/wrapper/UserDataWrapper.java
    roller/trunk/src/org/apache/roller/ui/core/security/CustomUserRegistry.java
    roller/trunk/src/org/apache/roller/ui/core/security/RollerUserDetails.java
    
roller/trunk/src/org/apache/roller/ui/core/struts/actions/YourProfileAction.java
    roller/trunk/src/org/apache/roller/ui/core/struts2/ProfileForm.java
    roller/trunk/src/org/apache/roller/ui/core/struts2/RegisterFormBean.java
    
roller/trunk/src/org/apache/roller/webservices/adminprotocol/RollerUserHandler.java
    
roller/trunk/src/org/apache/roller/webservices/adminprotocol/sdk/UserEntry.java
    roller/trunk/src/org/apache/roller/webservices/xmlrpc/BloggerAPIHandler.java
    roller/trunk/tests/org/apache/roller/TestUtils.java
    roller/trunk/tests/org/apache/roller/business/UserTest.java
    roller/trunk/web/WEB-INF/classes/ApplicationResources.properties
    roller/trunk/web/WEB-INF/jsps/admin/UserAdmin.jsp
    roller/trunk/web/WEB-INF/jsps/core/UserNew.jsp
    roller/trunk/web/WEB-INF/jsps/core/YourProfile.jsp
    roller/trunk/web/WEB-INF/jsps/core/struts2/ProfileForm.jsp
    roller/trunk/web/WEB-INF/jsps/core/struts2/RegisterForm.jsp
    roller/trunk/web/themes/basic/_day.vm
    roller/trunk/web/themes/brushedmetal/_day.vm
    roller/trunk/web/themes/frontpage/Weblog.vm
    roller/trunk/web/themes/frontpage/_blogprofile.vm
    roller/trunk/web/themes/frontpage/_entry.vm
    roller/trunk/web/themes/sotto/Weblog.vm
    roller/trunk/web/themes/sotto/_day.vm

Modified: roller/trunk/metadata/database/tmpls/3xx-to-400-migration.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/metadata/database/tmpls/3xx-to-400-migration.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/metadata/database/tmpls/3xx-to-400-migration.vm (original)
+++ roller/trunk/metadata/database/tmpls/3xx-to-400-migration.vm Mon May  7 
11:52:20 2007
@@ -33,6 +33,10 @@
 -- new column to support account activation by email
 #addColumnNull("rolleruser" "activationcode" "varchar(48)")
 
+-- new column to support screen name and populate with user names
+#addColumnNotNull("rolleruser" "screenname" "varchar(255)" "'unspecified'")
+update rolleruser set screenname = username;
+
 -- new column to allow setting of page template content-type
 #addColumnNull("webpage" "outputtype" "varchar(48)")
 

Modified: roller/trunk/metadata/database/tmpls/createdb.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/metadata/database/tmpls/createdb.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/metadata/database/tmpls/createdb.vm (original)
+++ roller/trunk/metadata/database/tmpls/createdb.vm Mon May  7 11:52:20 2007
@@ -13,6 +13,7 @@
     id              varchar(48) not null primary key,
     username        varchar(255) not null,
     passphrase      varchar(255) not null,
+    screenname      varchar(255) not null,
     fullname        varchar(255) not null,
     emailaddress    varchar(255) not null,
     activationcode     varchar(48),

Modified: roller/trunk/nbproject/project.xml
URL: 
http://svn.apache.org/viewvc/roller/trunk/nbproject/project.xml?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/nbproject/project.xml (original)
+++ roller/trunk/nbproject/project.xml Mon May  7 11:52:20 2007
@@ -211,8 +211,8 @@
                 <package-root>sandbox/scripting/bsf/src</package-root>
                 <package-root>custom/src</package-root>
                 <package-root>sandbox/scripting/jruby/src</package-root>
-                <classpath 
mode="compile">tools/buildtime/junit-3.8.1.jar:tools/lib/commons-betwixt-1.0-beta-1.jar:tools/lib/commons-httpclient-2.0.2.jar:tools/lib/concurrent-1.3.2.jar:tools/lib/ekitapplet.jar:tools/lib/jazzy-core.jar:tools/lib/log4j-1.2.4.jar:tools/lib/lucene-1.4.3.jar:tools/lib/taglibs-string.jar:tools/struts-1.2.4/lib/antlr.jar:tools/struts-1.2.4/lib/commons-beanutils.jar:tools/struts-1.2.4/lib/commons-digester.jar:tools/struts-1.2.4/lib/commons-fileupload.jar:tools/struts-1.2.4/lib/commons-validator.jar:tools/struts-1.2.4/lib/jakarta-oro.jar:tools/struts-1.2.4/lib/struts-el.jar:tools/struts-1.2.4/lib/struts.jar:tools/buildtime/mockrunner-0.35/lib/mockrunner-servlet.jar:tools/buildtime/mockrunner-0.35/lib/mockrunner-struts.jar:tools/buildtime/mockrunner-0.35/lib/mockrunner.jar:tools/buildtime/mockrunner-0.35/lib/nekohtml.jar:tools/standard-1.0.3/lib/jaxen-full.jar:tools/standard-1.0.3/lib/jstl.jar:tools/standard-1.0.3/lib/standard.jar:tools/buildtime/tomc
 
at-5.0.28/servlet-api.jar:tools/buildtime/tomcat-5.0.28/jsp-api.jar:tools/lib/jdom.jar:tools/spring-1.2/acegi-security-0.9.0.jar:tools/spring-1.2/spring.jar:tools/lib/rome-0.8.jar:tools/lib/rome-fetcher-0.8.jar:tools/lib/commons-codec-1.3.jar:tools/hibernate-3.1/hibernate3.jar:contrib/lib/textile4j-1.20.jar:tools/buildtime/derby.jar:tools/buildtime/ant-1.6.2/ant.jar:tools/buildtime/derbynet.jar:tools/lib/rome-0.9.jar:tools/lib/rome-fetcher-0.9.jar:tools/buildtime/activation.jar:tools/buildtime/mail.jar:tools/spring-1.2/spring.jar:sandbox/jdobackend/lib/bcel-5.1.jar:sandbox/jdobackend/lib/jdo2-api-2.0.jar:sandbox/jdobackend/lib/jdom.jar:sandbox/jdobackend/lib/jpox-1.1.0-beta-5.jar:sandbox/jdobackend/lib/jpox-1.1.0.jar:sandbox/jdobackend/lib/jpox-enhancer-1.1.0-beta-5.jar:sandbox/jdobackend/lib/jpox-enhancer-1.1.0.jar:sandbox/jdobackend/lib/toplink-essentials.jar:../../../../../../Applications/Java/groovy/embeddable/groovy-all-1.0.jar:sandbox/scripting/bsf/lib/bsf.jar:tools/li
 
b/commons-collections-3.1.jar:tools/lib/commons-lang-2.1.jar:tools/lib/commons-logging-1.0.4.jar:tools/lib/velocity-1.5.jar:tools/lib/velocity-dep-1.5.jar:tools/xmlrpc-3.0/lib/ws-commons-util-1.0.1.jar:tools/xmlrpc-3.0/lib/xmlrpc-client-3.0.jar:tools/xmlrpc-3.0/lib/xmlrpc-common-3.0.jar:tools/xmlrpc-3.0/lib/xmlrpc-server-3.0.jar:tools/spring-1.2/acegi-security-1.0.3.jar</classpath>
-                <source-level>1.4</source-level>
+                <classpath 
mode="compile">tools/buildtime/junit-3.8.1.jar:tools/lib/commons-betwixt-1.0-beta-1.jar:tools/lib/commons-httpclient-2.0.2.jar:tools/lib/concurrent-1.3.2.jar:tools/lib/ekitapplet.jar:tools/lib/jazzy-core.jar:tools/lib/log4j-1.2.4.jar:tools/lib/lucene-1.4.3.jar:tools/lib/taglibs-string.jar:tools/struts-1.2.4/lib/antlr.jar:tools/struts-1.2.4/lib/commons-beanutils.jar:tools/struts-1.2.4/lib/commons-digester.jar:tools/struts-1.2.4/lib/commons-fileupload.jar:tools/struts-1.2.4/lib/commons-validator.jar:tools/struts-1.2.4/lib/jakarta-oro.jar:tools/struts-1.2.4/lib/struts-el.jar:tools/struts-1.2.4/lib/struts.jar:tools/buildtime/mockrunner-0.35/lib/mockrunner-servlet.jar:tools/buildtime/mockrunner-0.35/lib/mockrunner-struts.jar:tools/buildtime/mockrunner-0.35/lib/mockrunner.jar:tools/buildtime/mockrunner-0.35/lib/nekohtml.jar:tools/standard-1.0.3/lib/jaxen-full.jar:tools/standard-1.0.3/lib/jstl.jar:tools/standard-1.0.3/lib/standard.jar:tools/buildtime/tomc
 
at-5.0.28/servlet-api.jar:tools/buildtime/tomcat-5.0.28/jsp-api.jar:tools/lib/jdom.jar:tools/spring-1.2/acegi-security-0.9.0.jar:tools/spring-1.2/spring.jar:tools/lib/rome-0.8.jar:tools/lib/rome-fetcher-0.8.jar:tools/lib/commons-codec-1.3.jar:tools/hibernate-3.1/hibernate3.jar:contrib/lib/textile4j-1.20.jar:tools/buildtime/derby.jar:tools/buildtime/ant-1.6.2/ant.jar:tools/buildtime/derbynet.jar:tools/lib/rome-0.9.jar:tools/lib/rome-fetcher-0.9.jar:tools/buildtime/activation.jar:tools/buildtime/mail.jar:tools/spring-1.2/spring.jar:sandbox/jdobackend/lib/bcel-5.1.jar:sandbox/jdobackend/lib/jdo2-api-2.0.jar:sandbox/jdobackend/lib/jdom.jar:sandbox/jdobackend/lib/jpox-1.1.0-beta-5.jar:sandbox/jdobackend/lib/jpox-1.1.0.jar:sandbox/jdobackend/lib/jpox-enhancer-1.1.0-beta-5.jar:sandbox/jdobackend/lib/jpox-enhancer-1.1.0.jar:sandbox/jdobackend/lib/toplink-essentials.jar:../../../../../../Applications/Java/groovy/embeddable/groovy-all-1.0.jar:sandbox/scripting/bsf/lib/bsf.jar:tools/li
 
b/commons-collections-3.1.jar:tools/lib/commons-lang-2.1.jar:tools/lib/commons-logging-1.0.4.jar:tools/lib/velocity-1.5.jar:tools/lib/velocity-dep-1.5.jar:tools/xmlrpc-3.0/lib/ws-commons-util-1.0.1.jar:tools/xmlrpc-3.0/lib/xmlrpc-client-3.0.jar:tools/xmlrpc-3.0/lib/xmlrpc-common-3.0.jar:tools/xmlrpc-3.0/lib/xmlrpc-server-3.0.jar:tools/spring-1.2/acegi-security-1.0.3.jar:tools/struts-2.0.5/lib/antlr-2.7.2.jar:tools/struts-2.0.5/lib/commons-beanutils-1.7.0.jar:tools/struts-2.0.5/lib/commons-chain-1.1.jar:tools/struts-2.0.5/lib/commons-fileupload-1.2.jar:tools/struts-2.0.5/lib/commons-io-1.3.1.jar:tools/struts-2.0.5/lib/commons-validator-1.3.0.jar:tools/struts-2.0.5/lib/freemarker-2.3.8.jar:tools/struts-2.0.5/lib/ognl-2.6.9.jar:tools/struts-2.0.5/lib/oro-2.0.8.jar:tools/struts-2.0.5/lib/struts2-api-2.0.5.jar:tools/struts-2.0.5/lib/struts2-core-2.0.5.jar:tools/struts-2.0.5/lib/struts2-spring-plugin-2.0.5.jar:tools/struts-2.0.5/lib/struts2-tiles-plugin-2.0.5.jar:tools/struts-2.0.
 
5/lib/tiles-api-2.0-20070130.184344-3.jar:tools/struts-2.0.5/lib/tiles-core-2.0-20070130.184344-3.jar:tools/struts-2.0.5/lib/xwork-2.0.0.jar</classpath>
+                <source-level>1.5</source-level>
             </compilation-unit>
         </java-data>
         <web-data xmlns="http://www.netbeans.org/ns/freeform-project-web/1";>

Modified: roller/trunk/src/org/apache/roller/pojos/UserData.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/pojos/UserData.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/src/org/apache/roller/pojos/UserData.java (original)
+++ roller/trunk/src/org/apache/roller/pojos/UserData.java Mon May  7 11:52:20 
2007
@@ -58,6 +58,7 @@
     private String  id;
     private String  userName;
     private String  password;
+    private String  screenName;
     private String  fullName;
     private String  emailAddress;
     private Date    dateCreated;
@@ -170,7 +171,22 @@
     public void setPassword( String password ) {
         this.password = password;
     }
-    
+
+    /**
+     * Screen name of the user.
+     *
+     * @roller.wrapPojoMethod type="simple"
+     * @ejb:persistent-field
+     * @hibernate.property column="screenname" non-null="true" unique="true"
+     */
+    public String getScreenName() {
+        return this.screenName;
+    }
+    /** @ejb:persistent-field */
+    public void setScreenName( String screenName ) {
+        this.screenName = screenName;
+    }
+
     /**
      * Full name of the user.
      *
@@ -272,6 +288,7 @@
         this.id =       other.getId();
         this.userName = other.getUserName();
         this.password = other.getPassword();
+        this.screenName = other.getScreenName();
         this.fullName = other.getFullName();
         this.emailAddress = other.getEmailAddress();
         this.locale = other.getLocale();

Modified: roller/trunk/src/org/apache/roller/pojos/wrapper/UserDataWrapper.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/pojos/wrapper/UserDataWrapper.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/src/org/apache/roller/pojos/wrapper/UserDataWrapper.java 
(original)
+++ roller/trunk/src/org/apache/roller/pojos/wrapper/UserDataWrapper.java Mon 
May  7 11:52:20 2007
@@ -57,6 +57,16 @@
      *
      * Simply returns the same value that the pojo would have returned.
      */
+    public java.lang.String getScreenName()
+    {
+        return this.pojo.getScreenName();
+    }
+
+    /**
+     * pojo method tagged with @roller.wrapPojoMethod type="simple"
+     *
+     * Simply returns the same value that the pojo would have returned.
+     */
     public java.lang.String getFullName()
     {   
         return this.pojo.getFullName();

Modified: 
roller/trunk/src/org/apache/roller/ui/core/security/CustomUserRegistry.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/ui/core/security/CustomUserRegistry.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/src/org/apache/roller/ui/core/security/CustomUserRegistry.java 
(original)
+++ roller/trunk/src/org/apache/roller/ui/core/security/CustomUserRegistry.java 
Mon May  7 11:52:20 2007
@@ -41,11 +41,13 @@
     
     private static Log log = LogFactory.getLog(CustomUserRegistry.class);
     
+    private static String DEFAULT_SNAME_LDAP_ATTRIBUTE = "screenname";
     private static String DEFAULT_NAME_LDAP_ATTRIBUTE = "cn";
     private static String DEFAULT_EMAIL_LDAP_ATTRIBUTE = "mail";
     private static String DEFAULT_LOCALE_LDAP_ATTRIBUTE = "locale";
     private static String DEFAULT_TIMEZONE_LDAP_ATTRIBUTE = "timezone";
     
+    private static String SNAME_LDAP_PROPERTY = 
"users.sso.registry.ldap.attributes.screenname";
     private static String NAME_LDAP_PROPERTY = 
"users.sso.registry.ldap.attributes.name";
     private static String EMAIL_LDAP_PROPERTY = 
"users.sso.registry.ldap.attributes.email";
     private static String LOCALE_LDAP_PROPERTY = 
"users.sso.registry.ldap.attributes.locale";
@@ -100,7 +102,11 @@
         if(userDetails instanceof RollerUserDetails) {
             RollerUserDetails rollerDetails = (RollerUserDetails) userDetails;
             
+            ud.setScreenName(rollerDetails.getScreenName());
+            
             ud.setFullName(rollerDetails.getFullName());
+
+            //TODO: Bug here as setting email addy to a full name value?
             ud.setEmailAddress(rollerDetails.getFullName());
             if(rollerDetails.getTimeZone() != null) {
                 ud.setTimeZone(rollerDetails.getTimeZone());
@@ -113,9 +119,11 @@
         } else if(userDetails instanceof LdapUserDetails) {
             LdapUserDetails ldapDetails = (LdapUserDetails) userDetails;
             Attributes attributes = ldapDetails.getAttributes();
+            String sname = getLdapAttribute(attributes, 
RollerConfig.getProperty(SNAME_LDAP_PROPERTY, DEFAULT_SNAME_LDAP_ATTRIBUTE));
             String name = getLdapAttribute(attributes, 
RollerConfig.getProperty(NAME_LDAP_PROPERTY, DEFAULT_NAME_LDAP_ATTRIBUTE));
             String email = getLdapAttribute(attributes, 
RollerConfig.getProperty(EMAIL_LDAP_PROPERTY, DEFAULT_EMAIL_LDAP_ATTRIBUTE));
-            
+
+            ud.setScreenName(sname);
             ud.setFullName(name);
             ud.setEmailAddress(email);
             

Modified: 
roller/trunk/src/org/apache/roller/ui/core/security/RollerUserDetails.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/ui/core/security/RollerUserDetails.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/src/org/apache/roller/ui/core/security/RollerUserDetails.java 
(original)
+++ roller/trunk/src/org/apache/roller/ui/core/security/RollerUserDetails.java 
Mon May  7 11:52:20 2007
@@ -32,8 +32,10 @@
   
   public String getLocale();
   
+  public String getScreenName();
+
   public String getFullName();
-  
+
   public String getEmailAddress();
   
 }

Modified: 
roller/trunk/src/org/apache/roller/ui/core/struts/actions/YourProfileAction.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/ui/core/struts/actions/YourProfileAction.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- 
roller/trunk/src/org/apache/roller/ui/core/struts/actions/YourProfileAction.java
 (original)
+++ 
roller/trunk/src/org/apache/roller/ui/core/struts/actions/YourProfileAction.java
 Mon May  7 11:52:20 2007
@@ -134,6 +134,7 @@
                 UserData data = rollerSession.getAuthenticatedUser();
                 
                 // We want to be VERY selective about what data gets updated
+                data.setScreenName(form.getScreenName());
                 data.setFullName(form.getFullName());
                 data.setEmailAddress(form.getEmailAddress());
                 data.setLocale(form.getLocale());

Modified: roller/trunk/src/org/apache/roller/ui/core/struts2/ProfileForm.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/ui/core/struts2/ProfileForm.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/src/org/apache/roller/ui/core/struts2/ProfileForm.java 
(original)
+++ roller/trunk/src/org/apache/roller/ui/core/struts2/ProfileForm.java Mon May 
 7 11:52:20 2007
@@ -82,6 +82,7 @@
             UserData existingUser = getAuthenticatedUser();
             
             // We want to be VERY selective about what data gets updated
+            existingUser.setScreenName(getBean().getScreenName());
             existingUser.setFullName(getBean().getFullName());
             existingUser.setEmailAddress(getBean().getEmailAddress());
             existingUser.setLocale(getBean().getLocale());

Modified: 
roller/trunk/src/org/apache/roller/ui/core/struts2/RegisterFormBean.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/ui/core/struts2/RegisterFormBean.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/src/org/apache/roller/ui/core/struts2/RegisterFormBean.java 
(original)
+++ roller/trunk/src/org/apache/roller/ui/core/struts2/RegisterFormBean.java 
Mon May  7 11:52:20 2007
@@ -32,13 +32,15 @@
     private String id = null;
     private String userName = null;
     private String password = null;
+    private String screenName = null;
     private String fullName = null;
     private String emailAddress = null;
     private String locale = null;
     private String timeZone = null;
-    private String mPasswordText = null;
-    private String mPasswordConfirm = null;
-
+    
+    private String passwordText = null;
+    private String passwordConfirm = null;
+    
     
     public String getId() {
         return id;
@@ -64,6 +66,14 @@
         this.password = password;
     }
 
+    public String getScreenName() {
+        return screenName;
+    }
+
+    public void setScreenName(String screenName) {
+        this.screenName = screenName;
+    }
+
     public String getFullName() {
         return fullName;
     }
@@ -97,24 +107,25 @@
     }
     
     public String getPasswordText() {
-        return mPasswordText;
+        return passwordText;
     }
-    
+
     public void setPasswordText(String passwordText) {
-        mPasswordText = passwordText;
+        this.passwordText = passwordText;
     }
-    
+
     public String getPasswordConfirm() {
-        return mPasswordConfirm;
+        return passwordConfirm;
     }
-    
+
     public void setPasswordConfirm(String passwordConfirm) {
-        mPasswordConfirm = passwordConfirm;
+        this.passwordConfirm = passwordConfirm;
     }
     
     
     public void copyTo(UserData dataHolder, Locale locale) {
         
+        dataHolder.setScreenName(this.screenName);
         dataHolder.setFullName(this.fullName);
         dataHolder.setEmailAddress(this.emailAddress);
         dataHolder.setLocale(this.locale);
@@ -127,6 +138,7 @@
         this.id = dataHolder.getId();
         this.userName = dataHolder.getUserName();
         this.password = dataHolder.getPassword();
+        this.screenName = dataHolder.getScreenName();
         this.fullName = dataHolder.getFullName();
         this.emailAddress = dataHolder.getEmailAddress();
         this.locale = dataHolder.getLocale();

Modified: 
roller/trunk/src/org/apache/roller/webservices/adminprotocol/RollerUserHandler.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/webservices/adminprotocol/RollerUserHandler.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- 
roller/trunk/src/org/apache/roller/webservices/adminprotocol/RollerUserHandler.java
 (original)
+++ 
roller/trunk/src/org/apache/roller/webservices/adminprotocol/RollerUserHandler.java
 Mon May  7 11:52:20 2007
@@ -182,7 +182,10 @@
     
     private void updateUserData(UserData ud, UserEntry entry) throws 
HandlerException {
         // user name cannot be updated
-        
+
+        if (entry.getScreenName() != null) {
+            ud.setScreenName(entry.getScreenName());
+        }
         if (entry.getFullName() != null) {
             ud.setFullName(entry.getFullName());
         }
@@ -243,6 +246,7 @@
         // we never return password field
         
         UserEntry ue = new UserEntry(ud.getUserName(), getUrlPrefix());
+        ue.setScreenName(ud.getScreenName());
         ue.setFullName(ud.getFullName());
         ue.setLocale(ud.getLocale());
         ue.setTimezone(ud.getTimeZone());
@@ -282,7 +286,10 @@
         //
         UserData ud = new UserData();
         ud.setUserName(ue.getName());
-        
+
+        if (ue.getScreenName() != null) {
+            ud.setScreenName(ue.getScreenName());
+        }
         if (ue.getFullName() != null) {
             ud.setFullName(ue.getFullName());
         }

Modified: 
roller/trunk/src/org/apache/roller/webservices/adminprotocol/sdk/UserEntry.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/webservices/adminprotocol/sdk/UserEntry.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- 
roller/trunk/src/org/apache/roller/webservices/adminprotocol/sdk/UserEntry.java 
(original)
+++ 
roller/trunk/src/org/apache/roller/webservices/adminprotocol/sdk/UserEntry.java 
Mon May  7 11:52:20 2007
@@ -39,6 +39,7 @@
     static interface Tags {
         public static final String USER = "user";
         public static final String NAME = "name";
+        public static final String SCREEN_NAME = "screen-name";
         public static final String FULL_NAME = "full-name";
         public static final String PASSWORD = "password";
         public static final String EMAIL_ADDRESS = "email-address";
@@ -49,6 +50,7 @@
     }
     
     private String name;
+    private String screenName;
     private String fullName;
     private String password;
     private Locale locale;
@@ -154,7 +156,16 @@
             nameElement.addContent(nameText);
             userElement.addContent(nameElement);
         }
-        
+
+        // screen name
+        String screenName = getScreenName();
+        if (screenName != null) {
+            Element screenNameElement = new Element(Tags.SCREEN_NAME, 
NAMESPACE);
+            Text screenNameText = new Text(screenName);
+            screenNameElement.addContent(screenNameText);
+            userElement.addContent(screenNameElement);
+        }
+
         // full name
         String fullName = getFullName();
         if (fullName != null) {
@@ -230,7 +241,17 @@
     public void setName(String name) {
         this.name = name;
     }
-    
+
+    /** Get the screen name of this user entry. */
+    public String getScreenName() {
+        return screenName;
+    }
+
+    /** Set the screen name of this user entry. */
+    public void setScreenName(String screenName) {
+        this.screenName = screenName;
+    }
+
     /** Get the full name of this user entry. */
     public String getFullName() {
         return fullName;

Modified: 
roller/trunk/src/org/apache/roller/webservices/xmlrpc/BloggerAPIHandler.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/src/org/apache/roller/webservices/xmlrpc/BloggerAPIHandler.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- 
roller/trunk/src/org/apache/roller/webservices/xmlrpc/BloggerAPIHandler.java 
(original)
+++ 
roller/trunk/src/org/apache/roller/webservices/xmlrpc/BloggerAPIHandler.java 
Mon May  7 11:52:20 2007
@@ -237,7 +237,8 @@
                 }
                 lastname += toker.nextToken();
             }
-            
+
+            // TODO: Should screen name be renamed nickname and used here?
             // populates user information to return as a result
             Hashtable result = new Hashtable();
             result.put("nickname", user.getUserName());

Modified: roller/trunk/tests/org/apache/roller/TestUtils.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/tests/org/apache/roller/TestUtils.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/tests/org/apache/roller/TestUtils.java (original)
+++ roller/trunk/tests/org/apache/roller/TestUtils.java Mon May  7 11:52:20 2007
@@ -73,6 +73,7 @@
         UserData testUser = new UserData();
         testUser.setUserName(username);
         testUser.setPassword("password");
+        testUser.setScreenName("Test User Screen Name");
         testUser.setFullName("Test User");
         testUser.setEmailAddress("[EMAIL PROTECTED]");
         testUser.setLocale("en_US");

Modified: roller/trunk/tests/org/apache/roller/business/UserTest.java
URL: 
http://svn.apache.org/viewvc/roller/trunk/tests/org/apache/roller/business/UserTest.java?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/tests/org/apache/roller/business/UserTest.java (original)
+++ roller/trunk/tests/org/apache/roller/business/UserTest.java Mon May  7 
11:52:20 2007
@@ -68,6 +68,7 @@
         UserData testUser = new UserData();
         testUser.setUserName("testUser");
         testUser.setPassword("password");
+        testUser.setScreenName("Test User Screen Name");
         testUser.setFullName("Test User");
         testUser.setEmailAddress("[EMAIL PROTECTED]");
         testUser.setLocale("en_US");
@@ -91,6 +92,7 @@
         assertEquals(testUser, user);
         
         // modify user and save
+        user.setScreenName("testtesttest");
         user.setFullName("testtesttest");
         mgr.saveUser(user);
         TestUtils.endSession(true);
@@ -99,8 +101,9 @@
         user = null;
         user = mgr.getUser(id);
         assertNotNull(user);
+        assertEquals("testtesttest", user.getScreenName());
         assertEquals("testtesttest", user.getFullName());
-        
+
         // remove test user
         mgr.removeUser(user);
         TestUtils.endSession(true);

Modified: roller/trunk/web/WEB-INF/classes/ApplicationResources.properties
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/WEB-INF/classes/ApplicationResources.properties?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/WEB-INF/classes/ApplicationResources.properties (original)
+++ roller/trunk/web/WEB-INF/classes/ApplicationResources.properties Mon May  7 
11:52:20 2007
@@ -1379,6 +1379,7 @@
 userAdmin.editEntries=Edit Entries
 userAdmin.manage=Manage
 
+userAdmin.tip.screenName=User's screen name (with no HTML).
 userAdmin.tip.fullName=User's full name (with no HTML).
 userAdmin.tip.userName=A short one-word username for the user account.\
 Please limit it to simple ASCII alphanumeric characters (a-z, A-Z and 0-9), \
@@ -1399,6 +1400,7 @@
 userRegister.button.save=Register User
 userRegister.button.cancel=Cancel
 
+userRegister.tip.screenName=Your desired screen name (with no HTML).
 userRegister.tip.fullName=Your full name (with no HTML).
 userRegister.tip.userName=A short one-word username for your user account. \
 Please limit it to simple ASCII alphanumeric characters (a-z, A-Z and 0-9), \
@@ -1417,6 +1419,7 @@
 
 userSettings.userSettings=User Settings
 userSettings.username=Username
+userSettings.screenname=Screen Name
 userSettings.fullname=Full Name
 userSettings.password=Password
 userSettings.passwordConfirm=Password (Confirm)

Modified: roller/trunk/web/WEB-INF/jsps/admin/UserAdmin.jsp
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/WEB-INF/jsps/admin/UserAdmin.jsp?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/WEB-INF/jsps/admin/UserAdmin.jsp (original)
+++ roller/trunk/web/WEB-INF/jsps/admin/UserAdmin.jsp Mon May  7 11:52:20 2007
@@ -79,6 +79,12 @@
         
     <table class="formtable">
     <tr>
+        <td class="label"><label for="screenName" /><fmt:message 
key="userSettings.screenname" /></label></td>
+        <td class="field"><html:text property="screenName" size="30" 
maxlength="30" /></td>
+        <td class="description"><fmt:message key="userAdmin.tip.screenName" 
/></td>
+    </tr>
+
+    <tr>
         <td class="label"><label for="fullName" /><fmt:message 
key="userSettings.fullname" /></label></td>
         <td class="field"><html:text property="fullName" size="30" 
maxlength="30" /></td>
         <td class="description"><fmt:message key="userAdmin.tip.fullName" 
/></td>

Modified: roller/trunk/web/WEB-INF/jsps/core/UserNew.jsp
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/WEB-INF/jsps/core/UserNew.jsp?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/WEB-INF/jsps/core/UserNew.jsp (original)
+++ roller/trunk/web/WEB-INF/jsps/core/UserNew.jsp Mon May  7 11:52:20 2007
@@ -45,6 +45,12 @@
 <table class="formtable">
 
 <tr>
+    <td class="label"><label for="screenName" /><fmt:message 
key="userSettings.screenname" /></label></td>
+    <td class="field"><html:text property="screenName" size="30" 
maxlength="30" /></td>
+    <td class="description"><fmt:message key="userRegister.tip.screenName" 
/></td>
+</tr>
+
+<tr>
     <td class="label"><label for="fullName" /><fmt:message 
key="userSettings.fullname" /></label></td>
     <td class="field"><html:text property="fullName" size="30" maxlength="30" 
/></td>
     <td class="description"><fmt:message key="userRegister.tip.fullName" 
/></td>

Modified: roller/trunk/web/WEB-INF/jsps/core/YourProfile.jsp
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/WEB-INF/jsps/core/YourProfile.jsp?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/WEB-INF/jsps/core/YourProfile.jsp (original)
+++ roller/trunk/web/WEB-INF/jsps/core/YourProfile.jsp Mon May  7 11:52:20 2007
@@ -31,6 +31,12 @@
 </tr>
 
 <tr>
+    <td class="label"><label for="screenName" /><fmt:message 
key="userSettings.screenname" /></label></td>
+    <td class="field"><html:text property="screenName" size="30" 
maxlength="30" /></td>
+    <td class="description"><fmt:message key="userRegister.tip.screenName" 
/></td>
+</tr>
+
+<tr>
     <td class="label"><label for="fullName" /><fmt:message 
key="userSettings.fullname" /></label></td>
     <td class="field"><html:text property="fullName" size="30" maxlength="30" 
/></td>
     <td class="description"><fmt:message key="userRegister.tip.fullName" 
/></td>

Modified: roller/trunk/web/WEB-INF/jsps/core/struts2/ProfileForm.jsp
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/WEB-INF/jsps/core/struts2/ProfileForm.jsp?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/WEB-INF/jsps/core/struts2/ProfileForm.jsp (original)
+++ roller/trunk/web/WEB-INF/jsps/core/struts2/ProfileForm.jsp Mon May  7 
11:52:20 2007
@@ -31,6 +31,12 @@
 </tr>
 
 <tr>
+    <td class="label"><label for="screenName" /><s:text 
name="userSettings.screenname" /></label></td>
+    <td class="field"><s:textfield name="bean.screenName" size="30" 
maxlength="30" /></td>
+    <td class="description"><s:text name="userRegister.tip.screenName" /></td>
+</tr>
+
+<tr>
     <td class="label"><label for="fullName" /><s:text 
name="userSettings.fullname" /></label></td>
     <td class="field"><s:textfield name="bean.fullName" size="30" 
maxlength="30" /></td>
     <td class="description"><s:text name="userRegister.tip.fullName" /></td>

Modified: roller/trunk/web/WEB-INF/jsps/core/struts2/RegisterForm.jsp
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/WEB-INF/jsps/core/struts2/RegisterForm.jsp?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/WEB-INF/jsps/core/struts2/RegisterForm.jsp (original)
+++ roller/trunk/web/WEB-INF/jsps/core/struts2/RegisterForm.jsp Mon May  7 
11:52:20 2007
@@ -26,6 +26,12 @@
 <table class="formtable">
 
 <tr>
+    <td class="label"><label for="screenName" /><s:text 
name="userSettings.screenname" /></label></td>
+    <td class="field"><s:textfield name="bean.screenName" size="30" 
maxlength="30" /></td>
+    <td class="description"><s:text name="userRegister.tip.screenName" /></td>
+</tr>
+
+<tr>
     <td class="label"><label for="fullName" /><s:text 
name="userSettings.fullname" /></label></td>
     <td class="field"><s:textfield name="bean.fullName" size="30" 
maxlength="30" /></td>
     <td class="description"><s:text name="userRegister.tip.fullName" /></td>

Modified: roller/trunk/web/themes/basic/_day.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/themes/basic/_day.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/themes/basic/_day.vm (original)
+++ roller/trunk/web/themes/basic/_day.vm Mon May  7 11:52:20 2007
@@ -17,7 +17,7 @@
         </p>
         <p class="entryInfo">
             Posted at <a 
href="$url.entry($entry.anchor)">$utils.formatDate($entry.pubTime, "hh:mma MMM 
dd, yyyy")</a>
-            by $entry.creator.fullName in <span 
class="category">$entry.category.name</span> &nbsp;|&nbsp;
+            by $entry.creator.screenName in <span 
class="category">$entry.category.name</span> &nbsp;|&nbsp;
             #if ($utils.isUserAuthorizedToAuthor($entry.website))
                 <a 
href="$url.editEntry($entry.anchor)">$text.get("macro.weblog.entrypermalink.edit")</a>
 &nbsp;|&nbsp;
             #end

Modified: roller/trunk/web/themes/brushedmetal/_day.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/themes/brushedmetal/_day.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/themes/brushedmetal/_day.vm (original)
+++ roller/trunk/web/themes/brushedmetal/_day.vm Mon May  7 11:52:20 2007
@@ -18,7 +18,7 @@
 
         <p class="entryInfo">
             Posted at <a 
href="$url.entry($entry.anchor)">$utils.formatDate($entry.pubTime, "hh:mma MMM 
dd, yyyy")</a>
-            by $entry.creator.fullName in <span 
class="category">$entry.category.name</span> &nbsp;|&nbsp;
+            by $entry.creator.screenName in <span 
class="category">$entry.category.name</span> &nbsp;|&nbsp;
             #if ($utils.isUserAuthorizedToAuthor($entry.website))
                 <a 
href="$url.editEntry($entry.anchor)">$text.get("macro.weblog.entrypermalink.edit")</a>
 &nbsp;|&nbsp;
             #end

Modified: roller/trunk/web/themes/frontpage/Weblog.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/themes/frontpage/Weblog.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/themes/frontpage/Weblog.vm (original)
+++ roller/trunk/web/themes/frontpage/Weblog.vm Mon May  7 11:52:20 2007
@@ -57,7 +57,7 @@
                                         <a 
href="$utils.escapeHTML($pinnedEntry.website.URL)">$pinnedEntry.website.name</a>
                                         #if($pinnedEntry.category.name)| 
$pinnedEntry.category.name #end
                                         #if($pinnedEntry.pubTime) | 
$utils.formatDate($pinnedEntry.pubTime, 
$text.get("macro.weblog.date.toStringFormat")) #end
-                                        #if($pinnedEntry.creator.userName)| By 
$pinnedEntry.creator.userName #end
+                                        #if($pinnedEntry.creator.screenName)| 
By $pinnedEntry.creator.screenName #end
                                         <br/> 
                                     </p>
                                     <p class="entryDescription">               
     

Modified: roller/trunk/web/themes/frontpage/_blogprofile.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/themes/frontpage/_blogprofile.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/themes/frontpage/_blogprofile.vm (original)
+++ roller/trunk/web/themes/frontpage/_blogprofile.vm Mon May  7 11:52:20 2007
@@ -10,7 +10,7 @@
         </tr>
         <tr>
             <td>Created by</td>
-            <td><$profileWeblog.creator.fullName/td>
+            <td>$profileWeblog.creator.screenName</td>
         </tr>
         <tr>
             <td>Last modified</td>
@@ -30,13 +30,11 @@
     #set($users = $site.getWeblogsUsers($profileWeblog.handle))
     <table width="70%">
         <tr>
-            <td width="25%">Username</td>
-            <td width="75%">Full name</td>
+            <td width="75%">Screen name</td>
         </tr>  
         #foreach($user in $users) 
         <tr>
-            <td>$user.userName</td>
-            <td>$user.fullName</td>
+            <td>$user.screenName</td>
         </tr>
         #end
     </table>
@@ -52,7 +50,7 @@
         </tr> 
         #foreach($entry in $entriesPager.items)
             <tr>
-                <td>$entry.creator.userName</td>
+                <td>$entry.creator.screenName</td>
                 <td>$utils.formatDate($entry.pubTime, 
$text.get("macro.weblog.date.toStringFormat"))</td>
                 <td><a href="$utils.escapeHTML($entry.permaLink)">
                     $utils.removeHTML($entry.title)</a></td>

Modified: roller/trunk/web/themes/frontpage/_entry.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/themes/frontpage/_entry.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/themes/frontpage/_entry.vm (original)
+++ roller/trunk/web/themes/frontpage/_entry.vm Mon May  7 11:52:20 2007
@@ -7,7 +7,7 @@
         #if($entry.tags.size() > 0) $entry.getTagsAsString() |#end
         #if($entry.category.name)$entry.category.name |#end
         #if($entry.pubTime) $utils.formatDate($entry.pubTime, 
$text.get("macro.weblog.date.toStringFormat")) |#end
-        #if($entry.creator.userName) By $entry.creator.userName #end
+        #if($entry.creator.screenName) By $entry.creator.screenName #end
         <br/> 
     </p>
     <p class="entryDescription">                    

Modified: roller/trunk/web/themes/sotto/Weblog.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/themes/sotto/Weblog.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/themes/sotto/Weblog.vm (original)
+++ roller/trunk/web/themes/sotto/Weblog.vm Mon May  7 11:52:20 2007
@@ -100,7 +100,7 @@
 </div>
 
 <div id="copyrightBoundingBox">
-  <a class="copyright" 
href="mailto:$utils.encodeEmail($model.weblog.emailAddress)">&copy; 
$model.weblog.creator.fullName</a>
+  <a class="copyright" 
href="mailto:$utils.encodeEmail($model.weblog.emailAddress)">&copy; 
$model.weblog.creator.screenName</a>
 </div>
 
 </body>

Modified: roller/trunk/web/themes/sotto/_day.vm
URL: 
http://svn.apache.org/viewvc/roller/trunk/web/themes/sotto/_day.vm?view=diff&rev=535951&r1=535950&r2=535951
==============================================================================
--- roller/trunk/web/themes/sotto/_day.vm (original)
+++ roller/trunk/web/themes/sotto/_day.vm Mon May  7 11:52:20 2007
@@ -29,7 +29,7 @@
         
 
         <div class="entryInfo">
-            $text.get("macro.weblog.postedby") $entry.creator.userName
+            $text.get("macro.weblog.postedby") $entry.creator.screenName
             <em class="smallText">@ $utils.formatDate($entry.pubTime, "hh:mm 
aa z")</em>
             #set($commentCount = $entry.commentCount)
             #if($entry.commentsStillAllowed || $commentCount > 0)


Reply via email to