Re-structured the whole thing
[pithos] / src / gr / ebs / gss / server / webdav / milton / GSSResourceFactory.java
index 4848293..eee9023 100644 (file)
 package gr.ebs.gss.server.webdav.milton;
 
 import static gr.ebs.gss.server.configuration.GSSConfigurationFactory.getConfiguration;
-import gr.ebs.gss.client.exceptions.ObjectNotFoundException;
-import gr.ebs.gss.client.exceptions.RpcException;
+import gr.ebs.gss.common.exceptions.ObjectNotFoundException;
+import gr.ebs.gss.common.exceptions.RpcException;
+import gr.ebs.gss.server.domain.FileHeader;
 import gr.ebs.gss.server.domain.Folder;
 import gr.ebs.gss.server.domain.User;
-import gr.ebs.gss.server.domain.dto.FileHeaderDTO;
-import gr.ebs.gss.server.domain.dto.FolderDTO;
-import gr.ebs.gss.server.domain.dto.UserDTO;
 import gr.ebs.gss.server.ejb.ExternalAPI;
 import gr.ebs.gss.server.ejb.TransactionHelper;
 
@@ -44,7 +42,6 @@ import com.bradmcevoy.http.HttpManager;
 import com.bradmcevoy.http.Resource;
 import com.bradmcevoy.http.ResourceFactory;
 import com.bradmcevoy.http.SecurityManager;
-import com.bradmcevoy.http.Request.Method;
 import com.ettrema.http.fs.LockManager;
 
 
@@ -81,14 +78,14 @@ public class GSSResourceFactory implements ResourceFactory {
                
         }*/
         try {
-               UserDTO user =null;
+               User user =null;
                if(HttpManager.request().getAuthorization()!=null && HttpManager.request().getAuthorization().getTag()==null){
                        String username = HttpManager.request().getAuthorization().getUser();
                        if(username !=null)
                                user = getService().getUserByUserName(username);
                }
                else if(HttpManager.request().getAuthorization()!=null&&HttpManager.request().getAuthorization().getTag()!=null){
-                       user =(UserDTO) HttpManager.request().getAuthorization().getTag();
+                       user =(User) HttpManager.request().getAuthorization().getTag();
                }
        
                if(user==null){
@@ -101,8 +98,10 @@ public class GSSResourceFactory implements ResourceFactory {
                        
                        return null;
                }
-               if(r instanceof Folder)
+               if(r instanceof Folder){
+                       
                        return new GssFolderResource(host, this,r ,user);
+               }
                else
                        return new GssFileResource(host, this,r,user);
                } catch (RpcException e) {
@@ -113,7 +112,7 @@ public class GSSResourceFactory implements ResourceFactory {
        public Long maxAgeSeconds(GssResource resource) {
         return maxAgeSeconds;
     }
-       protected Object getResourceGss(String path, UserDTO user) throws RpcException{
+       protected Object getResourceGss(String path, User user) throws RpcException{
 
                if(user ==null){
                        if(HttpManager.request().getAuthorization()!=null && HttpManager.request().getAuthorization().getTag()==null){
@@ -122,7 +121,7 @@ public class GSSResourceFactory implements ResourceFactory {
                                        user = getService().getUserByUserName(username);
                        }
                        else if(HttpManager.request().getAuthorization()!=null&&HttpManager.request().getAuthorization().getTag()!=null){
-                               user =(UserDTO) HttpManager.request().getAuthorization().getTag();
+                               user =(User) HttpManager.request().getAuthorization().getTag();
                        }
                }
                
@@ -131,8 +130,6 @@ public class GSSResourceFactory implements ResourceFactory {
                }
                boolean exists = true;
                Object resource = null;
-               FileHeaderDTO file = null;
-               FolderDTO folder = null;
                try {
                        resource = getService().getResourceAtPath(user.getId(), path, true);
                } catch (ObjectNotFoundException e) {
@@ -146,7 +143,22 @@ public class GSSResourceFactory implements ResourceFactory {
                        
                        return null;
                }
-
+               if(resource instanceof Folder){
+                       try {
+                               resource = getService().expandFolder((Folder) resource);
+                       } catch (ObjectNotFoundException e) {
+                               // TODO Auto-generated catch block
+                               return null;
+                       }
+               }
+               else if(resource instanceof FileHeader){
+                       try {
+                               resource = getService().expandFile((FileHeader) resource);
+                       } catch (ObjectNotFoundException e) {
+                               // TODO Auto-generated catch block
+                               return null;
+                       }
+               }
                return resource;
        }