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/19 00:25:35 UTC

cvs commit: xml-cocoon2/src/scratchpad/webapp/samples/slide slide.xconf

stephan     2002/07/18 15:25:35

  Modified:    src/scratchpad/src/org/apache/cocoon/components/repository/impl
                        SlideConfigurationAdapter.java SlideRepository.java
               src/scratchpad/webapp/samples/slide slide.xconf
  Added:       src/scratchpad/lib slide-kernel-20020718.jar
                        slide-roles-20020718.jar slide-stores-20020718.jar
  Removed:     src/scratchpad/lib slide-kernel-1.0.16.jar
                        slide-roles-1.0.16.jar slide-stores-1.0.16.jar
                        slide-webdavlib.jar slide-webdavservlet-1.0.16.jar
  Log:
  A wrong return value in SlideConfigurationAdapter prevents Slide to load the correct
  store implementations.
  Also Slide libaries updated through the lastest CVS snapshots.
  
  Revision  Changes    Path
  1.1                  xml-cocoon2/src/scratchpad/lib/slide-kernel-20020718.jar
  
  	<<Binary file>>
  
  
  1.1                  xml-cocoon2/src/scratchpad/lib/slide-roles-20020718.jar
  
  	<<Binary file>>
  
  
  1.1                  xml-cocoon2/src/scratchpad/lib/slide-stores-20020718.jar
  
  	<<Binary file>>
  
  
  1.2       +4 -6      xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/SlideConfigurationAdapter.java
  
  Index: SlideConfigurationAdapter.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/SlideConfigurationAdapter.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SlideConfigurationAdapter.java	11 Jun 2002 18:09:12 -0000	1.1
  +++ SlideConfigurationAdapter.java	18 Jul 2002 22:25:35 -0000	1.2
  @@ -70,8 +70,7 @@
   
       private org.apache.avalon.framework.configuration.Configuration configuration;
   
  -    public SlideConfigurationAdapter(org.apache.avalon.framework.configuration.Configuration 
  -              configuration) {
  +    public SlideConfigurationAdapter(org.apache.avalon.framework.configuration.Configuration configuration) {
           this.configuration = configuration;
       }
   
  @@ -99,8 +98,7 @@
        * @exception ConfigurationException If no child with that name exists.
        */
       public Configuration getConfiguration(String child)
  -    throws ConfigurationException
  -    {
  +            throws ConfigurationException {
           return new SlideConfigurationAdapter(this.configuration.getChild(child));
       }
   
  @@ -251,7 +249,7 @@
           try {
               return this.configuration.getValue();
           } catch (org.apache.avalon.framework.configuration.ConfigurationException ce) {
  -            return null;
  +            return "";
           }
       }
       
  
  
  
  1.2       +13 -12    xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/SlideRepository.java
  
  Index: SlideRepository.java
  ===================================================================
  RCS file: /home/cvs/xml-cocoon2/src/scratchpad/src/org/apache/cocoon/components/repository/impl/SlideRepository.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- SlideRepository.java	4 Jul 2002 17:32:41 -0000	1.1
  +++ SlideRepository.java	18 Jul 2002 22:25:35 -0000	1.2
  @@ -56,7 +56,7 @@
   package org.apache.cocoon.components.repository.impl;
   
   import org.apache.avalon.excalibur.xml.Parser;
  -import org.apache.avalon.framework.activity.Initializable;
  +//import org.apache.avalon.framework.activity.Initializable;
   import org.apache.avalon.framework.component.Component;
   import org.apache.avalon.framework.component.ComponentException;
   import org.apache.avalon.framework.component.ComponentManager;
  @@ -94,7 +94,7 @@
    * @version $Id$
    */
   public class SlideRepository implements Repository, ThreadSafe, 
  -                                        Composable, Configurable, LogEnabled, Initializable {
  +                                        Composable, Configurable, LogEnabled/*, Initializable*/ {
   
       /** The component manager instance */
       protected ComponentManager manager = null;
  @@ -102,6 +102,7 @@
       private EmbeddedDomain domain = new EmbeddedDomain();
       private Logger logger;
       private String file;
  +    private boolean initialized = false;
   
       /**
        * Provide component with a logger.
  @@ -209,15 +210,15 @@
       }
   
       public EmbeddedDomain getDomain() {
  +        if (!initialized) {
  +            try {
  +                initialize();
  +                initialized = true;
  +            } catch (Exception e) {
  +                this.logger.error("Could not initialize Slide repository", e);
  +            }
  +        }
  +
           return this.domain;
       }
  -
  -    /**
  -     * Returns the user manager by a given admin user.
  -     */
  -    /*public UserManager getUserManager(User admin) throws ProcessingException {
  -        return new SlideUserManager(domain.getNamespaceToken(domain.getDefaultNamespace()), 
  -                   new SlideTokenImpl(new CredentialsToken(admin.getPrincipal())));
  -    }*/
   }
  -
  
  
  
  1.5       +217 -145  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.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- slide.xconf	5 Jul 2002 13:37:37 -0000	1.4
  +++ slide.xconf	18 Jul 2002 22:25:35 -0000	1.5
  @@ -1,150 +1,222 @@
   <?xml version="1.0"?>
   <slide default="myrepository">
   
  - <namespace name="myrepository">
  +    <namespace name="myrepository">
   
  -  <definition>
  -   <store name="jdbc">
  -
  -    <nodestore classname="slidestore.reference.JDBCDescriptorsStore">
  -     <parameter name="driver">org.hsqldb.jdbcDriver</parameter>
  -     <parameter name="url">jdbc:hsqldb:slidestructure</parameter>
  -     <parameter name="user">sa</parameter>
  -     <parameter name="password"></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.reference.JDBCContentStore">
  -     <parameter name="driver">org.hsqldb.jdbcDriver</parameter>
  -     <parameter name="url">jdbc:hsqldb:slidecontent</parameter>
  -     <parameter name="user">sa</parameter>
  -     <parameter name="password"></parameter>
  -    </contentstore>
  -
  -   </store>
  -   <scope match="/" store="jdbc" />
  -  </definition>
  -
  -  <configuration>
  -   <!-- Actions mapping -->
  -   <default-action>/actions</default-action>
  -   <read-object>/actions/read</read-object>
  -   <create-object>/actions/write</create-object>
  -   <remove-object>/actions/write</remove-object>
  -   <grant-permission>/actions/manage</grant-permission>
  -   <revoke-permission>/actions/manage</revoke-permission>
  -   <read-permissions>/actions/manage</read-permissions>
  -   <lock-object>/actions/write</lock-object>
  -   <kill-lock>/actions/manage</kill-lock>
  -   <read-locks>/actions/read</read-locks>
  -   <read-revision-metadata>/actions/read</read-revision-metadata>
  -   <create-revision-metadata>/actions/write</create-revision-metadata>
  -   <modify-revision-metadata>/actions/write</modify-revision-metadata>
  -   <remove-revision-metadata>/actions/write</remove-revision-metadata>
  -   <read-revision-content>/actions/read</read-revision-content>
  -   <create-revision-content>/actions/write</create-revision-content>
  -   <modify-revision-content>/actions/write</modify-revision-content>
  -   <remove-revision-content>/actions/write</remove-revision-content>
  -
  -   <!-- Paths configuration -->
  -   <userspath>/users</userspath>
  -   <guestpath>guest</guestpath>
  -   <filespath>/files</filespath>
  -   <parameter name="dav">true</parameter>
  -   <parameter name="standalone">true</parameter>
  -
  -   <!-- Roles definition -->
  -   <role name="root">slideroles.basic.RootRole</role>
  -   <role name="user">slideroles.basic.UserRole</role>
  -   <role name="guest">slideroles.basic.GuestRole</role>
  -
  -   <!-- Users management -->
  -   <auto-create-users>false</auto-create-users>
  -  </configuration>
  -   
  -  <data>
  -
  -   <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/">
  -    <!-- Subject can be: self  "~"
  -                         all   "nobody"
  -                         user  "/users/john"
  -                         group "+/users/groupA"
  -                         role  "root"
  -      -->
  -    <!-- Uncomment the following line to give all permissions to
  -         principals have the root role -->
  -    <!-- <permission action="/actions" subject="root"/> -->
  -    <permission action="/actions" subject="/users/root"/>
  -    <permission action="/actions/read" subject="/users" inheritable="false"/>
  -    <permission action="/actions/read" subject="nobody" inheritable="false"/>
  -
  -    <!-- /users -->
  -    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users">
  -     <permission action="/actions" subject="~"/>
  -     <permission action="/actions" subject="/users/guest" inheritable="true" negative="true"/>
  -     <permission action="/actions/read" subject="/users" inheritable="false"/>
  -
  -     <!-- Permission group example -->
  -     <objectnode classname="org.apache.slide.structure.GroupNode" uri="/users/groupA">
  -      <objectnode classname="org.apache.slide.structure.LinkNode" uri="/users/groupA/john" 
  -                  linkedUri="/users/john"/>
  -      <objectnode classname="org.apache.slide.structure.LinkNode" uri="/users/groupA/root"
  -                  linkedUri="/users/root"/>
  -     </objectnode>
  -
  -     <!-- /users/root represents the administrator -->
  -     <objectnode classname="slideroles.basic.RootRoleImpl" uri="/users/root">
  -      <revision>
  -       <property name="password">root</property>
  -      </revision>
  -     </objectnode>
  - 
  -     <!-- /users/john represents an authenticated user -->
  -     <objectnode classname="slideroles.basic.UserRoleImpl" uri="/users/john">
  -      <revision>
  -       <property name="password">john</property>
  -      </revision>
  -     </objectnode>
  -
  -     <!-- /users/guest represents an authenticated or unauthenticated guest user -->
  -     <objectnode classname="slideroles.basic.GuestRoleImpl" uri="/users/guest">
  -      <revision>
  -       <property name="password"/>
  -      </revision>
  -     </objectnode>
  -    </objectnode>
  -
  -    <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions">
  -     <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/read"/>
  -     <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/write"/>
  -     <objectnode classname="org.apache.slide.structure.ActionNode" uri="/actions/manage"/>
  -    </objectnode>
  - 
  -    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/files">
  -     <permission action="/actions" subject="/users/guest"/> 
  -     <permission action="/actions/manage" subject="/users/john"/>
  -     <permission action="/actions/write" subject="+/users/groupA"/>
  -     <permission action="/actions/read" subject="nobody"/>
  -    </objectnode>
  -   </objectnode>
  -
  -  </data>
  -
  - </namespace>
  - 
  +        <!-- ### Memory Configuration ###
  +        The following memory configuration uses the MemoryDescriptorsStore for
  +        node, security, locks and revisions. For content the FileContentStore
  +        is used. Content is reset before start.
  +        -->
  +        <!--
  +        <definition>
  +            <store name="memory">
  +                <nodestore
  +                    classname="slidestore.reference.MemoryDescriptorsStore"/>
  +                <securitystore>
  +                    <reference store="nodestore"/>
  +                </securitystore>
  +                <lockstore>
  +                    <reference store="nodestore"/>
  +                </lockstore>
  +                <revisiondescriptorsstore>
  +                    <reference store="nodestore"/>
  +                </revisiondescriptorsstore>
  +                <revisiondescriptorstore>
  +                    <reference store="nodestore"/>
  +                </revisiondescriptorstore>
  +                <contentstore classname="slidestore.reference.FileContentStore">
  +                    <parameter name="rootpath">contentstore</parameter>
  +                    <parameter name="version">false</parameter>
  +                    <parameter name="resetBeforeStarting">true</parameter>
  +                </contentstore>
  +            </store>
  +            <scope match="/" store="memory"/>
  +        </definition>
  +        -->
  +        <!-- ### JDBC Configuration ###
  +        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">
  +                <parameter name="driver">org.hsqldb.jdbcDriver</parameter>
  +                <parameter name="url">jdbc:hsqldb:slidestructure</parameter>
  +                <parameter name="user">sa</parameter>
  +                <parameter name="password"></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.reference.JDBCContentStore">
  +                <parameter name="driver">org.hsqldb.jdbcDriver</parameter>
  +                <parameter name="url">jdbc:hsqldb:slidecontent</parameter>
  +                <parameter name="user">sa</parameter>
  +                <parameter name="password"></parameter>
  +            </contentstore>
  +            </store>
  +            <scope match="/" store="jdbc" />
  +        </definition>
  +        <!-- ### Mixed JDBC - Filesystem ###
  +        stores: slidestore.reference.JDBCDescriptorsStore
  +                slidestore.reference.FileContentStore
  +        !!! set resetBeforeStarting parameter for FileContentStore to false !!!
  +        -->
  +        <!-- ### Cloudscape configuration (embedded database) ###
  +        stores: slidestore.cloudscape.CloudscapeDescriptorsStore
  +                slidestore.cloudscape.CloudscapeContentStore
  +        driver: COM.cloudscape.core.JDBCDriver
  +        url:    jdbc:cloudscape:slidestructure;create=true
  +                jdbc:cloudscape:slidecontent;create=true
  +        -->
  +        <!-- ### Oracle configuration (thin driver) ###
  +        stores: slidestore.reference.JDBCDescriptorsStore
  +                slidestore.oracle.OracleContentStore
  +        driver: oracle.jdbc.OracleDriver
  +        url:    jdbc:oracle:thin:@localhost:1521:slide
  +        -->
  +        <configuration>
  +            <!-- Actions mapping -->
  +            <default-action>/actions</default-action>
  +            <read-object>/actions/read</read-object>
  +            <create-object>/actions/write</create-object>
  +            <remove-object>/actions/write</remove-object>
  +            <grant-permission>/actions/manage</grant-permission>
  +            <revoke-permission>/actions/manage</revoke-permission>
  +            <read-permissions>/actions/manage</read-permissions>
  +            <lock-object>/actions/write</lock-object>
  +            <kill-lock>/actions/manage</kill-lock>
  +            <read-locks>/actions/read</read-locks>
  +            <read-revision-metadata>/actions/read</read-revision-metadata>
  +            <create-revision-metadata>/actions/write</create-revision-metadata>
  +            <modify-revision-metadata>/actions/write</modify-revision-metadata>
  +            <remove-revision-metadata>/actions/write</remove-revision-metadata>
  +            <read-revision-content>/actions/read</read-revision-content>
  +            <create-revision-content>/actions/write</create-revision-content>
  +            <modify-revision-content>/actions/write</modify-revision-content>
  +            <remove-revision-content>/actions/write</remove-revision-content>
  +            <!-- Paths configuration -->
  +            <userspath>/users</userspath>
  +            <guestpath>guest</guestpath>
  +            <filespath>/files</filespath>
  +            <parameter name="dav">true</parameter>
  +            <parameter name="standalone">true</parameter>
  +            <!-- Roles definition -->
  +            <role name="root">slideroles.basic.RootRole</role>
  +            <role name="user">slideroles.basic.UserRole</role>
  +            <role name="guest">slideroles.basic.GuestRole</role>
  +            <!-- Users management -->
  +            <auto-create-users>true</auto-create-users>
  +            <!-- Default properties mapping -->
  +            <default-property name="foo" namespace="nsfoo/" value="bar"
  +                role="user"/>
  +            <default-property name="password" namespace="slide/" value=""
  +                role="user"/>
  +        </configuration>
  +        <data>
  +            <objectnode classname="org.apache.slide.structure.SubjectNode"
  +                uri="/">
  +                <!-- Subject can be:
  +                self  "~"
  +                all   "nobody"
  +                user  "/users/john"
  +                group "+/users/groupA"
  +                role  "root"
  +                -->
  +                <!-- Uncomment the following line to give all permissions to
  +                principals have the root role
  +                -->
  +                <!-- <permission action="/actions" subject="root"/> -->
  +                <permission action="/actions" subject="/users/root"/>
  +                <permission action="/actions/read" subject="/users"
  +                    inheritable="false"/>
  +                <permission action="/actions/read" subject="nobody"
  +                    inheritable="false"/>
  +                <!-- /users -->
  +                <objectnode classname="org.apache.slide.structure.SubjectNode"
  +                    uri="/users">
  +                    <permission action="/actions" subject="~"/>
  +                    <permission action="/actions" subject="/users/guest"
  +                        inheritable="true" negative="true"/>
  +                    <permission action="/actions/read" subject="/users"
  +                        inheritable="false"/>
  +                    <!-- Permission group example -->
  +                    <objectnode
  +                        classname="org.apache.slide.structure.GroupNode"
  +                        uri="/users/groupA">
  +                        <objectnode
  +                            classname="org.apache.slide.structure.LinkNode"
  +                            uri="/users/groupA/john" linkedUri="/users/john"/>
  +                        <objectnode
  +                            classname="org.apache.slide.structure.LinkNode"
  +                            uri="/users/groupA/root" linkedUri="/users/root"/>
  +                    </objectnode>
  +                    <!-- /users/root represents the administrator -->
  +                    <objectnode classname="slideroles.basic.RootRoleImpl"
  +                        uri="/users/root">
  +                        <revision>
  +                            <property name="password">root</property>
  +                        </revision>
  +                    </objectnode>
  +                    <!-- /users/john represents an authenticated user -->
  +                    <objectnode classname="slideroles.basic.UserRoleImpl"
  +                        uri="/users/john">
  +                        <revision>
  +                            <property name="password">john</property>
  +                        </revision>
  +                    </objectnode>
  +                    <!-- /users/guest represents an authenticated or
  +                    unauthenticated guest user -->
  +                    <objectnode classname="slideroles.basic.GuestRoleImpl"
  +                        uri="/users/guest">
  +                        <revision>
  +                            <property name="password"/>
  +                        </revision>
  +                    </objectnode>
  +                </objectnode>
  +                <objectnode classname="org.apache.slide.structure.ActionNode"
  +                    uri="/actions">
  +                    <objectnode
  +                        classname="org.apache.slide.structure.ActionNode"
  +                        uri="/actions/read"/>
  +                    <objectnode
  +                        classname="org.apache.slide.structure.ActionNode"
  +                        uri="/actions/write"/>
  +                    <objectnode
  +                        classname="org.apache.slide.structure.ActionNode"
  +                        uri="/actions/manage"/>
  +                </objectnode>
  +                <objectnode classname="org.apache.slide.structure.SubjectNode"
  +                    uri="/files">
  +                    <!-- ### Give read/write/manage permission to guest ###
  +                    Uncomment the following line to give permission to do all
  +                    actions on /files to guest (unauthenticated users) -->
  +                    <permission action="/actions" subject="/users/guest"/>
  +                    
  +                    <permission action="/actions/manage" subject="/users/john"/>
  +                    <permission action="/actions/write"
  +                        subject="+/users/groupA"/>
  +                    <permission action="/actions/read" subject="nobody"/>
  +                </objectnode>
  +                <!-- DeltaV: default history and workspace paths -->
  +                <objectnode classname="org.apache.slide.structure.SubjectNode"
  +                    uri="/history"/>
  +                <objectnode classname="org.apache.slide.structure.SubjectNode"
  +                    uri="/workspace"/>
  +                <objectnode classname="org.apache.slide.structure.SubjectNode"
  +                    uri="/workingresource"/>
  +            </objectnode>
  +        </data>
  +    </namespace>
   </slide>
  
  
  

----------------------------------------------------------------------
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