You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-user@jakarta.apache.org by Jason Coelho <ja...@netymology.com> on 2003/03/27 12:22:43 UTC

newbie , exception trying to retrieve a newly created uri object

Hi,

I'm new to Slide and I've been trying to create an object using the Slide
API.

I've setup my code to use JDBC as a store for both the descriptor and the
content. In my code, the
object gets created and its descriptors are stored in the table, however the
object's content does'nt
get stored any where.( I've checked for the content in the revisioncontent
table , and there are no
entries ). Furthermore I get an revisionNotFound exception when I try to
retrieve the object.

Am I doing anything wrong ? Can anyone give me any suggestions ? Thanks in
advance.

Jason.

The following is an excerpt from my code :

----------------------------------------------------------------------------
--------------------------
//....... slideStruct, content , token initialized

String uri  = "/files/test.txt";
String data = "test test test";

SubjectNode subject = new SubjectNode();
slideStruct.create(token, subject,uri);

 // Creating a versioned revision descriptors
content.create(token,uri, true);

NodeRevisionDescriptors revisionDescriptors = content.retrieve(token,uri);
NodeRevisionDescriptor revisionDescriptor = new NodeRevisionDescriptor(0);

revisionDescriptor.setContentLength(data.length());
revisionDescriptor.setProperty("revision", "1");

NodeRevisionContent nodeRevisionContent = new NodeRevisionContent();
nodeRevisionContent.setContent(new StringReader(data));

content.create(token,uri, revisionDescriptor, nodeRevisionContent);

// testing retrieval of content

revisionDescriptor = content.retrieve(token, revisionDescriptors);

NodeRevisionContent testContent =
content.retrieve(token,uri,revisionDescriptor);  // THROWS AN EXCEPTION HERE
FOR SOME REASON
StringReader testReader = (StringReader)testContent.readContent();
log.info("Content : " + testReader.toString());

----------------------------------------------------------------------------
---------------------------

The code above throws the following exception. (Domain.xml follows)

org.apache.slide.content.RevisionNotFoundException: Revision 1.0 of object
/files/test.txt not found
        at
slidestore.reference.JDBCContentStore.retrieveRevisionContent(JDBCContentSto
re.java:434)
        at
org.apache.slide.store.AbstractStore.retrieveRevisionContent(AbstractStore.j
ava:1174)
        at
org.apache.slide.store.StandardStore.retrieveRevisionContent(StandardStore.j
ava:639)
        at
org.apache.slide.content.ContentImpl.retrieve(ContentImpl.java:336)
        at com.companyx.test.createFile(FileSystem.java:171)
        at test.test.test(test.java:40)
        at test.test.doGet(test.java:58)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:247)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:193)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:260)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:191)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase
.java:550)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
java:170)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172
)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:641)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:174)
        at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
eNext(StandardPipeline.java:643)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
        at
org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:432)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:386)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:534)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:530)
        at java.lang.Thread.run(Thread.java:536)

----------------------------------------------------------------------------
----------------------------------------------------------

<?xml version="1.0"?>

<slide logger="org.apache.slide.util.logger.SimpleLogger" logger-level="6"
default="slide">

  <namespace name="slide">


<!-- ### MCFS Configuration ###

     Descriptor Information Stored in db.
     File content Data stored on fs.

-->
     <definition>
      <store name="jdbc">
        <nodestore classname="slidestore.reference.JDBCDescriptorsStore">
         <parameter name="driver">org.gjt.mm.mysql.Driver</parameter>
         <parameter name="url">jdbc:mysql://localhost:3306/slide</parameter>
         <parameter name="user">jason</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.gjt.mm.mysql.Driver</parameter>
         <parameter name="url">jdbc:mysql://localhost:3306/slide</parameter>
         <parameter name="user">jason</parameter>
         <parameter name="password"></parameter>
 </contentstore>

<!--
 <contentstore classname="slidestore.reference.FileContentStore">
          <parameter name="rootpath">contentstore</parameter>
          <parameter name="version">true</parameter>
          <parameter name="resetBeforeStarting">false</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>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="/">

        <permission action="/actions" subject="/users/root"/>
        <permission action="/actions/read" subject="/users"
inheritable="false"/>
        <permission action="/actions/read" subject="nobody"
inheritable="false"/>

        <permission action="/actions/write" subject="/users/guest"
inheritable="true"/>

        <!-- /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"/>

          <!-- /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/jason">
            <revision>
              <property name="password">jason</property>
            </revision>
          </objectnode>

          <!-- /users/guest represents an authenticated or unauthenticated
               guest user -->

          <objectnode classname="slideroles.basic.GuestRoleImpl"
uri="/users/guest">
            <revision>
              <property name="password"></property>
            </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/manage" subject="/users/jason"/>
          <permission action="/actions/read" subject="nobody"/>
        </objectnode>

      </objectnode>

    </data>

  </namespace>

</slide>



---------------------------------------------------------------------
To unsubscribe, e-mail: slide-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-user-help@jakarta.apache.org