stephan     2002/10/30 09:01:29

  Modified:    src/scratchpad/src/org/apache/cocoon/acting
                        SourceMultiAction.java
               src/scratchpad/src/org/apache/cocoon/components/repository/impl
                        SlidePrincipalProvider.java
               src/scratchpad/src/org/apache/cocoon/generation
                        PrincipalListGenerator.java
               src/scratchpad/webapp/samples/slide login-failed.html
                        login.html principal2auth.xsl
                        principal2html4users.xsl sitemap.xmap
  Log:
  Corrected some errors in the Slide example caused by renaming of the
  request parmeter input module.
  Also modified the behavoir of upload action, if no filename is specified.
  And fixed some NPEs of the PrincipalListGenerator.
  
  Revision  Changes    Path
  1.13      +36 -33    
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/acting/SourceMultiAction.java
  
  Index: SourceMultiAction.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/acting/SourceMultiAction.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- SourceMultiAction.java    28 Oct 2002 14:50:19 -0000      1.12
  +++ SourceMultiAction.java    30 Oct 2002 17:01:29 -0000      1.13
  @@ -61,7 +61,7 @@
   import org.apache.cocoon.Constants;
   import org.apache.cocoon.ProcessingException;
   import org.apache.cocoon.acting.AbstractAction;
  -import org.apache.cocoon.components.request.multipart.FilePartFile;
  +import org.apache.cocoon.components.request.multipart.FilePart;
   import org.apache.cocoon.components.source.InspectableSource;
   import org.apache.cocoon.components.source.ModifiableTraversableSource;
   import org.apache.cocoon.components.source.RestrictableSource;
  @@ -92,7 +92,7 @@
    * @author <a href="mailto:stephan@;apache.org">Stephan Michels</a>
    * @version CVS $Id$
    */ 
  -public class SourceMultiAction extends AbstractMultiAction implements 
Contextualizable, ThreadSafe {
  +public class SourceMultiAction extends AbstractMultiAction implements ThreadSafe {
   
       public final static String SOURCE_URI = "cocoon-source-uri";
       public final static String SOURCE_PROPERTY_NAMESPACE = 
"cocoon-source-property-namespace";
  @@ -108,21 +108,12 @@
       public final static String UPLOAD_FILE = "cocoon-upload-file";
       public final static String SOURCE_NAME = "cocoon-source-name";
   
  -    File uploadDir = null;
  -
  -    /** Contextualize this class */
  -    public void contextualize(Context context) throws ContextException {
  -        uploadDir = (File) context.get(Constants.CONTEXT_UPLOAD_DIR);
  -    }
  -
       public Map doUploadSource(Redirector redirector,
                      SourceResolver resolver,
                      Map objectModel,
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("upload source called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -134,13 +125,22 @@
           String password = parameters.getParameter(PASSWORD,
                                 request.getParameter(PASSWORD));
   
  +        getLogger().info("upload source called by '"+principal+"' for '"+uri+"'");
  +
           if ((request.get(UPLOAD_FILE)!=null) && 
  -            (request.get(UPLOAD_FILE) instanceof FilePartFile)) {
  -            File uploadFile = ((FilePartFile)request.get(UPLOAD_FILE)).getFile();
  +            (request.get(UPLOAD_FILE) instanceof FilePart)) {
  +            FilePart filepart = (FilePart)request.get(UPLOAD_FILE);
   
               try {
  -                if ((filename==null) || (filename.length()==0))
  -                    filename = 
((FilePartFile)request.get(UPLOAD_FILE)).getFilePath();
  +                if ((filename==null) || (filename.length()==0)) {
  +                    filename = filepart.getFilePath();
  +                    int index = filename.lastIndexOf("/");
  +                    if (index>=0)
  +                        filename = filename.substring(index+1);
  +                    index = filename.lastIndexOf("\\");
  +                    if (index>=0)
  +                        filename = filename.substring(index+1); 
  +                }
   
                   if ((uri==null) || (uri.length()==0))
                       uri = filename;
  @@ -162,9 +162,10 @@
                       byte[] buffer = new byte[8192];
                       int length = -1;
   
  -                    InputStream in = new FileInputStream(uploadFile);
  +                    InputStream in = filepart.getInputStream();
                       while ((length = in.read(buffer)) > -1) {
                           out.write(buffer, 0, length);
  +                        getLogger().debug("="+length);
                       }
                       in.close();
                       out.flush();
  @@ -181,6 +182,8 @@
                       getLogger().debug("Exception occurs while storing the content", 
ioe);
                   throw new ProcessingException("Exception occurs while storing the 
content", ioe);
               }
  +        } else {
  +            getLogger().debug("Couldn't get upload file");
           }
   
           return EMPTY_MAP;
  @@ -192,8 +195,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("create collection called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -203,6 +204,8 @@
           String password = parameters.getParameter(PASSWORD,
                                 request.getParameter(PASSWORD));
   
  +        getLogger().info("create collection called by '"+principal+"' for 
'"+uri+"'");
  +
           try {
               Source source = resolver.resolveURI(uri);
   
  @@ -232,8 +235,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("delete source called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -242,6 +243,8 @@
           String password = parameters.getParameter(PASSWORD,
                                 request.getParameter(PASSWORD));
   
  +        getLogger().info("delete source called by '"+principal+"' for '"+uri+"'");
  +
           try {
               Source source = resolver.resolveURI(uri);
   
  @@ -271,8 +274,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("add property called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
                   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -288,6 +289,8 @@
           String password = parameters.getParameter(PASSWORD,
               request.getParameter(PASSWORD));
   
  +        getLogger().info("add property called by '"+principal+"' for '"+uri+"'");
  +
           try {
   
               Source source = resolver.resolveURI(uri);
  @@ -318,8 +321,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("delete property called");
  -    
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -333,6 +334,8 @@
           String password = parameters.getParameter(PASSWORD,
               request.getParameter(PASSWORD));
   
  +        getLogger().info("delete property called by '"+principal+"' for '"+uri+"'");
  +
           try {
   
               Source source = resolver.resolveURI(uri);
  @@ -362,8 +365,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("add principal permission called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -381,6 +382,8 @@
           String password = parameters.getParameter(PASSWORD,
               request.getParameter(PASSWORD));
   
  +        getLogger().info("add principal permission called by '"+principal+"' for 
'"+uri+"'");
  +
           try {
   
               Source source = resolver.resolveURI(uri);
  @@ -411,8 +414,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("remove principal permission called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -430,6 +431,8 @@
           String password = parameters.getParameter(PASSWORD,
               request.getParameter(PASSWORD));
   
  +        getLogger().info("remove principal permission called by '"+principal+"' for 
'"+uri+"'");
  +
           try {
   
               Source source = resolver.resolveURI(uri);
  @@ -460,8 +463,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("add principal group permission called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -479,6 +480,8 @@
           String password = parameters.getParameter(PASSWORD,
               request.getParameter(PASSWORD));
   
  +        getLogger().info("add principal group permission called by '"+principal+"' 
for '"+uri+"'");
  +
           try {
   
               Source source = resolver.resolveURI(uri);
  @@ -509,8 +512,6 @@
                      String src,
                      Parameters parameters) throws Exception {
   
  -        getLogger().debug("remove principal group permission called");
  -
           Request request = ObjectModelHelper.getRequest(objectModel);
   
           String uri = parameters.getParameter(SOURCE_URI, 
request.getParameter(SOURCE_URI));
  @@ -527,6 +528,8 @@
               request.getParameter(PRINCIPAL));
           String password = parameters.getParameter(PASSWORD,
               request.getParameter(PASSWORD));
  +
  +        getLogger().info("remove principal group permission called by 
'"+principal+"' for '"+uri+"'");
   
           try {
   
  
  
  
  1.6       +3 -3      
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/SlidePrincipalProvider.java
  
  Index: SlidePrincipalProvider.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/SlidePrincipalProvider.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- SlidePrincipalProvider.java       22 Jul 2002 21:26:50 -0000      1.5
  +++ SlidePrincipalProvider.java       30 Oct 2002 17:01:29 -0000      1.6
  @@ -643,10 +643,10 @@
                           String name = 
userobject.getUri().substring(userspath.length()+1);
   
                           // FIXME the CVS code from slide does only implement 
getRoles
  -                        /*Enumeration roles = this.security.getRoles(user);
  +                        Enumeration roles = this.security.getRoles(userobject);
                           String role = null;
                           if (roles.hasMoreElements())
  -                            role = (String)children.nextElement();*/
  +                            role = (String)roles.nextElement();
   
                           NodeRevisionDescriptors revisionDescriptors =
                               content.retrieve(slidetoken, userobject.getUri());
  
  
  
  1.3       +21 -21    
xml-cocoon2/src/scratchpad/src/org/apache/cocoon/generation/PrincipalListGenerator.java
  
  Index: PrincipalListGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/generation/PrincipalListGenerator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PrincipalListGenerator.java       8 Jul 2002 08:15:13 -0000       1.2
  +++ PrincipalListGenerator.java       30 Oct 2002 17:01:29 -0000      1.3
  @@ -97,7 +97,7 @@
         "http://xml.apache.org/cocoon/PrincipalListGenerator";;
   
       /** The namespace prefix of the resource description framework. */
  -    private static final String PL_PREFIX                   = "pl";
  +    //private static final String PL_PREFIX                   = "pl";
   
       private static final String LIST_ELEMENT_NAME           = "list";
       private static final String PRINCIPAL_ELEMENT_NAME      = "principal";
  @@ -138,54 +138,54 @@
               PrincipalGroup[] principalgroups = 
principalprovider.getPrincipalGroups(this.principalcaller);
   
               this.contentHandler.startDocument();
  -            this.contentHandler.startPrefixMapping(PL_PREFIX,PL_NS);
  +            this.contentHandler.startPrefixMapping("",PL_NS);
   
               this.contentHandler.startElement(PL_NS, LIST_ELEMENT_NAME,
  -                                             PL_PREFIX+':'+LIST_ELEMENT_NAME, new 
AttributesImpl());
  +                                                    LIST_ELEMENT_NAME, new 
AttributesImpl());
   
               AttributesImpl attributes;
               for(int i=0; i<principals.length; i++) {
                   attributes = new AttributesImpl();
  -                attributes.addAttribute(PL_NS, NAME_ATTR_NAME, NAME_ATTR_NAME, 
"CDATA", principals[i].getName());
  +                attributes.addAttribute("", NAME_ATTR_NAME, NAME_ATTR_NAME, 
"CDATA", principals[i].getName());
                   if (principals[i].getRole()!=null)
  -                    attributes.addAttribute(PL_NS, ROLE_ATTR_NAME, ROLE_ATTR_NAME, 
"CDATA", principals[i].getRole());
  +                    attributes.addAttribute("", ROLE_ATTR_NAME, ROLE_ATTR_NAME, 
"CDATA", principals[i].getRole());
                   if (principals[i].getPassword()!=null)
  -                    attributes.addAttribute(PL_NS, PASSWORD_ATTR_NAME, 
PASSWORD_ATTR_NAME, "CDATA", principals[i].getPassword());
  +                    attributes.addAttribute("", PASSWORD_ATTR_NAME, 
PASSWORD_ATTR_NAME, "CDATA", principals[i].getPassword());
   
                   this.contentHandler.startElement(PL_NS, PRINCIPAL_ELEMENT_NAME,
  -                                                 
PL_PREFIX+':'+PRINCIPAL_ELEMENT_NAME, attributes);
  -                this.contentHandler.endElement(PL_NS, PRINCIPAL_ELEMENT_NAME, 
PL_PREFIX+':'+PRINCIPAL_ELEMENT_NAME);
  +                                                        PRINCIPAL_ELEMENT_NAME, 
attributes);
  +                this.contentHandler.endElement(PL_NS, PRINCIPAL_ELEMENT_NAME, 
PRINCIPAL_ELEMENT_NAME);
               }
   
               for(int i=0; i<principalgroups.length; i++) {
                   attributes = new AttributesImpl();
  -                attributes.addAttribute(PL_NS, NAME_ATTR_NAME, NAME_ATTR_NAME, 
"CDATA", principalgroups[i].getName());
  +                attributes.addAttribute("", NAME_ATTR_NAME, NAME_ATTR_NAME, 
"CDATA", principalgroups[i].getName());
   
                   this.contentHandler.startElement(PL_NS, PRINCIPALGROUP_ELEMENT_NAME,
  -                                                 
PL_PREFIX+':'+PRINCIPALGROUP_ELEMENT_NAME, attributes);
  +                                                        
PRINCIPALGROUP_ELEMENT_NAME, attributes);
   
                   Principal[] members = 
principalprovider.members(this.principalcaller, principalgroups[i]);
                   for(int j=0; j<members.length; j++) {
                       attributes = new AttributesImpl();
  -                    attributes.addAttribute(PL_NS, NAME_ATTR_NAME, NAME_ATTR_NAME, 
"CDATA", members[j].getName());
  -                    if (principals[i].getRole()!=null) 
  -                        attributes.addAttribute(PL_NS, ROLE_ATTR_NAME, 
ROLE_ATTR_NAME, "CDATA", members[j].getRole());
  -                    if (principals[i].getPassword()!=null)
  -                        attributes.addAttribute(PL_NS, PASSWORD_ATTR_NAME, 
PASSWORD_ATTR_NAME, "CDATA",
  +                    attributes.addAttribute("", NAME_ATTR_NAME, NAME_ATTR_NAME, 
"CDATA", members[j].getName());
  +                    if (members[j].getRole()!=null) 
  +                        attributes.addAttribute("", ROLE_ATTR_NAME, ROLE_ATTR_NAME, 
"CDATA", members[j].getRole());
  +                    if (members[j].getPassword()!=null)
  +                        attributes.addAttribute("", PASSWORD_ATTR_NAME, 
PASSWORD_ATTR_NAME, "CDATA",
                                                   members[j].getPassword());
   
                       this.contentHandler.startElement(PL_NS, PRINCIPAL_ELEMENT_NAME,
  -                                                     
PL_PREFIX+':'+PRINCIPAL_ELEMENT_NAME, attributes);
  -                    this.contentHandler.endElement(PL_NS, PRINCIPAL_ELEMENT_NAME, 
PL_PREFIX+':'+PRINCIPAL_ELEMENT_NAME);
  +                                                            PRINCIPAL_ELEMENT_NAME, 
attributes);
  +                    this.contentHandler.endElement(PL_NS, PRINCIPAL_ELEMENT_NAME, 
PRINCIPAL_ELEMENT_NAME);
                   }
   
  -                this.contentHandler.endElement(PL_NS, PRINCIPALGROUP_ELEMENT_NAME, 
PL_PREFIX+':'+PRINCIPALGROUP_ELEMENT_NAME);
  +                this.contentHandler.endElement(PL_NS, PRINCIPALGROUP_ELEMENT_NAME, 
PRINCIPALGROUP_ELEMENT_NAME);
               }
                   
   
  -            this.contentHandler.endElement(PL_NS, LIST_ELEMENT_NAME, 
PL_PREFIX+':'+LIST_ELEMENT_NAME);
  +            this.contentHandler.endElement(PL_NS, LIST_ELEMENT_NAME, 
LIST_ELEMENT_NAME);
   
  -            this.contentHandler.endPrefixMapping(PL_PREFIX);
  +            this.contentHandler.endPrefixMapping("");
               this.contentHandler.endDocument();
   
           } catch (ComponentException ce) {
  
  
  
  1.6       +5 -5      
xml-cocoon2/src/scratchpad/webapp/samples/slide/login-failed.html
  
  Index: login-failed.html
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/login-failed.html,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- login-failed.html 25 Sep 2002 09:02:51 -0000      1.5
  +++ login-failed.html 30 Oct 2002 17:01:29 -0000      1.6
  @@ -1,7 +1,7 @@
   <?xml version="1.0"?>
     <html>
      <head>
  -    <title>Apache Cocoon @version@</title>
  +    <title>Apache Cocoon 2.1-dev</title>
       <link rel="SHORTCUT ICON" href="favicon.ico"/>
      </head>
      <body bgcolor="#ffffff" link="#0086b2" vlink="#00698c" alink="#743e75">
  @@ -9,7 +9,7 @@
        <tr>
         <td width="*"><font face="arial,helvetica,sanserif" color="#000000">The 
Apache Software Foundation is proud to present...</font></td>
         <td width="40%" align="center"><img border="0" 
src="/cocoon/samples/images/cocoon.gif"/></td>
  -      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version @version@</b></font></td>
  +      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version 2.1-dev</b></font></td>
        </tr>
        <tr>
          <table bgcolor="#000000" border="0" cellspacing="2" cellpadding="2" 
align="center" width="100%">
  @@ -47,12 +47,12 @@
   
                 <tr>
                  <td>Username</td>
  -               <td><input name="name" type="text" size="15" maxlength="40"/></td>
  +               <td><input name="userid" type="text" size="15" maxlength="40"/></td>
                 </tr>
   
                 <tr>
                  <td>Password</td>
  -               <td><input name="pw" type="password" size="15" maxlength="40"/></td>
  +               <td><input name="password" type="password" size="15" 
maxlength="40"/></td>
                 </tr>
   
                 <tr>
  @@ -88,7 +88,7 @@
   
       <p align="center">
        <font size="-1">
  -      Copyright &#169; @year@ <a href="http://www.apache.org/";>The Apache Software 
Foundation</a>.<br/>
  +      Copyright &#169; 1999-2002 <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.<br/>
         All rights reserved.
        </font>
       </p>
  
  
  
  1.7       +5 -5      xml-cocoon2/src/scratchpad/webapp/samples/slide/login.html
  
  Index: login.html
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/login.html,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- login.html        25 Sep 2002 09:02:51 -0000      1.6
  +++ login.html        30 Oct 2002 17:01:29 -0000      1.7
  @@ -1,7 +1,7 @@
   <?xml version="1.0"?>
     <html>
      <head>
  -    <title>Apache Cocoon @version@</title>
  +    <title>Apache Cocoon 2.1-dev</title>
       <link rel="SHORTCUT ICON" href="favicon.ico"/>
      </head>
      <body bgcolor="#ffffff" link="#0086b2" vlink="#00698c" alink="#743e75">
  @@ -9,7 +9,7 @@
        <tr>
         <td width="*"><font face="arial,helvetica,sanserif" color="#000000">The 
Apache Software Foundation is proud to present...</font></td>
         <td width="40%" align="center"><img border="0" 
src="/cocoon/samples/images/cocoon.gif"/></td>
  -      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version @version@</b></font></td>
  +      <td width="30%" align="center"><font face="arial,helvetica,sanserif" 
color="#000000"><b>version 2.1-dev</b></font></td>
        </tr>
        <tr>
          <table bgcolor="#000000" border="0" cellspacing="2" cellpadding="2" 
align="center" width="100%">
  @@ -47,12 +47,12 @@
   
                 <tr>
                  <td>Username</td>
  -               <td><input name="name" type="text" size="15" maxlength="40"/></td>
  +               <td><input name="userid" type="text" size="15" maxlength="40"/></td>
                 </tr>
   
                 <tr>
                  <td>Password</td>
  -               <td><input name="pw" type="password" size="15" maxlength="40"/></td>
  +               <td><input name="password" type="password" size="15" 
maxlength="40"/></td>
                 </tr>
   
                 <tr>
  @@ -84,7 +84,7 @@
   
       <p align="center">
        <font size="-1">
  -      Copyright &#169; @year@ <a href="http://www.apache.org/";>The Apache Software 
Foundation</a>.<br/>
  +      Copyright &#169; 1999-2002 <a href="http://www.apache.org/";>The Apache 
Software Foundation</a>.<br/>
         All rights reserved.
        </font>
       </p>
  
  
  
  1.3       +4 -5      
xml-cocoon2/src/scratchpad/webapp/samples/slide/principal2auth.xsl
  
  Index: principal2auth.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/principal2auth.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- principal2auth.xsl        25 Sep 2002 09:02:51 -0000      1.2
  +++ principal2auth.xsl        30 Oct 2002 17:01:29 -0000      1.3
  @@ -3,20 +3,19 @@
                   xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
                   xmlns:pl="http://xml.apache.org/cocoon/PrincipalListGenerator";>
   
  - <xsl:param name="pw"/>
    <xsl:param name="name"/>
  + <xsl:param name="password"/>
   
    <xsl:template match="pl:list">
     <authentication>
  -    <xsl:value-of select="$name"/>;<xsl:value-of select="$pw"/>;
         <xsl:apply-templates select="pl:principal"/>
     </authentication>
    </xsl:template>
   
    <xsl:template match="pl:principal">
  -  <xsl:if test="normalize-space(@pl:name) = $name and normalize-space(@pl:password) 
= $pw">
  -      <ID><xsl:value-of select="@pl:name"/></ID>
  -      <role><xsl:value-of select="@pl:role"/></role>
  +  <xsl:if test="normalize-space(@name) = $name and normalize-space(@password) = 
$password">
  +      <ID><xsl:value-of select="@name"/></ID>
  +      <role><xsl:value-of select="@role"/></role>
     </xsl:if>
    </xsl:template>
   
  
  
  
  1.5       +13 -13    
xml-cocoon2/src/scratchpad/webapp/samples/slide/principal2html4users.xsl
  
  Index: principal2html4users.xsl
  ===================================================================
  RCS file: 
/home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/principal2html4users.xsl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- principal2html4users.xsl  21 Jul 2002 22:50:55 -0000      1.4
  +++ principal2html4users.xsl  30 Oct 2002 17:01:29 -0000      1.5
  @@ -93,11 +93,11 @@
                  <tr>
     
                   <form action="" method="post">
  -                <input type="hidden" name="cocoon-principal-name" 
value="{@pl:name}"/>
  +                <input type="hidden" name="cocoon-principal-name" value="{@name}"/>
                   <input type="hidden" name="method" value="doRemovePrincipal"/>
    
                    <td align="left">
  -                  <xsl:value-of select="@pl:name"/>
  +                  <xsl:value-of select="@name"/>
                    </td>
    
                    <td align="left">
  @@ -106,18 +106,18 @@
    
                   </form>
    
  -                <td align="left"><xsl:value-of select="@pl:role"/></td>
  +                <td align="left"><xsl:value-of select="@role"/></td>
    
                   <form action="" method="post">
  -                <input type="hidden" name="cocoon-principal-name" 
value="{@pl:name}"/>
  +                <input type="hidden" name="cocoon-principal-name" value="{@name}"/>
                   <input type="hidden" name="method" 
value="doRemovePrincipalGroupMember"/>
    
                    <td align="left">
  -                  <xsl:variable name="name" select="@pl:name"/>
  +                  <xsl:variable name="name" select="@name"/>
                     <select name="cocoon-principal-group-name" 
  -                          size="{count(../pl:group/pl:principal[@pl:name=$name])}">
  -                   <xsl:for-each select="../pl:group/pl:principal[@pl:name=$name]">
  -                    <option><xsl:value-of select="../@pl:name"/></option>
  +                          size="{count(../pl:group/pl:principal[@name=$name])}">
  +                   <xsl:for-each select="../pl:group/pl:principal[@name=$name]">
  +                    <option><xsl:value-of select="../@name"/></option>
                      </xsl:for-each>
                     </select>
                    </td>
  @@ -135,14 +135,14 @@
                   <td align="left"></td>
    
                   <form action="" method="post">
  -                <input type="hidden" name="cocoon-principal-name" 
value="{@pl:name}"/>
  +                <input type="hidden" name="cocoon-principal-name" value="{@name}"/>
                   <input type="hidden" name="method" 
value="doAddPrincipalGroupMember"/>
    
                    <td align="left">
  -                  <xsl:variable name="name" select="@pl:name"/>
  +                  <xsl:variable name="name" select="@name"/>
                     <select name="cocoon-principal-group-name" size="1">
                      <xsl:for-each select="../pl:group">
  -                    <option><xsl:value-of select="@pl:name"/></option>
  +                    <option><xsl:value-of select="@name"/></option>
                      </xsl:for-each>
                     </select>
                    </td>
  @@ -216,11 +216,11 @@
                  <tr>
   
                   <form action="" method="post">
  -                 <input type="hidden" name="cocoon-principal-group-name" 
value="{@pl:name}"/>
  +                 <input type="hidden" name="cocoon-principal-group-name" 
value="{@name}"/>
                    <input type="hidden" name="method" value="doRemovePrincipalGroup"/>
    
                    <td align="left">
  -                  <xsl:value-of select="@pl:name"/>
  +                  <xsl:value-of select="@name"/>
                    </td>
   
                    <td align="right">
  
  
  
  1.17      +52 -46    xml-cocoon2/src/scratchpad/webapp/samples/slide/sitemap.xmap
  
  Index: sitemap.xmap
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/sitemap.xmap,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- sitemap.xmap      20 Oct 2002 12:25:45 -0000      1.16
  +++ sitemap.xmap      30 Oct 2002 17:01:29 -0000      1.17
  @@ -1,5 +1,8 @@
   <?xml version="1.0"?>
   <map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
  +
  +<!-- =========================== Components =================================== -->
  +
    <map:components>
     <map:generators default="file">
      <map:generator name="sourcedescription" 
  @@ -44,8 +47,6 @@
      <map:action logger="sitemap.action.slide" name="principal-actions"
                  src="org.apache.cocoon.acting.PrincipalMultiAction"/>
   
  -   <map:action name="portal-auth" 
src="org.apache.cocoon.webapps.portal.acting.AuthAction"/>
  -
      <map:action name="auth-protect" logger="sitemap.action.auth-protect" 
                  src="org.apache.cocoon.webapps.authentication.acting.AuthAction"/>
   
  @@ -59,6 +60,8 @@
   
    </map:components>
   
  +<!-- =========================== Views =================================== -->
  +
    <map:views>
     <map:view name="content" from-label="content">
      <map:transform 
src="context://samples/common/style/xsl/html/simple-xml2html.xsl"/>
  @@ -74,19 +77,36 @@
     </map:view>
    </map:views>
   
  +<!-- =========================== Resources =================================== -->
  +
  + <map:resources>
  +  <map:resource name="description">
  +   <map:generate type="sourcedescription" 
src="slide://{1}?cocoon-source-principal={../../ID}">
  +    <map:parameter name="repository" value="slide"/>
  +    <map:parameter name="namespace" value="myrepository"/>
  +    <map:parameter name="properties" value="true"/>
  +       <map:parameter name="permissions" value="true"/>
  +       <map:parameter name="locks" value="true"/>
  +       <map:parameter name="depth" value="1"/>
  +      </map:generate>
  +  </map:resource>
  + </map:resources>
  +
  +<!-- =========================== Pipelines ================================= -->
  +
    <map:pipelines>
     <map:component-configurations>
      <authentication-manager>
       <handlers>
        <handler name="slidehandler" xmlns:map="http://apache.org/cocoon/sitemap/1.0";>
         <redirect-to    uri="cocoon://samples/slide/login.html"/>
  -      <authentication uri="cocoon://samples/slide/repository-authuser"/>
  +      <authentication uri="cocoon:raw:/authenticate"/>
        </handler>
       </handlers>
      </authentication-manager>
     </map:component-configurations>
   
  -  <map:pipeline><!-- internal-only="true">-->
  +  <map:pipeline internal-only="true">
   
      <map:match pattern="principallist">
       <map:generate type="principallist">
  @@ -96,33 +116,34 @@
       <map:serialize type="xml"/>
      </map:match>
   
  -   <map:match pattern="repository-authuser">
  +   <map:match pattern="authenticate">
       <map:generate src="cocoon:/principallist"/>
   
  -    <map:transform src="principal2auth.xsl">
  +    <map:transform type="xslt" src="principal2auth.xsl"> <!-- stylesheets seems to 
have a problem with XSLTC -->
        <map:parameter name="use-request-parameters" value="true"/>
       </map:transform>
   
  -    <map:transform type="log">
  -     <map:parameter name="logfile" value="slide.log"/>
  -     <map:parameter name="append" value="no"/>
  -    </map:transform>
  -
       <map:serialize type="xml"/>
      </map:match>
   
  -   <map:match pattern="repository-authlist">
  -    <map:generate src="cocoon:/principallist"/>
  -
  -    <map:transform 
src="context://samples/common/style/xsl/html/simple-xml2html.xsl"/>
  +   <!-- =============  Source description ============= -->
  +   <map:match pattern="description/*/**">
  +    <map:generate type="sourcedescription" 
src="slide://{2}?cocoon-source-principal={1}">
  +     <map:parameter name="repository" value="slide"/>
  +     <map:parameter name="namespace" value="myrepository"/>
  +     <map:parameter name="properties" value="true"/>
  +     <map:parameter name="permissions" value="true"/>
  +     <map:parameter name="locks" value="true"/>
  +     <map:parameter name="depth" value="1"/>
  +    </map:generate>
   
  -    <map:serialize type="html"/>
  +    <map:serialize type="xml"/>
      </map:match>
   
  -   <map:handle-errors>
  +<!--   <map:handle-errors>
       <map:transform src="context://samples/common/style/xsl/html/error2html.xsl"/>
       <map:serialize status-code="500"/>
  -   </map:handle-errors>
  +   </map:handle-errors>-->
   
     </map:pipeline>
   
  @@ -143,14 +164,14 @@
      <map:match pattern="login">
       <map:act type="auth-login">
        <map:parameter name="handler" value="slidehandler"/>
  -     <map:parameter name="parameter_userid" value="{request:name}"/>
  -     <map:parameter name="parameter_password" value="{request:password}"/>
  -     <map:redirect-to uri="{request:resource}"/>
  +     <map:parameter name="parameter_name" value="{request-param:userid}"/>
  +     <map:parameter name="parameter_password" value="{request-param:password}"/>
  +     <map:redirect-to uri="{request-param:resource}"/>
       </map:act>
   
       <map:generate src="login-failed.html"/>
       <map:transform src="redirect4login.xsl">
  -     <map:parameter name="destination" value="{request:resource}"/>
  +     <map:parameter name="destination" value="{request-param:resource}"/>
       </map:transform>
       <map:serialize/>
      </map:match>
  @@ -169,29 +190,14 @@
       <map:act type="auth-protect">
        <map:parameter name="handler" value="slidehandler"/>
   
  -              <!-- =============  Source description ============= -->
  -     <map:match pattern="description/**">
  -      <map:generate type="sourcedescription" 
src="slide://{1}?cocoon-source-principal={../ID}">
  -       <map:parameter name="repository" value="slide"/>
  -       <map:parameter name="namespace" value="myrepository"/>
  -<!--       <map:parameter name="principal" value="{../ID}"/>-->
  -       <map:parameter name="properties" value="true"/>
  -       <map:parameter name="permissions" value="true"/>
  -       <map:parameter name="locks" value="true"/>
  -       <map:parameter name="depth" value="1"/>
  -      </map:generate>
  -
  -      <map:serialize type="xml"/>
  -     </map:match>
  -
        <!-- ============= Source content ================== -->
        <map:match pattern="content/**">
         <map:act type="source-actions">
  -       <map:parameter name="method" value="{request:method}"/>
  +       <map:parameter name="method" value="{request-param:method}"/>
          <map:parameter name="cocoon-principal" value="{../ID}"/>
         </map:act>
   
  -      <map:generate src="cocoon:/description/{1}"/>
  +      <map:generate src="cocoon:/description/{../ID}/{1}"/>
         <map:transform src="description2html4content.xsl"/>
         <map:transform type="xinclude"/>
         <map:serialize type="html"/>
  @@ -200,11 +206,11 @@
        <!-- ============= Source properties =============== -->
        <map:match pattern="properties/**">
         <map:act type="source-actions">
  -       <map:parameter name="method" value="{request:method}"/>
  +       <map:parameter name="method" value="{request-param:method}"/>
          <map:parameter name="cocoon-principal" value="{../ID}"/>
         </map:act>
   
  -      <map:generate src="cocoon:/description/{1}"/>
  +      <map:generate src="cocoon:/description/{../ID}/{1}"/>
         <map:transform src="description2html4properties.xsl"/>
         <map:serialize type="html"/>
        </map:match>
  @@ -212,12 +218,12 @@
        <!-- ============= Source permissions ============== -->
        <map:match pattern="permissions/**">
         <map:act type="source-actions">
  -       <map:parameter name="method" value="{request:method}"/>
  +       <map:parameter name="method" value="{request-param:method}"/>
          <map:parameter name="cocoon-principal" value="{../ID}"/>
         </map:act>
   
         <map:aggregate element="document">
  -       <map:part src="cocoon:/description/{1}"/>
  +       <map:part src="cocoon:/description/{../ID}/{1}"/>
          <map:part src="cocoon:/principallist"/>
         </map:aggregate>
   
  @@ -228,11 +234,11 @@
        <!-- ============= Source locks ==================== -->
        <map:match pattern="locks/**">
         <map:act type="source-actions">
  -       <map:parameter name="method" value="{request:method}"/>
  +       <map:parameter name="method" value="{request-param:method}"/>
          <map:parameter name="cocoon-principal" value="{../ID}"/>
         </map:act>
   
  -      <map:generate src="cocoon:/description/{1}"/>
  +      <map:generate src="cocoon:/description/{../ID}/{1}"/>
         <map:transform src="description2html4locks.xsl"/>
         <map:serialize type="html"/>
        </map:match>
  @@ -246,7 +252,7 @@
        <!-- ============= Repository users =============== -->
        <map:match pattern="users/**">
         <map:act type="principal-actions">
  -       <map:parameter name="method" value="{request:method}"/>
  +       <map:parameter name="method" value="{request-param:method}"/>
          <map:parameter name="cocoon-caller-principal-name" value="{../ID}"/>
         </map:act>
   
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     [EMAIL PROTECTED]
To unsubscribe, e-mail:          [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to