stefan      2004/06/22 11:03:08

  Modified:    proposals/jcrri/src/org/apache/slide/jcr/core/nodetype
                        NodeTypeConflictException.java NodeTypeDef.java
                        NodeTypeImpl.java NodeTypeManagerImpl.java
                        NodeTypeRegistry.java NodeTypeXmlGenerator.java
                        PropDef.java PropertyDefImpl.java
                        ValueConstraint.java
               proposals/jcrri/src/org/apache/slide/jcr/util
                        SAXEventGenerator.java Serializer.java UUID.java
                        ValueHelper.java
               proposals/jcrri/src/org/apache/slide/jcr/core
                        ItemLifeCycleListener.java ItemManager.java
                        NamespaceRegistryImpl.java NamespaceResolver.java
                        NodeId.java NodeImpl.java
                        NoPrefixDeclaredException.java Path.java
                        PropertyId.java PropertyImpl.java QName.java
                        RepositoryFactory.java RepositoryImpl.java
                        StableWorkspaceDef.java Test.java TicketImpl.java
                        UnknownPrefixException.java WorkspaceDef.java
                        WorkspaceImpl.java
  Log:
  jcrri
  
  Revision  Changes    Path
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeConflictException.java
  
  Index: NodeTypeConflictException.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeConflictException.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +10 -13    
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeDef.java
  
  Index: NodeTypeDef.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeDef.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NodeTypeDef.java  21 Jun 2004 09:37:41 -0000      1.2
  +++ NodeTypeDef.java  22 Jun 2004 18:03:07 -0000      1.3
  @@ -241,26 +241,23 @@
        */
       private void setSupertypes(Property supertypeProp, NamespaceResolver nsResolver)
        throws RepositoryException  {
  +
  +     ArrayList sList = new ArrayList();
        if (supertypeProp.hasValue()) {
            Value[] values = supertypeProp.getValues();
  -         ArrayList sList = new ArrayList();
  -         boolean hasBase = false;
  -         if (!isMixin()) {
  -             sList.add(NodeTypeRegistry.NT_BASE);
  -             hasBase = true;
  -         }
            for (int i = 0; i < values.length; i++) {
                String stName = values[i].getString();
  -             // if base was already added >> ignore
  -             if (hasBase && 
stName.equals(NodeTypeRegistry.NT_BASE.toJCRName(nsResolver))) {
  +             // ignore base, will automatically be added if no supertypes
  +             if (stName.equals(NodeTypeRegistry.NT_BASE.toJCRName(nsResolver))) {
                    continue;
                }
                sList.add(QName.fromJCRName(stName, nsResolver));
            }
  -         setSupertypes((QName[])sList.toArray(new QName[sList.size()]));
  -     } else if (!isMixin()) {
  -         setSupertypes(new QName[] { NodeTypeRegistry.NT_BASE });
        }
  +     if (sList.size()==0 && !isMixin()) {
  +         sList.add(NodeTypeRegistry.NT_BASE);
  +     }
  +     setSupertypes((QName[])sList.toArray(new QName[sList.size()]));
       }
   
       /**
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeImpl.java
  
  Index: NodeTypeImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeManagerImpl.java
  
  Index: NodeTypeManagerImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeManagerImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +8 -5      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeRegistry.java
  
  Index: NodeTypeRegistry.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeRegistry.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NodeTypeRegistry.java     21 Jun 2004 09:37:41 -0000      1.2
  +++ NodeTypeRegistry.java     22 Jun 2004 18:03:07 -0000      1.3
  @@ -757,6 +757,9 @@
            InputStream is = null;
            if (customNodeTypesResource.exists()) {
                is = customNodeTypesResource.getInputStream();
  +         } else {
  +             // make sure path to resource exists
  +             customNodeTypesResource.makeParentDirs();
            }
            NodeTypeXmlGenerator toXml = new NodeTypeXmlGenerator(is);
            toXml.addNodeType(ntd, nsResolver, 
customNodeTypesResource.getOutputStream());
  @@ -767,9 +770,9 @@
        } catch (InvalidConstraintException e) {
            throw new RepositoryException(e.getMessage());
        } catch (IOException e) {
  -         throw new RepositoryException("Cannot create persistent registration for 
valid node type " + node.getProperty("jcr:name").getString());
  +         throw new RepositoryException("Cannot create persistent registration for 
valid node type " + node.getProperty("jcr:nodeTypeName").getString());
        } catch (FileSystemException e) {
  -         throw new RepositoryException("Cannot create persistent registration for 
valid node type " + node.getProperty("jcr:name").getString());
  +         throw new RepositoryException("Cannot create persistent registration for 
valid node type " + node.getProperty("jcr:nodeTypeName").getString());
        }
        return ent;
       }
  @@ -1045,7 +1048,7 @@
        try {
            NodeTypeDef ntd = new NodeTypeDef(node, nsResolver);
            /**
  -          * Update the additional nt-resource in order to make unregistration
  +          * Update the custom nt-resource in order to make unregistration
             * persistent. Since the node is still present re-registering is possible
             * at any time.
             */
  
  
  
  1.2       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeXmlGenerator.java
  
  Index: NodeTypeXmlGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/NodeTypeXmlGenerator.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/PropDef.java
  
  Index: PropDef.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/PropDef.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/PropertyDefImpl.java
  
  Index: PropertyDefImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/PropertyDefImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/ValueConstraint.java
  
  Index: ValueConstraint.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/nodetype/ValueConstraint.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/SAXEventGenerator.java
  
  Index: SAXEventGenerator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/SAXEventGenerator.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.9       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/Serializer.java
  
  Index: Serializer.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/Serializer.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/UUID.java
  
  Index: UUID.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/UUID.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/ValueHelper.java
  
  Index: ValueHelper.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/util/ValueHelper.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/ItemLifeCycleListener.java
  
  Index: ItemLifeCycleListener.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/ItemLifeCycleListener.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.4       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/ItemManager.java
  
  Index: ItemManager.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/ItemManager.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  
  
  
  1.3       +151 -22   
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NamespaceRegistryImpl.java
  
  Index: NamespaceRegistryImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NamespaceRegistryImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- NamespaceRegistryImpl.java        21 Jun 2004 09:37:40 -0000      1.2
  +++ NamespaceRegistryImpl.java        22 Jun 2004 18:03:07 -0000      1.3
  @@ -24,11 +24,18 @@
   package org.apache.slide.jcr.core;
   
   import org.apache.log4j.Logger;
  +import org.apache.slide.jcr.fs.FileSystem;
  +import org.apache.slide.jcr.fs.FileSystemResource;
   
   import javax.jcr.NamespaceException;
   import javax.jcr.NamespaceRegistry;
   import javax.jcr.RepositoryException;
   import java.util.HashMap;
  +import java.util.HashSet;
  +import java.util.Properties;
  +import java.util.Iterator;
  +import java.io.OutputStream;
  +import java.io.InputStream;
   
   /**
    * A <code>NamespaceRegistryImpl</code> ...
  @@ -41,6 +48,7 @@
       private static Logger log = Logger.getLogger(NamespaceRegistryImpl.class);
   
       // default namespace (empty uri)
  +    public static final String NS_EMPTY_PREFIX = "";
       public static final String NS_DEFAULT_URI = "";
   
       // reserved namespace for items defined within built-in node types
  @@ -63,27 +71,127 @@
       public static final String NS_SV_PREFIX = "sv";
       public static final String NS_SV_URI = "http://www.jcp.org/jcr/sv/1.0";;
   
  +    private static final String NS_REG_RESOURCE = "ns_reg.properties";
  +
  +    private static final HashSet reservedPrefixes = new HashSet();
  +    private static final HashSet reservedURIs = new HashSet();
  +
  +    static {
  +     // predefined (e.g. built-in) prefixes
  +     reservedPrefixes.add(NS_JCR_PREFIX);
  +     reservedPrefixes.add(NS_NT_PREFIX);
  +     reservedPrefixes.add(NS_MIX_PREFIX);
  +     reservedPrefixes.add(NS_PT_PREFIX);
  +     reservedPrefixes.add(NS_SV_PREFIX);
  +     // predefined (e.g. built-in) namespace URI's
  +     reservedURIs.add(NS_JCR_URI);
  +     reservedURIs.add(NS_NT_URI);
  +     reservedURIs.add(NS_MIX_URI);
  +     reservedURIs.add(NS_PT_URI);
  +     reservedURIs.add(NS_SV_URI);
  +    }
  +
       private HashMap prefixToURI = new HashMap();
       private HashMap uriToPrefix = new HashMap();
   
  +    private final FileSystem nsRegStore;
  +
       /**
        * Package private constructor: Constructs a new instance of this class.
  +     * @param nsRegStore
  +     * @throws RepositoryException
        */
  -    NamespaceRegistryImpl() {
  +    NamespaceRegistryImpl(FileSystem nsRegStore) throws RepositoryException {
  +     this.nsRegStore = nsRegStore;
  +     load();
  +    }
  +
  +    private void load() throws RepositoryException {
  +     FileSystemResource propFile = new FileSystemResource(nsRegStore, 
NS_REG_RESOURCE);
  +     try {
  +         if (!propFile.exists()) {
  +             // clear existing mappings
  +             prefixToURI.clear();
  +             uriToPrefix.clear();
  +
  +             // default namespace (if no prefix is specified)
  +             prefixToURI.put(NS_EMPTY_PREFIX, NS_DEFAULT_URI);
  +             uriToPrefix.put(NS_DEFAULT_URI, NS_EMPTY_PREFIX);
  +             // declare the predefined mappings
  +             // jcr:
  +             prefixToURI.put(NS_JCR_PREFIX, NS_JCR_URI);
  +             uriToPrefix.put(NS_JCR_URI, NS_JCR_PREFIX);
  +             // nt:
  +             prefixToURI.put(NS_NT_PREFIX, NS_NT_URI);
  +             uriToPrefix.put(NS_NT_URI, NS_NT_PREFIX);
  +             // mix:
  +             prefixToURI.put(NS_MIX_PREFIX, NS_MIX_URI);
  +             uriToPrefix.put(NS_MIX_URI, NS_MIX_PREFIX);
  +             // pt:
  +             prefixToURI.put(NS_PT_PREFIX, NS_PT_URI);
  +             uriToPrefix.put(NS_PT_URI, NS_PT_PREFIX);
  +             // sv:
  +             prefixToURI.put(NS_SV_PREFIX, NS_SV_URI);
  +             uriToPrefix.put(NS_SV_URI, NS_SV_PREFIX);
  +
  +             // persist mappings
  +             store();
  +             return;
  +         }
  +
  +         InputStream in = propFile.getInputStream();
  +         try {
  +             Properties props = new Properties();
  +             props.load(in);
  +
  +             // clear existing mappings
  +             prefixToURI.clear();
  +             uriToPrefix.clear();
  +
  +             // read mappings from properties
  +             Iterator iter = props.keySet().iterator();
  +             while (iter.hasNext()) {
  +                 String prefix = (String) iter.next();
  +                 String uri = props.getProperty(prefix);
  +
  +                 prefixToURI.put(prefix, uri);
  +                 uriToPrefix.put(uri, prefix);
  +             }
  +         } finally {
  +             in.close();
  +         }
  +     } catch (Exception e) {
  +         String msg = "failed to persist namespace registry";
  +         log.error(msg, e);
  +         throw new RepositoryException(msg, e);
  +     }
  +    }
  +
  +    private void store() throws RepositoryException {
  +     FileSystemResource propFile = new FileSystemResource(nsRegStore, 
NS_REG_RESOURCE);
        try {
  -         // default namespace (if no prefix is specified)
  -         registerNamespace("", NS_DEFAULT_URI);
  -         // declare the predefined mappings
  -         registerNamespace(NS_JCR_PREFIX, NS_JCR_URI);
  -         registerNamespace(NS_NT_PREFIX, NS_NT_URI);
  -         registerNamespace(NS_MIX_PREFIX, NS_MIX_URI);
  -         registerNamespace(NS_PT_PREFIX, NS_PT_URI);
  -         registerNamespace(NS_SV_PREFIX, NS_SV_URI);
  -     } catch (RepositoryException re) {
  -         // should never get here
  -         String msg = "failed to register predefined namespaces: ";
  -         log.error(msg, re);
  -         throw new InternalError(msg + re.getMessage());
  +         propFile.makeParentDirs();
  +         OutputStream os = propFile.getOutputStream();
  +         Properties props = new Properties();
  +
  +         // store mappings in properties
  +         Iterator iter = prefixToURI.keySet().iterator();
  +         while (iter.hasNext()) {
  +             String prefix = (String) iter.next();
  +             String uri = (String) prefixToURI.get(prefix);
  +             props.setProperty(prefix,  uri);
  +         }
  +
  +         try {
  +             props.store(os, null);
  +         } finally {
  +             // make sure stream is closed
  +             os.close();
  +         }
  +     } catch (Exception e) {
  +         String msg = "failed to persist namespace registry";
  +         log.error(msg, e);
  +         throw new RepositoryException(msg, e);
        }
       }
   
  @@ -93,15 +201,26 @@
        */
       public void registerNamespace(String prefix, String uri)
            throws NamespaceException, RepositoryException {
  -     // @todo implement validations etc according to spec
  -     if (prefixToURI.containsKey(prefix)) {
  -         throw new NamespaceException("Unable to register namespace " + prefix + 
":" + uri + ". Prefix already exists");
  +     if (reservedURIs.contains(uri)) {
  +         throw new NamespaceException("failed to register namespace " + prefix + " 
-> " + uri + ": reserved URI");
        }
  +     if (reservedPrefixes.contains(prefix)) {
  +         throw new NamespaceException("failed to register namespace " + prefix + " 
-> " + uri + ": reserved prefix");
  +     }
  +
        if (uriToPrefix.containsKey(uri)) {
  -         throw new NamespaceException("Unable to register namespace " + prefix + 
":" + uri + ". URI already exists");
  +         throw new NamespaceException("failed to register namespace " + prefix + " 
-> " + uri + ": URI already exists");
  +     }
  +     if (prefixToURI.containsKey(prefix)) {
  +         throw new NamespaceException("failed to register namespace " + prefix + " 
-> " + uri + ": prefix already exists");
        }
  +     // @todo implement further validations according to spec
  +
        prefixToURI.put(prefix, uri);
        uriToPrefix.put(uri, prefix);
  +
  +     // persist mappings
  +     store();
       }
   
       /**
  @@ -109,13 +228,23 @@
        */
       public void unregisterNamespace(String prefix)
            throws NamespaceException, RepositoryException {
  -     // @todo implement validations etc according to spec
  +     if (reservedPrefixes.contains(prefix)) {
  +         throw new NamespaceException("reserved prefix: " + prefix);
  +     }
  +     if (!prefixToURI.containsKey(prefix)) {
  +         throw new NamespaceException("unknown prefix: " + prefix);
  +     }
  +     throw new NamespaceException("not yet supported");
  +
  +     // @todo implement further validations according to spec
   /*
        String uri = getURI(prefix);
        prefixToURI.remove(prefix);
        uriToPrefix.remove(uri);
  +
  +     // persist mappings
  +     store();
   */
  -     throw new NamespaceException("not yet supported");
       }
   
       /**
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NamespaceResolver.java
  
  Index: NamespaceResolver.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NamespaceResolver.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NodeId.java
  
  Index: NodeId.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NodeId.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.14      +20 -14    
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.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- NodeImpl.java     21 Jun 2004 09:37:40 -0000      1.13
  +++ NodeImpl.java     22 Jun 2004 18:03:07 -0000      1.14
  @@ -292,31 +292,37 @@
       protected void onUnlink(NodeState parentState) throws RepositoryException {
        // modify the state of 'this', i.e. the target node
        NodeState thisState = (NodeState) getOrCreateTransientItemState();
  -     // remove uuid of this node from target's parent list
  -     thisState.removeParentUUID(parentState.getUUID());
   
  -     // check ref#
  -     if (thisState.getParentUUIDs().isEmpty()) {
  -         // orphaned node
  +     // check if this node would be orphaned after unlinking it from parent
  +     ArrayList parentUUIDs = new ArrayList(thisState.getParentUUIDs());
  +     parentUUIDs.remove(parentState.getUUID());
  +     boolean orphaned = parentUUIDs.isEmpty();
   
  +     if (orphaned) {
            // remove child nodes (recursive)
            // use temp array to avoid ConcurrentModificationException
  -         Collection tmp = new ArrayList(thisState.getChildNodeEntries());
  -         Iterator iter = tmp.iterator();
  -         while (iter.hasNext()) {
  -             NodeState.ChildNodeEntry entry = (NodeState.ChildNodeEntry) 
iter.next();
  +         ArrayList tmp = new ArrayList(thisState.getChildNodeEntries());
  +         // remove from tail to avoid problems with same-name siblings
  +         for (int i = tmp.size() - 1; i >= 0; i--) {
  +             NodeState.ChildNodeEntry entry = (NodeState.ChildNodeEntry) tmp.get(i);
                removeChildNode(entry.getName(), entry.getIndex());
            }
   
            // remove properties
            // use temp array to avoid ConcurrentModificationException
            tmp = new ArrayList(thisState.getPropertyEntries());
  -         iter = tmp.iterator();
  -         while (iter.hasNext()) {
  -             NodeState.PropertyEntry entry = (NodeState.PropertyEntry) iter.next();
  +         // remove from tail to avoid problems with same-name siblings
  +         for (int i = tmp.size() - 1; i >= 0; i--) {
  +             NodeState.PropertyEntry entry = (NodeState.PropertyEntry) tmp.get(i);
                removeChildProperty(entry.getName());
            }
  +     }
  +
  +     // now actually do unlink this node from specified parent node
  +     // (i.e. remove uuid of parent node from this node's parent list)
  +     thisState.removeParentUUID(parentState.getUUID());
   
  +     if (orphaned) {
            // remove this node
            itemMgr.removeItem(id);
        }
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NoPrefixDeclaredException.java
  
  Index: NoPrefixDeclaredException.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/NoPrefixDeclaredException.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/Path.java
  
  Index: Path.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/Path.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/PropertyId.java
  
  Index: PropertyId.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/PropertyId.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.13      +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/PropertyImpl.java
  
  Index: PropertyImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/PropertyImpl.java,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/QName.java
  
  Index: QName.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/QName.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.10      +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/RepositoryFactory.java
  
  Index: RepositoryFactory.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/RepositoryFactory.java,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  
  
  
  1.9       +6 -6      
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.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- RepositoryImpl.java       21 Jun 2004 09:37:40 -0000      1.8
  +++ RepositoryImpl.java       22 Jun 2004 18:03:07 -0000      1.9
  @@ -128,11 +128,12 @@
                }
            } else {
                // create new uuid
  -             rootNodeUUID = new UUID().toString();   // version 4 uuid
  +             UUID rootUUID = new UUID();     // version 4 uuid
  +             rootNodeUUID = rootUUID.toString();     // version 4 uuid
                try {
                    // persist uuid of the repository's root node
                    OutputStream out = uuidFile.getOutputStream();
  -                 out.write(rootNodeUUID.getBytes());
  +                 out.write(rootUUID.getBytes());
                    out.close();
                } catch (Exception e) {
                    String msg = "failed to persist repository state";
  @@ -173,8 +174,7 @@
            throw new RepositoryException(msg);
        }
   
  -     // @todo load global persistent namespace mappings
  -     nsReg = new NamespaceRegistryImpl();
  +     nsReg = new NamespaceRegistryImpl(new BasedFileSystem(repStore, 
"/namespaces"));
   
        ntReg = NodeTypeRegistry.create(nsReg, new BasedFileSystem(repStore, 
"/nodetypes"));
       }
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/StableWorkspaceDef.java
  
  Index: StableWorkspaceDef.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/StableWorkspaceDef.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/Test.java
  
  Index: Test.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/Test.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.9       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/TicketImpl.java
  
  Index: TicketImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/TicketImpl.java,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/UnknownPrefixException.java
  
  Index: UnknownPrefixException.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/UnknownPrefixException.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/WorkspaceDef.java
  
  Index: WorkspaceDef.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/WorkspaceDef.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  
  1.3       +0 -0      
jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/WorkspaceImpl.java
  
  Index: WorkspaceImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/proposals/jcrri/src/org/apache/slide/jcr/core/WorkspaceImpl.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  
  
  

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

Reply via email to