rsukkerd/Parallel-Bug-Fixes — Issue #3: Uses plume-lib for processing arguments in Main
Author: bestchai
Created: 2012-01-19 22:19:11+00:00
State: open

The current code manually processes arguments, e.g.:

```java
public static void main(String[] args) throws IOException
{
DataExtractor.extractData(args[0], args[1], args[2], args[3]);
}
```
This code has multiple issues, such as:
1. It will fail with java.lang.ArrayIndexOutOfBoundsException if insufficient arguments are passed to the program.
2. It will ignore extra arguments provided by the user.

A good approach to avoid most common errors is to use a library for processing command line arguments. A good library is plume-lib: http://code.google.com/p/plume-lib/

To resolve this issue, do the following:
1. Create a lib/ directory at the top level of the repository
2. Download, unpack, and add plume.jar to lib/
3. Read the documentation about how to use plume lib to processes command line arguments here:
http://types.cs.washington.edu/plume-lib/api/plume/Options.html
4. Update Main.java to use plume lib to parse/extract the four arguments it currently needs.