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]