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()