}
public static void mainCore(String[] args, Main main)
throws IOException
{
LocalizedInput in = null;
InputStream in1 = null;
Main me;
String file;
String inputResourceName;
boolean gotProp;
String tmpUnicode = null;
Properties connAttributeDefaults = null;
// load the property file if specified
gotProp = util.getPropertyArg(args);
// get the default connection attributes
connAttributeDefaults = util.getConnAttributeArg(args);
// adjust the application in accordance with derby.ui.locale and derby.ui.codeset
main.initAppUI();
LocalizedResource langUtil = LocalizedResource.getInstance();
LocalizedOutput out = langUtil.getNewOutput(System.out);
file = util.getFileArg(args);
inputResourceName = util.getInputResourceNameArg(args);
if (util.invalidArgs(args, gotProp, file, inputResourceName)) {
util.Usage(out);
return;
}
else if (inputResourceName != null) {
in = langUtil.getNewInput(util.getResourceAsStream(inputResourceName));
if (in == null) {
out.println(langUtil.getTextMessage("IJ_IjErroResoNo",inputResourceName));
return;
}
} else if (file == null) {
in = langUtil.getNewInput(System.in);
out.flush();
} else {
try {
in1 = new FileInputStream(file);
if (in1 != null) {
in1 = new BufferedInputStream(in1, utilMain.BUFFEREDFILESIZE);
in = langUtil.getNewInput(in1);
}
} catch (FileNotFoundException e) {
if (Boolean.getBoolean("ij.searchClassPath")) {
in = langUtil.getNewInput(util.getResourceAsStream(file));
}
if (in == null) {
out.println(langUtil.getTextMessage("IJ_IjErroFileNo",file));
return;
}
}
}
// set initial Unicode Escape Mode
tmpUnicode = util.getSystemProperty("ij.unicodeEscape");
if ((tmpUnicode != null) && tmpUnicode.toUpperCase(Locale.ENGLISH).equals("ON")) {
LocalizedResource.setUnicodeEscape(true);
}
String outFile = util.getSystemProperty("ij.outfile");
if (outFile != null && outFile.length()>0) {
LocalizedOutput oldOut = out;
try {
out = langUtil.getNewOutput(new FileOutputStream(outFile));
}
catch (IOException ioe) {
oldOut.println(langUtil.getTextMessage("IJ_IjErroUnabTo",outFile));
}
}
// the old property name is deprecated...
String maxDisplayWidth = util.getSystemProperty("maximumDisplayWidth");
if (maxDisplayWidth==null)
maxDisplayWidth = util.getSystemProperty("ij.maximumDisplayWidth");
if (maxDisplayWidth != null && maxDisplayWidth.length() > 0) {
try {
int maxWidth = Integer.parseInt(maxDisplayWidth);
JDBCDisplayUtil.setMaxDisplayWidth(maxWidth);
}
catch (NumberFormatException nfe) {
out.println(langUtil.getTextMessage("IJ_IjErroMaxiVa", maxDisplayWidth));
}
}
/* Use the main parameter to get to
* a new Main that we can use.
* (We can't do the work in Main(out)
* until after we do all of the work above
* us in this method.
*/
me = main.getMain(out);
/* Let the processing begin! */
me.go(in, out, connAttributeDefaults);
in.close(); out.close();
}