Skip to content

Commit 54ea102

Browse files
0.5.3 (2022-11-21)
+ fj-doc-base fixed xsd version comparison (before was a normal string comparison) + fj-doc-mod-fop Fixed legacy compatibility of FopConfigClassLoader see [0.5.2](#7)
1 parent 879bcfb commit 54ea102

File tree

12 files changed

+161
-11
lines changed

12 files changed

+161
-11
lines changed

docgen/parameters.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"title" : "Venus (Fugerit Document Generation Framework)",
33
"name": "Venus",
4-
"version" : "0.5.2",
4+
"version" : "0.5.3",
55
"date" : "21/11/2022",
66
"organization" : {
77
"name" : "Fugerit Org",

docgen/release-notes.txt

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,9 @@
1-
0.5.2 (2022-11-21)
1+
0.5.3 (2022-11-21)
2+
------------------
3+
+ fj-doc-base fixed xsd version comparison (before was a normal string comparison)
4+
+ fj-doc-mod-fop Fixed legacy compatibility of FopConfigClassLoader see [0.5.2](https://github.com/fugerit-org/fj-doc/issues/7)
5+
6+
0.5.2 (2022-11-21)
27
------------------
38
+ fj-doc-sample semplified. (Reduced to only one test facade.)
49
+ Introduce new FopPrtTypeHandler config attribute 'fop-config-mode' (previous mode is deprecated) see [0.5.2](https://github.com/fugerit-org/fj-doc/issues/7)

fj-doc-base/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.fugerit.java</groupId>
99
<artifactId>fj-doc</artifactId>
10-
<version>0.5.2</version>
10+
<version>0.5.3</version>
1111
</parent>
1212

1313
<name>fj-doc-base</name>
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
package org.fugerit.java.doc.base.config;
2+
3+
import java.io.Serializable;
4+
5+
public final class DocVersion implements Serializable, Comparable<DocVersion> {
6+
7+
/**
8+
*
9+
*/
10+
private static final long serialVersionUID = -8717045616792106442L;
11+
12+
public static final DocVersion VERSION_1_0 = DocVersion.newVersion( "1-0" );
13+
public static final DocVersion VERSION_1_1 = DocVersion.newVersion( "1-1" );
14+
public static final DocVersion VERSION_1_2 = DocVersion.newVersion( "1-2" );
15+
public static final DocVersion VERSION_1_3 = DocVersion.newVersion( "1-3" );
16+
public static final DocVersion VERSION_1_4 = DocVersion.newVersion( "1-4" );
17+
public static final DocVersion VERSION_1_5 = DocVersion.newVersion( "1-5" );
18+
public static final DocVersion VERSION_1_6 = DocVersion.newVersion( "1-6" );
19+
public static final DocVersion VERSION_1_7 = DocVersion.newVersion( "1-7" );
20+
public static final DocVersion VERSION_1_8 = DocVersion.newVersion( "1-8" );
21+
public static final DocVersion VERSION_1_9 = DocVersion.newVersion( "1-9" );
22+
public static final DocVersion VERSION_1_10 = DocVersion.newVersion( "1-10" );
23+
24+
public static final DocVersion CURRENT_VERSION = VERSION_1_10;
25+
26+
public static final String VERSION_SEPARATOR ="-";
27+
28+
private int major;
29+
30+
private int minor;
31+
32+
private DocVersion( String version ) {
33+
String[] split = version.split( VERSION_SEPARATOR );
34+
this.major = Integer.parseInt( split[0] );
35+
this.minor = Integer.parseInt( split[1] );
36+
}
37+
38+
public int getMajor() {
39+
return major;
40+
}
41+
42+
public int getMinor() {
43+
return minor;
44+
}
45+
46+
public String stringVersion() {
47+
return this.getMajor()+VERSION_SEPARATOR+this.getMinor();
48+
}
49+
50+
@Override
51+
public String toString() {
52+
return this.stringVersion();
53+
}
54+
55+
@Override
56+
public int compareTo(DocVersion o) {
57+
return compare( this , o );
58+
}
59+
60+
public static int compare( String v1, String v2 ) {
61+
return compare( newVersion( v1 ) , newVersion( v2 ) );
62+
}
63+
64+
public static int compare( DocVersion v1, DocVersion v2 ) {
65+
int res = v1.getMajor() - v2.getMajor();
66+
if ( res == 0 ) {
67+
res = v1.getMinor() - v2.getMinor();
68+
}
69+
return res;
70+
}
71+
72+
public static DocVersion newVersion( String version ) {
73+
return new DocVersion(version);
74+
}
75+
76+
}

fj-doc-base/src/main/java/org/fugerit/java/doc/base/facade/DocFacade.java

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ The Apache Software Foundation (http://www.apache.org/).
4343
import org.fugerit.java.core.xml.sax.XMLValidatorSAX;
4444
import org.fugerit.java.core.xml.sax.dh.DefaultHandlerComp;
4545
import org.fugerit.java.core.xml.sax.er.ByteArrayEntityResolver;
46+
import org.fugerit.java.doc.base.config.DocVersion;
4647
import org.fugerit.java.doc.base.model.DocBase;
4748
import org.fugerit.java.doc.base.model.DocContainer;
4849
import org.fugerit.java.doc.base.model.DocElement;
@@ -60,7 +61,7 @@ The Apache Software Foundation (http://www.apache.org/).
6061
*/
6162
public class DocFacade {
6263

63-
public static final String CURRENT_VERSION = "1-10";
64+
public static final String CURRENT_VERSION = DocVersion.CURRENT_VERSION.stringVersion();
6465

6566
private static Logger logger = LoggerFactory.getLogger( DocFacade.class );
6667

@@ -146,8 +147,12 @@ public static DocBase parse( Reader is, DocHelper docHelper, Properties params )
146147
DocBase docBase = dch.getDocBase();
147148
is.close();
148149
String xsdVersion = docBase.getXsdVersion();
149-
if ( StringUtils.isNotEmpty( xsdVersion ) && xsdVersion.compareTo( CURRENT_VERSION ) > 0 ) {
150-
logger.warn( "Document version {} is higher than maximum version supported by this release od fj-doc {}, some feature may be not supported.", xsdVersion, CURRENT_VERSION );
150+
try {
151+
if ( StringUtils.isNotEmpty( xsdVersion ) && DocVersion.compare( xsdVersion, CURRENT_VERSION ) > 0 ) {
152+
logger.warn( "Document version {} is higher than maximum version supported by this release od fj-doc {}, some feature may be not supported.", xsdVersion, CURRENT_VERSION );
153+
}
154+
} catch (Exception e) {
155+
logger.warn( "Failed to check xsd version : {} (current version: {})", xsdVersion, CURRENT_VERSION );
151156
}
152157
return docBase;
153158
}
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
package test.org.fugerit.java.doc.base.config;
2+
3+
import java.util.ArrayList;
4+
import java.util.Collections;
5+
import java.util.List;
6+
7+
import org.fugerit.java.doc.base.config.DocVersion;
8+
import org.junit.Assert;
9+
import org.junit.Test;
10+
import org.slf4j.Logger;
11+
import org.slf4j.LoggerFactory;
12+
13+
public class TestDocVersion {
14+
15+
private static final Logger logger = LoggerFactory.getLogger( TestDocVersion.class );
16+
17+
private void testCompareWorker( int expected, DocVersion v1, DocVersion v2 ) {
18+
int result = DocVersion.compare( v1, v2 );
19+
logger.info( "Test compare {} to {} , expected:{}, result:{}", v1, v2, expected, result );
20+
Assert.assertEquals( "Wrong compare result", expected, result );
21+
}
22+
23+
@Test
24+
public void testCompareMajorThan01() {
25+
this.testCompareWorker( 9, DocVersion.VERSION_1_10, DocVersion.VERSION_1_1 );
26+
}
27+
28+
@Test
29+
public void testCompareMinorThan01() {
30+
this.testCompareWorker( -2, DocVersion.VERSION_1_1, DocVersion.VERSION_1_3 );
31+
}
32+
33+
@Test
34+
public void testCompareEqual01() {
35+
this.testCompareWorker( 0, DocVersion.VERSION_1_5, DocVersion.VERSION_1_5 );
36+
}
37+
38+
@Test
39+
public void testSort() {
40+
List<DocVersion> list = new ArrayList<DocVersion>();
41+
list.add( DocVersion.VERSION_1_8 );
42+
list.add( DocVersion.VERSION_1_2 );
43+
list.add( DocVersion.VERSION_1_10 );
44+
list.add( DocVersion.VERSION_1_9 );
45+
logger.info( "list pre sort : {}", list );
46+
Collections.sort( list );
47+
logger.info( "list post sort : {}", list );
48+
Assert.assertEquals( "Version list sort", "[1-2, 1-8, 1-9, 1-10]", String.valueOf( list ) );
49+
}
50+
51+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Configuration status="WARN">
3+
<Appenders>
4+
<Console name="Console" target="SYSTEM_OUT">
5+
<PatternLayout pattern="%d{yyyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
6+
</Console>
7+
</Appenders>
8+
<Loggers>
9+
<Root level="INFO">
10+
<AppenderRef ref="Console"/>
11+
</Root>
12+
</Loggers>
13+
</Configuration>

fj-doc-freemarker/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.fugerit.java</groupId>
99
<artifactId>fj-doc</artifactId>
10-
<version>0.5.2</version>
10+
<version>0.5.3</version>
1111
</parent>
1212

1313
<name>fj-doc-freemarker</name>

fj-doc-mod-fop/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.fugerit.java</groupId>
99
<artifactId>fj-doc</artifactId>
10-
<version>0.5.2</version>
10+
<version>0.5.3</version>
1111
</parent>
1212

1313
<name>fj-doc-mod-fop</name>

fj-doc-mod-poi/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.fugerit.java</groupId>
99
<artifactId>fj-doc</artifactId>
10-
<version>0.5.2</version>
10+
<version>0.5.3</version>
1111
</parent>
1212

1313
<name>fj-doc-mod-poi</name>

fj-doc-sample/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.fugerit.java</groupId>
99
<artifactId>fj-doc</artifactId>
10-
<version>0.5.2</version>
10+
<version>0.5.3</version>
1111
</parent>
1212

1313
<name>fj-doc-sample</name>

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
<artifactId>fj-doc</artifactId>
1313

14-
<version>0.5.2</version>
14+
<version>0.5.3</version>
1515
<packaging>pom</packaging>
1616

1717
<name>fj-doc</name>

0 commit comments

Comments
 (0)