You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@maven.apache.org by ca...@apache.org on 2006/08/17 03:20:06 UTC

svn commit: r432097 - in /maven/shared/trunk/maven-user: maven-user-controller/src/main/java/org/apache/maven/user/controller/action/ maven-user-model/src/main/java/org/apache/maven/user/model/ maven-user-model/src/main/java/org/apache/maven/user/model...

Author: carlos
Date: Wed Aug 16 18:20:05 2006
New Revision: 432097

URL: http://svn.apache.org/viewvc?rev=432097&view=rev
Log:
Added more methods
Submitted By: Henri Isidro

Modified:
    maven/shared/trunk/maven-user/maven-user-controller/src/main/java/org/apache/maven/user/controller/action/EditUserAction.java
    maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserManager.java
    maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java

Modified: maven/shared/trunk/maven-user/maven-user-controller/src/main/java/org/apache/maven/user/controller/action/EditUserAction.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-controller/src/main/java/org/apache/maven/user/controller/action/EditUserAction.java?rev=432097&r1=432096&r2=432097&view=diff
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-controller/src/main/java/org/apache/maven/user/controller/action/EditUserAction.java (original)
+++ maven/shared/trunk/maven-user/maven-user-controller/src/main/java/org/apache/maven/user/controller/action/EditUserAction.java Wed Aug 16 18:20:05 2006
@@ -81,10 +81,18 @@
         throws Exception
     {
         permissions = (List) request.getSession().getAttribute( "permissions" );
-        username = username.substring( 0, username.indexOf( "," ) );
-        password = password.substring( 0, password.indexOf( "," ) );
-        email = email.substring( 0, email.indexOf( "," ) );
-
+        if ( username.indexOf( "," ) != -1 )
+        {
+            username = username.substring( 0, username.indexOf( "," ) );
+        }
+        if ( password.indexOf( "," ) != -1 )
+        {
+            password = password.substring( 0, password.indexOf( "," ) );
+        }
+        if ( email.indexOf( "," ) != -1 )
+        {
+            email = email.substring( 0, email.indexOf( "," ) );
+        }
         if ( addMode )
         {
 //            try

Modified: maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserManager.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserManager.java?rev=432097&r1=432096&r2=432097&view=diff
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserManager.java (original)
+++ maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/UserManager.java Wed Aug 16 18:20:05 2006
@@ -70,6 +70,21 @@
     User getUser( int userId );
 
     /**
+     * Get a user by name. User password won't be returned for security reasons.
+     * 
+     * @param username
+     * @return null if the user doesn't exist
+     */
+    User getUserByUsername( String username );
+
+    /**
+     * Get guest user
+     * 
+     * @return null if the user doesn't exist
+     */
+    public User getGuestUser();
+
+    /**
      * Delete a user
      * 
      * @param userId
@@ -128,6 +143,13 @@
 
     /**
      * 
+     * @param name
+     * @return null if the group doesn't exist
+     */
+    UserGroup getUserGroup( String name );
+
+    /**
+     * 
      * @param userGroupId
      * @throws EntityNotFoundException if the user does not exist
      */
@@ -144,5 +166,20 @@
      * @return all permissions defined in system
      */
     List getPermissions();
+
+    /**
+    * Get all the permission for a user
+    * 
+    * @return user's permission
+    */
+    Permission getPermission( String name )
+        throws EntityNotFoundException;
+
+    /**
+    * Add a permission
+    * 
+    * @return permission added
+    */
+    Permission addPermission( Permission perm );
 
 }

Modified: maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java
URL: http://svn.apache.org/viewvc/maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java?rev=432097&r1=432096&r2=432097&view=diff
==============================================================================
--- maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java (original)
+++ maven/shared/trunk/maven-user/maven-user-model/src/main/java/org/apache/maven/user/model/impl/DefaultUserManager.java Wed Aug 16 18:20:05 2006
@@ -17,9 +17,14 @@
  */
 
 import java.util.List;
+import java.util.Collection;
 
 import javax.jdo.PersistenceManager;
 import javax.jdo.PersistenceManagerFactory;
+import javax.jdo.Query;
+import javax.jdo.Extent;
+import javax.jdo.Transaction;
+
 import javax.persistence.EntityExistsException;
 import javax.persistence.EntityNotFoundException;
 
@@ -98,6 +103,84 @@
         return user;
     }
 
+    public User getUserByUsername( String username )
+    {
+        PersistenceManager pm = getPersistenceManager();
+
+        Transaction tx = pm.currentTransaction();
+
+        try
+        {
+            tx.begin();
+
+            Extent extent = pm.getExtent( User.class, true );
+
+            Query query = pm.newQuery( extent );
+
+            query.declareImports( "import java.lang.String" );
+
+            query.declareParameters( "String username" );
+
+            query.setFilter( "this.username == username" );
+
+            Collection result = (Collection) query.execute( username );
+
+            if ( result.size() == 0 )
+            {
+                tx.commit();
+
+                return null;
+            }
+
+            Object object = pm.detachCopy( result.iterator().next() );
+
+            tx.commit();
+
+            return (User) object;
+        }
+        finally
+        {
+            rollback( tx );
+        }
+    }
+
+    public User getGuestUser()
+    {
+        PersistenceManager pm = getPersistenceManager();
+
+        Transaction tx = pm.currentTransaction();
+
+        try
+        {
+            tx.begin();
+
+            Extent extent = pm.getExtent( User.class, true );
+
+            Query query = pm.newQuery( extent );
+
+            query.setFilter( "this.guest == true" );
+
+            Collection result = (Collection) query.execute();
+
+            if ( result.size() == 0 )
+            {
+                tx.commit();
+
+                return null;
+            }
+
+            Object object = pm.detachCopy( result.iterator().next() );
+
+            tx.commit();
+
+            return (User) object;
+        }
+        finally
+        {
+            rollback( tx );
+        }
+    }
+
     public UserGroup getUserGroup( int userGroupId )
     {
         UserGroup userGroup = null;
@@ -117,6 +200,47 @@
         return userGroup;
     }
 
+    public UserGroup getUserGroup( String name )
+    {
+        PersistenceManager pm = getPersistenceManager();
+
+        Transaction tx = pm.currentTransaction();
+
+        try
+        {
+            tx.begin();
+
+            Extent extent = pm.getExtent( UserGroup.class, true );
+
+            Query query = pm.newQuery( extent );
+
+            query.declareImports( "import java.lang.String" );
+
+            query.declareParameters( "String name" );
+
+            query.setFilter( "this.name == name" );
+
+            Collection result = (Collection) query.execute( name );
+
+            if ( result.size() == 0 )
+            {
+                tx.commit();
+
+                return null;
+            }
+
+            Object object = pm.detachCopy( result.iterator().next() );
+
+            tx.commit();
+
+            return (UserGroup) object;
+        }
+        finally
+        {
+            rollback( tx );
+        }
+    }
+
     public List getUserGroups()
     {
         return getAllObjectsDetached( UserGroup.class );
@@ -179,6 +303,53 @@
     {
         return getAllObjectsDetached( Permission.class );
     }
+
+    public Permission getPermission( String name )
+        throws EntityNotFoundException
+    {
+        PersistenceManager pm = getPersistenceManager();
+
+        Transaction tx = pm.currentTransaction();
+
+        try
+        {
+            tx.begin();
+
+            Extent extent = pm.getExtent( Permission.class, true );
+
+            Query query = pm.newQuery( extent );
+
+            query.declareImports( "import java.lang.String" );
+
+            query.declareParameters( "String name" );
+
+            query.setFilter( "this.name == name" );
+
+            Collection result = (Collection) query.execute( name );
+
+            if ( result.size() == 0 )
+            {
+                tx.commit();
+
+                return null;
+            }
+
+            Object object = pm.detachCopy( result.iterator().next() );
+
+            tx.commit();
+
+            return (Permission) object;
+        }
+        finally
+        {
+            rollback( tx );
+        }
+    }
+
+    public Permission addPermission( Permission perm )
+    {
+        return (Permission) addObject( perm );
+    }
     
     private Object addObject( Object object )
     {
@@ -242,5 +413,10 @@
 
         return pm;
     } 
+
+    private void rollback( Transaction tx )
+    {
+        PlexusJdoUtils.rollbackIfActive( tx );
+    }
 
 }