Author: gk
Date: Mon Nov 27 14:17:26 2017
New Revision: 1816455

URL: http://svn.apache.org/viewvc?rev=1816455&view=rev
Log:
- o.a.t.om.s.User interface implements TurbineDelegate by default to get access 
to delegate if needed
- use the user delegate, where required by security and check user is not null.

Modified:
    turbine/core/trunk/README.txt
    turbine/core/trunk/pom.xml
    
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java
    turbine/core/trunk/src/java/org/apache/turbine/om/security/User.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultSecurityService.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultUserManager.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/security/SecurityService.java
    
turbine/core/trunk/src/java/org/apache/turbine/services/security/UserManager.java
    turbine/core/trunk/src/java/org/apache/turbine/util/SecurityCheck.java
    
turbine/core/trunk/src/test/org/apache/turbine/services/security/SecurityServiceTest.java
    
turbine/core/trunk/src/test/org/apache/turbine/services/security/TurbineDefaultModelManagerTest.java

Modified: turbine/core/trunk/README.txt
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/README.txt?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- turbine/core/trunk/README.txt (original)
+++ turbine/core/trunk/README.txt Mon Nov 27 14:17:26 2017
@@ -44,6 +44,15 @@ compile, run the unit tests, and build t
 
 mvn site   - generate the site documention
 
+mvn clean site scm-publish:publish-scm    - deploy Turbine release site to the 
Apache web site (cft. to https://svn.apache.org/repos/asf/turbine/site how to 
deploy main Turbine web site)
+
+Find more about release related command hints in 
+- https://svn.apache.org/repos/asf/turbine/fulcrum/trunk/README.txt
+- Update turbine.site.path in pom.xml to the new production path 
+(e.g. turbine/turbine-4.0 for version 4.0) BEFORE release and the new SNAPSHOT 
version to the new 
+development path (e.g. turbine/development/turbine-4.1 for version 
4.1-SNAPSHOT) AFTER the release, 
+cft. the site structure 
https://svn.apache.org/repos/infra/websites/production/turbine/content/turbine/.
+
 As of Turbine 2.3, you must also have the Torque plugin for Maven installed
 to build Turbine.  Information on how to install the plugin is available
 at http://db.apache.org/torque/maven-howto.html.

Modified: turbine/core/trunk/pom.xml
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/pom.xml?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- turbine/core/trunk/pom.xml (original)
+++ turbine/core/trunk/pom.xml Mon Nov 27 14:17:26 2017
@@ -943,19 +943,19 @@
     <dependency>
       <groupId>org.apache.fulcrum</groupId>
       <artifactId>fulcrum-security-api</artifactId>
-      <version>1.1.1</version>
+      <version>${fulcrum.security}</version>
     </dependency>
      <!-- using snapshot, until released -->
     <dependency>
       <groupId>org.apache.fulcrum</groupId>
       <artifactId>fulcrum-security-memory</artifactId>
-      <version>1.1.1</version>
+      <version>${fulcrum.security}</version>
       <scope>test</scope>
     </dependency>
     <dependency>
       <groupId>org.apache.fulcrum</groupId>
       <artifactId>fulcrum-security-api</artifactId>
-      <version>1.1.1</version>
+      <version>${fulcrum.security}</version>
       <classifier>tests</classifier>
       <scope>test</scope>
     </dependency>
@@ -1098,7 +1098,8 @@
 
   <properties>
     <!-- TODO: Change for release -->
-    <turbine.site.path>turbine/development/turbine-4.0</turbine.site.path>
+    <turbine.site.path>turbine/development/turbine-4.1</turbine.site.path>
+    <fulcrum.security>1.1.2-SNAPSHOT</fulcrum.security>
     <slf4j.version>1.7.25</slf4j.version>
   </properties>
 

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java 
(original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/om/security/DefaultUserImpl.java 
Mon Nov 27 14:17:26 2017
@@ -42,7 +42,7 @@ import org.apache.turbine.util.ObjectUti
  * @version $Id: TorqueUser.java 1199856 2011-11-09 17:06:04Z tv $
  */
 
-public class DefaultUserImpl implements User, TurbineUserDelegate
+public class DefaultUserImpl implements User
 {
     /** Serial version */
     private static final long serialVersionUID = -1866504873085624111L;
@@ -198,7 +198,6 @@ public class DefaultUserImpl implements
      *
      * @return A String with the user's first name.
      */
-
     @Override
     public String getFirstName()
     {

Modified: turbine/core/trunk/src/java/org/apache/turbine/om/security/User.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/om/security/User.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/om/security/User.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/om/security/User.java Mon 
Nov 27 14:17:26 2017
@@ -38,7 +38,7 @@ import org.apache.fulcrum.security.model
  * @version $Id$
  */
 public interface User
-    extends HttpSessionBindingListener, Serializable, TurbineUser
+    extends HttpSessionBindingListener, Serializable, TurbineUserDelegate, 
TurbineUser
 {
     /** The 'perm storage' key name for the create_date field. */
     String CREATE_DATE = "CREATE_DATE";
@@ -282,6 +282,7 @@ public interface User
      *
      * @throws Exception A generic exception.
      */
+    
     void updateLastLogin()
         throws Exception;
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultSecurityService.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultSecurityService.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultSecurityService.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultSecurityService.java
 Mon Nov 27 14:17:26 2017
@@ -483,7 +483,7 @@ public class DefaultSecurityService
      */
     @Override
     public void addUser(User user, String password)
-            throws DataBackendException, EntityExistsException
+            throws UnknownEntityException,DataBackendException, 
EntityExistsException
     {
         getUserManager().createAccount(user, password);
     }
@@ -500,8 +500,11 @@ public class DefaultSecurityService
     public void removeUser(User user)
             throws DataBackendException, UnknownEntityException
     {
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
         // revoke all roles form the user
-        modelManager.revokeAll(user);
+        modelManager.revokeAll(user.getUserDelegate());
         getUserManager().removeAccount(user);
     }
 
@@ -822,7 +825,10 @@ public class DefaultSecurityService
     public void grant(User user, Group group, Role role)
     throws DataBackendException, UnknownEntityException
     {
-        modelManager.grant(user, group, role);
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
+        modelManager.grant(user.getUserDelegate(), group, role);
     }
 
     /**
@@ -840,7 +846,10 @@ public class DefaultSecurityService
     public void revoke(User user, Group group, Role role)
         throws DataBackendException, UnknownEntityException
     {
-        modelManager.revoke(user, group, role);
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
+        modelManager.revoke(user.getUserDelegate(), group, role);
     }
 
     /**
@@ -857,7 +866,10 @@ public class DefaultSecurityService
     public void revokeAll(User user)
         throws DataBackendException, UnknownEntityException
     {
-        modelManager.revokeAll(user);
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
+        modelManager.revokeAll(user.getUserDelegate());
     }
 
     /**

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultUserManager.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultUserManager.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultUserManager.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/security/DefaultUserManager.java
 Mon Nov 27 14:17:26 2017
@@ -56,7 +56,7 @@ import org.apache.turbine.util.ObjectUti
  * <ul>
  * <li>method(s) in this manager -> Fulcrum manager method(s)
  * <li>{@link #createAccount(User, String)}createAccount -> addUser(User, 
String)
- * <li> {@link #removeAccount(User)} -> removeUser(User)
+ * <li>{@link #removeAccount(User)} -> removeUser(User)
  * <li>{@link #store(User)} -> saveUser(User)
  * <li>{@link #retrieve(String)} and {@link #retrieve(String, String)} -> 
getUser(String), getUser(String, String)
  * <li>{@link #retrieveList(Object)} ->getAllUsers()
@@ -196,7 +196,10 @@ public class DefaultUserManager implemen
     public boolean accountExists(User user)
             throws DataBackendException
     {
-        return umDelegate.checkExists(user);
+        if (user == null) {
+            return false;
+        }
+        return umDelegate.checkExists(user.getUserDelegate());
     }
 
     /**
@@ -303,6 +306,9 @@ public class DefaultUserManager implemen
     public void store(User user)
             throws UnknownEntityException, DataBackendException
     {
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
         try
         {
             
user.setObjectdata(ObjectUtils.serializeMap(user.getPermStorage()));
@@ -367,9 +373,12 @@ public class DefaultUserManager implemen
      */
     @Override
     public void createAccount(User user, String initialPassword)
-            throws EntityExistsException, DataBackendException
+            throws UnknownEntityException, EntityExistsException, 
DataBackendException
     {
-        umDelegate.addUser(user, initialPassword);
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
+        umDelegate.addUser(user.getUserDelegate(), initialPassword);
     }
 
     /**
@@ -383,7 +392,10 @@ public class DefaultUserManager implemen
     public void removeAccount(User user)
             throws UnknownEntityException, DataBackendException
     {
-        umDelegate.removeUser(user);
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
+        umDelegate.removeUser(user.getUserDelegate());
     }
 
     /**
@@ -405,6 +417,9 @@ public class DefaultUserManager implemen
             throws PasswordMismatchException, UnknownEntityException,
             DataBackendException
     {
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
         umDelegate.changePassword(
                 ((TurbineUserDelegate)user).getUserDelegate(),
                 oldPassword, newPassword);
@@ -429,7 +444,10 @@ public class DefaultUserManager implemen
     public void forcePassword(User user, String password)
             throws UnknownEntityException, DataBackendException
     {
-        umDelegate.forcePassword(user, password);
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
+        umDelegate.forcePassword(user.getUserDelegate(), password);
     }
 
     /**
@@ -511,6 +529,9 @@ public class DefaultUserManager implemen
     @Override
     public <T extends AccessControlList> T getACL(User user) throws 
UnknownEntityException
     {
-        return umDelegate.getACL(user);
+        if (user == null) {
+            throw new UnknownEntityException("user is null");
+        }
+        return umDelegate.getACL(user.getUserDelegate());
     }
 }

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/security/SecurityService.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/security/SecurityService.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/security/SecurityService.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/security/SecurityService.java
 Mon Nov 27 14:17:26 2017
@@ -296,9 +296,10 @@ public interface SecurityService
      * @throws DataBackendException if there was an error accessing the data
      *         backend.
      * @throws EntityExistsException if the user account already exists.
+     * @throws UnknownEntityException  if the provided user does not exist (is 
null)
      */
     void addUser(User user, String password)
-            throws DataBackendException, EntityExistsException;
+            throws DataBackendException, EntityExistsException, 
UnknownEntityException;
 
     /**
      * Removes an user account from the system.

Modified: 
turbine/core/trunk/src/java/org/apache/turbine/services/security/UserManager.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/services/security/UserManager.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- 
turbine/core/trunk/src/java/org/apache/turbine/services/security/UserManager.java
 (original)
+++ 
turbine/core/trunk/src/java/org/apache/turbine/services/security/UserManager.java
 Mon Nov 27 14:17:26 2017
@@ -186,7 +186,7 @@ public interface UserManager
      * @throws EntityExistsException if the user account already exists.
      */
     void createAccount(User user, String initialPassword)
-            throws EntityExistsException, DataBackendException;
+            throws UnknownEntityException, EntityExistsException, 
DataBackendException;
 
     /**
      * Removes an user account from the system.

Modified: turbine/core/trunk/src/java/org/apache/turbine/util/SecurityCheck.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/java/org/apache/turbine/util/SecurityCheck.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- turbine/core/trunk/src/java/org/apache/turbine/util/SecurityCheck.java 
(original)
+++ turbine/core/trunk/src/java/org/apache/turbine/util/SecurityCheck.java Mon 
Nov 27 14:17:26 2017
@@ -148,7 +148,10 @@ public class SecurityCheck
                 roleObject = 
securityService.getRoleManager().getRoleInstance(role);
                 securityService.getRoleManager().addRole(roleObject);
                 TurbineModelManager modelManager = 
(TurbineModelManager)securityService.getModelManager();
-                modelManager.grant(data.getUser(), 
modelManager.getGlobalGroup(), roleObject);
+                if (data.getUser() == null) {
+                  throw new UnknownEntityException("user is null");
+                }
+                modelManager.grant(data.getUser().getUserDelegate(), 
modelManager.getGlobalGroup(), roleObject);
             }
             else
             {

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/services/security/SecurityServiceTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/services/security/SecurityServiceTest.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/services/security/SecurityServiceTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/services/security/SecurityServiceTest.java
 Mon Nov 27 14:17:26 2017
@@ -127,11 +127,11 @@ public class SecurityServiceTest extends
         securityService.addUser(user, "clint");
         securityService.grant(user, group, role);
 
-               addUserAndCheck(group, role, user);
+               addUserAndCheck(group, role, user.getUserDelegate());
 
         // Fulcrum security service returns a raw 
org.apache.fulcrum.security.model.turbine.entity.impl.TurbineUserImpl,
                org.apache.fulcrum.security.UserManager  userManager = 
fulcrumSecurityService.getUserManager();
-        org.apache.fulcrum.security.entity.User fulcrumUser = 
userManager.getUserInstance("Clint2");
+               TurbineUser fulcrumUser = userManager.getUserInstance("Clint2");
         userManager.addUser(fulcrumUser, "clint2");         // memory
         
((TurbineModelManager)fulcrumSecurityService.getModelManager()).grant(fulcrumUser,
 group, role);
 
@@ -149,7 +149,7 @@ public class SecurityServiceTest extends
      * @throws DataBackendException
      * @throws UnknownEntityException
      */
-       private void addUserAndCheck(Group group, Role role, 
org.apache.fulcrum.security.entity.User user)
+       private void addUserAndCheck(Group group, Role role, TurbineUser user)
                        throws EntityExistsException, DataBackendException,
                        UnknownEntityException
        {

Modified: 
turbine/core/trunk/src/test/org/apache/turbine/services/security/TurbineDefaultModelManagerTest.java
URL: 
http://svn.apache.org/viewvc/turbine/core/trunk/src/test/org/apache/turbine/services/security/TurbineDefaultModelManagerTest.java?rev=1816455&r1=1816454&r2=1816455&view=diff
==============================================================================
--- 
turbine/core/trunk/src/test/org/apache/turbine/services/security/TurbineDefaultModelManagerTest.java
 (original)
+++ 
turbine/core/trunk/src/test/org/apache/turbine/services/security/TurbineDefaultModelManagerTest.java
 Mon Nov 27 14:17:26 2017
@@ -53,7 +53,6 @@ public class TurbineDefaultModelManagerT
         {
             fail(e.toString());
         }
-
     }
 
     @Test
@@ -61,8 +60,6 @@ public class TurbineDefaultModelManagerT
        // all tests in abstract
     }
 
-
-
     @Override
     @After
        public void tearDown()


Reply via email to