Automated merge with https://gss.googlecode.com/hg/
[pithos] / src / gr / ebs / gss / client / rest / resource / FileResource.java
index e32b350..3f4a64e 100644 (file)
@@ -76,7 +76,28 @@ public class FileResource extends RestResource {
        String path;
 
        String folderName;
-
+       Boolean shared;
+       
+       
+       /**
+        * Retrieve the shared.
+        *
+        * @return the shared
+        */
+       public Boolean getShared() {
+               return shared;
+       }
+       
+       
+       /**
+        * Modify the shared.
+        *
+        * @param shared the shared to set
+        */
+       public void setShared(Boolean shared) {
+               this.shared = shared;
+       }
+       
        /**
         * Retrieve the folderName.
         *
@@ -118,6 +139,7 @@ public class FileResource extends RestResource {
         *
         * @return the name
         */
+       @Override
        public String getName() {
                return name;
        }
@@ -412,7 +434,9 @@ public class FileResource extends RestResource {
                contentType = unmarshallString(metadata, "content");
                readForAll = unmarshallBoolean(metadata, "readForAll");
                versioned = unmarshallBoolean(metadata, "versioned");
-
+               createdBy = unmarshallString(metadata, "createdBy");
+               modifiedBy = unmarshallString(metadata, "modifiedBy");
+               setShared(unmarshallBoolean(metadata, "shared"));
                if (metadata.get("version") != null)
                        version = new Integer(metadata.get("version").toString());
 
@@ -503,12 +527,27 @@ public class FileResource extends RestResource {
        public boolean isShared(){
                if (isReadForAll())
                        return true;
-               for(PermissionHolder perm : permissions){
-                       if(perm.getUser() != null && !owner.equals(perm.getUser()))
-                               return true;
-                       if(perm.getGroup() != null)
-                               return true;
-               }
+               if(permissions != null)
+                       for(PermissionHolder perm : permissions){
+                               if(perm.getUser() != null && !owner.equals(perm.getUser()))
+                                       return true;
+                               if(perm.getGroup() != null)
+                                       return true;
+                       }
+               return false;
+       }
+
+       public boolean isShared(String ownerUser){
+               GWT.log("OWNER USER:"+ownerUser, null);
+               if (isReadForAll())
+                       return true;
+               if(permissions != null)
+                       for(PermissionHolder perm : permissions){
+                               if(perm.getUser() != null && !ownerUser.equals(perm.getUser()))
+                                       return true;
+                               if(perm.getGroup() != null)
+                                       return true;
+                       }
                return false;
        }
 
@@ -519,3 +558,4 @@ public class FileResource extends RestResource {
                return null;
        }
 }
+