pnever      2003/09/16 12:04:35

  Modified:    src/share/org/apache/slide/structure StructureImpl.java
  Log:
  Fixed startup problem. Thanks again to Martin Holz:
  
  After fixing the NPE in ObjectNode, I have an other startup problem.
  
  java.lang.IllegalStateException: Existing binding users at / has to be removed first
        at org.apache.slide.structure.ObjectNode.addBinding(ObjectNode.java:480)
        at org.apache.slide.structure.ObjectNode.addChild(ObjectNode.java:460)
        at org.apache.slide.structure.StructureImpl.create(StructureImpl.java:499)
        at 
org.apache.slide.common.XMLUnmarshaller.loadObjectNode(XMLUnmarshaller.java:194)
        at 
org.apache.slide.common.XMLUnmarshaller.loadObjectNode(XMLUnmarshaller.java:305)
        at org.apache.slide.common.XMLUnmarshaller.unmarshal(XMLUnmarshaller.java:126)
        at 
org.apache.slide.common.NamespaceAccessTokenImpl.importData(NamespaceAccessTokenImpl.java:317)
        at org.apache.slide.common.Namespace.loadBaseData(Namespace.java:821)
        at org.apache.slide.common.EmbeddedDomain.addNamespace(EmbeddedDomain.java:230)
  
  StructureImpl tries to add a store root node to its parent, even
  if the node already exists. This will fail during startup.
  
  In my configuration the node /users is created in Domain.xml using
  
    <objectnode classname="org.apache.slide.structure.SubjectNode" uri="/users" >
          <permission action="/actions/read" subject="+/users/authors" />
    </objectnode>
  
  and there is also a store mounted at /users.
  
  Revision  Changes    Path
  1.30      +8 -6      
jakarta-slide/src/share/org/apache/slide/structure/StructureImpl.java
  
  Index: StructureImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/structure/StructureImpl.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- StructureImpl.java        8 Sep 2003 15:50:30 -0000       1.29
  +++ StructureImpl.java        16 Sep 2003 19:04:35 -0000      1.30
  @@ -496,8 +496,10 @@
                   // if the object already exists map it anyway into
                   // the node hierarchy, to prevent loose of nodes
                   // during start up
  -                parentObject.addChild(courObject);
  -                store(token, parentObject);
  +                if (!parentObject.hasChild(courObject)) {
  +                    parentObject.addChild(courObject);
  +                    store(token, parentObject);
  +                }
               }
               throw new ObjectAlreadyExistsException(strUri);
           }
  
  
  

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

Reply via email to