Is the -c user config option implemented???

2003-04-01 Thread Robert Kylberg
I'm reviewing the developer branch code and believe that although 
CommandLineOptions parses the -c option and caches a userConfigFile, 
the config file is not processed. FOP 0.20.5rc2 has an 
org.apache.fop.configuration package for handling the -c option. Hence 
it appears the -c option is not yet implemented on the developer branch.

Could someone please confirm if this is correct and tell me the status 
of re-enabling the -c option on the developer branch?

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


Re: Is the -c user config option implemented???

2003-04-01 Thread Keiron Liddle
 Thanks Keiron for the feedback!
 
 I found and reviewed the discussion regarding the move to Avalon (ref:  
 http://marc.theaimsgroup.com/?l=fop-devm=10226606705w=2 ).
 
 I also appreciate your point that some aspects of configuration have  
 already been 're-enabled'; as exemplified in CommandLineStarter.run()  
 which calls commandLineOptions.getOutputFile() and  
 commandLineOptions.getRendererOptions().
 
 I want to use the -c option to import a font refed in a userconfig.xml  
 file as per  
 http://xml.apache.org/fop/fonts.html#Register+the+fonts+within+FOP- 
 N10261
 
 I can see that CommandLineOptions.parseOptions(...) is caching my  
 userconfig.xml file in its userConfigFile member. Grepping the source  
 does not reveal anyone calling the getUserConfigFile() accessor and I'm  
 unable to find anyone parsing the userConfigFile, so this is what I  
 mean when I say that I suspect configuration is not completely  
 re-enabled.

To get the configuration we will probably use the DefaultConfigurationBuilder in 
avalon framework:
http://avalon.apache.org/framework/api/index.html
The buildFromFile will return a Configuration object which holds all the 
configuration data.

If you then look in org.apache.fop.render.pdf.PDFRenderer in the configure 
method you will see that it reads the filter and font information.
I don't think there is any code to hook this up.

You could do the filename to Configuration object in the Driver. Then it could call 
configure on the Renderer. I think it will need to get a child Configuration object 
that matches the mime type for the renderer. Take a look at xml-fop/conf/fop.xconf 
for a draft of the configuration XML format.

Good luck. If you need any more help then give us a yell.

 So, I guess my question now is: Are CommandLineOptions.userConfigFile  
 font tags being processed? If so, then where? If not, then... yes,  
 given some pointers, I'm interested in helping to get it working.
 
 -- Bob


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



Re: Is the -c user config option implemented???

2003-04-01 Thread Jeremias Maerki
Here's some sample code I use for configuring the PDFRenderer for the
moment:

import org.apache.avalon.framework.ExceptionUtil;
import org.apache.avalon.framework.configuration.Configurable;
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.DefaultConfigurationBuilder;
import org.apache.avalon.framework.container.ContainerUtil;
import org.apache.avalon.framework.context.DefaultContext;
import org.apache.avalon.framework.logger.ConsoleLogger;
import org.apache.avalon.framework.logger.LogEnabled;
import org.apache.avalon.framework.logger.Logger;
import org.apache.fop.apps.Driver;
import org.apache.fop.apps.FOPException;
import org.apache.fop.fo.FOUserAgent;
import org.apache.fop.pdf.PDFEncryptionParams;

[..]

public void convertFO2PDF(File fo, File pdf) throws Exception {
Logger console = new ConsoleLogger(ConsoleLogger.LEVEL_INFO);

DefaultConfigurationBuilder cfgBuilder = new DefaultConfigurationBuilder();
Configuration cfg = cfgBuilder.buildFromFile(
D:/Java/workspace/FOP Main Sandbox/src/xml/pdf-renderer-cfg.xml);

//Construct driver
Driver driver = new Driver();

//Setup logger
driver.enableLogging(console);

FOUserAgent ua = new FOUserAgent();
ua.enableLogging(console);
ua.setBaseURL();
//ua.setPDFEncryptionParams(new PDFEncryptionParams(null, owner, false, 
false, true, true));
driver.setUserAgent(ua);

driver.initialize();

//Setup Renderer (output format)
driver.setRenderer(Driver.RENDER_PDF);
ContainerUtil.configure(driver.getRenderer(), cfg.getChild(pdf-renderer));
driver.getRenderer().setCreator(DebugFO2PDF.class.getName() +  (dödeldädel));

//Setup output
OutputStream out = new java.io.FileOutputStream(pdf);
out = new java.io.BufferedOutputStream(out);
try {
driver.setOutputStream(out);

//Setup input
InputStream in = new java.io.FileInputStream(fo);
try {
driver.setInputSource(new InputSource(in));

//Process FO
driver.run();
} finally {
in.close();
}
} finally {
out.close();
}
}

We decided at one time to rewrite the CLI using Commons CLI so I'm not
sure if it is worth a lot of effort to fix the current CLI in the
redesign. Also, doing the move to Commons CLI now could mean some
rewriting as soon as the Avalon Container is in place. But that's
probably not so bad. As Keiron said, just yell if you need help. I'm
looking forward to any patch on the redesign!

On 02.04.2003 05:27:26 Keiron Liddle wrote:
  Thanks Keiron for the feedback!
  
  I found and reviewed the discussion regarding the move to Avalon (ref:  
  http://marc.theaimsgroup.com/?l=fop-devm=10226606705w=2 ).
  
  I also appreciate your point that some aspects of configuration have  
  already been 're-enabled'; as exemplified in CommandLineStarter.run()  
  which calls commandLineOptions.getOutputFile() and  
  commandLineOptions.getRendererOptions().
  
  I want to use the -c option to import a font refed in a userconfig.xml  
  file as per  
  http://xml.apache.org/fop/fonts.html#Register+the+fonts+within+FOP- 
  N10261
  
  I can see that CommandLineOptions.parseOptions(...) is caching my  
  userconfig.xml file in its userConfigFile member. Grepping the source  
  does not reveal anyone calling the getUserConfigFile() accessor and I'm  
  unable to find anyone parsing the userConfigFile, so this is what I  
  mean when I say that I suspect configuration is not completely  
  re-enabled.
 
 To get the configuration we will probably use the DefaultConfigurationBuilder in 
 avalon framework:
 http://avalon.apache.org/framework/api/index.html
 The buildFromFile will return a Configuration object which holds all the 
 configuration data.
 
 If you then look in org.apache.fop.render.pdf.PDFRenderer in the configure 
 method you will see that it reads the filter and font information.
 I don't think there is any code to hook this up.
 
 You could do the filename to Configuration object in the Driver. Then it could call 
 configure on the Renderer. I think it will need to get a child Configuration object 
 that matches the mime type for the renderer. Take a look at xml-fop/conf/fop.xconf 
 for a draft of the configuration XML format.
 
 Good luck. If you need any more help then give us a yell.
 
  So, I guess my question now is: Are CommandLineOptions.userConfigFile  
  font tags being processed? If so, then where? If not, then... yes,  
  given some pointers, I'm interested in helping to get it working.


Jeremias Maerki


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