test_class.file: shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/test/java/org/apache/shardingsphere/sharding/rule/BindingTableRuleTest.java
test_class.identifier: BindingTableRuleTest
test_case.body: @Test(expected = ShardingSphereConfigurationException.class)
      public void assertGetBindingActualTablesFailureWhenLogicTableNotFound() {
          createBindingTableRule().getBindingActualTable("ds0", "No_Logic_Table", "table_1");
      }
test_case.class_method_signature: BindingTableRuleTest.assertGetBindingActualTablesFailureWhenLogicTableNotFound()
test_case.full_signature: @Test(expected = ShardingSphereConfigurationException.class) public void assertGetBindingActualTablesFailureWhenLogicTableNotFound()
test_case.identifier: assertGetBindingActualTablesFailureWhenLogicTableNotFound
test_case.invocations: getBindingActualTable createBindingTableRule
test_case.modifiers: @Test(expected = ShardingSphereConfigurationException.class) public
test_case.parameters: ()
test_case.return: void
test_case.signature: void assertGetBindingActualTablesFailureWhenLogicTableNotFound()
focal_class.declarator: tableRules
focal_class.modifier: private final
focal_class.original_string: private final List<TableRule> tableRules;
focal_class.type: List<TableRule>
focal_class.var_name: tableRules
focal_class.file: shardingsphere-features/shardingsphere-sharding/shardingsphere-sharding-common/src/main/java/org/apache/shardingsphere/sharding/rule/BindingTableRule.java
focal_class.identifier: BindingTableRule
focal_class.class_method_signature: BindingTableRule.hasLogicTable(final String logicTable)
focal_class.full_signature: public boolean hasLogicTable(final String logicTable)
focal_class.identifier: hasLogicTable
focal_class.modifiers: public
focal_class.parameters: (final String logicTable)
focal_class.return: boolean
focal_class.signature: boolean hasLogicTable(final String logicTable)
focal_class.class_method_signature: BindingTableRule.getBindingActualTable(final String dataSource, final String logicTable, final String otherActualTable)
focal_class.full_signature: public String getBindingActualTable(final String dataSource, final String logicTable, final String otherActualTable)
focal_class.identifier: getBindingActualTable
focal_class.modifiers: public
focal_class.parameters: (final String dataSource, final String logicTable, final String otherActualTable)
focal_class.return: String
focal_class.signature: String getBindingActualTable(final String dataSource, final String logicTable, final String otherActualTable)
focal_class.class_method_signature: BindingTableRule.getAllLogicTables()
focal_class.full_signature:  Collection<String> getAllLogicTables()
focal_class.identifier: getAllLogicTables
focal_class.parameters: ()
focal_class.return: Collection<String>
focal_class.signature: Collection<String> getAllLogicTables()
focal_class.class_method_signature: BindingTableRule.getLogicAndActualTables(final String dataSource, final String logicTable, final String actualTable, final Collection<String> availableLogicBindingTables)
focal_class.full_signature:  Map<String, String> getLogicAndActualTables(final String dataSource, final String logicTable, final String actualTable, final Collection<String> availableLogicBindingTables)
focal_class.identifier: getLogicAndActualTables
focal_class.parameters: (final String dataSource, final String logicTable, final String actualTable, final Collection<String> availableLogicBindingTables)
focal_class.return: Map<String, String>
focal_class.signature: Map<String, String> getLogicAndActualTables(final String dataSource, final String logicTable, final String actualTable, final Collection<String> availableLogicBindingTables)
focal_method.body: public String getBindingActualTable(final String dataSource, final String logicTable, final String otherActualTable) {
          int index = -1;
          for (TableRule each : tableRules) {
              index = each.findActualTableIndex(dataSource, otherActualTable);
              if (-1 != index) {
                  break;
              }
          }
          if (-1 == index) {
              throw new ShardingSphereConfigurationException("Actual table [%s].[%s] is not in table config", dataSource, otherActualTable);
          }
          for (TableRule each : tableRules) {
              if (each.getLogicTable().equals(logicTable.toLowerCase())) {
                  return each.getActualDataNodes().get(index).getTableName().toLowerCase();
              }
          }
          throw new ShardingSphereConfigurationException("Cannot find binding actual table, data source: %s, logic table: %s, other actual table: %s", dataSource, logicTable, otherActualTable);
      }
focal_method.class_method_signature: BindingTableRule.getBindingActualTable(final String dataSource, final String logicTable, final String otherActualTable)
focal_method.full_signature: public String getBindingActualTable(final String dataSource, final String logicTable, final String otherActualTable)
focal_method.identifier: getBindingActualTable
focal_method.invocations: findActualTableIndex equals getLogicTable toLowerCase toLowerCase getTableName get getActualDataNodes
focal_method.modifiers: public
focal_method.parameters: (final String dataSource, final String logicTable, final String otherActualTable)
focal_method.return: String
focal_method.signature: String getBindingActualTable(final String dataSource, final String logicTable, final String otherActualTable)