You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lenya.apache.org by an...@apache.org on 2008/11/20 02:10:16 UTC
svn commit: r719147 [1/2] - in /lenya/sandbox/access_control_redesign/src:
java/org/apache/lenya/ac/ modules-core/ac/config/
modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/
modules-core/ac/java/src/org/apache/lenya/ac/file/ modules-core/ac/jav...
Author: andreas
Date: Wed Nov 19 17:10:15 2008
New Revision: 719147
URL: http://svn.apache.org/viewvc?rev=719147&view=rev
Log:
Next steps in access control redesign.
Added:
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItem.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUser.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUserReference.java
Modified:
lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/AbstractUserReference.java
lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Authenticator.java
lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Item.java
lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUser.java
lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUserReference.java
lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/User.java
lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/UserManager.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/config/module.xml
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsLexer.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsParser.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions__.g
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileGroup.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileIPRange.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItemManager.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileRole.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUser.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUserManager.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AbstractIPRange.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AnonymousAuthenticator.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/UserAuthenticator.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/components/modules/input/AccessControlModule.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/file/FileUserTest.java
lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/impl/UserManagerTest.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AbstractChangePassword.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddUser.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePassword.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePasswordAdmin.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/DeleteUser.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/GroupMembers.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/UserGroups.java
lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/UserProfile.java
lenya/sandbox/access_control_redesign/src/modules/lucene/java/src/org/apache/cocoon/transformation/LuceneIndexTransformer2.java
lenya/sandbox/access_control_redesign/src/modules/notification/java/src/org/apache/lenya/inbox/xml/XmlSourceInbox.java
lenya/sandbox/access_control_redesign/src/webapp/lenya/config/sitemap/pipelines.xmap
Modified: lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/AbstractUserReference.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/AbstractUserReference.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/AbstractUserReference.java (original)
+++ lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/AbstractUserReference.java Wed Nov 19 17:10:15 2008
@@ -31,18 +31,14 @@
private static final long serialVersionUID = 1L;
private String userId;
- private String managerId;
/**
* @param userId The ID of the user.
- * @param accrMgrId The ID of the accreditable manager.
* @see Item#getId()
*/
- public AbstractUserReference(String userId, String accrMgrId) {
+ public AbstractUserReference(String userId) {
Assert.notNull("user ID", userId);
- Assert.notNull("accreditable manager ID", accrMgrId);
this.userId = userId;
- this.managerId = accrMgrId;
}
/**
@@ -96,9 +92,4 @@
return matchingGroups;
}
- public boolean belongsToAccreditableManager(String accrMgrId) {
- Assert.notNull("accreditable manager ID", accrMgrId);
- return accrMgrId.equals(this.managerId);
- }
-
}
Modified: lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Authenticator.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Authenticator.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Authenticator.java (original)
+++ lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Authenticator.java Wed Nov 19 17:10:15 2008
@@ -20,6 +20,7 @@
import org.apache.avalon.framework.component.Component;
import org.apache.cocoon.environment.Request;
+import org.apache.lenya.ac.attr.AttributeSet;
/**
* An authenticator.
@@ -41,4 +42,25 @@
*/
boolean authenticate(AccreditableManager accreditableManager, Request request)
throws AccessControlException;
+
+ /**
+ * The login URI for a certain request.
+ * @param request The request.
+ * @return A string.
+ */
+ String getLoginUri(Request request);
+
+ /**
+ * The target URI, i.e. the URI to redirect to after a successful
+ * authentication.
+ * @param request The request containing the authentication data.
+ * @return A string.
+ */
+ String getTargetUri(Request request);
+
+ /**
+ * @return The set of attributes to be expected when a user has been
+ * authenticated by this authenticator.
+ */
+ AttributeSet getAttributeSet();
}
Modified: lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Item.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Item.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Item.java (original)
+++ lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/Item.java Wed Nov 19 17:10:15 2008
@@ -20,15 +20,13 @@
package org.apache.lenya.ac;
-import org.apache.avalon.framework.configuration.Configuration;
-import org.apache.avalon.framework.configuration.ConfigurationException;
import org.apache.avalon.framework.logger.LogEnabled;
/**
* An item can be initialized from a configuration.
*/
-public interface Item extends LogEnabled {
+public interface Item {
/**
* Returns the ID.
@@ -60,16 +58,4 @@
*/
void setDescription(String description);
- /**
- * Configures this item.
- * @param configuration The configuration.
- * @throws ConfigurationException when something went wrong.
- */
- void configure(Configuration configuration) throws ConfigurationException;
-
- /**
- * @return The item manager this item belongs to.
- */
- ItemManager getItemManager();
-
}
Modified: lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUser.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUser.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUser.java (original)
+++ lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUser.java Wed Nov 19 17:10:15 2008
@@ -20,7 +20,7 @@
/**
* A user which is managed by the Lenya CMS itself, i.e. it belongs to a {@link UserManager}.
*/
-public interface ManagedUser extends User, Accreditable {
+public interface ManagedUser extends User, Accreditable, Groupable {
/**
* Delete this user.
@@ -43,6 +43,12 @@
void setPassword(String plainTextPassword);
/**
+ * Checks support for changing password
+ * @return true if password change is supported
+ */
+ public abstract boolean canChangePassword();
+
+ /**
* Saves this user.
* @throws AccessControlException if the user could not be saved.
*/
Modified: lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUserReference.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUserReference.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUserReference.java (original)
+++ lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/ManagedUserReference.java Wed Nov 19 17:10:15 2008
@@ -17,17 +17,23 @@
*/
package org.apache.lenya.ac;
+import org.apache.lenya.util.Assert;
+
/**
* A reference to a managed user.
*/
public class ManagedUserReference extends AbstractUserReference {
+
+ private String managerId;
/**
* @param userId The user ID.
* @param managerId The ID of the accreditable manager the user belongs to.
*/
public ManagedUserReference(String userId, String managerId) {
- super(userId, managerId);
+ super(userId);
+ Assert.notNull("manager ID", managerId);
+ this.managerId = managerId;
}
private static final long serialVersionUID = 1L;
@@ -44,4 +50,9 @@
}
}
+ public boolean belongsToAccreditableManager(String accrMgrId) {
+ Assert.notNull("accreditable manager ID", accrMgrId);
+ return accrMgrId.equals(this.managerId);
+ }
+
}
Modified: lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/User.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/User.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/User.java (original)
+++ lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/User.java Wed Nov 19 17:10:15 2008
@@ -24,7 +24,7 @@
* A user.
* @version $Id$
*/
-public interface User extends Accreditable, Item, Groupable, AttributeOwner {
+public interface User extends Item, AttributeOwner {
/**
* Get the email address
@@ -41,18 +41,6 @@
void setEmail(String email);
/**
- * Sets the password.
- * @param plainTextPassword The plain text password.
- */
- void setPassword(String plainTextPassword);
-
- /**
- * Checks support for changing password
- * @return true if password change is supported
- */
- public abstract boolean canChangePassword();
-
- /**
* Returns the user's preferred locale for the Lenya
* CMS menus and CMS screens.
*
@@ -96,32 +84,4 @@
*/
void setDefaultDocumentLocale(String documentLocale);
- /**
- * Save the user
- *
- * @throws AccessControlException if the save failed
- */
- void save() throws AccessControlException;
-
- /**
- * Delete a user
- *
- * @throws AccessControlException if the delete failed
- */
- void delete() throws AccessControlException;
-
- /**
- * Authenticate a user. This is done by encrypting
- * the given password and comparing this to the
- * encryptedPassword.
- *
- * @param password to authenticate with
- * @return true if the given password matches the password for this user
- */
- boolean authenticate(String password);
-
- /**
- * @return The accreditable manager this accreditable belongs to.
- */
- AccreditableManager getAccreditableManager();
}
Modified: lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/UserManager.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/UserManager.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/UserManager.java (original)
+++ lenya/sandbox/access_control_redesign/src/java/org/apache/lenya/ac/UserManager.java Wed Nov 19 17:10:15 2008
@@ -61,7 +61,7 @@
* @return the requested user or null if there is
* no user with the given user id
*/
- User getUser(String userId);
+ ManagedUser getUser(String userId);
/**
* @param userId A user ID.
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/config/module.xml
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/config/module.xml?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/config/module.xml (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/config/module.xml Wed Nov 19 17:10:15 2008
@@ -22,6 +22,8 @@
<id>org.apache.lenya.modules.ac</id>
<export package="org.apache.lenya.ac.file"/>
<export package="org.apache.lenya.ac.impl"/>
+ <export package="org.apache.lenya.ac.attr"/>
+ <export package="org.apache.lenya.ac.attr.impl"/>
<depends module="org.apache.lenya.modules.cache"/>
<depends module="org.apache.lenya.modules.linking"/>
<package>org.apache.lenya.modules</package>
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsLexer.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsLexer.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsLexer.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsLexer.java Wed Nov 19 17:10:15 2008
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g 2008-11-19 22:26:32
+// $ANTLR 3.0.1 /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g 2008-11-19 23:56:23
package org.apache.lenya.ac.attr.antlr;
import org.apache.lenya.ac.attr.ErrorHandler;
@@ -37,17 +37,17 @@
public ExpressionsLexer(CharStream input) {
super(input);
}
- public String getGrammarFileName() { return "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g"; }
+ public String getGrammarFileName() { return "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g"; }
// $ANTLR start LITERAL
public final void mLITERAL() throws RecognitionException {
try {
int _type = LITERAL;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:106:8: ( '\"' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | ' ' | '.' )* '\"' )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:106:10: '\"' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | ' ' | '.' )* '\"'
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:106:8: ( '\"' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | ' ' | '.' )* '\"' )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:106:10: '\"' ( 'a' .. 'z' | 'A' .. 'Z' | '_' | ' ' | '.' )* '\"'
{
match('\"');
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:106:14: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | ' ' | '.' )*
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:106:14: ( 'a' .. 'z' | 'A' .. 'Z' | '_' | ' ' | '.' )*
loop1:
do {
int alt1=2;
@@ -60,7 +60,7 @@
switch (alt1) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:
{
if ( input.LA(1)==' '||input.LA(1)=='.'||(input.LA(1)>='A' && input.LA(1)<='Z')||input.LA(1)=='_'||(input.LA(1)>='a' && input.LA(1)<='z') ) {
input.consume();
@@ -96,8 +96,8 @@
public final void mID() throws RecognitionException {
try {
int _type = ID;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:107:3: ( ( 'a' .. 'z' | 'A' .. 'Z' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )* )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:107:5: ( 'a' .. 'z' | 'A' .. 'Z' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:107:3: ( ( 'a' .. 'z' | 'A' .. 'Z' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )* )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:107:5: ( 'a' .. 'z' | 'A' .. 'Z' ) ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
{
if ( (input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
input.consume();
@@ -109,7 +109,7 @@
recover(mse); throw mse;
}
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:107:25: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:107:25: ( 'a' .. 'z' | 'A' .. 'Z' | '0' .. '9' )*
loop2:
do {
int alt2=2;
@@ -122,7 +122,7 @@
switch (alt2) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:
{
if ( (input.LA(1)>='0' && input.LA(1)<='9')||(input.LA(1)>='A' && input.LA(1)<='Z')||(input.LA(1)>='a' && input.LA(1)<='z') ) {
input.consume();
@@ -157,8 +157,8 @@
public final void mEQUALS() throws RecognitionException {
try {
int _type = EQUALS;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:108:7: ( '==' )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:108:9: '=='
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:108:7: ( '==' )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:108:9: '=='
{
match("==");
@@ -176,8 +176,8 @@
public final void mQUOT() throws RecognitionException {
try {
int _type = QUOT;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:109:5: ( '\"' )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:109:7: '\"'
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:109:5: ( '\"' )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:109:7: '\"'
{
match('\"');
@@ -194,8 +194,8 @@
public final void mOR() throws RecognitionException {
try {
int _type = OR;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:110:3: ( '||' )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:110:5: '||'
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:110:3: ( '||' )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:110:5: '||'
{
match("||");
@@ -213,8 +213,8 @@
public final void mAND() throws RecognitionException {
try {
int _type = AND;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:111:4: ( '&&' )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:111:6: '&&'
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:111:4: ( '&&' )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:111:6: '&&'
{
match("&&");
@@ -232,8 +232,8 @@
public final void mLEFTPAR() throws RecognitionException {
try {
int _type = LEFTPAR;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:112:8: ( '(' )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:112:10: '('
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:112:8: ( '(' )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:112:10: '('
{
match('(');
@@ -250,8 +250,8 @@
public final void mRIGHTPAR() throws RecognitionException {
try {
int _type = RIGHTPAR;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:113:9: ( ')' )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:113:11: ')'
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:113:9: ( ')' )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:113:11: ')'
{
match(')');
@@ -268,10 +268,10 @@
public final void mWS() throws RecognitionException {
try {
int _type = WS;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:114:3: ( ( ' ' | '\\t' )+ )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:114:5: ( ' ' | '\\t' )+
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:114:3: ( ( ' ' | '\\t' )+ )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:114:5: ( ' ' | '\\t' )+
{
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:114:5: ( ' ' | '\\t' )+
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:114:5: ( ' ' | '\\t' )+
int cnt3=0;
loop3:
do {
@@ -285,7 +285,7 @@
switch (alt3) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:
{
if ( input.LA(1)=='\t'||input.LA(1)==' ' ) {
input.consume();
@@ -322,7 +322,7 @@
// $ANTLR end WS
public void mTokens() throws RecognitionException {
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:8: ( LITERAL | ID | EQUALS | QUOT | OR | AND | LEFTPAR | RIGHTPAR | WS )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:8: ( LITERAL | ID | EQUALS | QUOT | OR | AND | LEFTPAR | RIGHTPAR | WS )
int alt4=9;
switch ( input.LA(1) ) {
case '\"':
@@ -432,63 +432,63 @@
switch (alt4) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:10: LITERAL
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:10: LITERAL
{
mLITERAL();
}
break;
case 2 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:18: ID
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:18: ID
{
mID();
}
break;
case 3 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:21: EQUALS
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:21: EQUALS
{
mEQUALS();
}
break;
case 4 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:28: QUOT
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:28: QUOT
{
mQUOT();
}
break;
case 5 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:33: OR
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:33: OR
{
mOR();
}
break;
case 6 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:36: AND
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:36: AND
{
mAND();
}
break;
case 7 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:40: LEFTPAR
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:40: LEFTPAR
{
mLEFTPAR();
}
break;
case 8 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:48: RIGHTPAR
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:48: RIGHTPAR
{
mRIGHTPAR();
}
break;
case 9 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:57: WS
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:1:57: WS
{
mWS();
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsParser.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsParser.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsParser.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/ExpressionsParser.java Wed Nov 19 17:10:15 2008
@@ -1,4 +1,4 @@
-// $ANTLR 3.0.1 /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g 2008-11-19 22:26:30
+// $ANTLR 3.0.1 /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g 2008-11-19 23:56:22
package org.apache.lenya.ac.attr.antlr;
import java.util.HashMap;
@@ -31,7 +31,7 @@
public String[] getTokenNames() { return tokenNames; }
- public String getGrammarFileName() { return "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g"; }
+ public String getGrammarFileName() { return "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g"; }
/** Map variable name to object holding value */
@@ -61,7 +61,7 @@
// $ANTLR start prog
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:53:1: prog returns [boolean value] : e= orExpression ;
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:53:1: prog returns [boolean value] : e= orExpression ;
public final boolean prog() throws RecognitionException {
boolean value = false;
@@ -69,8 +69,8 @@
try {
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:54:5: (e= orExpression )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:54:7: e= orExpression
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:54:5: (e= orExpression )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:54:7: e= orExpression
{
pushFollow(FOLLOW_orExpression_in_prog50);
e=orExpression();
@@ -93,7 +93,7 @@
// $ANTLR start orExpression
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:57:1: orExpression returns [boolean value] : e= andExpression ( OR e= andExpression )* ;
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:57:1: orExpression returns [boolean value] : e= andExpression ( OR e= andExpression )* ;
public final boolean orExpression() throws RecognitionException {
boolean value = false;
@@ -101,15 +101,15 @@
try {
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:58:5: (e= andExpression ( OR e= andExpression )* )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:58:9: e= andExpression ( OR e= andExpression )*
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:58:5: (e= andExpression ( OR e= andExpression )* )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:58:9: e= andExpression ( OR e= andExpression )*
{
pushFollow(FOLLOW_andExpression_in_orExpression77);
e=andExpression();
_fsp--;
value = e;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:59:5: ( OR e= andExpression )*
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:59:5: ( OR e= andExpression )*
loop1:
do {
int alt1=2;
@@ -122,7 +122,7 @@
switch (alt1) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:59:7: OR e= andExpression
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:59:7: OR e= andExpression
{
match(input,OR,FOLLOW_OR_in_orExpression87);
pushFollow(FOLLOW_andExpression_in_orExpression91);
@@ -155,7 +155,7 @@
// $ANTLR start andExpression
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:62:1: andExpression returns [boolean value] : e= comparison ( AND e= comparison )* ;
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:62:1: andExpression returns [boolean value] : e= comparison ( AND e= comparison )* ;
public final boolean andExpression() throws RecognitionException {
boolean value = false;
@@ -163,15 +163,15 @@
try {
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:63:5: (e= comparison ( AND e= comparison )* )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:63:9: e= comparison ( AND e= comparison )*
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:63:5: (e= comparison ( AND e= comparison )* )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:63:9: e= comparison ( AND e= comparison )*
{
pushFollow(FOLLOW_comparison_in_andExpression125);
e=comparison();
_fsp--;
value = e;
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:64:5: ( AND e= comparison )*
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:64:5: ( AND e= comparison )*
loop2:
do {
int alt2=2;
@@ -184,7 +184,7 @@
switch (alt2) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:64:7: AND e= comparison
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:64:7: AND e= comparison
{
match(input,AND,FOLLOW_AND_in_andExpression135);
pushFollow(FOLLOW_comparison_in_andExpression139);
@@ -217,7 +217,7 @@
// $ANTLR start comparison
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:67:1: comparison returns [boolean value] : (a= atom EQUALS b= atom | LEFTPAR e= orExpression RIGHTPAR );
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:67:1: comparison returns [boolean value] : (a= atom EQUALS b= atom | LEFTPAR e= orExpression RIGHTPAR );
public final boolean comparison() throws RecognitionException {
boolean value = false;
@@ -229,7 +229,7 @@
try {
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:68:5: (a= atom EQUALS b= atom | LEFTPAR e= orExpression RIGHTPAR )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:68:5: (a= atom EQUALS b= atom | LEFTPAR e= orExpression RIGHTPAR )
int alt3=2;
int LA3_0 = input.LA(1);
@@ -247,7 +247,7 @@
}
switch (alt3) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:68:9: a= atom EQUALS b= atom
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:68:9: a= atom EQUALS b= atom
{
pushFollow(FOLLOW_atom_in_comparison173);
a=atom();
@@ -277,7 +277,7 @@
}
break;
case 2 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:83:9: LEFTPAR e= orExpression RIGHTPAR
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:83:9: LEFTPAR e= orExpression RIGHTPAR
{
match(input,LEFTPAR,FOLLOW_LEFTPAR_in_comparison191);
pushFollow(FOLLOW_orExpression_in_comparison195);
@@ -307,7 +307,7 @@
};
// $ANTLR start atom
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:86:1: atom returns [Object value] : ( quotedString | ID );
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:86:1: atom returns [Object value] : ( quotedString | ID );
public final atom_return atom() throws RecognitionException {
atom_return retval = new atom_return();
retval.start = input.LT(1);
@@ -317,7 +317,7 @@
try {
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:87:5: ( quotedString | ID )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:87:5: ( quotedString | ID )
int alt4=2;
int LA4_0 = input.LA(1);
@@ -335,7 +335,7 @@
}
switch (alt4) {
case 1 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:87:9: quotedString
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:87:9: quotedString
{
pushFollow(FOLLOW_quotedString_in_atom222);
quotedString1=quotedString();
@@ -346,7 +346,7 @@
}
break;
case 2 :
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:88:9: ID
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:88:9: ID
{
ID2=(Token)input.LT(1);
match(input,ID,FOLLOW_ID_in_atom234);
@@ -381,15 +381,15 @@
// $ANTLR start quotedString
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:102:1: quotedString returns [String value] : LITERAL ;
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:102:1: quotedString returns [String value] : LITERAL ;
public final String quotedString() throws RecognitionException {
String value = null;
Token LITERAL3=null;
try {
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:103:7: ( LITERAL )
- // /Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:103:9: LITERAL
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:103:7: ( LITERAL )
+ // /Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g:103:9: LITERAL
{
LITERAL3=(Token)input.LT(1);
match(input,LITERAL,FOLLOW_LITERAL_in_quotedString267);
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions__.g
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions__.g?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions__.g (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions__.g Wed Nov 19 17:10:15 2008
@@ -16,21 +16,21 @@
import org.apache.lenya.ac.attr.ErrorHandler;
}
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 106
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 106
LITERAL: '"' ('a'..'z'|'A'..'Z'|'_'|' '|'.')* '"';
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 107
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 107
ID: ('a'..'z'|'A'..'Z') ('a'..'z'|'A'..'Z'|'0'..'9')*;
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 108
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 108
EQUALS: '==';
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 109
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 109
QUOT: '"';
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 110
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 110
OR: '||';
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 111
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 111
AND: '&&';
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 112
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 112
LEFTPAR: '(';
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 113
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 113
RIGHTPAR: ')';
-// $ANTLR src "/Users/nobby/apache/lenya/pure-https/trunk/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 114
+// $ANTLR src "/Users/nobby/apache/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/attr/antlr/Expressions.g" 114
WS: (' '|'\t')+ {skip();} ;
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileGroup.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileGroup.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileGroup.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileGroup.java Wed Nov 19 17:10:15 2008
@@ -28,8 +28,6 @@
import org.apache.avalon.framework.configuration.DefaultConfigurationSerializer;
import org.apache.avalon.framework.logger.Logger;
import org.apache.lenya.ac.AccessControlException;
-import org.apache.lenya.ac.Accreditable;
-import org.apache.lenya.ac.Item;
import org.apache.lenya.ac.ItemManager;
import org.apache.lenya.ac.impl.AbstractGroup;
import org.apache.lenya.ac.impl.ItemConfiguration;
@@ -37,7 +35,7 @@
/**
* File-based group implementation.
*/
-public class FileGroup extends AbstractGroup implements Item {
+public class FileGroup extends AbstractGroup implements FileItem {
/**
* @see org.apache.lenya.ac.Group#delete()
@@ -129,7 +127,7 @@
return this.configurationDirectory;
}
- protected void setConfigurationDirectory(File _configurationDirectory) {
+ public void setConfigurationDirectory(File _configurationDirectory) {
assert (_configurationDirectory != null) && _configurationDirectory.isDirectory();
this.configurationDirectory = _configurationDirectory;
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileIPRange.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileIPRange.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileIPRange.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileIPRange.java Wed Nov 19 17:10:15 2008
@@ -41,7 +41,7 @@
/**
* IP range that is stored in a file.
*/
-public class FileIPRange extends AbstractIPRange implements Serializable {
+public class FileIPRange extends AbstractIPRange implements Serializable, FileItem {
/**
*
Added: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItem.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItem.java?rev=719147&view=auto
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItem.java (added)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItem.java Wed Nov 19 17:10:15 2008
@@ -0,0 +1,46 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+
+/* $Id: Item.java 473841 2006-11-12 00:46:38Z gregor $ */
+package org.apache.lenya.ac.file;
+
+import java.io.File;
+
+import org.apache.avalon.framework.configuration.Configuration;
+import org.apache.avalon.framework.configuration.ConfigurationException;
+import org.apache.lenya.ac.Item;
+
+/**
+ * An item which is stored in a file.
+ */
+public interface FileItem extends Item {
+
+ /**
+ * Sets the configuration directory of this item.
+ * @param configurationDirectory The configuration directory.
+ */
+ void setConfigurationDirectory(File configurationDirectory);
+
+ /**
+ * Configures this item.
+ * @param configuration The configuration.
+ * @throws ConfigurationException when something went wrong.
+ */
+ void configure(Configuration configuration) throws ConfigurationException;
+
+}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItemManager.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItemManager.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItemManager.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileItemManager.java Wed Nov 19 17:10:15 2008
@@ -152,7 +152,7 @@
String fileName = file.getName();
String id = fileName.substring(0, fileName.length() - getSuffix().length());
- Item item = (Item) this.items.get(id);
+ FileItem item = (FileItem) this.items.get(id);
String klass = ItemConfiguration.getItemClass(config);
if (item == null) {
@@ -160,7 +160,7 @@
Class[] paramTypes = { ItemManager.class, Logger.class };
Constructor ctor = Class.forName(klass).getConstructor(paramTypes);
Object[] params = { this, getLogger() };
- item = (Item) ctor.newInstance(params);
+ item = (FileItem) ctor.newInstance(params);
} catch (Exception e) {
String errorMsg = "Exception when trying to instanciate: " + klass
+ " with exception: " + e.fillInStackTrace();
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileRole.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileRole.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileRole.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileRole.java Wed Nov 19 17:10:15 2008
@@ -26,7 +26,6 @@
import org.apache.avalon.framework.configuration.DefaultConfigurationSerializer;
import org.apache.avalon.framework.logger.Logger;
import org.apache.lenya.ac.AccessControlException;
-import org.apache.lenya.ac.Item;
import org.apache.lenya.ac.ItemManager;
import org.apache.lenya.ac.impl.AbstractRole;
import org.apache.lenya.ac.impl.ItemConfiguration;
@@ -35,7 +34,7 @@
* File-based role implementation.
* @version $Id$
*/
-public class FileRole extends AbstractRole implements Item {
+public class FileRole extends AbstractRole implements FileItem {
protected static final String ATTR_ASSIGNABLE = "assignable";
@@ -112,7 +111,7 @@
return this.configurationDirectory;
}
- protected void setConfigurationDirectory(File file) {
+ public void setConfigurationDirectory(File file) {
this.configurationDirectory = file;
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUser.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUser.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUser.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUser.java Wed Nov 19 17:10:15 2008
@@ -29,7 +29,6 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.Group;
import org.apache.lenya.ac.GroupManager;
-import org.apache.lenya.ac.Item;
import org.apache.lenya.ac.ItemManager;
import org.apache.lenya.ac.ManagedUser;
import org.apache.lenya.ac.impl.AbstractUser;
@@ -39,7 +38,7 @@
* File-based user implementation.
* @version $Id$
*/
-public class FileUser extends AbstractUser implements Item, Serializable, ManagedUser {
+public class FileUser extends AbstractUser implements FileItem, Serializable, ManagedUser {
/**
*
@@ -216,7 +215,7 @@
return this.configurationDirectory;
}
- protected void setConfigurationDirectory(File _configurationDirectory) {
+ public void setConfigurationDirectory(File _configurationDirectory) {
assert (_configurationDirectory != null) && _configurationDirectory.isDirectory();
this.configurationDirectory = _configurationDirectory;
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUserManager.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUserManager.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUserManager.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/file/FileUserManager.java Wed Nov 19 17:10:15 2008
@@ -29,6 +29,7 @@
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.AccreditableManager;
import org.apache.lenya.ac.Item;
+import org.apache.lenya.ac.ManagedUser;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
import org.apache.lenya.ac.UserType;
@@ -118,8 +119,8 @@
* @param userId user id of requested user
* @return the requested user or null if there is no user with the given user id
*/
- public User getUser(String userId) {
- return (User) getItem(userId);
+ public ManagedUser getUser(String userId) {
+ return (ManagedUser) getItem(userId);
}
/**
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AbstractIPRange.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AbstractIPRange.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AbstractIPRange.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AbstractIPRange.java Wed Nov 19 17:10:15 2008
@@ -121,7 +121,7 @@
return this.configurationDirectory;
}
- protected void setConfigurationDirectory(File _configurationDirectory) {
+ public void setConfigurationDirectory(File _configurationDirectory) {
this.configurationDirectory = _configurationDirectory;
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AnonymousAuthenticator.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AnonymousAuthenticator.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AnonymousAuthenticator.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/AnonymousAuthenticator.java Wed Nov 19 17:10:15 2008
@@ -26,6 +26,7 @@
import org.apache.lenya.ac.ManagedUserReference;
import org.apache.lenya.ac.UserManager;
import org.apache.lenya.ac.UserReference;
+import org.apache.lenya.ac.attr.AttributeSet;
/**
* The anonymous authenticator authenticates to an anonymous user with no
@@ -78,4 +79,19 @@
}
return authenticated;
}
+
+ public AttributeSet getAttributeSet() {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getLoginUri(Request request) {
+ // TODO Auto-generated method stub
+ return null;
+ }
+
+ public String getTargetUri(Request request) {
+ // TODO Auto-generated method stub
+ return null;
+ }
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/PolicyBuilder.java Wed Nov 19 17:10:15 2008
@@ -163,7 +163,7 @@
Accreditable accreditable = null;
if (elementName.equals(USER_ELEMENT)) {
- accreditable = getAccreditableManager().getUserManager().getUser(id);
+ accreditable = (Accreditable) getAccreditableManager().getUserManager().getUser(id);
} else if (elementName.equals(GROUP_ELEMENT)) {
accreditable = getAccreditableManager().getGroupManager().getGroup(id);
} else if (elementName.equals(WORLD_ELEMENT)) {
Added: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUser.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUser.java?rev=719147&view=auto
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUser.java (added)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUser.java Wed Nov 19 17:10:15 2008
@@ -0,0 +1,113 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.lenya.ac.impl;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
+
+import org.apache.lenya.ac.AccessControlException;
+import org.apache.lenya.ac.User;
+
+/**
+ * Class for users which are not stored in the CMS, but in an external directory
+ * like LDAP or a Shibboleth identity provider.
+ */
+public class TransientUser implements User {
+
+ /**
+ * @param id The user ID.
+ */
+ public TransientUser(String id) {
+ this.id = id;
+ }
+
+ private String id;
+
+ public String getId() {
+ return this.id;
+ }
+
+ private Map attributes = new HashMap();
+
+ public String[] getAttributeValues(String name) throws AccessControlException {
+ return (String[]) this.attributes.get(name);
+ }
+
+ public String[] getAttributeNames() {
+ Set names = this.attributes.keySet();
+ return (String[]) names.toArray(new String[names.size()]);
+ }
+
+ /**
+ * Sets an attribute.
+ * @param name The name.
+ * @param values The values.
+ * @throws AccessControlException if the attribute name is not supported.
+ */
+ public void setAttributeValues(String name, String[] values) throws AccessControlException {
+ this.attributes.put(name, values);
+ }
+
+ protected boolean hasAttributes() {
+ return !this.attributes.isEmpty();
+ }
+
+ private String email;
+ private String description;
+ private String name;
+
+ public String getEmail() {
+ return this.email;
+ }
+
+ public void setEmail(String email) {
+ this.email = email;
+ }
+
+ public String getDescription() {
+ return this.description;
+ }
+
+ public String getName() {
+ return this.name;
+ }
+
+ public void setDescription(String description) {
+ this.description = description;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public String getDefaultDocumentLocale() {
+ return "en";
+ }
+
+ public String getDefaultMenuLocale() {
+ return "en";
+ }
+
+ public void setDefaultDocumentLocale(String documentLocale) {
+ }
+
+ public void setDefaultMenuLocale(String menuLocale) {
+ }
+
+}
Added: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUserReference.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUserReference.java?rev=719147&view=auto
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUserReference.java (added)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/TransientUserReference.java Wed Nov 19 17:10:15 2008
@@ -0,0 +1,59 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ *
+ */
+package org.apache.lenya.ac.impl;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.lenya.ac.AbstractUserReference;
+import org.apache.lenya.ac.Accreditable;
+import org.apache.lenya.ac.AccreditableManager;
+import org.apache.lenya.ac.User;
+
+/**
+ * A reference to a transient user.
+ */
+public class TransientUserReference extends AbstractUserReference {
+
+ private static final long serialVersionUID = 1L;
+
+ private TransientUser user;
+
+ /**
+ * @param user The user.
+ */
+ public TransientUserReference(TransientUser user) {
+ super(user.getId());
+ this.user = user;
+ }
+
+ public Accreditable[] getAccreditables(AccreditableManager accrMgr) {
+ Set accrs = new HashSet();
+ accrs.addAll(getMatchingGroups(accrMgr, this.user));
+ return (Accreditable[]) accrs.toArray(new Accreditable[accrs.size()]);
+ }
+
+ public User getUser(AccreditableManager accrMgr) {
+ return this.user;
+ }
+
+ public boolean belongsToAccreditableManager(String accrMgrId) {
+ return true;
+ }
+
+}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/UserAuthenticator.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/UserAuthenticator.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/UserAuthenticator.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/ac/impl/UserAuthenticator.java Wed Nov 19 17:10:15 2008
@@ -24,10 +24,13 @@
import org.apache.lenya.ac.AccreditableManager;
import org.apache.lenya.ac.Authenticator;
import org.apache.lenya.ac.Identity;
+import org.apache.lenya.ac.ManagedUser;
import org.apache.lenya.ac.ManagedUserReference;
-import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
import org.apache.lenya.ac.UserReference;
+import org.apache.lenya.ac.attr.AttributeSet;
+import org.apache.lenya.ac.attr.impl.AttributeSetImpl;
+import org.apache.lenya.util.ServletHelper;
/**
* User authenticator.
@@ -100,7 +103,7 @@
String password, Identity identity) throws AccessControlException {
UserManager userManager = accreditableManager.getUserManager();
- User user = userManager.getUser(username);
+ ManagedUser user = (ManagedUser) userManager.getUser(username);
if (getLogger().isDebugEnabled()) {
getLogger().debug("Authenticating user: [" + user + "]");
}
@@ -132,4 +135,17 @@
return authenticated;
}
+ public AttributeSet getAttributeSet() {
+ return new AttributeSetImpl();
+ }
+
+ public String getLoginUri(Request request) {
+ String webappUrl = ServletHelper.getWebappURI(request);
+ return webappUrl + "?lenya.module=openid&lenya.action=login";
+ }
+
+ public String getTargetUri(Request request) {
+ return ServletHelper.getWebappURI(request);
+ }
+
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/components/modules/input/AccessControlModule.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/components/modules/input/AccessControlModule.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/components/modules/input/AccessControlModule.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/src/org/apache/lenya/cms/cocoon/components/modules/input/AccessControlModule.java Wed Nov 19 17:10:15 2008
@@ -47,6 +47,7 @@
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
import org.apache.lenya.ac.UserReference;
+import org.apache.lenya.ac.impl.DefaultAccessController;
import org.apache.lenya.cms.ac.PolicyUtil;
import org.apache.lenya.util.ServletHelper;
@@ -61,14 +62,17 @@
* <li><strong><code>user-id</code></strong> - the ID of the currently logged-in user</li>
* <li><strong><code>user-name</code></strong> - the full name of the currently logged-in user</li>
* <li><strong><code>user-name:{user-id}</code></strong> - the full name of a specific user</li>
- * <li><strong><code>user-email</code></strong> - the e-mail address of the currently logged-in user</li>
+ * <li><strong><code>user-email</code></strong> - the e-mail address of the currently logged-in user
+ * </li>
* <li><strong><code>user-email:{user-id}</code></strong> - the e-mail address of a specific user</li>
* <li><strong><code>ip-address</code></strong> - the IP address of the client machine</li>
- * <li><strong><code>role-ids</code></strong> - the role IDs which are granted to the current identity</li>
+ * <li><strong><code>role-ids</code></strong> - the role IDs which are granted to the current
+ * identity</li>
* <li><strong><code>user-manager</code></strong> - the user manager object</li>
* <li><strong><code>group-manager</code></strong> - the group manager object</li>
* <li><strong><code>iprange-manager</code></strong> - the IP range manager object</li>
* <li><strong><code>role-manager</code></strong> - the role manager object</li>
+ * <li><strong><code>login-uri</code></strong> - the URI for the redirect to the login screen</li>
* </ul>
*
*/
@@ -114,12 +118,16 @@
* Returns if the current page is SSL protected (true|false).
*/
public static final String SSL = "ssl";
+ /**
+ * The URI for the redirect to the login screen.
+ */
+ public static final String LOGIN_URI = "login-uri";
/**
* The names of the AccessControlModule parameters.
*/
static final String[] PARAMETER_NAMES = { IP_ADDRESS, USER_ID, USER_NAME, USER_EMAIL, ROLE_IDS,
- USER_MANAGER, GROUP_MANAGER, ROLE_MANAGER, IP_RANGE_MANAGER, SSL };
+ USER_MANAGER, GROUP_MANAGER, ROLE_MANAGER, IP_RANGE_MANAGER, SSL, LOGIN_URI };
/**
*
@@ -140,11 +148,9 @@
throw new ConfigurationException("The attribute [" + name + "] is not supported!");
}
- Identity identity = null;
-
- if (session != null) {
- identity = (Identity) session.getAttribute(Identity.class.getName());
- }
+ Identity identity = session != null ? (Identity) session.getAttribute(Identity.class
+ .getName()) : null;
+
User user = getUser(request, parameters, identity);
if (user != null) {
@@ -187,40 +193,31 @@
if (name.equals(USER_MANAGER) || name.equals(GROUP_MANAGER) || name.equals(ROLE_MANAGER)
|| name.equals(IP_RANGE_MANAGER)) {
value = getItemManager(request, name);
- }
-
- if (name.equals(SSL)) {
- ServiceSelector selector = null;
- AccessControllerResolver acResolver = null;
- AccessController accessController = null;
- try {
- selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
- + "Selector");
- acResolver
- = (AccessControllerResolver) selector.select(AccessControllerResolver.DEFAULT_RESOLVER);
-
- String url = ServletHelper.getWebappURI(request);
- accessController = acResolver.resolveAccessController(url);
- AccreditableManager accreditableManager = accessController.getAccreditableManager();
- PolicyManager policyManager = accessController.getPolicyManager();
-
- Policy policy = policyManager.getPolicy(accreditableManager, url);
- value = Boolean.toString(policy.isSSLProtected());
- }
- catch (Exception e) {
- throw new ConfigurationException("Resolving attribute [" + name + "] failed: ", e);
- }
- finally {
- if (selector != null) {
- if (acResolver != null) {
- if (accessController != null) {
- acResolver.release(accessController);
- }
- selector.release(acResolver);
+ } else if (name.equals(LOGIN_URI)) {
+ ValueExtractor extractor = new ValueExtractor() {
+ protected String extractValue(DefaultAccessController accessController,
+ Request request) {
+ return accessController.getAuthenticator().getLoginUri(request);
+ }
+ };
+ value = extractValue(request, extractor);
+ } else if (name.equals(SSL)) {
+ ValueExtractor extractor = new ValueExtractor() {
+ protected String extractValue(DefaultAccessController accessController,
+ Request request) {
+ String url = ServletHelper.getWebappURI(request);
+ AccreditableManager accreditableManager = accessController
+ .getAccreditableManager();
+ PolicyManager policyManager = accessController.getPolicyManager();
+ try {
+ Policy policy = policyManager.getPolicy(accreditableManager, url);
+ return Boolean.toString(policy.isSSLProtected());
+ } catch (Exception e) {
+ throw new RuntimeException(e);
}
- this.manager.release(selector);
}
- }
+ };
+ value = extractValue(request, extractor);
}
return value;
@@ -342,4 +339,44 @@
this.manager = _manager;
}
+ /**
+ * Class to obtain a property of the access controller without duplicating the lookup/release
+ * boilerplate code.
+ */
+ protected static abstract class ValueExtractor {
+ protected abstract String extractValue(DefaultAccessController accessController,
+ Request request);
+ }
+
+ protected String extractValue(Request request, ValueExtractor extractor)
+ throws ConfigurationException {
+ DefaultAccessController accessController = null;
+ ServiceSelector selector = null;
+ AccessControllerResolver resolver = null;
+
+ try {
+ selector = (ServiceSelector) this.manager.lookup(AccessControllerResolver.ROLE
+ + "Selector");
+ resolver = (AccessControllerResolver) selector
+ .select(AccessControllerResolver.DEFAULT_RESOLVER);
+
+ String url = ServletHelper.getWebappURI(request);
+ accessController = (DefaultAccessController) resolver.resolveAccessController(url);
+
+ return extractor.extractValue(accessController, request);
+
+ } catch (Exception e) {
+ throw new ConfigurationException("Could not determine login URI: ", e);
+ } finally {
+ if (selector != null) {
+ if (resolver != null) {
+ if (accessController != null) {
+ resolver.release(accessController);
+ }
+ selector.release(resolver);
+ }
+ this.manager.release(selector);
+ }
+ }
+ }
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/file/FileUserTest.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/file/FileUserTest.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/file/FileUserTest.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/file/FileUserTest.java Wed Nov 19 17:10:15 2008
@@ -225,7 +225,7 @@
FileUserManager _manager = getUserManager();
assertNotNull(_manager);
- User lenya = _manager.getUser("lenya");
+ FileUser lenya = (FileUser) _manager.getUser("lenya");
assertNotNull(lenya);
assertTrue(lenya.authenticate("levi"));
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/impl/UserManagerTest.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/impl/UserManagerTest.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/impl/UserManagerTest.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/ac/java/test/org/apache/lenya/ac/impl/UserManagerTest.java Wed Nov 19 17:10:15 2008
@@ -74,7 +74,7 @@
FileRole adminRole = new FileRole(getAccreditableManager().getRoleManager(), getLogger(),
adminRoleId);
- User user = new FileUser(getAccreditableManager().getUserManager(), getLogger(), userName,
+ FileUser user = new FileUser(getAccreditableManager().getUserManager(), getLogger(), userName,
"Alice in Wonderland", "alice@test.com", "secret");
editorRole.save();
Modified: lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AbstractChangePassword.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AbstractChangePassword.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AbstractChangePassword.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AbstractChangePassword.java Wed Nov 19 17:10:15 2008
@@ -17,7 +17,7 @@
*/
package org.apache.lenya.cms.ac.usecases;
-import org.apache.lenya.ac.User;
+import org.apache.lenya.ac.ManagedUser;
/**
@@ -28,7 +28,7 @@
protected static final String NEW_PASSWORD = "newPassword";
protected static final String CONFIRM_PASSWORD = "confirmPassword";
- protected abstract User getUser();
+ protected abstract ManagedUser getUser();
/**
* @see org.apache.lenya.cms.usecase.AbstractUsecase#doCheckExecutionConditions()
Modified: lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddUser.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddUser.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddUser.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/AddUser.java Wed Nov 19 17:10:15 2008
@@ -20,6 +20,7 @@
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.lenya.ac.AccessControlException;
import org.apache.lenya.ac.ItemUtil;
+import org.apache.lenya.ac.ManagedUser;
import org.apache.lenya.ac.User;
import org.apache.lenya.ac.UserManager;
import org.apache.lenya.ac.file.FileUser;
@@ -108,7 +109,7 @@
String email = getParameterAsString(UserProfile.EMAIL);
String className = getParameterAsString(CLASS_NAME);
- User user;
+ ManagedUser user;
if (className.equals(LDAPUser.class.getName())) {
String ldapId = getParameterAsString(LDAP_ID);
user = new LDAPUser(userManager, getLogger(), userId, email, ldapId, getLogger());
Modified: lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePassword.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePassword.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePassword.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePassword.java Wed Nov 19 17:10:15 2008
@@ -17,7 +17,7 @@
*/
package org.apache.lenya.cms.ac.usecases;
-import org.apache.lenya.ac.User;
+import org.apache.lenya.ac.ManagedUser;
/**
* Usecase to change a user's password. The old password is checked.
@@ -29,7 +29,7 @@
/**
* @return Always returns the currently logged in user.
*/
- protected User getUser() {
+ protected ManagedUser getUser() {
String id = getSession().getIdentity().getUserReference().getId();
return getUserManager().getUser(id);
}
@@ -47,7 +47,7 @@
*/
private void checkOldPassword() {
String oldPassword = getParameterAsString(OLD_PASSWORD);
- boolean authenticated = getUser().authenticate(oldPassword);
+ boolean authenticated = ((ManagedUser) getUser()).authenticate(oldPassword);
if (!authenticated) {
addErrorMessage("The old password is not correct.");
}
Modified: lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePasswordAdmin.java
URL: http://svn.apache.org/viewvc/lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePasswordAdmin.java?rev=719147&r1=719146&r2=719147&view=diff
==============================================================================
--- lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePasswordAdmin.java (original)
+++ lenya/sandbox/access_control_redesign/src/modules-core/administration/java/src/org/apache/lenya/cms/ac/usecases/ChangePasswordAdmin.java Wed Nov 19 17:10:15 2008
@@ -17,16 +17,16 @@
*/
package org.apache.lenya.cms.ac.usecases;
-import org.apache.lenya.ac.User;
+import org.apache.lenya.ac.ManagedUser;
/**
* Usecase to change a user's password.
*/
public class ChangePasswordAdmin extends AbstractChangePassword {
- private User user;
+ private ManagedUser user;
- protected User getUser() {
+ protected ManagedUser getUser() {
if (this.user == null) {
String userId = getParameterAsString(UserProfile.USER_ID);
this.user = getUserManager().getUser(userId);
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@lenya.apache.org
For additional commands, e-mail: commits-help@lenya.apache.org