Skip to content

Commit

Permalink
Catch more exceptions when initializing SpecimenDetailsViewPane
Browse files Browse the repository at this point in the history
  • Loading branch information
GenieTim committed Oct 28, 2019
1 parent 89e95b8 commit 6a1dfa7
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@
import java.util.Collection;
import java.util.Date;
import java.util.Set;
import javax.persistence.OptimisticLockException;
import javax.swing.BorderFactory;
import javax.swing.DefaultCellEditor;
import javax.swing.DefaultComboBoxModel;
Expand Down Expand Up @@ -246,14 +247,17 @@ public SpecimenDetailsViewPane(Specimen aSpecimenInstance, SpecimenController aC
specimenController = aControler;
initialize();
setValues();
} catch (SessionException e) {
log.debug(e.getMessage(),e);
Singleton.getSingletonInstance().getMainFrame().setStatusMessage("Database Connection Error.");
HibernateUtil.terminateSessionFactory();
this.setVisible(false);
} catch (TransactionException e) {
log.debug(e.getMessage(),e);
Singleton.getSingletonInstance().getMainFrame().setStatusMessage("Database Connection Error.");
} catch (Exception e) {
String status = "Undefined error initializing SpecimenDetails. Restarting Database connection...";
if (e instanceof SessionException || e instanceof TransactionException) {
status = "Database Connection Error. Resetting connection... Try again.";
} else if (e instanceof IllegalStateException) {
status = "Illegal state exception. Last edit possibly lost. Try again.";
} else if (e instanceof OptimisticLockException){
status = "Error: last edited entry has been modified externally. Try again.";
}
Singleton.getSingletonInstance().getMainFrame().setStatusMessage(status);
log.debug(e.getMessage(), e);
HibernateUtil.terminateSessionFactory();
this.setVisible(false);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,8 @@ public void attachDirty(Specimen instance) throws SaveFailedException {
}
}

/** Re-associate a transient instance with a session.
/**
* Re-associate a transient instance with a session.
*
* @param instance
*/
Expand Down

0 comments on commit 6a1dfa7

Please sign in to comment.