You are viewing a plain text version of this content. The canonical link for it is here.
Posted to slide-dev@jakarta.apache.org by st...@apache.org on 2004/06/30 16:36:33 UTC

cvs commit: jakarta-slide/proposals/jcrri/work config.xml

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: slide-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: slide-dev-help@jakarta.apache.org