luetzkendorf    2004/09/22 08:20:23

  Modified:    src/share/org/apache/slide/store BindingStore.java
                        ResourceId.java
               src/share/org/apache/slide/common SlideTokenImpl.java
                        Uri.java
               src/share/org/apache/slide/structure StructureImpl.java
  Log:
  merge with release branch
  
  Revision  Changes    Path
  1.4       +5 -4      jakarta-slide/src/share/org/apache/slide/store/BindingStore.java
  
  Index: BindingStore.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/store/BindingStore.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- BindingStore.java 28 Jul 2004 09:34:42 -0000      1.3
  +++ BindingStore.java 22 Sep 2004 15:20:22 -0000      1.4
  @@ -112,6 +112,7 @@
               ResourceId resourceId = obtainResourceId(uri);
               ObjectNode objectClone = object.cloneObject();
               objectClone.setUri(resourceId.getUuri()); // switch to uuri
  +            cacheResolve(uri, null);
               resourceId.getStore().removeObject(resourceId, objectClone);
           }
       }
  
  
  
  1.5       +5 -5      jakarta-slide/src/share/org/apache/slide/store/ResourceId.java
  
  Index: ResourceId.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/store/ResourceId.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- ResourceId.java   28 Jul 2004 09:34:41 -0000      1.4
  +++ ResourceId.java   22 Sep 2004 15:20:23 -0000      1.5
  @@ -153,7 +153,7 @@
        * @return int hash code
        */
       public int hashCode() {
  -        return super.hashCode();
  +        return this.uuri.hashCode();
       }
       
       public Scope getScope() {
  
  
  
  1.15      +8 -4      
jakarta-slide/src/share/org/apache/slide/common/SlideTokenImpl.java
  
  Index: SlideTokenImpl.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-slide/src/share/org/apache/slide/common/SlideTokenImpl.java,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- SlideTokenImpl.java       2 Sep 2004 12:41:11 -0000       1.14
  +++ SlideTokenImpl.java       22 Sep 2004 15:20:23 -0000      1.15
  @@ -364,7 +364,11 @@
        * Allows to cache the result of a resolve operation
        */
       public void cacheResolve(Uri uri, ResourceId resourceId) {
  -        resolveCache.put(uri, resourceId);
  +        if (resourceId != null) {
  +            resolveCache.put(uri, resourceId);
  +        } else {
  +            resolveCache.remove(uri);
  +        }
       }
       
       /**
  
  
  
  1.20      +5 -17     jakarta-slide/src/share/org/apache/slide/common/Uri.java
  
  Index: Uri.java
  ===================================================================
  RCS file: /home/cvs/jakarta-slide/src/share/org/apache/slide/common/Uri.java,v
  retrieving revision 1.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- Uri.java  28 Jul 2004 09:38:08 -0000      1.19
  +++ Uri.java  22 Sep 2004 15:20:23 -0000      1.20
  @@ -93,12 +93,6 @@
       
       
       /**
  -     * FIXME : Probably useless.
  -     */
  -    protected transient int pk;
  -    
  -    
  -    /**
        * Associated Store instance.
        */
       protected transient Store store;
  @@ -220,7 +214,6 @@
        */
       public void invalidateServices() {
           store = null;
  -        pk = 0;
           parseUri(this.uri);
       }
       
  @@ -279,7 +272,7 @@
        * @return int hash code
        */
       public int hashCode() {
  -        return pk;
  +        return this.uri.hashCode();
       }
       
       
  @@ -354,11 +347,6 @@
                       
                       if (store != null) {
                           scope = courScope;
  -                        // The PK in the current descriptorsStore is the
  -                        // portion of the URI relative
  -                        // to the Data Source.
  -                        this.pk = this.uri.substring(scope.toString().length())
  -                            .hashCode();
                       }
                   }
               } catch (ServiceConnectionFailedException e) {
  
  
  
  1.51      +14 -12    
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.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- StructureImpl.java        18 Aug 2004 11:46:19 -0000      1.50
  +++ StructureImpl.java        22 Sep 2004 15:20:23 -0000      1.51
  @@ -459,7 +459,7 @@
       }
       
       
  -    public void store(SlideToken token, ObjectNode object, boolean 
setModificationDate)
  +    protected void store(SlideToken token, ObjectNode object, boolean 
setModificationDate)
           throws ServiceAccessException, ObjectNotFoundException,
           AccessDeniedException, LinkedObjectNotFoundException, VetoException {
   
  @@ -482,21 +482,23 @@
               }
           }
           
  -        ObjectNode realObject = retrieve(token, object.getUri(), false);
  +        // working on realObject, we will lose changes immediatly done before call 
of store
  +        // i observerd this with some BIND testcases
  +        //ObjectNode realObject = retrieve(token, object.getUri(), false);
           securityHelper
  -            .checkCredentials(token, realObject,
  +            .checkCredentials(token, object,
                                 namespaceConfig.getCreateObjectAction());
  -        Uri realObjectUri = namespace.getUri(token, realObject.getUri());
  -        Store store = realObjectUri.getStore();
  -        store.storeObject(realObjectUri, object);
  +        Uri uri = namespace.getUri(token, object.getUri());
  +        Store store = uri.getStore();
  +        store.storeObject(uri, object);
           
           if (setModificationDate) {
               try {
  -                NodeRevisionDescriptor revisionDescriptor = 
store.retrieveRevisionDescriptor(realObjectUri, new NodeRevisionNumber());
  +                NodeRevisionDescriptor revisionDescriptor = 
store.retrieveRevisionDescriptor(uri, new NodeRevisionNumber());
                   revisionDescriptor.setModificationDate(new Date());
                   revisionDescriptor.setModificationUser(
                       securityHelper.getPrincipal(token).getPath().lastSegment());
  -                store.storeRevisionDescriptor(realObjectUri, revisionDescriptor );
  +                store.storeRevisionDescriptor(uri, revisionDescriptor );
               }
               catch (RevisionDescriptorNotFoundException e) {
                   // ignore silently
  
  
  

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

Reply via email to