diff --git a/AlgebraicDataflowArchitectureModel/.classpath b/AlgebraicDataflowArchitectureModel/.classpath
index dfdecbb..b969383 100644
--- a/AlgebraicDataflowArchitectureModel/.classpath
+++ b/AlgebraicDataflowArchitectureModel/.classpath
@@ -8,6 +8,5 @@
-
diff --git a/AlgebraicDataflowArchitectureModel/lib/postgresql-42.7.4.jar b/AlgebraicDataflowArchitectureModel/lib/postgresql-42.7.4.jar
deleted file mode 100644
index 091b4d1..0000000
--- a/AlgebraicDataflowArchitectureModel/lib/postgresql-42.7.4.jar
+++ /dev/null
Binary files differ
diff --git a/AlgebraicDataflowArchitectureModel/src/application/simulator/UISimulatorWindow.java b/AlgebraicDataflowArchitectureModel/src/application/simulator/UISimulatorWindow.java
index e0f739c..d3d03a6 100644
--- a/AlgebraicDataflowArchitectureModel/src/application/simulator/UISimulatorWindow.java
+++ b/AlgebraicDataflowArchitectureModel/src/application/simulator/UISimulatorWindow.java
@@ -4,9 +4,7 @@
import javax.swing.JPanel;
import simulator.Simulator;
-import simulator.interfaces.db.DatabasePresenter;
import simulator.interfaces.rest.RestPresenter;
-import simulator.interfaces.sql.SQLPresenter;
import simulator.interfaces.swing.SwingPresenter;
import simulator.interfaces.timers.TimerService;
@@ -19,8 +17,6 @@
private TimerService timerService;
private RestPresenter rest;
- private SQLPresenter sql;
- private DatabasePresenter db;
public UISimulatorWindow(Simulator simulator) {
setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
@@ -28,8 +24,6 @@
mainPanel = new JPanel();
presenter = new SwingPresenter(mainPanel, simulator);
rest = new RestPresenter(simulator);
- sql = new SQLPresenter(simulator);
- db = new DatabasePresenter(simulator);
this.add(mainPanel);
timerService = new TimerService(simulator);
diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/db/DatabasePresenter.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/db/DatabasePresenter.java
deleted file mode 100644
index b5a43b7..0000000
--- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/db/DatabasePresenter.java
+++ /dev/null
@@ -1,76 +0,0 @@
-package simulator.interfaces.db;
-
-import models.algebra.Constant;
-import models.algebra.Expression;
-import models.algebra.Term;
-import models.dataConstraintModel.JsonTerm;
-import models.dataConstraintModel.ResourcePath;
-import models.dataFlowModel.DataTransferChannel;
-import simulator.Event;
-import simulator.Resource;
-import simulator.ResourceIdentifier;
-import simulator.Simulator;
-import simulator.SystemState;
-import simulator.interfaces.INativeReceiver;
-
-public class DatabasePresenter implements INativeReceiver{
-
- public final String updateCurrentChannelName = "updateCurrent";
- public final String setRecordChannelName = "setRecord";
- public final String updateRecordChannelName = "updateRecordOnChangeCurrent";
-
- protected Simulator simulator;
-
- protected DataTransferChannel setRecordChannel;
- protected DataTransferChannel updateRecord;
-
- public DatabasePresenter(Simulator simulator) {
- this.simulator = simulator;
- setRecordChannel = (DataTransferChannel) simulator.getModel().getInputChannel(setRecordChannelName);
- updateRecord = (DataTransferChannel) simulator.getModel().getChannel(updateRecordChannelName);
- simulator.addNativeReceiver(this, updateRecord);
- }
-
-
- @Override
- public void onReceiveFromModel(Event event, SystemState nextSystemState) {
- Expression message = event.getMessage();
- Constant newValue = (Constant)((Term) message).getChild(0);
- ResourcePath path = event.getInputResourcePath();
- ResourceIdentifier identifier = event.getResourceIdentifier(path);
-// String varName = identifier.getPathParams().get(0).toString().replace("\"","");
- ResourcePath parent = identifier.getParent();
- ResourceIdentifier parentIdent = event.getResourceIdentifier(parent);
- JsonTerm data =(JsonTerm) simulator.getCurState().getResource(parentIdent).getState().getValue();
- String key = data.get("key").toString().replace("\"", "");
- String tableName = data.get("table").toString();
- String dbName = data.get("dbName").toString();
-
- ResourcePath recordPath = setRecordChannel.getOutputResources().iterator().next();
- Resource recordResource = null;
- for(var res : nextSystemState.getRootResources()) {
- if(res.getResourceIdentifier().toString().equals("db")) {
- recordResource = res.getChildrenMap().get(dbName).getChildrenMap().get("tables").getChildrenMap().get(tableName).getChildrenMap().get("record");
- break;
- }
- }
-
- JsonTerm dbData = (JsonTerm) simulator.getCurState().getResource(recordResource.getParent().getParent().getParent().getResourceIdentifier()).getState().getValue();
- String dbUrl = dbData.get("url").toString().replace("\"", "");
- String dbUser = dbData.get("user").toString().replace("\"", "");
- String dbPass = dbData.get("password").toString().replace("\"", "");
- RecordSender sender = new RecordSender(simulator, setRecordChannel, recordPath, recordResource, dbUrl, dbUser, dbPass);
-
- switch(newValue.getType().getTypeName()) {
- case "Int":
- sender.updateRecord(tableName.replace("\"", ""), key, Integer.parseInt(newValue.toString()));
- break;
- case "Str":
- sender.updateRecord(tableName.replace("\"", ""), key, newValue.toString());
- break;
- }
- }
-
-
-
-}
diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/db/RecordSender.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/db/RecordSender.java
deleted file mode 100644
index ee20994..0000000
--- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/db/RecordSender.java
+++ /dev/null
@@ -1,125 +0,0 @@
-package simulator.interfaces.db;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.PreparedStatement;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-
-import models.algebra.Constant;
-import models.algebra.Expression;
-import models.algebra.Term;
-import models.dataConstraintModel.JsonTerm;
-import models.dataConstraintModel.MapTerm;
-import models.dataConstraintModel.ResourcePath;
-import models.dataFlowModel.DataTransferChannel;
-import simulator.Resource;
-import simulator.Simulator;
-import simulator.interfaces.NativeSender;
-
-public class RecordSender extends NativeSender{
-
- private String url;
- private String user;
- private String pass;
-
- public RecordSender(Simulator simulator, DataTransferChannel channel, ResourcePath resourcePath,
- Resource resource, String url, String user, String pass) {
- super(simulator, channel, resourcePath, resource);
- this.url = url;
- this.user = user;
- this.pass = pass;
- }
-
- public void updateRecord(String tableName, String key, String value) {
- String query = "SELECT * FROM "+ tableName + " WHERE "+ key + " = ?";
- JsonTerm res = new JsonTerm();
-
- try{
- Connection conn = DriverManager.getConnection(url, user, pass);
- PreparedStatement pstmt = conn.prepareStatement(query);
- pstmt.setString(1, value);
- ResultSet rs = pstmt.executeQuery();
-
- var meta = rs.getMetaData();
- int primaryNum = -1;
- for(int i = 1; i <= meta.getColumnCount(); i++) {
- if(meta.getColumnName(i).equals(key)) {
- primaryNum = i;
- break;
- }
- }
-
- while(rs.next()) {
- String primaryData = rs.getString(primaryNum);
- res.addMember(primaryData, new JsonTerm());
- for(int i = 1; i <= meta.getColumnCount(); i++) {
- if(i == primaryNum) {
- continue;
- }
- String columnName = meta.getColumnName(i);
- Constant data = new Constant(rs.getString(i));
- ((JsonTerm) res.get(primaryData)).addMember(columnName, data);
- }
- }
- } catch (SQLException e) {
- // TODO 自動生成された catch ブロック
- e.printStackTrace();
- }
-
-
- Expression message = channel.getOutputChannelMembers().iterator().next().getStateTransition().getMessageExpression();
- message = (Term)message.clone();
- ((Term) message).setChild(0, res);
- System.out.println(res);
- sendToModel(message);
- }
-
- public void updateRecord(String tableName, String key, int value) {
- String query = "SELECT * FROM "+ tableName + " WHERE "+ key + " = ?";
- JsonTerm res = new JsonTerm();
-
- try{
- Connection conn = DriverManager.getConnection(url, user, pass);
- PreparedStatement pstmt = conn.prepareStatement(query);
- pstmt.setInt(1, value);
- ResultSet rs = pstmt.executeQuery();
-
- var meta = rs.getMetaData();
- int primaryNum = -1;
- for(int i = 1; i <= meta.getColumnCount(); i++) {
- if(meta.getColumnName(i).equals(key)) {
- primaryNum = i;
- break;
- }
- }
-
- while(rs.next()) {
- String primaryData = rs.getString(primaryNum);
- res.addMember(primaryData, new JsonTerm());
- for(int i = 1; i <= meta.getColumnCount(); i++) {
- if(i == primaryNum) {
- continue;
- }
- String columnName = meta.getColumnName(i);
- Constant data = new Constant(rs.getString(i));
- ((JsonTerm) res.get(primaryData)).addMember(columnName, data);
- }
- }
- } catch (SQLException e) {
- // TODO 自動生成された catch ブロック
- e.printStackTrace();
- }
-
- MapTerm test = new MapTerm();
- test.insert("1", new Constant("hello"));
-
- Expression message = channel.getOutputChannelMembers().iterator().next().getStateTransition().getMessageExpression();
- Term termMessage = (Term)message.clone();
- termMessage.setChild(0, test);
- System.out.println(res);
- sendToModel(termMessage);
-
- }
-
-}
diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/sql/ResultSender.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/sql/ResultSender.java
deleted file mode 100644
index b1091fa..0000000
--- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/sql/ResultSender.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package simulator.interfaces.sql;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.ResultSet;
-import java.sql.SQLException;
-import java.sql.Statement;
-
-import models.algebra.Constant;
-import models.algebra.Expression;
-import models.algebra.Term;
-import models.dataConstraintModel.DataConstraintModel;
-import models.dataConstraintModel.ResourcePath;
-import models.dataFlowModel.DataTransferChannel;
-import simulator.Resource;
-import simulator.Simulator;
-import simulator.interfaces.NativeSender;
-
-public class ResultSender extends NativeSender{
-
- private String url;
- private String user;
- private String pass;
-
- public ResultSender(Simulator simulator, DataTransferChannel channel, ResourcePath resourcePath,
- Resource resource, String url, String user, String pass) {
- super(simulator, channel, resourcePath, resource);
- this.url = url;
- this.user = user;
- this.pass = pass;
- }
-
- public void executeQuery(String query) {
- StringBuilder resCSV = new StringBuilder();
- try(
- Connection conn = DriverManager.getConnection(url, user, pass);
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(query)
- ){
- var meta = rs.getMetaData();
- for(int i = 1; i <= meta.getColumnCount(); i++) {
- resCSV.append(meta.getColumnName(i));
- if(i != meta.getColumnCount()) {
- resCSV.append(",");
- } else {
- resCSV.append("\n");
- }
- }
- while(rs.next()) {
- for(int i = 1; i <= meta.getColumnCount(); i++) {
- resCSV.append(rs.getString(i));
- if(i != meta.getColumnCount()) {
- resCSV.append(",");
- } else {
- resCSV.append("\n");
- }
- }
- }
- } catch(SQLException e) {
- resCSV.append("sql error");
- e.printStackTrace();
- }
- Constant res = new Constant(resCSV.toString(), DataConstraintModel.typeString);
- Expression message = channel.getOutputChannelMembers().iterator().next().getStateTransition().getMessageExpression();
- message = (Term) message.clone();
- ((Term) message).setChild(0, res);
- sendToModel(message);
- }
-
-}
diff --git a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/sql/SQLPresenter.java b/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/sql/SQLPresenter.java
deleted file mode 100644
index d08f106..0000000
--- a/AlgebraicDataflowArchitectureModel/src/simulator/interfaces/sql/SQLPresenter.java
+++ /dev/null
@@ -1,56 +0,0 @@
-package simulator.interfaces.sql;
-
-import models.algebra.Expression;
-import models.algebra.Term;
-import models.dataConstraintModel.ResourcePath;
-import models.dataFlowModel.DataTransferChannel;
-import simulator.Event;
-import simulator.Resource;
-import simulator.ResourceIdentifier;
-import simulator.Simulator;
-import simulator.SystemState;
-import simulator.interfaces.INativeReceiver;
-
-public class SQLPresenter implements INativeReceiver{
-
-
- public final String sendQueryChannelName = "sendQuery";
- public final String setResultChannelName = "setResult";
-
- protected Simulator simulator;
-
- protected DataTransferChannel sendQueryChannel;
- protected DataTransferChannel setResultChannel;
-
- public SQLPresenter(Simulator simulator) {
- this.simulator = simulator;
- sendQueryChannel = (DataTransferChannel) simulator.getModel().getChannel(sendQueryChannelName);
- setResultChannel = (DataTransferChannel) simulator.getModel().getInputChannel(setResultChannelName);
- simulator.addNativeReceiver(this, sendQueryChannel);
- }
-
- @Override
- public void onReceiveFromModel(Event event, SystemState nextSystemState) {
- Expression message = event.getMessage();
- ResourcePath path = event.getInputResourcePath();
- ResourceIdentifier ri = event.getResourceIdentifier(path);
- String dbUrl = ri.getPathParams().get(0).toString().replace("\"", "");
- if(message instanceof Term && ((Term) message).getChildren().size() >= 1) {
- Expression query = ((Term) message).getChild(0);
- System.out.println(simulator.getCurState());
- String user = simulator.getCurState().getResource("database." + dbUrl + ".user").getState().getValue().toString().replace("\"", "");
- String pass = simulator.getCurState().getResource("database." + dbUrl + ".password").getState().getValue().toString().replace("\"", "");
-
- System.out.println(user);
- System.out.println(pass);
-
- Resource sqlRes = nextSystemState.getResource(event.getInputResource().getResourceIdentifier());
- Resource resultRes = sqlRes.getParent().getChildrenMap().get("result");
-
- ResourcePath resPath = setResultChannel.getOutputResources().iterator().next();
- ResultSender sender = new ResultSender(simulator, setResultChannel, resPath, resultRes, dbUrl, user, pass);
- sender.executeQuery(query.toString().replace("\"", ""));
- }
- }
-
-}