Attached is the User object...
package com.gcf.core;
import java.util.*;
import javax.jdo.annotations.IdGeneratorStrategy;
import javax.jdo.annotations.NotPersistent;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.PrimaryKey;
/**
* Individual user access object that grants access to the site/
application under the ownership of
* a specified Account. Additional utility methods are provided to
deliver enhanced and extendible
* capability beyond the base requirements.
*
* @author smd0772
*
*/
@PersistenceCapable
public class User implements java.io.Serializable
{
/** Unique serial version id for this class */
@NotPersistent
private static final long serialVersionUID = 386273711850256872L;
/** Unique User ID ID */
@PrimaryKey
@Persistent(valueStrategy = IdGeneratorStrategy.IDENTITY)
private Long id;
/** Full name of the user */
@Persistent
private String fullName;
/** Username or login ID - used for authentication */
@Persistent
private String userName;
/** Password - used for authentication */
@Persistent
private String password;
/** Indicates the Account this user is associated with */
@Persistent
private long accountid;
/** Indicates the security group this user is associated with */
@Persistent
private long groupid;
/** Indicated the time of the last login */
@Persistent
private Date lastlogin;
/** Indicated the time of the previous last login */
@Persistent
private Date prevlastlogin;
/** Map of user defined attributes (email, contact #, etc) */
//@Persistent(serialized = "true")
//private Map <String,String> attributes = new HashMap
<String,String> ( );
/** Map of custom dashboard query settings */
//@Persistent(serialized = "true")
//private Map <String,String> parameters = new HashMap
<String,String> ( );
/**
* CONSTRUCTOR - creates a new User object with the specified full
name,
* user-id, and password.
*
* @param name (String) full user name
* @param user (String) user id - used for authentication
* @param pwd (String) password - used for authentication
*/
public User ( String name, String user, String pwd )
{
this.fullName = name;
this.userName = user;
this.password = pwd;
}
/**
* Gets the Unique Identifier for this object.
*
* @return (long) unique id
*/
public long getID ( )
{
return id;
}
/**
* Sets the Unique Identifier for this object.
*
* @param id (long) unique id
*/
public void setID ( long id )
{
this.id = id;
}
/**
* Returns the full name of the user.
*
* @return (String) full user name
*/
public String getFullName ( )
{
return fullName;
}
/**
* Sets the full name of the user.
*
* @param name (String) full user name
*/
public void setFullName ( String name )
{
this.fullName = name;
}
/**
* Returns the user-id of the user. This is used for
* authentication.
*
* @return (String) user-id
*/
public String getUserID ( )
{
return userName;
}
/**
* Sets the user-id of the user. This is used for
* authentication.
*
* @param id (String) user-id
*/
public void setUserID ( String id )
{
this.userName = id;
}
/**
* Returns the password for this user. This is used for
* authentication.
*
* @return (String) password
*/
public String getPassword ( )
{
return this.password;
}
/**
* Sets the password for this user. This is used for
* authentication.
*
* @return (String) password
*/
public void setPassword ( String pwd )
{
this.password = pwd;
}
/**
* Returns the time of the last login.
*
* @return (Date) date
*/
public Date getLastLogin ( )
{
return lastlogin;
}
/**
* Sets the time of the last login.
*
* @return (Date) date
*/
public void setLastLogin ( Date date )
{
this.lastlogin = date;
}
/**
* Returns the time of the previous last login.
*
* @return (Date) date
*/
public Date getPreviousLastLogin ( )
{
return prevlastlogin;
}
/**
* Sets the time of the previous last login.
*
* @return (Date) date
*/
public void setPreviousLastLogin ( Date date )
{
this.prevlastlogin = date;
}
/**
* Returns the account-id this user is associated with.
*
* @return (Long) owning account-id
*/
public Long getOwningAccount ( )
{
return accountid;
}
/**
* Sets the account-id this user is associated with.
*
* @return (long) customer
*/
public void setOwningAccount ( Long accountid )
{
this.accountid = accountid;
}
/**
* Returns the group-id this user is associated with.
*
* @return (long) group-id
*/
public Long getGroup ( )
{
return groupid;
}
/**
* Sets the group-id this user is associated with.
*
* @return (long) group id
*/
public void setGroup ( long groupid )
{
this.groupid = groupid;
}
/**
* Returns a map of attributes for this user. Common
* attributes include email, phone number, etc).
*
* @return (Map) account attributes
*/
public Map <String,String> getAttributes ( )
{
//return attributes;
return null;
}
/**
* Sets a list of attributes for this user. Common
* attributes include email, phone number, etc).
*
* @param (Map) account attributes
*/
public void setAttributes ( Map <String,String> attributes )
{
//this.attributes = attributes;
}
/**
* Adds the specified attribute to the user. If
* the specified attribute already exists, it is
* removed from the list and the new one added in its
* place
*
* @param attribute (String) name of the attribute
* @param value (String) value of the attribute
*/
public void addAttribute ( String attribute, String value )
{
//attributes.put ( attribute, value );
}
/**
* Returns the value of the specified attribute. If this
* attribute cannot be found, the method will return null.
*
* @param attribute (String) attribute name
* @return (String) attribute value
*/
public String getAttributeValue ( String attribute )
{
//return attributes.get( attribute );
return null;
}
/**
* Returns a map of custom query params for this user's dashboard.
*
* @return (Map) custom query params
*/
public Map <String,String> getDashboardParams ( )
{
//return parameters;
return null;
}
/**
* Sets a map of custom query params for this user's dashboard.
*
* @param (Map) custom query params
*/
public void setDashboardParams ( Map <String,String> params )
{
//this.parameters = params;
}
/**
* Adds the specified key/value pair to the user's dashboard
settings.
* If the specified attribute already exists, it is removed from
the
* list and the new one added in its place.
*
* @param attribute (String) name of the parameter
* @param value (String) value of the parameter
*/
public void addDashboardParam ( String key, String value )
{
//parameters.put ( key, value );
}
/**
* Returns the value of the specified dashboard parameter. If
this
* attribute cannot be found, the method will return null.
*
* @param attribute (String) parameter name
* @return (String) parameter value
*/
public String getDashboardParam ( String param )
{
//return parameters.get( param );
return null;
}
/**
* Overrides the java.lang.Object.toString() method to provide
* a customized text description of the data in this User object.
*
* @return (String) user definition
*/
public String toString ( )
{
StringBuffer buf = new StringBuffer ( );
buf.append ( "User Definition :: \n" );
buf.append ( "Full Name: " + fullName + "\n" );
buf.append ( "User ID: " + userName + "\n" );
buf.append ( "Password: " + password + "\n" );
buf.append ( "Account ID: " + accountid + "\n" );
buf.append ( "Group ID : " + groupid + "\n" );
/*if ( attributes.size ( ) > 0 )
{
buf.append ( "User Attributes :: \n" );
Set <String> keys = attributes.keySet ( );
Iterator <String> i1 = keys.iterator ( );
while ( i1.hasNext ( ) )
{
String key = i1.next ( );
buf.append ( " " + key + " | " + attributes.get
( key ) + "\n" );
}
}
if ( parameters.size ( ) > 0 )
{
buf.append ( "Dashboard Parameters :: \n" );
Set <String> keys = parameters.keySet ( );
Iterator <String> i2 = keys.iterator ( );
while ( i2.hasNext ( ) )
{
String key = i2.next ( );
buf.append ( " " + key + " | " + parameters.get
( key ) + "\n" );
}
}*/
return buf.toString ( );
}
}
On Jun 3, 8:48 am, Ifnu bima <[email protected]> wrote:
> You need to implements serializable interface to User class, something like :
>
> public class User implements Serializable {
>
> }
>
> --
>
> regards
--
You received this message because you are subscribed to the Google Groups
"Google App Engine for Java" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-appengine-java?hl=en.