Skip to content

Commit fda4dfd

Browse files
author
AayushiGandhi
committed
Applied Pull Up Method Refactoring
1 parent c4d2439 commit fda4dfd

File tree

3 files changed

+48
-55
lines changed

3 files changed

+48
-55
lines changed
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
package com.inventory.dao;
2+
3+
import javax.swing.table.DefaultTableModel;
4+
import java.sql.ResultSet;
5+
import java.sql.ResultSetMetaData;
6+
import java.sql.SQLException;
7+
import java.util.Vector;
8+
9+
public class BuildTableModel {
10+
11+
/***
12+
* Refactoring name: PULL UP METHOD
13+
* To remove duplication of code for the method buildTableModel() in both classes UserDAO.java and SupplierDAO.java,
14+
* Pull up method refactoring is performed and method is pulled from both classes and is kept in the new class BuildTableModel.java class
15+
* The class BuildTableModel.java is then extended to two classes UserDAO.java and SupplierDAO.java.
16+
*/
17+
public DefaultTableModel buildTableModel(ResultSet rs) throws SQLException {
18+
ResultSetMetaData metaData = rs.getMetaData(); //resultset ko metadata
19+
Vector<String> columnNames = new Vector<String>();
20+
int columnCount = metaData.getColumnCount();
21+
22+
for (int column = 1; column <= columnCount; column++) {
23+
columnNames.add(metaData.getColumnName(column));
24+
}
25+
26+
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
27+
while (rs.next()) {
28+
Vector<Object> vector = new Vector<Object>();
29+
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
30+
vector.add(rs.getObject(columnIndex));
31+
}
32+
data.add(vector);
33+
}
34+
return new DefaultTableModel(data, columnNames);
35+
}//end of method DefaultTableModel
36+
}

src/com/inventory/dao/SupplierDAO.java

Lines changed: 6 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -11,18 +11,17 @@
1111
import java.sql.Connection;
1212
import java.sql.PreparedStatement;
1313
import java.sql.ResultSet;
14-
import java.sql.ResultSetMetaData;
1514
import java.sql.SQLException;
1615
import java.sql.Statement;
17-
import java.util.Vector;
1816
import javax.swing.JOptionPane;
19-
import javax.swing.table.DefaultTableModel;
2017

21-
/**
22-
*
23-
* @author ADMIN
18+
/***
19+
* Refactoring name: PULL UP METHOD
20+
* To remove duplication of code for the method buildTableModel() in both classes UserDAO.java and SupplierDAO.java,
21+
* Pull up method refactoring is performed and method is pulled from both classes and is kept in the new class BuildTableModel.java class
22+
* The class BuildTableModel.java is then extended to two classes UserDAO.java and SupplierDAO.java.
2423
*/
25-
public class SupplierDAO {
24+
public class SupplierDAO extends BuildTableModel{
2625
Connection con = null;
2726
PreparedStatement pstmt = null;
2827
Statement stmt = null;
@@ -152,24 +151,4 @@ public ResultSet getSearchSuppliersQueryResult(String searchTxt) {
152151
return rs;
153152
}
154153

155-
//start of method DefaultTableModel
156-
public DefaultTableModel buildTableModel(ResultSet rs) throws SQLException {
157-
ResultSetMetaData metaData = rs.getMetaData(); //resultset ko metadata
158-
Vector<String> columnNames = new Vector<String>();
159-
int columnCount = metaData.getColumnCount();
160-
161-
for (int column = 1; column <= columnCount; column++) {
162-
columnNames.add(metaData.getColumnName(column));
163-
}
164-
165-
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
166-
while (rs.next()) {
167-
Vector<Object> vector = new Vector<Object>();
168-
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
169-
vector.add(rs.getObject(columnIndex));
170-
}
171-
data.add(vector);
172-
}
173-
return new DefaultTableModel(data, columnNames);
174-
}//end of method DefaultTableModel
175154
}

src/com/inventory/dao/UserDAO.java

Lines changed: 6 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -13,19 +13,17 @@
1313
import java.sql.Connection;
1414
import java.sql.PreparedStatement;
1515
import java.sql.ResultSet;
16-
import java.sql.ResultSetMetaData;
1716
import java.sql.SQLException;
1817
import java.sql.Statement;
19-
import java.util.Vector;
20-
import javax.swing.ImageIcon;
2118
import javax.swing.JOptionPane;
22-
import javax.swing.table.DefaultTableModel;
2319

24-
/**
25-
*
26-
* @author ADMIN
20+
/***
21+
* Refactoring name: PULL UP METHOD
22+
* To remove duplication of code for the method buildTableModel() in both classes UserDAO.java and SupplierDAO.java,
23+
* Pull up method refactoring is performed and method is pulled from both classes and is kept in the new class BuildTableModel.java class
24+
* The class BuildTableModel.java is then extended to two classes UserDAO.java and SupplierDAO.java.
2725
*/
28-
public class UserDAO {
26+
public class UserDAO extends BuildTableModel{
2927

3028
Connection con = null;
3129
PreparedStatement pstmt = null;
@@ -196,26 +194,6 @@ public void changePassword(String user, String pass){
196194
e.printStackTrace();
197195
}
198196
}
199-
200-
201-
//start of method DefaultTableModle
202-
public DefaultTableModel buildTableModel(ResultSet rs) throws SQLException {
203-
ResultSetMetaData metaData = rs.getMetaData(); //resultset ko metadata
204-
Vector<String> columnNames = new Vector<String>();
205-
int columnCount = metaData.getColumnCount();
206197

207-
for (int column = 1; column <= columnCount; column++) {
208-
columnNames.add(metaData.getColumnName(column));
209-
}
210198

211-
Vector<Vector<Object>> data = new Vector<Vector<Object>>();
212-
while (rs.next()) {
213-
Vector<Object> vector = new Vector<Object>();
214-
for (int columnIndex = 1; columnIndex <= columnCount; columnIndex++) {
215-
vector.add(rs.getObject(columnIndex));
216-
}
217-
data.add(vector);
218-
}
219-
return new DefaultTableModel(data, columnNames);
220-
}//end of method DefaultTableModel
221199
}

0 commit comments

Comments
 (0)