I found a couple places where the default actions and the UserFactory
explicitly referred to TurbineUser. Here is a patch that removes those
dependancies from everywhere but the admin screens.
Index: java/org/apache/turbine/util/User.java
===================================================================
RCS file:
/products/cvs/turbine/turbine/src/java/org/apache/turbine/util/User.java,v
retrieving revision 1.3
diff -u -r1.3 User.java
--- java/org/apache/turbine/util/User.java 1999/11/21 21:50:16
1.3
+++ java/org/apache/turbine/util/User.java 2000/01/14 19:22:09
@@ -160,8 +160,16 @@
/**
* Remove an object from temporary storage and return the object
*/
- public Object removeTemp ( String name );
+ public Object removeTemp ( String name );
+ /**
+ * Retrieve a user from persistent storage using username as the
key
+ */
public User retrieveFromStorage( String username ) throws
Exception;
+ /**
+ * Retrieve a user from persistent storage using visitorid as the
key
+ */
+ public User retrieveFromStorage( Integer visitorid ) throws
Exception;
+ public User retrieveFromStorage( int visitorid ) throws Exception;
public void saveToStorage() throws Exception;
/**
* Sets the access counter for a user...saved in perm storage.
Index: java/org/apache/turbine/util/access/UserFactory.java
===================================================================
RCS file:
/products/cvs/turbine/turbine/src/java/org/apache/turbine/util/access/UserFactory.java,v
retrieving revision 1.2
diff -u -r1.2 UserFactory.java
--- java/org/apache/turbine/util/access/UserFactory.java
2000/01/10 22:19:28 1.2
+++ java/org/apache/turbine/util/access/UserFactory.java
2000/01/14 19:22:09
@@ -110,6 +110,30 @@
}
/**
+ * Get a user from Turbine. This user is anonymous
+ *
+ * @return User Returns an anonymous Turbine user... not
authenticated!
+ * @throws LogonFailedException Thrown if anything goes wrong
+ * @author <A HREF="mailto:[EMAIL PROTECTED]">Kimbro
Staken</A>
+ * @version $Revision:$
+ */
+ public static User getUser()
+ throws LogonFailedException
+ {
+ String userClassName = TurbineResources.getInstance()
+ .getString("user.class",
"org.apache.turbine.util.TurbineUser");
+
+ User user = null;
+ try {
+ user = (User)Class.forName(userClassName).newInstance();
+ user.setUserName("");
+ return user;
+ } catch (Exception e) {
+ throw new LogonFailedException( e.getMessage() );
+ }
+ }
+
+ /**
* Get a user from Turbine by name.
*
* @return User Returns an Turbine user... not authenticated!
@@ -125,7 +149,8 @@
User user = null;
try {
- return user = new TurbineUser().retrieveFromStorage( id );
+ return user =
((User)Class.forName(userClassName).newInstance())
+ .retrieveFromStorage( id );
} catch (Exception e) {
throw new LogonFailedException( e.getMessage() );
}
Index: LoginUser.java
===================================================================
RCS file:
/products/cvs/turbine/turbine/src/java/org/apache/turbine/actions/LoginUser.java,v
retrieving revision 1.8
diff -u -r1.8 LoginUser.java
--- LoginUser.java 2000/01/10 22:18:29 1.8
+++ LoginUser.java 2000/01/14 19:27:21
@@ -123,8 +123,8 @@
{
data.setMessage(TurbineResources
.getInstance().getString("login.error"));
- data.user = new TurbineUser();
- data.user.setUserName("");
+ // Retrieve an anonymous user
+ data.user = UserFactory.getUser();
data.setScreen(TurbineResources
.getInstance().getString("screen.login"));
}
Index: LogoutUser.java
===================================================================
RCS file:
/products/cvs/turbine/turbine/src/java/org/apache/turbine/actions/LogoutUser.java,v
retrieving revision 1.6
diff -u -r1.6 LogoutUser.java
--- LogoutUser.java 1999/12/11 22:13:53 1.6
+++ LogoutUser.java 2000/01/14 19:27:21
@@ -71,6 +71,7 @@
// Turbine Utility Classes
import org.apache.turbine.util.*;
import org.apache.turbine.util.db.*;
+import org.apache.turbine.util.access.*;
// Village Database Classes
import com.workingdogs.village.*;
@@ -96,8 +97,8 @@
// in the Turbine servlet code.
data.acl = null;
- data.user = new TurbineUser();
- data.user.setUserName("");
+ // Retrieve an anonymous user
+ data.user = UserFactory.getUser();
data.setScreen(TurbineResources
.getInstance().getString("screen.homepage"));
}
--
Kimbro Staken
Chief Technology Officer
Infostreet Inc.
------------------------------------------------------------
To subscribe: [EMAIL PROTECTED]
To unsubscribe: [EMAIL PROTECTED]
Problems?: [EMAIL PROTECTED]