implemented migration status
This commit is contained in:
parent
30e75b7200
commit
95a90d5496
|
@ -328,6 +328,12 @@ public class MainController {
|
|||
}
|
||||
|
||||
|
||||
@RequestMapping("/getRulesStatus")
|
||||
public List<Map<String, String>> getRulesStatus() throws Exception {
|
||||
|
||||
return service.getRulesStatus();
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -1,8 +1,6 @@
|
|||
package com.demo.service;
|
||||
|
||||
import java.sql.Connection;
|
||||
import java.sql.DatabaseMetaData;
|
||||
import java.sql.DriverManager;
|
||||
import java.sql.PreparedStatement;
|
||||
import java.sql.ResultSet;
|
||||
import java.sql.ResultSetMetaData;
|
||||
|
@ -19,13 +17,10 @@ import java.util.stream.Collectors;
|
|||
import javax.sql.DataSource;
|
||||
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.context.annotation.PropertySource;
|
||||
import org.springframework.core.env.Environment;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import org.springframework.stereotype.Repository;
|
||||
import com.demo.DataSourceDbUtil;
|
||||
|
||||
@Service
|
||||
@Repository
|
||||
public class CompareTwoTables {
|
||||
|
||||
@Autowired
|
||||
|
@ -979,7 +974,7 @@ public class CompareTwoTables {
|
|||
// int i = stmt.executeUpdate(sql);
|
||||
|
||||
PreparedStatement ps = con.prepareStatement(
|
||||
"INSERT INTO RULES (SRCTBL, DESTTBL, SRC_KEY, DEST_KEY, RULE_NAME, VALUE1, VALUE2, VALUE3, FILTER_CONDITION,SRC_COLUMNS,DEST_COLUMNS,VALUE4) VALUES (?,?,?,?,?,?,?,?,?,?,?,?)");
|
||||
"INSERT INTO RULES (SRCTBL, DESTTBL, SRC_KEY, DEST_KEY, RULE_NAME, VALUE1, VALUE2, VALUE3, FILTER_CONDITION,SRC_COLUMNS,DEST_COLUMNS,VALUE4,STATUS) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?)");
|
||||
|
||||
ps.setObject(1, map.get("srcTbl"));
|
||||
ps.setObject(2, map.get("destTbl"));
|
||||
|
@ -993,6 +988,7 @@ public class CompareTwoTables {
|
|||
ps.setObject(10, map.get("SRC_COLUMNS"));
|
||||
ps.setObject(11, map.get("DEST_COLUMNS"));
|
||||
ps.setObject(12, map.get("ruleValue4"));
|
||||
ps.setString(13, "PENDING");
|
||||
|
||||
int i = ps.executeUpdate();
|
||||
|
||||
|
@ -1166,7 +1162,7 @@ public class CompareTwoTables {
|
|||
Statement stmt = con.createStatement();
|
||||
|
||||
// step4 execute query
|
||||
ResultSet rs_source = stmt.executeQuery("select * from rules");
|
||||
ResultSet rs_source = stmt.executeQuery("select * from rules where STATUS='PENDING'");
|
||||
|
||||
ArrayList<String> rs_source_columns = new ArrayList<String>();
|
||||
ResultSetMetaData metadata = rs_source.getMetaData();
|
||||
|
@ -2064,7 +2060,7 @@ public class CompareTwoTables {
|
|||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
|
||||
return "Migration fail";
|
||||
return "Migration fail "+e;
|
||||
}
|
||||
|
||||
return "Migration success";
|
||||
|
@ -2161,7 +2157,6 @@ public class CompareTwoTables {
|
|||
map.put("DEST_COLUMNS", mainMap.get("DEST_COLUMNS"));
|
||||
map.put("value4", mainMap.get("VALUE4"));
|
||||
|
||||
|
||||
String rule = (String) map.get("ruleName");
|
||||
System.out.println("-->"+rule);
|
||||
|
||||
|
@ -2171,12 +2166,17 @@ public class CompareTwoTables {
|
|||
String status = migrateBasedOnIgnoreColumnRule(map);
|
||||
|
||||
System.out.println(status);
|
||||
|
||||
updateRuleStatus(mainMap.get("ID"),status);
|
||||
|
||||
}
|
||||
|
||||
else if(rule.equals("SplitColumns")){
|
||||
|
||||
String status = migrateBasedOnSplitRule(map);
|
||||
System.out.println(status);
|
||||
|
||||
updateRuleStatus(mainMap.get("ID"),status);
|
||||
}
|
||||
|
||||
else if(rule.equals("MergeColumns")){
|
||||
|
@ -2184,6 +2184,8 @@ public class CompareTwoTables {
|
|||
String status = migrateBasedOnMergeColumnsRule(map);
|
||||
System.out.println(status);
|
||||
|
||||
updateRuleStatus(mainMap.get("ID"),status);
|
||||
|
||||
}
|
||||
|
||||
else if(rule.equals("Scalar")){
|
||||
|
@ -2191,12 +2193,16 @@ public class CompareTwoTables {
|
|||
String status = migrateBasedOnScalarColumnsRule(map);
|
||||
System.out.println(status);
|
||||
|
||||
updateRuleStatus(mainMap.get("ID"),status);
|
||||
|
||||
}
|
||||
else if(rule.equals("AggregateColumns")){
|
||||
|
||||
String status = migrateBasedOnAggregateColumnsRule(map);
|
||||
System.out.println(status);
|
||||
|
||||
updateRuleStatus(mainMap.get("ID"),status);
|
||||
|
||||
}
|
||||
|
||||
else if(rule.equals("DefaultCase")){
|
||||
|
@ -2204,9 +2210,23 @@ public class CompareTwoTables {
|
|||
String status = migrateBasedOnDefaultCaseRule(map);
|
||||
System.out.println(status);
|
||||
|
||||
updateRuleStatus(mainMap.get("ID"),status);
|
||||
|
||||
}
|
||||
else if(rule.equals("Mapping")){
|
||||
|
||||
String condition = "";
|
||||
|
||||
if(map.get("whereCondition")!=null) {
|
||||
condition = map.get("whereCondition");
|
||||
}
|
||||
|
||||
String status = dataMigration(map.get("sourceTable"), map.get("destTable"), map.get("SRC_COLUMNS"), map.get("DEST_COLUMNS"), map.get("srcKey"), map.get("destKey"), condition);
|
||||
System.out.println(status);
|
||||
|
||||
updateRuleStatus(mainMap.get("ID"),status);
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
@ -2243,4 +2263,68 @@ public class CompareTwoTables {
|
|||
return null;
|
||||
}
|
||||
|
||||
public String updateRuleStatus(String id, String status) {
|
||||
|
||||
try {
|
||||
DataSource ds = dataSource.appDataSource();
|
||||
Connection con = ds.getConnection();
|
||||
System.out.println("Connection established......");
|
||||
|
||||
|
||||
PreparedStatement ps = con.prepareStatement("UPDATE RULES SET STATUS =? WHERE ID=?");
|
||||
|
||||
ps.setString(1, status);
|
||||
ps.setString(1, id);
|
||||
|
||||
int i = ps.executeUpdate();
|
||||
|
||||
System.out.println("i ===> " + i);
|
||||
con.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
return "Fail";
|
||||
}
|
||||
return "Success";
|
||||
|
||||
}
|
||||
|
||||
public List<Map<String, String>> getRulesStatus() {
|
||||
|
||||
List<Map<String, String>> rules = new LinkedList<>();
|
||||
|
||||
try {
|
||||
|
||||
DataSource ds = dataSource.appDataSource();
|
||||
Connection con = ds.getConnection();
|
||||
System.out.println("Connection established......");
|
||||
|
||||
Statement stmt = con.createStatement();
|
||||
|
||||
// step4 execute query
|
||||
ResultSet rs_source = stmt.executeQuery("select * from rules where STATUS !='PENDING'");
|
||||
|
||||
ArrayList<String> rs_source_columns = new ArrayList<String>();
|
||||
ResultSetMetaData metadata = rs_source.getMetaData();
|
||||
int columnCount = metadata.getColumnCount();
|
||||
for (int i = 1; i <= columnCount; i++) {
|
||||
rs_source_columns.add(metadata.getColumnName(i));
|
||||
}
|
||||
|
||||
while (rs_source.next()) {
|
||||
HashMap<String, String> map = new HashMap<>();
|
||||
for (String colName : rs_source_columns) {
|
||||
|
||||
map.put(colName, rs_source.getString(colName));
|
||||
}
|
||||
rules.add(map);
|
||||
|
||||
}
|
||||
con.close();
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return rules;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user