taylor 01/07/02 00:40:52
Modified: src/java/org/apache/jetspeed/services JetspeedSecurity.java
Profiler.java
src/java/org/apache/jetspeed/services/profiler
JetspeedProfilerService.java ProfilerService.java
src/java/org/apache/jetspeed/services/resources
JetspeedResources.java
src/java/org/apache/jetspeed/services/security
JetspeedDBSecurityService.java
JetspeedSecurityService.java
Log:
- implemented method JetspeedSecurity.removeUser
- implemented method Profiler.removeUserProfile
- modified Profiler.createUserProfile to accept User object instead of userName
string
Revision Changes Path
1.4 +13 -1
jakarta-jetspeed/src/java/org/apache/jetspeed/services/JetspeedSecurity.java
Index: JetspeedSecurity.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/JetspeedSecurity.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- JetspeedSecurity.java 2001/06/28 08:51:55 1.3
+++ JetspeedSecurity.java 2001/07/02 07:40:42 1.4
@@ -71,7 +71,7 @@
*
* @see org.apache.jetspeed.services.security.JetspeedSecurityService
* @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a>
- * @version $Id: JetspeedSecurity.java,v 1.3 2001/06/28 08:51:55 taylor Exp $
+ * @version $Id: JetspeedSecurity.java,v 1.4 2001/07/02 07:40:42 taylor Exp $
*/
abstract public class JetspeedSecurity extends TurbineSecurity
@@ -109,9 +109,21 @@
return ((JetspeedSecurityService)getService()).checkPermission(user, action,
portlet);
}
+ /**
+ * @see JetspeedSecurityService#addUser
+ */
public static void addUser( User user, String password, RunData data )
throws Exception
{
((JetspeedSecurityService)getService()).addUser(user, password, data);
+ }
+
+ /**
+ * @see JetspeedSecurityService#removeUser
+ */
+ public static void removeUser( User user, RunData data )
+ throws Exception
+ {
+ ((JetspeedSecurityService)getService()).removeUser(user, data);
}
}
1.7 +15 -5
jakarta-jetspeed/src/java/org/apache/jetspeed/services/Profiler.java
Index: Profiler.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/Profiler.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- Profiler.java 2001/06/09 15:37:31 1.6
+++ Profiler.java 2001/07/02 07:40:43 1.7
@@ -60,6 +60,7 @@
import org.apache.turbine.services.TurbineServices;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.DynamicURI;
+import org.apache.turbine.om.security.User;
import org.apache.jetspeed.capability.CapabilityMap;
import org.apache.jetspeed.util.MimeType;
import java.io.IOException;
@@ -71,7 +72,7 @@
* @see org.apache.jetspeed.services.profiler.Profiler
* @see org.apache.jetspeed.services.profiler.ProfilerService
* @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a>
- * @version $Id: Profiler.java,v 1.6 2001/06/09 15:37:31 raphael Exp $
+ * @version $Id: Profiler.java,v 1.7 2001/07/02 07:40:43 taylor Exp $
*/
public class Profiler
{
@@ -134,19 +135,28 @@
/**
* @see ProfilerService#createUserProfile
*/
- public static Profile createUserProfile(RunData rundata, String userName)
+ public static Profile createUserProfile(RunData rundata, User user)
throws IOException, ProfileException
{
- return getService().createUserProfile( rundata, userName );
+ return getService().createUserProfile( rundata, user );
}
/**
* @see ProfilerService#createUserProfile
*/
- public static Profile createUserProfile(RunData rundata, String userName,
MimeType mt)
+ public static Profile createUserProfile(RunData rundata, User user, MimeType mt)
throws IOException, ProfileException
{
- return getService().createUserProfile( rundata, userName, mt );
+ return getService().createUserProfile( rundata, user, mt );
+ }
+
+ /**
+ * @see ProfilerService#removeUserProfile
+ */
+ public static void removeUserProfile(RunData rundata, User user)
+ throws IOException, ProfileException
+ {
+ getService().removeUserProfile( rundata, user );
}
/**
1.8 +81 -50
jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/JetspeedProfilerService.java
Index: JetspeedProfilerService.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/JetspeedProfilerService.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- JetspeedProfilerService.java 2001/06/19 15:20:31 1.7
+++ JetspeedProfilerService.java 2001/07/02 07:40:45 1.8
@@ -66,6 +66,7 @@
import org.apache.jetspeed.om.newregistry.RegistryException;
import org.apache.jetspeed.om.newregistry.MediaTypeEntry;
import org.apache.jetspeed.util.FileCopy;
+import org.apache.jetspeed.util.DirectoryUtils;
//turbine stuff
import org.apache.turbine.util.Log;
@@ -110,7 +111,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Santiago Gala</a>
- * @version $Id: JetspeedProfilerService.java,v 1.7 2001/06/19 15:20:31 taylor Exp $
+ * @version $Id: JetspeedProfilerService.java,v 1.8 2001/07/02 07:40:45 taylor Exp $
*/
public class JetspeedProfilerService extends TurbineBaseService
@@ -352,71 +353,85 @@
return profile;
}
- public Profile createUserProfile(RunData rundata, String userName)
+ public Profile createUserProfile(RunData rundata, User user)
throws IOException, ProfileException
{
- return createUserProfile(rundata, userName, null);
+ return createUserProfile(rundata, user, null);
}
/**
* create a user profile and its resources (psml) for a new user
*
* @param rundata the rundata object for the current request
- * @param userName the new user to create
+ * @param newUser the new user to create
* @throws IOException when the filecopy fails
* @return a new Profile object
*/
- public Profile createUserProfile(RunData rundata, String userName, MimeType
mimeType)
+ public Profile createUserProfile(RunData rundata, User newUser, MimeType
mimeType)
throws IOException, ProfileException
{
- CapabilityMap cm;
- if (null == mimeType)
- cm = CapabilityMapFactory.getCapabilityMap( rundata );
- else
- cm = CapabilityMapFactory.getCapabilityMap(mimeType.toString());
-
- // FIXME: this needs to be handled better for users/groups/roles
- rundata.getParameters().add(TEMP_USER, userName);
- //Profile profile = getResourceURL(rundata, cm, false);
- // get the media type from the capability map or rundata
- String mediaType = getMediaType(rundata, cm);
+ User currentUser = rundata.getUser();
BaseProfile profile = new BaseProfile();
- // get the target profile
- String path = getPath(rundata, mediaType, profile);
- String resource = getResource(rundata, profile);
- String finalPath = root + path + resource;
- String realPath = TurbineServlet.getRealPath(finalPath);
- File file = new File(realPath);
- if (!file.exists())
+
+ try
{
- // copy from first psml resource found in fallback path
- Profile sourceProfile = getResourceURL(rundata, cm, true);
- String sourceURL = sourceProfile.getURL();
- String sourceReal = null;
- try
- {
- sourceReal = new URL(sourceURL).getFile();
- }
- catch (MalformedURLException e)
+ rundata.setUser(newUser);
+
+ CapabilityMap cm;
+ if (null == mimeType)
+ cm = CapabilityMapFactory.getCapabilityMap( rundata );
+ else
+ cm = CapabilityMapFactory.getCapabilityMap(mimeType.toString());
+
+ // FIXME: this needs to be handled better for users/groups/roles
+ // rundata.getParameters().add(TEMP_USER, userName);
+
+ String mediaType = getMediaType(rundata, cm);
+
+ // get the target profile
+ String path = getPath(rundata, mediaType, profile);
+ String resource = getResource(rundata, profile);
+ String finalPath = root + path + resource;
+ String realPath = TurbineServlet.getRealPath(finalPath);
+ File file = new File(realPath);
+ if (!file.exists())
{
- if (sourceURL.startsWith("file:"))
- sourceReal = sourceURL.substring(5);
- else
- sourceReal = sourceURL;
+ // copy from first psml resource found in fallback path
+ Profile sourceProfile = getResourceURL(rundata, cm, true);
+ String sourceURL = sourceProfile.getURL();
+ String sourceReal = null;
+ try
+ {
+ sourceReal = new URL(sourceURL).getFile();
+ }
+ catch (MalformedURLException e)
+ {
+ if (sourceURL.startsWith("file:"))
+ sourceReal = sourceURL.substring(5);
+ else
+ sourceReal = sourceURL;
+ }
+
+ // make the directories and then copy it
+ String parent = file.getParent();
+ File filePath = new File(parent);
+ filePath.mkdirs();
+ FileCopy.copy( sourceReal, realPath );
}
-
- // make the directories and then copy it
- String parent = file.getParent();
- File filePath = new File(parent);
- filePath.mkdirs();
- FileCopy.copy( sourceReal, realPath );
- }
- URL url = TurbineServlet.getResource( finalPath );
- if (url != null)
- profile.setURL(url.toString());
- else
- profile.setURL(finalPath);
- this.setSessionProfile(rundata, profile);
+ URL url = TurbineServlet.getResource( finalPath );
+ if (url != null)
+ profile.setURL(url.toString());
+ else
+ profile.setURL(finalPath);
+ this.setSessionProfile(rundata, profile);
+ }
+ catch (Exception e)
+ {
+ }
+ finally
+ {
+ rundata.setUser(currentUser);
+ }
return profile;
}
@@ -627,7 +642,6 @@
// search for language specific resources at each level
if (useLanguage && rundata != null) {
//String language = rundata.getRequest().getHeader("Accept-Language");
- //System.out.println("**** Language = " + language );
Locale locale = (Locale)rundata.getUser().getTemp("locale");
if (locale == null)
{
@@ -1164,4 +1178,21 @@
return (new File(templateKey).exists());
}
+ /**
+ * Removes a user profile and all of its resources (psml) for a given user.
+ *
+ * @param rundata the rundata object for the current request
+ * @param user the new user to create
+ */
+ public void removeUserProfile(RunData rundata, User user)
+ throws IOException, ProfileException
+ {
+ StringBuffer path = new StringBuffer(root);
+ path.append(PATH_USER);
+ path.append(user.getUserName());
+
+ String finalPath = path.toString();
+ String realPath = TurbineServlet.getRealPath(finalPath);
+ DirectoryUtils.rmdir(realPath);
+ }
}
1.6 +16 -5
jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/ProfilerService.java
Index: ProfilerService.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler/ProfilerService.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ProfilerService.java 2001/06/09 15:37:33 1.5
+++ ProfilerService.java 2001/07/02 07:40:46 1.6
@@ -57,6 +57,7 @@
import org.apache.jetspeed.om.profile.*;
import org.apache.jetspeed.services.Profiler;
import org.apache.jetspeed.capability.CapabilityMap;
+import org.apache.turbine.om.security.User;
import org.apache.turbine.services.Service;
import org.apache.turbine.util.RunData;
import org.apache.turbine.util.DynamicURI;
@@ -68,7 +69,7 @@
*
* @see org.apache.jetspeed.om.profile.Profile
* @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a>
- * @version $Id: ProfilerService.java,v 1.5 2001/06/09 15:37:33 raphael Exp $
+ * @version $Id: ProfilerService.java,v 1.6 2001/07/02 07:40:46 taylor Exp $
*/
public interface ProfilerService extends Service
@@ -127,10 +128,10 @@
* create a user profile and its resources (psml) for a new user
*
* @param rundata the rundata object for the current request
- * @param userName the new user to create
+ * @param user the new user to create
* @return a new Profile object
*/
- public Profile createUserProfile(RunData rundata, String userName)
+ public Profile createUserProfile(RunData rundata, User user)
throws IOException, ProfileException;
/**
@@ -138,10 +139,20 @@
* for a specific mimetype
*
* @param rundata the rundata object for the current request
- * @param userName the new user to create
+ * @param user the new user to create
+ * @param mt the specific mimeType to create a profile for
* @return a new Profile object
*/
- public Profile createUserProfile(RunData rundata, String userName, MimeType mt)
+ public Profile createUserProfile(RunData rundata, User user, MimeType mt)
+ throws IOException, ProfileException;
+
+ /**
+ * Removes a user profile and all of its resources (psml) for a given user.
+ *
+ * @param rundata the rundata object for the current request
+ * @param user the new user to be removed
+ */
+ public void removeUserProfile(RunData rundata, User user)
throws IOException, ProfileException;
/**
1.7 +8 -1
jakarta-jetspeed/src/java/org/apache/jetspeed/services/resources/JetspeedResources.java
Index: JetspeedResources.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/resources/JetspeedResources.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- JetspeedResources.java 2001/05/27 15:34:37 1.6
+++ JetspeedResources.java 2001/07/02 07:40:48 1.7
@@ -64,7 +64,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Kevin A. Burton</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Rapha�l Luta</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Tom Adams</a>
- * @version $Id: JetspeedResources.java,v 1.6 2001/05/27 15:34:37 raphael Exp $
+ * @version $Id: JetspeedResources.java,v 1.7 2001/07/02 07:40:48 taylor Exp $
*/
public class JetspeedResources extends TurbineResources {
@@ -137,5 +137,12 @@
// this is the value that is stored in the database for confirmed users
public static final String CONFIRM_VALUE = "CONFIRMED";
+
+ // parameter names for the Jetspeed path framework elements
+ public static final String PATH_PORTLET_KEY = "portlet";
+ public static final String PATH_ACTION_KEY = "action";
+ public static final String PATH_SCREEN_KEY = "screen";
+ public static final String PATH_TEMPLATE_KEY = "template";
+ public static final String PATH_PANEL_KEY = "select-panel";
}
1.5 +30 -2
jakarta-jetspeed/src/java/org/apache/jetspeed/services/security/JetspeedDBSecurityService.java
Index: JetspeedDBSecurityService.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/security/JetspeedDBSecurityService.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- JetspeedDBSecurityService.java 2001/06/28 08:52:01 1.4
+++ JetspeedDBSecurityService.java 2001/07/02 07:40:50 1.5
@@ -75,7 +75,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Santiago Gala</a>
- * @version $Id: JetspeedDBSecurityService.java,v 1.4 2001/06/28 08:52:01 taylor
Exp $
+ * @version $Id: JetspeedDBSecurityService.java,v 1.5 2001/07/02 07:40:50 taylor
Exp $
*/
@@ -161,6 +161,17 @@
return true;
}
+ /**
+ * Adds a user to the backend database.
+ * Adds the default user role for this user.
+ * Creates a default user profile in the PSML directory.
+ *
+ * @param user The Turbine User object to be added to the database.
+ * @param password The user's password.
+ * @param rundata The request rundata.
+ * @exception Can throw database exceptions or profiler exceptions
+ *
+ */
public void addUser( User user, String password, RunData data )
throws Exception
{
@@ -169,7 +180,24 @@
grant(user, getGroup(JETSPEED_GROUP), getRole(JETSPEED_ROLE_USER));
user.setHasLoggedIn(new Boolean (true));
- Profiler.createUserProfile(data, user.getUserName());
+
+ Profiler.createUserProfile(data, user);
+ }
+
+ /**
+ * Removes user from the backend database.
+ * Removes the user's profile in the PSML directory.
+ *
+ * @param user The Turbine User object to be added to the database.
+ * @param rundata The request rundata.
+ * @exception Can throw database exceptions or profiler exceptions
+ *
+ */
+ public void removeUser( User user, RunData data )
+ throws Exception
+ {
+ removeUser(user);
+ Profiler.removeUserProfile(data, user);
}
}
1.3 +4 -1
jakarta-jetspeed/src/java/org/apache/jetspeed/services/security/JetspeedSecurityService.java
Index: JetspeedSecurityService.java
===================================================================
RCS file:
/home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/services/security/JetspeedSecurityService.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- JetspeedSecurityService.java 2001/06/28 08:52:05 1.2
+++ JetspeedSecurityService.java 2001/07/02 07:40:50 1.3
@@ -71,7 +71,7 @@
* for controlling access to portal resources (portlets, panes).
*
* @author <a href="mailto:[EMAIL PROTECTED]">David Sean Taylor</a>
- * @version $Id: JetspeedSecurityService.java,v 1.2 2001/06/28 08:52:05 taylor Exp $
+ * @version $Id: JetspeedSecurityService.java,v 1.3 2001/07/02 07:40:50 taylor Exp $
*/
@@ -80,4 +80,7 @@
public void addUser( User user, String password, RunData data )
throws Exception;
+ public void removeUser( User user, RunData data )
+ throws Exception;
+
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]