stefan      2004/06/30 07:36:33

  Modified:    proposals/jcrri build.xml
               proposals/jcrri/src/org/apache/slide/jcr/core ItemImpl.java
                        NodeImpl.java RepositoryImpl.java
               proposals/jcrri/work config.xml
  Added:       proposals/jcrri/build .cvsignore
  Log:
  jcrri
  
  Revision  Changes    Path
  1.6       +1 -1      jakarta-slide/proposals/jcrri/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/jcrri/build.xml,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- build.xml 28 May 2004 18:31:33 -0000      1.5
  +++ build.xml 30 Jun 2004 14:36:32 -0000      1.6
  @@ -14,7 +14,7 @@
                <property name="build.compiler" value="modern" />
                <property name="deprecation" value="off" />
   
  -             <property name="debug" value="off" />
  +             <property name="debug" value="on" />
                <property name="optimize" value="on" />
   
                <property name="build.classes" value="./build/classes"/>
  
  
  
  1.1                  jakarta-slide/proposals/jcrri/build/.cvsignore
  
  Index: .cvsignore
  ===================================================================
  *
  
  
  
  1.7       +5 -2      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/ItemImpl.java
  
  Index: ItemImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/ItemImpl.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- ItemImpl.java     29 Jun 2004 17:11:47 -0000      1.6
  +++ ItemImpl.java     30 Jun 2004 14:36:32 -0000      1.7
  @@ -62,6 +62,9 @@
       // jcr:mixinTypes
       protected static final QName PROPNAME_MIXINTYPES =
            new QName(NamespaceRegistryImpl.NS_JCR_URI, "mixinTypes");
  +    // jcr:created
  +    protected static final QName PROPNAME_CREATED =
  +         new QName(NamespaceRegistryImpl.NS_JCR_URI, "created");
   
       protected static final int STATUS_NORMAL = 0;
       protected static final int STATUS_MODIFIED = 1;
  
  
  
  1.16      +8 -2      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NodeImpl.java
  
  Index: NodeImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NodeImpl.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- NodeImpl.java     24 Jun 2004 16:31:06 -0000      1.15
  +++ NodeImpl.java     30 Jun 2004 14:36:32 -0000      1.16
  @@ -113,6 +113,12 @@
                // jcr:uuid property
                genValues = new InternalValue[]{InternalValue.create(new 
UUID(((NodeState) state).getUUID()))};
            }
  +     } else if (nt.getQName().equals(NodeTypeRegistry.NT_HIERARCHYNODE)) {
  +         // nt:hierarchyNode node type
  +         if (name.equals(PROPNAME_CREATED)) {
  +             // jcr:created property
  +             genValues = new 
InternalValue[]{InternalValue.create(Calendar.getInstance())};
  +         }
        } else if (nt.getQName().equals(NodeTypeRegistry.NT_BASE)) {
            // nt:base node type
            if (name.equals(PROPNAME_PRIMARYTYPE)) {
  
  
  
  1.10      +53 -9     
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/RepositoryImpl.java
  
  Index: RepositoryImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/RepositoryImpl.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- RepositoryImpl.java       22 Jun 2004 18:03:07 -0000      1.9
  +++ RepositoryImpl.java       30 Jun 2004 14:36:32 -0000      1.10
  @@ -36,8 +36,7 @@
   import org.apache.slide.jcr.util.UUID;
   
   import javax.jcr.*;
  -import java.io.InputStream;
  -import java.io.OutputStream;
  +import java.io.*;
   import java.util.HashMap;
   import java.util.Iterator;
   
  @@ -116,11 +115,35 @@
            if (uuidFile.exists()) {
                try {
                    // load uuid of the repository's root node
  -                 byte[] bytes = new byte[16];
                    InputStream in = uuidFile.getInputStream();
  -                 in.read(bytes);
  -                 in.close();
  +/*
  +                 // uuid is stored in binary format (16 bytes)
  +                 byte[] bytes = new byte[16];
  +                 try {
  +                     in.read(bytes);
  +                 } finally {
  +                     try {
  +                         in.close();
  +                     } catch (IOException ioe) {
  +                         // ignore
  +                     }
  +                 }
                    rootNodeUUID = new UUID(bytes).toString();
  +*/
  +                 // uuid is stored in text format (36 characters) for better 
readability
  +                 char[] chars = new char[36];
  +                 InputStreamReader reader = new InputStreamReader(in);
  +                 try {
  +                     reader.read(chars);
  +                 } finally {
  +                     try {
  +                         reader.close();
  +                     } catch (IOException ioe) {
  +                         // ignore
  +                     }
  +                 }
  +                 rootNodeUUID = new UUID(new String(chars)).toString();
  +
                } catch (Exception e) {
                    String msg = "failed to load persisted repository state";
                    log.error(msg, e);
  @@ -133,8 +156,29 @@
                try {
                    // persist uuid of the repository's root node
                    OutputStream out = uuidFile.getOutputStream();
  -                 out.write(rootUUID.getBytes());
  -                 out.close();
  +/*
  +                 // store uuid in binary format
  +                 try {
  +                     out.write(rootUUID.getBytes());
  +                 } finally {
  +                     try {
  +                         out.close();
  +                     } catch (IOException ioe) {
  +                         // ignore
  +                     }
  +                 }
  +*/
  +                 // store uuid in text format for better readability
  +                 OutputStreamWriter writer = new OutputStreamWriter(out);
  +                 try {
  +                     writer.write(rootUUID.toString());
  +                 } finally {
  +                     try {
  +                         writer.close();
  +                     } catch (IOException ioe) {
  +                         // ignore
  +                     }
  +                 }
                } catch (Exception e) {
                    String msg = "failed to persist repository state";
                    log.error(msg, e);
  
  
  
  1.4       +79 -77    jakarta-slide/proposals/jcrri/work/config.xml
  
  Index: config.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/proposals/jcrri/work/config.xml,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- config.xml        28 May 2004 18:23:49 -0000      1.3
  +++ config.xml        30 Jun 2004 14:36:32 -0000      1.4
  @@ -13,7 +13,6 @@
       class CDATA #REQUIRED>
     <!ELEMENT WorkspaceStore (FileSystem)>
     <!ELEMENT BLOBStore (FileSystem)>
  -  <!ELEMENT DynamicWorkspace (FileSystem)>
     <!ELEMENT DynamicWorkspace (PersistenceManager,WorkspaceStore,BLOBStore?)>
     <!ATTLIST DynamicWorkspace
       name CDATA #REQUIRED>
  @@ -27,82 +26,85 @@
   
   <Repositories>
   
  -  <!-- sample configuration for a repository that stores its state in a local file 
system -->
  -  <Repository name="localfs">
  -    <RepositoryStore>
  -      <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  -        <param name="path" value="${factory.home}/repositories/localfs/repository"/>
  -      </FileSystem>
  -    </RepositoryStore>
  -    <!-- main workspace -->
  -    <StableWorkspace name="default">
  -      <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  -      <WorkspaceStore>
  -        <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  -          <param name="path" 
value="${factory.home}/repositories/localfs/workspaces/default/data"/>
  -        </FileSystem>
  -      </WorkspaceStore>
  -      <BLOBStore>
  -        <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  -          <param name="path" 
value="${factory.home}/repositories/localfs/workspaces/default/blobs"/>
  -        </FileSystem>
  -      </BLOBStore>
  -      <!-- dynamic workspace based on main workspace -->
  -      <DynamicWorkspace name="dynWsp">
  -        <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  -        <WorkspaceStore>
  -          <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  -            <param name="path" 
value="${factory.home}/repositories/localfs/workspaces/dynWsp/data"/>
  -          </FileSystem>
  -        </WorkspaceStore>
  -      </DynamicWorkspace>
  -    </StableWorkspace>
  -  </Repository>
  +    <!-- sample configuration for a repository that stores its state in a local 
file system -->
  +    <Repository name="localfs">
  +     <RepositoryStore>
  +         <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  +             <param name="path" 
value="${factory.home}/repositories/localfs/repository"/>
  +         </FileSystem>
  +     </RepositoryStore>
  +     <!-- main workspace -->
  +     <StableWorkspace name="default">
  +         <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  +         <WorkspaceStore>
  +             <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  +                 <param name="path" 
value="${factory.home}/repositories/localfs/workspaces/default/data"/>
  +             </FileSystem>
  +         </WorkspaceStore>
  +         <BLOBStore>
  +             <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  +                 <param name="path" 
value="${factory.home}/repositories/localfs/workspaces/default/blobs"/>
  +             </FileSystem>
  +         </BLOBStore>
  +         <!-- dynamic workspace based on main workspace -->
  +         <DynamicWorkspace name="dynWsp">
  +             <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  +             <WorkspaceStore>
  +                 <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  +                     <param name="path" 
value="${factory.home}/repositories/localfs/workspaces/dynWsp/data"/>
  +                 </FileSystem>
  +             </WorkspaceStore>
  +         </DynamicWorkspace>
  +     </StableWorkspace>
  +    </Repository>
   
  -  <!-- sample configuration for a repository that stores its state in a virtual 
file system -->
  -  <Repository name="cqfs">
  -    <RepositoryStore>
  -      <FileSystem class="org.apache.slide.jcr.fs.cq.CQFileSystem">
  -        <param name="path" value="${factory.home}/repositories/cqfs/repStore.dat"/>
  -        <param name="autoRepair" value="false"/>
  -      </FileSystem>
  -    </RepositoryStore>
  -    <!-- main workspace -->
  -    <StableWorkspace name="default">
  -      <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  -      <WorkspaceStore>
  -        <FileSystem class="org.apache.slide.jcr.fs.cq.CQFileSystem">
  -          <param name="path" 
value="${factory.home}/repositories/cqfs/workspaces/default/wspStore.dat"/>
  -          <param name="autoRepair" value="false"/>
  -        </FileSystem>
  -      </WorkspaceStore>
  -      <BLOBStore>
  -        <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  -          <param name="path" 
value="${factory.home}/repositories/cqfs/workspaces/default/blobs"/>
  -        </FileSystem>
  -      </BLOBStore>
  -    </StableWorkspace>
  -  </Repository>
  +    <!-- sample configuration for a repository that stores its state in a virtual 
file system -->
  +    <Repository name="cqfs">
  +     <RepositoryStore>
  +         <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  +             <param name="path" value="${factory.home}/cqfs/repository"/>
  +         </FileSystem>
  +         <!-- <FileSystem class="org.apache.slide.jcr.fs.cq.CQFileSystem">
  +             <param name="path" value="${factory.home}/cqfs/repStore.dat"/>
  +             <param name="autoRepair" value="false"/>
  +         </FileSystem> -->
  +     </RepositoryStore>
  +     <!-- main workspace -->
  +     <StableWorkspace name="default">
  +         <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  +         <WorkspaceStore>
  +             <FileSystem class="org.apache.slide.jcr.fs.cq.CQFileSystem">
  +                 <param name="path" 
value="${factory.home}/repositories/cqfs/workspaces/default/wspStore.dat"/>
  +                 <param name="autoRepair" value="false"/>
  +             </FileSystem>
  +         </WorkspaceStore>
  +         <BLOBStore>
  +             <FileSystem class="org.apache.slide.jcr.fs.local.LocalFileSystem">
  +                 <param name="path" 
value="${factory.home}/repositories/cqfs/workspaces/default/blobs"/>
  +             </FileSystem>
  +         </BLOBStore>
  +     </StableWorkspace>
  +    </Repository>
   
  -  <!-- sample configuration for a repository that stores its state on a WebDav 
server -->
  -  <Repository name="dav">
  -    <RepositoryStore>
  -      <FileSystem class="org.apache.slide.jcr.fs.dav.DavFileSystem">
  -        <param name="host" value="localhost"/>
  -        <param name="port" value="8080"/>
  -        <param name="path" value="/webdav/repository"/>
  -      </FileSystem>
  -    </RepositoryStore>
  -    <!-- main workspace -->
  -    <StableWorkspace name="default">
  -      <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  -      <WorkspaceStore>
  -        <FileSystem class="org.apache.slide.jcr.fs.dav.DavFileSystem">
  -          <param name="host" value="localhost"/>
  -          <param name="port" value="8080"/>
  -          <param name="path" value="/webdav/workspaces/default"/>
  -        </FileSystem>
  -      </WorkspaceStore>
  -    </StableWorkspace>
  -  </Repository>
  +    <!-- sample configuration for a repository that stores its state on a WebDav 
server -->
  +    <Repository name="dav">
  +     <RepositoryStore>
  +         <FileSystem class="org.apache.slide.jcr.fs.dav.DavFileSystem">
  +             <param name="host" value="localhost"/>
  +             <param name="port" value="8080"/>
  +             <param name="path" value="/webdav/repository"/>
  +         </FileSystem>
  +     </RepositoryStore>
  +     <!-- main workspace -->
  +     <StableWorkspace name="default">
  +         <PersistenceManager 
class="org.apache.slide.jcr.core.state.xml.XMLPersistenceManager"/>
  +         <WorkspaceStore>
  +             <FileSystem class="org.apache.slide.jcr.fs.dav.DavFileSystem">
  +                 <param name="host" value="localhost"/>
  +                 <param name="port" value="8080"/>
  +                 <param name="path" value="/webdav/workspaces/default"/>
  +             </FileSystem>
  +         </WorkspaceStore>
  +     </StableWorkspace>
  +    </Repository>
   </Repositories>
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to