From: <rob...@us...> - 2010-08-25 05:56:54
|
Revision: 84 http://netcdftools.svn.sourceforge.net/netcdftools/?rev=84&view=rev Author: robertbridle Date: 2010-08-25 05:56:46 +0000 (Wed, 25 Aug 2010) Log Message: ----------- ANDSWRON-289 - Moved from using GnuParser to BasicParser. The BasicParser uses a basic flattening method and doesn't allow options that would seem to be invalid. Modified Paths: -------------- trunk/src/main/java/au/csiro/netcdf/NcCSVExtract.java trunk/src/main/java/au/csiro/netcdf/NcDefineAttributes.java trunk/src/main/java/au/csiro/netcdf/NcDefineDimension.java trunk/src/main/java/au/csiro/netcdf/NcDefineVariable.java trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java trunk/src/main/java/au/csiro/netcdf/wron/MdbsyNetCDF2CSVConverter.java trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioAConverter.java trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioCConverter.java Modified: trunk/src/main/java/au/csiro/netcdf/NcCSVExtract.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/NcCSVExtract.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/NcCSVExtract.java 2010-08-25 05:56:46 UTC (rev 84) @@ -22,8 +22,8 @@ import java.io.PrintWriter; import java.io.StringWriter; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; @@ -135,7 +135,7 @@ public void execute(String[] args) throws ParseException, IOException { // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(options, args); + CommandLine parsedCommandLine = new BasicParser().parse(options, args); String filename = parsedCommandLine.getOptionValue(INPUT_FILE); int numRecords = Util.fastFileLineCounter(filename); @@ -207,7 +207,7 @@ // check required options are provided try { - parsedCommandLine = new GnuParser().parse(options, commandLine); + parsedCommandLine = new BasicParser().parse(options, commandLine); } catch (ParseException ex) { Modified: trunk/src/main/java/au/csiro/netcdf/NcDefineAttributes.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/NcDefineAttributes.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/NcDefineAttributes.java 2010-08-25 05:56:46 UTC (rev 84) @@ -29,8 +29,8 @@ import java.util.List; import java.util.Set; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; @@ -151,7 +151,7 @@ public void execute(String[] args) throws ParseException, IOException, IllegalArgumentException { // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(this.options, args); + CommandLine parsedCommandLine = new BasicParser().parse(this.options, args); // get the command line argument values String outputFilenameArg = (parsedCommandLine.hasOption(OUTPUT_FILE)) ? parsedCommandLine @@ -523,7 +523,7 @@ try { // try parsing the command line, where ParseException can be thrown from - CommandLine parsedCommandLine = new GnuParser().parse(this.options, commandLine); + CommandLine parsedCommandLine = new BasicParser().parse(this.options, commandLine); // get the command line argument values String outputFilenameArg = (parsedCommandLine.hasOption(OUTPUT_FILE)) ? parsedCommandLine Modified: trunk/src/main/java/au/csiro/netcdf/NcDefineDimension.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/NcDefineDimension.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/NcDefineDimension.java 2010-08-25 05:56:46 UTC (rev 84) @@ -26,8 +26,8 @@ import java.util.ArrayList; import java.util.List; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; @@ -106,7 +106,7 @@ public void execute(String[] args) throws ParseException, IOException, IllegalArgumentException { // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(this.options, args); + CommandLine parsedCommandLine = new BasicParser().parse(this.options, args); // get the command line argument values String outputFilenameArg = (parsedCommandLine.hasOption(OUTPUT_FILE)) ? parsedCommandLine @@ -357,7 +357,7 @@ try { // try parsing the command line, where ParseException can be thrown from - CommandLine parsedCommandLine = new GnuParser().parse(this.options, commandLine); + CommandLine parsedCommandLine = new BasicParser().parse(this.options, commandLine); // get the command line argument values String outputFilenameArg = (parsedCommandLine.hasOption(OUTPUT_FILE)) ? parsedCommandLine Modified: trunk/src/main/java/au/csiro/netcdf/NcDefineVariable.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/NcDefineVariable.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/NcDefineVariable.java 2010-08-25 05:56:46 UTC (rev 84) @@ -30,8 +30,8 @@ import java.util.Set; import java.util.regex.PatternSyntaxException; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; @@ -157,7 +157,7 @@ public void execute(String[] args) throws IllegalArgumentException, IOException, ParseException { // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(this.options, args); + CommandLine parsedCommandLine = new BasicParser().parse(this.options, args); // get the command line argument values String outputFilenameArg = (parsedCommandLine.hasOption(OUTPUT_FILE)) ? parsedCommandLine @@ -506,7 +506,7 @@ try { // try parsing the command line, where ParseException can be thrown from - CommandLine parsedCommandLine = new GnuParser().parse(this.options, commandLine); + CommandLine parsedCommandLine = new BasicParser().parse(this.options, commandLine); // try converting command line parameters to their associated types, where IllegalArgumentException can be // thrown from Modified: trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java 2010-08-25 05:56:46 UTC (rev 84) @@ -32,8 +32,8 @@ import java.util.ArrayList; import java.util.List; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.Option; import org.apache.commons.cli.OptionBuilder; @@ -117,7 +117,7 @@ public void execute(String[] args) throws ParseException, IOException { // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(options, args); + CommandLine parsedCommandLine = new BasicParser().parse(options, args); // get the command line argument values String outputFilenameArg = (parsedCommandLine.hasOption(OUTPUT_FILE)) ? parsedCommandLine @@ -331,7 +331,7 @@ try { // try parsing the command line, where ParseException can be thrown from - CommandLine parsedCommandLine = new GnuParser().parse(options, args); + CommandLine parsedCommandLine = new BasicParser().parse(options, args); // try converting command line parameters to their associated types, where IllegalArgumentException can be // thrown from Modified: trunk/src/main/java/au/csiro/netcdf/wron/MdbsyNetCDF2CSVConverter.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/wron/MdbsyNetCDF2CSVConverter.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/wron/MdbsyNetCDF2CSVConverter.java 2010-08-25 05:56:46 UTC (rev 84) @@ -27,8 +27,8 @@ import java.util.Date; import java.util.List; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.MissingOptionException; import org.apache.commons.cli.Option; @@ -161,7 +161,7 @@ options.addOption(outputDirectoryName); // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(options, args); + CommandLine parsedCommandLine = new BasicParser().parse(options, args); String inputDir = parsedCommandLine.getOptionValue(INPUT_DIR); String outputDir = parsedCommandLine.getOptionValue(OUTPUT_DIR); Modified: trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioAConverter.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioAConverter.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioAConverter.java 2010-08-25 05:56:46 UTC (rev 84) @@ -45,8 +45,8 @@ import java.util.TreeSet; import java.util.regex.Pattern; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.MissingOptionException; import org.apache.commons.cli.Option; @@ -280,7 +280,7 @@ options.addOption(endLat); // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(options, args); + CommandLine parsedCommandLine = new BasicParser().parse(options, args); INPUT_CSV_DIRECTORY = (parsedCommandLine.hasOption("inputDirectory")) ? parsedCommandLine .getOptionValue("inputDirectory") : ""; Modified: trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioCConverter.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioCConverter.java 2010-08-18 05:16:33 UTC (rev 83) +++ trunk/src/main/java/au/csiro/netcdf/wron/MdbsyScenarioCConverter.java 2010-08-25 05:56:46 UTC (rev 84) @@ -45,8 +45,8 @@ import java.util.TreeSet; import java.util.regex.Pattern; +import org.apache.commons.cli.BasicParser; import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.GnuParser; import org.apache.commons.cli.HelpFormatter; import org.apache.commons.cli.MissingOptionException; import org.apache.commons.cli.Option; @@ -308,7 +308,7 @@ options.addOption(endLat); // parse the command line arguments - CommandLine parsedCommandLine = new GnuParser().parse(options, args); + CommandLine parsedCommandLine = new BasicParser().parse(options, args); INPUT_CSV_DIRECTORY = (parsedCommandLine.hasOption("inputDirectory")) ? parsedCommandLine .getOptionValue("inputDirectory") : ""; This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |
From: <rit...@us...> - 2010-08-30 06:10:25
|
Revision: 85 http://netcdftools.svn.sourceforge.net/netcdftools/?rev=85&view=rev Author: ritacsiro Date: 2010-08-30 06:10:19 +0000 (Mon, 30 Aug 2010) Log Message: ----------- ANDSWRON-462:ANDSWRDM - Conversion Tools - Error handling when fillrange exceeds actual range of values in binary file Modified Paths: -------------- trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java trunk/src/main/java/au/csiro/netcdf/cli/NetCDFTool.java Modified: trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java 2010-08-25 05:56:46 UTC (rev 84) +++ trunk/src/main/java/au/csiro/netcdf/NcWriteVariable.java 2010-08-30 06:10:19 UTC (rev 85) @@ -22,6 +22,7 @@ import java.io.BufferedInputStream; import java.io.BufferedReader; import java.io.DataInputStream; +import java.io.EOFException; import java.io.File; import java.io.FileInputStream; import java.io.IOException; @@ -662,41 +663,49 @@ int i = 0; while (i < buffer.getSize()) { - - if (isFloat) + try { - buffer.setFloat(i, dataIn.readFloat()); + if (isFloat) + { + buffer.setFloat(i, dataIn.readFloat()); + } + else if (isDouble) + { + buffer.setDouble(i, dataIn.readDouble()); + } + else if (isLong) + { + buffer.setLong(i, dataIn.readLong()); + } + else if (isInt) + { + buffer.setInt(i, dataIn.readInt()); + } + else if (isChar) + { + buffer.setChar(i, dataIn.readChar()); + } + else if (isByte) + { + buffer.setByte(i, dataIn.readByte()); + } + else if (isBoolean) + { + buffer.setBoolean(i, dataIn.readBoolean()); + } + else if (isShort) + { + buffer.setShort(i, dataIn.readShort()); + } } - else if (isDouble) + catch (EOFException e) { - buffer.setDouble(i, dataIn.readDouble()); + String error = "Expected block of " + buffer.getSize() + " values but ran out after " + i + "."; + System.err.println(error); + throw new EOFException(error); } - else if (isLong) - { - buffer.setLong(i, dataIn.readLong()); - } - else if (isInt) - { - buffer.setInt(i, dataIn.readInt()); - } - else if (isChar) - { - buffer.setChar(i, dataIn.readChar()); - } - else if (isByte) - { - buffer.setByte(i, dataIn.readByte()); - } - else if (isBoolean) - { - buffer.setBoolean(i, dataIn.readBoolean()); - } - else if (isShort) - { - buffer.setShort(i, dataIn.readShort()); - } i++; } - + } } Modified: trunk/src/main/java/au/csiro/netcdf/cli/NetCDFTool.java =================================================================== --- trunk/src/main/java/au/csiro/netcdf/cli/NetCDFTool.java 2010-08-25 05:56:46 UTC (rev 84) +++ trunk/src/main/java/au/csiro/netcdf/cli/NetCDFTool.java 2010-08-30 06:10:19 UTC (rev 85) @@ -85,10 +85,9 @@ catch (Exception e) { LOG.error(e); - e.printStackTrace(); +// e.printStackTrace(); System.out.println("Error: " + e.getMessage()); System.out.println(command.getUsageString()); -// e.printStackTrace(); System.exit(2); } } This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |