Skip to content

Commit d6f112e

Browse files
committed
fixed: collapsed tree not expanding on clicking bookmark
1 parent 9f24a44 commit d6f112e

File tree

5 files changed

+17
-7
lines changed

5 files changed

+17
-7
lines changed

src/main/java/com/application/controller/CanvasController.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,10 @@ public void stackRectangles() {
603603
}
604604

605605
public void jumpTo(String cellId, String threadId, int collapsed) {
606-
ControllerLoader.eventHandlers.jumpTo(cellId, threadId, collapsed);
606+
// collapsed value might have changes since the last time event handlers were set on the the bookmarks buttons.
607+
// get new collapsed value.
608+
ElementDTO elementDTO = ElementDAOImpl.getElementDTO(cellId);
609+
ControllerLoader.eventHandlers.jumpTo(cellId, threadId, elementDTO.getCollapsed());
607610
}
608611

609612
}

src/main/java/com/application/controller/EventHandlers.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -258,7 +258,7 @@ public void handle(MouseEvent event) {
258258
String finalPackageName = packageName;
259259
String finalMethodName = methodName;
260260
eleIdList.stream().forEach(eId -> {
261-
String query = "SELECT E.ID AS EID, bound_box_x_coordinate, bound_box_y_coordinate, THREAD_ID " +
261+
String query = "SELECT E.ID AS EID, bound_box_x_coordinate, bound_box_y_coordinate, THREAD_ID, collapsed " +
262262
"FROM CALL_TRACE AS CT " +
263263
"JOIN ELEMENT AS E ON CT.ID = E.ID_ENTER_CALL_TRACE " +
264264
"WHERE E.ID = " + eId;
@@ -269,12 +269,13 @@ public void handle(MouseEvent event) {
269269
String targetThreadId = String.valueOf(elementRS.getInt("thread_id"));
270270
float xCoordinate = elementRS.getFloat("bound_box_x_coordinate");
271271
float yCoordinate = elementRS.getFloat("bound_box_y_coordinate");
272+
int targetElementCollapsed = elementRS.getInt("collapsed");
272273

273274
// go to location.
274275
Button jumpToButton = new Button();
275276
jumpToButton.setOnMouseClicked(event1 -> {
276277
System.out.println("EventHandlers.handle: jumpToButton Clicked. for eleId: " + eId);
277-
jumpTo(String.valueOf(eId), targetThreadId, collapsed);
278+
jumpTo(String.valueOf(eId), targetThreadId, targetElementCollapsed);
278279
});
279280
buttonList.add(jumpToButton);
280281
}
@@ -900,7 +901,6 @@ private void expandParentTreeChain(ElementDTO elementDTO , String threadId) {
900901
}
901902

902903
public void jumpTo(String cellId, String threadId, int collapsed) {
903-
904904
// make changes in DB if needed
905905
if (collapsed != 0) {
906906
ElementDTO elementDTO = ElementDAOImpl.getElementDTO(cellId);

src/main/java/com/application/db/DAO/DAOImplementation/BookmarksDAOImpl.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -91,6 +91,13 @@ public static Map<String, BookmarkDTO> getBookmarkDTOs() {
9191
if (!isTableCreated())
9292
createTable();
9393

94+
if (!ElementDAOImpl.isTableCreated()) {
95+
ElementDAOImpl.createTable();
96+
}
97+
if (!CallTraceDAOImpl.isTableCreated()) {
98+
CallTraceDAOImpl.createTable();
99+
}
100+
94101
Map<String, BookmarkDTO> result = new HashMap<>();
95102
String query = "SELECT E.ID as EID, CT.THREAD_ID, CT.MESSAGE, B.COLOR, E.BOUND_BOX_X_COORDINATE, E.BOUND_BOX_Y_COORDINATE, E.COLLAPSED " +
96103
"FROM " + TableNames.BOOKMARKS + " AS B " +

src/main/java/com/application/db/DAO/DAOImplementation/ElementDAOImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -452,7 +452,7 @@ public static float calculateNewDeltaX(ElementDTO elementDTO, String nextCellId)
452452
public static List<ElementDTO> getAllParentElementDTOs(ElementDTO elementDTO, String threadId) {
453453
List<ElementDTO> elementDTOs = new ArrayList<>();
454454

455-
String getAllParentIDsQuery = "SELECT MAX(ID) AS IDS " +
455+
String getAllParentIDsQuery = "SELECT MAX(ID) AS ID " +
456456
"FROM " + TableNames.ELEMENT_TABLE + " AS E " +
457457
"WHERE E.ID < " + elementDTO.getId() + " " +
458458
"AND E.BOUND_BOX_X_COORDINATE < (SELECT BOUND_BOX_X_COORDINATE " +
@@ -464,7 +464,7 @@ public static List<ElementDTO> getAllParentElementDTOs(ElementDTO elementDTO, St
464464
"AND E.PARENT_ID > 1 " +
465465
"AND E.COLLAPSED <> 0 " +
466466
"GROUP BY E.BOUND_BOX_X_COORDINATE " +
467-
"ORDER BY IDS ASC ";
467+
"ORDER BY ID ASC ";
468468

469469
try (ResultSet rs = DatabaseUtil.select(getAllParentIDsQuery)) {
470470
while (rs.next()) {

src/main/java/com/application/db/DatabaseUtil.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ private static Connection createDatabaseConnection() {
6161
dataSourceDir = new File(prefix + sDate);
6262
} else {
6363
url = "jdbc:derby:" + dataSourceDir.getPath() + ";create=true";
64-
// System.out.println("DatabaseUtil.createDatabaseConnection. use existing db. url: " + url);
64+
System.out.println("DatabaseUtil.createDatabaseConnection. use existing db. url: " + url);
6565
}
6666

6767
conn = DriverManager.getConnection(url);

0 commit comments

Comments
 (0)