You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@cocoon.apache.org by st...@apache.org on 2002/07/22 00:50:55 UTC

cvs commit: xml-cocoon2/src/scratchpad/webapp/samples/slide principal2html4users.xsl rdf2html4content.xsl rdf2html4locks.xsl rdf2html4permissions.xsl rdf2html4properties.xsl sitemap.xmap slide.xconf rdf2html.xsl

stephan     2002/07/21 15:50:55

  Modified:    src/scratchpad/src/org/apache/cocoon/acting
                        PrincipalMultiAction.java SourceMultiAction.java
               src/scratchpad/src/org/apache/cocoon/components/repository/impl
                        SlidePrincipalProvider.java slidepp.xconf
               src/scratchpad/src/org/apache/cocoon/components/source/impl
                        SlideSource.java
               src/scratchpad/webapp/samples/slide principal2html4users.xsl
                        rdf2html4content.xsl rdf2html4locks.xsl
                        rdf2html4permissions.xsl rdf2html4properties.xsl
                        sitemap.xmap slide.xconf
  Removed:     src/scratchpad/webapp/samples/slide rdf2html.xsl
  Log:
  Create code to add principals to the slide repository.
  The forms are now using the PrincipalMultiAction and SourceMultiAction.
  
  Revision  Changes    Path
  1.2       +2 -2      xml-cocoon2/src/scratchpad/src/org/apache/cocoon/acting/PrincipalMultiAction.java
  
  Index: PrincipalMultiAction.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/acting/PrincipalMultiAction.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- PrincipalMultiAction.java	8 Jul 2002 08:15:12 -0000	1.1
  +++ PrincipalMultiAction.java	21 Jul 2002 22:50:54 -0000	1.2
  @@ -131,7 +131,7 @@
               Principal principal = new Principal(principal_name, principal_role, principal_password);
   
               principalprovider.addPrincipal(caller, principal);
  -
  + 
           } catch (ComponentException ce) {
               getLogger().error("Could not lookup for component.", ce);
               throw new ProcessingException("Could not lookup for component.", ce);
  
  
  
  1.3       +2 -2      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.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- SourceMultiAction.java	9 Jul 2002 21:41:34 -0000	1.2
  +++ SourceMultiAction.java	21 Jul 2002 22:50:54 -0000	1.3
  @@ -94,7 +94,7 @@
   public class SourceMultiAction extends AbstractMethodAction implements Contextualizable, ThreadSafe {
   
       public final static String SOURCE_URI = "cocoon-source-uri";
  -    public final static String SOURCE_PROPERTY_NAMESPACE = "cocooon-source-property-namespace";
  +    public final static String SOURCE_PROPERTY_NAMESPACE = "cocoon-source-property-namespace";
       public final static String SOURCE_PROPERTY_NAME = "cocoon-source-property-name";
       public final static String SOURCE_PROPERTY_VALUE = "cocoon-source-property-value";
       public final static String SOURCE_PERMISSION_PRINCIPAL = "cocoon-source-permission-principal";
  
  
  
  1.4       +125 -12   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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- SlidePrincipalProvider.java	8 Jul 2002 08:39:25 -0000	1.3
  +++ SlidePrincipalProvider.java	21 Jul 2002 22:50:55 -0000	1.4
  @@ -77,6 +77,7 @@
   import org.apache.slide.authenticate.SecurityToken;
   import org.apache.slide.common.NamespaceAccessToken;
   import org.apache.slide.common.NamespaceConfig;
  +import org.apache.slide.common.ServiceAccessException;
   import org.apache.slide.common.SlideException;
   import org.apache.slide.common.SlideToken;
   import org.apache.slide.common.SlideTokenImpl;
  @@ -85,13 +86,18 @@
   import org.apache.slide.content.NodeRevisionDescriptor;
   import org.apache.slide.content.NodeRevisionDescriptors;
   import org.apache.slide.content.RevisionDescriptorNotFoundException;
  +import org.apache.slide.macro.Macro;
  +import org.apache.slide.macro.MacroException;
  +import org.apache.slide.macro.MacroParameters;
   import org.apache.slide.security.Security;
   import org.apache.slide.structure.GroupNode;
  +import org.apache.slide.structure.ObjectAlreadyExistsException;
   import org.apache.slide.structure.ObjectNode;
   import org.apache.slide.structure.ObjectNotFoundException;
   import org.apache.slide.structure.Structure;
   import org.apache.slide.structure.SubjectNode;
   
  +import java.util.Date;
   import java.util.Enumeration;
   import java.util.Vector;
   
  @@ -126,7 +132,7 @@
       //private Lock lock;
   
       /** Macro helper. */
  -    //private Macro macro;
  +    private Macro macro;
   
       /** Slide token. */
       //private SlideToken slidetoken;
  @@ -183,7 +189,8 @@
                   this.namespace = sliderepository.getDomain().getDefaultNamespace();
   
               if (sliderepository.getDomain().getNamespaceToken(this.namespace)==null)
  -                throw new ProcessingException("Repository with the namespace '"+this.namespace+"' couldn't be found");
  +                throw new ProcessingException("Repository with the namespace '"+
  +                                              this.namespace+"' couldn't be found");
   
               this.nat = sliderepository.getDomain().getNamespaceToken(this.namespace);
               this.config = this.nat.getNamespaceConfig();
  @@ -191,7 +198,7 @@
               this.content = nat.getContentHelper();
               this.security = nat.getSecurityHelper();
               //this.lock = nat.getLockHelper();
  -           // this.macro = nat.getMacroHelper();
  +            this.macro = nat.getMacroHelper();
   
           } catch (ComponentException ce) {
               getLogger().error("Could not lookup for component.", ce);
  @@ -238,12 +245,20 @@
                       if (roles.hasMoreElements())
                           role = (String)children.nextElement();*/
   
  -                    NodeRevisionDescriptors revisionDescriptors = 
  -                        content.retrieve(slidetoken, user);
  +                    String password = null;
  +                    try {
  +                        NodeRevisionDescriptors revisionDescriptors = 
  +                            content.retrieve(slidetoken, user);
   
  -                    // Retrieve latest revision descriptor
  -                    NodeRevisionDescriptor revisionDescriptor = this.content.retrieve(slidetoken, revisionDescriptors);
  -                    String password = revisionDescriptor.getProperty("password").getValue().toString();
  +                        // Retrieve latest revision descriptor
  +                        NodeRevisionDescriptor revisionDescriptor = 
  +                            this.content.retrieve(slidetoken, revisionDescriptors);
  +
  +                        if (revisionDescriptor.getProperty("password")!=null) 
  +                            password = (String)revisionDescriptor.getProperty("password").getValue();
  +                    } catch (RevisionDescriptorNotFoundException rdnfe) {
  +                        // ignore
  +                    }
   
                       principals.add(new Principal(name, /*role,*/ password));
                   }
  @@ -262,11 +277,64 @@
   
       /**
        * Add or modify a given principal.
  +     * The implementation is similar to org.apache.slide.admin.users.AddUserAction.
        *
        * @param caller The principal, which should do the operation.
        * @param principal The Principal, which should be add/modified.
        */
       public void addPrincipal(Principal caller, Principal principal) throws ProcessingException {
  +        // do the actual transaction
  +        try {
  +            try {
  +                nat.begin();
  +
  +                SlideToken slidetoken = new SlideTokenImpl(new CredentialsToken(caller));
  +
  +                String strUri = config.getUsersPath() + "/" + principal.getName();
  +
  +                // create the node in the structure
  +                ObjectNode object;
  +                object = new slideroles.basic.UserRoleImpl();
  +                structure.create(slidetoken, object, strUri);
  +
  +                // create a revision with the appropriate properties set
  +                NodeRevisionDescriptor revision = 
  +                    new NodeRevisionDescriptor(0);
  +                revision.setProperty(
  +                    new NodeProperty("resourcetype", "<collection/>",
  +                                     true));
  +                revision.setCreationDate(new Date());
  +                revision.setLastModified(new Date());
  +                revision.setProperty(new NodeProperty("getcontentlength", "0", true));
  +                revision.setProperty(new NodeProperty("source", "", true));
  +                revision.setProperty(new NodeProperty("password", principal.getPassword(),
  +                                     NodeProperty.SLIDE_NAMESPACE));
  +                content.store(slidetoken, strUri, revision, null);
  +
  +                nat.commit();
  +
  +            } catch (ObjectAlreadyExistsException e) {
  +                // duplicate username
  +                getLogger().warn("Could not create user", e);
  +            } catch (ServiceAccessException e) {
  +                // low level service access failed
  +                getLogger().warn("Could not create user", e);
  +                throw new ProcessingException("Could not create user", e);
  +            } catch (Exception e) {
  +                // any other errors are unanticipated
  +                getLogger().warn("Could not create user", e);
  +                throw new ProcessingException("Could not create user", e);
  +            }
  +        } catch (Exception e) {
  +            // rollback the transaction
  +            getLogger().warn("Could not create user", e);
  +            try {
  +                nat.rollback();
  +            } catch (Exception e2) {
  +                // ignore
  +                getLogger().error("Could roll back the operation", e2);
  +            }
  +        }
       }
   
       /**
  @@ -277,6 +345,45 @@
        */
       public void removePrincipal(Principal caller, Principal principal)
           throws ProcessingException {
  +
  +        if (principal.getName().length() > 0) {
  +            // get the helpers
  +            Macro macro = nat.getMacroHelper();
  +
  +            SlideToken slidetoken = new SlideTokenImpl(new CredentialsToken(caller));
  +
  +            // get the path of the current authenticated user
  +            String selfUri = config.getUsersPath() + "/" + caller.getName();
  +
  +            String strUri = config.getUsersPath() + "/" + principal.getName();
  +
  +            // do the actual transaction
  +            try {
  +                try {
  +                    nat.begin();
  +
  +                    // the user may not delete herself
  +                    if (!selfUri.equals(strUri))
  +                        macro.delete(slidetoken, strUri, new MacroParameters(true, false));
  +
  +                    nat.commit();
  +
  +                } catch (MacroException e) {
  +                    // some aspect of the delete operation failed
  +                    getLogger().warn("Could not remove user", e);
  +                    throw new ProcessingException("Could not remove user", e);
  +                }
  +            } catch (Exception e) {
  +                // rollback the transaction
  +                try {
  +                    nat.rollback();
  +                } catch (Exception e2) {
  +                    // ignore
  +                    getLogger().error("Could roll back the operation", e2);
  +                }
  +            }
  +        }
  +
       }
   
       /**
  @@ -316,6 +423,7 @@
   
               return principalgroupArray;
           } catch (SlideException se) {
  +            getLogger().error("Could not retrieve principal groups", se);
               throw new ProcessingException(se);
           }
       }
  @@ -357,7 +465,8 @@
        * @param member The principal whose membership is to be checked.
        * @return True if the principal is a member of this group, false otherwise.
        */
  -    public boolean isMember(Principal caller, PrincipalGroup group, Principal member) throws ProcessingException {
  +    public boolean isMember(Principal caller, PrincipalGroup group, Principal member) 
  +          throws ProcessingException {
           Principal[] members = members(caller, group);
           for(int i=0; i<members.length; i++)
               if (members[i].equals(member))
  @@ -405,7 +514,10 @@
                           // Retrieve latest revision descriptor
                           NodeRevisionDescriptor revisionDescriptor = this.content.retrieve(slidetoken,
                                                                                             revisionDescriptors);
  -                        String password = revisionDescriptor.getProperty("password").getValue().toString();
  +                        String password = null;
  +                        if ((revisionDescriptor.getProperty("password")!=null) &&
  +                            (revisionDescriptor.getProperty("password").getValue()!=null))
  +                            password = revisionDescriptor.getProperty("password").getValue().toString();
   
                           principals.add(new Principal(name/*, role*/, password));
                       }
  @@ -432,7 +544,8 @@
        * @param group The given group.
        * @param principal The principal to remove from this group.
        */
  -    public void removeMember(Principal caller, PrincipalGroup group, Principal principal) throws ProcessingException {
  +    public void removeMember(Principal caller, PrincipalGroup group, Principal principal) 
  +        throws ProcessingException {
       }
   }
   
  
  
  
  1.3       +2 -2      xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/slidepp.xconf
  
  Index: slidepp.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/slidepp.xconf,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- slidepp.xconf	5 Jul 2002 13:37:36 -0000	1.2
  +++ slidepp.xconf	21 Jul 2002 22:50:55 -0000	1.3
  @@ -7,11 +7,11 @@
      -->
    <component role="org.apache.cocoon.components.repository.PrincipalProviderSelector" 
               class="org.apache.cocoon.components.ExtendedComponentSelector"
  -            logger="core.repositories" default="slide">
  +            logger="core.repositories.principalprovider" default="slide">
   
     <!-- Default implementation via Jakarta Slide -->
     <component-instance class="org.apache.cocoon.components.repository.impl.SlidePrincipalProvider" 
  -                      name="slide" logger="core.repositories.slide"
  +                      name="slide" logger="core.repositories.principalprovider.slide"
                         repository="slide" namespace="myrepository"/>
    </component>
   </xconf>
  
  
  
  1.12      +2 -2      xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/source/impl/SlideSource.java
  
  Index: SlideSource.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/source/impl/SlideSource.java,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- SlideSource.java	9 Jul 2002 21:41:34 -0000	1.11
  +++ SlideSource.java	21 Jul 2002 22:50:55 -0000	1.12
  @@ -1135,7 +1135,7 @@
       
       public void removeSourceProperty(String namespace, String name) throws SourceException {
           try {
  -            if (revisionDescriptor!=null) {
  +            if ((revisionDescriptor!=null) && (!namespace.equals("DAV:"))) {
                   revisionDescriptor.removeProperty(name,namespace);
                   content.store(slideToken, this.config.getFilesPath()+this.uri, revisionDescriptor, null);
               }
  
  
  
  1.4       +20 -15    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.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- principal2html4users.xsl	8 Jul 2002 21:20:30 -0000	1.3
  +++ principal2html4users.xsl	21 Jul 2002 22:50:55 -0000	1.4
  @@ -93,8 +93,8 @@
                  <tr>
     
                   <form action="" method="post">
  -                <input type="hidden" name="name" value="{@pl:name}"/>
  -                <input type="hidden" name="method" value="removePrincipal"/>
  +                <input type="hidden" name="cocoon-principal-name" value="{@pl:name}"/>
  +                <input type="hidden" name="method" value="doRemovePrincipal"/>
    
                    <td align="left">
                     <xsl:value-of select="@pl:name"/>
  @@ -109,12 +109,13 @@
                   <td align="left"><xsl:value-of select="@pl:role"/></td>
    
                   <form action="" method="post">
  -                <input type="hidden" name="principal" value="{@pl:name}"/>
  -                <input type="hidden" name="method" value="removePrincipalGroupMember"/>
  +                <input type="hidden" name="cocoon-principal-name" value="{@pl:name}"/>
  +                <input type="hidden" name="method" value="doRemovePrincipalGroupMember"/>
    
                    <td align="left">
                     <xsl:variable name="name" select="@pl:name"/>
  -                  <select name="group" size="{count(../pl:group/pl:principal[@pl:name=$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>
                      </xsl:for-each>
  @@ -134,12 +135,12 @@
                   <td align="left"></td>
    
                   <form action="" method="post">
  -                <input type="hidden" name="principal" value="{@pl:name}"/>
  -                <input type="hidden" name="method" value="addPrincipalGroupMember"/>
  +                <input type="hidden" name="cocoon-principal-name" value="{@pl:name}"/>
  +                <input type="hidden" name="method" value="doAddPrincipalGroupMember"/>
    
                    <td align="left">
                     <xsl:variable name="name" select="@pl:name"/>
  -                  <select name="group" size="1">
  +                  <select name="cocoon-principal-group-name" size="1">
                      <xsl:for-each select="../pl:group">
                       <option><xsl:value-of select="@pl:name"/></option>
                      </xsl:for-each>
  @@ -156,16 +157,18 @@
    
                 <tr>
                  <form action="" method="post">
  -                <input type="hidden" name="method" value="addPrincipal"/>
  +                <input type="hidden" name="method" value="doAddPrincipal"/>
                   <td align="left">
  -                 <input name="principal" type="text" size="10" maxlength="40"/>
  +                 <input name="cocoon-principal-name" type="text" size="10" maxlength="40"/>
                   </td>
                   <td align="left"></td>
                   <td align="left">
  -                 <input name="role" type="text" size="10" maxlength="40"/>
  +                 <input name="cocoon-principal-role" type="text" size="10" maxlength="40"/>
  +                </td>
  +                <td align="left">Password:</td>
  +                <td align="left">
  +                 <input name="cocoon-principal-password" type="text" size="10" maxlength="40"/>
                   </td>
  -                <td align="left"></td>
  -                <td align="left"></td>
                   <td align="right">
                    <input type="submit" name="cocoon-action-addprincipal" value="Add user"/>
                   </td>
  @@ -213,7 +216,8 @@
                  <tr>
   
                   <form action="" method="post">
  -                <input type="hidden" name="name" value="{@pl:name}"/>
  +                 <input type="hidden" name="cocoon-principal-group-name" value="{@pl:name}"/>
  +                 <input type="hidden" name="method" value="doRemovePrincipalGroup"/>
    
                    <td align="left">
                     <xsl:value-of select="@pl:name"/>
  @@ -229,8 +233,9 @@
   
                 <tr>
                  <form action="" method="post">
  +                <input type="hidden" name="method" value="doAddPrincipalGroup"/>
                   <td align="left">
  -                 <input name="group" type="text" size="15" maxlength="40"/>
  +                 <input name="cocoon-principal-group-name" type="text" size="15" maxlength="40"/>
                   </td>
                   <td align="right">
                    <input type="submit" name="cocoon-action-addgroup" value="Add group"/>
  
  
  
  1.6       +1 -1      xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4content.xsl
  
  Index: rdf2html4content.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4content.xsl,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- rdf2html4content.xsl	9 Jul 2002 21:41:34 -0000	1.5
  +++ rdf2html4content.xsl	21 Jul 2002 22:50:55 -0000	1.6
  @@ -153,7 +153,7 @@
                     select="/rdf:RDF/rdf:Description[@rdf:about=$location]/dav:getlastmodified"/></td>
                   <td align="right">
                    <form action="" method="post">
  -                  <input type="hidden" name="method" value="deleteSource"/>
  +                  <input type="hidden" name="method" value="doDeleteSource"/>
                     <input type="hidden" name="cocoon-source-uri" value="{../../@rdf:about}"/>
                     <input type="submit" name="cocoon-action-deletesource" value="Delete"/>
                    </form>
  
  
  
  1.3       +10 -8     xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4locks.xsl
  
  Index: rdf2html4locks.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4locks.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- rdf2html4locks.xsl	5 Jul 2002 13:37:37 -0000	1.2
  +++ rdf2html4locks.xsl	21 Jul 2002 22:50:55 -0000	1.3
  @@ -147,8 +147,9 @@
                   <td align="left"><xsl:value-of select="@exclusive"/></td>
                   <td align="right">
                    <form action="" method="post">
  -                  <input type="hidden" name="uri" value="{../../../../@uri}"/>
  -                  <input type="hidden" name="locksubject" value="{@subject}"/>
  +                  <input type="hidden" name="method" value="doDeleteLock"/>
  +                  <input type="hidden" name="cocoon-source-uri" value="{../../../../@uri}"/>
  +                  <input type="hidden" name="cocoon-lock-subject" value="{@subject}"/>
   
                     <input type="submit" name="cocoon-action-deletelock" value="Delete"/>
                    </form>
  @@ -158,24 +159,25 @@
   
                 <tr>
                  <form action="" method="post">
  -                <input type="hidden" name="uri" value="{@rdf:about}"/>
  +                <input type="hidden" name="method" value="doAddLock"/>
  +                <input type="hidden" name="cocoon-source-uri" value="{@rdf:about}"/>
                   <td align="left">
  -                 <input name="locksubject" type="text" size="20" maxlength="40"/>
  +                 <input name="cocoon-lock-subject" type="text" size="20" maxlength="40"/>
                   </td>
                   <td align="left">
  -                 <input name="locktype" type="text" size="15" maxlength="40"/>
  +                 <input name="cocoon-lock-type" type="text" size="15" maxlength="40"/>
                   </td>
                   <td align="left">
  -                 <input name="lockexpiration" type="text" size="15" maxlength="40"/>
  +                 <input name="cocoon-lock-expiration" type="text" size="15" maxlength="40"/>
                   </td>
                   <td align="left">
  -                 <select name="lockinheritable">
  +                 <select name="cocoon-lock-inheritable">
                     <option>true</option>
                     <option>false</option>
                    </select>
                   </td>
                   <td align="left">
  -                 <select name="lockexclusive">
  +                 <select name="cocoon-lock-exclusive">
                     <option>true</option>
                     <option>false</option>
                    </select>
  
  
  
  1.3       +10 -8     xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4permissions.xsl
  
  Index: rdf2html4permissions.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4permissions.xsl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- rdf2html4permissions.xsl	5 Jul 2002 13:37:37 -0000	1.2
  +++ rdf2html4permissions.xsl	21 Jul 2002 22:50:55 -0000	1.3
  @@ -145,9 +145,10 @@
                   <td align="left"><xsl:value-of select="@negative"/></td>
                   <td align="right">
                    <form action="" method="post">
  -                  <input type="hidden" name="uri" value="{../../../../@uri}"/>
  -                  <input type="hidden" name="permissionprincipal" value="{@subject}"/>
  -                  <input type="hidden" name="permissionprivilege" value="{@action}"/>
  +                  <input type="hidden" name="method" value="doDeletePermission"/>
  +                  <input type="hidden" name="cocoon-source-uri" value="{../../../../@uri}"/>
  +                  <input type="hidden" name="cocoon-permission-principal" value="{@subject}"/>
  +                  <input type="hidden" name="cocoon-permission-privilege" value="{@action}"/>
   
                     <input type="submit" name="cocoon-action-deletepermission" value="Delete"/>
                    </form>
  @@ -157,16 +158,17 @@
   
                 <tr>
                  <form action="" method="post">
  -                <input type="hidden" name="uri" value="{@rdf:about}"/>
  +                <input type="hidden" name="method" value="doAddPermission"/>
  +                <input type="hidden" name="cocoon-source-uri" value="{@rdf:about}"/>
                   <td align="left">
  -                 <select name="permissonprincipal">
  +                 <select name="cocoon-permisson-principal">
                     <option>ALL</option>
                     <option>SELF</option>
                     <option>GUEST</option>
                    </select>
                   </td>
                   <td align="left">
  -                 <select name="permissonprivilege">
  +                 <select name="cocoon-permisson-privilege">
                     <option>all</option>
                     <option>read</option>
                     <option>write</option>
  @@ -190,13 +192,13 @@
                    </select>
                   </td>
                   <td align="left">
  -                 <select name="permissoninheritable">
  +                 <select name="cocoon-permisson-inheritable">
                     <option>true</option>
                     <option>false</option>
                    </select>
                   </td>
                   <td align="left">
  -                 <select name="permissondeny">
  +                 <select name="cocoon-permisson-negative">
                     <option>true</option>
                     <option>false</option>
                    </select>
  
  
  
  1.5       +10 -8     xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4properties.xsl
  
  Index: rdf2html4properties.xsl
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/rdf2html4properties.xsl,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- rdf2html4properties.xsl	5 Jul 2002 13:37:37 -0000	1.4
  +++ rdf2html4properties.xsl	21 Jul 2002 22:50:55 -0000	1.5
  @@ -147,9 +147,10 @@
                  <td align="left"><xsl:value-of select="."/></td>
                  <td align="right">
                   <form action="" method="post">
  -                 <input type="hidden" name="uri" value="{../@rdf:about}"/>
  -                 <input type="hidden" name="namespace" value="{namespace-uri()}"/>
  -                 <input type="hidden" name="name" value="{local-name()}"/>
  +                 <input type="hidden" name="method" value="doDeleteProperty"/>
  +                 <input type="hidden" name="cocoon-source-uri" value="{../@rdf:about}"/>
  +                 <input type="hidden" name="cocoon-source-property-namespace" value="{namespace-uri()}"/>
  +                 <input type="hidden" name="cocoon-source-property-name" value="{local-name()}"/>
    
                    <input type="submit" name="cocoon-action-deleteproperty" value="Delete"/>
                   </form>
  @@ -159,15 +160,16 @@
   
                <tr>
                 <form action="" method="post">
  -               <input type="hidden" name="uri" value="{@rdf:about}"/>
  +               <input type="hidden" name="method" value="doAddProperty"/>
  +               <input type="hidden" name="cocoon-source-uri" value="{@rdf:about}"/>
                   <td align="left">
  -                 <input name="namespace" type="text" size="25" maxlength="40"/>
  +                 <input name="cocoon-source-property-namespace" type="text" size="25" maxlength="40"/>
                   </td>
                   <td align="left">
  -                 <input name="name" type="text" size="15" maxlength="40"/>
  +                 <input name="cocoon-source-property-name" type="text" size="15" maxlength="40"/>
                   </td>
                   <td align="left">
  -                 <input name="value" type="text" size="15" maxlength="40"/>
  +                 <input name="cocoon-source-property-value" type="text" size="15" maxlength="40"/>
                   </td>
                   <td align="right">
                    <input type="submit" name="cocoon-action-addproperty" value="Add/Modify"/>
  @@ -175,7 +177,7 @@
                  </form>
                 </tr>
   
  -              </font>
  +             </font>
   
               </table>
              </td>
  
  
  
  1.8       +17 -2     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.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- sitemap.xmap	9 Jul 2002 21:41:34 -0000	1.7
  +++ sitemap.xmap	21 Jul 2002 22:50:55 -0000	1.8
  @@ -96,8 +96,19 @@
       <map:serialize type="xml"/>
      </map:match>
   
  +   <map:match pattern="repository-authlist">
  +    <map:generate type="principallist">
  +     <map:parameter name="principalprovider" value="slide"/>
  +     <map:parameter name="principalcaller" value="root"/>
  +    </map:generate>
  +
  +    <map:transform src="context://samples/common/style/xsl/html/simple-xml2html.xsl"/>
  +
  +    <map:serialize type="html"/>
  +   </map:match>
  +
      <map:handle-errors>
  -    <map:transform src="context://stylesheets/system/error2html.xsl"/>
  +    <map:transform src="context://samples/common/style/xsl/html/error2html.xsl"/>
       <map:serialize status-code="500"/>
      </map:handle-errors>
   
  @@ -165,6 +176,7 @@
        <!-- ============= Source properties =============== -->
        <map:match pattern="properties/**">
         <map:act type="source-actions">
  +       <map:parameter name="method" value="{request:method}"/>
          <map:parameter name="cocoon-source-principal" value="root"/>
         </map:act>
   
  @@ -176,6 +188,7 @@
        <!-- ============= Source permissions ============== -->
        <map:match pattern="permissions/**">
         <map:act type="source-actions">
  +       <map:parameter name="method" value="{request:method}"/>
          <map:parameter name="cocoon-source-principal" value="root"/>
         </map:act>
   
  @@ -187,6 +200,7 @@
        <!-- ============= Source locks ==================== -->
        <map:match pattern="locks/**">
         <map:act type="source-actions">
  +       <map:parameter name="method" value="{request:method}"/>
          <map:parameter name="cocoon-source-principal" value="root"/>
         </map:act>
   
  @@ -204,7 +218,8 @@
        <!-- ============= Repository users =============== -->
        <map:match pattern="users/**">
         <map:act type="principal-actions">
  -       <map:parameter name="cocoon-repository-principal" value="root"/>
  +       <map:parameter name="method" value="{request:method}"/>
  +       <map:parameter name="cocoon-caller-principal-name" value="root"/>
         </map:act>
   
         <map:generate type="principallist">
  
  
  
  1.6       +41 -4     xml-cocoon2/src/scratchpad/webapp/samples/slide/slide.xconf
  
  Index: slide.xconf
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/webapp/samples/slide/slide.xconf,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- slide.xconf	18 Jul 2002 22:25:35 -0000	1.5
  +++ slide.xconf	21 Jul 2002 22:50:55 -0000	1.6
  @@ -38,7 +38,7 @@
           The following jdbc sample configuration uses the hsql Database Engine
           a relational database engine written in Java, for more info:
           http://hsqldb.sourceforge.net/
  -        -->
  +        -->     
           <definition>
               <store name="jdbc">
               <nodestore classname="slidestore.reference.JDBCDescriptorsStore">
  @@ -68,6 +68,40 @@
               </store>
               <scope match="/" store="jdbc" />
           </definition>
  +        <!-- ### MySQL Configuration ###
  +        The following jdbc sample configuration uses the MySQL Database.
  +        -->
  +        <!--
  +        <definition>
  +            <store name="jdbc">
  +            <nodestore classname="slidestore.mysql.MySQLDescriptorsStore">
  +                <parameter name="driver">org.gjt.mm.mysql.Driver</parameter>
  +                <parameter name="url">jdbc:mysql://localhost/myDB</parameter>
  +                <parameter name="user">cocoon</parameter>
  +                <parameter name="password">cocoon</parameter>
  +            </nodestore>
  +            <securitystore>
  +                <reference store="nodestore" />
  +            </securitystore>
  +            <lockstore>
  +                <reference store="nodestore" />
  +            </lockstore>
  +            <revisiondescriptorsstore>
  +                <reference store="nodestore" />
  +            </revisiondescriptorsstore>
  +            <revisiondescriptorstore>
  +                <reference store="nodestore" />
  +            </revisiondescriptorstore>
  +            <contentstore classname="slidestore.mysql.MySQLContentStore">
  +                <parameter name="driver">org.gjt.mm.mysql.Driver</parameter>
  +                <parameter name="url">jdbc:mysql://localhost/myDB</parameter>
  +                <parameter name="user">cocoon</parameter>
  +                <parameter name="password">cocoon</parameter>
  +            </contentstore>
  +            </store>
  +            <scope match="/" store="jdbc" />
  +        </definition>
  +        -->
           <!-- ### Mixed JDBC - Filesystem ###
           stores: slidestore.reference.JDBCDescriptorsStore
                   slidestore.reference.FileContentStore
  @@ -166,14 +200,16 @@
                       <objectnode classname="slideroles.basic.RootRoleImpl"
                           uri="/users/root">
                           <revision>
  -                            <property name="password">root</property>
  +                            <property name="password"
  +                                      namespace="http://jakarta.apache.org/slide/">root</property>
                           </revision>
                       </objectnode>
                       <!-- /users/john represents an authenticated user -->
                       <objectnode classname="slideroles.basic.UserRoleImpl"
                           uri="/users/john">
                           <revision>
  -                            <property name="password">john</property>
  +                            <property name="password"
  +                                      namespace="http://jakarta.apache.org/slide/">john</property>
                           </revision>
                       </objectnode>
                       <!-- /users/guest represents an authenticated or
  @@ -181,7 +217,8 @@
                       <objectnode classname="slideroles.basic.GuestRoleImpl"
                           uri="/users/guest">
                           <revision>
  -                            <property name="password"/>
  +                            <property name="password" 
  +                                      namespace="http://jakarta.apache.org/slide/"/>
                           </revision>
                       </objectnode>
                   </objectnode>
  
  
  

----------------------------------------------------------------------
In case of troubles, e-mail:     webmaster@xml.apache.org
To unsubscribe, e-mail:          cocoon-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: cocoon-cvs-help@xml.apache.org