A few things
1. ScriptLanguageCommand "method" in OozieCLI should start with "s" instead of "S"
2. In DagEngine it has "*" in an import statement. Is it a good coding convention?
3. It tends to combine hive with pig as "ScriptLanguage". I am not too sure we should combine them together. One good place I found it is not good is in TestWorkflowXClient.java
wc.submitPig(conf, pigScriptFile, null)); wc.submitScriptLanguage(conf, pigScriptFile, null, "pig"));
submitPig is a typed method whereas submitScriptLaunguage can take a string in the 4th param, which is error prone.
Also my 2 cents, it is a big patch so maybe good idea to use reviewboard.