You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jetspeed-dev@portals.apache.org by ta...@apache.org on 2002/02/10 09:00:12 UTC

cvs commit: jakarta-jetspeed/src/java/org/apache/jetspeed/services/profiler JetspeedProfilerService.java

taylor      02/02/10 00:00:12

  Modified:    src/java/org/apache/jetspeed/modules/actions
                        JetspeedSessionValidator.java
               src/java/org/apache/jetspeed/services/profiler
                        JetspeedProfilerService.java
  Log:
  - removed extra getProfile from JetspeedSessionValidator
  - added role-based fallback to profiler
  
  Revision  Changes    Path
  1.13      +1 -12     jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JetspeedSessionValidator.java
  
  Index: JetspeedSessionValidator.java
  ===================================================================
  RCS file: /home/cvs/jakarta-jetspeed/src/java/org/apache/jetspeed/modules/actions/JetspeedSessionValidator.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- JetspeedSessionValidator.java	9 Jan 2002 12:14:20 -0000	1.12
  +++ JetspeedSessionValidator.java	10 Feb 2002 08:00:11 -0000	1.13
  @@ -82,7 +82,7 @@
   @author <a href="mailto:ingo@raleigh.ibm.com">Ingo Schuster</a>
   @author <a href="mailto:raphael@apache.org">Rapha�l Luta</a>
   @author <a href="mailto:sgala@apache.org">Santiago Gala</a>
  -@version $Id: JetspeedSessionValidator.java,v 1.12 2002/01/09 12:14:20 kimptoc Exp $
  +@version $Id: JetspeedSessionValidator.java,v 1.13 2002/02/10 08:00:11 taylor Exp $
   */
   public class JetspeedSessionValidator extends TemplateSessionValidator
   {
  @@ -165,17 +165,6 @@
               jdata.setPortlet(paramPortlet);
           }
           
  -        // get the profile and store it in the RunData
  -        Profile newProfile = Profiler.getProfile(jdata);
  -        Profile currentProfile = jdata.getProfile();
  -        
  -        if ((currentProfile == null)
  -         || (!currentProfile.equals(newProfile)))
  -        {
  -            // the profile changed due to the request parameters,
  -            // change it in the RunData
  -            jdata.setProfile(newProfile);
  -        }
       }
   
       /**
  
  
  
  1.21      +60 -3     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.20
  retrieving revision 1.21
  diff -u -r1.20 -r1.21
  --- JetspeedProfilerService.java	3 Jan 2002 19:00:46 -0000	1.20
  +++ JetspeedProfilerService.java	10 Feb 2002 08:00:12 -0000	1.21
  @@ -84,11 +84,14 @@
   import org.apache.turbine.services.template.TurbineTemplate;
   import org.apache.turbine.services.resources.ResourceService;
   import org.apache.turbine.util.security.DataBackendException;
  +import org.apache.turbine.util.security.AccessControlList;
   
   // turbine.om
   import org.apache.turbine.om.security.User;
   import org.apache.turbine.om.security.Role;
   import org.apache.turbine.om.security.Group;
  +import org.apache.turbine.util.security.RoleSet;
  +
   // jetspeed.om
   import org.apache.jetspeed.om.profile.*;
   import org.apache.jetspeed.om.registry.RegistryException;
  @@ -131,7 +134,7 @@
    *
    * @author <a href="mailto:david@bluesunrise.com">David Sean Taylor</a>
    * @author <a href="mailto:sgala@hisitech.com">Santiago Gala</a>
  - * @version $Id: JetspeedProfilerService.java,v 1.20 2002/01/03 19:00:46 sgala Exp $
  + * @version $Id: JetspeedProfilerService.java,v 1.21 2002/02/10 08:00:12 taylor Exp $
    */
   
   public class JetspeedProfilerService  extends TurbineBaseService
  @@ -143,12 +146,14 @@
       private final static String CONFIG_RESOURCE_EXT     = ".resource.ext";
       private final static String CONFIG_SECURITY         = ".security";
       private final static String CONFIG_LANGUAGE         = ".language";
  -
  +    private final static String CONFIG_ROLE_FALLBACK    = ".rolefallback";
  +                                          
       // default configuration values
       private final static String DEFAULT_CONFIG_RESOURCE_DEFAULT = "default";
       private final static String DEFAULT_CONFIG_RESOURCE_EXT = ".psml";
       private final static boolean DEFAULT_CONFIG_SECURITY = false;
       private final static boolean DEFAULT_CONFIG_LANGUAGE = true;
  +    private final static boolean DEFAULT_CONFIG_ROLE_FALLBACK = true;
   
       private final static String PATH_EXTENSION_DELIMITER = ".";
       // messages
  @@ -164,8 +169,9 @@
       // MODIFIED: A. Kempf
       String parentAccount = null;   // the parent account which is used to create profiles
   
  -    boolean useSecurity = false;   // use security features
  +    boolean useSecurity = true;   // use security features
       boolean useLanguage = true;    // use extended language mapping features
  +    boolean useRoleFallback = true;
   
       // lookup a media type based on mime-type
       private Map mediaMap = null;
  @@ -254,6 +260,50 @@
       public Profile getProfile(RunData rundata, CapabilityMap cm)
           throws ProfileException
       {
  +        Profile profile = fallbackProfile(rundata, cm);
  +        if (null == profile && useRoleFallback) 
  +        {
  +            User user = rundata.getUser();
  +            if (user != null)
  +            {
  +                try
  +                {
  +                    AccessControlList acl = rundata.getACL();
  +                    RoleSet roles = acl.getRoles(JetspeedSecurity.getGroup(JetspeedSecurity.JETSPEED_GROUP)); 
  +                    if (roles != null)
  +                    {
  +                        Iterator it = roles.elements();
  +                        while (it.hasNext())
  +                        {
  +                            // note: this is an unordered list. will need to change db schema to order it
  +                            Role role = (Role)it.next();
  +                            rundata.getParameters().setString( Profiler.PARAM_ROLE, role.getName() );
  +                            profile = fallbackProfile(rundata, cm);
  +                            if (profile != null)
  +                                break;
  +                        }
  +                    }
  +                }
  +                catch (Exception e)
  +                {
  +                    throw new ProfileException(e.toString());
  +                }
  +            }
  +        }
  +        return profile;
  +    }
  +
  +    /**
  +     *  get the Profile object using the Rundata state and capability map
  +     *  this is the mapping functionality of the profiler
  +     *
  +     * @param rundata the rundata object for the current request
  +     * @param cm the <code>CapabilityMap</code> of the current requesting device
  +     * @return a new Profile object
  +     */
  +    private Profile fallbackProfile(RunData rundata, CapabilityMap cm)
  +        throws ProfileException
  +    {
           try
           {
               Profile profile = new BaseProfile();
  @@ -621,7 +671,11 @@
           ResourceService serviceConf = ((TurbineServices)TurbineServices.getInstance())
                                                        .getResources(ProfilerService.SERVICE_NAME);
   
  +
  +        resourceDefault = serviceConf.getString( CONFIG_RESOURCE_DEFAULT );
  +        resourceDefault = serviceConf.getString( "services.Profiler.resource.default" );
           resourceDefault = serviceConf.getString( CONFIG_RESOURCE_DEFAULT, DEFAULT_CONFIG_RESOURCE_DEFAULT );
  +        
   
           resourceExt = serviceConf.getString( CONFIG_RESOURCE_EXT, DEFAULT_CONFIG_RESOURCE_EXT );
           if (-1 == resourceExt.indexOf(PATH_EXTENSION_DELIMITER))
  @@ -629,6 +683,9 @@
   
           useSecurity = serviceConf.getBoolean( CONFIG_SECURITY, DEFAULT_CONFIG_SECURITY );
           useLanguage = serviceConf.getBoolean( CONFIG_LANGUAGE, DEFAULT_CONFIG_LANGUAGE );
  +
  +        useRoleFallback = serviceConf.getBoolean( CONFIG_ROLE_FALLBACK, DEFAULT_CONFIG_ROLE_FALLBACK );
  +
       }
   
      /**
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>