diff --git a/pom.xml b/pom.xml
index 5d4826a..237fcf3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -40,6 +40,22 @@
+
+
+ joda-time
+ joda-time
+ 2.9.4
+
+
+
+
+
+ org.freemarker
+ freemarker
+ 2.3.31
+
+
+
org.slf4j
slf4j-api
diff --git a/src/main/java/ink/wgink/code/factory/controller/GenerateController.java b/src/main/java/ink/wgink/code/factory/controller/GenerateController.java
index 968a0ff..a077b09 100644
--- a/src/main/java/ink/wgink/code/factory/controller/GenerateController.java
+++ b/src/main/java/ink/wgink/code/factory/controller/GenerateController.java
@@ -1,8 +1,9 @@
package ink.wgink.code.factory.controller;
+import freemarker.template.TemplateException;
+import ink.wgink.code.factory.factory.ButtonTableCellFactory;
import ink.wgink.code.factory.factory.CheckBoxTableCellFactory;
import ink.wgink.code.factory.factory.ChoiceBoxTableCellFactory;
-import ink.wgink.code.factory.factory.RadioButtonTableCellFactory;
import ink.wgink.code.factory.service.FieldService;
import ink.wgink.code.factory.service.GenerateService;
import ink.wgink.code.factory.utils.MsgUtil;
@@ -20,6 +21,8 @@ import javafx.scene.control.TextField;
import javafx.scene.control.cell.PropertyValueFactory;
import org.apache.commons.lang3.StringUtils;
+import java.io.IOException;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.ResourceBundle;
@@ -70,6 +73,7 @@ public class GenerateController implements Initializable {
@Override
public void initialize(URL location, ResourceBundle resources) {
+ fieldService = new FieldService();
initTableView();
}
@@ -87,18 +91,20 @@ public class GenerateController implements Initializable {
tableColumns.get(9).setCellValueFactory(new CheckBoxTableCellFactory("isListShow"));
tableColumns.get(10).setCellValueFactory(new CheckBoxTableCellFactory("isNotNull"));
tableColumns.get(11).setCellValueFactory(new ChoiceBoxTableCellFactory("formFieldType"));
+ tableColumns.get(12).setCellValueFactory(new ButtonTableCellFactory("option", fieldService));
}
- public void setTableVO(TableVO tableVO) {
+ public void setTableVO(TableVO tableVO) throws IOException, URISyntaxException {
this.tablePrefixTextField.setText(tableVO.getTableName().split("\\_")[0] + "_");
this.tableVO = tableVO;
- fieldService = new FieldService(fieldTableView, tableVO.getTableName());
- generateService = new GenerateService(fieldTableView);
- fieldService.showField();
+ this.generateService = new GenerateService(fieldTableView);
+ this.fieldService.setTableView(fieldTableView);
+ this.fieldService.setTableName(tableVO.getTableName());
+ this.fieldService.showField();
}
@FXML
- public void onGenerateClick(ActionEvent actionEvent) {
+ public void onGenerateClick(ActionEvent actionEvent) throws IOException, TemplateException {
ObservableList items = fieldTableView.getItems();
for (FieldVO fieldVO : items) {
if (StringUtils.isBlank(fieldVO.getFormFieldValue())) {
@@ -108,7 +114,7 @@ public class GenerateController implements Initializable {
}
GenerateVO generateVO = new GenerateVO();
generateVO.setHasApi(apiCheckBox.isSelected());
- generateVO.setHasApi(appCheckBox.isSelected());
+ generateVO.setHasApp(appCheckBox.isSelected());
generateVO.setHasResource(resourceCheckBox.isSelected());
generateVO.setHasIService(iServiceCheckBox.isSelected());
generateVO.setHasServiceImpl(serviceImplCheckBox.isSelected());
@@ -120,7 +126,12 @@ public class GenerateController implements Initializable {
generateVO.setTablePrefix(tablePrefixTextField.getText());
generateVO.setContext(contextTextField.getText());
generateVO.setCodePackage(packageTextField.getText());
- generateService.generateCode(generateVO);
+ generateService.generateCode(tableVO, generateVO);
+ }
+
+ @FXML
+ public void onRefreshClick(ActionEvent actionEvent) {
+ this.fieldService.showField();
}
}
diff --git a/src/main/java/ink/wgink/code/factory/controller/MainController.java b/src/main/java/ink/wgink/code/factory/controller/MainController.java
index f010de7..ec5969f 100644
--- a/src/main/java/ink/wgink/code/factory/controller/MainController.java
+++ b/src/main/java/ink/wgink/code/factory/controller/MainController.java
@@ -22,6 +22,7 @@ import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.math.NumberUtils;
import java.io.IOException;
+import java.net.URISyntaxException;
import java.net.URL;
import java.util.ResourceBundle;
@@ -102,7 +103,7 @@ public class MainController implements Initializable {
}
@FXML
- public void onTableRowClick(MouseEvent event) throws IOException {
+ public void onTableRowClick(MouseEvent event) throws IOException, URISyntaxException {
if (event.getClickCount() == 2) {
TableVO tableVO = (TableVO) this.dbTableTableView.getSelectionModel().getSelectedItem();
FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/route/generate.fxml"));
diff --git a/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java b/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java
index d7f696d..5efdd23 100644
--- a/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java
+++ b/src/main/java/ink/wgink/code/factory/factory/ButtonTableCellFactory.java
@@ -1,5 +1,21 @@
package ink.wgink.code.factory.factory;
+import ink.wgink.code.factory.service.FieldService;
+import ink.wgink.code.factory.vos.FieldVO;
+import javafx.beans.property.ReadOnlyObjectWrapper;
+import javafx.beans.value.ObservableValue;
+import javafx.collections.ObservableList;
+import javafx.concurrent.Service;
+import javafx.concurrent.Task;
+import javafx.scene.control.Button;
+import javafx.scene.control.CheckBox;
+import javafx.scene.control.TableColumn;
+import javafx.scene.control.TableView;
+import javafx.util.Callback;
+import org.apache.commons.lang3.StringUtils;
+
+import java.lang.reflect.Field;
+
/**
* When you feel like quitting. Think about why you started
* 当你想要放弃的时候,想想当初你为何开始
@@ -10,5 +26,23 @@ package ink.wgink.code.factory.factory;
* @Date: 2021/3/8 22:07
* @Version: 1.0
**/
-public class ButtonTableCellFactory {
+public class ButtonTableCellFactory implements Callback, ObservableValue