From 1454d68b4a8d1e08c95cf280dd0bcaa91d20838c Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Fri, 3 Dec 2021 13:03:52 +0100 Subject: [PATCH 1/9] refactoring 1 --- .../w2phtml/gui/ConversionExecutor.java | 2 +- src/main/java/w2phtml/rdf/DocumentPart.java | 6 +- .../{Metadata.java => MetadataContainer.java} | 14 +- ...ocumentStructure.java => RDFDocument.java} | 120 ++++-------------- .../java/w2phtml/rdf/RDFDocumentResult.java | 10 +- src/main/java/w2phtml/util/Package.html | 11 -- .../java/w2phtml/util/Transliteration.java | 41 ++++++ 7 files changed, 83 insertions(+), 121 deletions(-) rename src/main/java/w2phtml/rdf/{Metadata.java => MetadataContainer.java} (94%) rename src/main/java/w2phtml/rdf/{DocumentStructure.java => RDFDocument.java} (84%) delete mode 100644 src/main/java/w2phtml/util/Package.html create mode 100644 src/main/java/w2phtml/util/Transliteration.java diff --git a/src/main/java/pro/litvinovg/w2phtml/gui/ConversionExecutor.java b/src/main/java/pro/litvinovg/w2phtml/gui/ConversionExecutor.java index a46ce5f..a1b4f2d 100644 --- a/src/main/java/pro/litvinovg/w2phtml/gui/ConversionExecutor.java +++ b/src/main/java/pro/litvinovg/w2phtml/gui/ConversionExecutor.java @@ -25,7 +25,7 @@ import org.slf4j.LoggerFactory; import com.sun.star.uno.XComponentContext; import w2phtml.Application; -import w2phtml.rdf.Metadata; +import w2phtml.rdf.MetadataContainer; public class ConversionExecutor { diff --git a/src/main/java/w2phtml/rdf/DocumentPart.java b/src/main/java/w2phtml/rdf/DocumentPart.java index e9fc3de..3ad4eeb 100644 --- a/src/main/java/w2phtml/rdf/DocumentPart.java +++ b/src/main/java/w2phtml/rdf/DocumentPart.java @@ -37,9 +37,9 @@ public class DocumentPart { private String parentPath; private String name = null; private String order = null; - private Metadata metadata = null; + private MetadataContainer metadata = null; - public DocumentPart(XhtmlDocument document,Metadata metadata) { + public DocumentPart(XhtmlDocument document,MetadataContainer metadata) { this.excerptDoc = document; this.metadata = metadata; extractPath(); @@ -50,7 +50,7 @@ public class DocumentPart { extractAnnotationMetadata(); } - public DocumentPart(String path, Metadata metadata) { + public DocumentPart(String path, MetadataContainer metadata) { this.path = path; this.metadata = metadata; this.name = ""; diff --git a/src/main/java/w2phtml/rdf/Metadata.java b/src/main/java/w2phtml/rdf/MetadataContainer.java similarity index 94% rename from src/main/java/w2phtml/rdf/Metadata.java rename to src/main/java/w2phtml/rdf/MetadataContainer.java index 8febdfa..3bce9ff 100644 --- a/src/main/java/w2phtml/rdf/Metadata.java +++ b/src/main/java/w2phtml/rdf/MetadataContainer.java @@ -19,28 +19,28 @@ import org.slf4j.LoggerFactory; import com.opencsv.CSVReaderHeaderAware; import com.opencsv.exceptions.CsvValidationException; -public class Metadata { +public class MetadataContainer { private static final String SUBTITLE = "subtitle"; private static final String FILENAME = "Filename"; private static final String SECTION = "Section"; - private static final Logger logger = LoggerFactory.getLogger(Metadata.class); + private static final Logger logger = LoggerFactory.getLogger(MetadataContainer.class); private HashMap>> sectionsMetadata; - public Metadata() { + public MetadataContainer() { sectionsMetadata = new HashMap>>(); } - public void read(String metadataFilePath) { - if (metadataFilePath == null) { + public void read(String filePath) { + if (filePath == null) { return; } - File file = new File(metadataFilePath); + File file = new File(filePath); if (!file.exists() || !file.canRead()) { return; } - readCSVFile(metadataFilePath); + readCSVFile(filePath); } private void readCSVFile(String filePath) { diff --git a/src/main/java/w2phtml/rdf/DocumentStructure.java b/src/main/java/w2phtml/rdf/RDFDocument.java similarity index 84% rename from src/main/java/w2phtml/rdf/DocumentStructure.java rename to src/main/java/w2phtml/rdf/RDFDocument.java index 61ed2cd..da17130 100644 --- a/src/main/java/w2phtml/rdf/DocumentStructure.java +++ b/src/main/java/w2phtml/rdf/RDFDocument.java @@ -20,6 +20,7 @@ import org.apache.jena.rdf.model.Resource; import org.apache.jena.vocabulary.*; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import static w2phtml.util.Transliteration.*; import w2phtml.xhtml.XhtmlConfig; import w2phtml.xhtml.XhtmlDocument; @@ -27,36 +28,32 @@ import w2phtml.xhtml.XhtmlDocument; import org.apache.jena.rdf.model.Property; -public class DocumentStructure { +public class RDFDocument { + private static final String FORMAT_RDF = "RDF/XML-ABBREV"; private static final String AFFILIATED_ORGANIZATION_POSTAL_CODE = "affiliated organization postal code"; - private static final String AFFILIATED_ORGANIZATION_ADDRESS = "affiliated organization address"; - private static final String AFFILIATED_ORGANIZATION_OFFICIAL_NAME = "affiliated organization official name"; - private static final String AFFILIATED_ORGANIZATION_NAME = "affiliated organization name"; - private static final String AUTHOR_INITIALS = "author initials"; - private static final String AUTHOR_EMAIL = "author email"; - private static final String AUTHOR_FAMILY = "author family"; - - private static final Logger logger = LoggerFactory.getLogger(DocumentStructure.class); - + private static final Logger logger = LoggerFactory.getLogger(RDFDocument.class); private static final String AUTHOR_GIVEN_NAME = "author given name"; private static final String MODIFICATION_TIME = "modificationTime"; private static final String HTML_EXCERPT_PROPERTY = "htmlExcerpt"; private static final String TOCITEM = "TOCItem"; private static final String TS = "https://litvinovg.pro/text_structures#"; + private static final String POINTS_TO = TS + "pointsTo"; + private static final String ITEM_NUMBER = TS + "itemNumber"; + private static final String HAS_TOC_ITEM = TS + "hasTOCItem"; + private static final String HAS_TEXT = TS + "hasText"; //private static final String PARSERNAME = "w2phtml"; private static final String TEXT_EXCERPT = "textExcerpt"; private static final String TOC_LEVEL = "TOCLevel"; private static final String TABLE_OF_CONTENTS = "TOC"; private static final String PARTICIPANT = "publicationParticipant"; private static final String ORGANIZATION = "organization"; - private static final String PUBLICATION = "publication"; private static final String BOOK = "book"; private static final String JOURNAL = "journal"; @@ -81,10 +78,10 @@ public class DocumentStructure { private HashMap tocLevels; private HashMap inputParts; - private Metadata metadata; + private MetadataContainer metadata; private Date currentTime; - public DocumentStructure(Vector files,String fileName, XhtmlConfig config,Metadata metadata) { + public RDFDocument(Vector files,String fileName, XhtmlConfig config, MetadataContainer metadata) { this.tocLevels = new HashMap(); this.inputParts = new HashMap(); this.m = ModelFactory.createOntologyModel(); @@ -95,10 +92,9 @@ public class DocumentStructure { this.organizationClass = textOntology.createClass(TS + ORGANIZATION); this.participantClass = textOntology.createClass(TS + PARTICIPANT); this.itemClass = textOntology.createClass(TS + TOCITEM); - setDocID(fileName); + formatDocID(fileName); this.currentTime = Calendar.getInstance().getTime(); - String publicationType = config.getRDFType(); - setPublicationType(publicationType); + setPublicationType(config.getRDFType()); this.documentClass = textOntology.createClass(TS + documentType); this.excerptClass = textOntology.createClass(TS + excerptType); for(int i = 0 ; i< files.size();i++) { @@ -108,6 +104,12 @@ public class DocumentStructure { addPart(part); } addEmptyParts(); + createElements(); + createTOCItems(); + } + + public void printModel(OutputStream os) { + m.write(os,FORMAT_RDF); } private void setPublicationType(String publicationType) { @@ -155,30 +157,6 @@ public class DocumentStructure { } return emptyPath.toString(); } - - public void printModel(String fileName) { - File outFile = new File(fileName + ".rdf"); - FileWriter fw = null; - try { - outFile.createNewFile(); - fw = new FileWriter(outFile); - m.write(fw,"RDF/XML-ABBREV"); - - } catch (IOException e) { - System.out.println("File couldn't be created"); - e.printStackTrace(); - } finally { - try { - fw.close(); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); - } - } - } - public void printModel(OutputStream os) { - m.write(os,"RDF/XML-ABBREV"); - } private void addPart(DocumentPart docExcerpt) { inputParts.put(docExcerpt.getPath(), docExcerpt); @@ -273,13 +251,13 @@ public class DocumentStructure { Property initialsProperty = m.createProperty(TS + "participantInitials"); participant.addProperty( initialsProperty, authorInitials.trim()); } - attachOrganization(participant, map, order, postfix); + addOrganization(participant, map, order, postfix); } } } } - private void attachOrganization(Resource participant, Map map, String order, String postfix) { + private void addOrganization(Resource participant, Map map, String order, String postfix) { String orgName = map.get(AFFILIATED_ORGANIZATION_NAME + postfix); if (orgName == null) { System.out.println(orgName + " not found"); @@ -402,19 +380,18 @@ public class DocumentStructure { return true; } private void createTOCItem(DocumentPart docPart) { - String tocItemName = TS + TOCITEM + "/" + docID + docPart.getSafePath(); - Resource tocItem = m.createIndividual(tocItemName,itemClass); + String tocItemUri = TS + TOCITEM + "/" + docID + docPart.getSafePath(); + Resource tocItem = m.createIndividual(tocItemUri,itemClass); tocItem.addProperty( RDFS.label, docPart.getName()); - Property pointsTo = m.createProperty(TS + "pointsTo"); - Property itemNumber = m.createProperty(TS + "itemNumber"); - Property hasTOCItem = m.createProperty(TS + "hasTOCItem"); + Property pointsTo = m.createProperty(POINTS_TO); + Property itemNumber = m.createProperty(ITEM_NUMBER); + Property hasTOCItem = m.createProperty(HAS_TOC_ITEM); tocItem.addLiteral(itemNumber, docPart.getNumber()); m.add(tocItem, pointsTo, tocLevels.get(docPart.getPath())); if (!docPart.getPath().isEmpty()) { Resource parent = tocLevels.get(docPart.getParentPath()); m.add(parent, hasTOCItem, tocItem); } - } private void attachExcerpt(DocumentPart docPart, Resource element) { @@ -426,7 +403,7 @@ public class DocumentStructure { } Resource excerpt = createExcerpt(docPart); excerpt.addProperty( RDFS.label, docPart.getName()); - Property hasText = m.createProperty(TS + "hasText"); + Property hasText = m.createProperty(HAS_TEXT); element.addProperty(hasText, excerpt); if (!docPart.isMasterPart()) { addMetadataProperties(excerpt, docPart); @@ -435,11 +412,6 @@ public class DocumentStructure { } } - public void createTree() { - createElements(); - createTOCItems(); - } - private void createTOCItems() { Set paths = inputParts.keySet(); for (String path : paths) { @@ -462,48 +434,10 @@ public class DocumentStructure { } } - private void setDocID(String fileName) { + private void formatDocID(String fileName) { String identifier = fileName.replaceAll("\\s+", "_"); identifier = transliterateToEn(identifier); identifier = identifier.replaceAll("[^a-zA-Z0-9_.-]", ""); this.docID = identifier; } - - private String transliterateToEn(String fileName) { - return fileName - .replaceAll("[аА]", "a") - .replaceAll("[бБ]", "b") - .replaceAll("[вВ]", "v") - .replaceAll("[гГ]", "g") - .replaceAll("[дД]", "d") - .replaceAll("[еЕ]", "e") - .replaceAll("[ёЁ]", "e") - .replaceAll("[жЖ]", "zh") - .replaceAll("[зЗ]", "z") - .replaceAll("[иИ]", "i") - .replaceAll("[йЙ]", "y") - .replaceAll("[кК]", "k") - .replaceAll("[лЛ]", "l") - .replaceAll("[мМ]", "m") - .replaceAll("[нН]", "n") - .replaceAll("[оО]", "o") - .replaceAll("[пП]", "p") - .replaceAll("[рР]", "r") - .replaceAll("[сС]", "s") - .replaceAll("[тТ]", "t") - .replaceAll("[уУ]", "u") - .replaceAll("[фФ]", "f") - .replaceAll("[хХ]", "kh") - .replaceAll("[цЦ]", "ts") - .replaceAll("[чЧ]", "ch") - .replaceAll("[шШ]", "sh") - .replaceAll("[щЩ]", "sch") - .replaceAll("[ъЪ]", "") - .replaceAll("[ыЫ]", "y") - .replaceAll("[ьЬ]", "") - .replaceAll("[эЭ]", "e") - .replaceAll("[юЮ]", "yu") - .replaceAll("[яЯ]", "ya"); - } - } diff --git a/src/main/java/w2phtml/rdf/RDFDocumentResult.java b/src/main/java/w2phtml/rdf/RDFDocumentResult.java index 09421ef..7dd8c34 100644 --- a/src/main/java/w2phtml/rdf/RDFDocumentResult.java +++ b/src/main/java/w2phtml/rdf/RDFDocumentResult.java @@ -17,17 +17,15 @@ public class RDFDocumentResult implements OutputFile { private ConverterResult xhtmlResult; private String sFileName; private XhtmlConfig config; - private DocumentStructure rdfStructure = null; + private RDFDocument rdfDocument = null; public RDFDocumentResult(Vector outFiles, String fileName, XhtmlConfig config) { this.sFileName = Misc.removeExtension(fileName); this.config = config; - Metadata metadata = new Metadata(); + MetadataContainer metadata = new MetadataContainer(); metadata.read(config.getCSVMetadataFile()); - rdfStructure = new DocumentStructure(outFiles,sFileName,config,metadata); - rdfStructure.createTree(); - + rdfDocument = new RDFDocument(outFiles,sFileName,config,metadata); } @@ -48,7 +46,7 @@ public class RDFDocumentResult implements OutputFile { } @Override public void write(OutputStream os) throws IOException { - rdfStructure.printModel(os); + rdfDocument.printModel(os); } } diff --git a/src/main/java/w2phtml/util/Package.html b/src/main/java/w2phtml/util/Package.html deleted file mode 100644 index 3536243..0000000 --- a/src/main/java/w2phtml/util/Package.html +++ /dev/null @@ -1,11 +0,0 @@ - - - - - The package writer2latex.util - - - -

Some general utility classes.

- - diff --git a/src/main/java/w2phtml/util/Transliteration.java b/src/main/java/w2phtml/util/Transliteration.java new file mode 100644 index 0000000..8137401 --- /dev/null +++ b/src/main/java/w2phtml/util/Transliteration.java @@ -0,0 +1,41 @@ +package w2phtml.util; + +public class Transliteration { + + public static String transliterateToEn(String fileName) { + return fileName + .replaceAll("[аА]", "a") + .replaceAll("[бБ]", "b") + .replaceAll("[вВ]", "v") + .replaceAll("[гГ]", "g") + .replaceAll("[дД]", "d") + .replaceAll("[еЕ]", "e") + .replaceAll("[ёЁ]", "e") + .replaceAll("[жЖ]", "zh") + .replaceAll("[зЗ]", "z") + .replaceAll("[иИ]", "i") + .replaceAll("[йЙ]", "y") + .replaceAll("[кК]", "k") + .replaceAll("[лЛ]", "l") + .replaceAll("[мМ]", "m") + .replaceAll("[нН]", "n") + .replaceAll("[оО]", "o") + .replaceAll("[пП]", "p") + .replaceAll("[рР]", "r") + .replaceAll("[сС]", "s") + .replaceAll("[тТ]", "t") + .replaceAll("[уУ]", "u") + .replaceAll("[фФ]", "f") + .replaceAll("[хХ]", "kh") + .replaceAll("[цЦ]", "ts") + .replaceAll("[чЧ]", "ch") + .replaceAll("[шШ]", "sh") + .replaceAll("[щЩ]", "sch") + .replaceAll("[ъЪ]", "") + .replaceAll("[ыЫ]", "y") + .replaceAll("[ьЬ]", "") + .replaceAll("[эЭ]", "e") + .replaceAll("[юЮ]", "yu") + .replaceAll("[яЯ]", "ya"); + } +} From f5bf88532dabf340923967f95040a1f125bdbe9a Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 12:51:14 +0100 Subject: [PATCH 2/9] fix: replaced bad boolean conversion calls --- src/main/java/pro/litvinovg/w2phtml/gui/EpubPanel.java | 4 ++-- src/main/java/pro/litvinovg/w2phtml/gui/HTMLPanel.java | 4 ++-- src/main/java/pro/litvinovg/w2phtml/gui/RDFPanel.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/pro/litvinovg/w2phtml/gui/EpubPanel.java b/src/main/java/pro/litvinovg/w2phtml/gui/EpubPanel.java index d3d7ca7..0a44daa 100644 --- a/src/main/java/pro/litvinovg/w2phtml/gui/EpubPanel.java +++ b/src/main/java/pro/litvinovg/w2phtml/gui/EpubPanel.java @@ -263,14 +263,14 @@ public class EpubPanel extends JPanel { JCheckBox addPagination(HashMap configuration, UIPreferences preferences) { cb_Pagination_1 = new JCheckBox(Localizer.get(LABEL_PAGINATION)); - cb_Pagination_1.setSelected(Boolean.getBoolean(preferences.get(PREF_PAGINATION))); + cb_Pagination_1.setSelected(Boolean.valueOf(preferences.get(PREF_PAGINATION))); configuration.put(ARG_PAGINATION, cb_Pagination_1); return cb_Pagination_1; } JCheckBox addConvertToPX(HashMap configuration, UIPreferences preferences) { cb_convertToPx_1 = new JCheckBox(Localizer.get(LABEL_CONVERT_TO_PX)); - cb_convertToPx_1.setSelected(Boolean.getBoolean(preferences.get(PREF_CONVERT_TO_PX))); + cb_convertToPx_1.setSelected(Boolean.valueOf(preferences.get(PREF_CONVERT_TO_PX))); configuration.put(ARG_CONVERT_TO_PX, cb_convertToPx_1); return cb_convertToPx_1; } diff --git a/src/main/java/pro/litvinovg/w2phtml/gui/HTMLPanel.java b/src/main/java/pro/litvinovg/w2phtml/gui/HTMLPanel.java index 0190592..88db5af 100644 --- a/src/main/java/pro/litvinovg/w2phtml/gui/HTMLPanel.java +++ b/src/main/java/pro/litvinovg/w2phtml/gui/HTMLPanel.java @@ -303,14 +303,14 @@ public class HTMLPanel extends JPanel{ JCheckBox addPagination(HashMap configuration, UIPreferences preferences) { cb_Pagination_1 = new JCheckBox(Localizer.get(LABEL_PAGINATION)); - cb_Pagination_1.setSelected(Boolean.getBoolean(preferences.get(PREF_PAGINATION))); + cb_Pagination_1.setSelected(Boolean.valueOf(preferences.get(PREF_PAGINATION))); configuration.put(ARG_PAGINATION, cb_Pagination_1); return cb_Pagination_1; } JCheckBox addConvertToPX(HashMap configuration, UIPreferences preferences) { cb_convertToPx_1 = new JCheckBox(Localizer.get(LABEL_CONVERT_TO_PX)); - cb_convertToPx_1.setSelected(Boolean.getBoolean(preferences.get(PREF_CONVERT_TO_PX))); + cb_convertToPx_1.setSelected(Boolean.valueOf(preferences.get(PREF_CONVERT_TO_PX))); configuration.put(ARG_CONVERT_TO_PX, cb_convertToPx_1); return cb_convertToPx_1; } diff --git a/src/main/java/pro/litvinovg/w2phtml/gui/RDFPanel.java b/src/main/java/pro/litvinovg/w2phtml/gui/RDFPanel.java index a38b4e1..aa63316 100644 --- a/src/main/java/pro/litvinovg/w2phtml/gui/RDFPanel.java +++ b/src/main/java/pro/litvinovg/w2phtml/gui/RDFPanel.java @@ -340,14 +340,14 @@ public class RDFPanel extends JPanel { JCheckBox addPagination(HashMap configuration, UIPreferences preferences) { cb_Pagination_1 = new JCheckBox(Localizer.get(LABEL_PAGINATION)); - cb_Pagination_1.setSelected(Boolean.getBoolean(preferences.get(PREF_PAGINATION))); + cb_Pagination_1.setSelected(Boolean.valueOf(preferences.get(PREF_PAGINATION))); configuration.put(ARG_PAGINATION, cb_Pagination_1); return cb_Pagination_1; } JCheckBox addConvertToPX(HashMap configuration, UIPreferences preferences) { cb_convertToPx_1 = new JCheckBox(Localizer.get(LABEL_CONVERT_TO_PX)); - cb_convertToPx_1.setSelected(Boolean.getBoolean(preferences.get(PREF_CONVERT_TO_PX))); + cb_convertToPx_1.setSelected(Boolean.valueOf(preferences.get(PREF_CONVERT_TO_PX))); configuration.put(ARG_CONVERT_TO_PX, cb_convertToPx_1); return cb_convertToPx_1; } From 56a44ea1fd37991905caa248cf3a63771384c31e Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 12:51:54 +0100 Subject: [PATCH 3/9] chore: renamed constant --- src/main/java/w2phtml/rdf/RDFDocument.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/w2phtml/rdf/RDFDocument.java b/src/main/java/w2phtml/rdf/RDFDocument.java index da17130..774a42f 100644 --- a/src/main/java/w2phtml/rdf/RDFDocument.java +++ b/src/main/java/w2phtml/rdf/RDFDocument.java @@ -42,7 +42,7 @@ public class RDFDocument { private static final String AUTHOR_GIVEN_NAME = "author given name"; private static final String MODIFICATION_TIME = "modificationTime"; private static final String HTML_EXCERPT_PROPERTY = "htmlExcerpt"; - private static final String TOCITEM = "TOCItem"; + private static final String TOC_ITEM = "TOCItem"; private static final String TS = "https://litvinovg.pro/text_structures#"; private static final String POINTS_TO = TS + "pointsTo"; private static final String ITEM_NUMBER = TS + "itemNumber"; @@ -91,7 +91,7 @@ public class RDFDocument { this.tocClass = textOntology.createClass(TS + TABLE_OF_CONTENTS); this.organizationClass = textOntology.createClass(TS + ORGANIZATION); this.participantClass = textOntology.createClass(TS + PARTICIPANT); - this.itemClass = textOntology.createClass(TS + TOCITEM); + this.itemClass = textOntology.createClass(TS + TOC_ITEM); formatDocID(fileName); this.currentTime = Calendar.getInstance().getTime(); setPublicationType(config.getRDFType()); @@ -380,7 +380,7 @@ public class RDFDocument { return true; } private void createTOCItem(DocumentPart docPart) { - String tocItemUri = TS + TOCITEM + "/" + docID + docPart.getSafePath(); + String tocItemUri = TS + TOC_ITEM + "/" + docID + docPart.getSafePath(); Resource tocItem = m.createIndividual(tocItemUri,itemClass); tocItem.addProperty( RDFS.label, docPart.getName()); Property pointsTo = m.createProperty(POINTS_TO); From 7d03b2a02d1901a14d1407937d36daad96ac1581 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 13:52:09 +0100 Subject: [PATCH 4/9] chore: improving build configuration --- build.gradle | 41 ++++++++++++++++++++++------------------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/build.gradle b/build.gradle index 25c0b11..f52f57b 100644 --- a/build.gradle +++ b/build.gradle @@ -23,10 +23,9 @@ sourceSets { } sourceCompatibility = 1.8 configurations{ - bundledLibs regressionTestsCompile.extendsFrom mainCompile regressionTestsRuntime.extendsFrom mainRuntime - regressionTestsRuntime.extendsFrom bundledLibs + regressionTestsRuntime.extendsFrom compileClasspath } dependencies{ regressionTestsImplementation group: 'commons-io', name: 'commons-io', version: '2.8.0' @@ -34,22 +33,21 @@ dependencies{ regressionTestsImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.7.1' regressionTestsRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' - bundledLibs 'org.libreoffice:jurt:5.3.2' - bundledLibs 'org.libreoffice:juh:5.3.2' - bundledLibs 'org.libreoffice:ridl:5.3.2' - bundledLibs 'org.libreoffice:unoil:5.3.2' - bundledLibs 'org.json:json:20190722' - bundledLibs group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3' - bundledLibs group: 'ch.qos.logback', name: 'logback-core', version: '1.2.3' - bundledLibs group: 'com.miglayout', name: 'miglayout-swing', version: '5.2' - bundledLibs group: 'org.apache.jena', name: 'jena-core', version: '3.15.0' - bundledLibs group: 'org.apache.jena', name: 'jena-arq', version: '3.15.0' - bundledLibs group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30' - bundledLibs group: 'com.opencsv', name: 'opencsv', version: '5.1' - bundledLibs group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2' - bundledLibs group: 'org.apache.commons', name: 'commons-imaging', version: '1.0-alpha2' + compileClasspath 'org.libreoffice:jurt:5.3.2' + compileClasspath 'org.libreoffice:juh:5.3.2' + compileClasspath 'org.libreoffice:ridl:5.3.2' + compileClasspath 'org.libreoffice:unoil:5.3.2' + compileClasspath 'org.json:json:20190722' + compileClasspath group: 'ch.qos.logback', name: 'logback-classic', version: '1.2.3' + compileClasspath group: 'ch.qos.logback', name: 'logback-core', version: '1.2.3' + compileClasspath group: 'com.miglayout', name: 'miglayout-swing', version: '5.2' + compileClasspath group: 'org.apache.jena', name: 'jena-core', version: '3.15.0' + compileClasspath group: 'org.apache.jena', name: 'jena-arq', version: '3.15.0' + compileClasspath group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30' + compileClasspath group: 'com.opencsv', name: 'opencsv', version: '5.1' + compileClasspath group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2' + compileClasspath group: 'org.apache.commons', name: 'commons-imaging', version: '1.0-alpha2' - configurations.compile.extendsFrom(configurations.bundledLibs) } jar { archiveName 'w2phtml.jar' @@ -60,8 +58,9 @@ jar { "Class-Path" : "jasp.jar parser.jar") } + duplicatesStrategy = 'exclude' from { - configurations.bundledLibs.collect { it.isDirectory() ? it : zipTree(it) } + configurations.compileClasspath.collect { it.isDirectory() ? it : zipTree(it) } } from('src/main/java') { include '**/*.properties' @@ -85,9 +84,10 @@ task xhtml(type: Jar) { "RegistrationClassName" : "pro.litvinovg.w2phtml.RegistrationHandler", "Class-Path" : "jasp.jar parser.jar") } + duplicatesStrategy = 'exclude' baseName = "writer2phtml" from { - configurations.bundledLibs.collect { + configurations.compileClasspath.collect { exclude 'module-info.class' exclude '.gradle' exclude '**/LICENSE*' @@ -108,6 +108,7 @@ task xhtml(type: Jar) { include 'etc/*' include 'com/**' include 'com/**/*' + exclude '**/DEPENDENCIES' include 'w2phtml/pageSplitters/**/*.class' include 'pro/litvinovg/**/*.class' include 'pro/litvinovg/**/*.png' @@ -130,6 +131,7 @@ task xhtml(type: Jar) { exclude '.gradle' } from ('src/main/java'){ + exclude '**/DEPENDENCIES' exclude '.gradle' include 'w2phtml/xhtml/**/*.properties' include 'w2phtml/xhtml/**/**/*.properties' @@ -164,6 +166,7 @@ task oxt(type: Zip){ from 'releasenotes.txt' include '*' } + task regressionTests(type: Test) { testClassesDirs = sourceSets.regressionTests.output.classesDirs classpath = sourceSets.regressionTests.runtimeClasspath From 19b17c5b58fff9dab7c7dd84812e086c8dfb923a Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 14:51:58 +0100 Subject: [PATCH 5/9] chore: improved build configuration --- build.gradle | 7 ++++--- .../w2phtml/regressionTests/PageBreaksBeforeHeading.java | 0 .../java/w2phtml/regressionTests/html5/BreakAfterTest.java | 0 .../java/w2phtml/regressionTests/html5/BulletList.java | 0 .../w2phtml/regressionTests/html5/GreenstoneHeadings.java | 0 .../regressionTests/html5/HardPageBreaksInLists.java | 0 .../w2phtml/regressionTests/html5/HeadingWithSections.java | 0 .../w2phtml/regressionTests/html5/ImageAfterSection.java | 0 .../java/w2phtml/regressionTests/html5/ListAfterText.java | 0 .../java/w2phtml/regressionTests/html5/ListInSection.java | 0 .../java/w2phtml/regressionTests/html5/ListInTable.java | 0 .../w2phtml/regressionTests/html5/ListTableSection.java | 0 .../w2phtml/regressionTests/html5/PageStartWith10.java | 0 .../regressionTests/html5/PageStartWith10InSection.java | 0 .../regressionTests/html5/SoftPageBreakInListTest.java | 0 .../regressionTests/html5/SplitFilesAlignToPages.java | 0 16 files changed, 4 insertions(+), 3 deletions(-) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/BreakAfterTest.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/BulletList.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/HeadingWithSections.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/ImageAfterSection.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/ListAfterText.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/ListInSection.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/ListInTable.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/ListTableSection.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/PageStartWith10.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java (100%) rename src/{r_tests => regressionTests}/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java (100%) diff --git a/build.gradle b/build.gradle index f52f57b..cf4b4b7 100644 --- a/build.gradle +++ b/build.gradle @@ -16,8 +16,8 @@ sourceSets { regressionTests { java { compileClasspath += main.output + test.output - runtimeClasspath += main.output + files('src/main/java') - java.srcDir file('src/r_tests/java') + runtimeClasspath += main.output + test.output + files('src/main/java') + srcDir file('src/r_tests/java') } } } @@ -26,12 +26,13 @@ configurations{ regressionTestsCompile.extendsFrom mainCompile regressionTestsRuntime.extendsFrom mainRuntime regressionTestsRuntime.extendsFrom compileClasspath + regressionTestsImplementation.extendsFrom compileClasspath } dependencies{ regressionTestsImplementation group: 'commons-io', name: 'commons-io', version: '2.8.0' regressionTestsImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.1' regressionTestsImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.7.1' - regressionTestsRuntimeOnly 'org.junit.jupiter:junit-jupiter-engine' + regressionTestsImplementation 'org.junit.jupiter:junit-jupiter-engine' compileClasspath 'org.libreoffice:jurt:5.3.2' compileClasspath 'org.libreoffice:juh:5.3.2' diff --git a/src/r_tests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java b/src/regressionTests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java rename to src/regressionTests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/BreakAfterTest.java b/src/regressionTests/java/w2phtml/regressionTests/html5/BreakAfterTest.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/BreakAfterTest.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/BreakAfterTest.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/BulletList.java b/src/regressionTests/java/w2phtml/regressionTests/html5/BulletList.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/BulletList.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/BulletList.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java b/src/regressionTests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java b/src/regressionTests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/HeadingWithSections.java b/src/regressionTests/java/w2phtml/regressionTests/html5/HeadingWithSections.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/HeadingWithSections.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/HeadingWithSections.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/ImageAfterSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ImageAfterSection.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/ImageAfterSection.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/ImageAfterSection.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/ListAfterText.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListAfterText.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/ListAfterText.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/ListAfterText.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/ListInSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListInSection.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/ListInSection.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/ListInSection.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/ListInTable.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListInTable.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/ListInTable.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/ListInTable.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/ListTableSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListTableSection.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/ListTableSection.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/ListTableSection.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/PageStartWith10.java b/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/PageStartWith10.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java b/src/regressionTests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java diff --git a/src/r_tests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java b/src/regressionTests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java similarity index 100% rename from src/r_tests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java rename to src/regressionTests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java From a6e85d367a55edcc22b5885cc879d222b417e037 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 15:41:43 +0100 Subject: [PATCH 6/9] chore: removed dependency --- build.gradle | 1 - .../PageBreaksBeforeHeading.java | 3 +-- .../w2phtml/regressionTests/TestFiles.java | 23 +++++++++++++++++++ .../regressionTests/html5/BreakAfterTest.java | 3 ++- .../regressionTests/html5/BulletList.java | 5 ++-- .../html5/GreenstoneHeadings.java | 5 ++-- .../html5/HardPageBreaksInLists.java | 5 ++-- .../html5/HeadingWithSections.java | 5 ++-- .../html5/ImageAfterSection.java | 5 ++-- .../regressionTests/html5/ListAfterText.java | 5 ++-- .../regressionTests/html5/ListInSection.java | 5 ++-- .../regressionTests/html5/ListInTable.java | 5 ++-- .../html5/ListTableSection.java | 5 ++-- .../html5/PageStartWith10.java | 5 ++-- .../html5/PageStartWith10InSection.java | 5 ++-- .../html5/SoftPageBreakInListTest.java | 5 ++-- .../html5/SplitFilesAlignToPages.java | 7 +++--- 17 files changed, 66 insertions(+), 31 deletions(-) create mode 100644 src/regressionTests/java/w2phtml/regressionTests/TestFiles.java diff --git a/build.gradle b/build.gradle index cf4b4b7..f76f5f6 100644 --- a/build.gradle +++ b/build.gradle @@ -29,7 +29,6 @@ configurations{ regressionTestsImplementation.extendsFrom compileClasspath } dependencies{ - regressionTestsImplementation group: 'commons-io', name: 'commons-io', version: '2.8.0' regressionTestsImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-api', version: '5.7.1' regressionTestsImplementation group: 'org.junit.jupiter', name: 'junit-jupiter-engine', version: '5.7.1' regressionTestsImplementation 'org.junit.jupiter:junit-jupiter-engine' diff --git a/src/regressionTests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java b/src/regressionTests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java index 87dfedb..d55a440 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java +++ b/src/regressionTests/java/w2phtml/regressionTests/PageBreaksBeforeHeading.java @@ -6,7 +6,6 @@ import java.util.List; import static org.junit.jupiter.api.Assertions.assertTrue; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; @@ -25,6 +24,6 @@ public class PageBreaksBeforeHeading { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/heading_with_page_break_before.html"); File model = new File("./testdocuments/model/heading_with_page_break_before.html"); - assertTrue( FileUtils.contentEquals(result, model),"The files differ!"); + assertTrue( TestFiles.equals(result, model),"The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/TestFiles.java b/src/regressionTests/java/w2phtml/regressionTests/TestFiles.java new file mode 100644 index 0000000..7ce6f9d --- /dev/null +++ b/src/regressionTests/java/w2phtml/regressionTests/TestFiles.java @@ -0,0 +1,23 @@ +package w2phtml.regressionTests; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.util.Arrays; + +public class TestFiles { + public static boolean equals(File file1, File file2) { + byte[] f1; + byte[] f2; + try { + f1 = Files.readAllBytes(file1.toPath()); + f2 = Files.readAllBytes(file2.toPath()); + return Arrays.equals(f1, f2); + } catch (IOException e) { + e.printStackTrace(); + } + return false; + } + + +} diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/BreakAfterTest.java b/src/regressionTests/java/w2phtml/regressionTests/html5/BreakAfterTest.java index 23a3694..cf0d8a3 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/BreakAfterTest.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/BreakAfterTest.java @@ -5,6 +5,7 @@ import static org.junit.jupiter.api.Assertions.assertTrue; import java.io.File; import java.util.ArrayList; import java.util.List; +import w2phtml.regressionTests.TestFiles; import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; @@ -26,6 +27,6 @@ public class BreakAfterTest { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + name + ".html"); File model = new File("./testdocuments/model/" + name + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/BulletList.java b/src/regressionTests/java/w2phtml/regressionTests/html5/BulletList.java index af9fef7..fc860f0 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/BulletList.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/BulletList.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class BulletList { @Test @DisplayName("List on multiple pages") @@ -26,6 +27,6 @@ public class BulletList { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + name + ".html"); File model = new File("./testdocuments/model/" + name + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java b/src/regressionTests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java index 76bc96a..62ac57c 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/GreenstoneHeadings.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class GreenstoneHeadings { @Test @DisplayName("Greenstone3 tags headings") @@ -25,6 +26,6 @@ public class GreenstoneHeadings { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + testName + ".html"); File model = new File("./testdocuments/model/" + testName + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java b/src/regressionTests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java index d51b66a..f177019 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/HardPageBreaksInLists.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class HardPageBreaksInLists { @Test @DisplayName("Hard page breaks inside list") @@ -26,6 +27,6 @@ public class HardPageBreaksInLists { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + name + ".html"); File model = new File("./testdocuments/model/" + name + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/HeadingWithSections.java b/src/regressionTests/java/w2phtml/regressionTests/html5/HeadingWithSections.java index 1f169f7..a8f3d46 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/HeadingWithSections.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/HeadingWithSections.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class HeadingWithSections { @Test @DisplayName("Heading with sections") @@ -24,6 +25,6 @@ public class HeadingWithSections { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/"+testName+".html"); File model = new File("./testdocuments/model/"+testName+".html"); - assertTrue( FileUtils.contentEquals(result, model),"The files differ!"); + assertTrue(TestFiles.equals(result, model),"The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/ImageAfterSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ImageAfterSection.java index 4419cbb..e758227 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/ImageAfterSection.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/ImageAfterSection.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class ImageAfterSection { @Test @DisplayName("image after section") @@ -24,6 +25,6 @@ public class ImageAfterSection { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + testName + ".html"); File model = new File("./testdocuments/model/" + testName + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/ListAfterText.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListAfterText.java index d470e25..e522fb8 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/ListAfterText.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/ListAfterText.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class ListAfterText { @Test @DisplayName("List after soft page break") @@ -26,6 +27,6 @@ public class ListAfterText { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + name + ".html"); File model = new File("./testdocuments/model/" + name + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/ListInSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListInSection.java index 60e93cb..a9bbdfc 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/ListInSection.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/ListInSection.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class ListInSection { @Test @DisplayName("List in section") @@ -26,6 +27,6 @@ public class ListInSection { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + name + ".html"); File model = new File("./testdocuments/model/" + name + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/ListInTable.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListInTable.java index 9399d78..23dc08b 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/ListInTable.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/ListInTable.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class ListInTable { @Test @DisplayName("list in table") @@ -24,6 +25,6 @@ public class ListInTable { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + testName + ".html"); File model = new File("./testdocuments/model/" + testName + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/ListTableSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/ListTableSection.java index 5e98b01..f6f91da 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/ListTableSection.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/ListTableSection.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class ListTableSection { @Test @DisplayName("list in table in section") @@ -24,6 +25,6 @@ public class ListTableSection { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + testName + ".html"); File model = new File("./testdocuments/model/" + testName + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10.java b/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10.java index 954dfa4..651421e 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class PageStartWith10 { @Test @DisplayName("start page from 10 in section") @@ -24,6 +25,6 @@ public class PageStartWith10 { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + testName + ".html"); File model = new File("./testdocuments/model/" + testName + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java b/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java index 096c42b..5de5b90 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/PageStartWith10InSection.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class PageStartWith10InSection { @Test @DisplayName("start page from 10") @@ -24,6 +25,6 @@ public class PageStartWith10InSection { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + testName + ".html"); File model = new File("./testdocuments/model/" + testName + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java b/src/regressionTests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java index 2c363e0..052ca71 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/SoftPageBreakInListTest.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class SoftPageBreakInListTest { @Test @DisplayName("Soft page break in list") @@ -26,6 +27,6 @@ public class SoftPageBreakInListTest { w2phtml.Application.main(arguments.toArray(new String[0])); File result = new File("./testdocuments/output/" + name + ".html"); File model = new File("./testdocuments/model/" + name + ".html"); - assertTrue(FileUtils.contentEquals(result, model), "The files differ!"); + assertTrue(TestFiles.equals(result, model), "The files differ!"); } } diff --git a/src/regressionTests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java b/src/regressionTests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java index ed6282d..fe3ddf1 100644 --- a/src/regressionTests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java +++ b/src/regressionTests/java/w2phtml/regressionTests/html5/SplitFilesAlignToPages.java @@ -6,10 +6,11 @@ import java.io.File; import java.util.ArrayList; import java.util.List; -import org.apache.commons.io.FileUtils; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; +import w2phtml.regressionTests.TestFiles; + public class SplitFilesAlignToPages { @Test @DisplayName("Split files align to pages") @@ -28,8 +29,8 @@ public class SplitFilesAlignToPages { File result2 = new File("./testdocuments/output/" + testName + "1.html"); File model1 = new File("./testdocuments/model/" + testName + ".html"); File model2 = new File("./testdocuments/model/" + testName + "1.html"); - assertTrue(FileUtils.contentEquals(result1, model1), "The files differ!"); - assertTrue(FileUtils.contentEquals(result2, model2), "The files differ!"); + assertTrue(TestFiles.equals(result1, model1), "The files differ!"); + assertTrue(TestFiles.equals(result2, model2), "The files differ!"); } } From ff556c19ddc7a207fbc973d7f4ef209de417f1fb Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 16:07:51 +0100 Subject: [PATCH 7/9] chore: removed one more dependency --- build.gradle | 1 - src/main/java/w2phtml/pageSplitters/ListSplitter.java | 4 +--- 2 files changed, 1 insertion(+), 4 deletions(-) diff --git a/build.gradle b/build.gradle index f76f5f6..64f772b 100644 --- a/build.gradle +++ b/build.gradle @@ -42,7 +42,6 @@ dependencies{ compileClasspath group: 'ch.qos.logback', name: 'logback-core', version: '1.2.3' compileClasspath group: 'com.miglayout', name: 'miglayout-swing', version: '5.2' compileClasspath group: 'org.apache.jena', name: 'jena-core', version: '3.15.0' - compileClasspath group: 'org.apache.jena', name: 'jena-arq', version: '3.15.0' compileClasspath group: 'org.slf4j', name: 'slf4j-api', version: '1.7.30' compileClasspath group: 'com.opencsv', name: 'opencsv', version: '5.1' compileClasspath group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2' diff --git a/src/main/java/w2phtml/pageSplitters/ListSplitter.java b/src/main/java/w2phtml/pageSplitters/ListSplitter.java index e4413b2..df7188d 100644 --- a/src/main/java/w2phtml/pageSplitters/ListSplitter.java +++ b/src/main/java/w2phtml/pageSplitters/ListSplitter.java @@ -6,13 +6,11 @@ import static w2phtml.office.XMLString.TEXT_LIST_ITEM; import static w2phtml.office.XMLString.TEXT_LIST; import static w2phtml.office.XMLString.TEXT_SOFT_PAGE_BREAK; -import org.apache.commons.lang3.StringUtils; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; import org.w3c.dom.NodeList; -import pro.litvinovg.xml.Debug; import w2phtml.office.OfficeReader; public class ListSplitter extends BasicSplitter implements ISplitter { @@ -101,7 +99,7 @@ public class ListSplitter extends BasicSplitter implements ISplitter { while (freeNodes.getLength() > 0) { Node freeNode = freeNodes.item(i); String freeNodeName = freeNode.getNodeName(); - if (StringUtils.equals(TEXT_LIST, freeNodeName)) { + if (TEXT_LIST.equals(freeNodeName)) { break; } parent.insertBefore(freeNode, list); From 0bb7490ac2d53ecc67332d3c289129abc8258267 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 16:08:47 +0100 Subject: [PATCH 8/9] chore: new version --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 30e22b3..a364566 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1 +1 @@ -version=0.9.27 +version=0.9.29 From 72f2892d30e47ad85174fd15e91b160b8e17e4b5 Mon Sep 17 00:00:00 2001 From: Georgy Litvinov Date: Wed, 8 Dec 2021 16:13:12 +0100 Subject: [PATCH 9/9] chore: new version --- w2phtml.update.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/w2phtml.update.xml b/w2phtml.update.xml index 50f4f29..b5c1867 100644 --- a/w2phtml.update.xml +++ b/w2phtml.update.xml @@ -2,9 +2,9 @@ - + - +