Re: svn commit: r923828 - in /ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile: Record.java RecordIterator.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r923828 - in /ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile: Record.java RecordIterator.java

Adam Heath-2
[hidden email] wrote:

> Author: jleroux
> Date: Tue Mar 16 16:00:32 2010
> New Revision: 923828
>
> URL: http://svn.apache.org/viewvc?rev=923828&view=rev
> Log:
> A patch from BJ Freeman "Datafile does not catch lack of delimiter if at end of line." (https://issues.apache.org/jira/browse/OFBIZ-3026) - OFBIZ-3026
>
> There was an issue if the datafile did not have the last delimiter before the CRLF.  This fixes it when there are not data for a field and also fixes the EOL.
>
> Modified:
>     ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>     ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>
> Modified: ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java?rev=923828&r1=923827&r2=923828&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java (original)
> +++ ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java Tue Mar 16 16:00:32 2010
> @@ -561,18 +561,24 @@ public class Record implements Serializa
>                      strVal = (String)modelField.defaultValue;
>                  }
>              } else {
> -                try {
> -                    strVal = st.nextToken();
> -                    if (strVal.equals("" + delimiter)) {
> -                        strVal = null;
> -                    } else {
> -                        if (st.hasMoreTokens()) {
> -                            st.nextToken();
> +                //some input lines may be less than the header model.
> +                if (st.hasMoreTokens()) {
> +                    try {
> +                        strVal = st.nextToken();
> +                        if (strVal.equals("" + delimiter)) {
> +                            strVal = null;
> +                        } else {
> +                            if (st.hasMoreTokens()) {
> +                                st.nextToken();
> +                            }
>                          }
> -                    }
> -                } catch (NoSuchElementException nsee) {
> -                    throw new DataFileException("Field " + modelField.name + " could not be read from a line (" + lineNum + ") with only " +
> -                            line.length() + " chars.", nsee);
> +                    } catch (NoSuchElementException nsee) {
> +                        throw new DataFileException("Field " + modelField.name + " could not be read from a line (" + lineNum + ") with only " +
> +                                line.length() + " chars.", nsee);
> +                    }                
> +                }
> +                else { //if input line is less than the header model then pad with null
> +                    strVal = null;
>                  }

} else {

>              }
>              try {
>
> Modified: ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java?rev=923828&r1=923827&r2=923828&view=diff
> ==============================================================================
> --- ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java (original)
> +++ ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java Tue Mar 16 16:00:32 2010
> @@ -26,6 +26,8 @@ import java.io.InputStreamReader;
>  import java.net.URL;
>  import java.util.Stack;
>  
> +import org.ofbiz.base.util.Debug;
> +

Extra blank line.

>  /**
>   *  Record Iterator for reading large files
> @@ -84,7 +86,6 @@ public class RecordIterator {
>          this.nextRecord = null;
>  
>          boolean isFixedRecord = ModelDataFile.SEP_FIXED_RECORD.equals(modelDataFile.separatorStyle);
> -        boolean isFixedLength = ModelDataFile.SEP_FIXED_LENGTH.equals(modelDataFile.separatorStyle);
>          boolean isDelimited = ModelDataFile.SEP_DELIMITED.equals(modelDataFile.separatorStyle);
>          // if (Debug.infoOn()) Debug.logInfo("[DataFile.readDataFile] separatorStyle is " + modelDataFile.separatorStyle + ", isFixedRecord: " + isFixedRecord, module);
>  
> @@ -111,12 +112,14 @@ public class RecordIterator {
>          } else {
>              try {
>                  nextLine = br.readLine();
> -            } catch (IOException e) {
> +                Debug.logInfo("br.readLine()=\"" + nextLine + "\"", module);
> +                } catch (IOException e) {

Remove this logInfo.

The catch line has bad indentation.

>                  throw new DataFileException("Error reading line #" + nextLineNum + " from location: " + locationInfo, e);
>              }
>          }
>  
> -        if (nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
> +        //if (nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
> +        if (nextLine != null && !((nextLine.contains(eof) ) )) {

Don't leave commented out lines like this; it is generally bad form,
esp. for simple lines.  That's what revision history is for.

Bad spacing around parentheses.

>              nextLineNum++;
>              ModelRecord modelRecord = findModelForLine(nextLine, nextLineNum, modelDataFile);
>              if (isDelimited) {
> @@ -136,7 +139,8 @@ public class RecordIterator {
>      }
>  
>      public boolean hasNext() {
> -        return nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
> +        //return nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
> +        return nextLine != null && !((nextLine.contains(eof) ) );

Same as last paragraph.


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r923828 - in /ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile: Record.java RecordIterator.java

BJ Freeman
thanks for the comments.
how does the history shows lines removed?
How can I keep those lines I commented out in my code but not in the patch?

=========================
BJ Freeman
http://bjfreeman.elance.com
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Linkedin
<http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>


Adam Heath sent the following on 3/16/2010 9:06 AM:

> [hidden email] wrote:
>> Author: jleroux
>> Date: Tue Mar 16 16:00:32 2010
>> New Revision: 923828
>>
>> URL: http://svn.apache.org/viewvc?rev=923828&view=rev
>> Log:
>> A patch from BJ Freeman "Datafile does not catch lack of delimiter if at end of line." (https://issues.apache.org/jira/browse/OFBIZ-3026) - OFBIZ-3026
>>
>> There was an issue if the datafile did not have the last delimiter before the CRLF.  This fixes it when there are not data for a field and also fixes the EOL.
>>
>> Modified:
>>     ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>>     ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>>
>> Modified: ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java?rev=923828&r1=923827&r2=923828&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java (original)
>> +++ ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java Tue Mar 16 16:00:32 2010
>> @@ -561,18 +561,24 @@ public class Record implements Serializa
>>                      strVal = (String)modelField.defaultValue;
>>                  }
>>              } else {
>> -                try {
>> -                    strVal = st.nextToken();
>> -                    if (strVal.equals("" + delimiter)) {
>> -                        strVal = null;
>> -                    } else {
>> -                        if (st.hasMoreTokens()) {
>> -                            st.nextToken();
>> +                //some input lines may be less than the header model.
>> +                if (st.hasMoreTokens()) {
>> +                    try {
>> +                        strVal = st.nextToken();
>> +                        if (strVal.equals("" + delimiter)) {
>> +                            strVal = null;
>> +                        } else {
>> +                            if (st.hasMoreTokens()) {
>> +                                st.nextToken();
>> +                            }
>>                          }
>> -                    }
>> -                } catch (NoSuchElementException nsee) {
>> -                    throw new DataFileException("Field " + modelField.name + " could not be read from a line (" + lineNum + ") with only " +
>> -                            line.length() + " chars.", nsee);
>> +                    } catch (NoSuchElementException nsee) {
>> +                        throw new DataFileException("Field " + modelField.name + " could not be read from a line (" + lineNum + ") with only " +
>> +                                line.length() + " chars.", nsee);
>> +                    }                
>> +                }
>> +                else { //if input line is less than the header model then pad with null
>> +                    strVal = null;
>>                  }
>
> } else {
>
>>              }
>>              try {
>>
>> Modified: ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>> URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java?rev=923828&r1=923827&r2=923828&view=diff
>> ==============================================================================
>> --- ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java (original)
>> +++ ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java Tue Mar 16 16:00:32 2010
>> @@ -26,6 +26,8 @@ import java.io.InputStreamReader;
>>  import java.net.URL;
>>  import java.util.Stack;
>>  
>> +import org.ofbiz.base.util.Debug;
>> +
>
> Extra blank line.
>
>>  /**
>>   *  Record Iterator for reading large files
>> @@ -84,7 +86,6 @@ public class RecordIterator {
>>          this.nextRecord = null;
>>  
>>          boolean isFixedRecord = ModelDataFile.SEP_FIXED_RECORD.equals(modelDataFile.separatorStyle);
>> -        boolean isFixedLength = ModelDataFile.SEP_FIXED_LENGTH.equals(modelDataFile.separatorStyle);
>>          boolean isDelimited = ModelDataFile.SEP_DELIMITED.equals(modelDataFile.separatorStyle);
>>          // if (Debug.infoOn()) Debug.logInfo("[DataFile.readDataFile] separatorStyle is " + modelDataFile.separatorStyle + ", isFixedRecord: " + isFixedRecord, module);
>>  
>> @@ -111,12 +112,14 @@ public class RecordIterator {
>>          } else {
>>              try {
>>                  nextLine = br.readLine();
>> -            } catch (IOException e) {
>> +                Debug.logInfo("br.readLine()=\"" + nextLine + "\"", module);
>> +                } catch (IOException e) {
>
> Remove this logInfo.
>
> The catch line has bad indentation.
>
>>                  throw new DataFileException("Error reading line #" + nextLineNum + " from location: " + locationInfo, e);
>>              }
>>          }
>>  
>> -        if (nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
>> +        //if (nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
>> +        if (nextLine != null && !((nextLine.contains(eof) ) )) {
>
> Don't leave commented out lines like this; it is generally bad form,
> esp. for simple lines.  That's what revision history is for.
>
> Bad spacing around parentheses.
>
>>              nextLineNum++;
>>              ModelRecord modelRecord = findModelForLine(nextLine, nextLineNum, modelDataFile);
>>              if (isDelimited) {
>> @@ -136,7 +139,8 @@ public class RecordIterator {
>>      }
>>  
>>      public boolean hasNext() {
>> -        return nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
>> +        //return nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
>> +        return nextLine != null && !((nextLine.contains(eof) ) );
>
> Same as last paragraph.
>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r923828 - in /ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile: Record.java RecordIterator.java

Jacques Le Roux
Administrator
BJ, Adam,

I prefer top keep these lines for the moment. It's quicker if we need them later and harmless for the moment.
The Debug.logInfo line could be commented out also, maybe useful later, without almost any handlings
For the remaining I agree it's a good exercice

Jacques

From: "BJ Freeman" <[hidden email]>

> thanks for the comments.
> how does the history shows lines removed?
> How can I keep those lines I commented out in my code but not in the patch?
>
> =========================
> BJ Freeman
> http://bjfreeman.elance.com
> Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
> Specialtymarket.com <http://www.specialtymarket.com/>
>
> Systems Integrator-- Glad to Assist
>
> Chat  Y! messenger: bjfr33man
> Linkedin
> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>
>
>
> Adam Heath sent the following on 3/16/2010 9:06 AM:
>> [hidden email] wrote:
>>> Author: jleroux
>>> Date: Tue Mar 16 16:00:32 2010
>>> New Revision: 923828
>>>
>>> URL: http://svn.apache.org/viewvc?rev=923828&view=rev
>>> Log:
>>> A patch from BJ Freeman "Datafile does not catch lack of delimiter if at end of line."
>>> (https://issues.apache.org/jira/browse/OFBIZ-3026) - OFBIZ-3026
>>>
>>> There was an issue if the datafile did not have the last delimiter before the CRLF.  This fixes it when there are not data for a
>>> field and also fixes the EOL.
>>>
>>> Modified:
>>>     ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>>>     ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>>>
>>> Modified: ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java?rev=923828&r1=923827&r2=923828&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java (original)
>>> +++ ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java Tue Mar 16 16:00:32 2010
>>> @@ -561,18 +561,24 @@ public class Record implements Serializa
>>>                      strVal = (String)modelField.defaultValue;
>>>                  }
>>>              } else {
>>> -                try {
>>> -                    strVal = st.nextToken();
>>> -                    if (strVal.equals("" + delimiter)) {
>>> -                        strVal = null;
>>> -                    } else {
>>> -                        if (st.hasMoreTokens()) {
>>> -                            st.nextToken();
>>> +                //some input lines may be less than the header model.
>>> +                if (st.hasMoreTokens()) {
>>> +                    try {
>>> +                        strVal = st.nextToken();
>>> +                        if (strVal.equals("" + delimiter)) {
>>> +                            strVal = null;
>>> +                        } else {
>>> +                            if (st.hasMoreTokens()) {
>>> +                                st.nextToken();
>>> +                            }
>>>                          }
>>> -                    }
>>> -                } catch (NoSuchElementException nsee) {
>>> -                    throw new DataFileException("Field " + modelField.name + " could not be read from a line (" + lineNum + ")
>>> with only " +
>>> -                            line.length() + " chars.", nsee);
>>> +                    } catch (NoSuchElementException nsee) {
>>> +                        throw new DataFileException("Field " + modelField.name + " could not be read from a line (" + lineNum +
>>> ") with only " +
>>> +                                line.length() + " chars.", nsee);
>>> +                    }
>>> +                }
>>> +                else { //if input line is less than the header model then pad with null
>>> +                    strVal = null;
>>>                  }
>>
>> } else {
>>
>>>              }
>>>              try {
>>>
>>> Modified: ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>>> URL:
>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java?rev=923828&r1=923827&r2=923828&view=diff
>>> ==============================================================================
>>> --- ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java (original)
>>> +++ ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java Tue Mar 16 16:00:32 2010
>>> @@ -26,6 +26,8 @@ import java.io.InputStreamReader;
>>>  import java.net.URL;
>>>  import java.util.Stack;
>>>
>>> +import org.ofbiz.base.util.Debug;
>>> +
>>
>> Extra blank line.
>>
>>>  /**
>>>   *  Record Iterator for reading large files
>>> @@ -84,7 +86,6 @@ public class RecordIterator {
>>>          this.nextRecord = null;
>>>
>>>          boolean isFixedRecord = ModelDataFile.SEP_FIXED_RECORD.equals(modelDataFile.separatorStyle);
>>> -        boolean isFixedLength = ModelDataFile.SEP_FIXED_LENGTH.equals(modelDataFile.separatorStyle);
>>>          boolean isDelimited = ModelDataFile.SEP_DELIMITED.equals(modelDataFile.separatorStyle);
>>>          // if (Debug.infoOn()) Debug.logInfo("[DataFile.readDataFile] separatorStyle is " + modelDataFile.separatorStyle + ",
>>> isFixedRecord: " + isFixedRecord, module);
>>>
>>> @@ -111,12 +112,14 @@ public class RecordIterator {
>>>          } else {
>>>              try {
>>>                  nextLine = br.readLine();
>>> -            } catch (IOException e) {
>>> +                Debug.logInfo("br.readLine()=\"" + nextLine + "\"", module);
>>> +                } catch (IOException e) {
>>
>> Remove this logInfo.
>>
>> The catch line has bad indentation.
>>
>>>                  throw new DataFileException("Error reading line #" + nextLineNum + " from location: " + locationInfo, e);
>>>              }
>>>          }
>>>
>>> -        if (nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
>>> +        //if (nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
>>> +        if (nextLine != null && !((nextLine.contains(eof) ) )) {
>>
>> Don't leave commented out lines like this; it is generally bad form,
>> esp. for simple lines.  That's what revision history is for.
>>
>> Bad spacing around parentheses.
>>
>>>              nextLineNum++;
>>>              ModelRecord modelRecord = findModelForLine(nextLine, nextLineNum, modelDataFile);
>>>              if (isDelimited) {
>>> @@ -136,7 +139,8 @@ public class RecordIterator {
>>>      }
>>>
>>>      public boolean hasNext() {
>>> -        return nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
>>> +        //return nextLine != null && !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
>>> +        return nextLine != null && !((nextLine.contains(eof) ) );
>>
>> Same as last paragraph.
>>
>>
>>
>
>


Reply | Threaded
Open this post in threaded view
|

Re: svn commit: r923828 - in /ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile: Record.java RecordIterator.java

BJ Freeman
In reply to this post by BJ Freeman
did so

=========================
BJ Freeman
http://bjfreeman.elance.com
Strategic Power Office with Supplier Automation <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
Specialtymarket.com <http://www.specialtymarket.com/>

Systems Integrator-- Glad to Assist

Chat  Y! messenger: bjfr33man
Linkedin
<http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>


Jacques Le Roux sent the following on 3/16/2010 10:44 AM:

> BJ, Adam,
>
> I prefer top keep these lines for the moment. It's quicker if we need
> them later and harmless for the moment.
> The Debug.logInfo line could be commented out also, maybe useful later,
> without almost any handlings
> For the remaining I agree it's a good exercice
>
> Jacques
>
> From: "BJ Freeman" <[hidden email]>
>> thanks for the comments.
>> how does the history shows lines removed?
>> How can I keep those lines I commented out in my code but not in the
>> patch?
>>
>> =========================
>> BJ Freeman
>> http://bjfreeman.elance.com
>> Strategic Power Office with Supplier Automation
>> <http://www.businessesnetwork.com/automation/viewforum.php?f=93>
>> Specialtymarket.com <http://www.specialtymarket.com/>
>>
>> Systems Integrator-- Glad to Assist
>>
>> Chat  Y! messenger: bjfr33man
>> Linkedin
>> <http://www.linkedin.com/profile?viewProfile=&key=1237480&locale=en_US&trk=tab_pro>
>>
>>
>>
>> Adam Heath sent the following on 3/16/2010 9:06 AM:
>>> [hidden email] wrote:
>>>> Author: jleroux
>>>> Date: Tue Mar 16 16:00:32 2010
>>>> New Revision: 923828
>>>>
>>>> URL: http://svn.apache.org/viewvc?rev=923828&view=rev
>>>> Log:
>>>> A patch from BJ Freeman "Datafile does not catch lack of delimiter
>>>> if at end of line."
>>>> (https://issues.apache.org/jira/browse/OFBIZ-3026) - OFBIZ-3026
>>>>
>>>> There was an issue if the datafile did not have the last delimiter
>>>> before the CRLF.  This fixes it when there are not data for a field
>>>> and also fixes the EOL.
>>>>
>>>> Modified:
>>>>     ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>>>>    
>>>> ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>>>>
>>>>
>>>> Modified:
>>>> ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java?rev=923828&r1=923827&r2=923828&view=diff
>>>>
>>>> ==============================================================================
>>>>
>>>> ---
>>>> ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>>>> (original)
>>>> +++
>>>> ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/Record.java
>>>> Tue Mar 16 16:00:32 2010
>>>> @@ -561,18 +561,24 @@ public class Record implements Serializa
>>>>                      strVal = (String)modelField.defaultValue;
>>>>                  }
>>>>              } else {
>>>> -                try {
>>>> -                    strVal = st.nextToken();
>>>> -                    if (strVal.equals("" + delimiter)) {
>>>> -                        strVal = null;
>>>> -                    } else {
>>>> -                        if (st.hasMoreTokens()) {
>>>> -                            st.nextToken();
>>>> +                //some input lines may be less than the header model.
>>>> +                if (st.hasMoreTokens()) {
>>>> +                    try {
>>>> +                        strVal = st.nextToken();
>>>> +                        if (strVal.equals("" + delimiter)) {
>>>> +                            strVal = null;
>>>> +                        } else {
>>>> +                            if (st.hasMoreTokens()) {
>>>> +                                st.nextToken();
>>>> +                            }
>>>>                          }
>>>> -                    }
>>>> -                } catch (NoSuchElementException nsee) {
>>>> -                    throw new DataFileException("Field " +
>>>> modelField.name + " could not be read from a line (" + lineNum + ")
>>>> with only " +
>>>> -                            line.length() + " chars.", nsee);
>>>> +                    } catch (NoSuchElementException nsee) {
>>>> +                        throw new DataFileException("Field " +
>>>> modelField.name + " could not be read from a line (" + lineNum + ")
>>>> with only " +
>>>> +                                line.length() + " chars.", nsee);
>>>> +                    }
>>>> +                }
>>>> +                else { //if input line is less than the header
>>>> model then pad with null
>>>> +                    strVal = null;
>>>>                  }
>>>
>>> } else {
>>>
>>>>              }
>>>>              try {
>>>>
>>>> Modified:
>>>> ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>>>>
>>>> URL:
>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java?rev=923828&r1=923827&r2=923828&view=diff
>>>>
>>>> ==============================================================================
>>>>
>>>> ---
>>>> ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>>>> (original)
>>>> +++
>>>> ofbiz/trunk/framework/datafile/src/org/ofbiz/datafile/RecordIterator.java
>>>> Tue Mar 16 16:00:32 2010
>>>> @@ -26,6 +26,8 @@ import java.io.InputStreamReader;
>>>>  import java.net.URL;
>>>>  import java.util.Stack;
>>>>
>>>> +import org.ofbiz.base.util.Debug;
>>>> +
>>>
>>> Extra blank line.
>>>
>>>>  /**
>>>>   *  Record Iterator for reading large files
>>>> @@ -84,7 +86,6 @@ public class RecordIterator {
>>>>          this.nextRecord = null;
>>>>
>>>>          boolean isFixedRecord =
>>>> ModelDataFile.SEP_FIXED_RECORD.equals(modelDataFile.separatorStyle);
>>>> -        boolean isFixedLength =
>>>> ModelDataFile.SEP_FIXED_LENGTH.equals(modelDataFile.separatorStyle);
>>>>          boolean isDelimited =
>>>> ModelDataFile.SEP_DELIMITED.equals(modelDataFile.separatorStyle);
>>>>          // if (Debug.infoOn())
>>>> Debug.logInfo("[DataFile.readDataFile] separatorStyle is " +
>>>> modelDataFile.separatorStyle + ", isFixedRecord: " + isFixedRecord,
>>>> module);
>>>>
>>>> @@ -111,12 +112,14 @@ public class RecordIterator {
>>>>          } else {
>>>>              try {
>>>>                  nextLine = br.readLine();
>>>> -            } catch (IOException e) {
>>>> +                Debug.logInfo("br.readLine()=\"" + nextLine + "\"",
>>>> module);
>>>> +                } catch (IOException e) {
>>>
>>> Remove this logInfo.
>>>
>>> The catch line has bad indentation.
>>>
>>>>                  throw new DataFileException("Error reading line #"
>>>> + nextLineNum + " from location: " + locationInfo, e);
>>>>              }
>>>>          }
>>>>
>>>> -        if (nextLine != null &&
>>>> !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
>>>> +        //if (nextLine != null &&
>>>> !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length())) {
>>>> +        if (nextLine != null && !((nextLine.contains(eof) ) )) {
>>>
>>> Don't leave commented out lines like this; it is generally bad form,
>>> esp. for simple lines.  That's what revision history is for.
>>>
>>> Bad spacing around parentheses.
>>>
>>>>              nextLineNum++;
>>>>              ModelRecord modelRecord = findModelForLine(nextLine,
>>>> nextLineNum, modelDataFile);
>>>>              if (isDelimited) {
>>>> @@ -136,7 +139,8 @@ public class RecordIterator {
>>>>      }
>>>>
>>>>      public boolean hasNext() {
>>>> -        return nextLine != null &&
>>>> !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
>>>> +        //return nextLine != null &&
>>>> !(eof.equals(nextLine.substring(0,1)) && 1 == nextLine.length());
>>>> +        return nextLine != null && !((nextLine.contains(eof) ) );
>>>
>>> Same as last paragraph.
>>>
>>>
>>>
>>
>>
>
>
>