On Aug 24, 2008, at 6:40 AM, Wang Ning wrote: > Hi, > > Yes, I think it's necessary, if the client want to control the > output directory.
Ok I've thought a bit about this and here's what I propose: 1) Introduce a new ConverterOutput interface with the following methods: - saveImage(String imageName, InputStream imageData); - saveDocument(InputStream documentData); 2) Modify Converter interface to be: void convert(InputStream sourceData, OfficeDocumentType sourceType, ConverterOutput outputData, OfficeDocumentType outputType); 3) Provide 1 implementation of ConverterOutput for the moment (+ a mock one for the unit tests of the Converter): XWikiDocumentConverterOutput. This implementation stores the result of the conversion in a XWiki Document (it's name/location is passed in the constructor). In the future if we need other implementations we could add them (like a FileConverterOutput, etc) but they're not needed for now. Note 1: 3) is much cleaner and allows to move some of the code in the plugin to the XWikiDocumentConverterOutput class. Note 2: We can fully read the sourceData internally to save the input data to a file in a XWiki temporary directory (and thus control the output of the image files by jodconverter) WDYT? Thanks -Vincent PS: In the future please use the mailing list for everything related to xwiki. > > In jodconverter, there a two main interface: > > 1) void convertInternal(InputStream inputStream, DocumentFormat > inputFormat, OutputStream outputStream, DocumentFormat outputFormat); > > 2) void convertInternal(File inputFile, DocumentFormat inputFormat, > File outputFile, DocumentFormat outputFormat); > > The 1) just create a temp file for the outputstream in the system temp > directory. So if you want to control the output file directory, you > just have to change system temp directory which is not a way. In our > case, we want to get all the output when convert to html. So I don't > think this interface is enough. > > The 2) interface just can output all the result file to the > outputFile's directory which can get from xwiki.getTempFile(). > Maybe you think we can use two Files in clients and deliver the > FileOutputStream and FileInputStream to the 1) interface, you just get > one output file in the FileOutputStream and can get the other results. > The client still can't get the temp directory where the other output > files. > > WDYT? > > On Sun, Aug 24, 2008 at 4:02 AM, Vincent Massol <[EMAIL PROTECTED]> > wrote: >> Hi Wang, >> >> On Aug 23, 2008, at 9:55 PM, Wang Ning wrote: >> >>> Hi Vincent, >>> >>> I add a interface in the OfficeConverter >>> void convert(File inputFile, OfficeDocumentType inputDocumentType, >>> File outputFile, >>> OfficeDocumentType outputDocumentType) throws >>> OfficeConverterException; >>> I think this useful. >> >> I don't think we need this since you can use a FileInputStream and a >> FileOutputStream. >> >> Thanks >> -Vincent >> >>> And I change the OfficeConverterPlugin that I can control the output >>> directory of the conversion. _______________________________________________ devs mailing list [email protected] http://lists.xwiki.org/mailman/listinfo/devs

