Thanks Jan, it seems to be working...
I just have to modify slightly your function because i'm on windows, and got spaces in my files path.


function resolveToFile(uri)
{
var resolver = null;
var filesource = null;
try
{
resolver = cocoon.getComponent(Packages.org.apache.cocoon.environment.SourceResolver.ROLE);
filesource = resolver.resolveURI(uri);
var file = new java.io.File(new java.net.URI(filesource.getURI().replaceAll(" ", "%20")));
return file;
}
finally
{
if(filesource != null) resolver.release(filesource);
cocoon.releaseComponent(resolver);
}
}


It doesn't seem to be very clean solution, but it's working...
Hope this will work on unix as well :)

Marc

Jan Hoskens a �crit :

When accessing a file, you need to resolve it's uri. Resolving will suffix a path the same way as used in the sitemap.

eg: in your webapp's sitemap you use "pages/mywelcomepage.xml"

mywebapp/pages/mywelcomepage.xml
mywebapp/sitemap.xmap

then resolving will add the whole path /.../mywebapp/ in front of your relative path "pages/mywelcomepage.xml".

I tend to use a simple function for this in my flowscript:

function resolveToFile(uri)
{
var resolver = null;
var filesource = null;
try
{
resolver = cocoon.getComponent(Packages.org.apache.cocoon.environment.SourceResolver.ROLE);


      filesource = resolver.resolveURI(uri);
      var file = new java.io.File(new java.net.URI(filesource.getURI()));
      return file;
   }
   finally
   {
      if(filesource != null) resolver.release(filesource);
      cocoon.releaseComponent(resolver);
   }
}


Kind Regards, Jan

Marc Salvetti wrote:

Hello,

i'm trying to access some of the xml files in my webapp directly from the flowscript for creation/deletion
i can't find a way to adress the correct directory of the servlet


i tried request:contextPath but it gives only a partial path, i also tried servletPath but it gives the uri of the calling page

what i'd like to do look like this :

   var path = contextPath + "/cfm/xdocs/planning/cruise7.xml";
   var file = new Packages.java.io.File( path);
   if(!file.isFile()){print(file.getCanonicalPath());}

Does anyone have a working example of how to get the full path of the directory where my xml files are ?
Or maybe a better idea ? ;)


Thanks for any help,

Marc

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




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





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



Reply via email to