Skip to content

Commit 4acf98f

Browse files
committed
Merge branch 'develop'
2 parents 56d35b9 + 131981c commit 4acf98f

File tree

9 files changed

+73
-21
lines changed

9 files changed

+73
-21
lines changed

docgen/parameters.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
{
22
"title" : "Venus (Fugerit Document Generation Framework)",
33
"name": "Venus",
4-
"version" : "0.5.11",
5-
"date" : "19/12/2022",
4+
"version" : "0.5.12",
5+
"date" : "20/12/2022",
66
"organization" : {
77
"name" : "Fugerit Org",
88
"url" : "https://www.fugerit.org"

docgen/release-notes.txt

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
1-
0.5.11 (2022-12-19)
1+
0.5.20 (2022-12-20)
2+
------------------
3+
+ Added compatibility check for Tiff Image Validator (required java 9+ at runtime)
4+
+ Updated fj-core version to 0.8.5
5+
6+
0.5.11 (2022-12-19)
27
------------------
38
+ Added doc type validation module (fj-doc-val)
9+
+ Now fj-doc requires java9+ at build time (will be build with java 11), java8 at runtime (some functionalities will not works)
410

511
0.5.10 (2022-12-12)
612
------------------

fj-doc-val/src/main/java/org/fugerit/java/doc/val/core/DocTypeValidator.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@ public interface DocTypeValidator {
1616

1717
boolean check( InputStream is ) throws IOException;
1818

19+
boolean checkCompatibility();
20+
1921
DocTypeValidationResult validate( InputStream is ) throws IOException;
2022

2123
}

fj-doc-val/src/main/java/org/fugerit/java/doc/val/core/DocValidatorFacade.java

Lines changed: 14 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,19 +31,23 @@ private DocValidatorFacade() {
3131
}
3232

3333
private boolean addValidator( DocTypeValidator validator ) {
34-
boolean ok = true;
35-
this.validators.add(validator);
36-
DocTypeValidator previous = this.mimMapValidator.put( validator.getMimeType(), validator );
37-
if ( previous != null ) {
38-
ok = false;
39-
logger.warn( "Validator {} has been overridden for mimeType {}", previous, validator.getMimeType() );
40-
}
41-
for ( String ext : validator.getSupportedExtensions() ) {
42-
previous = this.extMapValidator.put(ext, validator);
34+
boolean ok = validator.checkCompatibility();
35+
if ( ok ) {
36+
this.validators.add(validator);
37+
DocTypeValidator previous = this.mimMapValidator.put( validator.getMimeType(), validator );
4338
if ( previous != null ) {
4439
ok = false;
45-
logger.warn( "Validator {} has been overridden for extension {}", previous, ext );
40+
logger.warn( "Validator {} has been overridden for mimeType {}", previous, validator.getMimeType() );
4641
}
42+
for ( String ext : validator.getSupportedExtensions() ) {
43+
previous = this.extMapValidator.put(ext, validator);
44+
if ( previous != null ) {
45+
ok = false;
46+
logger.warn( "Validator {} has been overridden for extension {}", previous, ext );
47+
}
48+
}
49+
} else {
50+
logger.info( "Validator compatibility check failed : {}", validator );
4751
}
4852
return ok;
4953
}

fj-doc-val/src/main/java/org/fugerit/java/doc/val/core/basic/AbstractDocTypeValidator.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,11 @@ public boolean check(InputStream is) throws IOException {
6161
return this.validate(is).isResultOk();
6262
}
6363

64+
@Override
65+
public boolean checkCompatibility() {
66+
return true;
67+
}
68+
6469
@Override
6570
abstract public DocTypeValidationResult validate(InputStream is) throws IOException;
6671

fj-doc-val/src/main/java/org/fugerit/java/doc/val/core/basic/ImageValidator.java

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import javax.imageio.ImageReader;
1010
import javax.imageio.stream.ImageInputStream;
1111

12+
import org.fugerit.java.core.lang.helpers.JavaVersionHelper;
1213
import org.fugerit.java.doc.val.core.DocTypeValidationResult;
1314
import org.fugerit.java.doc.val.core.DocTypeValidator;
1415
import org.slf4j.Logger;
@@ -35,12 +36,14 @@ public class ImageValidator extends AbstractDocTypeValidator {
3536
/**
3637
* Tiff validator, only supported from java 9+
3738
*/
38-
public static final DocTypeValidator TIFF_VALIDATOR = new ImageValidator( MIME_TIFF, EXT_TIFF, FORMAT_TIFF );
39+
public static final DocTypeValidator TIFF_VALIDATOR = new ImageValidator( MIME_TIFF, EXT_TIFF, FORMAT_TIFF, JavaVersionHelper.MAJOR_VERSION_JAVA_9 );
3940

4041
private static final Logger logger = LoggerFactory.getLogger( ImageValidator.class );
4142

4243
private String format;
4344

45+
private int javaMajorVersionRequired;
46+
4447
@Override
4548
public DocTypeValidationResult validate(InputStream is) throws IOException {
4649
DocTypeValidationResult result = DocTypeValidationResult.newFail();
@@ -61,14 +64,25 @@ public DocTypeValidationResult validate(InputStream is) throws IOException {
6164
return result;
6265
}
6366

64-
protected ImageValidator(String mimeType, Set<String> supportedExtensions, String format) {
67+
protected ImageValidator(String mimeType, Set<String> supportedExtensions, String format, int javaMajorVersionRequired) {
6568
super(mimeType, supportedExtensions);
6669
this.format = format;
70+
this.javaMajorVersionRequired = javaMajorVersionRequired;
71+
}
72+
73+
protected ImageValidator(String mimeType, Set<String> supportedExtensions, String format) {
74+
this(mimeType, supportedExtensions, format, JavaVersionHelper.MAJOR_VERSION_JAVA_8);
6775
}
6876

69-
protected ImageValidator(String mimeType, String extension, String format) {
70-
super(mimeType, extension);
71-
this.format = format;
77+
@Override
78+
public boolean checkCompatibility() {
79+
boolean ok = super.checkCompatibility();
80+
int javaMajorVersionFound = JavaVersionHelper.parseUniversalJavaMajorVersion() ;
81+
if ( javaMajorVersionFound < this.javaMajorVersionRequired ) {
82+
ok = false;
83+
logger.warn( "java major version found : '{}' lower than required : '{}'", javaMajorVersionFound, this.javaMajorVersionRequired );
84+
}
85+
return ok;
7286
}
7387

7488
}

fj-doc-val/src/main/java/org/fugerit/java/doc/val/pdf/boc/PdfboxValidator.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,4 @@ public DocTypeValidationResult validate(InputStream is) {
3535
return result;
3636
}
3737

38-
39-
4038
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package test.org.fugerit.java.doc.val;
2+
3+
import org.fugerit.java.doc.val.core.DocValidatorFacade;
4+
import org.fugerit.java.doc.val.core.basic.ImageValidator;
5+
import org.junit.Test;
6+
7+
public class TestTiffValidator extends TestDocValidatorFacade {
8+
9+
private static final DocValidatorFacade FACADE = DocValidatorFacade.newFacadeStrict(
10+
ImageValidator.TIFF_VALIDATOR
11+
);
12+
13+
// note : only supported for java 9+
14+
@Test
15+
public void testTiffAsTiff() {
16+
this.worker(FACADE, "tiff_as_tiff.tiff", true );
17+
}
18+
@Test
19+
public void testTiffAsTiffExtTif() {
20+
this.worker(FACADE, "tiff_as_tiff.tif", true );
21+
}
22+
23+
}

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@
2424
<maven.compiler.source>${java-version-compliance}</maven.compiler.source>
2525
<maven.compiler.target>${java-version-compliance}</maven.compiler.target>
2626
<!-- fj java versions -->
27-
<fj-version>0.8.4</fj-version>
27+
<fj-version>0.8.5</fj-version>
2828
<fj-doc-version>${project.version}</fj-doc-version>
2929
</properties>
3030

0 commit comments

Comments
 (0)