X-Git-Url: https://code.grnet.gr/git/pithos/blobdiff_plain/a2f99ec6b147ef642cfe7313925926fd961c6c0c..af6aa4611410ce7f970cad2101514e15d2c77d1d:/src/gr/ebs/gss/server/webdav/milton/GSSResourceFactory.java diff --git a/src/gr/ebs/gss/server/webdav/milton/GSSResourceFactory.java b/src/gr/ebs/gss/server/webdav/milton/GSSResourceFactory.java index 4848293..eee9023 100644 --- a/src/gr/ebs/gss/server/webdav/milton/GSSResourceFactory.java +++ b/src/gr/ebs/gss/server/webdav/milton/GSSResourceFactory.java @@ -19,13 +19,11 @@ 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; }