CloneSet48


Previous CloneSetNext CloneSetBack to Main Report
Clone
Mass
Clones in
CloneSet
Parameter
Count
Clone
Similarity
Syntax Category
[Sequence Length]
76220.997class_body_declarations[3]
Clone AbstractionParameter Bindings
Clone Instance
(Click to see clone)
Line CountSource Line
Source File
176258
E:/TSE/Projects-CloneDR/sql12/plugins/dbcopy/src/net/sourceforge/squirrel_sql/plugins/dbcopy/util/DBUtil.java
266134
E:/TSE/Projects-CloneDR/sql12/plugins/dbdiff/src/net/sourceforge/squirrel_sql/plugins/dbdiff/util/DBUtil.java
Next
Last
Clone Instance
1
Line Count
76
Source Line
258
Source File
E:/TSE/Projects-CloneDR/sql12/plugins/dbcopy/src/net/sourceforge/squirrel_sql/plugins/dbcopy/util/DBUtil.java

public static boolean tableHasForeignKey(String destCatalog, String destSchema, String destTableName, ForeignKeyInfo fkInfo, SessionInfoProvider prov) {
  boolean result = false;
  try {
    SQLDatabaseMetaData md = prov.getCopyDestSession().getSQLConnection().getSQLMetaData();
    ITableInfo[] tables = md.getTables(destCatalog, destSchema, destTableName, new String[] {
                                                                                              "TABLE"
                                                                                            }, null);
    if (tables != null && tables.length == 1) {
      ForeignKeyInfo[] fks = SQLUtilities.getImportedKeys(tables[0], md);
      for (ForeignKeyInfo existingKey: fks) {
        if (areEqual(existingKey, fkInfo)) {
          result = true;
          break;
        }
      }
    }
    else {
      log.error("Couldn\'t find an exact match for destination table " + destTableName + " in schema " + destSchema + " and catalog " + destCatalog + ". Skipping FK constraint");
    }
  }
  catch (SQLException
         e) {
    log.error("Unexpected exception while attempting to determine if " + "a table (" + destTableName + ") has a particular foreign " + "key");
  }
  return result;
}

private static boolean areEqual(ForeignKeyInfo fk1, ForeignKeyInfo fk2) {
  String fk1FKColumn = fk1.getForeignKeyColumnName();
  String fk2FKColumn = fk2.getForeignKeyColumnName();
  String fk1PKColumn = fk1.getPrimaryKeyColumnName();
  String fk2PKColumn = fk2.getPrimaryKeyColumnName();
  String fk1FKTable = fk1.getForeignKeyTableName();
  String fk2FKTable = fk2.getForeignKeyTableName();
  String fk1PKTable = fk1.getPrimaryKeyTableName();
  String fk2PKTable = fk2.getPrimaryKeyTableName();
  if ( !fk1PKColumn.equals(fk2PKColumn)) {
    return false;
  }
  if ( !fk1FKColumn.equals(fk2FKColumn)) {
    return false;
  }
  if ( !fk1PKTable.equals(fk2PKTable)) {
    return false;
  }
  if ( !fk1FKTable.equals(fk2FKTable)) {
    return false;
  }
  return true;
}

private static boolean containsTable(List<ITableInfo> tableInfos, String table) {
  boolean result = false;
  for (ITableInfo ti: tableInfos) {
    if (table.equalsIgnoreCase(ti.getSimpleName())) {
      result = true;
      break;
    }
  }
  return result;
}


First
Previous
Clone Instance
2
Line Count
66
Source Line
134
Source File
E:/TSE/Projects-CloneDR/sql12/plugins/dbdiff/src/net/sourceforge/squirrel_sql/plugins/dbdiff/util/DBUtil.java

public static boolean tableHasForeignKey(String destCatalog, String destSchema, String destTableName, ForeignKeyInfo fkInfo, SessionInfoProvider prov) {
  boolean result = false;
  try {
    SQLDatabaseMetaData md = prov.getDiffDestSession().getSQLConnection().getSQLMetaData();
    ITableInfo[] tables = md.getTables(destCatalog, destSchema, destTableName, new String[] {
                                                                                              "TABLE"
                                                                                            }, null);
    if (tables != null && tables.length == 1) {
      ForeignKeyInfo[] fks = SQLUtilities.getImportedKeys(tables[0], md);
      for (ForeignKeyInfo existingKey: fks) {
        if (areEqual(existingKey, fkInfo)) {
          result = true;
          break;
        }
      }
    }
    else {
      log.error("Couldn\'t find an exact match for destination table " + destTableName + " in schema " + destSchema + " and catalog " + destCatalog + ". Skipping FK constraint");
    }
  }
  catch (SQLException
         e) {
    log.error("Unexpected exception while attempting to determine if " + "a table (" + destTableName + ") has a particular foreign " + "key");
  }
  return result;
}

private static boolean areEqual(ForeignKeyInfo fk1, ForeignKeyInfo fk2) {
  String fk1FKColumn = fk1.getForeignKeyColumnName();
  String fk2FKColumn = fk2.getForeignKeyColumnName();
  String fk1PKColumn = fk1.getPrimaryKeyColumnName();
  String fk2PKColumn = fk2.getPrimaryKeyColumnName();
  String fk1FKTable = fk1.getForeignKeyTableName();
  String fk2FKTable = fk2.getForeignKeyTableName();
  String fk1PKTable = fk1.getPrimaryKeyTableName();
  String fk2PKTable = fk2.getPrimaryKeyTableName();
  if ( !fk1PKColumn.equals(fk2PKColumn)) {
    return false;
  }
  if ( !fk1FKColumn.equals(fk2FKColumn)) {
    return false;
  }
  if ( !fk1PKTable.equals(fk2PKTable)) {
    return false;
  }
  if ( !fk1FKTable.equals(fk2FKTable)) {
    return false;
  }
  return true;
}

public static boolean containsTable(List<ITableInfo> tableInfos, String table) {
  boolean result = false;
  for (ITableInfo ti: tableInfos) {
    if (table.equalsIgnoreCase(ti.getSimpleName())) {
      result = true;
      break;
    }
  }
  return result;
}


Clone AbstractionParameter Count: 2Parameter Bindings

public static boolean tableHasForeignKey(String destCatalog, String destSchema, String destTableName, ForeignKeyInfo fkInfo, SessionInfoProvider prov) {
  boolean result = false;
  try {
    SQLDatabaseMetaData md = prov. [[#variable13ccc6a0]]().getSQLConnection().getSQLMetaData();
    ITableInfo[] tables = md.getTables(destCatalog, destSchema, destTableName, new String[] {
                                                                                              "TABLE"
                                                                                            }, null);
    if (tables != null && tables.length == 1) {
      ForeignKeyInfo[] fks = SQLUtilities.getImportedKeys(tables[0], md);
      for (ForeignKeyInfo existingKey: fks) {
        if (areEqual(existingKey, fkInfo)) {
          result = true;
          break;
        }
      }
    }
    else {
      log.error("Couldn\'t find an exact match for destination table " + destTableName + " in schema " + destSchema + " and catalog " + destCatalog + ". Skipping FK constraint");
    }
  }
  catch (SQLException
         e) {
    log.error("Unexpected exception while attempting to determine if " + "a table (" + destTableName + ") has a particular foreign " + "key");
  }
  return result;
}

private static boolean areEqual(ForeignKeyInfo fk1, ForeignKeyInfo fk2) {
  String fk1FKColumn = fk1.getForeignKeyColumnName();
  String fk2FKColumn = fk2.getForeignKeyColumnName();
  String fk1PKColumn = fk1.getPrimaryKeyColumnName();
  String fk2PKColumn = fk2.getPrimaryKeyColumnName();
  String fk1FKTable = fk1.getForeignKeyTableName();
  String fk2FKTable = fk2.getForeignKeyTableName();
  String fk1PKTable = fk1.getPrimaryKeyTableName();
  String fk2PKTable = fk2.getPrimaryKeyTableName();
  if ( !fk1PKColumn.equals(fk2PKColumn)) {
    return false;
  }
  if ( !fk1FKColumn.equals(fk2FKColumn)) {
    return false;
  }
  if ( !fk1PKTable.equals(fk2PKTable)) {
    return false;
  }
  if ( !fk1FKTable.equals(fk2FKTable)) {
    return false;
  }
  return true;
}

 [[#variable13ccc4e0]]static boolean containsTable(List<ITableInfo> tableInfos, String table) {
  boolean result = false;
  for (ITableInfo ti: tableInfos) {
    if (table.equalsIgnoreCase(ti.getSimpleName())) {
      result = true;
      break;
    }
  }
  return result;
}
 

CloneAbstraction
Parameter Bindings
Parameter
Index
Clone
Instance
Parameter
Name
Value
11[[#13ccc6a0]]
getCopyDestSession 
12[[#13ccc6a0]]
getDiffDestSession 
21[[#13ccc4e0]]
private 
22[[#13ccc4e0]]
public