[jira] [Created] (FOP-3238) baseURI given for FopFactoryBuilder is overridden <base> in fop.xconf, but only if URI in <base> is absolute

"Michael Kainzbauer (Jira)" <[email protected]>
Newsgroups gmane.text.xml.fop.devel
Message-ID <[email protected]>
Michael Kainzbauer created FOP-3238:
---------------------------------------

             Summary: baseURI given for FopFactoryBuilder is overridden <base> in fop.xconf, but only if URI in <base> is absolute
                 Key: FOP-3238
                 URL: https://issues.apache.org/jira/browse/FOP-3238
             Project: FOP
          Issue Type: Bug
          Components: documentation
    Affects Versions: 2.10
            Reporter: Michael Kainzbauer
         Attachments: InitFopFactory.java

I am not sure if this is only a documentation issue or a bug.

{*}Observed behavior{*}:

When I create a FopFactoryBuilder like so:

{{var baseURI = new URI("http://example.com");}}
{{var fopFactoryBuilder = new FopFactoryBuilder(baseURI);}}
 
it's baseURI is set to {{{}"http://example.com"{}}}, which works as expected.
 
When I further set a configuration to this builder, which has a relative baseURI, 
 
{{var configWithRelativeBase = configurationBuilder.build(apacheXConfWithRelativeBaseURI());}}
{{fopFactoryBuilder.setConfiguration(configWithRelativeBase);}}
 
the baseURI remains {{{}"http://example.com"{}}}, as above.
 
 
When I instead set a configuration to this builder, which has a absolute baseURI, the baseURI changes to this value configured in <base></base>.
 
{*}Expected behavior{*}:
The baseURI for the factoryBuilder should change/not change, regardless if the baseURI from <base> in fop.xconf is absolute, or not. At least, the documentation should mention this behavior.
 
There is a footnote in the documentation: [https://xmlgraphics.apache.org/fop/2.10/configuration.html#fn:1]
 
{quote}Relative URIs for those properties are evaluated relative to the base URI of the configuration file. If the configuration is provided programmatically, the base URI can be set with {{FopFactory.setUserConfigBaseURI}} ; default is the current working directory{quote}
 
However, there is no {{setUserConfigBaseURI}}  in class {{{}FopFactory{}}}, which seems to be an error in the documentation.
 
Also, either the behavior of overwriting the baseURI passed to the constructor by the <base> value from fop.xconf is inconsistent or not documented correctly.
 
Please find a minimum example for reproducing this behavior attached to this issue.
 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.