Re: Vadim : RE: XSP Upload example - I do not understand
Hi, You can use an action to move the attachment to where you want. Here's how: http://marc.theaimsgroup.com/?l=xml-cocoon-devm=101878098524370w=2 Jeroen - Original Message - From: Chitharanjan Das [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Wednesday, June 12, 2002 12:32 AM Subject: RE: Vadim : RE: XSP Upload example - I do not understand Thanks a million I understand it now... Let me try to clarify 1. Upload directory is read from init parameter. Hence it is kinda fixed . 2. We do not get the control of uploaded files. As soon as the Cocoon gets a request. The request is processed for Multipart request processing. Is this how it has to be processed ? The only way to change this is to provide my own version of multi-part request processing factory. However, the problem is that you can have utmost one kind of behaviour. 3. In my implementation, I need to store the files in different directories, depending upon the type of files uploaded. How do you suggest I go ant it... Thanks in advance, Chiths -Original Message- From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 11, 2002 1:18 PM To: [EMAIL PROTECTED] Subject: RE: Vadim : RE: XSP Upload example - I do not understand From: Chitharanjan Das [mailto:[EMAIL PROTECTED]] Hello Vadim... If you might explain the upload functionality ... 1. Form with multipart data is submitted to upload.xsp 2. The form parameters have to be processed. I changed the form variable name from uploaded_file to files and still it works. 3. If I have to do additional processing like throw error if the file exists or the file needs to be stored in a specific pattern say $upload_directory/date/user/filename_uniqueId. How can I customize it. Look into the source. Start with CocoonServlet: HttpServletRequest request = RequestFactory.getRequestFactory(requestFactoryClass).getServletRequest( req, CocoonServlet.SAVE_UPLOADED_FILES_TO_DISK, this.uploadDir, CocoonServlet.ALLOW_OVERWRITE, CocoonServlet.SILENTLY_RENAME, this.maxUploadSize); 4. If there are additional form elements, how do I process them. 5. Where is the upload functionality being invoked.. Its kind a vague (for my intellect). From the servlet, see line(s) above. Vadim Thanks in Advance, Chiths -Original Message- From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 11, 2002 6:51 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: XSP Upload example - I do not understand From: Stefan Riegel [mailto:[EMAIL PROTECTED]] Hello, everybody, I do not understand the XSP upload example. Yes, it works fine, but I would like to understand as much as possible. I guess their is some magic behind the scene. I did some reading of the API Javadoc, but I'am still not experienced enough reading source code. What to do? Should I give up learning Cocoon :-( Try reading Java source code generated from the XSP. The example XSP-Source follows. I added comments about what I don't understand. ?xml version=1.0 encoding=ISO-8859-1? !-- CVS: $Id: upload.xsp,v 1.3 2002/02/09 06:21:57 vgritsenko Exp $ -- !-- QUESTION: the namespace declarations for request, response and log are not used and could be omitted? Is this correct? -- If not used then can be omitted. xsp:page language=java xmlns:xsp=http://apache.org/xsp; xmlns:xsp-request=http://apache.org/xsp/request/2.0; xmlns:xsp-response=http://apache.org/xsp/response/2.0; xmlns:log=http://apache.org/xsp/log/2.0; xsp:structure !-- QUESTION: Same with the XSPUtil import. Am I right? -- Same. xsp:includeorg.apache.cocoon.components.language.markup.xsp.XSPUtil/x sp:i nclude xsp:includeorg.apache.avalon.framework.context.ContextException/xsp:i nclu de /xsp:structure !-- QUESTIONS: I do not understand this part. Who calls conceptualize? Contextualize. Avalon does. See http://jakarta.apache.org/avalon/framework/reference-the-lifecycle.html Where does context (org.apache.cocoon.generation.ServletGenerator.context?) come from? Avalon gives. http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/context /Context.html And the get method of context? See link above. Their must be some build in upload functionality, please explain if You are patient enough. Yes, there is. And it uses maybeupload library, or Multipart request parser. See org.apache.cocoon.components.request package. Vadim -- xsp:logic
Re: Vadim : RE: XSP Upload example - I do not understand
Jeroen ter Voorde wrote: Hi, You can use an action to move the attachment to where you want. Here's how: http://marc.theaimsgroup.com/?l=xml-cocoon-devm=101878098524370w=2 Or fix the upload mechanism ;-) Having to pass upload stuff conf to Cocoon directly is an ugly hack, that nobody ever took time to change. If you are willing... -- Nicola Ken Barozzi [EMAIL PROTECTED] - verba volant, scripta manent - (discussions get forgotten, just code remains) - - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Vadim : RE: XSP Upload example - I do not understand
From: Chitharanjan Das [mailto:[EMAIL PROTECTED]] Hello Vadim... If you might explain the upload functionality ... 1. Form with multipart data is submitted to upload.xsp 2. The form parameters have to be processed. I changed the form variable name from uploaded_file to files and still it works. 3. If I have to do additional processing like throw error if the file exists or the file needs to be stored in a specific pattern say $upload_directory/date/user/filename_uniqueId. How can I customize it. Look into the source. Start with CocoonServlet: HttpServletRequest request = RequestFactory.getRequestFactory(requestFactoryClass).getServletRequest( req, CocoonServlet.SAVE_UPLOADED_FILES_TO_DISK, this.uploadDir, CocoonServlet.ALLOW_OVERWRITE, CocoonServlet.SILENTLY_RENAME, this.maxUploadSize); 4. If there are additional form elements, how do I process them. 5. Where is the upload functionality being invoked.. Its kind a vague (for my intellect). From the servlet, see line(s) above. Vadim Thanks in Advance, Chiths -Original Message- From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 11, 2002 6:51 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: XSP Upload example - I do not understand From: Stefan Riegel [mailto:[EMAIL PROTECTED]] Hello, everybody, I do not understand the XSP upload example. Yes, it works fine, but I would like to understand as much as possible. I guess their is some magic behind the scene. I did some reading of the API Javadoc, but I'am still not experienced enough reading source code. What to do? Should I give up learning Cocoon :-( Try reading Java source code generated from the XSP. The example XSP-Source follows. I added comments about what I don't understand. ?xml version=1.0 encoding=ISO-8859-1? !-- CVS: $Id: upload.xsp,v 1.3 2002/02/09 06:21:57 vgritsenko Exp $ -- !-- QUESTION: the namespace declarations for request, response and log are not used and could be omitted? Is this correct? -- If not used then can be omitted. xsp:page language=java xmlns:xsp=http://apache.org/xsp; xmlns:xsp-request=http://apache.org/xsp/request/2.0; xmlns:xsp-response=http://apache.org/xsp/response/2.0; xmlns:log=http://apache.org/xsp/log/2.0; xsp:structure !-- QUESTION: Same with the XSPUtil import. Am I right? -- Same. xsp:includeorg.apache.cocoon.components.language.markup.xsp.XSPUtil/x sp:i nclude xsp:includeorg.apache.avalon.framework.context.ContextException/xsp:i nclu de /xsp:structure !-- QUESTIONS: I do not understand this part. Who calls conceptualize? Contextualize. Avalon does. See http://jakarta.apache.org/avalon/framework/reference-the-lifecycle.html Where does context (org.apache.cocoon.generation.ServletGenerator.context?) come from? Avalon gives. http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/context /Context.html And the get method of context? See link above. Their must be some build in upload functionality, please explain if You are patient enough. Yes, there is. And it uses maybeupload library, or Multipart request parser. See org.apache.cocoon.components.request package. Vadim -- xsp:logic File uploadDir = null; /** Contextualize this class */ public void contextualize(Context context) throws ContextException { uploadDir = (File) context.get(Constants.CONTEXT_UPLOAD_DIR); } /xsp:logic page titleThis form allows you upload files/title content para form method=post enctype=multipart/form-data action=upload.xsp File: input type=file name=uploaded_file size=50 / pinput type=submit value=Upload File //p /form /para para ul xsp:logic getLogger().debug(Dir= + uploadDir); String[] filelist = uploadDir.list(); ![CDATA[ getLogger().debug(List= + filelist.length); for (int i = 0; i filelist.length; i++) { getLogger().debug(File [ + i + ]= + filelist[i]); ]] li xsp:exprfilelist[i]/xsp:expr /li ![CDATA[ } ]] /xsp:logic /ul /para paraBrought to you by Cocoon at xsp:exprnew Date()/xsp:expr./para /content /page /xsp:page Thank You. Regards Stefan -- Stefan Riegel - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe,
RE: Vadim : RE: XSP Upload example - I do not understand
Thanks a million I understand it now... Let me try to clarify 1. Upload directory is read from init parameter. Hence it is kinda fixed . 2. We do not get the control of uploaded files. As soon as the Cocoon gets a request. The request is processed for Multipart request processing. Is this how it has to be processed ? The only way to change this is to provide my own version of multi-part request processing factory. However, the problem is that you can have utmost one kind of behaviour. 3. In my implementation, I need to store the files in different directories, depending upon the type of files uploaded. How do you suggest I go ant it... Thanks in advance, Chiths -Original Message- From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 11, 2002 1:18 PM To: [EMAIL PROTECTED] Subject: RE: Vadim : RE: XSP Upload example - I do not understand From: Chitharanjan Das [mailto:[EMAIL PROTECTED]] Hello Vadim... If you might explain the upload functionality ... 1. Form with multipart data is submitted to upload.xsp 2. The form parameters have to be processed. I changed the form variable name from uploaded_file to files and still it works. 3. If I have to do additional processing like throw error if the file exists or the file needs to be stored in a specific pattern say $upload_directory/date/user/filename_uniqueId. How can I customize it. Look into the source. Start with CocoonServlet: HttpServletRequest request = RequestFactory.getRequestFactory(requestFactoryClass).getServletRequest( req, CocoonServlet.SAVE_UPLOADED_FILES_TO_DISK, this.uploadDir, CocoonServlet.ALLOW_OVERWRITE, CocoonServlet.SILENTLY_RENAME, this.maxUploadSize); 4. If there are additional form elements, how do I process them. 5. Where is the upload functionality being invoked.. Its kind a vague (for my intellect). From the servlet, see line(s) above. Vadim Thanks in Advance, Chiths -Original Message- From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 11, 2002 6:51 AM To: [EMAIL PROTECTED]; [EMAIL PROTECTED] Subject: RE: XSP Upload example - I do not understand From: Stefan Riegel [mailto:[EMAIL PROTECTED]] Hello, everybody, I do not understand the XSP upload example. Yes, it works fine, but I would like to understand as much as possible. I guess their is some magic behind the scene. I did some reading of the API Javadoc, but I'am still not experienced enough reading source code. What to do? Should I give up learning Cocoon :-( Try reading Java source code generated from the XSP. The example XSP-Source follows. I added comments about what I don't understand. ?xml version=1.0 encoding=ISO-8859-1? !-- CVS: $Id: upload.xsp,v 1.3 2002/02/09 06:21:57 vgritsenko Exp $ -- !-- QUESTION: the namespace declarations for request, response and log are not used and could be omitted? Is this correct? -- If not used then can be omitted. xsp:page language=java xmlns:xsp=http://apache.org/xsp; xmlns:xsp-request=http://apache.org/xsp/request/2.0; xmlns:xsp-response=http://apache.org/xsp/response/2.0; xmlns:log=http://apache.org/xsp/log/2.0; xsp:structure !-- QUESTION: Same with the XSPUtil import. Am I right? -- Same. xsp:includeorg.apache.cocoon.components.language.markup.xsp.XSPUtil/x sp:i nclude xsp:includeorg.apache.avalon.framework.context.ContextException/xsp:i nclu de /xsp:structure !-- QUESTIONS: I do not understand this part. Who calls conceptualize? Contextualize. Avalon does. See http://jakarta.apache.org/avalon/framework/reference-the-lifecycle.html Where does context (org.apache.cocoon.generation.ServletGenerator.context?) come from? Avalon gives. http://jakarta.apache.org/avalon/api/org/apache/avalon/framework/context /Context.html And the get method of context? See link above. Their must be some build in upload functionality, please explain if You are patient enough. Yes, there is. And it uses maybeupload library, or Multipart request parser. See org.apache.cocoon.components.request package. Vadim -- xsp:logic File uploadDir = null; /** Contextualize this class */ public void contextualize(Context context) throws ContextException { uploadDir = (File) context.get(Constants.CONTEXT_UPLOAD_DIR); } /xsp:logic page titleThis form allows you upload files/title content para form method=post enctype=multipart/form-data action=upload.xsp File: input type=file name=uploaded_file size=50 / pinput type=submit value=Upload File //p /form /para para
RE: Vadim : RE: XSP Upload example - I do not understand
From: Chitharanjan Das [mailto:[EMAIL PROTECTED]] Thanks a million I understand it now... Let me try to clarify 1. Upload directory is read from init parameter. Hence it is kinda fixed . 2. We do not get the control of uploaded files. As soon as the Cocoon gets a request. The request is processed for Multipart request processing. Is this how it has to be processed ? The only way to change this is to provide my own version of multi-part request processing factory. However, the problem is that you can have utmost one kind of behaviour. 3. In my implementation, I need to store the files in different directories, depending upon the type of files uploaded. How do you suggest I go ant it... File.renameTo() should work like move, isn't it? Vadim Thanks in advance, Chiths -Original Message- From: Vadim Gritsenko [mailto:[EMAIL PROTECTED]] Sent: Tuesday, June 11, 2002 1:18 PM To: [EMAIL PROTECTED] Subject: RE: Vadim : RE: XSP Upload example - I do not understand From: Chitharanjan Das [mailto:[EMAIL PROTECTED]] Hello Vadim... If you might explain the upload functionality ... 1. Form with multipart data is submitted to upload.xsp 2. The form parameters have to be processed. I changed the form variable name from uploaded_file to files and still it works. 3. If I have to do additional processing like throw error if the file exists or the file needs to be stored in a specific pattern say $upload_directory/date/user/filename_uniqueId. How can I customize it. Look into the source. Start with CocoonServlet: HttpServletRequest request = RequestFactory.getRequestFactory(requestFactoryClass).getServletRequest( req, CocoonServlet.SAVE_UPLOADED_FILES_TO_DISK, this.uploadDir, CocoonServlet.ALLOW_OVERWRITE, CocoonServlet.SILENTLY_RENAME, this.maxUploadSize); 4. If there are additional form elements, how do I process them. 5. Where is the upload functionality being invoked.. Its kind a vague (for my intellect). From the servlet, see line(s) above. Vadim ... - Please check that your question has not already been answered in the FAQ before posting. http://xml.apache.org/cocoon/faq/index.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]