diff --git a/build.gradle b/build.gradle
index 0c704ed..b399e20 100644
--- a/build.gradle
+++ b/build.gradle
@@ -7,7 +7,7 @@ plugins {
allprojects {
group = 'dk.fust.docgen'
- version = '1.13.0'
+ version = '1.14.0'
plugins.withType(JavaPlugin).whenPluginAdded {
dependencies {
@@ -22,7 +22,7 @@ allprojects {
testImplementation project(':helpers:documentation-generator-test-utilities')
testImplementation platform('org.spockframework:spock-bom:2.4-groovy-5.0')
testImplementation 'org.spockframework:spock-core'
- testRuntimeOnly 'org.junit.platform:junit-platform-launcher'
+ testRuntimeOnly 'org.junit.platform:junit-platform-launcher:6.0.2'
}
tasks.withType(Test).configureEach {
diff --git a/documentation-generator-api/src/main/java/dk/fust/docgen/model/datadict/Column.java b/documentation-generator-api/src/main/java/dk/fust/docgen/model/datadict/Column.java
index 715d4ec..1145395 100644
--- a/documentation-generator-api/src/main/java/dk/fust/docgen/model/datadict/Column.java
+++ b/documentation-generator-api/src/main/java/dk/fust/docgen/model/datadict/Column.java
@@ -21,6 +21,9 @@ public class Column {
@Description("Regular expression that the contain must obey. Example: ((\\d{3}[A-Z]?)|0{4})")
private String regex;
+ @Description("Format for dates. Example: yyyy-MM-dd HH:mm:ss.SSS")
+ private String format;
+
@Description("Example on how the content may look. Could be a description as well: 'value between 0 and 1. eg 0,3333'")
private String example;
diff --git a/documentation-generator-api/src/main/resources/documentation-schema.json b/documentation-generator-api/src/main/resources/documentation-schema.json
index 9054ac0..272825d 100644
--- a/documentation-generator-api/src/main/resources/documentation-schema.json
+++ b/documentation-generator-api/src/main/resources/documentation-schema.json
@@ -68,6 +68,10 @@
"type" : "string",
"description" : "Example on how the content may look. Could be a description as well: 'value between 0 and 1. eg 0,3333'"
},
+ "format" : {
+ "type" : "string",
+ "description" : "Format for dates. Example: yyyy-MM-dd HH:mm:ss.SSS"
+ },
"keys" : {
"type" : "string",
"description" : "Is this column a part of the unique key?"
diff --git a/generators/documentation-generator-data-dictionary/README.md b/generators/documentation-generator-data-dictionary/README.md
index 8ad2696..f0bcbbb 100644
--- a/generators/documentation-generator-data-dictionary/README.md
+++ b/generators/documentation-generator-data-dictionary/README.md
@@ -25,6 +25,7 @@ To use the data dictionary generator, you must configure it with `dk.fust.docgen
| columnPosition | [DataDictionaryConfigurationColumn](#dataDictionaryConfigurationColumn) | Customizing position | Export: `true`
Header: `Position`
Alignment: `RIGHT` |
| columnType | [DataDictionaryConfigurationColumn](#dataDictionaryConfigurationColumn) | Customizing data type | Export: `true`
Header: `Type`
Alignment: `LEFT` |
| columnMandatory | [DataDictionaryConfigurationColumn](#dataDictionaryConfigurationColumn) | Customizing mandatory | Export: `true`
Header: `Mandatory`
Alignment: `LEFT` |
+| columnFormat | [DataDictionaryConfigurationColumn](#dataDictionaryConfigurationColumn) | Customizing format | Export: `false`
Header: `Format`
Alignment: `LEFT` |
| columnKeys | [DataDictionaryConfigurationColumn](#dataDictionaryConfigurationColumn) | Customizing keys | Export: `true`
Header: `Keys`
Alignment: `LEFT` |
| columnDescription | [DataDictionaryConfigurationColumn](#dataDictionaryConfigurationColumn) | Customizing description | Export: `true`
Header: `Description`
Alignment: `LEFT` |
| columnExample | [DataDictionaryConfigurationColumn](#dataDictionaryConfigurationColumn) | Customizing example | Export: `true`
Header: `Example`
Alignment: `LEFT` |
@@ -63,6 +64,7 @@ Documentation
│ ├── dataType
│ ├── regex
│ ├── example
+ │ ├── format
│ ├── mandatory
│ ├── minimumValue
│ ├── maximumValue
diff --git a/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryConfiguration.java b/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryConfiguration.java
index 85c9c9d..f34a5d9 100644
--- a/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryConfiguration.java
+++ b/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryConfiguration.java
@@ -27,6 +27,7 @@ public class DataDictionaryConfiguration extends AbstractDataDictionaryConfigura
@MergeWithDefault private DataDictionaryConfigurationColumn columnDescription = new DataDictionaryConfigurationColumn(true, "Description", Alignment.LEFT);
@MergeWithDefault private DataDictionaryConfigurationColumn columnExample = new DataDictionaryConfigurationColumn(true, "Example", Alignment.LEFT);
@MergeWithDefault private DataDictionaryConfigurationColumn columnSchema = new DataDictionaryConfigurationColumn(false, "Schema", Alignment.LEFT);
+ @MergeWithDefault private DataDictionaryConfigurationColumn columnFormat = new DataDictionaryConfigurationColumn(false, "Format", Alignment.LEFT);
private String schemaName = null;
diff --git a/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryGenerator.java b/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryGenerator.java
index ad4286c..6dcf837 100644
--- a/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryGenerator.java
+++ b/generators/documentation-generator-data-dictionary/src/main/java/dk/fust/docgen/datadict/DataDictionaryGenerator.java
@@ -64,6 +64,7 @@ private static Row createRowForColumn(Column column, long position, DataDictiona
addCellIfConfigured(cells, dataDictionaryConfiguration.getColumnColumn(), column.getColumnName());
addCellIfConfigured(cells, dataDictionaryConfiguration.getColumnPosition(), position);
addCellIfConfigured(cells, dataDictionaryConfiguration.getColumnType(), column.getDataType());
+ addCellIfConfigured(cells, dataDictionaryConfiguration.getColumnFormat(), column.getFormat());
addCellIfConfigured(cells, dataDictionaryConfiguration.getColumnMandatory(), column.getMandatory() ? "Yes" : "No");
addCellIfConfigured(cells, dataDictionaryConfiguration.getColumnKeys(), column.getKeys());
addCellIfConfigured(cells, dataDictionaryConfiguration.getColumnDescription(), column.getColumnDescription());
@@ -113,6 +114,7 @@ private static Row createDescriptionForFileRow(DataDictionaryFile dataDictionary
emptyCells += dataDictionaryConfiguration.getColumnKeys().getExport() ? 1 : 0;
emptyCells += dataDictionaryConfiguration.getColumnPosition().getExport() ? 1 : 0;
emptyCells += dataDictionaryConfiguration.getColumnType().getExport() ? 1 : 0;
+ emptyCells += dataDictionaryConfiguration.getColumnFormat().getExport() ? 1 : 0;
for (int i = 0; i < emptyCells; i++) {
cells.add(new Cell((String) null, true));
}
@@ -134,6 +136,7 @@ private static Row createHeaderRow(DataDictionaryConfiguration dataDictionaryCon
addHeaderCellIfConfigured(headerCells, dataDictionaryConfiguration.getColumnColumn());
addHeaderCellIfConfigured(headerCells, dataDictionaryConfiguration.getColumnPosition());
addHeaderCellIfConfigured(headerCells, dataDictionaryConfiguration.getColumnType());
+ addHeaderCellIfConfigured(headerCells, dataDictionaryConfiguration.getColumnFormat());
addHeaderCellIfConfigured(headerCells, dataDictionaryConfiguration.getColumnMandatory());
addHeaderCellIfConfigured(headerCells, dataDictionaryConfiguration.getColumnKeys());
addHeaderCellIfConfigured(headerCells, dataDictionaryConfiguration.getColumnDescription());
diff --git a/generators/documentation-generator-data-dictionary/src/test/groovy/dk/fust/docgen/datadict/DataDictionaryGeneratorSpec.groovy b/generators/documentation-generator-data-dictionary/src/test/groovy/dk/fust/docgen/datadict/DataDictionaryGeneratorSpec.groovy
index 71d22c4..d43c0cc 100644
--- a/generators/documentation-generator-data-dictionary/src/test/groovy/dk/fust/docgen/datadict/DataDictionaryGeneratorSpec.groovy
+++ b/generators/documentation-generator-data-dictionary/src/test/groovy/dk/fust/docgen/datadict/DataDictionaryGeneratorSpec.groovy
@@ -29,6 +29,7 @@ class DataDictionaryGeneratorSpec extends Specification {
configuration.columnType.export = expType
configuration.columnPosition.export = expPosition
configuration.columnExample.export = expExam
+ configuration.columnFormat.export = expFormat
Generator generator = configuration.getGenerator()
@@ -43,25 +44,26 @@ class DataDictionaryGeneratorSpec extends Specification {
mockTableFormatter.formatTableArgument.rows[2].cells.size() == cellSize
where:
- addDescFile | expFile | expDesc | expColumn | expKeys | expType | expPosition | expExam | expSchema | schemaName | cellSize | rowSize
- false | true | true | true | true | true | true | true | true | 'schema' | 9 | 4
- false | true | true | true | true | true | true | true | false | null | 8 | 4
- false | false | true | true | true | true | true | true | false | null | 7 | 4
- false | false | false | true | true | true | true | true | false | null | 6 | 4
- false | false | false | false | true | true | true | true | false | null | 5 | 4
- false | false | false | false | false | true | true | true | false | null | 4 | 4
- false | false | false | false | false | false | true | true | false | null | 3 | 4
- false | false | false | false | false | false | false | true | false | null | 2 | 4
- false | false | false | false | false | false | false | false | false | null | 1 | 4
- true | true | true | true | true | true | true | true | true | 'schema' | 9 | 6
- true | true | true | true | true | true | true | true | false | null | 8 | 6
- true | false | true | true | true | true | true | true | false | null | 7 | 6
- true | false | false | true | true | true | true | true | false | null | 6 | 6
- true | false | false | false | true | true | true | true | false | null | 5 | 6
- true | false | false | false | false | true | true | true | false | null | 4 | 6
- true | false | false | false | false | false | true | true | false | null | 3 | 6
- true | false | false | false | false | false | false | true | false | null | 2 | 6
- true | false | false | false | false | false | false | false | false | null | 1 | 6
+ addDescFile | expFile | expDesc | expColumn | expKeys | expType | expPosition | expFormat | expExam | expSchema | schemaName | cellSize | rowSize
+ false | true | true | true | true | true | true | false | true | true | 'schema' | 9 | 4
+ false | true | true | true | true | true | true | false | true | false | null | 8 | 4
+ false | false | true | true | true | true | true | false | true | false | null | 7 | 4
+ false | false | false | true | true | true | true | false | true | false | null | 6 | 4
+ false | false | false | false | true | true | true | false | true | false | null | 5 | 4
+ false | false | false | false | false | true | true | false | true | false | null | 4 | 4
+ false | false | false | false | false | false | true | false | true | false | null | 3 | 4
+ false | false | false | false | false | false | false | false | true | false | null | 2 | 4
+ false | false | false | false | false | false | false | false | false | false | null | 1 | 4
+ true | true | true | true | true | true | true | false | true | true | 'schema' | 9 | 6
+ true | true | true | true | true | true | true | false | true | false | null | 8 | 6
+ true | false | true | true | true | true | true | false | true | false | null | 7 | 6
+ true | false | false | true | true | true | true | false | true | false | null | 6 | 6
+ true | false | false | false | true | true | true | false | true | false | null | 5 | 6
+ true | false | false | false | false | true | true | false | true | false | null | 4 | 6
+ true | false | false | false | false | false | true | false | true | false | null | 3 | 6
+ true | false | false | false | false | false | false | false | true | false | null | 2 | 6
+ true | false | false | false | false | false | false | false | false | false | null | 1 | 6
+ true | false | false | false | false | false | false | true | false | false | null | 2 | 6
}
def "read using generator configuration"() {
diff --git a/site/index.html b/site/index.html
index e96ccc1..8f0862d 100755
--- a/site/index.html
+++ b/site/index.html
@@ -69,6 +69,10 @@