You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by mb...@apache.org on 2017/12/16 16:18:45 UTC

svn commit: r1818434 - in /ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile: DataFile.java DataFile2EntityXml.java ModelDataFile.java ModelDataFileReader.java ModelRecord.java Record.java

Author: mbrohl
Date: Sat Dec 16 16:18:45 2017
New Revision: 1818434

URL: http://svn.apache.org/viewvc?rev=1818434&view=rev
Log:
Improved: General refactoring and code improvements, package 
org.apache.ofbiz.datafile.
(OFBIZ-9963)

Thanks Dennis Balkir for reporting and providing the patches.

Modified:
    ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile.java
    ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile2EntityXml.java
    ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFile.java
    ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFileReader.java
    ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelRecord.java
    ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/Record.java

Modified: ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile.java?rev=1818434&r1=1818433&r2=1818434&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile.java Sat Dec 16 16:18:45 2017
@@ -43,7 +43,7 @@ public class DataFile {
     public static final String module = DataFile.class.getName();
 
     /** List of record in the file, contains Record objects */
-    protected List<Record> records = new ArrayList<Record>();
+    protected List<Record> records = new ArrayList<>();
 
     /** Contains the definition for the file */
     protected ModelDataFile modelDataFile;
@@ -132,8 +132,9 @@ public class DataFile {
      * @throws DataFileException Exception thown for various errors, generally has a nested exception
      */
     public void readDataFile(String content) throws DataFileException {
-        if (UtilValidate.isEmpty(content))
+        if (UtilValidate.isEmpty(content)) {
             throw new IllegalStateException("Content is empty, can't read file");
+        }
 
         ByteArrayInputStream bis = new ByteArrayInputStream(content.getBytes(UtilIO.getUtf8()));
 
@@ -170,7 +171,7 @@ public class DataFile {
 
     /**
      * Writes the records in this DataFile object to a text data file
-     * 
+     *
      * @param filename
      *            The filename to put the data into
      * @throws DataFileException

Modified: ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile2EntityXml.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile2EntityXml.java?rev=1818434&r1=1818433&r2=1818434&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile2EntityXml.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/DataFile2EntityXml.java Sat Dec 16 16:18:45 2017
@@ -58,8 +58,9 @@ public class DataFile2EntityXml {
                 ModelRecord modelRecord = record.getModelRecord();
                 outFile.write("<" + modelRecord.name + " ");
                 for (ModelField modelField : modelRecord.fields) {
-                    if (modelField.ignored)
+                    if (modelField.ignored) {
                         continue;
+                    }
                     Object value = record.get(modelField.name);
                     if (value == null) {
                         value = modelField.defaultValue;

Modified: ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFile.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFile.java?rev=1818434&r1=1818433&r2=1818434&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFile.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFile.java Sat Dec 16 16:18:45 2017
@@ -61,7 +61,7 @@ public class ModelDataFile {
     public String description = "";
 
     /** List of record definitions for the file */
-    public List<ModelRecord> records = new ArrayList<ModelRecord>();
+    public List<ModelRecord> records = new ArrayList<>();
 
     public ModelRecord getModelRecord(String recordName) {
         for (ModelRecord curRecord: records) {

Modified: ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFileReader.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFileReader.java?rev=1818434&r1=1818433&r2=1818434&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFileReader.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelDataFileReader.java Sat Dec 16 16:18:45 2017
@@ -46,13 +46,15 @@ public final class ModelDataFileReader {
     public static ModelDataFileReader getModelDataFileReader(URL readerURL) throws DataFileException {
         ModelDataFileReader reader = readers.get(readerURL);
         if (reader == null) {
-            if (Debug.infoOn())
+            if (Debug.infoOn()) {
                 Debug.logInfo("[ModelDataFileReader.getModelDataFileReader] : creating reader for " + readerURL, module);
+            }
             reader = new ModelDataFileReader(readerURL);
             readers.putIfAbsent(readerURL, reader);
         }
-        if (Debug.infoOn())
+        if (Debug.infoOn()) {
             Debug.logInfo("[ModelDataFileReader.getModelDataFileReader] : returning reader for " + readerURL, module);
+        }
         return reader;
     }
 
@@ -137,7 +139,7 @@ public final class ModelDataFileReader {
             Debug.logWarning("No <data-file> elements found in " + this.readerURL, module);
             throw new DataFileException("No <data-file> elements found in " + this.readerURL);
         }
-        Map<String, ModelDataFile> result = new HashMap<String, ModelDataFile>();
+        Map<String, ModelDataFile> result = new HashMap<>();
         for (Element curDataFile : dataFileElements) {
             String dataFileName = UtilXml.checkEmpty(curDataFile.getAttribute("name"));
             if (result.containsKey(dataFileName)) {
@@ -200,11 +202,13 @@ public final class ModelDataFileReader {
         record.typeCode = UtilXml.checkEmpty(recordElement.getAttribute("type-code"));
 
         record.tcMin = UtilXml.checkEmpty(recordElement.getAttribute("tc-min"));
-        if (record.tcMin.length() > 0)
+        if (record.tcMin.length() > 0) {
             record.tcMinNum = Long.parseLong(record.tcMin);
+        }
         record.tcMax = UtilXml.checkEmpty(recordElement.getAttribute("tc-max"));
-        if (record.tcMax.length() > 0)
+        if (record.tcMax.length() > 0) {
             record.tcMaxNum = Long.parseLong(record.tcMax);
+        }
 
         tempStr = UtilXml.checkEmpty(recordElement.getAttribute("tc-isnum"));
         if (UtilValidate.isNotEmpty(tempStr)) {
@@ -245,7 +249,7 @@ public final class ModelDataFileReader {
     /**
      * Creates a Collection with the dataFileName of each DataFile defined in the
      * specified XML DataFile Descriptor file.
-     * 
+     *
      * @return A Collection of dataFileName Strings
      */
     public Collection<String> getDataFileNames() {
@@ -255,7 +259,7 @@ public final class ModelDataFileReader {
     /**
      * Creates a Iterator with the dataFileName of each DataFile defined in the specified
      * XML DataFile Descriptor file.
-     * 
+     *
      * @return A Iterator of dataFileName Strings
      */
     public Iterator<String> getDataFileNamesIterator() {
@@ -265,7 +269,7 @@ public final class ModelDataFileReader {
     /**
      * Gets an DataFile object based on a definition from the specified XML DataFile
      * descriptor file.
-     * 
+     *
      * @param dataFileName
      *            The dataFileName of the DataFile definition to use.
      * @return An DataFile object describing the specified dataFile of the specified

Modified: ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelRecord.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelRecord.java?rev=1818434&r1=1818433&r2=1818434&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelRecord.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/ModelRecord.java Sat Dec 16 16:18:45 2017
@@ -65,10 +65,10 @@ public class ModelRecord {
     public String limit = "";
 
     public ModelRecord parentRecord = null;
-    public List<ModelRecord> childRecords = new ArrayList<ModelRecord>();
+    public List<ModelRecord> childRecords = new ArrayList<>();
 
     /** List of the fields that compose this record */
-    public List<ModelField> fields = new ArrayList<ModelField>();
+    public List<ModelField> fields = new ArrayList<>();
 
     ModelField getModelField(String fieldName) {
         for (ModelField curField: fields) {

Modified: ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/Record.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/Record.java?rev=1818434&r1=1818433&r2=1818434&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/Record.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/datafile/src/main/java/org/apache/ofbiz/datafile/Record.java Sat Dec 16 16:18:45 2017
@@ -51,24 +51,26 @@ public class Record implements Serializa
     protected transient ModelRecord modelRecord;
 
     protected Record parentRecord = null;
-    protected List<Record> childRecords = new ArrayList<Record>();
+    protected List<Record> childRecords = new ArrayList<>();
 
     /** Creates new Record */
     protected Record(ModelRecord modelRecord) {
-        if (modelRecord == null)
+        if (modelRecord == null) {
             throw new IllegalArgumentException("Cannont create a Record with a null modelRecord parameter");
+        }
         this.recordName = modelRecord.name;
         this.modelRecord = modelRecord;
-        this.fields = new HashMap<String, Object>();
+        this.fields = new HashMap<>();
     }
 
     /** Creates new Record from existing Map */
     protected Record(ModelRecord modelRecord, Map<String, Object> fields) {
-        if (modelRecord == null)
+        if (modelRecord == null) {
             throw new IllegalArgumentException("Cannont create a Record with a null modelRecord parameter");
+        }
         this.recordName = modelRecord.name;
         this.modelRecord = modelRecord;
-        this.fields = (fields == null ? new HashMap<String, Object>() : new HashMap<String, Object>(fields));
+        this.fields = (fields == null ? new HashMap<>() : new HashMap<>(fields));
     }
 
     public String getRecordName() {
@@ -92,23 +94,25 @@ public class Record implements Serializa
     public String getString(String name) {
         Object object = get(name);
 
-        if (object == null)
+        if (object == null) {
             return null;
-        if (object instanceof java.lang.String)
+        }
+        if (object instanceof java.lang.String) {
             return (String) object;
-        else
-            return object.toString();
+        }
+        return object.toString();
     }
 
     public String getStringAndEmpty(String name) {
         Object object = get(name);
 
-        if (object == null)
+        if (object == null) {
             return "";
-        if (object instanceof java.lang.String)
+        }
+        if (object instanceof java.lang.String) {
             return (String) object;
-        else
-            return object.toString();
+        }
+        return object.toString();
     }
 
     public java.sql.Timestamp getTimestamp(String name) {
@@ -194,12 +198,14 @@ public class Record implements Serializa
      * @param value The String value to convert and set
      */
     public void setString(String name, String value) throws ParseException {
-        if (name == null || value == null || value.equals(""))
+        if (name == null || value == null || value.equals("")) {
             return;
+        }
         ModelField field = getModelRecord().getModelField(name);
 
-        if (field == null)
+        if (field == null) {
             set(name, value); // this will get an error in the set() method...
+        }
 
         // if the string is all spaces ignore
         boolean nonSpace = false;
@@ -210,8 +216,9 @@ public class Record implements Serializa
                 break;
             }
         }
-        if (!nonSpace)
+        if (!nonSpace) {
             return;
+        }
 
         String fieldType = field.type;
 
@@ -251,48 +258,50 @@ public class Record implements Serializa
             number = number / divisor;
             set(name, Double.valueOf(number));
         } // standard types
-        else if (fieldType.equals("java.lang.String") || fieldType.equals("String"))
+        else if (fieldType.equals("java.lang.String") || fieldType.equals("String")) {
             if (field.format.equals("EncryptedString")) {
                 String hashType = LoginServices.getHashType();
                 set(name, HashCrypt.digestHash(hashType, value.getBytes(UtilIO.getUtf8())));
             } else {
                 set(name, value);
             }
-        else if (fieldType.equals("NullTerminatedString")) {
+        } else if (fieldType.equals("NullTerminatedString")) {
             int terminate = value.indexOf(0x0);
             set(name, terminate > 0 ? value.substring(0, terminate) : value);
-        } else if (fieldType.equals("java.sql.Timestamp") || fieldType.equals("Timestamp"))
+        } else if (fieldType.equals("java.sql.Timestamp") || fieldType.equals("Timestamp")) {
             set(name, java.sql.Timestamp.valueOf(value));
-        else if (fieldType.equals("java.sql.Time") || fieldType.equals("Time"))
+        } else if (fieldType.equals("java.sql.Time") || fieldType.equals("Time")) {
             set(name, java.sql.Time.valueOf(value));
-        else if (fieldType.equals("java.sql.Date") || fieldType.equals("Date"))
+        } else if (fieldType.equals("java.sql.Date") || fieldType.equals("Date")) {
             set(name, java.sql.Date.valueOf(value));
-        else if (fieldType.equals("java.lang.Integer") || fieldType.equals("Integer"))
+        } else if (fieldType.equals("java.lang.Integer") || fieldType.equals("Integer")) {
             set(name, Integer.valueOf(value));
-        else if (fieldType.equals("java.lang.Long") || fieldType.equals("Long"))
+        } else if (fieldType.equals("java.lang.Long") || fieldType.equals("Long")) {
             set(name, Long.valueOf(value));
-        else if (fieldType.equals("java.lang.Float") || fieldType.equals("Float"))
+        } else if (fieldType.equals("java.lang.Float") || fieldType.equals("Float")) {
             set(name, Float.valueOf(value));
-        else if (fieldType.equals("java.lang.Double") || fieldType.equals("Double"))
+        } else if (fieldType.equals("java.lang.Double") || fieldType.equals("Double")) {
             set(name, Double.valueOf(value));
-        else if (fieldType.equals("LEShort"))
+        } else if (fieldType.equals("LEShort")) {
             set(name, Short.valueOf(readLEShort(value.getBytes(UtilIO.getUtf8()))));
-        else if (fieldType.equals("LEInteger"))
+        } else if (fieldType.equals("LEInteger")) {
             set(name, Integer.valueOf(readLEInt(value.getBytes(UtilIO.getUtf8()))));
-        else if (fieldType.equals("LELong"))
+        } else if (fieldType.equals("LELong")) {
             set(name, Long.valueOf(readLELong(value.getBytes(UtilIO.getUtf8()))));
-        else {
+        } else {
             throw new IllegalArgumentException("Field type " + fieldType + " not currently supported. Sorry.");
         }
     }
 
     public String getFixedString(String name) {
-        if (name == null)
+        if (name == null) {
             return null;
+        }
         ModelField field = getModelRecord().getModelField(name);
 
-        if (field == null)
+        if (field == null) {
             throw new IllegalArgumentException("Could not find model for field named \"" + name + "\"");
+        }
 
         Object value = get(name);
 
@@ -332,24 +341,23 @@ public class Record implements Serializa
 
             str = padFrontZeros(Long.toString(number), field.length);
         } // standard types
-        else if (fieldType.equals("java.lang.String") || fieldType.equals("String"))
+        else if (fieldType.equals("java.lang.String") || fieldType.equals("String")) {
             str = value.toString();
-        else if (fieldType.equals("java.sql.Timestamp") || fieldType.equals("Timestamp"))
+        } else if (fieldType.equals("java.sql.Timestamp") || fieldType.equals("Timestamp")) {
             str = value.toString();
-        else if (fieldType.equals("java.sql.Time") || fieldType.equals("Time"))
+        } else if (fieldType.equals("java.sql.Time") || fieldType.equals("Time")) {
             str = value.toString();
-        else if (fieldType.equals("java.sql.Date") || fieldType.equals("Date"))
+        } else if (fieldType.equals("java.sql.Date") || fieldType.equals("Date")) {
             str = value.toString();
-        // for all numbers, pad front with zeros if field length is specified
-        else if (fieldType.equals("java.lang.Integer") || fieldType.equals("Integer"))
+        } else if (fieldType.equals("java.lang.Integer") || fieldType.equals("Integer")) {
             str = padFrontZeros(value.toString(), field.length);
-        else if (fieldType.equals("java.lang.Long") || fieldType.equals("Long"))
+        } else if (fieldType.equals("java.lang.Long") || fieldType.equals("Long")) {
             str = padFrontZeros(value.toString(), field.length);
-        else if (fieldType.equals("java.lang.Float") || fieldType.equals("Float"))
+        } else if (fieldType.equals("java.lang.Float") || fieldType.equals("Float")) {
             str = padFrontZeros(value.toString(), field.length);
-        else if (fieldType.equals("java.lang.Double") || fieldType.equals("Double"))
+        } else if (fieldType.equals("java.lang.Double") || fieldType.equals("Double")) {
             str = padFrontZeros(value.toString(), field.length);
-        else {
+        } else {
             throw new IllegalArgumentException("Field type " + fieldType + " not currently supported. Sorry.");
         }
 
@@ -357,8 +365,9 @@ public class Record implements Serializa
             // pad the end with spaces
             StringBuilder strBuf = new StringBuilder(str);
 
-            while (strBuf.length() < field.length)
+            while (strBuf.length() < field.length) {
                 strBuf.append(' ');
+            }
             str = strBuf.toString();
         }
         return str;
@@ -385,19 +394,22 @@ public class Record implements Serializa
             if (data == null) {
                 StringBuilder sb = new StringBuilder("");
 
-                for (int i = 0; i < modelField.length; i++)
+                for (int i = 0; i < modelField.length; i++) {
                     sb.append(PAD_CHAR);
+                }
                 data = sb.toString();
             }
 
             // Pad the record
             if (isFixedRecord) {
-                while (modelField.position > lineBuf.length())
+                while (modelField.position > lineBuf.length()) {
                     lineBuf.append(" ");
+                }
             }
-            if (modelField.length > 0 && data.length() != modelField.length)
+            if (modelField.length > 0 && data.length() != modelField.length) {
                 throw new DataFileException("Got field length " + data.length() + " but expected field length is " + modelField.length + " for field \"" + modelField.name
                                             + "\" of record \"" + modelRecord.name + "\" data is: \"" + data + "\"");
+            }
 
             lineBuf.append(data);
             if (isDelimited) {
@@ -413,17 +425,19 @@ public class Record implements Serializa
             lineBuf.setLength(lineBuf.length() - 1);
         }
 
-        if ((isFixedRecord || isFixedLength) && modelDataFile.recordLength > 0 && lineBuf.length() != modelDataFile.recordLength)
+        if ((isFixedRecord || isFixedLength) && modelDataFile.recordLength > 0 && lineBuf.length() != modelDataFile.recordLength) {
             throw new DataFileException("Got record length " + lineBuf.length() + " but expected record length is " + modelDataFile.recordLength + " for record \""
                                         + modelRecord.name + "\" data line is: \"" + lineBuf + "\"");
+        }
 
         // for convenience, insert the type-code in where it is looked for, if exists
         if (modelRecord.tcPosition > 0 && modelRecord.typeCode.length() > 0) {
             lineBuf.replace(modelRecord.tcPosition, modelRecord.tcPosition + modelRecord.tcLength, modelRecord.typeCode);
         }
 
-        if (isFixedLength || isDelimited)
+        if (isFixedLength || isDelimited) {
             lineBuf.append('\n');
+        }
 
         return lineBuf.toString();
     }
@@ -434,12 +448,13 @@ public class Record implements Serializa
             StringBuilder zeros = new StringBuilder();
             int numZeros = totalLength - str.length();
 
-            for (int i = 0; i < numZeros; i++)
+            for (int i = 0; i < numZeros; i++) {
                 zeros.append('0');
+            }
             zeros.append(str);
             return zeros.toString();
-        } else
-            return str;
+        }
+        return str;
     }
 
     public Record getParentRecord() {