private void CreateFolder() throws SQLException{ boolean isExist = false; if(Objects.equals(currProjectName,"") || selected == null){ warning("Can't create folder under the main project"); } else if(selected.getValue().isProject()){ TextInputDialog dialog = new TextInputDialog(""); dialog.setTitle("Create Folder"); dialog.setHeaderText("Folder"); dialog.setContentText("Please enter the folder name:"); Optional result = dialog.showAndWait(); if (result.isPresent()){ final String inputFolderName = result.get(); String query = "SELECT pdname FROM PDirs where pid like '" + currPID + "' AND parentid IS NULL"; Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(query); while(rs.next()){ String tempName = rs.getString("pdname"); if(Objects.equals(tempName,inputFolderName)){ isExist = true; break; } } if(isExist == true){ warning("Directory name already exist."); } else { query = "INSERT INTO PDirs(pdname, pid) VALUE('" + inputFolderName + "','" + currPID + "')"; st = conn.createStatement(); st.executeUpdate(query); query = "SELECT LAST_INSERT_ID()"; rs = st.executeQuery(query); if(rs.next()){ int currID = rs.getInt("LAST_INSERT_ID()"); CheckBoxTreeItem temptreeItem = new CheckBoxTreeItem<>(); temptreeItem.setValue(new StrucTree("d", inputFolderName, currID)); selected.getChildren().add(temptreeItem); selected.setExpanded(true); } } } } else if(selected.getValue().isFile()){ TextInputDialog dialog = new TextInputDialog(""); dialog.setTitle("Create Folder"); dialog.setHeaderText("Folder"); dialog.setContentText("Please enter the folder name:"); Optional result = dialog.showAndWait(); if (result.isPresent()){ final String inputFolderName = result.get(); String query = ""; if(selected.getParent().getValue().isProject()){ query = "SELECT pdname FROM PDirs where pid like '" + currPID + "' AND parentid IS NULL"; }else { query = "SELECT pdname FROM PDirs where pid like '" + currPID + "' AND parentid like '" + selected.getParent().getValue().getID() + "'"; } Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(query); while(rs.next()){ String tempName = rs.getString("pdname"); if(Objects.equals(tempName,inputFolderName)){ isExist = true; break; } } if(isExist == true){ warning("Directory name already exist."); } else { if(selected.getParent().getValue().isProject()){ query = "INSERT INTO PDirs(pdname, pid) VALUE('" + inputFolderName + "','" + currPID + "')"; }else { query = "INSERT INTO PDirs(pdname, pid,parentid) VALUE('" + inputFolderName + "','" + currPID + "','" + selected.getParent().getValue().getID() + "')"; } st = conn.createStatement(); st.executeUpdate(query); query = "SELECT LAST_INSERT_ID()"; rs = st.executeQuery(query); if(rs.next()){ int currID = rs.getInt("LAST_INSERT_ID()"); CheckBoxTreeItem temptreeItem = new CheckBoxTreeItem<>(); if(selected.getParent().getValue().isProject()){ temptreeItem.setValue(new StrucTree("d", inputFolderName, currID)); }else { temptreeItem.setValue(new StrucTree("d", inputFolderName, currID, selected.getParent().getValue().getID())); } selected.getParent().getChildren().add(temptreeItem); selected.getParent().setExpanded(true); } } } } else if(selected.getValue().isDirectory()){ TextInputDialog dialog = new TextInputDialog(""); dialog.setTitle("Create Folder"); dialog.setHeaderText("Folder"); dialog.setContentText("Please enter the folder name:"); Optional result = dialog.showAndWait(); if (result.isPresent()){ final String inputFolderName = result.get(); String query = "SELECT pdname FROM PDirs where pid like '" + currPID + "' AND parentid like '" + selected.getValue().getID() + "'"; Statement st = conn.createStatement(); ResultSet rs = st.executeQuery(query); while(rs.next()){ String tempName = rs.getString("pdname"); if(Objects.equals(tempName,inputFolderName)){ isExist = true; break; } } if(isExist == true){ warning("Directory name already exist."); } else { query = "INSERT INTO PDirs(pdname, pid, parentid) VALUE('" + inputFolderName + "','" + currPID + "','" + selected.getValue().getID() + "')"; st = conn.createStatement(); st.executeUpdate(query); query = "SELECT LAST_INSERT_ID()"; rs = st.executeQuery(query); if(rs.next()){ int currID = rs.getInt("LAST_INSERT_ID()"); CheckBoxTreeItem temptreeItem = new CheckBoxTreeItem<>(); temptreeItem.setValue(new StrucTree("d", inputFolderName, currID, selected.getValue().getID())); selected.getChildren().add(temptreeItem); selected.setExpanded(true); } } } } }