/* */ protected void setupStore(String jdbcAccessClassName, String tableName)
/* */ throws Exception
/* */ {
/* 647 */ if ((jdbcAccessClassName == null) || (jdbcAccessClassName.length() == 0))
/* 648 */ throw new ObjectStoreException();
/* */ JDBCAccess jdbcAccess;
/* 651 */ synchronized (_theAccesses)
/* */ {
/* 653 */ Object jdbcAccessObject = _theAccesses.get(jdbcAccessClassName);
/* */ JDBCAccess jdbcAccess;
/* 655 */ if (jdbcAccessObject != null)
/* */ {
/* 657 */ jdbcAccess = (JDBCAccess)jdbcAccessObject;
/* */ }
/* */ else
/* */ {
/* */ try
/* */ {
/* 663 */ Class jdbcAccessClass = Thread.currentThread().getContextClassLoader().loadClass(jdbcAccessClassName);
/* */
/* 666 */ jdbcAccess = (JDBCAccess)jdbcAccessClass.newInstance();
/* */ }
/* */ catch (Exception ex)
/* */ {
/* 670 */ if (tsLogger.arjLoggerI18N.isFatalEnabled())
/* */ {
/* 672 */ tsLogger.arjLoggerI18N.fatal("com.arjuna.ats.internal.arjuna.objectstore.JDBCStore_2", new Object[] { ex, jdbcAccessClassName });
/* */ }
/* */
/* 678 */ throw ex;
/* */ }
/* 680 */ _theAccesses.put(jdbcAccessClassName, jdbcAccess);
/* */ }
/* */ }
/* 683 */ setJDBCAccess(jdbcAccess);
/* */ String impleTableName;
/* */ String impleTableName;
/* 686 */ if ((tableName != null) && (tableName.length() > 0))
/* */ {
/* 688 */ impleTableName = tableName;
/* */ }
/* */ else
/* */ {
/* 692 */ String jdbcAccessTableName = jdbcAccess.tableName();
/* */ String impleTableName;
/* 693 */ if ((jdbcAccessTableName != null) && (jdbcAccessTableName.length() > 0))
/* */ {
/* 696 */ impleTableName = jdbcAccessTableName;
/* */ }
/* */ else
/* */ {
/* 700 */ impleTableName = getDefaultTableName();
/* */ }
/* */ }
/* */
/* 704 */ setTableName(impleTableName);
/* */
/* 706 */ String impleKey = jdbcAccessClassName + ":" + impleTableName;
/* */
/* 708 */ synchronized (_theImples)
/* */ {
/* 710 */ Object currentImple = _theImples.get(impleKey);
/* 711 */ if (currentImple != null)
/* */ {
/* 713 */ this._theImple = ((JDBCImple)currentImple);
/* */ }
/* */ else
/* */ {
/* */ try
/* */ {
/* */ Connection connection;
/* */ try
/* */ {
/* 726 */ connection = jdbcAccess.getConnection();
/* */ }
/* */ catch (SQLException sqle)
/* */ {
/* 730 */ if (tsLogger.arjLoggerI18N.isFatalEnabled())
/* */ {