Changeset 34112


Ignore:
Timestamp:
2020-05-18T13:40:55+12:00 (4 years ago)
Author:
ak19
Message:

GS3 source code seems to already use FileInputStream with UTF-8 encoding where XML files are concerned. Refactored XML_FILE_ENCODING into GSConstants class so both XMLConverter and now XMLTransformer can use it.

Location:
main/trunk/greenstone3/src/java/org/greenstone
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/GSConstants.java

    r32326 r34112  
    4242    public static final String META_LAST = "last";
    4343    public static final String META_POS = "pos";
     44
     45    public static final String UTF8="UTF-8";
     46    // The default encoding Greenstone expects when reading in its XML files
     47    public static final String XML_FILE_ENCODING=UTF8;
    4448}
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/XMLConverter.java

    r34101 r34112  
    1919package org.greenstone.gsdl3.util;
    2020
     21// import constant GSConstants.XML_FILE_ENCODING, so this file can use it as XML_FILE_ENCODING directly
     22//import static org.greenstone.gsdl3.util.GSConstants.XML_FILE_ENCODING;
     23
    2124// XML classes
    2225import org.w3c.dom.DOMImplementation;
     
    7376
    7477   
    75     public static final String XML_FILE_ENCODING="UTF-8";
     78   
    7679
    7780    static {
    7881    String fileEncodingProperty = System.getProperty("file.encoding");
    7982
    80     // log a warning if the file.encoding Java property departs from XML_FILE_ENCODING,
     83    // log a warning if the file.encoding Java property departs from GSConstants.XML_FILE_ENCODING,
    8184    // but always use the latter for reading in XML files in getDOM(File, ...) methods
    82     if(fileEncodingProperty == null) {
     85
     86    // Stopped passing around JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" again.
     87    // So this is likely to be null by default. Don't want to see the warnings about it being null.
     88    /*if(fileEncodingProperty == null) {
    8389        logger.warn("file.encoding Java property was not set.");
    84         logger.warn("Using XMLConverter.XML_FILE_ENCODING="+XML_FILE_ENCODING+"in XMLConverter.getDOM() calls.");
    85     }
    86     else if(!fileEncodingProperty.equals(XML_FILE_ENCODING)) {
    87         logger.warn("file.encoding property passed in with JAVA_TOOLS_OPTIONS: "
     90        logger.warn("Using XMLConverter.GSConstants.XML_FILE_ENCODING="+GSConstants.XML_FILE_ENCODING+"in XMLConverter.getDOM() calls.");
     91    }
     92    else if(!fileEncodingProperty.equals(GSConstants.XML_FILE_ENCODING)) {
     93    */
     94    if(fileEncodingProperty != null && !fileEncodingProperty.equals(GSConstants.XML_FILE_ENCODING)) {
     95        logger.warn("file.encoding property was passed in with JAVA_TOOLS_OPTIONS as: "
    8896                   + fileEncodingProperty);
    89         logger.warn("does not match XMLConverter.XML_FILE_ENCODING: " + XML_FILE_ENCODING);
    90         logger.warn("Using XMLConverter.XML_FILE_ENCODING in XMLConverter.getDOM() calls.");
     97        logger.warn("This does not match XMLConverter.GSConstants.XML_FILE_ENCODING: " + GSConstants.XML_FILE_ENCODING);
     98        logger.warn("Using XMLConverter.GSConstants.XML_FILE_ENCODING in XMLConverter.getDOM() and XMLTransformer calls.");
    9199    }
    92100    };
     
    149157  public static Document getDOM(File in) {
    150158
    151       // now we're always going to explicitly use XML_FILE_ENCODING (UTF-8)
     159      // now we're always going to explicitly use GSConstants.XML_FILE_ENCODING (UTF-8)
    152160      // as the encoding to read in a file unless otherwise specified.
    153       return getDOM(in, XML_FILE_ENCODING, null);
     161      return getDOM(in, GSConstants.XML_FILE_ENCODING, null);
    154162     
    155163      /*
     
    201209
    202210  public static Document getDOM(File in, EntityResolver er) {
    203       // now we're always going to explicitly use XML_FILE_ENCODING (UTF-8)
     211      // now we're always going to explicitly use GSConstants.XML_FILE_ENCODING (UTF-8)
    204212      // as the encoding to read in a file unless otherwise specified.
    205       return getDOM(in, XML_FILE_ENCODING, er);
     213      return getDOM(in, GSConstants.XML_FILE_ENCODING, er);
    206214      /*
    207215    try {     
  • main/trunk/greenstone3/src/java/org/greenstone/gsdl3/util/XMLTransformer.java

    r33631 r34112  
    1919package org.greenstone.gsdl3.util;
    2020
     21// import constant GSConstants.XML_FILE_ENCODING, so this file can use it as XML_FILE_ENCODING directly
     22//import static org.greenstone.gsdl3.util.GSConstants.XML_FILE_ENCODING;
     23
    2124import java.io.BufferedReader;
    2225import java.io.File;
     
    358361
    359362            // http://stackoverflow.com/questions/3699860/resolving-relative-paths-when-loading-xslt-files
    360             Source xsltSource = new StreamSource(new InputStreamReader(new FileInputStream(stylesheet), "UTF-8"));
     363            Source xsltSource = new StreamSource(new InputStreamReader(new FileInputStream(stylesheet), GSConstants.XML_FILE_ENCODING));
    361364            URI systemID = stylesheet.toURI();
    362365            try {               
     
    375378
    376379            DOMResult result = (docDocType == null) ? new DOMResult() : new DOMResult(docDocType);
    377             StreamSource streamSource = new StreamSource(new InputStreamReader(new FileInputStream(source), "UTF-8"));
     380            StreamSource streamSource = new StreamSource(new InputStreamReader(new FileInputStream(source), GSConstants.XML_FILE_ENCODING));
    378381
    379382            transformer.setErrorListener(new TransformErrorListener(stylesheet, streamSource));
     
    460463        Source importXSLsrc = null;
    461464        try {
    462         importXSLsrc = new StreamSource(new InputStreamReader(new FileInputStream(importXSLfile), "UTF-8"));       
     465        importXSLsrc = new StreamSource(new InputStreamReader(new FileInputStream(importXSLfile), GSConstants.XML_FILE_ENCODING));     
    463466        URL url = systemID.toURL();         
    464467        importXSLsrc.setSystemId(url.toExternalForm());
     
    491494          TransformErrorListener transformerErrorListener = (TransformErrorListener) this.t_factory.getErrorListener();
    492495            transformerErrorListener.setStylesheet(stylesheet);
    493             Transformer transformer = this.t_factory.newTransformer(new StreamSource(new InputStreamReader(new FileInputStream(stylesheet), "UTF-8")));
     496            Transformer transformer = this.t_factory.newTransformer(new StreamSource(new InputStreamReader(new FileInputStream(stylesheet), GSConstants.XML_FILE_ENCODING)));
    494497            DOMResult result =  (docDocType == null) ? new DOMResult() : new DOMResult(docDocType);
    495498
    496499            XMLReader reader = XMLReaderFactory.createXMLReader();
    497500            reader.setEntityResolver(er);
    498             SAXSource xmlSource = new SAXSource(reader, new InputSource(new InputStreamReader(new FileInputStream(source), "UTF-8")));
     501            SAXSource xmlSource = new SAXSource(reader, new InputSource(new InputStreamReader(new FileInputStream(source), GSConstants.XML_FILE_ENCODING)));
    499502       
    500503            transformer.setErrorListener(new TransformErrorListener(stylesheet, xmlSource));
     
    535538                TransformErrorListener transformerErrorListener = (TransformErrorListener) this.t_factory.getErrorListener();
    536539            transformerErrorListener.setStylesheet(stylesheet);
    537             Transformer transformer = this.t_factory.newTransformer(new StreamSource(new InputStreamReader(new FileInputStream(stylesheet), "UTF-8")));
     540            Transformer transformer = this.t_factory.newTransformer(new StreamSource(new InputStreamReader(new FileInputStream(stylesheet), GSConstants.XML_FILE_ENCODING)));
    538541            DOMResult result = (docDocType == null) ? new DOMResult() : new DOMResult(docDocType);
    539             StreamSource streamSource = new StreamSource(new InputStreamReader(new FileInputStream(source), "UTF-8"));
     542            StreamSource streamSource = new StreamSource(new InputStreamReader(new FileInputStream(source), GSConstants.XML_FILE_ENCODING));
    540543
    541544            transformer.setErrorListener(new TransformErrorListener(stylesheet, streamSource));
  • main/trunk/greenstone3/src/java/org/greenstone/server/Server3Settings.java

    r29845 r34112  
    44import java.awt.event.*;
    55import java.io.File;
    6 import java.io.FileInputStream;
    76import java.util.ArrayList;
    87import java.util.HashMap;
Note: See TracChangeset for help on using the changeset viewer.