diff --git a/alpha/MyBox/src/main/java/mara/mybox/bufferedimage/ImageScope.java b/alpha/MyBox/src/main/java/mara/mybox/bufferedimage/ImageScope.java index 8e501b8e4..67173218c 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/bufferedimage/ImageScope.java +++ b/alpha/MyBox/src/main/java/mara/mybox/bufferedimage/ImageScope.java @@ -74,6 +74,21 @@ private void init() { clearValues(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public final void clearValues() { colors = new ArrayList<>(); points = new ArrayList<>(); diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeController.java index 49bf3a262..a5b6be5b0 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeController.java @@ -1,11 +1,11 @@ package mara.mybox.controller; import javafx.scene.input.KeyEvent; -import mara.mybox.db.data.TreeNode; +import mara.mybox.db.data.DataNode; import mara.mybox.db.data.VisitHistory; import mara.mybox.db.table.BaseTreeData; import mara.mybox.db.table.TableTag; -import mara.mybox.db.table.TableNode; +import mara.mybox.db.table.TableDataNode; import mara.mybox.db.table.TableDataTag; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.FxSingletonTask; @@ -21,7 +21,7 @@ public abstract class BaseDataTreeController extends BaseController { protected BaseDataTreeNodeController nodeController; protected BaseTreeData dataTable; - protected TableNode treeTable; + protected TableDataNode treeTable; protected TableTag tagTable; protected TableDataTag treeTagTable; @@ -38,7 +38,7 @@ public void initControls() { if (dataTable == null) { return; } - treeTable = new TableNode(dataTable); + treeTable = new TableDataNode(dataTable); tagTable = new TableTag(); treeTagTable = new TableDataTag(dataTable); @@ -51,7 +51,7 @@ public void initControls() { } } - public void popNode(TreeNode item) { + public void popNode(DataNode item) { if (item == null) { return; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeManageController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeManageController.java index 0892ddbe0..5d1ffdeb1 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeManageController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeManageController.java @@ -12,7 +12,7 @@ import javafx.stage.Stage; import javafx.stage.Window; import mara.mybox.db.DerbyBase; -import mara.mybox.db.data.TreeNode; +import mara.mybox.db.data.DataNode; import mara.mybox.fxml.FxSingletonTask; import mara.mybox.fxml.WindowTools; import mara.mybox.value.Fxmls; @@ -32,14 +32,14 @@ public abstract class BaseDataTreeManageController extends BaseDataTreeControlle /* synchronize */ - public void nodeAdded(TreeNode parent, TreeNode newNode) { + public void nodeAdded(DataNode parent, DataNode newNode) { if (parent == null || newNode == null) { return; } } - public void nodeRenamed(TreeNode node) { + public void nodeRenamed(DataNode node) { if (node == null) { return; } @@ -55,7 +55,7 @@ public void nodeRenamed(TreeNode node) { } } - public void nodeDeleted(TreeNode node) { + public void nodeDeleted(DataNode node) { if (node == null) { return; } @@ -64,7 +64,7 @@ public void nodeDeleted(TreeNode node) { nodeController.editNode(null); } - public void nodeMoved(TreeNode parent, TreeNode node) { + public void nodeMoved(DataNode parent, DataNode node) { if (parent == null || node == null) { return; } @@ -80,14 +80,14 @@ public void nodeMoved(TreeNode parent, TreeNode node) { } } - public void nodesMoved(TreeNode parent, List nodes) { + public void nodesMoved(DataNode parent, List nodes) { if (parent == null || nodes == null || nodes.isEmpty()) { return; } treeController.loadTree(parent); } - public void nodesCopied(TreeNode parent) { + public void nodesCopied(DataNode parent) { treeController.loadTree(parent); } @@ -171,7 +171,7 @@ public void nodeChanged() { /* tree */ - public boolean editNode(TreeNode node) { + public boolean editNode(DataNode node) { if (!checkBeforeNextAction()) { return false; } @@ -189,11 +189,11 @@ protected void moveAction() { // InfoTreeNodesMoveController.oneOpen(this); } - public void pasteNode(TreeNode node) { + public void pasteNode(DataNode node) { nodeController.pasteNode(node); } - public void executeNode(TreeNode node) { + public void executeNode(DataNode node) { if (node == null) { return; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeNodeController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeNodeController.java index 47c9094f7..2227fd272 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeNodeController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/BaseDataTreeNodeController.java @@ -5,8 +5,8 @@ import javafx.fxml.FXML; import javafx.scene.control.Tab; import javafx.scene.input.KeyEvent; -import mara.mybox.db.data.TreeNode; -import static mara.mybox.db.data.TreeNode.TitleSeparater; +import mara.mybox.db.data.DataNode; +import static mara.mybox.db.data.DataNode.TitleSeparater; import mara.mybox.db.data.VisitHistory; import mara.mybox.dev.MyBoxLog; import static mara.mybox.value.Languages.message; @@ -52,7 +52,7 @@ public void setParameters(BaseDataTreeController controller) { } } - protected boolean editNode(TreeNode node) { + protected boolean editNode(DataNode node) { updateEditorTitle(node); attributesController.editNode(node); editValue(node); @@ -61,7 +61,7 @@ protected boolean editNode(TreeNode node) { return true; } - protected void updateEditorTitle(TreeNode node) { + protected void updateEditorTitle(DataNode node) { if (node != null) { dataController.setTitle(dataController.baseTitle + ": " + node.getNodeid() + " - " + node.getTitle()); @@ -70,15 +70,15 @@ protected void updateEditorTitle(TreeNode node) { } } - protected void editValue(TreeNode node) { + protected void editValue(DataNode node) { } - public TreeNode pickNodeData() { + public DataNode pickNodeData() { String title = nodeTitle(); if (title == null || title.isBlank()) { return null; } - TreeNode node = TreeNode.create() + DataNode node = DataNode.create() .setDataTable(dataController.dataTable) .setTitle(title); return pickValue(node); @@ -190,7 +190,7 @@ public void saveNode() { // start(task); } - protected TreeNode pickValue(TreeNode node) { + protected DataNode pickValue(DataNode node) { if (node == null) { return null; } @@ -356,7 +356,7 @@ public void sourceFileChanged(File file) { // start(task, thisPane); } - public void pasteNode(TreeNode node) { + public void pasteNode(DataNode node) { // if (valueInput == null || node == null) { // return; // } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeManage.java b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeManage.java index 004ea83cb..7838b4bc3 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeManage.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeManage.java @@ -20,8 +20,8 @@ import javafx.scene.control.TreeItem; import javafx.scene.input.MouseEvent; import mara.mybox.db.DerbyBase; -import mara.mybox.db.data.TreeNode; -import static mara.mybox.db.data.TreeNode.TitleSeparater; +import mara.mybox.db.data.DataNode; +import static mara.mybox.db.data.DataNode.TitleSeparater; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.FxSingletonTask; import mara.mybox.fxml.FxTask; @@ -45,8 +45,7 @@ public class ControlDataTreeManage extends ControlDataTreeView { public void setManager(BaseDataTreeManageController parent) { manager = parent; - treeTable = manager.treeTable; - treeTagTable = manager.treeTagTable; + nodeTable = manager.treeTable; dataTable = manager.dataTable; parentController = parent; baseName = dataTable.getTableName(); @@ -74,14 +73,14 @@ public void loadTree() { } } - public String chainName(Connection conn, TreeNode node) { + public String chainName(Connection conn, DataNode node) { if (node == null) { return null; } String chainName = ""; - List ancestor = ancestor(conn, node); + List ancestor = ancestor(conn, node); if (ancestor != null) { - for (TreeNode a : ancestor) { + for (DataNode a : ancestor) { chainName += a.getTitle() + TitleSeparater; } } @@ -90,21 +89,21 @@ public String chainName(Connection conn, TreeNode node) { } @Override - public void itemClicked(MouseEvent event, TreeItem item) { + public void itemClicked(MouseEvent event, TreeItem item) { clicked(UserConfig.getString(baseName + "WhenLeftClickNode", "Edit"), item); } @Override - public void doubleClicked(MouseEvent event, TreeItem item) { + public void doubleClicked(MouseEvent event, TreeItem item) { clicked(UserConfig.getString(baseName + "WhenDoubleClickNode", "PopNode"), item); } @Override - public void rightClicked(MouseEvent event, TreeItem item) { + public void rightClicked(MouseEvent event, TreeItem item) { clicked(UserConfig.getString(baseName + "WhenRightClickNode", "PopMenu"), item); } - public void clicked(String clickAction, TreeItem item) { + public void clicked(String clickAction, TreeItem item) { if (item == null || clickAction == null) { return; } @@ -136,7 +135,7 @@ public void clicked(String clickAction, TreeItem item) { } @Override - public List operationsMenuItems(TreeItem treeItem) { + public List operationsMenuItems(TreeItem treeItem) { List items = new ArrayList<>(); items.addAll(updateMenuItems(treeItem)); @@ -150,7 +149,7 @@ public List operationsMenuItems(TreeItem treeItem) { return items; } - public List updateMenuItems(TreeItem treeItem) { + public List updateMenuItems(TreeItem treeItem) { boolean isRoot = treeItem == null || isRoot(treeItem.getValue()); List items = new ArrayList<>(); @@ -226,7 +225,7 @@ public void popDataMenu(Event event) { @FXML public void showDataMenu(Event event) { - TreeItem item = selected(); + TreeItem item = selected(); if (item == null) { return; } @@ -258,7 +257,7 @@ public void handle(ActionEvent event) { } } - public List dataMenuItems(TreeItem item) { + public List dataMenuItems(TreeItem item) { if (item == null) { return null; } @@ -291,25 +290,25 @@ public List dataMenuItems(TreeItem item) { return items; } - public Menu leftClickMenu(TreeItem treeItem) { + public Menu leftClickMenu(TreeItem treeItem) { Menu clickMenu = new Menu(message("WhenLeftClickNode"), StyleTools.getIconImageView("iconSelect.png")); clickMenu(treeItem, clickMenu, "WhenLeftClickNode", "Edit"); return clickMenu; } - public Menu doubleClickMenu(TreeItem treeItem) { + public Menu doubleClickMenu(TreeItem treeItem) { Menu clickMenu = new Menu(message("WhenDoubleClickNode"), StyleTools.getIconImageView("iconSelectAll.png")); clickMenu(treeItem, clickMenu, "WhenDoubleClickNode", "PopNode"); return clickMenu; } - public Menu rightClickMenu(TreeItem treeItem) { + public Menu rightClickMenu(TreeItem treeItem) { Menu clickMenu = new Menu(message("WhenRightClickNode"), StyleTools.getIconImageView("iconSelectNone.png")); clickMenu(treeItem, clickMenu, "WhenRightClickNode", "PopMenu"); return clickMenu; } - public Menu clickMenu(TreeItem treeItem, Menu menu, String key, String defaultAction) { + public Menu clickMenu(TreeItem treeItem, Menu menu, String key, String defaultAction) { ToggleGroup clickGroup = new ToggleGroup(); String currentClick = UserConfig.getString(baseName + key, defaultAction); @@ -404,7 +403,7 @@ public void handle(ActionEvent event) { } @FXML - public void showPopMenu(TreeItem item) { + public void showPopMenu(TreeItem item) { if (item == null) { return; } @@ -431,21 +430,21 @@ public void showPopMenu(TreeItem item) { } @Override - public void nodeAdded(TreeNode parent, TreeNode newNode) { + public void nodeAdded(DataNode parent, DataNode newNode) { // manager.nodeAdded(parent, newNode); } @Override - protected void viewNode(TreeItem item) { + protected void viewNode(TreeItem item) { popNode(item); } - protected void deleteNode(TreeItem targetItem) { + protected void deleteNode(TreeItem targetItem) { if (targetItem == null) { popError(message("SelectToHandle")); return; } - TreeNode node = targetItem.getValue(); + DataNode node = targetItem.getValue(); if (node == null) { popError(message("SelectToHandle")); return; @@ -466,17 +465,17 @@ protected void deleteNode(TreeItem targetItem) { } task = new FxSingletonTask(this) { - private TreeItem rootItem; + private TreeItem rootItem; @Override protected boolean handle() { try (Connection conn = DerbyBase.getConnection()) { if (isRoot) { - treeTable.deleteChildren(conn, node.getNodeid()); + nodeTable.deleteChildren(conn, node.getNodeid()); // TreeNode rootNode = root(conn); // rootItem = new TreeItem(rootNode); } else { - treeTable.deleteData(conn, node); + nodeTable.deleteData(conn, node); } } catch (Exception e) { error = e.toString(); @@ -503,12 +502,12 @@ protected void whenSucceeded() { start(task, treeView); } - protected void renameNode(TreeItem item) { + protected void renameNode(TreeItem item) { if (item == null) { popError(message("SelectToHandle")); return; } - TreeNode nodeValue = item.getValue(); + DataNode nodeValue = item.getValue(); if (nodeValue == null || isRoot(nodeValue)) { popError(message("SelectToHandle")); return; @@ -526,12 +525,12 @@ protected void renameNode(TreeItem item) { task.cancel(); } task = new FxSingletonTask(this) { - private TreeNode updatedNode; + private DataNode updatedNode; @Override protected boolean handle() { nodeValue.setTitle(name); - updatedNode = treeTable.updateData(nodeValue); + updatedNode = nodeTable.updateData(nodeValue); return updatedNode != null; } @@ -546,7 +545,7 @@ protected void whenSucceeded() { start(task, treeView); } - protected void copyNode(TreeItem item) { + protected void copyNode(TreeItem item) { if (item == null || isRoot(item.getValue())) { return; } @@ -556,7 +555,7 @@ protected void copyNode(TreeItem item) { // controller.setParameters(manager, item.getValue(), chainName); } - protected void moveNode(TreeItem item) { + protected void moveNode(TreeItem item) { if (item == null || isRoot(item.getValue())) { return; } @@ -565,32 +564,32 @@ protected void moveNode(TreeItem item) { // controller.setParameters(manager, item.getValue(), chainName); } - protected void nodeMoved(TreeNode parent, TreeNode node) { + protected void nodeMoved(DataNode parent, DataNode node) { // manager.nodeMoved(parent, node); } - protected void editNode(TreeItem item) { + protected void editNode(TreeItem item) { if (item == null) { return; } // manager.editNode(item.getValue()); } - protected void pasteNode(TreeItem item) { + protected void pasteNode(TreeItem item) { if (item == null) { return; } // manager.pasteNode(item.getValue()); } - protected void executeNode(TreeItem item) { + protected void executeNode(TreeItem item) { if (item == null) { return; } // manager.executeNode(item.getValue()); } - protected void exportNode(TreeItem item) { + protected void exportNode(TreeItem item) { InfoTreeNodeExportController exportController = (InfoTreeNodeExportController) childStage(Fxmls.InfoTreeNodeExportFxml); // exportController.setParamters(infoController, item); @@ -616,11 +615,11 @@ public void infoTree() { infoTree(selected()); } - public void infoTree(TreeItem node) { + public void infoTree(TreeItem node) { if (node == null) { return; } - TreeNode nodeValue = node.getValue(); + DataNode nodeValue = node.getValue(); if (nodeValue == null) { return; } @@ -693,12 +692,12 @@ protected void whenSucceeded() { } protected void treeView(FxTask infoTask, BufferedWriter writer, Connection conn, - TreeNode node, int indent, String serialNumber) { + DataNode node, int indent, String serialNumber) { try { if (conn == null || node == null) { return; } - List children = treeTable.children(conn, node.getNodeid()); + List children = nodeTable.children(conn, node.getNodeid()); String indentNode = " ".repeat(indent); String spaceNode = " ".repeat(indent); String nodePageid = "item" + node.getNodeid(); @@ -745,7 +744,7 @@ protected void treeView(FxTask infoTask, BufferedWriter writer, Connection conn, if (infoTask != null && !infoTask.isWorking()) { return; } - TreeNode child = children.get(i); + DataNode child = children.get(i); String ps = serialNumber == null || serialNumber.isBlank() ? "" : serialNumber + "."; treeView(infoTask, writer, conn, child, indent + 4, ps + (i + 1)); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeAttributes.java b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeAttributes.java index c1b1450d7..12be528f2 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeAttributes.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeAttributes.java @@ -7,9 +7,9 @@ import javafx.scene.control.Label; import javafx.scene.control.TextField; import mara.mybox.db.DerbyBase; -import mara.mybox.db.data.TreeNode; +import mara.mybox.db.data.DataNode; import mara.mybox.db.table.BaseTable; -import mara.mybox.db.table.TableNode; +import mara.mybox.db.table.TableDataNode; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.FxTask; import mara.mybox.tools.DateTools; @@ -24,10 +24,10 @@ public class ControlDataTreeNodeAttributes extends BaseController { protected BaseDataTreeController dataController; protected BaseDataTreeNodeController nodeController; - protected TableNode tableTree; + protected TableDataNode tableTree; protected FxTask tagsTask; protected BaseTable dataTable; - protected TreeNode parentNode, currentNode; + protected DataNode parentNode, currentNode; @FXML protected TextField idInput, titleInput, timeInput; @@ -78,7 +78,7 @@ public void attributesChanged() { nodeController.nodeChanged(true); } - protected void editNode(TreeNode node) { + protected void editNode(DataNode node) { currentNode = node; isSettingValues = true; if (node != null) { @@ -125,14 +125,14 @@ public void selectParent() { // InfoTreeNodeParentController.open(this); } - protected void checkParentNode(TreeNode node) { + protected void checkParentNode(DataNode node) { if (parentNode == null || node.getNodeid() != parentNode.getNodeid()) { return; } refreshParentNode(); } - protected void setParentNode(TreeNode node) { + protected void setParentNode(DataNode node) { parentNode = node; refreshParentNode(); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeTags.java b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeTags.java index 635716e7b..42394712f 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeTags.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeNodeTags.java @@ -14,11 +14,11 @@ import javafx.util.converter.DefaultStringConverter; import mara.mybox.db.DerbyBase; import mara.mybox.db.data.Tag; -import mara.mybox.db.data.TreeNode; +import mara.mybox.db.data.DataNode; import mara.mybox.db.table.BaseTable; import mara.mybox.db.table.TableColor; import mara.mybox.db.table.TableTag; -import mara.mybox.db.table.TableNode; +import mara.mybox.db.table.TableDataNode; import mara.mybox.db.table.TableDataTag; import mara.mybox.dev.MyBoxLog; import mara.mybox.fximage.FxColorTools; @@ -36,11 +36,11 @@ public class ControlDataTreeNodeTags extends BaseSysTableController { protected BaseDataTreeController dataController; - protected TableNode tableTree; + protected TableDataNode tableTree; protected TableTag tableTag; protected TableDataTag tableTreeTag; protected BaseTable dataTable; - protected TreeNode currentNode; + protected DataNode currentNode; @FXML protected TableColumn tagColumn; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeTable.java b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeTable.java index 6575876b9..281cc6b76 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeTable.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeTable.java @@ -28,9 +28,9 @@ import javafx.scene.layout.VBox; import mara.mybox.db.DerbyBase; import mara.mybox.db.data.Tag; -import mara.mybox.db.data.TreeNode; +import mara.mybox.db.data.DataNode; import mara.mybox.db.table.TableStringValues; -import mara.mybox.db.table.TableNode; +import mara.mybox.db.table.TableDataNode; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.FxTask; import mara.mybox.fxml.cell.TableTextTrimCell; @@ -44,20 +44,20 @@ * @CreateDate 2022-3-9 * @License Apache License Version 2.0 */ -public class ControlDataTreeTable extends BaseSysTableController { +public class ControlDataTreeTable extends BaseSysTableController { protected BaseDataTreeController dataController; protected BaseDataTreeManageController manager; - protected TableNode tableTree; + protected TableDataNode tableTree; protected String queryLabel; - protected TreeNode loadedParent; + protected DataNode loadedParent; @FXML - protected TableColumn nodeidColumn; + protected TableColumn nodeidColumn; @FXML - protected TableColumn nameColumn, valueColumn; + protected TableColumn nameColumn, valueColumn; @FXML - protected TableColumn timeColumn; + protected TableColumn timeColumn; @FXML protected VBox conditionBox; @FXML @@ -125,7 +125,7 @@ public void clearQuery() { startRowOfCurrentPage = 0; } - public void loadNodes(TreeNode parentNode) { + public void loadNodes(DataNode parentNode) { clearQuery(); loadedParent = parentNode; if (loadedParent != null) { @@ -135,12 +135,12 @@ public void loadNodes(TreeNode parentNode) { // dataController.showNodesList(true); } - public void loadChildren(TreeNode parentNode) { + public void loadChildren(DataNode parentNode) { childrenRadio.setSelected(true); loadNodes(parentNode); } - public void loadDescendants(TreeNode parentNode) { + public void loadDescendants(DataNode parentNode) { descendantsRadio.setSelected(true); loadNodes(parentNode); } @@ -166,7 +166,7 @@ public void makeConditionPane() { return; } FxTask loadTask = new FxTask(this) { - private List ancestor; + private List ancestor; @Override protected boolean handle() { @@ -178,7 +178,7 @@ protected boolean handle() { protected void whenSucceeded() { List nodes = new ArrayList<>(); if (ancestor != null) { - for (TreeNode node : ancestor) { + for (DataNode node : ancestor) { Hyperlink link = new Hyperlink(node.getTitle()); link.setWrapText(true); link.setMinHeight(Region.USE_PREF_SIZE); @@ -223,7 +223,7 @@ public long readDataSize(FxTask currentTask, Connection conn) { } @Override - public List readPageData(FxTask currentTask, Connection conn) { + public List readPageData(FxTask currentTask, Connection conn) { if (loadedParent != null && descendantsRadio.isSelected()) { return tableTree.decentants(conn, loadedParent.getNodeid(), startRowOfCurrentPage, pageSize); @@ -252,7 +252,7 @@ public void itemDoubleClicked() { @FXML @Override public void viewAction() { - TreeNode item = selectedItem(); + DataNode item = selectedItem(); if (item == null) { popError(message("SelectToHanlde")); return; diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeView.java b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeView.java index d6639dda3..976311570 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeView.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/ControlDataTreeView.java @@ -17,13 +17,13 @@ import javafx.scene.control.cell.TreeItemPropertyValueFactory; import javafx.scene.input.MouseEvent; import mara.mybox.db.DerbyBase; -import mara.mybox.db.data.TreeNode; -import static mara.mybox.db.data.TreeNode.TitleSeparater; +import mara.mybox.db.data.DataNode; +import static mara.mybox.db.data.DataNode.TitleSeparater; import mara.mybox.db.table.BaseTable; -import mara.mybox.db.table.TableNode; -import mara.mybox.db.table.TableDataTag; +import mara.mybox.db.table.TableDataNode; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.FxSingletonTask; +import mara.mybox.fxml.FxTask; import mara.mybox.fxml.HelpTools; import mara.mybox.fxml.PopTools; import mara.mybox.fxml.TextClipboardTools; @@ -38,19 +38,18 @@ * @CreateDate 2021-4-23 * @License Apache License Version 2.0 */ -public class ControlDataTreeView extends BaseTreeTableViewController { +public class ControlDataTreeView extends BaseTreeTableViewController { protected BaseDataTreeController dataController; protected static final int AutoExpandThreshold = 500; protected boolean expandAll; - protected TableNode treeTable; - protected TableDataTag treeTagTable; + protected TableDataNode nodeTable; protected BaseTable dataTable; @FXML - protected TreeTableColumn idColumn; + protected TreeTableColumn idColumn; @FXML - protected TreeTableColumn timeColumn; + protected TreeTableColumn timeColumn; @FXML protected Label titleLabel; @FXML @@ -108,8 +107,7 @@ public void initTree() { public void setParameters(BaseDataTreeController controller) { dataController = controller; dataTable = dataController.dataTable; - treeTable = dataController.treeTable; - treeTagTable = dataController.treeTagTable; + nodeTable = dataController.treeTable; parentController = dataController; baseName = dataTable.getTableName(); baseTitle = baseName; @@ -124,13 +122,13 @@ public void loadTree() { loadTree(null); } - public void loadTree(TreeNode selectNode) { + public void loadTree(DataNode selectNode) { if (task != null) { task.cancel(); } clearTree(); task = new FxSingletonTask(this) { - private TreeItem rootItem; + private TreeItem rootItem; @Override @@ -140,21 +138,22 @@ protected boolean handle() { return true; } try (Connection conn = DerbyBase.getConnection()) { - TreeNode rootNode = TreeNode.createRoot(dataTable); + DataNode rootNode = DataNode.createRoot(dataTable); rootItem = new TreeItem(rootNode); rootItem.setExpanded(true); - List nodes = roots(conn); + List nodes = roots(conn); if (nodes == null || nodes.isEmpty()) { return true; } - for (TreeNode node : nodes) { + for (DataNode node : nodes) { if (task == null || isCancelled()) { return false; } TreeItem nodeItem = new TreeItem(node); rootItem.getChildren().add(nodeItem); - int size = treeTable.decentantsSize(conn, node.getNodeid()); - unfold(conn, nodeItem, size < AutoExpandThreshold); + nodeItem.getChildren().add(new TreeItem(new DataNode())); + int size = nodeTable.childrenSize(conn, node.getNodeid()); + unfold(this, conn, nodeItem, size < AutoExpandThreshold); } } catch (Exception e) { @@ -174,17 +173,17 @@ protected void whenSucceeded() { start(task, thisPane); } - public TreeNode createNode(TreeNode targetNode, String name) { + public DataNode createNode(DataNode targetNode, String name) { if (targetNode == null) { return null; } - TreeNode newNode = new TreeNode(targetNode, name); - newNode = treeTable.insertData(newNode); + DataNode newNode = new DataNode(targetNode, name); + newNode = nodeTable.insertData(newNode); return newNode; } - public void updateNode(TreeNode node) { - TreeItem treeItem = find(node); + public void updateNode(DataNode node) { + TreeItem treeItem = find(node); if (treeItem == null) { return; } @@ -195,7 +194,7 @@ public void updateNode(TreeNode node) { /* data */ - public TreeNode copyNode(Connection conn, TreeNode sourceNode, TreeNode targetNode) { + public DataNode copyNode(Connection conn, DataNode sourceNode, DataNode targetNode) { if (conn == null || sourceNode == null || targetNode == null) { if (task != null) { task.setError(message("InvalidData")); @@ -203,8 +202,8 @@ public TreeNode copyNode(Connection conn, TreeNode sourceNode, TreeNode targetNo return null; } try { - TreeNode newNode = sourceNode.copyIn(targetNode); - newNode = treeTable.insertData(conn, newNode); + DataNode newNode = sourceNode.copyIn(targetNode); + newNode = nodeTable.insertData(conn, newNode); if (newNode == null) { return null; } @@ -218,11 +217,11 @@ public TreeNode copyNode(Connection conn, TreeNode sourceNode, TreeNode targetNo } } - public boolean copyNodeAndDescendants(Connection conn, TreeNode sourceNode, TreeNode targetNode) { + public boolean copyNodeAndDescendants(Connection conn, DataNode sourceNode, DataNode targetNode) { return copyDescendants(conn, sourceNode, copyNode(conn, sourceNode, targetNode)); } - public boolean copyDescendants(Connection conn, TreeNode sourceNode, TreeNode targetNode) { + public boolean copyDescendants(Connection conn, DataNode sourceNode, DataNode targetNode) { if (conn == null || sourceNode == null || targetNode == null) { if (task != null) { task.setError(message("InvalidData")); @@ -232,15 +231,15 @@ public boolean copyDescendants(Connection conn, TreeNode sourceNode, TreeNode ta try { long sourceid = sourceNode.getNodeid(); long targetid = targetNode.getNodeid(); - List children = treeTable.children(conn, sourceid); + List children = nodeTable.children(conn, sourceid); if (children != null && !children.isEmpty()) { conn.setAutoCommit(true); - for (TreeNode child : children) { - TreeNode newNode = TreeNode.create() + for (DataNode child : children) { + DataNode newNode = DataNode.create() .setParentid(targetid) .setDataTable(child.getDataTable()) .setTitle(child.getTitle()); - treeTable.insertData(conn, newNode); + nodeTable.insertData(conn, newNode); copyDescendants(conn, child, newNode); } } @@ -258,22 +257,22 @@ public boolean copyDescendants(Connection conn, TreeNode sourceNode, TreeNode ta values */ @Override - public String title(TreeNode node) { + public String title(DataNode node) { return node == null ? null : node.getTitle(); } @Override - public String value(TreeNode node) { + public String value(DataNode node) { return node == null ? null : node.texts(); } @Override - public boolean validNode(TreeNode node) { + public boolean validNode(DataNode node) { return node != null; } @Override - public boolean equalItem(TreeItem item1, TreeItem item2) { + public boolean equalItem(TreeItem item1, TreeItem item2) { if (item1 == null || item2 == null) { return false; } @@ -281,34 +280,34 @@ public boolean equalItem(TreeItem item1, TreeItem item2) { } @Override - public boolean equalNode(TreeNode node1, TreeNode node2) { + public boolean equalNode(DataNode node1, DataNode node2) { if (node1 == null || node2 == null) { return false; } return node1.getNodeid() == node2.getNodeid(); } - public List roots(Connection conn) { - return treeTable.findRoots(conn); + public List roots(Connection conn) { + return nodeTable.findRoots(conn); } - public boolean isRoot(TreeNode node) { + public boolean isRoot(DataNode node) { if (treeView.getRoot() == null || node == null) { return false; } return equalNode(treeView.getRoot().getValue(), node); } - public List ancestor(Connection conn, TreeNode node) { - return treeTable.ancestor(conn, node.getNodeid()); + public List ancestor(Connection conn, DataNode node) { + return nodeTable.ancestor(conn, node.getNodeid()); } - public List> ancestor(TreeItem item) { + public List> ancestor(TreeItem item) { if (item == null) { return null; } - List> ancestor = null; - TreeItem parent = item.getParent(); + List> ancestor = null; + TreeItem parent = item.getParent(); if (parent != null) { ancestor = ancestor(parent); if (ancestor == null) { @@ -319,14 +318,14 @@ public List> ancestor(TreeItem item) { return ancestor; } - public String chainName(TreeItem item) { + public String chainName(TreeItem item) { if (item == null) { return null; } String chainName = ""; - List> ancestor = ancestor(item); + List> ancestor = ancestor(item); if (ancestor != null) { - for (TreeItem a : ancestor) { + for (TreeItem a : ancestor) { chainName += title(a.getValue()) + TitleSeparater; } } @@ -339,7 +338,7 @@ public String chainName(TreeItem item) { actions */ @Override - public List viewMenuItems(TreeItem item) { + public List viewMenuItems(TreeItem item) { if (item == null) { return null; } @@ -410,7 +409,7 @@ public List viewMenuItems(TreeItem item) { } @Override - public void doubleClicked(MouseEvent event, TreeItem item) { + public void doubleClicked(MouseEvent event, TreeItem item) { popNode(item); } @@ -420,12 +419,12 @@ public void addAction() { addChild(selected()); } - public void addChild(TreeItem targetItem) { + public void addChild(TreeItem targetItem) { if (targetItem == null) { popError(message("SelectToHandle")); return; } - TreeNode targetNode = targetItem.getValue(); + DataNode targetNode = targetItem.getValue(); if (targetNode == null) { popError(message("SelectToHandle")); return; @@ -443,7 +442,7 @@ public void addChild(TreeItem targetItem) { return; } task = new FxSingletonTask(this) { - private TreeNode newNode; + private DataNode newNode; @Override protected boolean handle() { @@ -453,7 +452,7 @@ protected boolean handle() { @Override protected void whenSucceeded() { - TreeItem newItem = new TreeItem<>(newNode); + TreeItem newItem = new TreeItem<>(newNode); targetItem.getChildren().add(newItem); targetItem.setExpanded(true); nodeAdded(targetNode, newNode); @@ -464,7 +463,7 @@ protected void whenSucceeded() { start(task, thisPane); } - protected void popNode(TreeItem item) { + protected void popNode(TreeItem item) { if (item == null || dataController == null) { return; } @@ -472,7 +471,7 @@ protected void popNode(TreeItem item) { } @Override - public void unfold(TreeItem item, boolean descendants) { + public void unfold(TreeItem item, boolean descendants) { if (item == null) { return; } @@ -484,7 +483,7 @@ public void unfold(TreeItem item, boolean descendants) { @Override protected boolean handle() { try (Connection conn = DerbyBase.getConnection()) { - unfold(conn, item, descendants); + unfold(this, conn, item, descendants); } catch (Exception e) { error = e.toString(); return false; @@ -501,48 +500,48 @@ protected void whenSucceeded() { start(task, thisPane); } - public void unfold(Connection conn, TreeItem item, boolean descendants) { + public void unfold(FxTask task, Connection conn, TreeItem item, boolean descendants) { try { if (item == null || item.isLeaf()) { return; } if (isLoaded(item)) { - for (TreeItem childItem : item.getChildren()) { + for (TreeItem childItem : item.getChildren()) { if (task == null || task.isCancelled()) { return; } if (descendants) { - unfold(conn, childItem, true); + unfold(task, conn, childItem, true); } else { childItem.setExpanded(false); } } } else { item.getChildren().clear(); - TreeNode node = item.getValue(); + DataNode node = item.getValue(); if (node == null) { return; } - List children = treeTable.children(conn, node.getNodeid()); + List children = nodeTable.children(conn, node.getNodeid()); if (children != null) { - for (TreeNode childNode : children) { + for (DataNode childNode : children) { if (task == null || task.isCancelled()) { return; } - TreeItem childItem = new TreeItem(childNode); + TreeItem childItem = new TreeItem(childNode); item.getChildren().add(childItem); - if (!treeTable.childrenEmpty(conn, childNode.getNodeid())) { + if (!nodeTable.childrenEmpty(conn, childNode.getNodeid())) { childItem.expandedProperty().addListener( (ObservableValue ov, Boolean oldVal, Boolean newVal) -> { if (newVal && !childItem.isLeaf() && !isLoaded(childItem)) { unfold(childItem, false); } }); - TreeItem dummyItem = new TreeItem(new TreeNode()); + TreeItem dummyItem = new TreeItem(new DataNode()); childItem.getChildren().add(dummyItem); } if (descendants) { - unfold(conn, childItem, true); + unfold(task, conn, childItem, true); } else { childItem.setExpanded(false); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/DataExportController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/DataExportController.java index 1bb508673..de2d26ed6 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/DataExportController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/DataExportController.java @@ -17,7 +17,7 @@ import mara.mybox.data2d.operate.Data2DExport; import mara.mybox.db.DerbyBase; import mara.mybox.db.data.BaseData; -import mara.mybox.db.data.BaseDataAdaptor; +import mara.mybox.db.data.BaseDataTools; import mara.mybox.db.data.ColumnDefinition; import mara.mybox.db.data.GeographyCode; import mara.mybox.db.data.QueryCondition; @@ -312,8 +312,8 @@ private boolean writeRow(BaseData data) { } List row = new ArrayList<>(); for (ColumnDefinition column : columns) { - Object value = BaseDataAdaptor.getColumnValue(data, column.getColumnName()); - String display = BaseDataAdaptor.displayColumn(data, column, value); + Object value = data.getValue(column.getColumnName()); + String display = BaseDataTools.displayColumn(data, column, value); if (display == null || display.isBlank()) { display = ""; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeController.java index f6c71d280..f56d1c1a1 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeController.java @@ -16,7 +16,7 @@ import javafx.scene.input.MouseEvent; import javafx.scene.paint.Color; import mara.mybox.data.GeoCoordinateSystem; -import mara.mybox.db.data.BaseDataAdaptor; +import mara.mybox.db.data.BaseDataTools; import mara.mybox.db.data.GeographyCode; import mara.mybox.db.data.GeographyCodeTools; import mara.mybox.db.table.TableGeographyCode; @@ -281,7 +281,7 @@ public void viewAction() { return; } HtmlTableController.open(message("GeographyCode"), - BaseDataAdaptor.displayData(tableDefinition, selected, null, true)); + BaseDataTools.displayData(tableDefinition, selected, null, true)); } @FXML diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeMapController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeMapController.java index 15de8c0f2..b8e9ac7bf 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeMapController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/GeographyCodeMapController.java @@ -9,7 +9,7 @@ import javafx.scene.paint.Color; import mara.mybox.data.MapPoint; import mara.mybox.db.data.BaseData; -import mara.mybox.db.data.BaseDataAdaptor; +import mara.mybox.db.data.BaseDataTools; import mara.mybox.db.data.GeographyCode; import mara.mybox.db.data.GeographyCodeTools; import static mara.mybox.db.data.GeographyCodeTools.validCoordinate; @@ -111,7 +111,7 @@ protected boolean handle() { } MapPoint mapPoint = new MapPoint(tcode); mapPoint.setLabel(code.getName()) - .setInfo(BaseDataAdaptor.displayData(geoTable, code, null, true)) + .setInfo(BaseDataTools.displayData(geoTable, code, null, true)) .setMarkSize(markSize) .setMarkerImage(image) .setTextSize(textSize) @@ -151,7 +151,7 @@ protected String writePointsTable() { } list.add(geographyCode); } - return BaseDataAdaptor.htmlDataList(geoTable, list, displayNames()); + return BaseDataTools.htmlDataList(geoTable, list, displayNames()); } protected void drawGeographyCodes(List codes, String title) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/LocationInMapController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/LocationInMapController.java index 48345f81f..e003492f6 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/LocationInMapController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/LocationInMapController.java @@ -15,7 +15,7 @@ import javafx.scene.control.ToggleGroup; import javafx.scene.layout.Region; import javafx.stage.Stage; -import mara.mybox.db.data.BaseDataAdaptor; +import mara.mybox.db.data.BaseDataTools; import mara.mybox.db.data.GeographyCode; import mara.mybox.db.data.GeographyCodeTools; import mara.mybox.db.table.TableGeographyCode; @@ -191,7 +191,7 @@ protected void whenSucceeded() { } geographyCodes.add(geographyCode); drawPoints(); - dataArea.setText(BaseDataAdaptor.displayData(geoTable, geographyCode, null, false)); + dataArea.setText(BaseDataTools.displayData(geoTable, geographyCode, null, false)); setButtons(); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/controller/MyBoxLogViewerController.java b/alpha/MyBox/src/main/java/mara/mybox/controller/MyBoxLogViewerController.java index 021334726..4ab04220e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/controller/MyBoxLogViewerController.java +++ b/alpha/MyBox/src/main/java/mara/mybox/controller/MyBoxLogViewerController.java @@ -8,7 +8,7 @@ import javafx.fxml.FXML; import javafx.scene.control.CheckBox; import javafx.stage.Window; -import mara.mybox.db.data.BaseDataAdaptor; +import mara.mybox.db.data.BaseDataTools; import mara.mybox.db.table.TableMyBoxLog; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.NodeTools; @@ -107,14 +107,14 @@ public void clearAction(ActionEvent event) { public void addLog(MyBoxLog myboxLog) { body = (body != null ? body : "") - + "


\n" + BaseDataAdaptor.htmlData(logTable, myboxLog); + + "


\n" + BaseDataTools.htmlData(logTable, myboxLog); loadBody(body); } public void setLogs(List logs) { body = ""; for (MyBoxLog log : logs) { - body += "


\n" + BaseDataAdaptor.htmlData(logTable, log); + body += "


\n" + BaseDataTools.htmlData(logTable, log); } loadBody(body); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/DataMigration.java b/alpha/MyBox/src/main/java/mara/mybox/db/DataMigration.java index 2ed35b4c2..d03232e4e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/DataMigration.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/DataMigration.java @@ -34,9 +34,9 @@ import mara.mybox.db.data.ImageClipboard; import mara.mybox.db.data.ImageEditHistory; import mara.mybox.db.data.InfoNode; -import mara.mybox.db.data.TreeNode; -import mara.mybox.db.data.TreeNodeTag; -import mara.mybox.db.data.TreeTag; +import mara.mybox.db.data.DataNode; +import mara.mybox.db.data.DataNodeTag; +import mara.mybox.db.data.DataTag; import mara.mybox.db.data.WebHistory; import static mara.mybox.db.table.BaseTable.StringMaxLength; import mara.mybox.db.table.BaseTreeData; @@ -54,8 +54,8 @@ import mara.mybox.db.table.TableImageClipboard; import mara.mybox.db.table.TableImageEditHistory; import mara.mybox.db.table.TableInfoNode; -import mara.mybox.db.table.TableNode; -import mara.mybox.db.table.TableNodeTag; +import mara.mybox.db.table.TableDataNode; +import mara.mybox.db.table.TableDataNodeTag; import mara.mybox.db.table.TableNote; import mara.mybox.db.table.TableStringValues; import mara.mybox.db.table.TableWebHistory; @@ -276,10 +276,10 @@ private static void updateIn682_move(Connection conn, BaseTreeData dataTable, St + " WHERE A.old_parentid=B.old_nodeid"); conn.setAutoCommit(false); count = 0; - TableNode tableTree = new TableNode(dataTable); + TableDataNode tableTree = new TableDataNode(dataTable); while (query.next()) { try { - TreeNode treeNode = new TreeNode() + DataNode treeNode = new DataNode() .setNodeid(query.getLong("nodeid")) .setTitle(query.getString("title")) .setParentid(query.getLong("parentid")); @@ -302,7 +302,7 @@ private static void updateIn682_move(Connection conn, BaseTreeData dataTable, St TableDataTag tableTreeTag = new TableDataTag(dataTable); while (query.next()) { try { - TreeTag tag = new TreeTag() + DataTag tag = new DataTag() .setTag(query.getString("tag")) .setColorString(query.getString("color")); tag = tableTreeTag.insertData(conn, tag); @@ -323,10 +323,10 @@ private static void updateIn682_move(Connection conn, BaseTreeData dataTable, St + " WHERE A.tnodeid=C.old_nodeid AND A.tagid=B.old_tagid "); conn.setAutoCommit(false); count = 0; - TableNodeTag tableTreeNodeTag = new TableNodeTag(dataTable); + TableDataNodeTag tableTreeNodeTag = new TableDataNodeTag(dataTable); while (query.next()) { try { - TreeNodeTag nodeTag = new TreeNodeTag() + DataNodeTag nodeTag = new DataNodeTag() .setTnodeid(query.getLong("mnodeid")) .setTtagid(query.getLong("mtagid")); tableTreeNodeTag.insertData(conn, nodeTag); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/AlarmClock.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/AlarmClock.java index 17f0df6e1..335478c05 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/AlarmClock.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/AlarmClock.java @@ -7,9 +7,9 @@ import java.util.concurrent.TimeUnit; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.AlarmClockTask; -import static mara.mybox.value.Languages.message; import static mara.mybox.value.AppVariables.ExecutorService; import static mara.mybox.value.AppVariables.ScheduledTasks; +import static mara.mybox.value.Languages.message; /** * @Author Mara @@ -44,6 +44,21 @@ public AlarmClock() { init(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public void calculateNextTime() { if (!isActive || startTime == null) { nextTime = null; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseData.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseData.java index 59d43c48d..38b2efb85 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseData.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseData.java @@ -9,21 +9,22 @@ * @CreateDate 2020-7-19 * @License Apache License Version 2.0 */ -public class BaseData implements Cloneable { +public abstract class BaseData implements Cloneable { protected Map columnValues; protected int rowIndex; - public BaseData() { - initValues(); - } + public abstract boolean valid(); - private void initValues() { - columnValues = new HashMap<>(); - } + public abstract boolean setValue(String column, Object value); + + public abstract Object getValue(String column); public boolean setColumnValue(String column, Object value) { try { + if (columnValues == null) { + columnValues = new HashMap<>(); + } columnValues.put(column, value); return true; } catch (Exception e) { @@ -43,9 +44,9 @@ public Object getColumnValue(String column) { public boolean isNoColumn() { try { - return columnValues.keySet().isEmpty(); + return columnValues == null || columnValues.keySet().isEmpty(); } catch (Exception e) { - MyBoxLog.debug(e); +// MyBoxLog.debug(e); return true; } } @@ -54,7 +55,7 @@ public String values() { try { return columnValues.toString(); } catch (Exception e) { - MyBoxLog.debug(e); +// MyBoxLog.debug(e); return null; } } @@ -82,25 +83,17 @@ public String label(String columnName) { return columnName; } - public boolean valid() { - return true; - } - /* static methods */ - public static boolean valid(BaseData data) { - return data != null; - } - - public static boolean setValue(BaseData data, String column, Object value) { + public static boolean setColumnValue(BaseData data, String column, Object value) { if (data == null || column == null) { return false; } return data.setColumnValue(column, value); } - public static Object getValue(BaseData data, String column) { + public static Object getColumnValue(BaseData data, String column) { if (data == null || column == null) { return null; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseDataAdaptor.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseDataAdaptor.java deleted file mode 100644 index 528c8b944..000000000 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseDataAdaptor.java +++ /dev/null @@ -1,591 +0,0 @@ -package mara.mybox.db.data; - -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Date; -import java.util.List; -import mara.mybox.bufferedimage.ImageScope; -import mara.mybox.data.StringTable; -import static mara.mybox.db.data.ColumnDefinition.ColumnType.Enumeration; -import static mara.mybox.db.data.ColumnDefinition.ColumnType.Era; -import mara.mybox.db.table.BaseTable; -import mara.mybox.db.table.TableAlarmClock; -import mara.mybox.db.table.TableColor; -import mara.mybox.db.table.TableColorPalette; -import mara.mybox.db.table.TableColorPaletteName; -import mara.mybox.db.table.TableData2D; -import mara.mybox.db.table.TableData2DCell; -import mara.mybox.db.table.TableData2DColumn; -import mara.mybox.db.table.TableData2DDefinition; -import mara.mybox.db.table.TableData2DStyle; -import mara.mybox.db.table.TableFileBackup; -import mara.mybox.db.table.TableGeographyCode; -import mara.mybox.db.table.TableImageClipboard; -import mara.mybox.db.table.TableImageEditHistory; -import mara.mybox.db.table.TableMyBoxLog; -import mara.mybox.db.table.TableNamedValues; -import mara.mybox.db.table.TablePathConnection; -import mara.mybox.db.table.TableStringValues; -import mara.mybox.db.table.TableTag; -import mara.mybox.db.table.TableTextClipboard; -import mara.mybox.db.table.TableVisitHistory; -import mara.mybox.db.table.TableWebHistory; -import mara.mybox.dev.MyBoxLog; -import mara.mybox.tools.DateTools; -import mara.mybox.tools.DoubleTools; -import mara.mybox.tools.StringTools; -import mara.mybox.value.AppValues; -import mara.mybox.value.Languages; - -/** - * @Author Mara - * @CreateDate 2020-12-11 - * @License Apache License Version 2.0 - */ -public class BaseDataAdaptor { - - public static BaseTable dataTable(BaseData data) { - if (data == null) { - return null; - } - if (data instanceof StringValues) { - return new TableStringValues(); - - } else if (data instanceof MyBoxLog) { - return new TableMyBoxLog(); - - } else if (data instanceof VisitHistory) { - return new TableVisitHistory(); - - } else if (data instanceof GeographyCode) { - return new TableGeographyCode(); - - } else if (data instanceof ImageEditHistory) { - return new TableImageEditHistory(); - - } else if (data instanceof FileBackup) { - return new TableFileBackup(); - - } else if (data instanceof Tag) { - return new TableTag(); - - } else if (data instanceof ColorPaletteName) { - return new TableColorPaletteName(); - - } else if (data instanceof ColorData) { - return new TableColor(); - - } else if (data instanceof ColorPalette) { - return new TableColorPalette(); - - } else if (data instanceof WebHistory) { - return new TableWebHistory(); - - } else if (data instanceof ImageClipboard) { - return new TableImageClipboard(); - - } else if (data instanceof TextClipboard) { - return new TableTextClipboard(); - - } else if (data instanceof Data2DDefinition) { - return new TableData2DDefinition(); - - } else if (data instanceof Data2DColumn) { - return new TableData2DColumn(); - - } else if (data instanceof Data2DCell) { - return new TableData2DCell(); - - } else if (data instanceof Data2DRow) { - return new TableData2D(); - - } else if (data instanceof NamedValues) { - return new TableNamedValues(); - - } else if (data instanceof Data2DStyle) { - return new TableData2DStyle(); - - } else if (data instanceof AlarmClock) { - return new TableAlarmClock(); - - } else if (data instanceof PathConnection) { - return new TablePathConnection(); - - } - return null; - } - - public static boolean valid(BaseData data) { - if (data == null) { - return false; - } - if (data instanceof MyBoxLog) { - return MyBoxLog.valid((MyBoxLog) data); - - } else if (data instanceof StringValues) { - return StringValues.valid((StringValues) data); - - } else if (data instanceof VisitHistory) { - return VisitHistory.valid((VisitHistory) data); - - } else if (data instanceof GeographyCode) { - return GeographyCode.valid((GeographyCode) data); - - } else if (data instanceof ColumnDefinition) { - return ColumnDefinition.valid((ColumnDefinition) data); - - } else if (data instanceof ImageEditHistory) { - return ImageEditHistory.valid((ImageEditHistory) data); - - } else if (data instanceof FileBackup) { - return FileBackup.valid((FileBackup) data); - - } else if (data instanceof Tag) { - return Tag.valid((Tag) data); - - } else if (data instanceof ColorPaletteName) { - return ColorPaletteName.valid((ColorPaletteName) data); - - } else if (data instanceof ColorData) { - return ColorData.valid((ColorData) data); - - } else if (data instanceof ColorPalette) { - return ColorPalette.valid((ColorPalette) data); - - } else if (data instanceof InfoNode) { - return InfoNode.valid((InfoNode) data); - - } else if (data instanceof InfoNodeTag) { - return InfoNodeTag.valid((InfoNodeTag) data); - - } else if (data instanceof WebHistory) { - return WebHistory.valid((WebHistory) data); - - } else if (data instanceof ImageClipboard) { - return ImageClipboard.valid((ImageClipboard) data); - - } else if (data instanceof TextClipboard) { - return TextClipboard.valid((TextClipboard) data); - - } else if (data instanceof ImageScope) { - return ImageScope.valid((ImageScope) data); - - } else if (data instanceof Data2DDefinition) { - return Data2DDefinition.valid((Data2DDefinition) data); - - } else if (data instanceof Data2DColumn) { - return Data2DColumn.valid((Data2DColumn) data); - - } else if (data instanceof Data2DCell) { - return Data2DCell.valid((Data2DCell) data); - - } else if (data instanceof Data2DRow) { - return Data2DRow.valid((Data2DRow) data); - - } else if (data instanceof NamedValues) { - return NamedValues.valid((NamedValues) data); - - } else if (data instanceof Data2DStyle) { - return Data2DStyle.valid((Data2DStyle) data); - - } else if (data instanceof AlarmClock) { - return AlarmClock.valid((AlarmClock) data); - - } else if (data instanceof PathConnection) { - return PathConnection.valid((PathConnection) data); - - } else if (data instanceof Note) { - return Note.valid((Note) data); - - } else { - return true; - } - - } - - public static Object getColumnValue(BaseData data, String name) { - if (data == null || name == null) { - return null; - } - if (data instanceof MyBoxLog) { - return MyBoxLog.getValue((MyBoxLog) data, name); - - } else if (data instanceof StringValues) { - return StringValues.getValue((StringValues) data, name); - - } else if (data instanceof VisitHistory) { - return VisitHistory.getValue((VisitHistory) data, name); - - } else if (data instanceof GeographyCode) { - return GeographyCode.getValue((GeographyCode) data, name); - - } else if (data instanceof ImageEditHistory) { - return ImageEditHistory.getValue((ImageEditHistory) data, name); - - } else if (data instanceof FileBackup) { - return FileBackup.getValue((FileBackup) data, name); - - } else if (data instanceof Tag) { - return Tag.getValue((Tag) data, name); - - } else if (data instanceof ColorPaletteName) { - return ColorPaletteName.getValue((ColorPaletteName) data, name); - - } else if (data instanceof ColorData) { - return ColorData.getValue((ColorData) data, name); - - } else if (data instanceof ColorPalette) { - return ColorPalette.getValue((ColorPalette) data, name); - - } else if (data instanceof InfoNode) { - return InfoNode.getValue((InfoNode) data, name); - - } else if (data instanceof InfoNodeTag) { - return InfoNodeTag.getValue((InfoNodeTag) data, name); - - } else if (data instanceof WebHistory) { - return WebHistory.getValue((WebHistory) data, name); - - } else if (data instanceof ImageClipboard) { - return ImageClipboard.getValue((ImageClipboard) data, name); - - } else if (data instanceof TextClipboard) { - return TextClipboard.getValue((TextClipboard) data, name); - - } else if (data instanceof ImageScope) { - return ImageScope.getValue((ImageScope) data, name); - - } else if (data instanceof Data2DDefinition) { - return Data2DDefinition.getValue((Data2DDefinition) data, name); - - } else if (data instanceof Data2DColumn) { - return Data2DColumn.getValue((Data2DColumn) data, name); - - } else if (data instanceof Data2DCell) { - return Data2DCell.getValue((Data2DCell) data, name); - - } else if (data instanceof Data2DRow) { - return Data2DRow.getValue((Data2DRow) data, name); - - } else if (data instanceof NamedValues) { - return NamedValues.getValue((NamedValues) data, name); - - } else if (data instanceof Data2DStyle) { - return Data2DStyle.getValue((Data2DStyle) data, name); - - } else if (data instanceof AlarmClock) { - return AlarmClock.getValue((AlarmClock) data, name); - - } else if (data instanceof PathConnection) { - return PathConnection.getValue((PathConnection) data, name); - - } else { - return data.getColumnValue(name); - } - - } - - public static boolean setColumnValue(BaseData data, String name, Object value) { - if (data == null || name == null) { - return false; - } - if (data instanceof GeographyCode) { - return GeographyCode.setValue((GeographyCode) data, name, value); - - } else if (data instanceof MyBoxLog) { - return MyBoxLog.setValue((MyBoxLog) data, name, value); - - } else if (data instanceof VisitHistory) { - return VisitHistory.setValue((VisitHistory) data, name, value); - - } else if (data instanceof ImageEditHistory) { - return ImageEditHistory.setValue((ImageEditHistory) data, name, value); - - } else if (data instanceof FileBackup) { - return FileBackup.setValue((FileBackup) data, name, value); - - } else if (data instanceof Tag) { - return Tag.setValue((Tag) data, name, value); - - } else if (data instanceof ColorPaletteName) { - return ColorPaletteName.setValue((ColorPaletteName) data, name, value); - - } else if (data instanceof ColorData) { - return ColorData.setValue((ColorData) data, name, value); - - } else if (data instanceof ColorPalette) { - return ColorPalette.setValue((ColorPalette) data, name, value); - - } else if (data instanceof InfoNode) { - return InfoNode.setValue((InfoNode) data, name, value); - - } else if (data instanceof InfoNodeTag) { - return InfoNodeTag.setValue((InfoNodeTag) data, name, value); - - } else if (data instanceof WebHistory) { - return WebHistory.setValue((WebHistory) data, name, value); - - } else if (data instanceof ImageClipboard) { - return ImageClipboard.setValue((ImageClipboard) data, name, value); - - } else if (data instanceof TextClipboard) { - return TextClipboard.setValue((TextClipboard) data, name, value); - - } else if (data instanceof ImageScope) { - return ImageScope.setValue((ImageScope) data, name, value); - - } else if (data instanceof Data2DDefinition) { - return Data2DDefinition.setValue((Data2DDefinition) data, name, value); - - } else if (data instanceof Data2DColumn) { - return Data2DColumn.setValue((Data2DColumn) data, name, value); - - } else if (data instanceof Data2DCell) { - return Data2DCell.setValue((Data2DCell) data, name, value); - - } else if (data instanceof Data2DRow) { - return Data2DRow.setValue((Data2DRow) data, name, value); - - } else if (data instanceof NamedValues) { - return NamedValues.setValue((NamedValues) data, name, value); - - } else if (data instanceof Data2DStyle) { - return Data2DStyle.setValue((Data2DStyle) data, name, value); - - } else if (data instanceof AlarmClock) { - return AlarmClock.setValue((AlarmClock) data, name, value); - - } else if (data instanceof PathConnection) { - return PathConnection.setValue((PathConnection) data, name, value); - - } else { - return data.setColumnValue(name, value); - } - - } - - public static String displayData(BaseTable table, BaseData data, List columns, boolean isHtml) { - if (data == null) { - return null; - } - try { - if (table == null) { - table = dataTable(data); - } - if (table == null) { - return null; - } - String lineBreak = isHtml ? "
" : "\n"; - String info = null; - for (Object o : table.getColumns()) { - ColumnDefinition column = (ColumnDefinition) o; - if (columns != null && !columns.contains(column.getColumnName())) { - continue; - } - Object value = getColumnValue(data, column.getColumnName()); - String display = displayColumn(data, column, value); - if (display == null || display.isBlank()) { - continue; - } - if (column.getType() == ColumnDefinition.ColumnType.Image - && (lineBreak.toLowerCase().equals("
") || lineBreak.toLowerCase().equals("
"))) { - display = ""; - } - if (info != null) { - info += lineBreak; - } else { - info = ""; - } - info += data.label(column.getColumnName()) + ": " + display; - } - return info + displayDataMore(data, lineBreak); - } catch (Exception e) { - MyBoxLog.error(e); - return null; - } - } - - public static String displayColumn(BaseData data, ColumnDefinition column, Object value) { - if (data == null || column == null) { - return null; - } - if (data instanceof GeographyCode) { - return GeographyCode.displayColumn((GeographyCode) data, column, value); - - } else if (data instanceof MyBoxLog) { - return MyBoxLog.displayColumn((MyBoxLog) data, column, value); - - } - return displayColumnBase(data, column, value); - } - - public static String displayColumnBase(BaseData data, ColumnDefinition column, Object value) { - if (data == null || column == null || value == null) { - return null; - } - try { - switch (column.getType()) { - case String: - case Enumeration: - case EnumerationEditable: - case Color: - case File: - case Image: - case Era: - case Clob: - String rvalue = (String) value; - return rvalue; - case Double: - case Longitude: - case Latitude: - double dvalue = (double) value; - if (column.getMaxValue() != null && dvalue > (double) column.getMaxValue()) { - return null; - } - if (column.getMinValue() != null && dvalue < (double) column.getMinValue()) { - return null; - } - return DoubleTools.invalidDouble(dvalue) ? null : (dvalue + ""); - case Float: - float fvalue = (float) value; - if (column.getMaxValue() != null && fvalue > (float) column.getMaxValue()) { - return null; - } - if (column.getMinValue() != null && fvalue < (float) column.getMinValue()) { - return null; - } - return DoubleTools.invalidDouble(fvalue) ? null : (fvalue + ""); - case Long: - long lvalue = (long) value; - if (column.getMaxValue() != null && lvalue > (long) column.getMaxValue()) { - return null; - } - if (column.getMinValue() != null && lvalue < (long) column.getMinValue()) { - return null; - } - return lvalue != AppValues.InvalidLong ? lvalue + "" : null; - case Integer: - int ivalue = (int) value; - if (column.getMaxValue() != null && ivalue > (int) column.getMaxValue()) { - return null; - } - if (column.getMinValue() != null && ivalue < (int) column.getMinValue()) { - return null; - } - return ivalue != AppValues.InvalidInteger ? ivalue + "" : null; - case Boolean: - boolean bvalue = (boolean) value; - return bvalue + ""; - case Short: - short svalue = (short) value; - if (column.getMaxValue() != null && svalue > (short) column.getMaxValue()) { - return null; - } - if (column.getMinValue() != null && svalue < (short) column.getMinValue()) { - return null; - } - return svalue != AppValues.InvalidShort ? svalue + "" : null; - case Datetime: - return DateTools.datetimeToString((Date) value); - case Date: - return DateTools.dateToString((Date) value); - case Blob: - return null; - } - } catch (Exception e) { - MyBoxLog.error(e, column.getColumnName()); - } - return null; - } - - public static String displayDataMore(BaseData data, String lineBreak) { - if (data == null || lineBreak == null) { - return ""; - } - if (data instanceof GeographyCode) { - return GeographyCode.displayDataMore((GeographyCode) data, lineBreak); - - } - return ""; - } - - public static String htmlData(BaseTable table, BaseData data) { - try { - if (table == null) { - table = dataTable(data); - } - if (table == null) { - return null; - } - List names = new ArrayList<>(); - StringTable htmlTable = new StringTable(names); - names.addAll(Arrays.asList(Languages.message("Name"), Languages.message("Value"))); - for (Object o : table.getColumns()) { - ColumnDefinition column = (ColumnDefinition) o; - Object value = getColumnValue(data, column.getColumnName()); - String html = htmlColumn(data, column, value); - if (html != null) { - List row = new ArrayList<>(); - row.addAll(Arrays.asList(column.getColumnName(), html)); - htmlTable.add(row); - } - } - return StringTable.tableDiv(htmlTable); - } catch (Exception e) { - MyBoxLog.error(e); - return null; - } - } - - public static String htmlColumn(BaseData data, ColumnDefinition column, Object value) { - String display = displayColumn(data, column, value); - if (display == null) { - return null; - } - return StringTools.replaceLineBreak(display, "
"); - } - - public static String htmlDataList(BaseTable table, List dataList, List columns) { - try { - if (dataList == null || dataList.isEmpty()) { - return null; - } - if (table == null) { - table = dataTable(dataList.get(0)); - } - if (table == null) { - return null; - } - List names = new ArrayList<>(); - for (Object o : table.getColumns()) { - ColumnDefinition column = (ColumnDefinition) o; - if (columns != null && !columns.contains(column.getColumnName())) { - continue; - } - names.add(column.getColumnName()); - } - StringTable stringTable = new StringTable(names); - for (BaseData data : dataList) { - List row = new ArrayList<>(); - for (Object o : table.getColumns()) { - ColumnDefinition column = (ColumnDefinition) o; - if (columns != null && !columns.contains(column.getColumnName())) { - continue; - } - Object value = getColumnValue(data, column.getColumnName()); - String display = displayColumn(data, column, value); - if (display == null || display.isBlank()) { - display = ""; - } - row.add(display); - } - stringTable.add(row); - } - return StringTable.tableDiv(stringTable); - } catch (Exception e) { - MyBoxLog.error(e); - return null; - } - } - -} diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseDataTools.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseDataTools.java new file mode 100644 index 000000000..1c7fb8406 --- /dev/null +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/BaseDataTools.java @@ -0,0 +1,238 @@ +package mara.mybox.db.data; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Date; +import java.util.List; +import mara.mybox.data.StringTable; +import static mara.mybox.db.data.ColumnDefinition.ColumnType.Enumeration; +import static mara.mybox.db.data.ColumnDefinition.ColumnType.Era; +import mara.mybox.db.table.BaseTable; +import mara.mybox.dev.MyBoxLog; +import mara.mybox.tools.DateTools; +import mara.mybox.tools.DoubleTools; +import mara.mybox.tools.StringTools; +import mara.mybox.value.AppValues; +import mara.mybox.value.Languages; + +/** + * @Author Mara + * @CreateDate 2020-12-11 + * @License Apache License Version 2.0 + */ +public class BaseDataTools { + + public static String displayData(BaseTable table, BaseData data, List columns, boolean isHtml) { + if (data == null) { + return null; + } + try { + if (table == null) { + return null; + } + String lineBreak = isHtml ? "
" : "\n"; + String info = null; + for (Object o : table.getColumns()) { + ColumnDefinition column = (ColumnDefinition) o; + if (columns != null && !columns.contains(column.getColumnName())) { + continue; + } + Object value = data.getValue(column.getColumnName()); + String display = displayColumn(data, column, value); + if (display == null || display.isBlank()) { + continue; + } + if (column.getType() == ColumnDefinition.ColumnType.Image + && (lineBreak.toLowerCase().equals("
") || lineBreak.toLowerCase().equals("
"))) { + display = ""; + } + if (info != null) { + info += lineBreak; + } else { + info = ""; + } + info += data.label(column.getColumnName()) + ": " + display; + } + return info + displayDataMore(data, lineBreak); + } catch (Exception e) { + MyBoxLog.error(e); + return null; + } + } + + public static String displayColumn(BaseData data, ColumnDefinition column, Object value) { + if (data == null || column == null) { + return null; + } + if (data instanceof GeographyCode) { + return GeographyCode.displayColumn((GeographyCode) data, column, value); + + } else if (data instanceof MyBoxLog) { + return MyBoxLog.displayColumn((MyBoxLog) data, column, value); + + } + return displayColumnBase(data, column, value); + } + + public static String displayColumnBase(BaseData data, ColumnDefinition column, Object value) { + if (data == null || column == null || value == null) { + return null; + } + try { + switch (column.getType()) { + case String: + case Enumeration: + case EnumerationEditable: + case Color: + case File: + case Image: + case Era: + case Clob: + String rvalue = (String) value; + return rvalue; + case Double: + case Longitude: + case Latitude: + double dvalue = (double) value; + if (column.getMaxValue() != null && dvalue > (double) column.getMaxValue()) { + return null; + } + if (column.getMinValue() != null && dvalue < (double) column.getMinValue()) { + return null; + } + return DoubleTools.invalidDouble(dvalue) ? null : (dvalue + ""); + case Float: + float fvalue = (float) value; + if (column.getMaxValue() != null && fvalue > (float) column.getMaxValue()) { + return null; + } + if (column.getMinValue() != null && fvalue < (float) column.getMinValue()) { + return null; + } + return DoubleTools.invalidDouble(fvalue) ? null : (fvalue + ""); + case Long: + long lvalue = (long) value; + if (column.getMaxValue() != null && lvalue > (long) column.getMaxValue()) { + return null; + } + if (column.getMinValue() != null && lvalue < (long) column.getMinValue()) { + return null; + } + return lvalue != AppValues.InvalidLong ? lvalue + "" : null; + case Integer: + int ivalue = (int) value; + if (column.getMaxValue() != null && ivalue > (int) column.getMaxValue()) { + return null; + } + if (column.getMinValue() != null && ivalue < (int) column.getMinValue()) { + return null; + } + return ivalue != AppValues.InvalidInteger ? ivalue + "" : null; + case Boolean: + boolean bvalue = (boolean) value; + return bvalue + ""; + case Short: + short svalue = (short) value; + if (column.getMaxValue() != null && svalue > (short) column.getMaxValue()) { + return null; + } + if (column.getMinValue() != null && svalue < (short) column.getMinValue()) { + return null; + } + return svalue != AppValues.InvalidShort ? svalue + "" : null; + case Datetime: + return DateTools.datetimeToString((Date) value); + case Date: + return DateTools.dateToString((Date) value); + case Blob: + return null; + } + } catch (Exception e) { + MyBoxLog.error(e, column.getColumnName()); + } + return null; + } + + public static String displayDataMore(BaseData data, String lineBreak) { + if (data == null || lineBreak == null) { + return ""; + } + if (data instanceof GeographyCode) { + return GeographyCode.displayDataMore((GeographyCode) data, lineBreak); + + } + return ""; + } + + public static String htmlData(BaseTable table, BaseData data) { + try { + + if (table == null) { + return null; + } + List names = new ArrayList<>(); + StringTable htmlTable = new StringTable(names); + names.addAll(Arrays.asList(Languages.message("Name"), Languages.message("Value"))); + for (Object o : table.getColumns()) { + ColumnDefinition column = (ColumnDefinition) o; + Object value = data.getValue(column.getColumnName()); + String html = htmlColumn(data, column, value); + if (html != null) { + List row = new ArrayList<>(); + row.addAll(Arrays.asList(column.getColumnName(), html)); + htmlTable.add(row); + } + } + return StringTable.tableDiv(htmlTable); + } catch (Exception e) { + MyBoxLog.error(e); + return null; + } + } + + public static String htmlColumn(BaseData data, ColumnDefinition column, Object value) { + String display = displayColumn(data, column, value); + if (display == null) { + return null; + } + return StringTools.replaceLineBreak(display, "
"); + } + + public static String htmlDataList(BaseTable table, List dataList, List columns) { + try { + if (table == null || dataList == null || dataList.isEmpty()) { + return null; + } + List names = new ArrayList<>(); + for (Object o : table.getColumns()) { + ColumnDefinition column = (ColumnDefinition) o; + if (columns != null && !columns.contains(column.getColumnName())) { + continue; + } + names.add(column.getColumnName()); + } + StringTable stringTable = new StringTable(names); + for (BaseData data : dataList) { + List row = new ArrayList<>(); + for (Object o : table.getColumns()) { + ColumnDefinition column = (ColumnDefinition) o; + if (columns != null && !columns.contains(column.getColumnName())) { + continue; + } + Object value = data.getValue(column.getColumnName()); + String display = displayColumn(data, column, value); + if (display == null || display.isBlank()) { + display = ""; + } + row.add(display); + } + stringTable.add(row); + } + return StringTable.tableDiv(stringTable); + } catch (Exception e) { + MyBoxLog.error(e); + return null; + } + } + +} diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorData.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorData.java index 3684de73a..0e83e5935 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorData.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorData.java @@ -53,6 +53,21 @@ private void init() { vSeparator = " "; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public ColorData() { init(); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPalette.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPalette.java index a70689a48..61f41bc00 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPalette.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPalette.java @@ -34,6 +34,21 @@ public ColorPalette(long paletteid, String name) { this.name = name; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPaletteName.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPaletteName.java index 97cd499ef..0f22bef7a 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPaletteName.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColorPaletteName.java @@ -29,6 +29,21 @@ public ColorPaletteName(String name) { this.name = name; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColumnDefinition.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColumnDefinition.java index 3382f57b7..a8034312d 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/ColumnDefinition.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/ColumnDefinition.java @@ -13,6 +13,8 @@ import javafx.scene.paint.Color; import mara.mybox.calculation.DoubleStatistic; import mara.mybox.db.DerbyBase; +import static mara.mybox.db.data.ColumnDefinition.getValue; +import static mara.mybox.db.data.ColumnDefinition.setValue; import static mara.mybox.db.table.BaseTable.StringMaxLength; import mara.mybox.dev.MyBoxLog; import mara.mybox.fximage.FxColorTools; @@ -214,10 +216,21 @@ public String foreignText() { return sql; } + @Override public boolean valid() { return valid(this); } + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public boolean validValue(String value) { try { if (value == null || value.isBlank()) { @@ -754,6 +767,148 @@ public static boolean valid(ColumnDefinition data) { && data.getColumnName() != null && !data.getColumnName().isBlank(); } + public static Object getValue(ColumnDefinition data, String column) { + if (data == null || column == null) { + return null; + } + switch (column) { + case "column_type": + return columnType(data.getType()); + case "column_name": + return data.getColumnName(); + case "index": + return data.getIndex(); + case "length": + return data.getLength(); + case "width": + return data.getWidth(); + case "scale": + return data.getScale(); + case "color": + return data.getColor() == null ? null : data.getColor().toString(); + case "is_primary": + return data.isIsPrimaryKey(); + case "not_null": + return data.isNotNull(); + case "is_auto": + return data.isAuto(); + case "invalid_as": + return data.getInvalidAs().ordinal(); + case "editable": + return data.isEditable(); + case "fix_year": + return data.isFixTwoDigitYear(); + case "format": + return data.getFormat(); + case "century": + return data.getCentury(); + case "on_delete": + return onDelete(data.getOnDelete()); + case "on_update": + return onUpdate(data.getOnUpdate()); + case "default_value": + return data.getDefaultValue(); + case "max_value": + return number2String(data.getMaxValue()); + case "min_value": + return number2String(data.getMinValue()); + case "foreign_name": + return data.getReferName(); + case "foreign_table": + return data.getReferTable(); + case "foreign_column": + return data.getReferColumn(); + case "description": + return data.getDescription(); + } + return null; + } + + public static boolean setValue(ColumnDefinition data, String column, Object value) { + if (data == null || column == null) { + return false; + } + try { + switch (column) { + case "column_type": + data.setType(columnType((short) value)); + return true; + case "column_name": + data.setColumnName(value == null ? null : (String) value); + return true; + case "index": + data.setIndex(value == null ? null : (int) value); + return true; + case "length": + data.setLength(value == null ? null : (int) value); + return true; + case "width": + data.setWidth(value == null ? null : (int) value); + return true; + case "scale": + data.setScale(value == null ? null : (int) value); + return true; + case "color": + data.setColor(value == null ? null : Color.web((String) value)); + return true; + case "is_primary": + data.setIsPrimaryKey(value == null ? false : (boolean) value); + return true; + case "is_auto": + data.setAuto(value == null ? false : (boolean) value); + return true; + case "invalid_as": + data.setInvalidAs(value == null ? InvalidAs.Skip : InvalidAs.values()[(short) value]); + return true; + case "not_null": + data.setNotNull(value == null ? false : (boolean) value); + return true; + case "editable": + data.setEditable(value == null ? false : (boolean) value); + return true; + case "format": + data.setFormat(value == null ? null : (String) value); + return true; + case "fix_year": + data.setFixTwoDigitYear(value == null ? false : (boolean) value); + return true; + case "century": + data.setCentury(value == null ? null : (int) value); + return true; + case "on_delete": + data.setOnDelete(onDelete((short) value)); + return true; + case "on_update": + data.setOnUpdate(onUpdate((short) value)); + return true; + case "default_value": + data.setDefaultValue(value == null ? null : (String) value); + return true; + case "max_value": + data.setMaxValue(string2Number(data.getType(), (String) value)); + return true; + case "min_value": + data.setMinValue(string2Number(data.getType(), (String) value)); + return true; + case "foreign_name": + data.setReferName(value == null ? null : (String) value); + return true; + case "foreign_table": + data.setReferTable(value == null ? null : (String) value); + return true; + case "foreign_column": + data.setReferColumn(value == null ? null : (String) value); + return true; + case "description": + data.setDescription(value == null ? null : (String) value); + return true; + } + } catch (Exception e) { + MyBoxLog.debug(e); + } + return false; + } + public static short columnType(ColumnType type) { if (type == null) { return 0; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/ConvolutionKernel.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/ConvolutionKernel.java index 04a9dfc0b..08cb32d3d 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/ConvolutionKernel.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/ConvolutionKernel.java @@ -17,7 +17,7 @@ * @Description * @License Apache License Version 2.0 */ -public class ConvolutionKernel { +public class ConvolutionKernel extends BaseData { private String name, description, modifyTime, createTime; private int width, height, type, edge; @@ -54,6 +54,24 @@ public ConvolutionKernel() { invert = gray = false; } + @Override + public boolean valid() { + return true; + } + + @Override + public boolean setValue(String column, Object value) { + return true; + } + + @Override + public Object getValue(String column) { + return null; + } + + /* + Static methods + */ public static List makeExample() { List ExampleKernels = new ArrayList<>(); ExampleKernels.add(makeAverageBlur(3)); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DCell.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DCell.java index de8f046ff..5ed6c14a0 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DCell.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DCell.java @@ -25,6 +25,20 @@ public Data2DCell() { init(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } /* static methods diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DColumn.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DColumn.java index f689208ed..da5822f49 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DColumn.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DColumn.java @@ -1,10 +1,7 @@ package mara.mybox.db.data; -import javafx.scene.paint.Color; import mara.mybox.data2d.tools.Data2DColumnTools; import mara.mybox.db.data.ColumnDefinition.InvalidAs; -import static mara.mybox.db.data.ColumnDefinition.columnType; -import static mara.mybox.db.data.ColumnDefinition.number2String; import mara.mybox.dev.MyBoxLog; /** @@ -56,6 +53,21 @@ public Data2DColumn(String name, ColumnType type, boolean notNull, boolean isPri this.isPrimaryKey = isPrimaryKey; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + @Override public Data2DColumn cloneBase() { try { @@ -122,56 +134,9 @@ public static Object getValue(Data2DColumn data, String column) { return data.getD2cid(); case "d2id": return data.getD2id(); - case "column_type": - return columnType(data.getType()); - case "column_name": - return data.getColumnName(); - case "index": - return data.getIndex(); - case "length": - return data.getLength(); - case "width": - return data.getWidth(); - case "scale": - return data.getScale(); - case "color": - return data.getColor() == null ? null : data.getColor().toString(); - case "is_primary": - return data.isIsPrimaryKey(); - case "not_null": - return data.isNotNull(); - case "is_auto": - return data.isAuto(); - case "invalid_as": - return data.getInvalidAs().ordinal(); - case "editable": - return data.isEditable(); - case "fix_year": - return data.isFixTwoDigitYear(); - case "format": - return data.getFormat(); - case "century": - return data.getCentury(); - case "on_delete": - return onDelete(data.getOnDelete()); - case "on_update": - return onUpdate(data.getOnUpdate()); - case "default_value": - return data.getDefaultValue(); - case "max_value": - return number2String(data.getMaxValue()); - case "min_value": - return number2String(data.getMinValue()); - case "foreign_name": - return data.getReferName(); - case "foreign_table": - return data.getReferTable(); - case "foreign_column": - return data.getReferColumn(); - case "description": - return data.getDescription(); + default: + return ColumnDefinition.getValue(data, column); } - return null; } public static boolean setValue(Data2DColumn data, String column, Object value) { @@ -186,78 +151,8 @@ public static boolean setValue(Data2DColumn data, String column, Object value) { case "d2id": data.setD2id(value == null ? -1 : (long) value); return true; - case "column_type": - data.setType(columnType((short) value)); - return true; - case "column_name": - data.setColumnName(value == null ? null : (String) value); - return true; - case "index": - data.setIndex(value == null ? null : (int) value); - return true; - case "length": - data.setLength(value == null ? null : (int) value); - return true; - case "width": - data.setWidth(value == null ? null : (int) value); - return true; - case "scale": - data.setScale(value == null ? null : (int) value); - return true; - case "color": - data.setColor(value == null ? null : Color.web((String) value)); - return true; - case "is_primary": - data.setIsPrimaryKey(value == null ? false : (boolean) value); - return true; - case "is_auto": - data.setAuto(value == null ? false : (boolean) value); - return true; - case "invalid_as": - data.setInvalidAs(value == null ? InvalidAs.Skip : InvalidAs.values()[(short) value]); - return true; - case "not_null": - data.setNotNull(value == null ? false : (boolean) value); - return true; - case "editable": - data.setEditable(value == null ? false : (boolean) value); - return true; - case "format": - data.setFormat(value == null ? null : (String) value); - return true; - case "fix_year": - data.setFixTwoDigitYear(value == null ? false : (boolean) value); - return true; - case "century": - data.setCentury(value == null ? null : (int) value); - return true; - case "on_delete": - data.setOnDelete(onDelete((short) value)); - return true; - case "on_update": - data.setOnUpdate(onUpdate((short) value)); - return true; - case "default_value": - data.setDefaultValue(value == null ? null : (String) value); - return true; - case "max_value": - data.setMaxValue(string2Number(data.getType(), (String) value)); - return true; - case "min_value": - data.setMinValue(string2Number(data.getType(), (String) value)); - return true; - case "foreign_name": - data.setReferName(value == null ? null : (String) value); - return true; - case "foreign_table": - data.setReferTable(value == null ? null : (String) value); - return true; - case "foreign_column": - data.setReferColumn(value == null ? null : (String) value); - return true; - case "description": - data.setDescription(value == null ? null : (String) value); - return true; + default: + return ColumnDefinition.setValue(data, column, value); } } catch (Exception e) { MyBoxLog.debug(e); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DDefinition.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DDefinition.java index 00c3f47c1..1be5f316c 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DDefinition.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DDefinition.java @@ -41,6 +41,21 @@ public Data2DDefinition() { resetDefinition(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public Data2DDefinition cloneAll() { try { Data2DDefinition newData = new Data2DDefinition(); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DRow.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DRow.java index 9e93c818d..412d3a1bb 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DRow.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DRow.java @@ -12,6 +12,21 @@ */ public class Data2DRow extends BaseData { + @Override + public boolean valid() { + return true; + } + + @Override + public boolean setValue(String column, Object value) { + return setColumnValue(column, value); + } + + @Override + public Object getValue(String column) { + return getColumnValue(column); + } + public List toStrings(List columns) { List row = new ArrayList<>(); for (Data2DColumn column : columns) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DStyle.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DStyle.java index 3c790c679..c90b4ea1f 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DStyle.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/Data2DStyle.java @@ -42,6 +42,21 @@ public Data2DStyle() { init(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public Data2DStyle cloneAll() { try { Data2DStyle newData = (Data2DStyle) super.clone(); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/TreeNode.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/DataNode.java similarity index 83% rename from alpha/MyBox/src/main/java/mara/mybox/db/data/TreeNode.java rename to alpha/MyBox/src/main/java/mara/mybox/db/data/DataNode.java index 91eaf702d..6b2db556b 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/TreeNode.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/DataNode.java @@ -9,7 +9,7 @@ * @CreateDate 2021-4-23 * @License Apache License Version 2.0 */ -public class TreeNode extends BaseData { +public class DataNode extends BaseData { public static final String RootIdentify = "MyBoxTreeRoot;;;"; public static final String TitleSeparater = " > "; @@ -35,32 +35,34 @@ private void init() { updateTime = new Date(); } - public TreeNode() { + public DataNode() { init(); } - public TreeNode(TreeNode parent, String title) { + public DataNode(DataNode parent, String title) { init(); this.parentid = parent.getNodeid(); this.dataTable = parent.getDataTable(); this.title = title; } + @Override public boolean setValue(String column, Object value) { return setValue(this, column, value); } + @Override public Object getValue(String column) { return getValue(this, column); } @Override public boolean valid() { - return valid(this); + return true; } - public TreeNode copyIn(TreeNode parent) { - TreeNode node = new TreeNode(); + public DataNode copyIn(DataNode parent) { + DataNode node = new DataNode(); node.setParentid(parent.getNodeid()); node.setDataTable(parent.getDataTable()); node.setTitle(title); @@ -86,15 +88,15 @@ public String getValue() { /* Static methods */ - public static TreeNode create() { - return new TreeNode(); + public static DataNode create() { + return new DataNode(); } - public static TreeNode createRoot(BaseTable dataTable) { + public static DataNode createRoot(BaseTable dataTable) { if (dataTable == null) { return null; } - TreeNode root = new TreeNode() + DataNode root = new DataNode() .setDataTable(dataTable) .setParentid(RootID) .setNodeid(RootID) @@ -102,7 +104,7 @@ public static TreeNode createRoot(BaseTable dataTable) { return root; } - public static boolean setValue(TreeNode data, String column, Object value) { + public static boolean setValue(DataNode data, String column, Object value) { if (data == null || column == null) { return false; } @@ -127,7 +129,7 @@ public static boolean setValue(TreeNode data, String column, Object value) { return false; } - public static Object getValue(TreeNode data, String column) { + public static Object getValue(DataNode data, String column) { if (data == null || column == null) { return null; } @@ -155,7 +157,7 @@ public BaseTable getDataTable() { return dataTable; } - public TreeNode setDataTable(BaseTable dataTable) { + public DataNode setDataTable(BaseTable dataTable) { this.dataTable = dataTable; return this; } @@ -164,7 +166,7 @@ public long getNodeid() { return nodeid; } - public TreeNode setNodeid(long nodeid) { + public DataNode setNodeid(long nodeid) { this.nodeid = nodeid; return this; } @@ -173,7 +175,7 @@ public long getParentid() { return parentid; } - public TreeNode setParentid(long parentid) { + public DataNode setParentid(long parentid) { this.parentid = parentid; return this; } @@ -182,7 +184,7 @@ public String getTitle() { return title; } - public TreeNode setTitle(String title) { + public DataNode setTitle(String title) { this.title = title; return this; } @@ -191,7 +193,7 @@ public Date getUpdateTime() { return updateTime; } - public TreeNode setUpdateTime(Date updateTime) { + public DataNode setUpdateTime(Date updateTime) { this.updateTime = updateTime; return this; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/TreeNodeTag.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/DataNodeTag.java similarity index 77% rename from alpha/MyBox/src/main/java/mara/mybox/db/data/TreeNodeTag.java rename to alpha/MyBox/src/main/java/mara/mybox/db/data/DataNodeTag.java index 4a5578dec..b407dec35 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/TreeNodeTag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/DataNodeTag.java @@ -7,10 +7,10 @@ * @CreateDate 2022-3-11 * @License Apache License Version 2.0 */ -public class TreeNodeTag extends BaseData { +public class DataNodeTag extends BaseData { protected long tntid, tnodeid, ttagid; - protected TreeNode node; + protected DataNode node; protected Tag tag; private void init() { @@ -19,17 +19,17 @@ private void init() { tag = null; } - public TreeNodeTag() { + public DataNodeTag() { init(); } - public TreeNodeTag(long tnodeid, long tagid) { + public DataNodeTag(long tnodeid, long tagid) { init(); this.tnodeid = tnodeid; this.ttagid = tagid; } - public TreeNodeTag(TreeNode node, Tag tag) { + public DataNodeTag(DataNode node, Tag tag) { init(); this.node = node; this.tag = tag; @@ -37,10 +37,12 @@ public TreeNodeTag(TreeNode node, Tag tag) { this.ttagid = tag == null ? -1 : tag.getTgid(); } + @Override public boolean setValue(String column, Object value) { return setValue(this, column, value); } + @Override public Object getValue(String column) { return getValue(this, column); } @@ -53,11 +55,11 @@ public boolean valid() { /* Static methods */ - public static TreeNodeTag create() { - return new TreeNodeTag(); + public static DataNodeTag create() { + return new DataNodeTag(); } - public static boolean setValue(TreeNodeTag data, String column, Object value) { + public static boolean setValue(DataNodeTag data, String column, Object value) { if (data == null || column == null) { return false; } @@ -79,7 +81,7 @@ public static boolean setValue(TreeNodeTag data, String column, Object value) { return false; } - public static Object getValue(TreeNodeTag data, String column) { + public static Object getValue(DataNodeTag data, String column) { if (data == null || column == null) { return null; } @@ -94,7 +96,7 @@ public static Object getValue(TreeNodeTag data, String column) { return null; } - public static boolean valid(TreeNodeTag data) { + public static boolean valid(DataNodeTag data) { return data != null && data.getTnodeid() > 0 && data.getTtagid() > 0; } @@ -106,7 +108,7 @@ public long getTntid() { return tntid; } - public TreeNodeTag setTntid(long tntid) { + public DataNodeTag setTntid(long tntid) { this.tntid = tntid; return this; } @@ -115,7 +117,7 @@ public long getTnodeid() { return tnodeid; } - public TreeNodeTag setTnodeid(long tnodeid) { + public DataNodeTag setTnodeid(long tnodeid) { this.tnodeid = tnodeid; return this; } @@ -124,16 +126,16 @@ public long getTtagid() { return ttagid; } - public TreeNodeTag setTtagid(long ttagid) { + public DataNodeTag setTtagid(long ttagid) { this.ttagid = ttagid; return this; } - public TreeNode getNode() { + public DataNode getNode() { return node; } - public TreeNodeTag setNode(TreeNode node) { + public DataNodeTag setNode(DataNode node) { this.node = node; return this; } @@ -142,7 +144,7 @@ public Tag getTag() { return tag; } - public TreeNodeTag setTag(Tag tag) { + public DataNodeTag setTag(Tag tag) { this.tag = tag; return this; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/TreeTag.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/DataTag.java similarity index 84% rename from alpha/MyBox/src/main/java/mara/mybox/db/data/TreeTag.java rename to alpha/MyBox/src/main/java/mara/mybox/db/data/DataTag.java index 0edf712ec..9eb0f4d33 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/TreeTag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/DataTag.java @@ -10,7 +10,7 @@ * @CreateDate 2021-3-20 * @License Apache License Version 2.0 */ -public class TreeTag extends BaseData { +public class DataTag extends BaseData { protected BaseTable dataTable; protected long tagid; @@ -23,7 +23,7 @@ private void init() { color = FxColorTools.randomColor(); } - public TreeTag() { + public DataTag() { init(); } @@ -40,7 +40,7 @@ public boolean valid() { return valid(this); } - public TreeTag setColorString(String v) { + public DataTag setColorString(String v) { this.color = v == null ? FxColorTools.randomColor() : Color.web((String) v); return this; } @@ -48,11 +48,11 @@ public TreeTag setColorString(String v) { /* Static methods */ - public static TreeTag create() { - return new TreeTag(); + public static DataTag create() { + return new DataTag(); } - public static boolean setValue(TreeTag data, String column, Object value) { + public static boolean setValue(DataTag data, String column, Object value) { if (data == null || column == null) { return false; } @@ -75,7 +75,7 @@ public static boolean setValue(TreeTag data, String column, Object value) { return false; } - public static Object getValue(TreeTag data, String column) { + public static Object getValue(DataTag data, String column) { if (data == null || column == null) { return null; } @@ -90,7 +90,7 @@ public static Object getValue(TreeTag data, String column) { return null; } - public static boolean valid(TreeTag data) { + public static boolean valid(DataTag data) { return data != null && data.getTag() != null && !data.getTag().isBlank(); } @@ -102,7 +102,7 @@ public long getTagid() { return tagid; } - public TreeTag setTagid(long tagid) { + public DataTag setTagid(long tagid) { this.tagid = tagid; return this; } @@ -111,7 +111,7 @@ public String getTag() { return tag; } - public TreeTag setTag(String tag) { + public DataTag setTag(String tag) { this.tag = tag; return this; } @@ -120,7 +120,7 @@ public Color getColor() { return color; } - public TreeTag setColor(Color color) { + public DataTag setColor(Color color) { this.color = color; return this; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/FileBackup.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/FileBackup.java index a4c7a7de9..3d4ae85c3 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/FileBackup.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/FileBackup.java @@ -35,6 +35,21 @@ public FileBackup(File file, File backup) { recordTime = new Date(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public String getName() { return backup != null ? backup.getAbsolutePath() : null; } @@ -43,9 +58,6 @@ public long getSize() { return backup != null ? backup.length() : 0; } - public boolean valid() { - return valid(this); - } /* Static methods diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/GeographyCode.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/GeographyCode.java index e3a22072d..0723431d4 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/GeographyCode.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/GeographyCode.java @@ -54,6 +54,21 @@ public GeographyCode() { } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + @Override public Object clone() throws CloneNotSupportedException { try { @@ -327,7 +342,7 @@ public static String displayColumn(GeographyCode data, ColumnDefinition column, case "building": return data.getBuildingName(); } - return BaseDataAdaptor.displayColumnBase(data, column, value); + return BaseDataTools.displayColumnBase(data, column, value); } public static String displayDataMore(GeographyCode data, String lineBreak) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageClipboard.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageClipboard.java index e710c2bab..2582ae2d1 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageClipboard.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageClipboard.java @@ -51,6 +51,21 @@ public ImageClipboard() { init(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public Image loadImage(FxTask task) { image = loadImage(task, this); return image; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageEditHistory.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageEditHistory.java index cc592abf7..9525c148a 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageEditHistory.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/ImageEditHistory.java @@ -36,6 +36,21 @@ public ImageEditHistory() { init(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + @Override public Object clone() throws CloneNotSupportedException { try { @@ -108,11 +123,6 @@ public Image historyImage(FxTask task) { } } - public boolean valid() { - return valid(this); - } - - /* static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNode.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNode.java index ec612d43a..e13e42adc 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNode.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNode.java @@ -86,6 +86,21 @@ public InfoNode(InfoNode parent, String title) { this.title = title; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public InfoNode copyIn(InfoNode parent) { InfoNode node = new InfoNode(); node.setParentid(parent.getNodeid()); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNodeTag.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNodeTag.java index d90715675..ba4b93e37 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNodeTag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/InfoNodeTag.java @@ -37,6 +37,21 @@ public InfoNodeTag(InfoNode node, Tag tag) { this.tagid = tag == null ? -1 : tag.getTgid(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/MathFunction.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/MathFunction.java index 570bdd005..1a5afefda 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/MathFunction.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/MathFunction.java @@ -1,6 +1,6 @@ package mara.mybox.db.data; -import java.util.List; +import mara.mybox.dev.MyBoxLog; /** * @Author Mara @@ -10,13 +10,22 @@ public class MathFunction extends BaseData { protected long funcid; - protected String name, expression, domain; - protected List variables; + protected String name, expression, domain, variables; @Override + public boolean valid() { - return name != null && !name.isBlank() - && expression != null && !expression.isBlank(); + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); } /* @@ -26,6 +35,60 @@ public static MathFunction create() { return new MathFunction(); } + public static boolean setValue(MathFunction data, String column, Object value) { + if (data == null || column == null) { + return false; + } + try { + switch (column) { + case "funcid": + data.setFuncid(value == null ? -1 : (long) value); + return true; + case "name": + data.setName(value == null ? null : (String) value); + return true; + case "variables": + data.setVariables(value == null ? null : (String) value); + return true; + case "expression": + data.setExpression(value == null ? null : (String) value); + return true; + case "domain": + data.setDomain(value == null ? null : (String) value); + return true; + } + } catch (Exception e) { + MyBoxLog.debug(e); + } + return false; + } + + public static Object getValue(MathFunction data, String column) { + if (data == null || column == null) { + return null; + } + switch (column) { + case "funcid": + return data.getFuncid(); + case "name": + return data.getName(); + case "variables": + return data.getVariables(); + case "expression": + return data.getExpression(); + case "domain": + return data.getDomain(); + } + return null; + } + + public static boolean valid(MathFunction data) { + return data != null + && data.getName() != null && !data.getName().isBlank() + && data.getExpression() != null && !data.getExpression().isBlank(); + } + + /* get/set */ @@ -61,11 +124,11 @@ public void setDomain(String domain) { this.domain = domain; } - public List getVariables() { + public String getVariables() { return variables; } - public void setVariables(List variables) { + public void setVariables(String variables) { this.variables = variables; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/NamedValues.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/NamedValues.java index d6f21348f..048b7810a 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/NamedValues.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/NamedValues.java @@ -31,6 +31,21 @@ public NamedValues(String key, String name, String value, Date time) { this.time = time; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/Note.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/Note.java index 91925b815..e5702fe8c 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/Note.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/Note.java @@ -17,10 +17,12 @@ public boolean valid() { return valid(this); } + @Override public boolean setValue(String column, Object value) { return setValue(this, column, value); } + @Override public Object getValue(String column) { return getValue(this, column); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/PathConnection.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/PathConnection.java index 89489ec2f..0b4df5af6 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/PathConnection.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/PathConnection.java @@ -42,6 +42,21 @@ final public void init() { modifyTime = new Date(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public PathConnection copy() { try { return (PathConnection) super.clone(); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValue.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValue.java index fd25294f4..550d985a7 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValue.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValue.java @@ -29,6 +29,21 @@ public StringValue(String key, String value, Date time) { this.time = time; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValues.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValues.java index 4fb244beb..163feeb04 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValues.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/StringValues.java @@ -29,6 +29,21 @@ public StringValues(String key, String value, Date time) { this.time = time; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/Tag.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/Tag.java index e281ba4d6..831dd5c3e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/Tag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/Tag.java @@ -32,6 +32,21 @@ public Tag(String category, String tag) { this.tag = tag; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/TextClipboard.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/TextClipboard.java index 60426eeef..c7f644cd9 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/TextClipboard.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/TextClipboard.java @@ -32,6 +32,21 @@ public TextClipboard(String text) { this.text = text; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/VisitHistory.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/VisitHistory.java index e1ab91626..10bec2af2 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/VisitHistory.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/VisitHistory.java @@ -120,6 +120,21 @@ public VisitHistory(String value) { resourceValue = value; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/WebFavorite.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/WebFavorite.java index b33eb8390..75577218e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/WebFavorite.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/WebFavorite.java @@ -1,5 +1,7 @@ package mara.mybox.db.data; +import mara.mybox.dev.MyBoxLog; + /** * @Author Mara * @CreateDate 2024-8-2 @@ -12,7 +14,17 @@ public class WebFavorite extends BaseData { @Override public boolean valid() { - return address != null && !address.isBlank(); + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); } /* @@ -22,6 +34,48 @@ public static WebFavorite create() { return new WebFavorite(); } + public static boolean setValue(WebFavorite data, String column, Object value) { + if (data == null || column == null) { + return false; + } + try { + switch (column) { + case "addrid": + data.setAddrid(value == null ? -1 : (long) value); + return true; + case "address": + data.setAddress(value == null ? null : (String) value); + return true; + case "icon": + data.setIcon(value == null ? null : (String) value); + return true; + } + } catch (Exception e) { + MyBoxLog.debug(e); + } + return false; + } + + public static Object getValue(WebFavorite data, String column) { + if (data == null || column == null) { + return null; + } + switch (column) { + case "addrid": + return data.getAddrid(); + case "address": + return data.getAddress(); + case "icon": + return data.getIcon(); + } + return null; + } + + public static boolean valid(WebFavorite data) { + return data != null + && data.getAddress() != null && !data.getAddress().isBlank(); + } + /* get/set */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/WebHistory.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/WebHistory.java index 9bd8f0659..344656491 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/WebHistory.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/data/WebHistory.java @@ -25,6 +25,21 @@ public WebHistory() { init(); } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + /* Static methods */ diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/data/dataItem.java b/alpha/MyBox/src/main/java/mara/mybox/db/data/dataItem.java deleted file mode 100644 index 9b14de4b1..000000000 --- a/alpha/MyBox/src/main/java/mara/mybox/db/data/dataItem.java +++ /dev/null @@ -1,52 +0,0 @@ -package mara.mybox.db.data; - -/** - * @Author Mara - * @CreateDate 2024-8-2 - * @License Apache License Version 2.0 - */ -public class dataItem extends BaseData { - - protected long addrid; - protected String address, icon; - - @Override - public boolean valid() { - return address != null && !address.isBlank(); - } - - /* - Static methods - */ - public static dataItem create() { - return new dataItem(); - } - - /* - get/set - */ - public long getAddrid() { - return addrid; - } - - public void setAddrid(long addrid) { - this.addrid = addrid; - } - - public String getAddress() { - return address; - } - - public void setAddress(String address) { - this.address = address; - } - - public String getIcon() { - return icon; - } - - public void setIcon(String icon) { - this.icon = icon; - } - -} diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTable.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTable.java index 6f805a190..c7c2d74ec 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTable.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTable.java @@ -18,8 +18,6 @@ import mara.mybox.data.StringTable; import mara.mybox.db.Database; import mara.mybox.db.DerbyBase; -import mara.mybox.db.data.BaseData; -import mara.mybox.db.data.BaseDataAdaptor; import mara.mybox.db.data.ColumnDefinition; import mara.mybox.db.data.ColumnDefinition.ColumnType; import static mara.mybox.db.data.ColumnDefinition.ColumnType.Clob; @@ -50,6 +48,12 @@ public abstract class BaseTable { protected boolean supportBatchUpdate; protected long newID = -1; + public abstract boolean valid(D data); + + public abstract boolean setValue(D data, String column, Object value); + + public abstract Object getValue(D data, String column); + /* methods need implemented */ @@ -695,26 +699,6 @@ public boolean addColumn(Connection conn, ColumnDefinition column) { } } - public boolean setValue(D data, String column, Object value) { - if (column == null) { - return false; - } - if (data instanceof BaseData) { - return BaseDataAdaptor.setColumnValue((BaseData) data, column, value); - } - return false; - } - - public Object getValue(D data, String column) { - if (data == null || column == null) { - return null; - } - if (data instanceof BaseData) { - return BaseDataAdaptor.getColumnValue((BaseData) data, column); - } - return null; - } - public void setId(D source, D target) { if (source == null || target == null || idColumnName == null) { return; @@ -735,16 +719,6 @@ public D newData() { } } - public boolean valid(D data) { - if (data == null) { - return false; - } - if (data instanceof BaseData) { - return BaseDataAdaptor.valid((BaseData) data); - } - return false; - } - public String name() { return tableName; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTreeData.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTreeData.java index ecbc074a4..34a679d28 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTreeData.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/BaseTreeData.java @@ -17,13 +17,13 @@ public boolean initTreeTables(Connection conn) { return false; } try { - TableNode treeTable = new TableNode(this); + TableDataNode treeTable = new TableDataNode(this); treeTable.createTable(conn); treeTable.createIndices(conn); new TableDataTag(this).createTable(conn); - TableNodeTag nodeTagTable = new TableNodeTag(this); + TableDataNodeTag nodeTagTable = new TableDataNodeTag(this); nodeTagTable.createTable(conn); nodeTagTable.createIndices(conn); @@ -39,7 +39,7 @@ public boolean createTableTree(Connection conn, boolean dropExisted) { return false; } try { - TableNode tableTree = new TableNode(this); + TableDataNode tableTree = new TableDataNode(this); tableTree.createTable(conn, dropExisted); tableTree.createIndices(conn); return true; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableAlarmClock.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableAlarmClock.java index d1402801e..a64a2e9ee 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableAlarmClock.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableAlarmClock.java @@ -28,6 +28,30 @@ public TableAlarmClock(boolean defineColumns) { } } + @Override + public boolean setValue(AlarmClock data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(AlarmClock data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(AlarmClock data) { + if (data == null) { + return false; + } + return data.valid(); + } + public final TableAlarmClock defineColumns() { addColumn(new ColumnDefinition("atid", ColumnDefinition.ColumnType.Long, true, true).setAuto(true)); addColumn(new ColumnDefinition("alarm_type", ColumnDefinition.ColumnType.Integer, true)); @@ -68,9 +92,9 @@ public int deleteData(Connection conn, List dataList) { @Override public long clearData(Connection conn) { - try ( PreparedStatement statement = conn.prepareStatement("SELECT * FROM Alarm_Clock")) { + try (PreparedStatement statement = conn.prepareStatement("SELECT * FROM Alarm_Clock")) { conn.setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { while (results.next()) { AlarmClock alarmClock = readData(results); if (alarmClock != null) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColor.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColor.java index 99e1571fd..a58d31867 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColor.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColor.java @@ -72,6 +72,30 @@ public final TableColor defineColumns() { public static final String Delete = "DELETE FROM Color WHERE color_value=?"; + @Override + public boolean setValue(ColorData data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(ColorData data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(ColorData data) { + if (data == null) { + return false; + } + return data.valid(); + } + public ColorData read(int value) { ColorData data = null; try (Connection conn = DerbyBase.getConnection()) { @@ -344,8 +368,7 @@ public boolean setName(int value, String name) { if (name == null) { return false; } - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { ColorData exist = read(conn, value); if (exist != null) { String sql = "UPDATE Color SET " @@ -402,8 +425,7 @@ public static int delete(List webList) { if (webList == null || webList.isEmpty()) { return count; } - try (Connection conn = DerbyBase.getConnection(); - PreparedStatement delete = conn.prepareStatement(Delete)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement delete = conn.prepareStatement(Delete)) { boolean ac = conn.getAutoCommit(); conn.setAutoCommit(false); for (String web : webList) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPalette.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPalette.java index fd6974fc6..5a2df04d2 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPalette.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPalette.java @@ -98,13 +98,36 @@ public boolean setForeignValue(ColorPalette data, String column, Object value) { return true; } + @Override + public boolean setValue(ColorPalette data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(ColorPalette data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(ColorPalette data) { + if (data == null) { + return false; + } + return data.valid(); + } + public ColorPalette find(Connection conn, ColorData color, boolean asValue) { if (conn == null || color == null) { return null; } ColorPalette data = null; - try (PreparedStatement qid = conn.prepareStatement(QueryID); - PreparedStatement qvalue = conn.prepareStatement(QueryValue)) { + try (PreparedStatement qid = conn.prepareStatement(QueryID); PreparedStatement qvalue = conn.prepareStatement(QueryValue)) { data = find(qid, qvalue, color, asValue); } catch (Exception e) { MyBoxLog.error(e); @@ -352,8 +375,7 @@ public List write(Connection conn, long paletteid, List return null; } List cpList = new ArrayList<>(); - try (PreparedStatement qid = conn.prepareStatement(QueryID); - PreparedStatement qvalue = conn.prepareStatement(QueryValue)) { + try (PreparedStatement qid = conn.prepareStatement(QueryID); PreparedStatement qvalue = conn.prepareStatement(QueryValue)) { conn.setAutoCommit(false); for (ColorData color : colors) { float order = keepOrder ? color.getOrderNumner() : Float.MAX_VALUE; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPaletteName.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPaletteName.java index 1af858030..97798e027 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPaletteName.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableColorPaletteName.java @@ -47,6 +47,30 @@ public final TableColorPaletteName defineColumns() { public static final String QueryName = "SELECT * FROM Color_Palette_Name WHERE palette_name=?"; + @Override + public boolean setValue(ColorPaletteName data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(ColorPaletteName data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(ColorPaletteName data) { + if (data == null) { + return false; + } + return data.valid(); + } + public ColorPaletteName find(String name) { if (name == null || name.isBlank()) { return null; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableConvolutionKernel.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableConvolutionKernel.java index 55ba848da..9e0c35ee3 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableConvolutionKernel.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableConvolutionKernel.java @@ -19,19 +19,19 @@ * @License Apache License Version 2.0 */ public class TableConvolutionKernel extends BaseTable { - + public TableConvolutionKernel() { tableName = "Convolution_Kernel"; defineColumns(); } - + public TableConvolutionKernel(boolean defineColumns) { tableName = "Convolution_Kernel"; if (defineColumns) { defineColumns(); } } - + public final TableConvolutionKernel defineColumns() { addColumn(new ColumnDefinition("name", ColumnDefinition.ColumnType.String, true, true).setLength(StringMaxLength)); addColumn(new ColumnDefinition("width", ColumnDefinition.ColumnType.Integer, true)); @@ -45,13 +45,36 @@ public final TableConvolutionKernel defineColumns() { addColumn(new ColumnDefinition("description", ColumnDefinition.ColumnType.String).setLength(StringMaxLength)); return this; } - + + @Override + public boolean setValue(ConvolutionKernel data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(ConvolutionKernel data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(ConvolutionKernel data) { + if (data == null) { + return false; + } + return data.valid(); + } + public static List read() { List records = new ArrayList<>(); - try ( Connection conn = DerbyBase.getConnection(); - PreparedStatement query = conn.prepareStatement("SELECT * FROM Convolution_Kernel ORDER BY name")) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement query = conn.prepareStatement("SELECT * FROM Convolution_Kernel ORDER BY name")) { conn.setReadOnly(true); - try ( ResultSet kResult = query.executeQuery()) { + try (ResultSet kResult = query.executeQuery()) { while (kResult.next()) { ConvolutionKernel record = read(conn, kResult); if (record != null) { @@ -64,16 +87,15 @@ public static List read() { } return records; } - + public static ConvolutionKernel read(String name) { if (name == null) { return null; } - try ( Connection conn = DerbyBase.getConnection(); - PreparedStatement kernelQuery = conn.prepareStatement(" SELECT * FROM Convolution_Kernel WHERE name=?");) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement kernelQuery = conn.prepareStatement(" SELECT * FROM Convolution_Kernel WHERE name=?");) { conn.setReadOnly(true); kernelQuery.setString(1, name); - try ( ResultSet kResult = kernelQuery.executeQuery()) { + try (ResultSet kResult = kernelQuery.executeQuery()) { if (kResult.next()) { return read(conn, kResult); } @@ -83,7 +105,7 @@ public static ConvolutionKernel read(String name) { } return null; } - + public static ConvolutionKernel read(Connection conn, ResultSet kResult) { if (kResult == null) { return null; @@ -109,7 +131,7 @@ public static ConvolutionKernel read(Connection conn, ResultSet kResult) { } record.setDescription(kResult.getString("description")); conn.setAutoCommit(true); - try ( PreparedStatement matrixQuery + try (PreparedStatement matrixQuery = conn.prepareStatement(" SELECT * FROM Float_Matrix WHERE name=? AND row=? AND col=?")) { float[][] matrix = new float[h][w]; for (int j = 0; j < h; ++j) { @@ -117,7 +139,7 @@ public static ConvolutionKernel read(Connection conn, ResultSet kResult) { matrixQuery.setString(1, record.getName()); matrixQuery.setInt(2, j); matrixQuery.setInt(3, i); - try ( ResultSet mResult = matrixQuery.executeQuery()) { + try (ResultSet mResult = matrixQuery.executeQuery()) { if (mResult.next()) { matrix[j][i] = mResult.getFloat("value"); } @@ -132,12 +154,12 @@ public static ConvolutionKernel read(Connection conn, ResultSet kResult) { return null; } } - + public static boolean existData(String name) { if (name == null) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return existData(conn, name); } catch (Exception e) { @@ -145,15 +167,15 @@ public static boolean existData(String name) { return false; } } - + public static boolean existData(Connection conn, String name) { if (conn == null || name == null) { return false; } - try ( PreparedStatement kernelQuery = conn.prepareStatement(" SELECT width FROM Convolution_Kernel WHERE name=?")) { + try (PreparedStatement kernelQuery = conn.prepareStatement(" SELECT width FROM Convolution_Kernel WHERE name=?")) { kernelQuery.setString(1, name); conn.setAutoCommit(true); - try ( ResultSet kResult = kernelQuery.executeQuery()) { + try (ResultSet kResult = kernelQuery.executeQuery()) { return (kResult.next()); } } catch (Exception e) { @@ -161,12 +183,12 @@ public static boolean existData(Connection conn, String name) { return false; } } - + public static boolean insert(Connection conn, ConvolutionKernel record) { String sql = "INSERT INTO Convolution_Kernel " + "(name, width , height, type, edge, is_gray, is_invert, create_time, modify_time, description) " + " VALUES( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) "; - try ( PreparedStatement update = conn.prepareStatement(sql)) { + try (PreparedStatement update = conn.prepareStatement(sql)) { update.setString(1, record.getName()); update.setInt(2, record.getWidth()); update.setInt(3, record.getHeight()); @@ -184,13 +206,13 @@ public static boolean insert(Connection conn, ConvolutionKernel record) { return false; } } - + public static boolean update(Connection conn, ConvolutionKernel record) { String sql = "UPDATE Convolution_Kernel SET " + " width=?, height=?, type=?, edge=?, is_gray=?, is_invert=?, create_time=?, " + " modify_time=?, description=?" + " WHERE name=?"; - try ( PreparedStatement update = conn.prepareStatement(sql)) { + try (PreparedStatement update = conn.prepareStatement(sql)) { update.setInt(1, record.getWidth()); update.setInt(2, record.getHeight()); update.setInt(3, record.getType()); @@ -208,14 +230,14 @@ public static boolean update(Connection conn, ConvolutionKernel record) { return false; } } - + public static boolean write(ConvolutionKernel record) { if (record == null || record.getName() == null || record.getWidth() < 3 || record.getWidth() % 2 == 0 || record.getHeight() < 3 || record.getHeight() % 2 == 0) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { if (existData(conn, record.getName())) { return update(conn, record); } else { @@ -226,16 +248,16 @@ public static boolean write(ConvolutionKernel record) { return false; } } - + public static boolean writeExamples() { return write(ConvolutionKernel.makeExample()); } - + public static boolean write(List records) { if (records == null || records.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { for (ConvolutionKernel k : records) { if (existData(conn, k.getName())) { update(conn, k); @@ -249,14 +271,14 @@ public static boolean write(List records) { return false; } } - + public static boolean deleteRecords(List records) { if (records == null || records.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setAutoCommit(false); - try ( PreparedStatement statement = conn.prepareStatement( + try (PreparedStatement statement = conn.prepareStatement( "DELETE FROM Convolution_Kernel WHERE name=?")) { for (int i = 0; i < records.size(); ++i) { statement.setString(1, records.get(i).getName()); @@ -270,14 +292,14 @@ public static boolean deleteRecords(List records) { return false; } } - + public static boolean delete(List names) { if (names == null || names.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setAutoCommit(false); - try ( PreparedStatement statement = conn.prepareStatement( + try (PreparedStatement statement = conn.prepareStatement( "DELETE FROM Convolution_Kernel WHERE name=?")) { for (int i = 0; i < names.size(); ++i) { statement.setString(1, names.get(i)); @@ -291,7 +313,7 @@ public static boolean delete(List names) { return false; } } - + public static float[][] readMatrix(String name) { float[][] matrix = null; if (name == null) { @@ -303,5 +325,5 @@ public static float[][] readMatrix(String name) { } return TableFloatMatrix.read(name, k.getWidth(), k.getHeight()); } - + } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2D.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2D.java index 568b159a9..91b460a50 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2D.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2D.java @@ -12,6 +12,30 @@ */ public class TableData2D extends BaseTable { + @Override + public boolean setValue(Data2DRow data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(Data2DRow data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(Data2DRow data) { + if (data == null) { + return false; + } + return data.valid(); + } + public Data2DRow newRow() { Data2DRow data2DRow = new Data2DRow(); for (ColumnDefinition column : columns) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DCell.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DCell.java index 657841598..648315456 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DCell.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DCell.java @@ -40,4 +40,28 @@ public final TableData2DCell defineColumns() { public static final String ClearData = "DELETE FROM Data2D_Cell WHERE dcdid=?"; + @Override + public boolean setValue(Data2DCell data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(Data2DCell data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(Data2DCell data) { + if (data == null) { + return false; + } + return data.valid(); + } + } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DColumn.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DColumn.java index 7b4da2e7a..d73defaed 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DColumn.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DColumn.java @@ -108,6 +108,30 @@ public boolean setForeignValue(Data2DColumn data, String column, Object value) { return true; } + @Override + public boolean setValue(Data2DColumn data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(Data2DColumn data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(Data2DColumn data) { + if (data == null) { + return false; + } + return data.valid(); + } + public List read(long d2id) { if (d2id < 0) { return null; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DDefinition.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DDefinition.java index 1ff88f7cc..f59d00cba 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DDefinition.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DDefinition.java @@ -93,6 +93,29 @@ public final TableData2DDefinition defineColumns() { public static final String Delete_UserTable = "DELETE FROM Data2D_Definition WHERE data_type=5 AND sheet=?"; + @Override + public boolean setValue(Data2DDefinition data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(Data2DDefinition data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(Data2DDefinition data) { + if (data == null) { + return false; + } + return data.valid(); + } /* local methods @@ -331,8 +354,7 @@ public int clearInvalidExcelSheet(BaseTaskController taskController, Connection update(conn, Delete_InvalidExcelSheet); String sql = "SELECT * FROM Data2D_Definition WHERE data_type < 4"; recordInfo(taskController, sql); - try (PreparedStatement query = conn.prepareStatement(sql); - PreparedStatement delete = conn.prepareStatement(deleteStatement())) { + try (PreparedStatement query = conn.prepareStatement(sql); PreparedStatement delete = conn.prepareStatement(deleteStatement())) { conn.setAutoCommit(true); try (ResultSet results = query.executeQuery()) { conn.setAutoCommit(false); @@ -392,8 +414,7 @@ public int clearInvalidTable(BaseTaskController taskController, Connection conn) + Data2D.type(Data2DDefinition.DataType.DatabaseTable); recordInfo(taskController, sql); conn.setAutoCommit(true); - try (ResultSet results = conn.prepareStatement(sql).executeQuery(); - PreparedStatement delete = conn.prepareStatement(deleteStatement())) { + try (ResultSet results = conn.prepareStatement(sql).executeQuery(); PreparedStatement delete = conn.prepareStatement(deleteStatement())) { while (results.next()) { rowCount++; if (taskController != null && taskController.getTask() != null diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DStyle.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DStyle.java index 049dbfd0e..d530b78af 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DStyle.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableData2DStyle.java @@ -84,11 +84,35 @@ public boolean setForeignValue(Data2DStyle data, String column, Object value) { return true; } + @Override + public boolean setValue(Data2DStyle data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(Data2DStyle data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(Data2DStyle data) { + if (data == null) { + return false; + } + return data.valid(); + } + public boolean clear(Connection conn, long d2id) { if (conn == null || d2id < 0) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(ClearStyles)) { + try (PreparedStatement statement = conn.prepareStatement(ClearStyles)) { statement.setLong(1, d2id); statement.executeUpdate(); return true; @@ -104,7 +128,7 @@ public int copyStyles(Connection conn, long sourceid, long targetid) { } clear(conn, targetid); int count = 0; - try ( PreparedStatement statement = conn.prepareStatement(QueryStyles)) { + try (PreparedStatement statement = conn.prepareStatement(QueryStyles)) { statement.setLong(1, sourceid); conn.setAutoCommit(true); ResultSet results = statement.executeQuery(); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNode.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataNode.java similarity index 86% rename from alpha/MyBox/src/main/java/mara/mybox/db/table/TableNode.java rename to alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataNode.java index 355100dd6..f21b29dae 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNode.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataNode.java @@ -8,9 +8,9 @@ import mara.mybox.db.DerbyBase; import mara.mybox.db.data.ColumnDefinition; import mara.mybox.db.data.ColumnDefinition.ColumnType; +import mara.mybox.db.data.DataNode; +import static mara.mybox.db.data.DataNode.TitleSeparater; import mara.mybox.db.data.Tag; -import mara.mybox.db.data.TreeNode; -import static mara.mybox.db.data.TreeNode.TitleSeparater; import mara.mybox.dev.MyBoxLog; import mara.mybox.fxml.FxTask; import static mara.mybox.value.Languages.message; @@ -20,11 +20,11 @@ * @CreateDate 2021-4-23 * @License Apache License Version 2.0 */ -public class TableNode extends BaseTable { +public class TableDataNode extends BaseTable { protected BaseTreeData dataTable; - public TableNode(BaseTreeData data) { + public TableDataNode(BaseTreeData data) { dataTable = data; if (dataTable == null) { return; @@ -34,7 +34,7 @@ public TableNode(BaseTreeData data) { defineColumns(); } - public final TableNode defineColumns() { + public final TableDataNode defineColumns() { addColumn(new ColumnDefinition("nodeid", ColumnType.Long, true, true) .setReferName(tableName + "_nodeid_fk") .setReferTable(dataTable.tableName).setReferColumn(dataTable.idColumnName) @@ -72,7 +72,7 @@ public final boolean createIndices(Connection conn) { } @Override - public boolean setValue(TreeNode data, String column, Object value) { + public boolean setValue(DataNode data, String column, Object value) { if (data == null || column == null) { return false; } @@ -80,14 +80,22 @@ public boolean setValue(TreeNode data, String column, Object value) { } @Override - public Object getValue(TreeNode data, String column) { + public Object getValue(DataNode data, String column) { if (data == null || column == null) { return null; } return data.getValue(column); } - public TreeNode find(long id) { + @Override + public boolean valid(DataNode data) { + if (data == null) { + return false; + } + return data.valid(); + } + + public DataNode find(long id) { if (id < 0) { return null; } @@ -99,7 +107,7 @@ public TreeNode find(long id) { } } - public TreeNode find(Connection conn, long id) { + public DataNode find(Connection conn, long id) { if (conn == null || id < 0) { return null; } @@ -113,7 +121,7 @@ public TreeNode find(Connection conn, long id) { } } - public List findRoots() { + public List findRoots() { try (Connection conn = DerbyBase.getConnection()) { return findRoots(conn); } catch (Exception e) { @@ -122,7 +130,7 @@ public List findRoots() { } } - public List findRoots(Connection conn) { + public List findRoots(Connection conn) { if (conn == null) { return null; } @@ -135,7 +143,7 @@ public List findRoots(Connection conn) { } } - public List children(long parent) { + public List children(long parent) { if (parent < 0) { return null; } @@ -147,7 +155,7 @@ public List children(long parent) { } } - public List children(Connection conn, long parent) { + public List children(Connection conn, long parent) { if (conn == null || parent < 0) { return null; } @@ -161,7 +169,7 @@ public List children(Connection conn, long parent) { } } - public List ancestor(long id) { + public List ancestor(long id) { if (id <= 0) { return null; } @@ -173,17 +181,17 @@ public List ancestor(long id) { } } - public List ancestor(Connection conn, long id) { + public List ancestor(Connection conn, long id) { if (conn == null || id <= 0) { return null; } - List ancestor = null; - TreeNode node = find(conn, id); + List ancestor = null; + DataNode node = find(conn, id); if (node == null || node.isRoot()) { return ancestor; } long parentid = node.getParentid(); - TreeNode parent = find(conn, parentid); + DataNode parent = find(conn, parentid); if (parent != null) { ancestor = ancestor(conn, parentid); if (ancestor == null) { @@ -194,7 +202,7 @@ public List ancestor(Connection conn, long id) { return ancestor; } - public TreeNode find(long parent, String title) { + public DataNode find(long parent, String title) { if (title == null || title.isBlank()) { return null; } @@ -206,7 +214,7 @@ public TreeNode find(long parent, String title) { } } - public TreeNode find(Connection conn, long parent, String title) { + public DataNode find(Connection conn, long parent, String title) { if (conn == null || title == null || title.isBlank()) { return null; } @@ -222,7 +230,7 @@ public TreeNode find(Connection conn, long parent, String title) { } } - public TreeNode findAndCreate(long parent, String title) { + public DataNode findAndCreate(long parent, String title) { if (title == null || title.isBlank()) { return null; } @@ -234,15 +242,15 @@ public TreeNode findAndCreate(long parent, String title) { } } - public TreeNode findAndCreate(Connection conn, long parent, String title) { + public DataNode findAndCreate(Connection conn, long parent, String title) { if (conn == null || title == null || title.isBlank()) { return null; } try { - TreeNode node = find(conn, parent, title); + DataNode node = find(conn, parent, title); if (node == null) { - TreeNode parentNode = find(conn, parent); - node = new TreeNode(parentNode, title); + DataNode parentNode = find(conn, parent); + node = new DataNode(parentNode, title); node = insertData(conn, node); conn.commit(); } @@ -253,8 +261,8 @@ public TreeNode findAndCreate(Connection conn, long parent, String title) { } } - public TreeNode findAndCreateRoot(Connection conn) { - TreeNode base = find(conn, 1); + public DataNode findAndCreateRoot(Connection conn) { + DataNode base = find(conn, 1); if (base == null) { try { String sql = "INSERT INTO " + tableName + " (nodeid,title,parentid) VALUES(1,'Root',1)"; @@ -271,7 +279,7 @@ public TreeNode findAndCreateRoot(Connection conn) { return base; } - public TreeNode findAndCreateChain(Connection conn, TreeNode root, String ownerChain) { + public DataNode findAndCreateChain(Connection conn, DataNode root, String ownerChain) { if (conn == null || root == null || ownerChain == null || ownerChain.isBlank()) { return null; } @@ -284,7 +292,7 @@ public TreeNode findAndCreateChain(Connection conn, TreeNode root, String ownerC chain = chain.substring((message(root.getTitle()) + TitleSeparater).length()); } String[] nodes = chain.split(TitleSeparater); - TreeNode owner = null; + DataNode owner = null; for (String node : nodes) { owner = findAndCreate(conn, parentid, node); if (owner == null) { @@ -299,12 +307,12 @@ public TreeNode findAndCreateChain(Connection conn, TreeNode root, String ownerC } } - public List decentants(Connection conn, long parentid) { - List allChildren = new ArrayList<>(); - List children = children(conn, parentid); + public List decentants(Connection conn, long parentid) { + List allChildren = new ArrayList<>(); + List children = children(conn, parentid); if (children != null && !children.isEmpty()) { allChildren.addAll(allChildren); - for (TreeNode child : children) { + for (DataNode child : children) { children = decentants(conn, child.getNodeid()); if (children != null && !children.isEmpty()) { allChildren.addAll(allChildren); @@ -314,8 +322,8 @@ public List decentants(Connection conn, long parentid) { return allChildren; } - public List decentants(Connection conn, long parentid, long start, long size) { - List children = new ArrayList<>(); + public List decentants(Connection conn, long parentid, long start, long size) { + List children = new ArrayList<>(); String sql = "SELECT * FROM " + tableName + " WHERE parentid=? AND nodeid<>parentid ORDER BY nodeid ASC"; try (PreparedStatement query = conn.prepareStatement(sql)) { decentants(conn, query, parentid, start, size, children, 0); @@ -326,7 +334,7 @@ public List decentants(Connection conn, long parentid, long start, lon } public long decentants(Connection conn, PreparedStatement query, - long parentid, long start, long size, List nodes, long index) { + long parentid, long start, long size, List nodes, long index) { if (conn == null || parentid < 1 || nodes == null || query == null || start < 0 || size <= 0 || nodes.size() >= size) { return index; @@ -339,7 +347,7 @@ public long decentants(Connection conn, PreparedStatement query, conn.setAutoCommit(true); try (ResultSet nresults = query.executeQuery()) { while (nresults.next()) { - TreeNode data = readData(nresults); + DataNode data = readData(nresults); if (data != null) { if (thisIndex >= start) { nodes.add(data); @@ -356,9 +364,9 @@ public long decentants(Connection conn, PreparedStatement query, MyBoxLog.debug(e, tableName); } if (!ok) { - List children = children(conn, parentid); + List children = children(conn, parentid); if (children != null) { - for (TreeNode child : children) { + for (DataNode child : children) { thisIndex = decentants(conn, query, child.getNodeid(), start, size, nodes, thisIndex); if (nodes.size() >= size) { break; @@ -393,9 +401,9 @@ public int decentantsSize(Connection conn, PreparedStatement sizeQuery, long par int count = 0; try { count = childrenSize(sizeQuery, parentid); - List children = children(conn, parentid); + List children = children(conn, parentid); if (children != null) { - for (TreeNode child : children) { + for (DataNode child : children) { count += decentantsSize(conn, sizeQuery, child.getNodeid()); } } @@ -467,7 +475,7 @@ public boolean childrenEmpty(Connection conn, long parent) { return isEmpty; } - public boolean equalOrDescendant(FxTask task, Connection conn, TreeNode node1, TreeNode node2) { + public boolean equalOrDescendant(FxTask task, Connection conn, DataNode node1, DataNode node2) { if (conn == null || node1 == null || node2 == null) { if (task != null) { task.setError(message("InvalidData")); @@ -479,14 +487,14 @@ public boolean equalOrDescendant(FxTask task, Connection conn, TreeNode no if (id1 == id2) { return true; } - TreeNode parent = parent(conn, node1); + DataNode parent = parent(conn, node1); if (parent == null || id1 == parent.getNodeid()) { return false; } return equalOrDescendant(task, conn, parent(conn, node1), node2); } - public TreeNode parent(Connection conn, TreeNode node) { + public DataNode parent(Connection conn, DataNode node) { if (conn == null || node == null) { return null; } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNodeTag.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataNodeTag.java similarity index 88% rename from alpha/MyBox/src/main/java/mara/mybox/db/table/TableNodeTag.java rename to alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataNodeTag.java index 1e91e8e38..98011cdd4 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNodeTag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataNodeTag.java @@ -8,9 +8,9 @@ import mara.mybox.db.DerbyBase; import mara.mybox.db.data.ColumnDefinition; import mara.mybox.db.data.ColumnDefinition.ColumnType; +import mara.mybox.db.data.DataNode; +import mara.mybox.db.data.DataNodeTag; import mara.mybox.db.data.Tag; -import mara.mybox.db.data.TreeNode; -import mara.mybox.db.data.TreeNodeTag; import mara.mybox.dev.MyBoxLog; /** @@ -18,12 +18,12 @@ * @CreateDate 2021-3-3 * @License Apache License Version 2.0 */ -public class TableNodeTag extends BaseTable { +public class TableDataNodeTag extends BaseTable { protected BaseTreeData dataTable; protected TableDataTag tagTable; - public TableNodeTag(BaseTreeData data) { + public TableDataNodeTag(BaseTreeData data) { if (data == null) { return; } @@ -32,7 +32,7 @@ public TableNodeTag(BaseTreeData data) { init(); } - public TableNodeTag(BaseTreeData data, TableDataTag tag) { + public TableDataNodeTag(BaseTreeData data, TableDataTag tag) { dataTable = data; tagTable = tag; init(); @@ -47,7 +47,7 @@ public final void init() { defineColumns(); } - public final TableNodeTag defineColumns() { + public final TableDataNodeTag defineColumns() { addColumn(new ColumnDefinition("tntid", ColumnType.Long, true, true).setAuto(true)); addColumn(new ColumnDefinition("tnodeid", ColumnType.Long) .setReferName(tableName + "_nodeid_fk") @@ -77,7 +77,7 @@ public final boolean createIndices(Connection conn) { } @Override - public boolean setValue(TreeNodeTag data, String column, Object value) { + public boolean setValue(DataNodeTag data, String column, Object value) { if (data == null || column == null) { return false; } @@ -85,13 +85,21 @@ public boolean setValue(TreeNodeTag data, String column, Object value) { } @Override - public Object getValue(TreeNodeTag data, String column) { + public Object getValue(DataNodeTag data, String column) { if (data == null || column == null) { return null; } return data.getValue(column); } + @Override + public boolean valid(DataNodeTag data) { + if (data == null) { + return false; + } + return data.valid(); + } + @Override public Object readForeignValue(ResultSet results, String column) { if (results == null || column == null || dataTable == null || tagTable == null) { @@ -110,12 +118,12 @@ public Object readForeignValue(ResultSet results, String column) { } @Override - public boolean setForeignValue(TreeNodeTag data, String column, Object value) { + public boolean setForeignValue(DataNodeTag data, String column, Object value) { if (data == null || column == null || value == null) { return true; } - if ("tnodeid".equals(column) && value instanceof TreeNode) { - data.setNode((TreeNode) value); + if ("tnodeid".equals(column) && value instanceof DataNode) { + data.setNode((DataNode) value); } if ("ttagid".equals(column) && value instanceof Tag) { data.setTag((Tag) value); @@ -123,8 +131,8 @@ public boolean setForeignValue(TreeNodeTag data, String column, Object value) { return true; } - public List nodeTags(long nodeid) { - List tags = new ArrayList<>(); + public List nodeTags(long nodeid) { + List tags = new ArrayList<>(); if (nodeid < 0) { return tags; } @@ -136,8 +144,8 @@ public List nodeTags(long nodeid) { return tags; } - public List nodeTags(Connection conn, long nodeid) { - List tags = new ArrayList<>(); + public List nodeTags(Connection conn, long nodeid) { + List tags = new ArrayList<>(); if (conn == null || nodeid < 0) { return tags; } @@ -147,7 +155,7 @@ public List nodeTags(Connection conn, long nodeid) { conn.setAutoCommit(true); ResultSet results = statement.executeQuery(); while (results.next()) { - TreeNodeTag tag = readData(results); + DataNodeTag tag = readData(results); if (tag != null) { tags.add(tag); } @@ -158,11 +166,11 @@ public List nodeTags(Connection conn, long nodeid) { return tags; } - public TreeNodeTag query(Connection conn, long nodeid, long tagid) { + public DataNodeTag query(Connection conn, long nodeid, long tagid) { if (conn == null || nodeid < 0 || tagid < 0) { return null; } - TreeNodeTag tag = null; + DataNodeTag tag = null; String sql = "SELECT * FROM " + tableName + ", Tag WHERE tnodeid=? AND tagid=?"; try (PreparedStatement statement = conn.prepareStatement(sql)) { statement.setLong(1, nodeid); @@ -202,7 +210,7 @@ public List nodeTagNames(Connection conn, long nodeid) { ResultSet results = statement.executeQuery(); conn.setAutoCommit(true); while (results.next()) { - TreeNodeTag nodeTag = readData(results); + DataNodeTag nodeTag = readData(results); if (nodeTag != null) { tags.add(nodeTag.getTag().getTag()); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataTag.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataTag.java index a5c74732f..95e1118dc 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataTag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableDataTag.java @@ -2,14 +2,14 @@ import mara.mybox.db.data.ColumnDefinition; import mara.mybox.db.data.ColumnDefinition.ColumnType; -import mara.mybox.db.data.TreeTag; +import mara.mybox.db.data.DataTag; /** * @Author Mara * @CreateDate 2021-3-3 * @License Apache License Version 2.0 */ -public class TableDataTag extends BaseTable { +public class TableDataTag extends BaseTable { protected BaseTreeData dataTable; @@ -32,7 +32,7 @@ public final TableDataTag defineColumns() { } @Override - public boolean setValue(TreeTag data, String column, Object value) { + public boolean setValue(DataTag data, String column, Object value) { if (data == null || column == null) { return false; } @@ -40,11 +40,19 @@ public boolean setValue(TreeTag data, String column, Object value) { } @Override - public Object getValue(TreeTag data, String column) { + public Object getValue(DataTag data, String column) { if (data == null || column == null) { return null; } return data.getValue(column); } + @Override + public boolean valid(DataTag data) { + if (data == null) { + return false; + } + return data.valid(); + } + } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFileBackup.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFileBackup.java index 627e05f93..1365cb6fe 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFileBackup.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFileBackup.java @@ -72,6 +72,30 @@ public final TableFileBackup defineColumns() { public static final String DeleteBackup = "DELETE FROM File_Backup WHERE file=? AND backup=?"; + @Override + public boolean setValue(FileBackup data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(FileBackup data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(FileBackup data) { + if (data == null) { + return false; + } + return data.valid(); + } + public File path(File file) { if (file == null || !file.exists()) { return null; @@ -288,8 +312,7 @@ public int clearInvalidRows(BaseTaskController taskController, Connection conn) int rowCount = 0, invalidCount = 0; try { recordInfo(taskController, message("Check") + ": " + tableName); - try (PreparedStatement query = conn.prepareStatement(queryAllStatement()); - PreparedStatement delete = conn.prepareStatement(deleteStatement())) { + try (PreparedStatement query = conn.prepareStatement(queryAllStatement()); PreparedStatement delete = conn.prepareStatement(deleteStatement())) { conn.setAutoCommit(true); try (ResultSet results = query.executeQuery()) { conn.setAutoCommit(false); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFloatMatrix.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFloatMatrix.java index 3d4b1cb57..690ef2f57 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFloatMatrix.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableFloatMatrix.java @@ -38,17 +38,41 @@ public final TableFloatMatrix defineColumns() { return this; } + @Override + public boolean setValue(BaseData data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(BaseData data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(BaseData data) { + if (data == null) { + return false; + } + return data.valid(); + } + public static float[][] read(String name, int width, int height) { float[][] matrix = new float[height][width]; - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); - try ( PreparedStatement statement = conn.prepareStatement(" SELECT * FROM Float_Matrix WHERE name=? AND row=? AND col=?")) { + try (PreparedStatement statement = conn.prepareStatement(" SELECT * FROM Float_Matrix WHERE name=? AND row=? AND col=?")) { for (int j = 0; j < height; ++j) { for (int i = 0; i < width; ++i) { statement.setString(1, name); statement.setInt(2, j); statement.setInt(3, i); - try ( ResultSet result = statement.executeQuery()) { + try (ResultSet result = statement.executeQuery()) { if (result.next()) { matrix[j][i] = result.getFloat("value"); } @@ -66,14 +90,14 @@ public static boolean write(String name, float[][] values) { if (name == null || values == null) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { - try ( PreparedStatement statement = conn.prepareStatement( + try (Connection conn = DerbyBase.getConnection()) { + try (PreparedStatement statement = conn.prepareStatement( "DELETE FROM Float_Matrix WHERE name=?")) { statement.setString(1, name); statement.executeUpdate(); } conn.setAutoCommit(false); - try ( PreparedStatement insert = conn.prepareStatement( + try (PreparedStatement insert = conn.prepareStatement( "INSERT INTO Float_Matrix(name, row , col, value) VALUES(?,?,?,?)")) { for (int j = 0; j < values.length; ++j) { for (int i = 0; i < values[j].length; ++i) { @@ -98,14 +122,13 @@ public static boolean write(String name, int row, int col, float value) { if (name == null || row < 0 || col < 0) { return false; } - try ( Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(" SELECT * FROM Float_Matrix WHERE name=? AND row=? AND col=?")) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(" SELECT * FROM Float_Matrix WHERE name=? AND row=? AND col=?")) { statement.setString(1, name); statement.setInt(2, row); statement.setInt(3, col); - try ( ResultSet result = statement.executeQuery()) { + try (ResultSet result = statement.executeQuery()) { if (result.next()) { - try ( PreparedStatement update = conn.prepareStatement("UPDATE Float_Matrix SET value=? WHERE name=? AND row=? AND col=?")) { + try (PreparedStatement update = conn.prepareStatement("UPDATE Float_Matrix SET value=? WHERE name=? AND row=? AND col=?")) { update.setFloat(1, value); update.setString(2, name); update.setInt(3, row); @@ -113,7 +136,7 @@ public static boolean write(String name, int row, int col, float value) { update.executeUpdate(); } } else { - try ( PreparedStatement insert = conn.prepareStatement("INSERT INTO Float_Matrix(name, row , col, value) VALUES(?,?,?,?)")) { + try (PreparedStatement insert = conn.prepareStatement("INSERT INTO Float_Matrix(name, row , col, value) VALUES(?,?,?,?)")) { insert.setString(1, name); insert.setInt(2, row); insert.setInt(3, col); @@ -133,8 +156,8 @@ public static boolean delete(String name, int row, int col) { if (name == null || row < 0 || col < 0) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { - try ( PreparedStatement statement = conn.prepareStatement( + try (Connection conn = DerbyBase.getConnection()) { + try (PreparedStatement statement = conn.prepareStatement( "DELETE FROM Float_Matrix WHERE name=? AND row=? AND col=?")) { statement.setString(1, name); statement.setInt(2, row); @@ -152,8 +175,8 @@ public static boolean delete(String name) { if (name == null) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { - try ( PreparedStatement statement = conn.prepareStatement( + try (Connection conn = DerbyBase.getConnection()) { + try (PreparedStatement statement = conn.prepareStatement( "DELETE FROM Float_Matrix WHERE name=?")) { statement.setString(1, name); statement.executeUpdate(); @@ -169,9 +192,9 @@ public static boolean delete(List names) { if (names == null || names.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setAutoCommit(false); - try ( PreparedStatement statement = conn.prepareStatement( + try (PreparedStatement statement = conn.prepareStatement( "DELETE FROM Float_Matrix WHERE name=?")) { for (int i = 0; i < names.size(); ++i) { statement.setString(1, names.get(i)); @@ -187,13 +210,11 @@ public static boolean delete(List names) { } public static boolean writeExamples() { - try ( Connection conn = DerbyBase.getConnection(); - PreparedStatement query = conn.prepareStatement(" SELECT row FROM Float_Matrix WHERE name=?"); - PreparedStatement insert = conn.prepareStatement("INSERT INTO Float_Matrix(name, row , col, value) VALUES(?,?,?,?)")) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement query = conn.prepareStatement(" SELECT row FROM Float_Matrix WHERE name=?"); PreparedStatement insert = conn.prepareStatement("INSERT INTO Float_Matrix(name, row , col, value) VALUES(?,?,?,?)")) { for (ConvolutionKernel k : ConvolutionKernel.makeExample()) { String name = k.getName(); query.setString(1, name); - try ( ResultSet result = query.executeQuery()) { + try (ResultSet result = query.executeQuery()) { if (!result.next()) { float[][] m = k.getMatrix(); for (int j = 0; j < m.length; ++j) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableGeographyCode.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableGeographyCode.java index b45b5c068..7d9f377f8 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableGeographyCode.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableGeographyCode.java @@ -177,9 +177,33 @@ public final TableGeographyCode defineColumns() { public static final String Delete = "DELETE FROM Geography_Code WHERE gcid=?"; + @Override + public boolean setValue(GeographyCode data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(GeographyCode data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(GeographyCode data) { + if (data == null) { + return false; + } + return data.valid(); + } + private static long generateID(Connection conn) { - try ( Statement statement = conn.createStatement()) { - try ( ResultSet results = statement.executeQuery("SELECT max(gcid) FROM Geography_Code")) { + try (Statement statement = conn.createStatement()) { + try (ResultSet results = statement.executeQuery("SELECT max(gcid) FROM Geography_Code")) { if (results.next()) { MaxID = results.getInt(1); } @@ -319,7 +343,7 @@ public static String codeEqual(String value) { } public static GeographyCode earth() { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return earth(conn); } catch (Exception e) { @@ -334,7 +358,7 @@ public static GeographyCode earth(Connection conn) { } public static GeographyCode China() { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return China(conn); } catch (Exception e) { @@ -349,7 +373,7 @@ public static GeographyCode China(Connection conn) { } public static GeographyCode queryCode(String sql, boolean decodeAncestors) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return queryCode(conn, sql, decodeAncestors); } catch (Exception e) { @@ -364,9 +388,9 @@ public static GeographyCode queryCode(Connection conn, String sql, boolean decod } try { GeographyCode code; - try ( Statement statement = conn.createStatement()) { + try (Statement statement = conn.createStatement()) { statement.setMaxRows(1); - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { if (results.next()) { code = readResults(results); } else { @@ -390,7 +414,7 @@ public static GeographyCode readCode(GeoCoordinateSystem coordinateSystem, if (coordinateSystem == null || !validCoordinate(longitude, latitude)) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return readCode(conn, coordinateSystem, longitude, latitude, decodeAncestors); } catch (Exception e) { @@ -407,7 +431,7 @@ public static GeographyCode readCode(Connection conn, } try { GeographyCode code; - try ( PreparedStatement statement = conn.prepareStatement(CoordinateQeury)) { + try (PreparedStatement statement = conn.prepareStatement(CoordinateQeury)) { statement.setShort(1, coordinateSystem.shortValue()); statement.setDouble(2, longitude); statement.setDouble(3, latitude); @@ -424,7 +448,7 @@ public static GeographyCode readCode(long gcid, boolean decodeAncestors) { if (gcid <= 0) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return readCode(conn, gcid, decodeAncestors); } catch (Exception e) { @@ -439,7 +463,7 @@ public static GeographyCode readCode(Connection conn, long gcid, boolean decodeA } try { GeographyCode code; - try ( PreparedStatement query = conn.prepareStatement(GCidQeury)) { + try (PreparedStatement query = conn.prepareStatement(GCidQeury)) { query.setLong(1, gcid); code = readCode(conn, query, decodeAncestors); } @@ -454,7 +478,7 @@ public static GeographyCode readCode(int level, String name, boolean decodeAnces if (level <= 0 || name == null) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return readCode(conn, level, name, decodeAncestors); } catch (Exception e) { @@ -469,7 +493,7 @@ public static GeographyCode readCode(Connection conn, int level, String name, bo } try { GeographyCode code; - try ( PreparedStatement statement = conn.prepareStatement(LevelNameQeury)) { + try (PreparedStatement statement = conn.prepareStatement(LevelNameQeury)) { statement.setInt(1, level); setNameParameters(statement, name, 1); code = readCode(conn, statement, decodeAncestors); @@ -485,7 +509,7 @@ public static GeographyCode readCode(GeographyCode code, boolean decodeAncestors if (code == null || !GeographyCode.valid(code)) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return readCode(conn, code, decodeAncestors); } catch (Exception e) { @@ -539,7 +563,7 @@ public static GeographyCode readCode(Connection conn, GeographyCode code, boolea } try { if (code.getGcid() > 0) { - try ( PreparedStatement statement = conn.prepareStatement(GCidQeury)) { + try (PreparedStatement statement = conn.prepareStatement(GCidQeury)) { statement.setLong(1, code.getGcid()); return readCode(conn, statement, decodeAncestors); } @@ -641,7 +665,7 @@ public static GeographyCode readCode(Connection conn, PreparedStatement query, b GeographyCode code; query.setMaxRows(1); conn.setAutoCommit(true); - try ( ResultSet results = query.executeQuery()) { + try (ResultSet results = query.executeQuery()) { if (results.next()) { code = readResults(results); } else { @@ -679,7 +703,7 @@ public static GeographyCode decodeAncestors(GeographyCode code) { if (code == null) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); decodeAncestors(conn, code); } catch (Exception e) { @@ -692,7 +716,7 @@ public static void decodeAncestors(Connection conn, GeographyCode code) { if (conn == null || code == null) { return; } - try ( PreparedStatement query = conn.prepareStatement(GCidQeury)) { + try (PreparedStatement query = conn.prepareStatement(GCidQeury)) { decodeAncestors(conn, query, code); } catch (Exception e) { MyBoxLog.error(e); @@ -713,7 +737,7 @@ public static void decodeAncestors(Connection conn, PreparedStatement query, Geo if (code.getContinent() > 0) { query.setLong(1, code.getContinent()); - try ( ResultSet cresults = query.executeQuery()) { + try (ResultSet cresults = query.executeQuery()) { if (cresults.next()) { code.setContinentCode(readResults(cresults)); } @@ -724,7 +748,7 @@ public static void decodeAncestors(Connection conn, PreparedStatement query, Geo } if (code.getCountry() > 0) { query.setLong(1, code.getCountry()); - try ( ResultSet cresults = query.executeQuery()) { + try (ResultSet cresults = query.executeQuery()) { if (cresults.next()) { code.setCountryCode(readResults(cresults)); } @@ -736,7 +760,7 @@ public static void decodeAncestors(Connection conn, PreparedStatement query, Geo } if (code.getProvince() > 0) { query.setLong(1, code.getProvince()); - try ( ResultSet presults = query.executeQuery()) { + try (ResultSet presults = query.executeQuery()) { if (presults.next()) { code.setProvinceCode(readResults(presults)); } @@ -748,7 +772,7 @@ public static void decodeAncestors(Connection conn, PreparedStatement query, Geo } if (code.getCity() > 0) { query.setLong(1, code.getCity()); - try ( ResultSet iresults = query.executeQuery()) { + try (ResultSet iresults = query.executeQuery()) { if (iresults.next()) { code.setCityCode(readResults(iresults)); } @@ -760,7 +784,7 @@ public static void decodeAncestors(Connection conn, PreparedStatement query, Geo } if (code.getCounty() > 0) { query.setLong(1, code.getCounty()); - try ( ResultSet iresults = query.executeQuery()) { + try (ResultSet iresults = query.executeQuery()) { if (iresults.next()) { code.setCountyCode(readResults(iresults)); } @@ -772,7 +796,7 @@ public static void decodeAncestors(Connection conn, PreparedStatement query, Geo } if (code.getTown() > 0) { query.setLong(1, code.getTown()); - try ( ResultSet iresults = query.executeQuery()) { + try (ResultSet iresults = query.executeQuery()) { if (iresults.next()) { code.setTownCode(readResults(iresults)); } @@ -784,7 +808,7 @@ public static void decodeAncestors(Connection conn, PreparedStatement query, Geo } if (code.getVillage() > 0) { query.setLong(1, code.getVillage()); - try ( ResultSet iresults = query.executeQuery()) { + try (ResultSet iresults = query.executeQuery()) { if (iresults.next()) { code.setVillageCode(readResults(iresults)); } @@ -803,7 +827,7 @@ public static long readGCid(Connection conn, PreparedStatement statement) { try { statement.setMaxRows(1); conn.setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { if (results.next()) { return results.getLong("gcid"); } else { @@ -864,7 +888,7 @@ public static GeographyCode readResults(ResultSet results) { public static List queryCodes(String sql, int max, boolean decodeAncestors) { List codes = new ArrayList<>(); - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); codes = queryCodes(conn, sql, max, decodeAncestors); } catch (Exception e) { @@ -879,11 +903,11 @@ public static List queryCodes(Connection conn, String sql, boolea public static List queryCodes(Connection conn, String sql, int max, boolean decodeAncestors) { List codes = new ArrayList<>(); - try ( Statement statement = conn.createStatement()) { + try (Statement statement = conn.createStatement()) { if (max > 0) { statement.setMaxRows(max); } - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { while (results.next()) { GeographyCode code = readResults(results); codes.add(code); @@ -904,9 +928,9 @@ public static List readAll(boolean decodeAncestors) { public static List readMax(int max, boolean decodeAncestors) { List codes = new ArrayList<>(); - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); - try ( PreparedStatement statement = conn.prepareStatement(AllQeury)) { + try (PreparedStatement statement = conn.prepareStatement(AllQeury)) { if (max > 0) { statement.setMaxRows(max); } @@ -923,9 +947,9 @@ public static List readRangle(long offset, long number, boolean d if (offset < 0 || number <= 0) { return codes; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); - try ( PreparedStatement statement = conn.prepareStatement(PageQeury)) { + try (PreparedStatement statement = conn.prepareStatement(PageQeury)) { statement.setLong(1, offset); statement.setLong(2, number); codes = readCodes(conn, statement, decodeAncestors); @@ -940,7 +964,7 @@ public static List readCodes(Connection conn, PreparedStatement s List codes = new ArrayList<>(); try { conn.setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { while (results.next()) { GeographyCode code = readResults(results); codes.add(code); @@ -960,10 +984,10 @@ public static List queryChildren(Connection conn, long gcid) { if (gcid <= 0) { return codes; } - try ( PreparedStatement query = conn.prepareStatement(ChildrenQuery)) { + try (PreparedStatement query = conn.prepareStatement(ChildrenQuery)) { query.setLong(1, gcid); conn.setAutoCommit(true); - try ( ResultSet results = query.executeQuery()) { + try (ResultSet results = query.executeQuery()) { while (results.next()) { GeographyCode code = readResults(results); codes.add(code); @@ -979,7 +1003,7 @@ public static boolean write(GeographyCode code) { if (code == null) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return write(conn, code); } catch (Exception e) { MyBoxLog.error(e); @@ -1010,7 +1034,7 @@ public static boolean write(List codes) { if (codes == null || codes.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return write(conn, codes); } catch (Exception e) { MyBoxLog.error(e); @@ -1022,8 +1046,7 @@ public static boolean write(Connection conn, List codes) { if (codes == null || codes.isEmpty()) { return false; } - try ( PreparedStatement update = conn.prepareStatement(Update); - PreparedStatement insert = conn.prepareStatement(Insert);) { + try (PreparedStatement update = conn.prepareStatement(Update); PreparedStatement insert = conn.prepareStatement(Insert);) { conn.setAutoCommit(false); for (GeographyCode code : codes) { GeographyCode exist = readCode(conn, code, false); @@ -1046,7 +1069,7 @@ public static boolean insert(GeographyCode code) { if (code == null || !GeographyCode.valid(code)) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return insert(conn, code); } catch (Exception e) { MyBoxLog.error(e); @@ -1232,7 +1255,7 @@ public static boolean insert(Connection conn, GeographyCode code) { if (conn == null || code == null || !GeographyCode.valid(code)) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(Insert)) { + try (PreparedStatement statement = conn.prepareStatement(Insert)) { return insert(conn, statement, code); } catch (Exception e) { MyBoxLog.error(e); @@ -1360,7 +1383,7 @@ public static boolean update(Connection conn, GeographyCode code) { if (conn == null || code == null || !GeographyCode.valid(code)) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(Update)) { + try (PreparedStatement statement = conn.prepareStatement(Update)) { return update(conn, statement, code); } catch (Exception e) { MyBoxLog.error(e); @@ -1489,8 +1512,8 @@ public static boolean delete(GeographyCode code) { if (code == null || !GeographyCode.valid(code) || GeographyCode.isPredefined(code)) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { - try ( PreparedStatement statement = conn.prepareStatement(Delete)) { + try (Connection conn = DerbyBase.getConnection()) { + try (PreparedStatement statement = conn.prepareStatement(Delete)) { return delete(conn, statement, code); } } catch (Exception e) { @@ -1523,9 +1546,9 @@ public static int delete(List codes) { return 0; } int count = 0; - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setAutoCommit(false); - try ( PreparedStatement statement = conn.prepareStatement(Delete)) { + try (PreparedStatement statement = conn.prepareStatement(Delete)) { for (int i = 0; i < codes.size(); ++i) { GeographyCode code = codes.get(i); if (code.getGcid() <= 0 || GeographyCode.isPredefined(code)) { @@ -1572,13 +1595,13 @@ public static List haveChildren(Connection conn, List nodes if (conn == null || nodes == null) { return haveChildren; } - try ( PreparedStatement query = conn.prepareStatement(FirstChildQuery)) { + try (PreparedStatement query = conn.prepareStatement(FirstChildQuery)) { query.setMaxRows(1); conn.setAutoCommit(true); for (GeographyCode code : nodes) { long gcid = code.getGcid(); query.setLong(1, gcid); - try ( ResultSet results = query.executeQuery()) { + try (ResultSet results = query.executeQuery()) { if (results.next()) { haveChildren.add(gcid); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageClipboard.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageClipboard.java index 70694b785..06d402ba5 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageClipboard.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageClipboard.java @@ -52,6 +52,30 @@ public final TableImageClipboard defineColumns() { public static final String DeleteFile = "DELETE FROM Image_Clipboard WHERE image_file=?"; + @Override + public boolean setValue(ImageClipboard data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(ImageClipboard data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(ImageClipboard data) { + if (data == null) { + return false; + } + return data.valid(); + } + public int clearInvalid(BaseTaskController taskController, Connection conn) { int count = clearInvalidRows(taskController, conn); return count + clearInvalidFiles(taskController, conn); @@ -61,8 +85,7 @@ public int clearInvalidRows(BaseTaskController taskController, Connection conn) int rowCount = 0, invalidCount = 0; try { recordInfo(taskController, message("Check") + ": " + tableName); - try (PreparedStatement query = conn.prepareStatement(queryAllStatement()); - PreparedStatement delete = conn.prepareStatement(deleteStatement())) { + try (PreparedStatement query = conn.prepareStatement(queryAllStatement()); PreparedStatement delete = conn.prepareStatement(deleteStatement())) { conn.setAutoCommit(true); try (ResultSet results = query.executeQuery()) { conn.setAutoCommit(false); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageEditHistory.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageEditHistory.java index 1b7faf2c4..97227b640 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageEditHistory.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableImageEditHistory.java @@ -72,6 +72,30 @@ public final TableImageEditHistory defineColumns() { public static final String QueryFile = "SELECT * FROM Image_Edit_History WHERE history_location=? OR thumbnail_file=?"; + @Override + public boolean setValue(ImageEditHistory data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(ImageEditHistory data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(ImageEditHistory data) { + if (data == null) { + return false; + } + return data.valid(); + } + public File path(File file) { if (file == null || !file.exists()) { return null; @@ -269,8 +293,7 @@ public long clearHistories(FxTask task, Connection conn, List files) { } public int clearAll() { - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { String sql = " SELECT history_location FROM Image_Edit_History"; try (ResultSet results = statement.executeQuery(sql)) { while (results.next()) { @@ -304,8 +327,7 @@ public int clearInvalidRows(BaseTaskController taskController, Connection conn) int rowCount = 0, invalidCount = 0; try { recordInfo(taskController, message("Check") + ": " + tableName); - try (PreparedStatement query = conn.prepareStatement(queryAllStatement()); - PreparedStatement delete = conn.prepareStatement(deleteStatement())) { + try (PreparedStatement query = conn.prepareStatement(queryAllStatement()); PreparedStatement delete = conn.prepareStatement(deleteStatement())) { conn.setAutoCommit(true); try (ResultSet results = query.executeQuery()) { conn.setAutoCommit(false); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNode.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNode.java index 447793362..d7087312e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNode.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNode.java @@ -86,6 +86,30 @@ public final TableInfoNode defineColumns() { public static final String DeleteChildren = "DELETE FROM Tree_Node WHERE parentid=? AND nodeid<>parentid"; + @Override + public boolean setValue(InfoNode data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(InfoNode data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(InfoNode data) { + if (data == null) { + return false; + } + return data.valid(); + } + public InfoNode find(long id) { if (id < 0) { return null; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNodeTag.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNodeTag.java index bd17d9fd4..491cfc34e 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNodeTag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableInfoNodeTag.java @@ -94,6 +94,30 @@ public boolean setForeignValue(InfoNodeTag data, String column, Object value) { return true; } + @Override + public boolean setValue(InfoNodeTag data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(InfoNodeTag data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(InfoNodeTag data) { + if (data == null) { + return false; + } + return data.valid(); + } + public List nodeTags(long nodeid) { List tags = new ArrayList<>(); if (nodeid < 0) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMathFunction.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMathFunction.java index 7d65d3635..15345b1dd 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMathFunction.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMathFunction.java @@ -32,4 +32,28 @@ public final TableMathFunction defineColumns() { return this; } + @Override + public boolean setValue(MathFunction data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(MathFunction data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(MathFunction data) { + if (data == null) { + return false; + } + return data.valid(); + } + } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMedia.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMedia.java index 477c469e3..35a755006 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMedia.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMedia.java @@ -46,12 +46,26 @@ public final TableMedia defineColumns() { return this; } + @Override + public boolean setValue(MediaInformation data, String column, Object value) { + return false; + } + + @Override + public Object getValue(MediaInformation data, String column) { + return null; + } + + @Override + public boolean valid(MediaInformation data) { + return false; + } + public static MediaInformation read(String address) { if (address == null || address.trim().isEmpty()) { return null; } - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { conn.setReadOnly(true); statement.setMaxRows(1); String sql = " SELECT * FROM media WHERE address='" + DerbyBase.stringValue(address) + "'"; @@ -128,8 +142,7 @@ public static boolean write(MediaInformation media) { if (media == null || media.getAddress() == null) { return false; } - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { String sql = "DELETE FROM media WHERE address='" + DerbyBase.stringValue(media.getAddress()) + "'"; statement.executeUpdate(sql); sql = "INSERT INTO media(address,video_encoding,audio_encoding,duration,size,width,height,info,html,modify_time) VALUES('" @@ -218,8 +231,7 @@ public static boolean delete(Connection conn, List addresses) { } public static boolean delete(String address) { - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { String sql = "DELETE FROM media WHERE address='" + DerbyBase.stringValue(address) + "'"; statement.executeUpdate(sql); return true; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMediaList.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMediaList.java index f93bf2fae..b38d68409 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMediaList.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMediaList.java @@ -42,13 +42,27 @@ public final TableMediaList defineColumns() { return this; } + @Override + public boolean setValue(MediaList data, String column, Object value) { + return false; + } + + @Override + public Object getValue(MediaList data, String column) { + return null; + } + + @Override + public boolean valid(MediaList data) { + return false; + } + public static List read() { - try ( Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { conn.setReadOnly(true); List names = new ArrayList(); String sql = " SELECT DISTINCT list_name FROM media_list"; - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { while (results.next()) { names.add(results.getString("list_name")); } @@ -58,7 +72,7 @@ public static List read() { for (String name : names) { sql = " SELECT * FROM media_list WHERE list_name='" + DerbyBase.stringValue(name) + "' ORDER BY address_index"; List addresses; - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { addresses = new ArrayList(); while (results.next()) { addresses.add(results.getString("address")); @@ -78,12 +92,11 @@ public static List read() { } public static List names() { - try ( Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { conn.setReadOnly(true); List names = new ArrayList(); String sql = " SELECT DISTINCT list_name FROM media_list"; - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { while (results.next()) { names.add(results.getString("list_name")); } @@ -102,12 +115,11 @@ public static MediaList read(String name) { if (name == null || name.trim().isEmpty()) { return null; } - try ( Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { conn.setReadOnly(true); String sql = " SELECT * FROM media_list WHERE list_name='" + DerbyBase.stringValue(name) + "' ORDER BY address_index"; List addresses = new ArrayList(); - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { while (results.next()) { addresses.add(results.getString("address")); } @@ -130,8 +142,7 @@ public static boolean set(String name, List medias) { if (medias == null || medias.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { // TableMedia.write(statement, medias); String sql = "DELETE FROM media_list WHERE list_name='" + DerbyBase.stringValue(name) + "'"; statement.executeUpdate(sql); @@ -157,11 +168,10 @@ public static boolean set(String name, List medias) { } public static boolean delete(String name) { - try ( Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { List addresses = new ArrayList(); String sql = " SELECT * FROM media_list WHERE list_name='" + DerbyBase.stringValue(name) + "'"; - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { while (results.next()) { addresses.add(results.getString("address")); } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMyBoxLog.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMyBoxLog.java index 6ee7aa2e3..c13622031 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMyBoxLog.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableMyBoxLog.java @@ -46,4 +46,27 @@ public final TableMyBoxLog defineColumns() { public static final String TypeQuery = " SELECT * FROM MyBox_Log WHERE log_type=? ORDER BY time DESC "; + @Override + public boolean setValue(MyBoxLog data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(MyBoxLog data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(MyBoxLog data) { + if (data == null) { + return false; + } + return data.valid(); + } } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNamedValues.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNamedValues.java index f51a64c77..1ebd69fe4 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNamedValues.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNamedValues.java @@ -41,11 +41,35 @@ public final TableNamedValues defineColumns() { public static final String QueryKey = "SELECT * FROM Named_Values WHERE key_name=?"; + @Override + public boolean setValue(NamedValues data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(NamedValues data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(NamedValues data) { + if (data == null) { + return false; + } + return data.valid(); + } + public List read(String key) { if (key == null || key.trim().isEmpty()) { return new ArrayList<>(); } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return read(conn, key); } catch (Exception e) { @@ -58,7 +82,7 @@ public List read(Connection conn, String key) { if (conn == null || key == null || key.trim().isEmpty()) { return new ArrayList<>(); } - try ( PreparedStatement statement = conn.prepareStatement(QueryKey)) { + try (PreparedStatement statement = conn.prepareStatement(QueryKey)) { statement.setString(1, key); return query(statement); } catch (Exception e) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNote.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNote.java index 4160ef507..507e520e3 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNote.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableNote.java @@ -51,6 +51,14 @@ public Object getValue(Note data, String column) { return data.getValue(column); } + @Override + public boolean valid(Note data) { + if (data == null) { + return false; + } + return data.valid(); + } + @Override public long insertData(Connection conn, String title, String info) { try { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TablePathConnection.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TablePathConnection.java index af66bc5c1..6d4b85c1c 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TablePathConnection.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TablePathConnection.java @@ -53,6 +53,30 @@ public final TablePathConnection defineColumns() { public static final String Clear_Type = "DELETE * FROM Path_Connection WHERE type=?"; + @Override + public boolean setValue(PathConnection data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(PathConnection data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(PathConnection data) { + if (data == null) { + return false; + } + return data.valid(); + } + /* local methods */ @@ -88,8 +112,7 @@ public int clear(PathConnection.Type type) { if (type == null) { return -1; } - try (Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(Clear_Type)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(Clear_Type)) { statement.setString(1, type.name()); return statement.executeUpdate(); } catch (Exception e) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableQueryCondition.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableQueryCondition.java index 4c8500c9a..57ca12cd6 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableQueryCondition.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableQueryCondition.java @@ -22,19 +22,19 @@ * @License Apache License Version 2.0 */ public class TableQueryCondition extends BaseTable { - + public TableQueryCondition() { tableName = "Query_Condition"; defineColumns(); } - + public TableQueryCondition(boolean defineColumns) { tableName = "Query_Condition"; if (defineColumns) { defineColumns(); } } - + public final TableQueryCondition defineColumns() { addColumn(new ColumnDefinition("qcid", ColumnDefinition.ColumnType.Long, true, true).setAuto(true)); addColumn(new ColumnDefinition("data_name", ColumnDefinition.ColumnType.String, true).setLength(StringMaxLength)); @@ -48,33 +48,57 @@ public final TableQueryCondition defineColumns() { addColumn(new ColumnDefinition("time", ColumnDefinition.ColumnType.Datetime, true)); return this; } - + public static final String QCidQeury = "SELECT * FROM Query_Condition WHERE qcid=?"; - + public static final String OperationQeury = " SELECT * FROM Query_Condition WHERE data_name=? AND operation=? ORDER BY time DESC"; - + public static final String Insert = "INSERT INTO Query_Condition " + " ( data_name, operation, title, prefix, qwhere, qorder, qfetch, top, time )" + "VALUES(?,?,?,?,?,?,?,?,?)"; - + public static final String Update = "UPDATE Query_Condition SET " + " data_name=?, operation=?, title=?, prefix=?, qwhere=?, qorder=?, qfetch=?, top=?, time=?" + " WHERE qcid=?"; - + public static final String Delete = "DELETE FROM Query_Condition WHERE qcid=?"; - + + @Override + public boolean setValue(StringValue data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(StringValue data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(StringValue data) { + if (data == null) { + return false; + } + return data.valid(); + } + public static List readList(String dataName, DataOperation dataOperation) { return readList(dataName, dataOperation, 0); } - + public static List readList(String dataName, DataOperation dataOperation, int max) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return read(conn, dataName, dataOperation, max); } catch (Exception e) { @@ -82,7 +106,7 @@ public static List readList(String dataName, return new ArrayList(); } } - + public static List read(Connection conn, String dataName, DataOperation dataOperation, int max) { List conditions = new ArrayList(); @@ -90,12 +114,12 @@ public static List read(Connection conn, if (dataName == null || conn == null || operation <= 0) { return conditions; } - try ( PreparedStatement statement = conn.prepareStatement(OperationQeury)) { + try (PreparedStatement statement = conn.prepareStatement(OperationQeury)) { statement.setMaxRows(max); statement.setString(1, dataName); statement.setShort(2, (short) operation); conn.setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { while (results.next()) { QueryCondition condition = read(results); if (condition != null) { @@ -105,11 +129,11 @@ public static List read(Connection conn, } } catch (Exception e) { MyBoxLog.error(e); - + } return conditions; } - + public static QueryCondition read(ResultSet results) { if (results == null) { return null; @@ -126,19 +150,19 @@ public static QueryCondition read(ResultSet results) { condition.setFetch(results.getString("qfetch")); condition.setTop(results.getShort("top")); condition.setTime(results.getTimestamp("time").getTime()); - + return condition; } catch (Exception e) { MyBoxLog.error(e); return null; } } - + public static QueryCondition read(long qcid) { if (qcid <= 0) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return read(conn, qcid); } catch (Exception e) { @@ -146,19 +170,19 @@ public static QueryCondition read(long qcid) { } return null; } - + public static QueryCondition read(Connection conn, long qcid) { if (conn == null || qcid < 0) { return null; } - try ( PreparedStatement statement = conn.prepareStatement(QCidQeury)) { + try (PreparedStatement statement = conn.prepareStatement(QCidQeury)) { return read(statement, qcid); } catch (Exception e) { MyBoxLog.error(e); } return null; } - + public static QueryCondition read(PreparedStatement statement, long qcid) { if (statement == null || qcid < 0) { return null; @@ -167,7 +191,7 @@ public static QueryCondition read(PreparedStatement statement, long qcid) { statement.setMaxRows(1); statement.setLong(1, qcid); statement.getConnection().setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { if (results.next()) { return read(results); } @@ -177,12 +201,12 @@ public static QueryCondition read(PreparedStatement statement, long qcid) { } return null; } - + public static QueryCondition read(QueryCondition queryCondition) { if (queryCondition == null) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return read(conn, queryCondition); } catch (Exception e) { @@ -190,12 +214,12 @@ public static QueryCondition read(QueryCondition queryCondition) { } return null; } - + public static QueryCondition read(Connection conn, QueryCondition queryCondition) { if (queryCondition == null) { return null; } - try ( Statement statement = conn.createStatement()) { + try (Statement statement = conn.createStatement()) { statement.setMaxRows(1); String sql = "SELECT * FROM Query_Condition WHERE " + "data_name='" + DerbyBase.stringValue(queryCondition.getDataName()) + "' AND " @@ -205,7 +229,7 @@ public static QueryCondition read(Connection conn, QueryCondition queryCondition + (queryCondition.getWhere() == null ? " qwhere IS NULL " : " qwhere='" + DerbyBase.stringValue(queryCondition.getWhere()) + "'") + " AND " + (queryCondition.getOrder() == null ? " qorder IS NULL " : " qorder='" + DerbyBase.stringValue(queryCondition.getOrder()) + "'") + " AND " + (queryCondition.getFetch() == null ? " qfetch IS NULL " : " qfetch='" + DerbyBase.stringValue(queryCondition.getFetch()) + "'"); - try ( ResultSet results = statement.executeQuery(sql)) { + try (ResultSet results = statement.executeQuery(sql)) { if (results.next()) { return read(results); } @@ -215,19 +239,19 @@ public static QueryCondition read(Connection conn, QueryCondition queryCondition } return null; } - + public static boolean write(QueryCondition condition, boolean checkEqual) { if (condition == null) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return write(conn, condition, checkEqual); } catch (Exception e) { MyBoxLog.error(e); return false; } } - + public static boolean write(Connection conn, QueryCondition condition, boolean checkEqual) { if (conn == null || condition == null || !condition.isValid()) { return false; @@ -253,16 +277,13 @@ public static boolean write(Connection conn, QueryCondition condition, boolean c return false; } } - + public static boolean write(List conditions, boolean checkEqual) { if (conditions == null || conditions.isEmpty()) { return false; - + } - try ( Connection conn = DerbyBase.getConnection(); - PreparedStatement idQuery = conn.prepareStatement(QCidQeury); - PreparedStatement insert = conn.prepareStatement(Insert); - PreparedStatement update = conn.prepareStatement(Update)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement idQuery = conn.prepareStatement(QCidQeury); PreparedStatement insert = conn.prepareStatement(Insert); PreparedStatement update = conn.prepareStatement(Update)) { conn.setAutoCommit(false); for (QueryCondition condition : conditions) { QueryCondition exist = null; @@ -287,31 +308,31 @@ public static boolean write(List conditions, boolean checkEqual) return false; } } - + public static boolean insert(QueryCondition condition) { if (condition == null) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return insert(conn, condition); } catch (Exception e) { MyBoxLog.error(e); return false; } } - + public static boolean insert(Connection conn, QueryCondition condition) { if (conn == null || condition == null || !condition.isValid()) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(Insert)) { + try (PreparedStatement statement = conn.prepareStatement(Insert)) { return insert(statement, condition); } catch (Exception e) { MyBoxLog.error(e); return false; } } - + public static boolean insert(PreparedStatement statement, QueryCondition condition) { if (statement == null || condition == null || !condition.isValid()) { return false; @@ -332,32 +353,32 @@ public static boolean insert(PreparedStatement statement, QueryCondition conditi return false; } } - + public static boolean update(QueryCondition condition) { if (condition == null) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return update(conn, condition); } catch (Exception e) { MyBoxLog.error(e); return false; } } - + public static boolean update(Connection conn, QueryCondition condition) { if (conn == null || condition == null || condition.getQcid() <= 0 || !condition.isValid()) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(Update)) { + try (PreparedStatement statement = conn.prepareStatement(Update)) { return update(statement, condition); } catch (Exception e) { MyBoxLog.error(e); return false; } } - + public static boolean update(PreparedStatement statement, QueryCondition condition) { if (statement == null || condition == null || condition.getQcid() <= 0 || !condition.isValid()) { @@ -380,48 +401,48 @@ public static boolean update(PreparedStatement statement, QueryCondition conditi return false; } } - + public static boolean delete(QueryCondition condition) { if (condition == null || condition.getQcid() <= 0) { return false; } return delete(condition.getQcid()); } - + public static boolean delete(long qcid) { if (qcid <= 0) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return delete(conn, qcid); } catch (Exception e) { MyBoxLog.error(e); - + return false; } } - + public static boolean delete(Connection conn, long qcid) { if (conn == null || qcid <= 0) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(Delete)) { + try (PreparedStatement statement = conn.prepareStatement(Delete)) { statement.setLong(1, qcid); return statement.executeUpdate() > 0; } catch (Exception e) { MyBoxLog.error(e); - + return false; } } - + public static boolean delete(List conditions) { if (conditions == null || conditions.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setAutoCommit(false); - try ( PreparedStatement statement = conn.prepareStatement(Delete)) { + try (PreparedStatement statement = conn.prepareStatement(Delete)) { for (QueryCondition condition : conditions) { statement.setLong(1, condition.getQcid()); statement.executeUpdate(); @@ -431,9 +452,9 @@ public static boolean delete(List conditions) { return true; } catch (Exception e) { MyBoxLog.error(e); - + return false; } } - + } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValue.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValue.java index 9499fffbd..9d71941d7 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValue.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValue.java @@ -53,11 +53,35 @@ public final TableStringValue defineColumns() { public static final String Delete = "DELETE FROM String_Value WHERE key_name=?"; + @Override + public boolean setValue(StringValue data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(StringValue data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(StringValue data) { + if (data == null) { + return false; + } + return data.valid(); + } + public static String read(String name) { if (name == null || name.trim().isEmpty()) { return null; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return read(conn, name); } catch (Exception e) { @@ -71,11 +95,11 @@ public static String read(Connection conn, String name) { if (conn == null || name == null || name.trim().isEmpty()) { return null; } - try ( PreparedStatement statement = conn.prepareStatement(Query)) { + try (PreparedStatement statement = conn.prepareStatement(Query)) { statement.setMaxRows(1); statement.setString(1, stringValue(name)); conn.setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { if (results.next()) { return results.getString("string_value"); } @@ -92,7 +116,7 @@ public static boolean write(String name, String value) { || value == null || value.trim().isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return write(conn, name, value); } catch (Exception e) { MyBoxLog.error(e); @@ -103,25 +127,25 @@ public static boolean write(String name, String value) { public static boolean write(Connection conn, String name, String value) { try { boolean existed = false; - try ( PreparedStatement statement = conn.prepareStatement(Query)) { + try (PreparedStatement statement = conn.prepareStatement(Query)) { statement.setMaxRows(1); statement.setString(1, name); conn.setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { if (results.next()) { existed = true; } } } if (existed) { - try ( PreparedStatement statement = conn.prepareStatement(Update)) { + try (PreparedStatement statement = conn.prepareStatement(Update)) { statement.setString(1, DateTools.datetimeToString(new Date())); statement.setString(2, value); statement.setString(3, name); return statement.executeUpdate() > 0; } } else { - try ( PreparedStatement statement = conn.prepareStatement(Insert)) { + try (PreparedStatement statement = conn.prepareStatement(Insert)) { statement.setString(1, name); statement.setString(2, value); statement.setString(3, DateTools.datetimeToString(new Date())); @@ -142,7 +166,7 @@ public static boolean writeWithPrefix(String prefix, Map nameVal if (nameValues == null || nameValues.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setAutoCommit(false); for (String name : nameValues.keySet()) { String value = nameValues.get(name); @@ -165,8 +189,7 @@ public static boolean delete(String name) { if (name == null || name.trim().isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(Delete)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(Delete)) { statement.setString(1, name); return statement.executeUpdate() > 0; } catch (Exception e) { @@ -177,7 +200,7 @@ public static boolean delete(String name) { } public static Map readWithPrefix(String prefix) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return readWithPrefix(conn, prefix); } catch (Exception e) { @@ -194,8 +217,7 @@ public static Map readWithPrefix(Connection conn, String prefix) } String sql = " SELECT key_name, string_value FROM String_Value WHERE key_name like '" + stringValue(prefix) + "%' "; - try ( Statement statement = conn.createStatement(); - ResultSet results = statement.executeQuery(sql)) { + try (Statement statement = conn.createStatement(); ResultSet results = statement.executeQuery(sql)) { while (results.next()) { keyValues.put(results.getString("key_name"), results.getString("string_value")); } @@ -210,8 +232,7 @@ public static boolean clearPrefix(String prefix) { if (prefix == null || prefix.trim().isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { String sql = "DELETE FROM String_Value WHERE key_name like '" + stringValue(prefix) + "%' "; statement.executeUpdate(sql); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValues.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValues.java index af6cc469c..7814580c5 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValues.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableStringValues.java @@ -42,6 +42,30 @@ public final TableStringValues defineColumns() { return this; } + @Override + public boolean setValue(StringValues data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(StringValues data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(StringValues data) { + if (data == null) { + return false; + } + return data.valid(); + } + public static List read(String name) { List records = new ArrayList<>(); if (name == null || name.trim().isEmpty()) { @@ -64,8 +88,7 @@ public static List read(Connection conn, String name) { } String sql = " SELECT * FROM String_Values WHERE key_name='" + stringValue(name) + "' ORDER BY create_time DESC"; - try (Statement statement = conn.createStatement(); - ResultSet results = statement.executeQuery(sql)) { + try (Statement statement = conn.createStatement(); ResultSet results = statement.executeQuery(sql)) { while (results.next()) { records.add(results.getString("string_value")); } @@ -98,8 +121,7 @@ public static List values(Connection conn, String name) { } String sql = " SELECT * FROM String_Values WHERE key_name='" + stringValue(name) + "' ORDER BY create_time DESC"; - try (Statement statement = conn.createStatement(); - ResultSet results = statement.executeQuery(sql)) { + try (Statement statement = conn.createStatement(); ResultSet results = statement.executeQuery(sql)) { while (results.next()) { StringValues record = new StringValues(name, results.getString("string_value"), @@ -118,8 +140,7 @@ public static String last(String name) { return null; } String value = null; - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { conn.setReadOnly(true); statement.setMaxRows(1); String sql = " SELECT * FROM String_Values WHERE key_name='" @@ -277,8 +298,7 @@ public static boolean delete(String name, String value) { || value == null || value.trim().isEmpty()) { return false; } - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { String sql = "DELETE FROM String_Values WHERE key_name='" + stringValue(name) + "' AND string_value='" + stringValue(value) + "'"; statement.executeUpdate(sql); @@ -291,8 +311,7 @@ public static boolean delete(String name, String value) { } public static boolean clear(String name) { - try (Connection conn = DerbyBase.getConnection(); - Statement statement = conn.createStatement()) { + try (Connection conn = DerbyBase.getConnection(); Statement statement = conn.createStatement()) { String sql = "DELETE FROM String_Values WHERE key_name='" + stringValue(name) + "'"; statement.executeUpdate(sql); return true; diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableSystemConf.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableSystemConf.java index bc101a89f..45bff17ba 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableSystemConf.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableSystemConf.java @@ -47,6 +47,30 @@ public final TableSystemConf defineColumns() { final static String Delete = "DELETE FROM System_Conf WHERE key_Name=?"; final static String DeleteLike = "DELETE FROM System_Conf WHERE key_Name like ?"; + @Override + public boolean setValue(StringValue data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(StringValue data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(StringValue data) { + if (data == null) { + return false; + } + return data.valid(); + } + public boolean init(Connection conn) { try { if (conn == null) { @@ -57,8 +81,7 @@ public boolean init(Connection conn) { if (values == null || values.isEmpty()) { return false; } - try ( PreparedStatement intStatement = conn.prepareStatement(InsertInt); - PreparedStatement stringStatement = conn.prepareStatement(InsertString)) { + try (PreparedStatement intStatement = conn.prepareStatement(InsertInt); PreparedStatement stringStatement = conn.prepareStatement(InsertString)) { for (String key : values.keySet()) { String value = values.get(key); switch (value.toLowerCase()) { @@ -96,7 +119,7 @@ public boolean init(Connection conn) { } public static String readString(String keyName, String defaultValue) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return readString(conn, keyName, defaultValue); } catch (Exception e) { MyBoxLog.error(e); @@ -109,11 +132,11 @@ public static String readString(Connection conn, String keyName, String defaultV if (conn == null || keyName == null) { return null; } - try ( PreparedStatement queryStatement = conn.prepareStatement(QueryString)) { + try (PreparedStatement queryStatement = conn.prepareStatement(QueryString)) { queryStatement.setMaxRows(1); queryStatement.setString(1, keyName); conn.setAutoCommit(true); - try ( ResultSet resultSet = queryStatement.executeQuery()) { + try (ResultSet resultSet = queryStatement.executeQuery()) { if (resultSet.next()) { String value = resultSet.getString(1); if (value == null) { @@ -124,7 +147,7 @@ public static String readString(Connection conn, String keyName, String defaultV } } if (defaultValue != null) { - try ( PreparedStatement insert = conn.prepareStatement(InsertString)) { + try (PreparedStatement insert = conn.prepareStatement(InsertString)) { insert.setString(1, keyName); insert.setString(2, defaultValue); insert.executeUpdate(); @@ -142,12 +165,12 @@ public static String readString(Connection conn, String keyName) { } public static int readInt(String keyName, int defaultValue) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { int exist = readInt(conn, keyName); if (exist != AppValues.InvalidInteger) { return exist; } else { - try ( PreparedStatement insert = conn.prepareStatement(UpdateInt)) { + try (PreparedStatement insert = conn.prepareStatement(UpdateInt)) { insert.setInt(1, defaultValue); insert.setString(2, keyName); insert.executeUpdate(); @@ -161,11 +184,11 @@ public static int readInt(String keyName, int defaultValue) { public static int readInt(Connection conn, String keyName) { int value = AppValues.InvalidInteger; - try ( PreparedStatement queryStatement = conn.prepareStatement(QueryInt)) { + try (PreparedStatement queryStatement = conn.prepareStatement(QueryInt)) { queryStatement.setMaxRows(1); queryStatement.setString(1, keyName); conn.setAutoCommit(true); - try ( ResultSet resultSet = queryStatement.executeQuery()) { + try (ResultSet resultSet = queryStatement.executeQuery()) { if (resultSet.next()) { value = resultSet.getInt(1); } @@ -185,14 +208,14 @@ public static int writeString(String keyName, String stringValue) { if (keyName == null) { return 0; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { if (stringValue == null) { return delete(conn, keyName) ? 1 : 0; } String exist = readString(conn, keyName); if (exist != null) { if (!stringValue.equals(exist)) { - try ( PreparedStatement statement = conn.prepareStatement(UpdateString)) { + try (PreparedStatement statement = conn.prepareStatement(UpdateString)) { statement.setString(1, stringValue); statement.setString(2, keyName); return statement.executeUpdate(); @@ -201,7 +224,7 @@ public static int writeString(String keyName, String stringValue) { return 0; } } else { - try ( PreparedStatement statement = conn.prepareStatement(InsertString)) { + try (PreparedStatement statement = conn.prepareStatement(InsertString)) { statement.setString(1, keyName); statement.setString(2, stringValue); return statement.executeUpdate(); @@ -214,11 +237,11 @@ public static int writeString(String keyName, String stringValue) { } public static int writeInt(String keyName, int intValue) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { int exist = readInt(conn, keyName); if (exist != AppValues.InvalidInteger) { if (intValue != exist) { - try ( PreparedStatement statement = conn.prepareStatement(UpdateInt)) { + try (PreparedStatement statement = conn.prepareStatement(UpdateInt)) { statement.setInt(1, intValue); statement.setString(2, keyName); return statement.executeUpdate(); @@ -227,7 +250,7 @@ public static int writeInt(String keyName, int intValue) { return 0; } } else { - try ( PreparedStatement statement = conn.prepareStatement(InsertInt)) { + try (PreparedStatement statement = conn.prepareStatement(InsertInt)) { statement.setString(1, keyName); statement.setInt(2, intValue); return statement.executeUpdate(); @@ -247,7 +270,7 @@ public static boolean delete(String keyName) { if (keyName == null || keyName.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return delete(conn, keyName); } catch (Exception e) { MyBoxLog.error(e); @@ -259,7 +282,7 @@ public static boolean delete(Connection conn, String keyName) { if (keyName == null || keyName.isEmpty()) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(Delete)) { + try (PreparedStatement statement = conn.prepareStatement(Delete)) { statement.setString(1, keyName); return statement.executeUpdate() >= 0; } catch (Exception e) { @@ -272,7 +295,7 @@ public static boolean deletePrefix(String keyName) { if (keyName == null || keyName.isEmpty()) { return false; } - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return deletePrefix(conn, keyName); } catch (Exception e) { MyBoxLog.error(e); @@ -284,7 +307,7 @@ public static boolean deletePrefix(Connection conn, String keyName) { if (keyName == null || keyName.isEmpty()) { return false; } - try ( PreparedStatement statement = conn.prepareStatement(DeleteLike)) { + try (PreparedStatement statement = conn.prepareStatement(DeleteLike)) { statement.setString(1, keyName + "%"); return statement.executeUpdate() >= 0; } catch (Exception e) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTag.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTag.java index d2366bcd8..f1d2eb4a4 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTag.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTag.java @@ -48,11 +48,35 @@ public final TableTag defineColumns() { public static final String QueryCategoryTags = "SELECT tag FROM Tag WHERE category=? "; + @Override + public boolean setValue(Tag data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(Tag data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(Tag data) { + if (data == null) { + return false; + } + return data.valid(); + } + public Tag queryTag(Connection conn, String category, String tag) { if (conn == null || tag == null) { return null; } - try ( PreparedStatement statement = conn.prepareStatement(TableTag.QueryTag)) { + try (PreparedStatement statement = conn.prepareStatement(TableTag.QueryTag)) { statement.setString(1, category); statement.setString(2, tag); conn.setAutoCommit(true); @@ -69,7 +93,7 @@ public Tag queryTag(Connection conn, String category, String tag) { } public List categoryTags(String category) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return categoryTags(conn, category); } catch (Exception e) { MyBoxLog.error(e); @@ -79,7 +103,7 @@ public List categoryTags(String category) { public List categoryTags(Connection conn, String category) { List tags = new ArrayList<>(); - try ( PreparedStatement statement = conn.prepareStatement(QueryCategoryTags)) { + try (PreparedStatement statement = conn.prepareStatement(QueryCategoryTags)) { statement.setString(1, category); ResultSet results = statement.executeQuery(); conn.setAutoCommit(true); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTextClipboard.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTextClipboard.java index 4031a01d7..a69999b55 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTextClipboard.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableTextClipboard.java @@ -41,6 +41,30 @@ public final TableTextClipboard defineColumns() { public static final String QueryText = "SELECT * FROM Text_Clipboard WHERE text=?"; + @Override + public boolean setValue(TextClipboard data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(TextClipboard data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(TextClipboard data) { + if (data == null) { + return false; + } + return data.valid(); + } + public TextClipboard save(Connection conn, String text) { if (text == null || text.isEmpty()) { return null; @@ -52,11 +76,11 @@ public TextClipboard save(Connection conn, String text) { } if (UserConfig.getBoolean("TextClipboardNoDuplication", true)) { TextClipboard exist = null; - try ( PreparedStatement statement = conn1.prepareStatement(QueryText)) { + try (PreparedStatement statement = conn1.prepareStatement(QueryText)) { statement.setString(1, text); statement.setMaxRows(1); conn1.setAutoCommit(true); - try ( ResultSet results = statement.executeQuery()) { + try (ResultSet results = statement.executeQuery()) { if (results.next()) { exist = readData(results); exist.setCreateTime(new Date()); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableUserConf.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableUserConf.java index 7b1a24d48..81891112b 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableUserConf.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableUserConf.java @@ -46,6 +46,30 @@ public final TableUserConf defineColumns() { final static String Delete = "DELETE FROM User_Conf WHERE key_Name=?"; final static String DeleteLike = "DELETE FROM User_Conf WHERE key_Name like ?"; + @Override + public boolean setValue(StringValue data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(StringValue data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(StringValue data) { + if (data == null) { + return false; + } + return data.valid(); + } + public boolean init(Connection conn) { try { if (conn == null) { @@ -56,8 +80,7 @@ public boolean init(Connection conn) { if (values == null || values.isEmpty()) { return false; } - try (PreparedStatement intStatement = conn.prepareStatement(InsertInt); - PreparedStatement stringStatement = conn.prepareStatement(InsertString)) { + try (PreparedStatement intStatement = conn.prepareStatement(InsertInt); PreparedStatement stringStatement = conn.prepareStatement(InsertString)) { for (String key : values.keySet()) { String value = values.get(key); switch (value.toLowerCase()) { diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableVisitHistory.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableVisitHistory.java index 87d23d9c5..ec0124731 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableVisitHistory.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableVisitHistory.java @@ -113,6 +113,22 @@ public final TableVisitHistory defineColumns() { = "DELETE FROM visit_history " + " WHERE resource_type=? AND file_type=? AND operation_type=?"; + @Override + public boolean setValue(VisitHistory data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(VisitHistory data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + @Override public boolean valid(VisitHistory record) { if (record == null) { @@ -132,8 +148,7 @@ public List read(Connection conn, PreparedStatement statement, int try { conn.setAutoCommit(true); List names = new ArrayList<>(); - try (ResultSet results = statement.executeQuery(); - PreparedStatement delete = conn.prepareStatement(Delete_Visit)) { + try (ResultSet results = statement.executeQuery(); PreparedStatement delete = conn.prepareStatement(Delete_Visit)) { while (results.next()) { VisitHistory data = readData(results); if (valid(data)) { @@ -168,8 +183,7 @@ public List read(int resourceType, int count) { if (resourceType < 0) { return records; } - try (Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(Query_Resource_Type)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(Query_Resource_Type)) { conn.setAutoCommit(true); statement.setInt(1, resourceType); records = read(conn, statement, count); @@ -224,8 +238,7 @@ public List read(int resourceType, int[] fileTypes, int count) { sql += " AND resource_type=" + resourceType; } sql += " ORDER BY last_visit_time DESC"; - try (Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(sql)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(sql)) { records = read(conn, statement, count); } catch (Exception e) { // MyBoxLog.debug(e); @@ -297,8 +310,7 @@ public List read(int resourceType, int[] fileTypes, int operationT sql += " AND resource_type=" + resourceType; } sql += " ORDER BY last_visit_time DESC "; - try (Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(sql)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(sql)) { records = read(conn, statement, count); } catch (Exception e) { // MyBoxLog.debug(e); @@ -583,8 +595,7 @@ public boolean delete(Connection conn, VisitHistory v) { } public boolean clear(int resourceType, int fileType, int operationType) { - try (Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(Clear_Visit)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(Clear_Visit)) { statement.setInt(1, resourceType); statement.setInt(2, fileType); statement.setInt(3, operationType); @@ -597,8 +608,7 @@ public boolean clear(int resourceType, int fileType, int operationType) { public int clear() { final String sql = "DELETE FROM visit_history"; - try (Connection conn = DerbyBase.getConnection(); - PreparedStatement statement = conn.prepareStatement(sql)) { + try (Connection conn = DerbyBase.getConnection(); PreparedStatement statement = conn.prepareStatement(sql)) { return statement.executeUpdate(); } catch (Exception e) { // MyBoxLog.debug(e); @@ -607,8 +617,7 @@ public int clear() { } public void trim(Connection conn, int resourceType, int fileType, int operationType) { - try (PreparedStatement query = conn.prepareStatement(Query_Types); - PreparedStatement delete = conn.prepareStatement(deleteStatement())) { + try (PreparedStatement query = conn.prepareStatement(Query_Types); PreparedStatement delete = conn.prepareStatement(deleteStatement())) { conn.setAutoCommit(true); query.setInt(1, resourceType); query.setInt(2, fileType); diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebFavorite.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebFavorite.java index 917369598..d352d66a2 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebFavorite.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebFavorite.java @@ -30,4 +30,28 @@ public final TableWebFavorite defineColumns() { return this; } + @Override + public boolean setValue(WebFavorite data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(WebFavorite data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(WebFavorite data) { + if (data == null) { + return false; + } + return data.valid(); + } + } diff --git a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebHistory.java b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebHistory.java index 47ab5c0d3..5a1961c59 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebHistory.java +++ b/alpha/MyBox/src/main/java/mara/mybox/db/table/TableWebHistory.java @@ -18,19 +18,19 @@ * @License Apache License Version 2.0 */ public class TableWebHistory extends BaseTable { - + public TableWebHistory() { tableName = "Web_History"; defineColumns(); } - + public TableWebHistory(boolean defineColumns) { tableName = "Web_History"; if (defineColumns) { defineColumns(); } } - + public final TableWebHistory defineColumns() { addColumn(new ColumnDefinition("whid", ColumnType.Long, true, true).setAuto(true)); addColumn(new ColumnDefinition("address", ColumnType.String, true).setLength(StringMaxLength)); @@ -40,28 +40,52 @@ public final TableWebHistory defineColumns() { orderColumns = "visit_time DESC"; return this; } - + public static final String Create_Time_Index = "CREATE INDEX Web_History_time_index on Web_History ( visit_time )"; - + public static final String QueryID = "SELECT * FROM Web_History WHERE whid=?"; - + public static final String QueryAddresses = "SELECT address FROM Web_History ORDER BY visit_time DESC"; - + public static final String Times = "SELECT DISTINCT visit_time FROM Web_History ORDER BY visit_time DESC"; - + + @Override + public boolean setValue(WebHistory data, String column, Object value) { + if (data == null || column == null) { + return false; + } + return data.setValue(column, value); + } + + @Override + public Object getValue(WebHistory data, String column) { + if (data == null || column == null) { + return null; + } + return data.getValue(column); + } + + @Override + public boolean valid(WebHistory data) { + if (data == null) { + return false; + } + return data.valid(); + } + public List recent(int number) { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { return recent(conn, number); } catch (Exception e) { MyBoxLog.error(e); return null; } } - + public List recent(Connection conn, int number) { List recent = new ArrayList<>(); if (conn == null) { @@ -69,8 +93,7 @@ public List recent(Connection conn, int number) { } try { conn.setAutoCommit(true); - try ( PreparedStatement statement = conn.prepareStatement(QueryAddresses); - ResultSet results = statement.executeQuery()) { + try (PreparedStatement statement = conn.prepareStatement(QueryAddresses); ResultSet results = statement.executeQuery()) { while (results.next()) { String address = results.getString("address"); if (!recent.contains(address)) { @@ -93,7 +116,7 @@ public List recent(Connection conn, int number) { Static methods */ public static List times() { - try ( Connection conn = DerbyBase.getConnection()) { + try (Connection conn = DerbyBase.getConnection()) { conn.setReadOnly(true); return times(conn); } catch (Exception e) { @@ -101,7 +124,7 @@ public static List times() { return null; } } - + public static List times(Connection conn) { List times = new ArrayList(); if (conn == null) { @@ -109,8 +132,7 @@ public static List times(Connection conn) { } try { conn.setAutoCommit(true); - try ( PreparedStatement statement = conn.prepareStatement(Times); - ResultSet results = statement.executeQuery()) { + try (PreparedStatement statement = conn.prepareStatement(Times); ResultSet results = statement.executeQuery()) { while (results.next()) { Date time = results.getTimestamp("visit_time"); if (time != null) { @@ -125,5 +147,5 @@ public static List times(Connection conn) { } return times; } - + } diff --git a/alpha/MyBox/src/main/java/mara/mybox/dev/MyBoxLog.java b/alpha/MyBox/src/main/java/mara/mybox/dev/MyBoxLog.java index effca9563..b7ecbeeff 100644 --- a/alpha/MyBox/src/main/java/mara/mybox/dev/MyBoxLog.java +++ b/alpha/MyBox/src/main/java/mara/mybox/dev/MyBoxLog.java @@ -4,13 +4,13 @@ import javafx.application.Platform; import mara.mybox.controller.MyBoxLogViewerController; import mara.mybox.db.data.BaseData; -import mara.mybox.db.data.BaseDataAdaptor; +import mara.mybox.db.data.BaseDataTools; import mara.mybox.db.data.ColumnDefinition; import mara.mybox.db.table.TableMyBoxLog; import mara.mybox.tools.DateTools; import mara.mybox.value.AppVariables; -import mara.mybox.value.Languages; import static mara.mybox.value.AppVariables.ErrorNotify; +import mara.mybox.value.Languages; /** * @Author Mara @@ -38,6 +38,21 @@ public MyBoxLog() { logType = LogType.Console; } + @Override + public boolean valid() { + return valid(this); + } + + @Override + public boolean setValue(String column, Object value) { + return setValue(this, column, value); + } + + @Override + public Object getValue(String column) { + return getValue(this, column); + } + public boolean equalTo(MyBoxLog myMyboxLog) { return myMyboxLog != null && logType == myMyboxLog.getLogType() && log != null && log.equals(myMyboxLog.getLog()) @@ -139,7 +154,7 @@ public static String displayColumn(MyBoxLog data, ColumnDefinition column, Objec if ("log_type".equals(column.getColumnName())) { return Languages.message(data.getLogType().name()); } - return BaseDataAdaptor.displayColumnBase(data, column, value); + return BaseDataTools.displayColumnBase(data, column, value); } public static short logType(LogType logType) { diff --git a/released/MyBox/nb-configuration.xml b/released/MyBox/nb-configuration.xml deleted file mode 100644 index 4dcd8bb2d..000000000 --- a/released/MyBox/nb-configuration.xml +++ /dev/null @@ -1,20 +0,0 @@ - - - - - - none - true - JDK_21 - - diff --git a/released/MyBox/nbactions.xml b/released/MyBox/nbactions.xml deleted file mode 100644 index ec4c15609..000000000 --- a/released/MyBox/nbactions.xml +++ /dev/null @@ -1,35 +0,0 @@ - - - - run - - jar - - - clean - javafx:run - - - - - - - build - - clean - package - - - - - - build-with-dependencies - - clean - package - assembly:single - - - - - diff --git a/released/MyBox/pom.xml b/released/MyBox/pom.xml index 43fec4b3c..ede34b9cf 100644 --- a/released/MyBox/pom.xml +++ b/released/MyBox/pom.xml @@ -7,7 +7,7 @@ MyBox 6.8.1 jar - MyBox + 6.8.1 UTF-8 mara.mybox.MyBox