diff --git a/fj-doc-base/src/main/java/org/fugerit/java/doc/base/config/DocInput.java b/fj-doc-base/src/main/java/org/fugerit/java/doc/base/config/DocInput.java index d865dd793..c0018d722 100644 --- a/fj-doc-base/src/main/java/org/fugerit/java/doc/base/config/DocInput.java +++ b/fj-doc-base/src/main/java/org/fugerit/java/doc/base/config/DocInput.java @@ -6,6 +6,7 @@ import org.fugerit.java.doc.base.model.DocBase; import lombok.Getter; +import org.fugerit.java.doc.base.process.DocProcessContext; public class DocInput { @@ -15,6 +16,8 @@ public class DocInput { @Getter private int source; + @Getter private DocProcessContext context; + private DocBase doc; public DocBase getDoc() { @@ -31,11 +34,16 @@ public DocInput(String type, DocBase doc, Reader reader) { } public DocInput(String type, DocBase doc, Reader reader, int source) { + this(type, doc, reader, source, null); + } + + public DocInput(String type, DocBase doc, Reader reader, int source, DocProcessContext context) { super(); this.type = type; this.reader = reader; this.doc = doc; this.source = source; + this.context = context; } public static DocInput newInput( String type, DocBase doc ) { @@ -58,5 +66,12 @@ public static DocInput newInput( String type, DocBase doc, Reader reader, int so return new DocInput( type, doc, reader, source ); } - + public static DocInput newInput( String type, Reader reader, int source, DocProcessContext context ) { + return newInput( type, null, reader, source, context ); + } + + public static DocInput newInput( String type, DocBase doc, Reader reader, int source, DocProcessContext context ) { + return new DocInput( type, doc, reader, source, context ); + } + } diff --git a/fj-doc-base/src/main/resources/META-INF/native-image/org.fugerit.java/fj-doc-base/reflect-config.json b/fj-doc-base/src/main/resources/META-INF/native-image/org.fugerit.java/fj-doc-base/reflect-config.json index 408adc460..399864159 100644 --- a/fj-doc-base/src/main/resources/META-INF/native-image/org.fugerit.java/fj-doc-base/reflect-config.json +++ b/fj-doc-base/src/main/resources/META-INF/native-image/org.fugerit.java/fj-doc-base/reflect-config.json @@ -2412,12 +2412,18 @@ }, { "name" : "", "parameterTypes" : [ "java.lang.String", "org.fugerit.java.doc.base.model.DocBase", "java.io.Reader", "int" ] + }, { + "name" : "", + "parameterTypes" : [ "java.lang.String", "org.fugerit.java.doc.base.model.DocBase", "java.io.Reader", "int", "org.fugerit.java.doc.base.process.DocProcessContext" ] }, { "name" : "equals", "parameterTypes" : [ "java.lang.Object" ] }, { "name" : "getClass", "parameterTypes" : [ ] + }, { + "name" : "getContext", + "parameterTypes" : [ ] }, { "name" : "getDoc", "parameterTypes" : [ ] @@ -2439,6 +2445,9 @@ }, { "name" : "newInput", "parameterTypes" : [ "java.lang.String", "java.io.Reader", "int" ] + }, { + "name" : "newInput", + "parameterTypes" : [ "java.lang.String", "java.io.Reader", "int", "org.fugerit.java.doc.base.process.DocProcessContext" ] }, { "name" : "newInput", "parameterTypes" : [ "java.lang.String", "org.fugerit.java.doc.base.model.DocBase" ] @@ -2448,6 +2457,9 @@ }, { "name" : "newInput", "parameterTypes" : [ "java.lang.String", "org.fugerit.java.doc.base.model.DocBase", "java.io.Reader", "int" ] + }, { + "name" : "newInput", + "parameterTypes" : [ "java.lang.String", "org.fugerit.java.doc.base.model.DocBase", "java.io.Reader", "int", "org.fugerit.java.doc.base.process.DocProcessContext" ] }, { "name" : "notify", "parameterTypes" : [ ] diff --git a/fj-doc-base/src/test/java/test/org/fugerit/java/doc/base/config/TestDocInput.java b/fj-doc-base/src/test/java/test/org/fugerit/java/doc/base/config/TestDocInput.java index a42062e83..425ca1bd5 100644 --- a/fj-doc-base/src/test/java/test/org/fugerit/java/doc/base/config/TestDocInput.java +++ b/fj-doc-base/src/test/java/test/org/fugerit/java/doc/base/config/TestDocInput.java @@ -6,6 +6,7 @@ import org.fugerit.java.doc.base.config.DocInput; import org.fugerit.java.doc.base.facade.DocFacadeSource; import org.fugerit.java.doc.base.model.DocBase; +import org.fugerit.java.doc.base.process.DocProcessContext; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test; @@ -17,7 +18,7 @@ class TestDocInput { @Test void test1() { DocInput docInput = new DocInput( DocConfig.TYPE_PDF , new DocBase(), null ); - log.info( "docInput : {}" , docInput ); + log.info( "docInput 1 : {}" , docInput ); Assertions.assertNotNull( docInput.getDoc() ); } @@ -25,7 +26,7 @@ void test1() { void test2() { try ( StringReader reader = new StringReader( "" ) ) { DocInput docInput = DocInput.newInput( DocConfig.TYPE_PDF , reader, DocFacadeSource.SOURCE_TYPE_XML ); - log.info( "docInput : {}" , docInput ); + log.info( "docInput 2 : {}" , docInput ); Assertions.assertNotNull( docInput.getDoc() ); } } @@ -33,8 +34,18 @@ void test2() { @Test void test3() { DocInput docInput = new DocInput( DocConfig.TYPE_PDF , null, null ); - log.info( "docInput : {}" , docInput ); + log.info( "docInput 3 : {}" , docInput ); Assertions.assertNull( docInput.getDoc() ); } + + @Test + void test4() { + DocInput docInput = DocInput.newInput( + DocConfig.TYPE_PDF , null, + DocFacadeSource.SOURCE_TYPE_XML, + DocProcessContext.newContext() ); + log.info( "docInput 4 : {}" , docInput ); + Assertions.assertNull( docInput.getDoc() ); + } } diff --git a/fj-doc-freemarker/src/main/java/org/fugerit/java/doc/freemarker/process/FreemarkerDocProcessConfig.java b/fj-doc-freemarker/src/main/java/org/fugerit/java/doc/freemarker/process/FreemarkerDocProcessConfig.java index 37c6d09e3..7410a8dc6 100644 --- a/fj-doc-freemarker/src/main/java/org/fugerit/java/doc/freemarker/process/FreemarkerDocProcessConfig.java +++ b/fj-doc-freemarker/src/main/java/org/fugerit/java/doc/freemarker/process/FreemarkerDocProcessConfig.java @@ -113,7 +113,7 @@ public DocProcessData fullProcess( String chainId, DocProcessContext context, Do log.debug( "overrideSourceType {}, for chainId : {}", overrideSourceType, chainId ); context.withSourceType( overrideSourceType ); } - DocInput docInput = this.docInputProcess.process( DocInput.newInput( handler.getType() , data.getCurrentXmlReader(), context.getSourceType() ) ); + DocInput docInput = this.docInputProcess.process( DocInput.newInput( handler.getType() , data.getCurrentXmlReader(), context.getSourceType(), context ) ); handler.handle( docInput , docOutput ); return data; } diff --git a/fj-doc-mod-fop/src/main/java/org/fugerit/java/doc/mod/fop/FopConfig.java b/fj-doc-mod-fop/src/main/java/org/fugerit/java/doc/mod/fop/FopConfig.java index 36c097848..e97c7ac37 100644 --- a/fj-doc-mod-fop/src/main/java/org/fugerit/java/doc/mod/fop/FopConfig.java +++ b/fj-doc-mod-fop/src/main/java/org/fugerit/java/doc/mod/fop/FopConfig.java @@ -7,6 +7,6 @@ public interface FopConfig extends Serializable { - public FopFactory newFactory() throws ConfigException; + FopFactory newFactory() throws ConfigException; }