Re: Flowscript - delete file

2012-12-29 Thread gelo1234
Hi Peter,

file.delete() doesn't get executed in this case.

Its:
  if (!file.exists()) {
   throw new FileNotFoundException(filePath);

that line of code that triggers your Error message and file.delete() has
not been reached.

Greetings,
Greg




2012/12/29 Peter Sparkes pe...@didm.co.uk

  Hi Martin and Robby,

 Thank you both for your help, what I have ended up with is:

 importClass(Packages.java.io.File);
 importClass(Packages.java.io.FileNotFoundException);

 function deletefile() {

 //var filePath = cocoon.parameters[file];

 var filePath = D:/cocoon-2.1.11-wl/build/webapp/BB/xml/.xml;
 //for testing

 var file = new File(filePath);
  try {
 if (!file.exists()) {
throw new FileNotFoundException(filePath);
 }
 file.delete();
 cocoon.sendPage('deletefilesuccess',{file:filePath});
 } catch (e) {
 cocoon.sendPage('deletefileerror',{file:e});
 }
 }

 However, file.delete(); produces a syntax error.

 If I comment out file.delete(), the rest of the script works correctly:

- If .xml exists, deletefilesuccess is accessed
- If .xml does not exist, deletefileerror is accessed and I get:
Error File java.io.FileNotFoundException:
D:/cocoon-2.1.11-wl/build/webapp/BB/xml/.xml Not Found

 What's wrong with file.delete(); ?

 Regards

 Peter



 On 27/12/2012 18:35, Martin Heiden wrote:

 Hi Peter,

 Ok, I missed something:

  var xml_file = 
 Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file + 
 .xml);

 should be:

  var xml_file = new 
 Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file + 
 .xml);

 But you should try the function Robby sent to the list. It's much
 cleaner.

 Regards,

   Martin.


 Thursday, December 27, 2012, 6:12:08 PM, you wrote:

 PS Hi Martin

 PS Thanks for your suggestion, unfortunately I get the same  error. The 
 error log gives:

 PS ERROR (2012-12-27) 15:30.46:723 [flow] (/office/deletefile_) 
 PoolThread-4/JSErrorReporter:
 PS file:///D:/cocoon-2.1.11-wl/build/webapp/office/flow/deletefile.js, 
 line 13: missing name after .
 PS operator
 PS ERROR (2012-12-27) 15:30.46:723 [sitemap.handled-errors] 
 (/office/deletefile_)
 PS PoolThread-4/ErrorHandlerHelper: Sitemap: error calling function 
 'deletefile'
 PS  at map:call -
 PS file:///D:/cocoon-2.1.11-wl/build/webapp/office/sitemap.xmap:230:37
 PS  at map:mount -
 PS file:///D:/cocoon-2.1.11-wl/build/webapp/sitemap.xmap:783:90
 PS org.mozilla.javascript.EvaluatorException:
 PS file:///D:/cocoon-2.1.11-wl/build/webapp/office/flow/deletefile.js, 
 line 1: Compilation produced 1
 PS syntax errors.
 PS  at
 PS 
 org.apache.cocoon.components.flow.javascript.JSErrorReporter.runtimeError(JSErrorReporter.java:67)

 PS regards

 PS Peter


 PS On 27/12/2012 11:42, Martin Heiden wrote:

  Hi Peter,

 PS  //Delete file
 PS  Packages.java.io.File.xml_file.delete();

 Try

 xml_file.delete();

 You just have to add the full path to the class when you
 construct it. After this, the variable contains a reference and you
 can just use it.

 Regards,

Martin.


 Thursday, December 27, 2012, 10:28:31 AM, you wrote:

 PS Hi,

 PS I am trying to delete xml files using the following flowscript:

 PS function deletefile() {

 PS  //file to be deleted
 PS  var file =
 PS Packages.java.lang.String(cocoon.parameters[file]);

 PS  try {
 PS  // creating a link to the file to be deleted
 PS  var xml_file =
 PS Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file
 PS + .xml);

 PS  //Delete file
 PS  Packages.java.io.File.xml_file.delete();

 PS  //  .txt file with OK message
 PS  cocoon.sendPage(success.txt, null);
 PS  }
 PS  catch(ex){
 PS  cocoon.log.error(ex);
 PS  // Smth. went wrong. Sending a error.txt file to the browser
 PScocoon.sendPage(error.txt, null);
 PS  }

 PS }

 PS and get Compilation produced 1 syntax errors

 PS The error log contains:

 PS ERROR deletefile.js, line 13: missing name after . 
 operator

 PS line 13 is:

 PS Packages.java.io.File.xml_file.delete();

 PS What I am doing wrong?

 PS Peter







 -
 To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
 For additional commands, e-mail: users-h...@cocoon.apache.org

   Ciao,
  Martin


 -
 To unsubscribe, e-mail: users-unsubscr...@cocoon.apache.org
 For additional commands, e-mail: users-h...@cocoon.apache.org





Re: Flowscript - delete file

2012-12-29 Thread Peter Sparkes

Solved

I found the answer at 
http://markmail.org/message/7psype56uhu5kbad#query:+page:1+mid:ezqkl6i255bjdw75+state:results


I amended file.delete(); to:

file[delete]();

and it works,  the file is deleted. However, I don't know why it works

Thank you all for your help

Peter

On 29/12/2012 07:58, Peter Sparkes wrote:

Hi Martin and Robby,

Thank you both for your help, what I have ended up with is:

importClass(Packages.java.io.File);
importClass(Packages.java.io.FileNotFoundException);

function deletefile() {

//var filePath = cocoon.parameters[file];

var filePath = D:/cocoon-2.1.11-wl/build/webapp/BB/xml/.xml;  //for 
testing
var file = new File(filePath);
 try {
if (!file.exists()) {
   throw new FileNotFoundException(filePath);
}
file.delete();
cocoon.sendPage('deletefilesuccess',{file:filePath});
} catch (e) {
cocoon.sendPage('deletefileerror',{file:e});
}
}

However, file.delete(); produces a syntax error.

If I comment out file.delete(), the rest of the script works correctly:

  * If .xml exists, deletefilesuccess is accessed
  * If .xml does not exist, deletefileerror is accessed and I get:


  Error File java.io.FileNotFoundException: 
D:/cocoon-2.1.11-wl/build/webapp/BB/xml/.xml
  Not Found

What's wrong with file.delete(); ?

Regards

Peter



On 27/12/2012 18:35, Martin Heiden wrote:

Hi Peter,

Ok, I missed something:

  var xml_file = Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file 
+ .xml);

should be:

  var xml_file = new Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + 
file + .xml);

But you should try the function Robby sent to the list. It's much
cleaner.

Regards,

   Martin.


Thursday, December 27, 2012, 6:12:08 PM, you wrote:

PS Hi Martin

PS Thanks for your suggestion, unfortunately I get the same  error. The error 
log gives:

PS ERROR (2012-12-27) 15:30.46:723 [flow] (/office/deletefile_) 
PoolThread-4/JSErrorReporter:
PSfile:///D:/cocoon-2.1.11-wl/build/webapp/office/flow/deletefile.js, line 
13: missing name after .
PS operator
PS ERROR (2012-12-27) 15:30.46:723 [sitemap.handled-errors] 
(/office/deletefile_)
PS PoolThread-4/ErrorHandlerHelper: Sitemap: error calling function 
'deletefile'
PS  at map:call -
PSfile:///D:/cocoon-2.1.11-wl/build/webapp/office/sitemap.xmap:230:37
PS  at map:mount -
PSfile:///D:/cocoon-2.1.11-wl/build/webapp/sitemap.xmap:783:90
PS org.mozilla.javascript.EvaluatorException:
PSfile:///D:/cocoon-2.1.11-wl/build/webapp/office/flow/deletefile.js, line 
1: Compilation produced 1
PS syntax errors.
PS  at
PS 
org.apache.cocoon.components.flow.javascript.JSErrorReporter.runtimeError(JSErrorReporter.java:67)

PS regards

PS Peter


PS On 27/12/2012 11:42, Martin Heiden wrote:

Hi Peter,

PS  //Delete file
PS  Packages.java.io.File.xml_file.delete();

Try

xml_file.delete();

You just have to add the full path to the class when you
construct it. After this, the variable contains a reference and you
can just use it.

Regards,

Martin.


Thursday, December 27, 2012, 10:28:31 AM, you wrote:

PS Hi,

PS I am trying to delete xml files using the following flowscript:

PS function deletefile() {

PS  //file to be deleted
PS  var file =
PS Packages.java.lang.String(cocoon.parameters[file]);

PS  try {
PS  // creating a link to the file to be deleted
PS  var xml_file =
PS Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file
PS + .xml);

PS  //Delete file
PS  Packages.java.io.File.xml_file.delete();

PS  //  .txt file with OK message
PS  cocoon.sendPage(success.txt, null);
PS  }
PS  catch(ex){
PS  cocoon.log.error(ex);
PS  // Smth. went wrong. Sending a error.txt file to the browser
PScocoon.sendPage(error.txt, null);
PS  }

PS }

PS and get Compilation produced 1 syntax errors

PS The error log contains:

PS ERROR deletefile.js, line 13: missing name after . 
operator

PS line 13 is:

PS Packages.java.io.File.xml_file.delete();

PS What I am doing wrong?

PS Peter







-
To unsubscribe, e-mail:users-unsubscr...@cocoon.apache.org
For additional commands, e-mail:users-h...@cocoon.apache.org





Ciao,
  Martin


-
To unsubscribe, e-mail:users-unsubscr...@cocoon.apache.org
For additional commands, e-mail:users-h...@cocoon.apache.org








Re: Flowscript - delete file

2012-12-29 Thread insigh...@gmail.com

Hi Peter,

It's not flowscript, but I believe one can also use the source-writing 
transformer to delete xml files from the filesystem:


page
   ...
   source:delete
 source:sourcecontext://doc/editable/my.xml/source:source
   source:delete
   ...
 /page

One can insert the exact filename via a sitemap parameter/xslt variable earlier 
in the chain, then use:

map:transform type=write-source/

to delete.

See: https://cocoon.apache.org/2.1/userdocs/sourcewriting-transformer.html

Dan




On 2012-12-29 3:05 AM, Peter Sparkes wrote:

Solved

I found the answer at 
http://markmail.org/message/7psype56uhu5kbad#query:+page:1+mid:ezqkl6i255bjdw75+state:results


I amended file.delete(); to:

file[delete]();

and it works,  the file is deleted. However, I don't know why it works

Thank you all for your help

Peter





RE: Flowscript - delete file

2012-12-29 Thread Robby Pelssers
Hi Peter,

I did not test the script I wrote actually and I can tell you why the script 
runs into an error.

.delete() is also a javascript method on an object.  It will delete a property 
by the name you specify.  As you clearly want to call the delete method on the 
file you need to use the workaround you used.

Kind regards,
Robby

From: Peter Sparkes [mailto:pe...@didm.co.uk]
Sent: Saturday, December 29, 2012 8:58 AM
To: users@cocoon.apache.org
Subject: Re: Flowscript - delete file

Hi Martin and Robby,

Thank you both for your help, what I have ended up with is:

importClass(Packages.java.io.File);
importClass(Packages.java.io.FileNotFoundException);

function deletefile() {

//var filePath = cocoon.parameters[file];

var filePath = D:/cocoon-2.1.11-wl/build/webapp/BB/xml/.xml;  //for 
testing
var file = new File(filePath);
 try {
if (!file.exists()) {
   throw new FileNotFoundException(filePath);
}
file.delete();

cocoon.sendPage('deletefilesuccess',{file:filePathfile:///\\filePath});
} catch (e) {
cocoon.sendPage('deletefileerror',{file:efile:///\\e});
}
}

However, file.delete(); produces a syntax error.

If I comment out file.delete(), the rest of the script works correctly:

  *   If .xml exists, deletefilesuccess is accessed
  *   If .xml does not exist, deletefileerror is accessed and I get:

Error File java.io.FileNotFoundException: 
D:/cocoon-2.1.11-wl/build/webapp/BB/xml/.xml Not Found
What's wrong with file.delete(); ?

Regards

Peter



On 27/12/2012 18:35, Martin Heiden wrote:

Hi Peter,



Ok, I missed something:



 var xml_file = 
Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file + 
.xml);



should be:



 var xml_file = new 
Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file + 
.xml);



But you should try the function Robby sent to the list. It's much

cleaner.



Regards,



  Martin.





Thursday, December 27, 2012, 6:12:08 PM, you wrote:



PS Hi Martin



PS Thanks for your suggestion, unfortunately I get the same  error. The error 
log gives:



PS ERROR (2012-12-27) 15:30.46:723 [flow] (/office/deletefile_) 
PoolThread-4/JSErrorReporter:

PS 
file:///D:/cocoon-2.1.11-wl/build/webapp/office/flow/deletefile.jsfile:///D:\cocoon-2.1.11-wl\build\webapp\office\flow\deletefile.js,
 line 13: missing name after .

PS operator

PS ERROR (2012-12-27) 15:30.46:723 [sitemap.handled-errors] 
(/office/deletefile_)

PS PoolThread-4/ErrorHandlerHelper: Sitemap: error calling function 
'deletefile'

PS  at map:call -

PS 
file:///D:/cocoon-2.1.11-wl/build/webapp/office/sitemap.xmap:230:37file:///D:\cocoon-2.1.11-wl\build\webapp\office\sitemap.xmap:230:37

PS  at map:mount -

PS 
file:///D:/cocoon-2.1.11-wl/build/webapp/sitemap.xmap:783:90file:///D:\cocoon-2.1.11-wl\build\webapp\sitemap.xmap:783:90

PS org.mozilla.javascript.EvaluatorException:

PS 
file:///D:/cocoon-2.1.11-wl/build/webapp/office/flow/deletefile.jsfile:///D:\cocoon-2.1.11-wl\build\webapp\office\flow\deletefile.js,
 line 1: Compilation produced 1

PS syntax errors.

PS  at

PS 
org.apache.cocoon.components.flow.javascript.JSErrorReporter.runtimeError(JSErrorReporter.java:67)



PS regards



PS Peter





PS On 27/12/2012 11:42, Martin Heiden wrote:

Hi Peter,



PS  //Delete file

PS  Packages.java.io.File.xml_file.delete();



Try



xml_file.delete();



You just have to add the full path to the class when you

construct it. After this, the variable contains a reference and you

can just use it.



Regards,



   Martin.





Thursday, December 27, 2012, 10:28:31 AM, you wrote:



PS Hi,



PS I am trying to delete xml files using the following flowscript:



PS function deletefile() {



PS  //file to be deleted

PS  var file =

PS Packages.java.lang.String(cocoon.parameters[file]);



PS  try {

PS  // creating a link to the file to be deleted

PS  var xml_file =

PS Packages.java.io.File(D:\cocoon-2.1.11-wl\build\webapp\BB\xml + file

PS + .xml);



PS  //Delete file

PS  Packages.java.io.File.xml_file.delete();



PS  //  .txt file with OK message

PS  cocoon.sendPage(success.txt, null);

PS  }

PS  catch(ex){

PS  cocoon.log.error(ex);

PS  // Smth. went wrong. Sending a error.txt file to the browser

PScocoon.sendPage(error.txt, null);

PS  }



PS }



PS and get Compilation produced 1 syntax errors



PS The error log contains:



PS ERROR deletefile.js, line 13: missing name after . 
operator



PS line 13 is:



PS Packages.java.io.File.xml_file.delete();



PS What I am doing wrong?



PS Peter















-

To unsubscribe, e-mail: