コード例 #1
0
 /** *************************Get Initial File Line************************** */
 private void getIniLine(TreeItem<StrucTree> item) throws SQLException {
   if (item.getValue().isFile()) {
     Statement st = conn.createStatement();
     String query = "SELECT pflhead FROM PFiles WHERE pfid LIKE '" + item.getValue().getID() + "'";
     ResultSet rs = st.executeQuery(query);
     if (rs.next()) {
       item.getValue().setLine(rs.getInt("pflhead"));
     }
   }
 }
コード例 #2
0
  /** *************************Read File Data************************** */
  private void readFile(TreeItem<StrucTree> item) throws SQLException {
    StringBuilder pos = new StringBuilder("");

    if (item.getValue().isFile()
        && (Objects.equals(tempFileData, "") || tempFileId != item.getValue().getID())) {
      //    		System.out.println(getLine(item.getValue().getLine(),pos).toString());
      tempFileData = getLine(item.getValue().getLine(), pos).toString();
      tempFileId = item.getValue().getID();
      fileData.setText(tempFileData);
    }
  }
コード例 #3
0
 /**
  * TreeViewで板を選択する。
  *
  * <p>仮実装で二階層まで対応
  *
  * @param board
  */
 public void setSelection(Board board) {
   TreeItem<Board> root = boardTreeView.getRoot();
   for (TreeItem<Board> boardItem1 : root.getChildren()) {
     for (TreeItem<Board> boardItem2 : boardItem1.getChildren()) {
       if (boardItem2.getValue() != null
           && boardItem2.getValue().getId() != null
           && boardItem2.getValue().getId().equals(board.getId())) {
         boardTreeView.getSelectionModel().select(boardItem2);
       }
     }
   }
 }
コード例 #4
0
ファイル: HierarchyTracker.java プロジェクト: shinobuW/sahara
  /**
   * Restores the mapping of the tree items from the internal dictionary of expanded items.
   *
   * @param tree The tree to restore the mapping of
   */
  public static void restoreMap(TreeViewWithItems<SaharaItem> tree) {
    /*for (TreeItem<SaharaItem> item : tree.getTreeItems()) {
        item.setExpanded(isExpanded(item.getValue()));
    }*/

    for (TreeItem<SaharaItem> item : tree.getTreeItems()) {
      TreeEntry entry;
      if (item.getParent() != null && item.getParent().getValue() != null) {
        entry = new TreeEntry(item.getValue(), item.getParent().getValue());
      } else {
        entry = new TreeEntry(item.getValue(), null);
      }
      item.setExpanded(isExpanded(entry));
    }
  }
コード例 #5
0
ファイル: EditorTabManager.java プロジェクト: finanzer/epubfx
 private void writeClipMenuItemChildren(TreeItem<Clip> parentTreeItem, Menu parentMenu) {
   List<TreeItem<Clip>> children = parentTreeItem.getChildren();
   for (TreeItem<Clip> child : children) {
     if (child.getValue().isGroup()) {
       Menu menu = new Menu(child.getValue().getName());
       parentMenu.getItems().add(menu);
       writeClipMenuItemChildren(child, menu);
     } else {
       MenuItem menuItem = new MenuItem(child.getValue().getName());
       parentMenu.getItems().add(menuItem);
       menuItem.setOnAction(
           event -> {
             insertClip(child.getValue());
           });
     }
   }
 }
コード例 #6
0
  /** *************************Display Current Position************************** */
  private String getCurrPosition(TreeItem<StrucTree> item) {
    StringBuilder pos = new StringBuilder(currProjectName);
    if (!selected.getValue().isProject()) {
      printpath(item, pos);
    }

    return pos.toString();
  }
コード例 #7
0
ファイル: HierarchyTracker.java プロジェクト: shinobuW/sahara
  /**
   * Expands all items in the tree by mapping all of the items inside of it to true, and then
   * restoring the map state from the dictionary
   *
   * @param tree The tree to expand all items of
   */
  public static void expandAll(TreeViewWithItems<SaharaItem> tree) {
    /*for (TreeItem<SaharaItem> item : tree.getTreeItems()) {
        collapseMap.put(item.getValue(), Boolean.TRUE);
    }*/

    for (TreeItem<SaharaItem> item : tree.getTreeItems()) {
      TreeEntry entry;
      if (item.getParent() != null && item.getParent().getValue() != null) {
        entry = new TreeEntry(item.getValue(), item.getParent().getValue());
      } else {
        entry = new TreeEntry(item.getValue(), null);
      }
      collapseParentMap.put(entry, Boolean.TRUE);
    }

    restoreMap(tree);
  }
コード例 #8
0
  private Optional<Account> getSelectedAccount() {
    final TreeItem<Account> treeItem = treeTableView.getSelectionModel().getSelectedItem();

    if (treeItem != null) {
      return Optional.ofNullable(treeItem.getValue());
    }

    return Optional.empty();
  }
コード例 #9
0
ファイル: HierarchyTracker.java プロジェクト: shinobuW/sahara
  /**
   * Refreshes the mapping of the tree items and if they are expanded or not.
   *
   * @param tree The tree to map items for
   */
  public static void refreshMap(TreeViewWithItems<SaharaItem> tree) {
    /*for (TreeItem<SaharaItem> item : tree.getTreeItems()) {
        //System.out.println(item + " " + item.isExpanded());
        collapseMap.put(item.getValue(), item.isExpanded());
    }*/

    for (TreeItem<SaharaItem> item : tree.getTreeItems()) {

      TreeEntry entry;
      if (item.getParent() != null && item.getParent().getValue() != null) {
        entry = new TreeEntry(item.getValue(), item.getParent().getValue());
      } else {
        entry = new TreeEntry(item.getValue(), null);
      }

      collapseParentMap.put(entry, item.isExpanded());
    }
  }
コード例 #10
0
ファイル: DBTreeController.java プロジェクト: daa84/mongofx
  public void onDisconnectDb(ActionEvent ev) {
    TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem();
    if (selectedItem == null) {
      return;
    }

    selectedItem.getValue().getMongoConnection().close();
    removeFromRoot(selectedItem);
  }
コード例 #11
0
 private StringBuilder printpath(TreeItem<StrucTree> item, StringBuilder temp) {
   if (item.getParent() != null && !item.getParent().getValue().isProject()) {
     printpath(item.getParent(), temp);
   }
   if (!Objects.equals(currProjectName, "")) {
     temp.append("/");
   }
   temp.append(item.getValue().toString());
   return temp;
 }
コード例 #12
0
 /** *************************Initialize File Line************************** */
 private void iniFile(TreeItem<StrucTree> item) throws SQLException {
   if (item.getValue().isFile()) {
     Statement st = conn.createStatement();
     String query = "INSERT INTO PFLines(text) VALUE('')";
     st.executeUpdate(query);
     query = "SELECT LAST_INSERT_ID()";
     ResultSet rs = st.executeQuery(query);
     if (rs.next()) {
       int currID = rs.getInt("LAST_INSERT_ID()");
       query =
           "UPDATE PFiles SET pflhead='"
               + currID
               + "' WHERE pfid='"
               + item.getValue().getID()
               + "'";
       st.executeUpdate(query);
       item.getValue().setLine(currID);
     }
   }
 }
コード例 #13
0
ファイル: DBTreeController.java プロジェクト: daa84/mongofx
 private void buildCollectionDetail(MongoDatabase db, TreeItem<DbTreeValue> ti) {
   DbTreeValue indexCategory = new DbTreeValue(db, "Indexes", TreeValueType.CATEGORY);
   indexCategory.setCollectionName(ti.getValue().getDisplayValue());
   ti.getChildren()
       .add(
           new DynamicTreeItem(
               indexCategory,
               new FontAwesomeIconView(FontAwesomeIcon.FOLDER),
               executor,
               popupService,
               this::buildIndexes));
 }
コード例 #14
0
 @FXML
 public void showPassword() throws SQLException {
   if (selected == null) {
     warning("No project selected.");
   } else if (selected.getValue().isProject()) {
     System.out.println(selected.getValue().getID());
     String query = "SELECT * FROM Projects WHERE PID LIKE '" + selected.getValue().getID() + "'";
     System.out.println(query);
     Statement st = conn.createStatement();
     ResultSet rs = st.executeQuery(query);
     if (rs.next()) {
       if (rs.getInt("projectOwnerID") == MyuserID) {
         warning("Password: "******"passHash"));
       } else {
         warning("You are not the owner of this project.");
       }
     }
   } else {
     warning("No project selected.");
   }
 }
コード例 #15
0
  protected TreeItem<Node> buildTree(Node node, boolean showIgnoredArtifacts) {
    final TreeItem<Node> item = new TreeItem<>(node);

    item.expandedProperty()
        .addListener(
            (observableValue, oldValue, newValue) -> {
              if (!oldValue && newValue) {
                expandedNodes.add(item.getValue().getIdentifier());
              } else if (oldValue && !newValue) {
                expandedNodes.remove(item.getValue().getIdentifier());
              }
            });

    if (node.getChildren() != null) {
      node.getChildren()
          .stream()
          .filter(child -> showIgnoredArtifacts || !child.isIgnored())
          .forEach(child -> item.getChildren().add(buildTree(child, showIgnoredArtifacts)));
    }

    return item;
  }
コード例 #16
0
ファイル: DBTreeController.java プロジェクト: daa84/mongofx
 public void treeViewClicked(MouseEvent ev) {
   if (ev.getClickCount() == 2) {
     // don't process click on triangle
     EventTarget target = ev.getTarget();
     if (target instanceof Node && !"arrow".equals(((Node) target).getStyleClass())) {
       TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem();
       if (selectedItem != null
           && selectedItem.getValue().getValueType() == TreeValueType.COLLECTION) {
         mainFrameController.openTab();
         ev.consume();
       }
     }
   }
 }
コード例 #17
0
  public void selectByGitObject(GitObject _selectedObject) {

    //        System.out.println( "selected : " + _selectedObject.getClass().getSimpleName() );

    for (TreeItem<String> treeItem : objectsType) {

      if (treeItem.getValue().equals(_selectedObject.getClass().getSimpleName() + "s")) {

        treeItem.setExpanded(true);

        for (TreeItem<String> treeItem1 : treeItem.getChildren()) {

          if (treeItem1.getValue().equals(_selectedObject.getName())) {

            getSelectionModel().select(treeItem1);

            break;
          }
        }
        break;
      }
    }
  }
コード例 #18
0
ファイル: DBTreeController.java プロジェクト: daa84/mongofx
  public void onCreateNewDb(ActionEvent ev) {
    TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem();
    if (selectedItem == null
        || selectedItem.getValue().getValueType() != TreeValueType.CONNECTION) {
      return;
    }

    TextInputDialog dialog = new TextInputDialog();
    dialog.setContentText("Enter Name:");
    dialog.setHeaderText("Create new db");
    dialog
        .showAndWait()
        .ifPresent(
            r ->
                selectedItem
                    .getChildren()
                    .add(
                        createDbItem(
                            selectedItem
                                .getValue()
                                .getMongoConnection()
                                .createMongoDB(dialog.getResult()))));
  }
コード例 #19
0
 @Override
 public void changed(
     ObservableValue<? extends TreeItem<Box>> observableValue,
     TreeItem<Box> boxTreeItem,
     TreeItem<Box> boxTreeItem2) {
   if (boxTreeItem2 == null) {
     return;
   }
   String id = Path.createPath(boxTreeItem2.getValue());
   Tab t = null;
   for (Tab tab : tabPane.getTabs()) {
     if (tab.getId().equals(id)) {
       tabPane.getSelectionModel().select(tab);
       t = tab;
     }
   }
   if (t == null) {
     t = new Tab(id);
     t.setId(id);
     tabPane.getTabs().addAll(t);
     t.setContent(new BoxPane(boxTreeItem2.getValue()));
     tabPane.getSelectionModel().select(t);
   }
 }
コード例 #20
0
  private TreeItem<Node> findItem(TreeItem<Node> treeNode, URI id) {
    if (treeNode.getValue().getIdentifier().equals(id)) {
      return treeNode;
    }

    for (TreeItem<Node> child : treeNode.getChildren()) {
      TreeItem<Node> result = findItem(child, id);

      if (result != null) {
        return result;
      }
    }

    return null;
  }
コード例 #21
0
  private TreeItem<Node> findItem(TreeItem<Node> tree, Node node) {
    if (node.equals(tree.getValue())) {
      return tree;
    }

    for (TreeItem<Node> child : tree.getChildren()) {
      TreeItem<Node> result = findItem(child, node);

      if (result != null) {
        return result;
      }
    }

    return null;
  }
コード例 #22
0
  /** 板一覧を表示 */
  public void showBoardList(List<Board> boards) {
    boardTreeView.setRoot(rootNode);
    boardTreeView.setShowRoot(false);
    rootNode.getValue().setTitle("root");
    rootNode.getValue().setId("root_");
    rootNode.setExpanded(true);

    // 履歴
    TreeItem<Board> userTree = new TreeItem<Board>(new Board());
    userTree.getValue().setTitle("ユーザ");
    userTree.getValue().setId("user_");
    userTree.setExpanded(true);
    rootNode.getChildren().add(userTree);

    TreeItem<Board> history = new TreeItem<Board>(new Board());
    history.getValue().setTitle("履歴");
    history.getValue().setId("history_");
    history.setExpanded(true);
    userTree.getChildren().add(history);

    TreeItem<Board> favorite = new TreeItem<Board>(new Board());
    favorite.getValue().setTitle("お気に入り");
    favorite.getValue().setId("favorite_");
    favorite.setExpanded(true);
    userTree.getChildren().add(favorite);

    TreeItem<Board> nichanBoard = new TreeItem<Board>(new Board());
    nichanBoard.getValue().setTitle("2ch");
    nichanBoard.getValue().setId("2ch_");
    nichanBoard.setExpanded(true);
    rootNode.getChildren().add(nichanBoard);

    for (Board board : boards) {
      setupTreeItem(nichanBoard, board);
    }
  }
コード例 #23
0
ファイル: SchemeItemToString.java プロジェクト: keeps/roda-in
  protected void createAndUpdateFooter() {
    Task computeThread =
        new Task() {
          @Override
          protected Object call() throws Exception {
            Set<SipPreview> sipPreviews = new HashSet<>();
            for (TreeItem<String> item : input) {
              if (item instanceof SipPreviewNode) {
                sipPreviews.add(((SipPreviewNode) item).getSip());
              } else if (item instanceof SchemaNode) {
                sipPreviews.addAll(((SchemaNode) item).getSipPreviews().keySet());
              }
            }
            sips = sipPreviews.size();
            compute(sipPreviews);
            return null;
          }
        };

    computeThread.setOnSucceeded(
        event -> {
          if (input.size() == 1) {
            TreeItem item = input.get(0);
            if (item == null) {
              Footer.setClassPlanStatus("");
              return;
            }
            sb.append(item.getValue()).append(": ");
            if (item instanceof SipPreviewNode) {
              sb.append(representations).append(" ").append("reps");
              sb.append(", ");
            } else {
              sb.append(sips).append(" SIP").append(", ");
            }
          } else {
            sb.append(input.size()).append(" ").append(I18n.t("items")).append(": ");
            sb.append(sips).append(" SIP").append(", ");
          }
          sb.append(folders).append(" ").append(I18n.t("folders"));
          sb.append(", ");
          sb.append(files).append(" ").append(I18n.t("files"));
          sb.append(", ");
          sb.append(Utils.formatSize(size));
          Footer.setClassPlanStatus(sb.toString());
        });
    new Thread(computeThread).start();
  }
コード例 #24
0
  private synchronized void loadChildren(final TreeItem<Account> parentItem) {
    parentItem
        .getValue()
        .getChildren(Comparators.getAccountByCode())
        .stream()
        .filter(typeFilter::isAccountVisible)
        .forEach(
            child -> {
              TreeItem<Account> childItem = new TreeItem<>(child);
              childItem.setExpanded(true);

              parentItem.getChildren().add(childItem);

              if (child.getChildCount() > 0) {
                loadChildren(childItem);
              }
            });
  }
コード例 #25
0
  @Override
  public void toggleItemIgnore(ObservableList<TreeItem<Node>> nodesToIgnore, boolean ignored) {
    for (TreeItem<Node> nodeToIgnore : nodesToIgnore) {
      ipmService.ignoreNode(nodeToIgnore.getValue(), ignored);

      view.getErrorLabel().setVisible(false);
    }

    // To aid in being able to unignore multiple items at once we just check the entire tree for
    // validity and then walk the tree to find types that need to be changed.
    if (!ignored
        && !getController().getDomainProfileService().validateTree(controller.getPackageTree())) {
      updateUnassignedNode(controller.getPackageTree());
    }

    // If the tree still isn't valid, try reassigning types to all nodes we changes.
    // This is almost guaranteed to never happen but is here as an ultimate safety check to ensure
    // we always have a valid tree.
    if (!ignored
        && !getController().getDomainProfileService().validateTree(controller.getPackageTree())) {

      nodesToIgnore
          .stream()
          .filter(
              nodeToIgnore ->
                  !getController()
                      .getDomainProfileService()
                      .assignNodeTypes(
                          getController().getPrimaryDomainProfile(), nodeToIgnore.getValue()))
          .forEach(
              nodeToIgnore -> {
                ipmService.ignoreNode(nodeToIgnore.getValue(), true);
                view.getErrorLabel().setText(TextFactory.getText(ErrorKey.UNIGNORE_ERROR));
                view.getErrorLabel().setVisible(true);
              });
    }

    // Rebuild the entire TreeView and reselect the previously selected nodes
    rebuildTreeView();

    for (TreeItem<Node> ignoredNode : nodesToIgnore) {
      view.getArtifactTreeView().getSelectionModel().select(ignoredNode);
    }
  }
コード例 #26
0
ファイル: DBTreeController.java プロジェクト: daa84/mongofx
  private void onReanameCollection(ActionEvent actionEvent) {
    TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem();
    if (selectedItem == null) {
      return;
    }

    DbTreeValue value = selectedItem.getValue();
    TextInputDialog dialog = new TextInputDialog(value.getDisplayValue());
    dialog.setContentText("New collection name:");
    dialog.setHeaderText("Rename collection");
    dialog
        .showAndWait()
        .ifPresent(
            targetCollection -> {
              MongoCollection<Document> collection =
                  value.getMongoDatabase().getMongoDb().getCollection(value.getDisplayValue());
              collection.renameCollection(
                  new MongoNamespace(value.getMongoDatabase().getName(), targetCollection));
              ((DynamicTreeItem) selectedItem.getParent()).reload();
            });
  }
コード例 #27
0
ファイル: DBTreeController.java プロジェクト: daa84/mongofx
  private void onCopyCollection(ActionEvent actionEvent) {
    TreeItem<DbTreeValue> selectedItem = treeView.getSelectionModel().getSelectedItem();
    if (selectedItem == null) {
      return;
    }

    DbTreeValue value = selectedItem.getValue();
    String sourceCollectionName = value.getDisplayValue();
    TextInputDialog dialog = new TextInputDialog(sourceCollectionName + "_copy");
    dialog.setContentText("New collection name:");
    dialog.setHeaderText("Copy collection");
    dialog
        .showAndWait()
        .ifPresent(
            targetCollection -> {
              new CopyCollectionHelper(
                      value.getMongoDatabase(), sourceCollectionName, targetCollection)
                  .copy();
              ((DynamicTreeItem) selectedItem.getParent()).reload();
              popupService.showInfo(
                  String.format(
                      "Collection %s copied to %s", sourceCollectionName, targetCollection));
            });
  }
コード例 #28
0
 @Override
 public int compare(TreeItem o1, TreeItem o2) {
   return ((Comparable) o1.getValue()).compareTo(o2.getValue());
 }
コード例 #29
0
 @Override
 protected TreeItem modifyItem(Object treeItem, String mod) {
   TreeItem old = (TreeItem) treeItem;
   return createItem(old.getValue() + mod);
 }
コード例 #30
0
  /** *************************File Creation************************** */
  @FXML
  private void CreateFile() throws SQLException {
    boolean isExist = false;

    if (Objects.equals(currProjectName, "") || selected == null) {
      warning("Can't create file under the main project");
    } else if (selected.getValue().isProject()) {
      TextInputDialog dialog = new TextInputDialog("");
      dialog.setTitle("Create File");
      dialog.setHeaderText("File");
      dialog.setContentText("Please enter the file name:");
      Optional<String> result = dialog.showAndWait();

      if (result.isPresent()) {
        final String inputFileName = result.get();

        String query =
            "SELECT pfname FROM PFiles WHERE pid like '" + currPID + "' AND pdid IS NULL";
        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery(query);

        while (rs.next()) {
          String tempName = rs.getString("pfname");
          if (Objects.equals(tempName, inputFileName)) {
            isExist = true;
            break;
          }
        }
        if (isExist == true) {
          warning("File name already exist.");
        } else {
          query =
              "INSERT INTO PFiles(pfname, pid,creatorID) VALUE('"
                  + inputFileName
                  + "','"
                  + currPID
                  + "','"
                  + MyuserID
                  + "')";
          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<StrucTree> temptreeItem = new CheckBoxTreeItem<>();
            temptreeItem.setValue(new StrucTree("f", inputFileName, currID));
            selected.getChildren().add(temptreeItem);
            selected.setExpanded(true);
            iniFile(temptreeItem);
          }
        }
      }
    } else if (selected.getValue().isFile()) {

      TextInputDialog dialog = new TextInputDialog("");
      dialog.setTitle("Create File");
      dialog.setHeaderText("File");
      dialog.setContentText("Please enter the file name:");
      Optional<String> result = dialog.showAndWait();

      if (result.isPresent()) {
        final String inputFileName = result.get();
        String query = "";
        if (selected.getParent().getValue().isProject()) {
          query = "SELECT pfname FROM PFiles where pid like '" + currPID + "' AND pdid IS NULL";
        } else {
          query =
              "SELECT pfname FROM PFiles where pid like '"
                  + currPID
                  + "' AND pdid LIKE '"
                  + selected.getParent().getValue().getID()
                  + "'";
        }
        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery(query);

        while (rs.next()) {
          String tempName = rs.getString("pfname");
          if (Objects.equals(tempName, inputFileName)) {
            isExist = true;
            break;
          }
        }
        if (isExist == true) {
          warning("File name already exist.");

        } else {
          if (selected.getParent().getValue().isProject()) {
            query =
                "INSERT INTO PFiles(pfname, pid,creatorID) VALUE('"
                    + inputFileName
                    + "','"
                    + currPID
                    + "','"
                    + MyuserID
                    + "')";
          } else {
            query =
                "INSERT INTO PFiles(pfname, pid, pdid,creatorID) VALUE('"
                    + inputFileName
                    + "','"
                    + currPID
                    + "','"
                    + selected.getParent().getValue().getID()
                    + "','"
                    + MyuserID
                    + "')";
          }
          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<StrucTree> temptreeItem = new CheckBoxTreeItem<>();
            if (selected.getParent().getValue().isProject()) {
              temptreeItem.setValue(new StrucTree("f", inputFileName, currID));
            } else {
              temptreeItem.setValue(
                  new StrucTree(
                      "f", inputFileName, currID, selected.getParent().getValue().getID()));
            }
            selected.getParent().getChildren().add(temptreeItem);
            selected.getParent().setExpanded(true);
            iniFile(temptreeItem);
          }
        }
      }
    } else if (selected.getValue().isDirectory()) {
      TextInputDialog dialog = new TextInputDialog("");
      dialog.setTitle("Create File");
      dialog.setHeaderText("File");
      dialog.setContentText("Please enter the file name:");
      Optional<String> result = dialog.showAndWait();

      if (result.isPresent()) {
        final String inputFileName = result.get();
        String query =
            "SELECT pfname FROM PFiles where pid like '"
                + currPID
                + "' AND pdid LIKE '"
                + selected.getValue().getID()
                + "'";

        Statement st = conn.createStatement();
        ResultSet rs = st.executeQuery(query);

        while (rs.next()) {
          String tempName = rs.getString("pfname");
          if (Objects.equals(tempName, inputFileName)) {
            isExist = true;
            break;
          }
        }
        if (isExist == true) {
          warning("File name already exist.");
        } else {
          query =
              "INSERT INTO PFiles(pfname, pid, pdid,creatorID) VALUE('"
                  + inputFileName
                  + "','"
                  + currPID
                  + "','"
                  + selected.getValue().getID()
                  + "','"
                  + MyuserID
                  + "')";
          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<StrucTree> temptreeItem = new CheckBoxTreeItem<>();
            temptreeItem.setValue(
                new StrucTree("f", inputFileName, currID, selected.getValue().getID()));
            selected.getChildren().add(temptreeItem);
            selected.setExpanded(true);
            iniFile(temptreeItem);
          }
        }
      }
    }
  }