'my shared' nodes can be copied.
[pithos-macos] / pithos-macos / PithosObjectNode.m
index e72b6f1..d396d4b 100644 (file)
         pithosObject = [aPithosObject retain];
     }
     self.isPublic = (pithosObject.publicURI != nil);
-    // Refresh parent if the object is in my shared and is no longer shared
+    // Refresh browser if the object is in my shared and is no longer shared
     if (shared && !pithosObject.sharing)
-        [self.parent refreshToRoot];
+        [[NSNotificationCenter defaultCenter] postNotificationName:@"PithosBrowserRefreshNeeeded" object:self];
 }
 
 #pragma mark -
     NSLog(@"cached: %d", [request didUseCachedResponse]);
     
     if ([request isEqualTo:applyMetadataObjectRequest]) {
+        int responseStatusCode = applyMetadataObjectRequest.responseStatusCode;
+        if (responseStatusCode != 202)
+            [PithosFileUtilities unexpectedResponseStatusAlertWithRequest:applyMetadataObjectRequest];
         @synchronized(self) {
             [applyMetadataObjectRequest release];
             applyMetadataObjectRequest = nil;
         }
-        [self refreshInfo];
+        if (responseStatusCode == 202)
+            [self refreshInfo];
     } else if ([request isEqualTo:refreshMetadataObjectRequest]) {
         [[pithosNodeInfoController window] makeFirstResponder:nil];
-        
         self.pithosObject = [refreshMetadataObjectRequest object];
         @synchronized(self) {
             [refreshMetadataObjectRequest release];
                                                                                                contentEncoding:pithosObject.contentEncoding 
                                                                                             contentDisposition:pithosObject.contentDisposition 
                                                                                                       manifest:pithosObject.manifest 
-                                                                                                       sharing:pithosObject.sharing 
+                                                                                                       sharing:(pithosObject.sharing ? pithosObject.sharing : @"")
                                                                                                       isPublic:(isPublic ? ASIPithosObjectRequestPublicTrue : ASIPithosObjectRequestPublicFalse) 
                                                                                                       metadata:pithosObject.metadata
                                                                                                         update:NO] retain];