test_class.declarator: COLUMN_NAME = "COLUMN_NAME"
test_class.modifier: private static final
test_class.original_string: private static final String COLUMN_NAME = "COLUMN_NAME";
test_class.type: String
test_class.var_name: COLUMN_NAME
test_class.declarator: DATA_TYPE = "DATA_TYPE"
test_class.modifier: private static final
test_class.original_string: private static final String DATA_TYPE = "DATA_TYPE";
test_class.type: String
test_class.var_name: DATA_TYPE
test_class.declarator: TYPE_NAME = "TYPE_NAME"
test_class.modifier: private static final
test_class.original_string: private static final String TYPE_NAME = "TYPE_NAME";
test_class.type: String
test_class.var_name: TYPE_NAME
test_class.declarator: TABLE_NAME = "TABLE_NAME"
test_class.modifier: private static final
test_class.original_string: private static final String TABLE_NAME = "TABLE_NAME";
test_class.type: String
test_class.var_name: TABLE_NAME
test_class.declarator: TEST_TABLE = "test"
test_class.modifier: private static final
test_class.original_string: private static final String TEST_TABLE = "test";
test_class.type: String
test_class.var_name: TEST_TABLE
test_class.declarator: dataSource
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private DataSource dataSource;
test_class.type: DataSource
test_class.var_name: dataSource
test_class.declarator: connection
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Connection connection;
test_class.type: Connection
test_class.var_name: connection
test_class.declarator: statement
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private Statement statement;
test_class.type: Statement
test_class.var_name: statement
test_class.declarator: databaseMetaData
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private DatabaseMetaData databaseMetaData;
test_class.type: DatabaseMetaData
test_class.var_name: databaseMetaData
test_class.declarator: tableResultSet
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ResultSet tableResultSet;
test_class.type: ResultSet
test_class.var_name: tableResultSet
test_class.declarator: primaryKeyResultSet
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ResultSet primaryKeyResultSet;
test_class.type: ResultSet
test_class.var_name: primaryKeyResultSet
test_class.declarator: columnMetaDataResultSet
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ResultSet columnMetaDataResultSet;
test_class.type: ResultSet
test_class.var_name: columnMetaDataResultSet
test_class.declarator: indexMetaDataResultSet
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ResultSet indexMetaDataResultSet;
test_class.type: ResultSet
test_class.var_name: indexMetaDataResultSet
test_class.declarator: caseSensitivesResultSet
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ResultSet caseSensitivesResultSet;
test_class.type: ResultSet
test_class.var_name: caseSensitivesResultSet
test_class.declarator: resultSetMetaData
test_class.modifier: @Mock
      private
test_class.original_string: @Mock
      private ResultSetMetaData resultSetMetaData;
test_class.type: ResultSetMetaData
test_class.var_name: resultSetMetaData
test_class.file: shardingsphere-scaling/shardingsphere-scaling-core/src/test/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManagerTest.java
test_class.identifier: MetaDataManagerTest
test_case.body: @Test(expected = RuntimeException.class)
      public void assertGetTableMetaDataFailure() throws SQLException {
          when(dataSource.getConnection()).thenThrow(new SQLException(""));
          new MetaDataManager(dataSource).getTableMetaData(TEST_TABLE);
      }
test_case.class_method_signature: MetaDataManagerTest.assertGetTableMetaDataFailure()
test_case.full_signature: @Test(expected = RuntimeException.class) public void assertGetTableMetaDataFailure()
test_case.identifier: assertGetTableMetaDataFailure
test_case.invocations: thenThrow when getConnection getTableMetaData
test_case.modifiers: @Test(expected = RuntimeException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertGetTableMetaDataFailure()
focal_class.declarator: dataSource
focal_class.modifier: private final
focal_class.original_string: private final DataSource dataSource;
focal_class.type: DataSource
focal_class.var_name: dataSource
focal_class.declarator: tableMetaDataMap = new HashMap<>()
focal_class.modifier: private final
focal_class.original_string: private final Map<String, TableMetaData> tableMetaDataMap = new HashMap<>();
focal_class.type: Map<String, TableMetaData>
focal_class.var_name: tableMetaDataMap
focal_class.file: shardingsphere-scaling/shardingsphere-scaling-core/src/main/java/org/apache/shardingsphere/scaling/core/metadata/MetaDataManager.java
focal_class.identifier: MetaDataManager
focal_class.class_method_signature: MetaDataManager.getTableMetaData(final String tableName)
focal_class.full_signature: public TableMetaData getTableMetaData(final String tableName)
focal_class.identifier: getTableMetaData
focal_class.modifiers: public
focal_class.parameters: (final String tableName)
focal_class.return: TableMetaData
focal_class.signature: TableMetaData getTableMetaData(final String tableName)
focal_method.body: public TableMetaData getTableMetaData(final String tableName) {
          if (!tableMetaDataMap.containsKey(tableName)) {
              try {
                  TableMetaDataLoader.load(dataSource, tableName, "").ifPresent(tableMetaData -> tableMetaDataMap.put(tableName, tableMetaData));
              } catch (final SQLException ex) {
                  throw new RuntimeException(String.format("Load metaData for table %s failed", tableName), ex);
              }
          }
          return tableMetaDataMap.get(tableName);
      }
focal_method.class_method_signature: MetaDataManager.getTableMetaData(final String tableName)
focal_method.full_signature: public TableMetaData getTableMetaData(final String tableName)
focal_method.identifier: getTableMetaData
focal_method.invocations: containsKey ifPresent load put format get
focal_method.modifiers: public
focal_method.parameters: (final String tableName)
focal_method.return: TableMetaData
focal_method.signature: TableMetaData getTableMetaData(final String tableName)