diff --git a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java index 85e5cf1..d556e6c 100644 --- a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java +++ b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/DB/OrderDB.java @@ -43,6 +43,7 @@ public class OrderDB { private ProgressListener mListener; private PreparedStatement prep; private String dbLocation; + private boolean isLoadingFile = false; /** * Creates a new OrderDB @@ -113,7 +114,7 @@ public class OrderDB { ByteArrayInputStream bais; ObjectInputStream ins; while (rs.next()) { - if(mListener != null) + if(mListener != null && ! isLoadingFile) mListener.onProgressUpdate(row++); bais = new ByteArrayInputStream(rs.getBytes("item")); ins = new ObjectInputStream(bais); @@ -138,6 +139,7 @@ public class OrderDB { public void load(File file) throws SQLException, IOException, OrderExistsException, ClassNotFoundException{ Scanner scan = new Scanner(file); int line = 1; + isLoadingFile = true; Connection conn = getConnection(); prep = conn.prepareStatement(INSERT); @@ -159,6 +161,8 @@ public class OrderDB { e.printStackTrace(); } } + conn.close(); + isLoadingFile = false; } /** diff --git a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java index 9a46d49..b77a2b8 100644 --- a/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java +++ b/Order Processor/src/com/TwentyCodes/java/OrderProcessor/UI/MainWindow.java @@ -67,6 +67,7 @@ public class MainWindow extends JFrame implements ActionListener, ProgressListen panel.add(mLoadFileButton); mProgressBar = new JProgressBar(); + mProgressBar.setStringPainted(true); getContentPane().add(mProgressBar, BorderLayout.SOUTH); setVisible(true); pack(); @@ -111,7 +112,6 @@ public class MainWindow extends JFrame implements ActionListener, ProgressListen mProgressBar.setIndeterminate(true); mCurrentFile = fc.getSelectedFile().toString(); mProgressBar.setString(mCurrentFile); - mProgressBar.setStringPainted(true); mProgressBar.setMaximum(countLines(fc.getSelectedFile())+1); java.util.concurrent.Executors.newSingleThreadExecutor().submit(new Runnable() { @@ -178,7 +178,7 @@ public class MainWindow extends JFrame implements ActionListener, ProgressListen public void onProgressUpdate(int progress) { progress++; mProgressBar.setValue(progress); - mProgressBar.setString(" "+mCurrentFile + " ~ Parsing Order: "+progress+" of "+mProgressBar.getMaximum()+" "); + mProgressBar.setString(" "+mCurrentFile + " ~ Parsing Order: "+ progress +" of "+mProgressBar.getMaximum()+" "); if(mProgressBar.isIndeterminate()) { mProgressBar.setIndeterminate(false); pack();