This commit is contained in:
Mystikfluu
2023-02-13 18:17:29 +01:00
commit a08dae9ad9
162 changed files with 28210 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
package at.fos.ermodel.gui;
import javafx.application.Application;
import javafx.stage.Stage;
public class A1 extends Application {
public A1() {
}
public void start(Stage stage) {
new B3();
}
public static void main(String[] args) {
launch(args);
}
}
+268
View File
@@ -0,0 +1,268 @@
package at.fos.ermodel.gui;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.control.RadioButton;
public class A2
implements EventHandler<ActionEvent>
{
private final B3 view;
public A2(B3 simpleFrame) {
this.view = simpleFrame;
}
public void handle(ActionEvent arg0) {
Object source = arg0.getSource();
if (source instanceof RadioButton && source == this.view.selectModeBTN) {
this.view.selectModeBTN.setStyle("-fx-text-fill:red");
this.view.creationModelabel.setStyle("-fx-text-fill:white");
this.view.menuVisibility.setDisable(false);
}
if (source instanceof RadioButton && source != this.view.selectModeBTN) {
this.view.menuVisibilityAllRMI.setSelected(true);
this.view.menuVisibilityTEXTRMI.setSelected(true);
(this.view.getCurrentTab()).canvas.modelVisibility();
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.menuVisibility.setDisable(true);
this.view.showAttributeCB.setSelected(false);
this.view.graphicElemLV.getItems().clear();
this.view.graphicElemLV.getItems().addAll((this.view.getCurrentTab()).canvas.sddsfsfsdf45645645());
this.view.selectModeBTN.setStyle("-fx-text-fill:white");
this.view.creationModelabel.setStyle("-fx-text-fill:red");
this.view.lastCreationSelected = (RadioButton)source;
if (this.view.getCurrentTab() == null) {
this.view.selectModeBTN.setSelected(true);
return;
}
if (this.view.generateRelationalModelCB.isSelected()) {
this.view.selectModeBTN.setStyle("-fx-text-fill:red");
this.view.creationModelabel.setStyle("-fx-text-fill:white");
this.view.selectModeBTN.setSelected(true);
return;
}
}
if (source == this.view.menuExitMI) {
this.view.close();
}
if (source == this.view.menuNewMI) {
this.view.setCurrentTab(this.view.addNewTab(null));
(this.view.getCurrentTab()).canvas.requestFocus();
this.view.tabPane.getSelectionModel().select(this.view.getCurrentTab());
}
if (source == this.view.menuRedrawMI) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
}
if (source == this.view.menuExportMI) {
this.view.exportModel();
}
if (source == this.view.menuSaveMI) {
this.view.saveModel();
}
if (source == this.view.menuSaveAsMI) {
this.view.saveModelAs();
}
if (source == this.view.menuReadMI) {
this.view.readModel();
}
if (source == this.view.creation_selection_group.getSelectedToggle()) {
(this.view.getCurrentTab()).canvas.sdfdsfdsdf43543ref();
}
if (source == this.view.selectModeBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
(this.view.getCurrentTab()).canvas.sdfsdfds435634terf();
this.view.statusInformation.setText("Selection mode: move mouse over element or use mouse to draw a rectangle - ESC -> deselect - DEL -> delete selected elements - pressed left mouse key -> move selected elements - right mouse over selected element -> open context menu");
}
if (source == this.view.textElemBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: text-element-with-border -> press left mouse button on working area -> enter text (ALT-Enter for linefeed) -> press enter key");
}
if (source == this.view.textWithoutBorderElemBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: text-element-without-border -> press left mouse button on working area -> enter text (ALT-Enter for linefeed) -> press enter key");
}
if (source == this.view.esBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: entity-set -> press left mouse button on working area -> enter name of entity-set -> press enter key");
}
if (source == this.view.esWeakBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: weak-entity-set -> press left mouse button on working area -> enter name of weak-entity-set -> press enter key");
}
if (source == this.view.esAssociativeBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: associative-entity-set -> press left mouse button on working area -> enter name of assoc.-entity-set -> press enter key");
}
if (source == this.view.rsBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: relationship-type -> press left mouse button on working area -> enter name of relationship-type -> press enter key");
}
if (source == this.view.rsIDBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: identifying-relationship-type -> press left mouse button on working area -> enter name of entity-set -> press enter key");
}
if (source == this.view.rsISABTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: isa relationship-type -> press left mouse button on working area -> enter type (p/t/d/nd) -> press enter key");
}
if (source == this.view.attrKeyBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: key-attribute");
}
if (source == this.view.attrWeakKeyBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: weak-key-attribute");
}
if (source == this.view.attrOneBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: one-value-attribute");
}
if (source == this.view.attrMultiBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: multi-value-attribute");
}
if (source == this.view.attrDerivedOneBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: derived-one-value-attribute");
}
if (source == this.view.attrDerivedMultiBTN) {
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
this.view.statusInformation.setText("Creation Mode: derived-multi-value-attribute");
}
(this.view.getCurrentTab()).canvas.setConnectionModeSet(false);
if (source == this.view.attrToAttrBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect attribute to a composite-attribute - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.attrToESBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect attribute with an entity-set - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.attrToRSBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect attribute with a relationship-type - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.attrToRSBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect attribute with a relationship-type - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.rsToESBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect relationship-type with (associative-)entity-set or entity-set with associative-entity-set - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.rsidToESBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect identifying-relationship-type with entity-set - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.rsidToESWeakBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect identifying-relationship-type with weak-entity-set - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.rsisaGeToESBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect isa-relationship-type with generalized entity-set - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (source == this.view.rsisaSpToESBTN) {
(this.view.getCurrentTab()).canvas.setConnectionModeSet(true);
(this.view.getCurrentTab()).canvas.sdfdsfdsdf34543erretwre();
this.view.statusInformation.setText("Creation Mode: connect isa-relationship-type with specialized entity-set - select element->click left mouse button->move mouse to second element->click left mouse button");
}
if (this.view.getCurrentTab() != null) {
(this.view.getCurrentTab()).canvas.dsfdsdfssdf45645re();
}
if (source == this.view.menuVisibilityTEXTRMI || source == this.view.menuVisibilityAllRMI || source == this.view.menuVisibilityES_RS_KEYRMI ||
source == this.view.menuVisibilityES_RSRMI) {
(this.view.getCurrentTab()).canvas.modelVisibility();
(this.view.getCurrentTab()).canvas.sdfsdfds3465er(true);
}
}
}
File diff suppressed because it is too large Load Diff
+180
View File
@@ -0,0 +1,180 @@
package at.fos.ermodel.gui;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class A4
extends Stage
{
private final A4 thisActionMessageDialog;
private final TextField minTF;
private final TextField maxTF;
private boolean doNothing;
private final String holdminimum;
private final String holdmaximum;
public A4(final A3 canvas, double xPos, double yPos, String minimum, String maximum) {
String title = "Enter Min-Max";
this.holdminimum = minimum;
this.holdmaximum = maximum;
this.doNothing = false;
this.thisActionMessageDialog = this;
setTitle(title);
initModality(Modality.APPLICATION_MODAL);
this.minTF = new TextField(minimum);
this.minTF.textProperty().addListener((observable, oldValue, newValue) -> {
if (newValue.length() > 1 && newValue.charAt(0) == '0') {
newValue = newValue.replaceAll("^0*", "");
if (newValue.length() == 0)
newValue = "0";
this.minTF.setText(newValue);
}
if (!newValue.matches("\\d*"))
this.minTF.setText(newValue.replaceAll("[^\\d]", ""));
});
this.minTF.setPrefWidth(50.0D);
this.minTF.setOnMouseEntered(event -> T3.fdssdf4354(A4.this.minTF, C2.MouseSelectedColor));
this.minTF.setOnMouseExited(event -> A4.this.minTF.setEffect(null));
this.minTF.setOnKeyPressed(event -> {
switch (event.getCode()) {
case ENTER -> A4.this.maxTF.requestFocus();
case ESCAPE -> A4.this.setNothingAndLeave();
}
});
this.maxTF = new TextField(maximum);
this.maxTF.setPrefWidth(50.0D);
this.maxTF.textProperty().addListener((observable, oldValue, newValue) -> {
if (newValue.length() == 1 && newValue.charAt(0) == '0') {
newValue = "n";
this.maxTF.setText(newValue);
return;
}
if (newValue.length() > 1 && !newValue.matches("\\d*")) {
newValue = "n";
this.maxTF.setText(newValue);
return;
}
if (newValue.length() == 1 && newValue.charAt(0) == 'n') {
newValue = "n";
this.maxTF.setText(newValue);
return;
}
if (newValue.length() > 1 && newValue.charAt(0) == '0') {
newValue = newValue.replaceAll("^0*", "");
if (newValue.length() == 0)
newValue = "0";
this.maxTF.setText(newValue);
return;
}
if (!newValue.matches("\\d*"))
this.maxTF.setText(newValue.replaceAll("[^\\d]", ""));
});
this.maxTF.setOnMouseEntered(event -> T3.fdssdf4354(A4.this.maxTF, C2.MouseSelectedColor));
this.maxTF.setOnMouseExited(event -> A4.this.maxTF.setEffect(null));
this.maxTF.setOnKeyPressed(event -> {
switch (event.getCode()) {
case ENTER -> {
A4.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*"))
canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
}
case ESCAPE -> A4.this.setNothingAndLeave();
}
});
GridPane gPane = new GridPane();
gPane.setPadding(new Insets(10.0D, 10.0D, 10.0D, 10.0D));
gPane.setHgap(4.0D);
gPane.add(new Label("ESC->Cancel"), 0, 0, 2, 1);
gPane.add(new Label("Minimum:"), 0, 1);
gPane.add(this.minTF, 1, 1);
gPane.add(new Label("Maximum:"), 0, 2);
gPane.add(this.maxTF, 1, 2);
initStyle(StageStyle.UNDECORATED);
Scene scene = new Scene(gPane, 130.0D, 90.0D);
setScene(scene);
setX(xPos);
setY(yPos);
if (yPos + scene.getHeight() > canvas.getView().getHeight() - 5.0D) {
setY(yPos - scene.getHeight() - 20.0D);
}
if (xPos + scene.getWidth() > canvas.getView().getWidth() - 5.0D) {
setX(xPos - scene.getWidth() - 20.0D);
}
this.minTF.requestFocus();
this.minTF.selectPositionCaret(0);
this.minTF.selectEndOfNextWord();
sizeToScene();
showAndWait();
}
private void setDataAndLeave() {
if (this.minTF.getText() == null || this.minTF.getText().length() == 0) this.minTF.setText("m");
if (this.maxTF.getText() == null || this.maxTF.getText().length() == 0) this.maxTF.setText("n");
this.thisActionMessageDialog.close();
}
private void setNothingAndLeave() {
this.minTF.setText(this.holdminimum);
this.maxTF.setText(this.holdmaximum);
this.doNothing = true;
this.thisActionMessageDialog.close();
}
public TextField getMinTF() {
return this.minTF;
}
public TextField getMaxTF() {
return this.maxTF;
}
public boolean isDoNothing() {
return this.doNothing;
}
}
+117
View File
@@ -0,0 +1,117 @@
package at.fos.ermodel.gui;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.layout.GridPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class A5
extends Stage
{
private final A5 thisActionMessageDialog;
private final TextField nameTF;
private boolean doNothing;
private final String holdName;
public A5(final A3 canvas, double xPos, double yPos, String name) {
String title = "Enter Name";
this.holdName = name;
this.doNothing = false;
this.thisActionMessageDialog = this;
setTitle(title);
initModality(Modality.APPLICATION_MODAL);
this.nameTF = new TextField(name);
this.nameTF.setOnMouseEntered(event -> T3.fdssdf4354(A5.this.nameTF, C2.MouseSelectedColor));
this.nameTF.setOnMouseExited(event -> A5.this.nameTF.setEffect(null));
this.nameTF.setOnKeyPressed(event -> {
switch (event.getCode()) {
case ENTER -> {
A5.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*"))
canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
}
case ESCAPE -> A5.this.setNothingAndLeave();
}
});
GridPane fPane = new GridPane();
fPane.setPadding(new Insets(5.0D, 5.0D, 5.0D, 5.0D));
fPane.setVgap(2.0D);
fPane.setHgap(2.0D);
fPane.add(new Label("ESC->Cancel"), 0, 0, 2, 1);
fPane.add(new Label("Name:"), 0, 1);
fPane.add(this.nameTF, 1, 1);
Scene scene = new Scene(fPane, 220.0D, 75.0D);
setX(xPos);
setY(yPos);
if (yPos + scene.getHeight() > canvas.getView().getHeight() - 5.0D) {
setY(yPos - scene.getHeight() - 20.0D);
}
if (xPos + scene.getWidth() > canvas.getView().getWidth() - 5.0D) {
setX(xPos - scene.getWidth() - 20.0D);
}
this.nameTF.requestFocus();
this.nameTF.selectPositionCaret(0);
this.nameTF.selectEndOfNextWord();
initStyle(StageStyle.UNDECORATED);
setScene(scene);
sizeToScene();
showAndWait();
}
private void setDataAndLeave() {
if (this.nameTF.getText() == null || this.nameTF.getText().length() == 0)
return; this.thisActionMessageDialog.close();
}
private void setNothingAndLeave() {
this.nameTF.setText(this.holdName);
this.doNothing = true;
this.thisActionMessageDialog.close();
}
public TextField getNameTF() {
return this.nameTF;
}
public boolean isDoNothing() {
return this.doNothing;
}
}
+206
View File
@@ -0,0 +1,206 @@
package at.fos.ermodel.gui;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.GridPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class A6
extends Stage
{
private final A6 thisActionMessageDialog;
private final TextField p_tTF;
private final TextField d_ndTF;
private boolean doNothing;
private final String holdpartial_or_total;
private final String holddisjunct_or_notdisjunct;
public A6(final A3 canvas, double xPos, double yPos, String partial_or_total, String disjunct_or_notdisjunct) {
String title = "Enter P-T-D-ND";
this.doNothing = false;
if (partial_or_total == null) partial_or_total = "p";
if (disjunct_or_notdisjunct == null) disjunct_or_notdisjunct = "nd";
this.holdpartial_or_total = partial_or_total;
this.holddisjunct_or_notdisjunct = disjunct_or_notdisjunct;
this.thisActionMessageDialog = this;
setTitle(title);
initModality(Modality.APPLICATION_MODAL);
this.p_tTF = new TextField(partial_or_total);
this.p_tTF.setPrefWidth(50.0D);
this.p_tTF.textProperty().addListener((observable, oldValue, newValue) -> {
if (newValue.length() == 1 && newValue.charAt(0) != 'p' && newValue.charAt(0) != 't') {
newValue = "p";
this.p_tTF.setText(newValue);
return;
}
if (newValue.length() > 1) {
newValue = oldValue;
this.p_tTF.setText(newValue);
return;
}
if (newValue.length() == 1 && (newValue.charAt(0) == 'p' || newValue.charAt(0) == 't')) {
this.p_tTF.setText(newValue);
}
});
this.p_tTF.setOnMouseEntered(event -> T3.fdssdf4354(A6.this.p_tTF, C2.MouseSelectedColor));
this.p_tTF.setOnMouseExited(event -> A6.this.p_tTF.setEffect(null));
this.p_tTF.setOnKeyPressed(new EventHandler<>() {
public void handle(KeyEvent event) {
switch (event.getCode()) {
case ENTER -> A6.this.d_ndTF.requestFocus();
case ESCAPE -> A6.this.setNothingAndLeave();
}
}
});
this.d_ndTF = new TextField(disjunct_or_notdisjunct);
this.d_ndTF.setPrefWidth(50.0D);
this.d_ndTF.textProperty().addListener((observable, oldValue, newValue) -> {
if (newValue.length() == 1 && newValue.charAt(0) != 'd') {
newValue = "d";
this.d_ndTF.setText(newValue);
return;
}
if (newValue.length() == 2 && !newValue.equals("nd")) {
newValue = "nd";
this.d_ndTF.setText(newValue);
return;
}
if (newValue.length() > 2) {
newValue = oldValue;
this.d_ndTF.setText(newValue);
return;
}
if (newValue.length() == 1 && newValue.charAt(0) == 'd') {
this.d_ndTF.setText(newValue);
}
});
this.d_ndTF.setOnMouseEntered(event -> T3.fdssdf4354(A6.this.d_ndTF, C2.MouseSelectedColor));
this.d_ndTF.setOnMouseExited(event -> A6.this.d_ndTF.setEffect(null));
this.d_ndTF.setOnKeyPressed(event -> {
switch (event.getCode()) {
case ENTER -> {
A6.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*"))
canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
}
case ESCAPE -> A6.this.setNothingAndLeave();
}
});
GridPane gPane = new GridPane();
gPane.setPadding(new Insets(10.0D, 10.0D, 10.0D, 10.0D));
gPane.setHgap(4.0D);
gPane.add(new Label("ESC->Cancel"), 0, 0);
gPane.add(new Label("Partial[p]/Total[t]:"), 0, 1);
gPane.add(this.p_tTF, 1, 1);
gPane.add(new Label("Disjunct[d]/Not disjunct[nd]:"), 0, 2);
gPane.add(this.d_ndTF, 1, 2);
initStyle(StageStyle.UNDECORATED);
Scene scene = new Scene(gPane, 230.0D, 90.0D);
setScene(scene);
setX(xPos);
setY(yPos);
if (yPos + scene.getHeight() > canvas.getView().getHeight() - 5.0D) {
setY(yPos - scene.getHeight() - 20.0D);
}
if (xPos + scene.getWidth() > canvas.getView().getWidth() - 5.0D) {
setX(xPos - scene.getWidth() - 20.0D);
}
this.p_tTF.requestFocus();
this.p_tTF.selectPositionCaret(0);
this.p_tTF.selectEndOfNextWord();
sizeToScene();
showAndWait();
}
private void setDataAndLeave() {
if (this.p_tTF.getText() == null || this.p_tTF.getText().length() == 0) this.p_tTF.setText("p");
if (this.d_ndTF.getText() == null || this.d_ndTF.getText().length() == 0) this.d_ndTF.setText("nd");
this.thisActionMessageDialog.close();
}
private void setNothingAndLeave() {
this.p_tTF.setText(this.holdpartial_or_total);
this.d_ndTF.setText(this.holddisjunct_or_notdisjunct);
this.doNothing = true;
this.thisActionMessageDialog.close();
}
public TextField getP_tTF() {
return this.p_tTF;
}
public TextField getD_ndTF() {
return this.d_ndTF;
}
public boolean isDoNothing() {
return this.doNothing;
}
}
+160
View File
@@ -0,0 +1,160 @@
package at.fos.ermodel.gui;
import javafx.geometry.Insets;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.TextArea;
import javafx.scene.input.KeyCode;
import javafx.scene.input.KeyCodeCombination;
import javafx.scene.input.KeyCombination;
import javafx.scene.layout.GridPane;
import javafx.stage.Modality;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
public class A7
extends Stage
{
private final A7 thisActionMessageDialog;
private final TextArea textTA;
private boolean doNothing;
private final String holdName;
final KeyCombination keyCombinationALT_ENTER = new KeyCodeCombination(KeyCode.ENTER, KeyCombination.ALT_DOWN);
public A7(final A3 canvas, double xPos, double yPos, String name) {
String title = "Enter Name";
this.holdName = name;
this.doNothing = false;
this.thisActionMessageDialog = this;
setTitle(title);
initModality(Modality.APPLICATION_MODAL);
this.textTA = new TextArea(name);
this.textTA.setPrefWidth(350.0D);
this.textTA.setPrefHeight(100.0D);
this.textTA.setOnMouseEntered(event -> T3.fdssdf4354(A7.this.textTA, C2.MouseSelectedColor));
this.textTA.setOnMouseExited(event -> A7.this.textTA.setEffect(null));
this.textTA.setOnKeyPressed(event -> {
if (A7.this.keyCombinationALT_ENTER.match(event)) {
A7.this.textTA.appendText("\n");
event.consume();
return;
}
switch (event.getCode()) {
case ENTER -> {
event.consume();
A7.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*"))
canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
}
case ESCAPE -> A7.this.setNothingAndLeave();
}
});
GridPane fPane = new GridPane();
fPane.setPadding(new Insets(10.0D, 10.0D, 10.0D, 10.0D));
fPane.setHgap(4.0D);
fPane.add(new Label("ESC->Cancel, Alt-Enter->Linefeed"), 0, 0, 2, 1);
fPane.add(this.textTA, 0, 1);
initStyle(StageStyle.UNDECORATED);
Scene scene = new Scene(fPane, 370.0D, 150.0D);
setScene(scene);
setX(xPos);
setY(yPos);
if (yPos + scene.getHeight() > canvas.getView().getHeight() - 5.0D) {
setY(yPos - scene.getHeight() - 20.0D);
}
if (xPos + scene.getWidth() > canvas.getView().getWidth() - 5.0D) {
setX(xPos - scene.getWidth() - 20.0D);
}
this.textTA.requestFocus();
sizeToScene();
showAndWait();
}
private void setDataAndLeave() {
if (this.textTA.getText() == null || this.textTA.getText().length() == 0) {
this.textTA.setText("");
return;
}
this.thisActionMessageDialog.close();
}
private void setNothingAndLeave() {
this.textTA.setText(this.holdName);
this.doNothing = true;
this.thisActionMessageDialog.close();
}
public TextArea getTextTA() {
return this.textTA;
}
public boolean isDoNothing() {
return this.doNothing;
}
}
+830
View File
@@ -0,0 +1,830 @@
package at.fos.ermodel.gui;
import javafx.collections.FXCollections;
import javafx.collections.ObservableList;
import javafx.geometry.Insets;
import javafx.scene.Cursor;
import javafx.scene.Scene;
import javafx.scene.control.*;
import javafx.scene.input.KeyCode;
import javafx.scene.input.MouseButton;
import javafx.scene.layout.*;
import javafx.stage.FileChooser;
import javafx.stage.Modality;
import javafx.stage.Stage;
import java.io.*;
import java.nio.charset.StandardCharsets;
import java.util.Objects;
import java.util.Optional;
public class A8
extends Stage
{
private final A8 thisActionMessageDialog;
private final TextField nameTF;
private final CheckBox createColumnCB;
private final TextField columnNameTF;
private final TextField columnPostfixTF;
private final TextField datatypeTF;
private final CheckBox isAutoincrementCB;
private final TextField autoincrementStartAtTF;
private final CheckBox isKeyCB;
private final CheckBox isNullableCB;
private final CheckBox isUniqueCB;
private final ComboBox<String> dataGenerationTypeCoB;
private final Label par1LBL;
private final TextField par1TF;
private final Label par2LBL;
private final TextField par2TF;
private final Button okBTN;
private Button cancelBTN;
private final String holdName;
private final boolean holdcreateColumn;
private final String holdcolumnName;
private final String holdcolumnPostfix;
private final String holddatatype;
private final boolean holdisAutoincrement;
private final long holdAutoincrementStartAt;
private final boolean holdisKey;
private final boolean holdisNullable;
private final boolean holdisUnique;
private final String holddatagenerationtype;
private final String holdpar1_label;
private final String holdpar1;
private final String holdpar2_label;
private final String holdpar2;
public A8(final A3 canvas, double xPos, double yPos, String name, boolean createColumn, String columnName, String columnPostfix, String datatype, boolean isWeakKey, boolean isAutoincrement, long autoincrementStartAt, boolean isKey, boolean isNullable, boolean isUnique, String dataGenerationType, String par1, String par1_label, String par2, String par2_label) {
String title = "Attribute Transformation";
this.holdName = name;
this.holdcreateColumn = createColumn;
this.holdcolumnName = columnName;
this.holdcolumnPostfix = columnPostfix;
this.holddatatype = datatype;
this.holdisAutoincrement = isAutoincrement;
this.holdAutoincrementStartAt = autoincrementStartAt;
this.holdisKey = isKey;
this.holdisNullable = isNullable;
this.holdisUnique = isUnique;
this.holddatagenerationtype = dataGenerationType;
this.holdpar1_label = par1_label;
this.holdpar1 = par1;
this.holdpar2_label = par2_label;
this.holdpar2 = par2;
this.thisActionMessageDialog = this;
setTitle(title);
initModality(Modality.APPLICATION_MODAL);
this.nameTF = new TextField(name);
this.nameTF.setPrefWidth(150.0D);
this.nameTF.setMaxWidth(150.0D);
this.nameTF.setDisable(true);
this.createColumnCB = new CheckBox();
this.createColumnCB.setSelected(false);
if (createColumn) this.createColumnCB.setSelected(true);
this.createColumnCB.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.createColumnCB, C2.MouseSelectedColor));
this.createColumnCB.setOnMouseExited(event -> A8.this.createColumnCB.setEffect(null));
this.columnPostfixTF = new TextField(columnPostfix);
this.columnPostfixTF.setPrefWidth(150.0D);
this.columnPostfixTF.setMaxWidth(150.0D);
this.columnPostfixTF.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.columnPostfixTF, C2.MouseSelectedColor));
this.columnPostfixTF.setOnMouseExited(event -> A8.this.columnPostfixTF.setEffect(null));
this.columnNameTF = new TextField(columnName);
this.columnNameTF.setPrefWidth(150.0D);
this.columnNameTF.setMaxWidth(150.0D);
this.columnNameTF.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.columnNameTF, C2.MouseSelectedColor));
this.columnNameTF.setOnMouseExited(event -> A8.this.columnNameTF.setEffect(null));
this.datatypeTF = new TextField(datatype);
this.datatypeTF.setPrefWidth(150.0D);
this.datatypeTF.setMaxWidth(150.0D);
this.datatypeTF.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.datatypeTF, C2.MouseSelectedColor));
this.datatypeTF.setOnMouseExited(event -> A8.this.datatypeTF.setEffect(null));
this.isAutoincrementCB = new CheckBox();
this.isAutoincrementCB.setSelected(false);
if (isAutoincrement) this.isAutoincrementCB.setSelected(true);
this.isAutoincrementCB.setDisable(true);
if (isKey && !isWeakKey) this.isAutoincrementCB.setDisable(false);
this.isAutoincrementCB.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.isAutoincrementCB, C2.MouseSelectedColor));
this.isAutoincrementCB.setOnMouseExited(event -> A8.this.isAutoincrementCB.setEffect(null));
this.isAutoincrementCB.setOnAction(event -> {
if (A8.this.isAutoincrementCB.isSelected()) {
A8.this.datatypeTF.setText("bigint");
A8.this.autoincrementStartAtTF.setDisable(false);
A8.this.autoincrementStartAtTF.setText("1");
A8.this.datatypeTF.setDisable(true);
A8.this.dataGenerationTypeCoB.setDisable(true);
A8.this.par1TF.setDisable(true);
A8.this.par2TF.setDisable(true);
} else {
A8.this.datatypeTF.setDisable(false);
A8.this.autoincrementStartAtTF.setDisable(true);
A8.this.dataGenerationTypeCoB.setDisable(false);
A8.this.par1TF.setDisable(false);
A8.this.par2TF.setDisable(false);
}
});
if (!isAutoincrement) autoincrementStartAt = 1L;
this.autoincrementStartAtTF = new TextField(String.valueOf(autoincrementStartAt));
this.autoincrementStartAtTF.setPrefWidth(100.0D);
this.autoincrementStartAtTF.setMaxWidth(100.0D);
this.autoincrementStartAtTF.setDisable(true);
if (isAutoincrement) this.autoincrementStartAtTF.setDisable(false);
this.autoincrementStartAtTF.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.autoincrementStartAtTF, C2.MouseSelectedColor));
this.autoincrementStartAtTF.setOnMouseExited(event -> A8.this.autoincrementStartAtTF.setEffect(null));
this.isKeyCB = new CheckBox();
this.isKeyCB.setSelected(false);
if (isKey) this.isKeyCB.setSelected(true);
this.isKeyCB.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.isKeyCB, C2.MouseSelectedColor));
this.isKeyCB.setOnMouseExited(event -> A8.this.isKeyCB.setEffect(null));
this.isNullableCB = new CheckBox();
this.isNullableCB.setSelected(false);
if (isNullable) this.isNullableCB.setSelected(true);
this.isNullableCB.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.isNullableCB, C2.MouseSelectedColor));
this.isNullableCB.setOnMouseExited(event -> A8.this.isNullableCB.setEffect(null));
this.isUniqueCB = new CheckBox();
this.isUniqueCB.setSelected(false);
if (isUnique) this.isUniqueCB.setSelected(true);
this.isUniqueCB.setOnMouseEntered(event -> T3.fdssdf4354(A8.this.isUniqueCB, C2.MouseSelectedColor));
this.isUniqueCB.setOnMouseExited(event -> A8.this.isUniqueCB.setEffect(null));
ObservableList<String> possibleGenerations =
FXCollections.observableArrayList(T3.dsfsdfsdf4353534);
this.dataGenerationTypeCoB = new ComboBox<>(possibleGenerations);
if (dataGenerationType == null) {
this.dataGenerationTypeCoB.getSelectionModel().select(0);
this.par1TF = new TextField(""); this.par1TF.setDisable(true);
this.par1LBL = new Label("");
this.par2TF = new TextField(""); this.par2TF.setDisable(true);
this.par2LBL = new Label("");
} else {
this.dataGenerationTypeCoB.getSelectionModel().select(dataGenerationType);
this.par1TF = new TextField(par1); this.par1TF.setDisable(true);
this.par1LBL = new Label(par1_label);
this.par2TF = new TextField(par2); this.par2TF.setDisable(true);
this.par2LBL = new Label(par2_label);
setVisibilityForGenerationtype();
}
this.par2TF.setOnMousePressed(event -> {
if (!A8.this.dataGenerationTypeCoB.getSelectionModel().getSelectedItem().equals("Extern"))
return; if (event.getButton() == MouseButton.SECONDARY) {
event.consume();
FileChooser fc = new FileChooser();
fc.setInitialDirectory(new File(System.getProperty("user.home")));
fc.getExtensionFilters().add(new FileChooser.ExtensionFilter("*.txt", "*.TXT"));
File file = fc.showOpenDialog(A8.this.thisActionMessageDialog);
if (file != null) {
A8.this.par2TF.setText(file.getAbsolutePath());
}
}
A8.this.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(A8.this.okBTN, C2.MouseSelectedColor);
});
this.dataGenerationTypeCoB.setOnAction(event -> A8.this.setSelectionForGenerationtype());
this.okBTN = new Button("Ok");
this.okBTN.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, new CornerRadii(5.0D), Insets.EMPTY)));
this.okBTN.setOnMouseEntered(event -> {
A8.this.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(A8.this.okBTN, C2.MouseSelectedColor);
});
this.okBTN.setOnMouseExited(event -> {
A8.this.getScene().getRoot().setCursor(Cursor.DEFAULT);
A8.this.okBTN.setEffect(null);
if (A8.this.okBTN.isFocused()) T3.fdssdf4354(A8.this.okBTN, C2.FocusOnComponentColor);
});
this.okBTN.focusedProperty().addListener((obs, oldVal, newVal) -> {
if (this.okBTN.isFocused()) {
T3.fdssdf4354(this.okBTN, C2.FocusOnComponentColor);
this.columnPostfixTF.setEffect(null);
this.cancelBTN.setEffect(null);
} else {
this.okBTN.setEffect(null);
}
});
this.okBTN.setOnAction(event -> {
A8.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*")) canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
});
this.okBTN.setOnKeyPressed(event -> {
if (Objects.requireNonNull(event.getCode()) == KeyCode.ENTER) {
A8.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*"))
canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
}
});
this.cancelBTN = new Button("Cancel");
this.cancelBTN.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, new CornerRadii(5.0D), Insets.EMPTY)));
this.cancelBTN.setOnMouseEntered(event -> {
A8.this.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(A8.this.cancelBTN, C2.MouseSelectedColor);
});
this.cancelBTN.setOnMouseExited(event -> {
A8.this.getScene().getRoot().setCursor(Cursor.DEFAULT);
A8.this.cancelBTN.setEffect(null);
if (A8.this.cancelBTN.isFocused()) T3.fdssdf4354(A8.this.cancelBTN, C2.FocusOnComponentColor);
});
this.cancelBTN.focusedProperty().addListener((obs, oldVal, newVal) -> {
if (this.cancelBTN.isFocused()) {
T3.fdssdf4354(this.cancelBTN, C2.FocusOnComponentColor);
this.columnPostfixTF.setEffect(null);
this.okBTN.setEffect(null);
} else {
this.cancelBTN.setEffect(null);
}
});
this.cancelBTN.setOnAction(event -> A8.this.setNothingAndLeave());
this.cancelBTN.setOnKeyPressed(event -> {
if (Objects.requireNonNull(event.getCode()) == KeyCode.ENTER) {
A8.this.setNothingAndLeave();
}
});
if (isKey) {
this.isKeyCB.setDisable(true);
this.isUniqueCB.setDisable(true);
this.createColumnCB.setDisable(true);
this.isNullableCB.setDisable(true);
} else {
this.isKeyCB.setDisable(true);
}
GridPane gridPane = new GridPane();
gridPane.setPadding(new Insets(10.0D, 10.0D, 10.0D, 10.0D));
gridPane.setVgap(4.0D);
gridPane.setHgap(4.0D);
Label lbl = new Label("Name:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 0);
gridPane.add(this.nameTF, 1, 0);
lbl = new Label("Create column:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 1);
gridPane.add(this.createColumnCB, 1, 1);
lbl = new Label("Column name:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 2);
gridPane.add(this.columnNameTF, 1, 2);
lbl = new Label("Column postfix:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 3);
gridPane.add(this.columnPostfixTF, 1, 3);
lbl = new Label("Column datatype:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 4);
gridPane.add(this.datatypeTF, 1, 4);
lbl = new Label("Key:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 5);
gridPane.add(this.isKeyCB, 1, 5);
lbl = new Label("Autoincrement:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 6);
FlowPane fp = new FlowPane();
fp.getChildren().add(this.isAutoincrementCB);
fp.getChildren().add(this.autoincrementStartAtTF);
gridPane.add(fp, 1, 6);
lbl = new Label("Nullable:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 7);
gridPane.add(this.isNullableCB, 1, 7);
lbl = new Label("Unique:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 8);
gridPane.add(this.isUniqueCB, 1, 8);
lbl = new Label("Data generation:");
lbl.setPrefWidth(100.0D);
lbl.setMinWidth(100.0D);
gridPane.add(lbl, 0, 9);
gridPane.add(this.dataGenerationTypeCoB, 1, 9);
GridPane parameterGP = new GridPane();
this.par1LBL.setPrefWidth(150.0D);
this.par2LBL.setMaxWidth(150.0D);
this.par1TF.setPrefWidth(150.0D);
this.par2TF.setMaxWidth(150.0D);
parameterGP.add(this.par1LBL, 0, 0);
parameterGP.add(this.par2LBL, 1, 0);
parameterGP.add(this.par1TF, 0, 1);
parameterGP.add(this.par2TF, 1, 1);
gridPane.add(parameterGP, 0, 10, 2, 1);
fp = new FlowPane();
fp.setHgap(10.0D);
fp.getChildren().addAll(this.okBTN, this.cancelBTN);
gridPane.add(fp, 0, 11, 2, 1);
Scene scene = new Scene(gridPane, 280.0D, 355.0D);
setScene(scene);
setX(xPos);
setY(yPos);
if (yPos + scene.getHeight() > canvas.getView().getHeight() - 5.0D) {
setY(yPos - scene.getHeight() - 20.0D);
}
if (xPos + scene.getWidth() > canvas.getView().getWidth() - 5.0D) {
setX(xPos - scene.getWidth() - 20.0D);
}
sizeToScene();
this.columnNameTF.requestFocus();
if (isAutoincrement) {
this.dataGenerationTypeCoB.setDisable(true);
this.par1TF.setDisable(true);
this.par2TF.setDisable(true);
}
showAndWait();
}
private void setDataAndLeave() {
if (this.createColumnCB.isSelected()) {
if (this.columnNameTF.getText() == null || this.columnNameTF.getText().length() == 0) {
return;
}
if (this.datatypeTF.getText() == null || this.datatypeTF.getText().length() == 0) {
return;
}
}
if (this.dataGenerationTypeCoB.getSelectionModel().getSelectedItem().equals("Extern")) {
BufferedReader br = C2.randomDataFilesExtern.get(this.par1TF.getText());
if (br == null)
{
try {
BufferedReader fr = new BufferedReader(new InputStreamReader(new FileInputStream(this.par2TF.getText()), StandardCharsets.UTF_8));
C2.randomDataFilesExtern.put(this.par1TF.getText(), fr);
this.thisActionMessageDialog.close();
} catch (FileNotFoundException ignored) {}
}
else
{
C1 alert = new C1(null,
Alert.AlertType.CONFIRMATION,
"Input Transformation Data",
"",
"Key exists: " + this.par1TF.getText(),
Boolean.TRUE,
C2.applicationImageIconAsICO,
"OK",
"Cancel",
C2.ButtonBackgroundColor,
C2.MouseSelectedColor,
C2.FocusOnComponentColor);
Optional<ButtonType> result = alert.getResult();
if (result.isPresent() && result.get() == ButtonType.OK)
{
this.thisActionMessageDialog.close();
}
}
} else {
this.thisActionMessageDialog.close();
}
}
private void setNothingAndLeave() {
this.nameTF.setText(this.holdName);
this.createColumnCB.setSelected(this.holdcreateColumn);
this.columnNameTF.setText(this.holdcolumnName);
this.columnPostfixTF.setText(this.holdcolumnPostfix);
this.datatypeTF.setText(this.holddatatype);
this.isAutoincrementCB.setSelected(this.holdisAutoincrement);
this.autoincrementStartAtTF.setText(String.valueOf(this.holdAutoincrementStartAt));
this.isKeyCB.setSelected(this.holdisKey);
this.isNullableCB.setSelected(this.holdisNullable);
this.isUniqueCB.setSelected(this.holdisUnique);
this.dataGenerationTypeCoB.getSelectionModel().select(this.holddatagenerationtype);
this.par1LBL.setText(this.holdpar1_label);
this.par1TF.setText(this.holdpar1);
this.par2LBL.setText(this.holdpar2_label);
this.par2TF.setText(this.holdpar2);
this.thisActionMessageDialog.close();
}
public CheckBox getCreateColumnCB() {
return this.createColumnCB;
}
public TextField getColumnNameTF() {
return this.columnNameTF;
}
public TextField getColumnPostfixTF() {
return this.columnPostfixTF;
}
public TextField getDatatypeTF() {
return this.datatypeTF;
}
public CheckBox getIsAutoincrementCB() {
return this.isAutoincrementCB;
}
public CheckBox getIsKeyCB() {
return this.isKeyCB;
}
public CheckBox getIsNullableCB() {
return this.isNullableCB;
}
public CheckBox getIsUniqueCB() {
return this.isUniqueCB;
}
public ComboBox<String> getDataGenerationTypeCoB() {
return this.dataGenerationTypeCoB;
}
public Label getPar1LBL() {
return this.par1LBL;
}
public TextField getPar1TF() {
return this.par1TF;
}
public Label getPar2LBL() {
return this.par2LBL;
}
public TextField getPar2TF() {
return this.par2TF;
}
public TextField getAutoincrementStartAtTF() {
return this.autoincrementStartAtTF;
}
private void setSelectionForGenerationtype() {
if (this.dataGenerationTypeCoB.getSelectionModel().getSelectedItem() == null)
return; String str;
switch ((str = this.dataGenerationTypeCoB.getSelectionModel().getSelectedItem()).hashCode()) {
case -1601184309 -> {
if (!str.equals("Random Boolean")) {
break;
}
this.par1TF.setText("");
this.par1LBL.setText("");
this.par1TF.setDisable(true);
this.par2TF.setText("");
this.par2LBL.setText("");
this.par2TF.setDisable(true);
this.datatypeTF.setText("boolean");
return;
}
case -123632396 -> {
if (!str.equals("Random Decimal"))
break;
this.par1TF.setText("5");
this.par1LBL.setText("Before[.]");
this.par1TF.setDisable(false);
this.par2TF.setText("2");
this.par2LBL.setText("After[.]");
this.par2TF.setDisable(false);
this.datatypeTF.setText("decimal(7,2)");
return;
}
case 2529 -> {
if (!str.equals("No"))
break;
this.par1TF.setText("");
this.par1LBL.setText("");
this.par1TF.setDisable(true);
this.par2TF.setText("");
this.par2LBL.setText("");
this.par2TF.setDisable(true);
return;
}
case 292156129 -> {
if (!str.equals("Random Integer"))
break;
this.par1TF.setText("0");
this.par1LBL.setText("From");
this.par1TF.setDisable(false);
this.par2TF.setText("1000");
this.par2LBL.setText("Till");
this.par2TF.setDisable(false);
this.datatypeTF.setText("int");
return;
}
case 908695787 -> {
if (!str.equals("Random Date"))
break;
this.par1TF.setText("1.1.1940");
this.par1LBL.setText("From");
this.par1TF.setDisable(false);
this.par2TF.setText("31.12.2020");
this.par2LBL.setText("Till");
this.par2TF.setDisable(false);
this.datatypeTF.setText("date");
return;
}
case 909176426 -> {
if (!str.equals("Random Text"))
break;
this.par1TF.setText("100");
this.par1LBL.setText("Text length");
this.par1TF.setDisable(false);
this.par2TF.setText("");
this.par2LBL.setText("");
this.par2TF.setDisable(true);
this.datatypeTF.setText("varchar(100)");
return;
}
case 1599784748 -> {
if (!str.equals("Incremented Integer"))
break;
this.par1TF.setText("0");
this.par1LBL.setText("From");
this.par1TF.setDisable(false);
this.par2TF.setText("");
this.par2LBL.setText("");
this.par2TF.setDisable(true);
this.datatypeTF.setText("int");
return;
}
case 2089790400 -> {
if (!str.equals("Extern"))
break;
this.par1TF.setText("");
this.par1LBL.setText("Key");
this.par1TF.setDisable(false);
this.par2TF.setText("");
this.par2LBL.setText("Path/File");
this.par2TF.setDisable(false);
return;
}
}
this.par1TF.setText(""); this.par1LBL.setText(""); this.par1TF.setDisable(true);
this.par2TF.setText(""); this.par2LBL.setText(""); this.par2TF.setDisable(true);
}
private void setVisibilityForGenerationtype() {
String str;
switch ((str = this.dataGenerationTypeCoB.getSelectionModel().getSelectedItem()).hashCode()) {
case -123632396 -> {
if (!str.equals("Random Decimal")) {
break;
}
this.par1LBL.setText("Before[.]");
this.par1TF.setDisable(false);
this.par2LBL.setText("After[.]");
this.par2TF.setDisable(false);
return;
}
case 2529 -> {
if (!str.equals("No"))
break;
this.par1TF.setDisable(true);
this.par2TF.setDisable(true);
return;
}
case 292156129 -> {
if (!str.equals("Random Integer"))
break;
this.par1LBL.setText("From");
this.par1TF.setDisable(false);
this.par2LBL.setText("Till");
this.par2TF.setDisable(false);
return;
}
case 908695787 -> {
if (!str.equals("Random Date"))
break;
this.par1LBL.setText("From");
this.par1TF.setDisable(false);
this.par2LBL.setText("Till");
this.par2TF.setDisable(false);
return;
}
case 909176426 -> {
if (!str.equals("Random Text"))
break;
this.par1LBL.setText("Text length");
this.par1TF.setDisable(false);
this.par2LBL.setText("");
this.par2TF.setDisable(true);
return;
}
case 1599784748 -> {
if (!str.equals("Incremented Integer"))
break;
this.par1LBL.setText("From");
this.par1TF.setDisable(false);
this.par2LBL.setText("");
this.par2TF.setDisable(true);
return;
}
case 2089790400 -> {
if (!str.equals("Extern"))
break;
this.par1LBL.setText("Key");
this.par1TF.setDisable(false);
this.par2LBL.setText("Path/File");
this.par2TF.setDisable(false);
return;
}
}
this.par1TF.setText(""); this.par1LBL.setText(""); this.par1TF.setDisable(true);
this.par2TF.setText(""); this.par2LBL.setText(""); this.par2TF.setDisable(true);
}
}
+248
View File
@@ -0,0 +1,248 @@
package at.fos.ermodel.gui;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.geometry.Insets;
import javafx.scene.Cursor;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.*;
import javafx.stage.Modality;
import javafx.stage.Stage;
import java.util.Objects;
public class A9
extends Stage
{
private final A9 thisActionMessageDialog;
private final TextField nameTF;
private final CheckBox createRelationCB;
private final TextField relationNameTF;
private final TextField relationPraefixTF;
private final CheckBox createInsertStatementsCB;
private final TextField numberRowsToInsertTF;
private final Button okBTN;
private Button cancelBTN;
private final String holdName;
public A9(final A3 canvas, double xPos, double yPos, String name, boolean createRelation, String relationName, String relationPraefix, boolean createInsertStatements, long numberRowsToInsert, boolean setCreationRelationChangeable) {
String title = "ES/RS Transformation";
this.holdName = name;
this.thisActionMessageDialog = this;
setTitle(title);
initModality(Modality.APPLICATION_MODAL);
this.nameTF = new TextField(name);
this.nameTF.setDisable(true);
this.createRelationCB = new CheckBox();
this.createRelationCB.setSelected(false);
if (!setCreationRelationChangeable) this.createRelationCB.setDisable(true);
if (createRelation) this.createRelationCB.setSelected(true);
this.relationPraefixTF = new TextField(relationPraefix);
this.relationPraefixTF.setOnMouseEntered(event -> T3.fdssdf4354(A9.this.relationPraefixTF, C2.MouseSelectedColor));
this.relationPraefixTF.setOnMouseExited(event -> A9.this.relationPraefixTF.setEffect(null));
this.relationNameTF = new TextField(relationName);
this.relationNameTF.setOnMouseEntered(event -> T3.fdssdf4354(A9.this.relationNameTF, C2.MouseSelectedColor));
this.relationNameTF.setOnMouseExited(event -> A9.this.relationNameTF.setEffect(null));
this.createInsertStatementsCB = new CheckBox();
this.createInsertStatementsCB.setSelected(true);
this.createInsertStatementsCB.setDisable(true);
if (createInsertStatements) this.createInsertStatementsCB.setSelected(true);
this.createInsertStatementsCB.setOnAction(new EventHandler<>() {
public void handle(ActionEvent event) {
A9.this.numberRowsToInsertTF.setDisable(!A9.this.createInsertStatementsCB.isSelected());
}
});
this.numberRowsToInsertTF = new TextField(String.valueOf(numberRowsToInsert));
this.numberRowsToInsertTF.setDisable(true);
if (createInsertStatements) this.numberRowsToInsertTF.setDisable(false);
this.okBTN = new Button("Ok");
this.okBTN.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, new CornerRadii(5.0D), Insets.EMPTY)));
this.okBTN.setOnMouseEntered(event -> {
A9.this.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(A9.this.okBTN, C2.MouseSelectedColor);
});
this.okBTN.setOnMouseExited(event -> {
A9.this.getScene().getRoot().setCursor(Cursor.DEFAULT);
A9.this.okBTN.setEffect(null);
if (A9.this.okBTN.isFocused()) T3.fdssdf4354(A9.this.okBTN, C2.FocusOnComponentColor);
});
this.okBTN.focusedProperty().addListener((obs, oldVal, newVal) -> {
if (this.okBTN.isFocused()) {
T3.fdssdf4354(this.okBTN, C2.FocusOnComponentColor);
this.relationPraefixTF.setEffect(null);
this.cancelBTN.setEffect(null);
} else {
this.okBTN.setEffect(null);
}
});
this.okBTN.setOnAction(event -> {
A9.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*")) canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
});
this.okBTN.setOnKeyPressed(event -> {
if (Objects.requireNonNull(event.getCode()) == KeyCode.ENTER) {
A9.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*"))
canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
}
});
this.cancelBTN = new Button("Cancel");
this.cancelBTN.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, new CornerRadii(5.0D), Insets.EMPTY)));
this.cancelBTN.setOnMouseEntered(event -> {
A9.this.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(A9.this.cancelBTN, C2.MouseSelectedColor);
});
this.cancelBTN.setOnMouseExited(event -> {
A9.this.getScene().getRoot().setCursor(Cursor.DEFAULT);
A9.this.cancelBTN.setEffect(null);
if (A9.this.cancelBTN.isFocused()) T3.fdssdf4354(A9.this.cancelBTN, C2.FocusOnComponentColor);
});
this.cancelBTN.focusedProperty().addListener((obs, oldVal, newVal) -> {
if (this.cancelBTN.isFocused()) {
T3.fdssdf4354(this.cancelBTN, C2.FocusOnComponentColor);
this.relationPraefixTF.setEffect(null);
this.okBTN.setEffect(null);
} else {
this.cancelBTN.setEffect(null);
}
});
this.cancelBTN.setOnAction(event -> A9.this.setNothingAndLeave());
this.cancelBTN.setOnKeyPressed(event -> {
if (Objects.requireNonNull(event.getCode()) == KeyCode.ENTER) {
A9.this.setNothingAndLeave();
}
});
GridPane gridPane = new GridPane();
gridPane.setPadding(new Insets(10.0D, 10.0D, 10.0D, 10.0D));
gridPane.setVgap(4.0D);
gridPane.setHgap(4.0D);
gridPane.add(new Label("Name:"), 0, 0);
gridPane.add(this.nameTF, 1, 0);
gridPane.add(new Label("Create relation:"), 0, 1);
gridPane.add(this.createRelationCB, 1, 1);
gridPane.add(new Label("Relation name:"), 0, 2);
gridPane.add(this.relationNameTF, 1, 2);
gridPane.add(new Label("Relation praefix:"), 0, 3);
gridPane.add(this.relationPraefixTF, 1, 3);
gridPane.add(new Label("Create inserts:"), 0, 4);
gridPane.add(this.createInsertStatementsCB, 1, 4);
gridPane.add(new Label("Number rows:"), 0, 5);
gridPane.add(this.numberRowsToInsertTF, 1, 5);
FlowPane fp = new FlowPane();
fp.setHgap(10.0D);
fp.getChildren().addAll(this.okBTN, this.cancelBTN);
gridPane.add(fp, 0, 6, 2, 1);
Scene scene = new Scene(gridPane, 300.0D, 205.0D);
setScene(scene);
sizeToScene();
setX(xPos);
setY(yPos);
if (yPos + scene.getHeight() > canvas.getView().getHeight() - 5.0D) {
setY(yPos - scene.getHeight() - 20.0D);
}
if (xPos + scene.getWidth() > canvas.getView().getWidth() - 5.0D) {
setX(xPos - scene.getWidth() - 20.0D);
}
this.relationNameTF.requestFocus();
sizeToScene();
showAndWait();
}
private void setDataAndLeave() {
if (this.nameTF.getText() == null || this.nameTF.getText().length() == 0)
return; this.thisActionMessageDialog.close();
}
private void setNothingAndLeave() {
this.nameTF.setText(this.holdName);
this.thisActionMessageDialog.close();
}
public CheckBox getCreateRelationCB() {
return this.createRelationCB;
}
public TextField getRelationNameTF() {
return this.relationNameTF;
}
public TextField getRelationPraefixTF() {
return this.relationPraefixTF;
}
public CheckBox getCreateInsertStatementsCB() {
return this.createInsertStatementsCB;
}
public TextField getNumberRowsToInsertTF() {
return this.numberRowsToInsertTF;
}
}
+334
View File
@@ -0,0 +1,334 @@
package at.fos.ermodel.gui;
import javafx.geometry.Insets;
import javafx.scene.Cursor;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.CheckBox;
import javafx.scene.control.Label;
import javafx.scene.control.TextField;
import javafx.scene.input.KeyCode;
import javafx.scene.layout.*;
import javafx.stage.Modality;
import javafx.stage.Stage;
import java.util.Objects;
public class B1
extends Stage
{
private final B1 thisActionMessageDialog;
private final TextField nameTF;
private final CheckBox createColumnCB;
private final TextField columnNameTF;
private final TextField relationNameTF;
private final TextField relationNamePraefixTF;
private final TextField columnPostfixTF;
private final TextField datatypeTF;
private final CheckBox isAutoincrementCB;
private final CheckBox isKeyCB;
private final CheckBox isNullableCB;
private final CheckBox isUniqueCB;
private final Button okBTN;
private Button cancelBTN;
private final String holdName;
public B1(final A3 canvas, double xPos, double yPos, String name, boolean createColumn, String columnName, String relationName, String relationNamePraefix, String columnPostfix, String datatype, boolean isAutoincrement, boolean isKey, boolean isNullable, boolean isUnique) {
String title = "Multivalue Attribute Transformation";
this.holdName = name;
this.thisActionMessageDialog = this;
setTitle(title);
initModality(Modality.APPLICATION_MODAL);
this.nameTF = new TextField(name);
this.nameTF.setDisable(true);
this.createColumnCB = new CheckBox();
this.createColumnCB.setSelected(false);
this.createColumnCB.setDisable(true);
if (createColumn) this.createColumnCB.setSelected(true);
this.createColumnCB.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.createColumnCB, C2.MouseSelectedColor));
this.createColumnCB.setOnMouseExited(event -> B1.this.createColumnCB.setEffect(null));
this.columnPostfixTF = new TextField(columnPostfix);
this.columnPostfixTF.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.columnPostfixTF, C2.MouseSelectedColor));
this.columnPostfixTF.setOnMouseExited(event -> B1.this.columnPostfixTF.setEffect(null));
this.columnNameTF = new TextField(columnName);
this.columnNameTF.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.columnNameTF, C2.MouseSelectedColor));
this.columnNameTF.setOnMouseExited(event -> B1.this.columnNameTF.setEffect(null));
this.relationNameTF = new TextField(relationName);
this.relationNameTF.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.relationNameTF, C2.MouseSelectedColor));
this.relationNameTF.setOnMouseExited(event -> B1.this.relationNameTF.setEffect(null));
this.relationNamePraefixTF = new TextField(relationNamePraefix);
this.relationNamePraefixTF.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.relationNamePraefixTF, C2.MouseSelectedColor));
this.relationNamePraefixTF.setOnMouseExited(event -> B1.this.relationNamePraefixTF.setEffect(null));
this.datatypeTF = new TextField(datatype);
this.datatypeTF.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.datatypeTF, C2.MouseSelectedColor));
this.datatypeTF.setOnMouseExited(event -> B1.this.datatypeTF.setEffect(null));
this.isAutoincrementCB = new CheckBox();
this.isAutoincrementCB.setSelected(false);
if (isAutoincrement) this.isAutoincrementCB.setSelected(true);
this.isAutoincrementCB.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.isAutoincrementCB, C2.MouseSelectedColor));
this.isAutoincrementCB.setOnMouseExited(event -> B1.this.isAutoincrementCB.setEffect(null));
this.isKeyCB = new CheckBox();
this.isKeyCB.setSelected(false);
if (isKey) this.isKeyCB.setSelected(true);
this.isKeyCB.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.isKeyCB, C2.MouseSelectedColor));
this.isKeyCB.setOnMouseExited(event -> B1.this.isKeyCB.setEffect(null));
this.isNullableCB = new CheckBox();
this.isNullableCB.setSelected(false);
if (isNullable) this.isNullableCB.setSelected(true);
this.isNullableCB.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.isNullableCB, C2.MouseSelectedColor));
this.isNullableCB.setOnMouseExited(event -> B1.this.isNullableCB.setEffect(null));
this.isUniqueCB = new CheckBox();
this.isUniqueCB.setSelected(false);
if (isUnique) this.isUniqueCB.setSelected(true);
this.isUniqueCB.setOnMouseEntered(event -> T3.fdssdf4354(B1.this.isUniqueCB, C2.MouseSelectedColor));
this.isUniqueCB.setOnMouseExited(event -> B1.this.isUniqueCB.setEffect(null));
this.okBTN = new Button("Ok");
this.okBTN.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, new CornerRadii(5.0D), Insets.EMPTY)));
this.okBTN.setOnMouseEntered(event -> {
B1.this.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(B1.this.okBTN, C2.MouseSelectedColor);
});
this.okBTN.setOnMouseExited(event -> {
B1.this.getScene().getRoot().setCursor(Cursor.DEFAULT);
B1.this.okBTN.setEffect(null);
if (B1.this.okBTN.isFocused()) T3.fdssdf4354(B1.this.okBTN, C2.FocusOnComponentColor);
});
this.okBTN.focusedProperty().addListener((obs, oldVal, newVal) -> {
if (this.okBTN.isFocused()) {
T3.fdssdf4354(this.okBTN, C2.FocusOnComponentColor);
this.columnPostfixTF.setEffect(null);
this.cancelBTN.setEffect(null);
} else {
this.okBTN.setEffect(null);
}
});
this.okBTN.setOnAction(event -> {
if (!canvas.getTabWithCanvas().getText().contains("*")) canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
B1.this.setDataAndLeave();
});
this.okBTN.setOnKeyPressed(event -> {
if (Objects.requireNonNull(event.getCode()) == KeyCode.ENTER) {
B1.this.setDataAndLeave();
if (!canvas.getTabWithCanvas().getText().contains("*"))
canvas.getTabWithCanvas().setText(canvas.getTabWithCanvas().getText() + "*");
}
});
this.cancelBTN = new Button("Cancel");
this.cancelBTN.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, new CornerRadii(5.0D), Insets.EMPTY)));
this.cancelBTN.setOnMouseEntered(event -> {
B1.this.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(B1.this.cancelBTN, C2.MouseSelectedColor);
});
this.cancelBTN.setOnMouseExited(event -> {
B1.this.getScene().getRoot().setCursor(Cursor.DEFAULT);
B1.this.cancelBTN.setEffect(null);
if (B1.this.cancelBTN.isFocused()) T3.fdssdf4354(B1.this.cancelBTN, C2.FocusOnComponentColor);
});
this.cancelBTN.focusedProperty().addListener((obs, oldVal, newVal) -> {
if (this.cancelBTN.isFocused()) {
T3.fdssdf4354(this.cancelBTN, C2.FocusOnComponentColor);
this.columnPostfixTF.setEffect(null);
this.okBTN.setEffect(null);
} else {
this.cancelBTN.setEffect(null);
}
});
this.cancelBTN.setOnAction(event -> B1.this.setNothingAndLeave());
this.cancelBTN.setOnKeyPressed(event -> {
if (Objects.requireNonNull(event.getCode()) == KeyCode.ENTER) {
B1.this.setNothingAndLeave();
}
});
if (isKey) {
this.isKeyCB.setDisable(true);
this.isUniqueCB.setDisable(true);
this.createColumnCB.setDisable(true);
this.isNullableCB.setDisable(true);
} else {
this.isKeyCB.setDisable(true);
}
GridPane gridPane = new GridPane();
gridPane.setPadding(new Insets(10.0D, 10.0D, 10.0D, 10.0D));
gridPane.setVgap(4.0D);
gridPane.setHgap(4.0D);
gridPane.add(new Label("Name:"), 0, 0);
gridPane.add(this.nameTF, 1, 0);
gridPane.add(new Label("Create column:"), 0, 1);
gridPane.add(this.createColumnCB, 1, 1);
gridPane.add(new Label("Column name:"), 0, 2);
gridPane.add(this.columnNameTF, 1, 2);
gridPane.add(new Label("Relation name:"), 0, 3);
gridPane.add(this.relationNameTF, 1, 3);
gridPane.add(new Label("Relation name praefix:"), 0, 4);
gridPane.add(this.relationNamePraefixTF, 1, 4);
gridPane.add(new Label("Column postfix:"), 0, 5);
gridPane.add(this.columnPostfixTF, 1, 5);
gridPane.add(new Label("Column datatype:"), 0, 6);
gridPane.add(this.datatypeTF, 1, 6);
gridPane.add(new Label("Key:"), 0, 7);
gridPane.add(this.isKeyCB, 1, 7);
gridPane.add(new Label("Autoincrement:"), 0, 8);
gridPane.add(this.isAutoincrementCB, 1, 8);
gridPane.add(new Label("Nullable:"), 0, 9);
gridPane.add(this.isNullableCB, 1, 9);
gridPane.add(new Label("Unique:"), 0, 10);
gridPane.add(this.isUniqueCB, 1, 10);
FlowPane fp = new FlowPane();
fp.setHgap(10.0D);
fp.getChildren().addAll(this.okBTN, this.cancelBTN);
gridPane.add(fp, 0, 11, 2, 1);
Scene scene = new Scene(gridPane, 300.0D, 325.0D);
setScene(scene);
setX(xPos);
setY(yPos);
if (yPos + scene.getHeight() > canvas.getView().getHeight() - 5.0D) {
setY(yPos - scene.getHeight() - 20.0D);
}
if (xPos + scene.getWidth() > canvas.getView().getWidth() - 5.0D) {
setX(xPos - scene.getWidth() - 20.0D);
}
this.columnNameTF.requestFocus();
sizeToScene();
showAndWait();
}
private void setDataAndLeave() {
if (this.nameTF.getText() == null || this.nameTF.getText().length() == 0)
return; this.thisActionMessageDialog.close();
}
private void setNothingAndLeave() {
this.nameTF.setText(this.holdName);
this.thisActionMessageDialog.close();
}
public CheckBox getCreateColumnCB() {
return this.createColumnCB;
}
public TextField getColumnNameTF() {
return this.columnNameTF;
}
public TextField getColumnPostfixTF() {
return this.columnPostfixTF;
}
public TextField getDatatypeTF() {
return this.datatypeTF;
}
public CheckBox getIsAutoincrementCB() {
return this.isAutoincrementCB;
}
public CheckBox getIsKeyCB() {
return this.isKeyCB;
}
public CheckBox getIsNullableCB() {
return this.isNullableCB;
}
public CheckBox getIsUniqueCB() {
return this.isUniqueCB;
}
public TextField getRelationNameTF() {
return this.relationNameTF;
}
public TextField getRelationNamePraefixTF() {
return this.relationNamePraefixTF;
}
}
File diff suppressed because it is too large Load Diff
+157
View File
@@ -0,0 +1,157 @@
package at.fos.ermodel.gui;
import javafx.event.Event;
import javafx.geometry.Insets;
import javafx.scene.Cursor;
import javafx.scene.control.Alert;
import javafx.scene.control.Button;
import javafx.scene.control.ButtonType;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
import javafx.stage.StageStyle;
import javafx.stage.Window;
import java.util.Optional;
public class C1
{
private Optional<ButtonType> result;
public C1(Window window, Alert.AlertType alertType, String title, String header, String contentText, Boolean showAndWait, Image image, String okBtnText, String cancelBtnText, Color btnBackgroundColor, Color btnSelectedColor, Color btnFocusColor) {
Alert alert = setAlert(window, alertType, title, header, contentText, image);
Button button = (Button)alert.getDialogPane().lookupButton(ButtonType.OK);
if (button != null) {
setButtonLookAndFeel(button, okBtnText, btnBackgroundColor, btnSelectedColor, btnFocusColor);
}
button = (Button)alert.getDialogPane().lookupButton(ButtonType.CANCEL);
if (button != null) setButtonLookAndFeel(button, cancelBtnText, btnBackgroundColor, btnSelectedColor, btnFocusColor);
button = (Button)alert.getDialogPane().lookupButton(ButtonType.APPLY);
if (button != null) setButtonLookAndFeel(button, null, btnBackgroundColor, btnSelectedColor, btnFocusColor);
button = (Button)alert.getDialogPane().lookupButton(ButtonType.CLOSE);
if (button != null) setButtonLookAndFeel(button, null, btnBackgroundColor, btnSelectedColor, btnFocusColor);
button = (Button)alert.getDialogPane().lookupButton(ButtonType.FINISH);
if (button != null) setButtonLookAndFeel(button, null, btnBackgroundColor, btnSelectedColor, btnFocusColor);
button = (Button)alert.getDialogPane().lookupButton(ButtonType.NEXT);
if (button != null) setButtonLookAndFeel(button, null, btnBackgroundColor, btnSelectedColor, btnFocusColor);
button = (Button)alert.getDialogPane().lookupButton(ButtonType.NO);
if (button != null) setButtonLookAndFeel(button, null, btnBackgroundColor, btnSelectedColor, btnFocusColor);
button = (Button)alert.getDialogPane().lookupButton(ButtonType.PREVIOUS);
if (button != null) setButtonLookAndFeel(button, null, btnBackgroundColor, btnSelectedColor, btnFocusColor);
button = (Button)alert.getDialogPane().lookupButton(ButtonType.YES);
if (button != null) setButtonLookAndFeel(button, null, btnBackgroundColor, btnSelectedColor, btnFocusColor);
if (showAndWait) {
this.result = alert.showAndWait();
} else {
alert.show();
}
}
private void setButtonLookAndFeel(final Button button, String buttonText, Color btnBackgroundColor, final Color btnSelectedColor, final Color btnFocusColor) {
button.setBackground(new Background(new BackgroundFill(btnBackgroundColor, new CornerRadii(5.0D), Insets.EMPTY)));
button.setOnMouseEntered(event -> {
button.getScene().getRoot().setCursor(Cursor.HAND);
T3.fdssdf4354(button, btnSelectedColor);
});
button.setOnMouseExited(event -> {
button.getScene().getRoot().setCursor(Cursor.DEFAULT);
button.setEffect(null);
if (button.isFocused()) {
T3.fdssdf4354(button, btnFocusColor);
} else {
button.setEffect(null);
}
});
button.focusedProperty().addListener((obs, oldVal, newVal) -> {
if (button.isFocused()) {
T3.fdssdf4354(button, btnSelectedColor);
} else {
button.setEffect(null);
}
});
if (buttonText != null) button.setText(buttonText);
}
private Alert setAlert(Window window, Alert.AlertType alertType, String title, String header, String contentText, Image image) {
Alert alert = new Alert(alertType);
alert.setTitle(title);
alert.setHeaderText(header);
alert.setContentText(contentText);
alert.initOwner(window);
alert.initStyle(StageStyle.DECORATED);
StackPane iv = switch (alertType) {
case ERROR ->
C2.alerterror;
case INFORMATION ->
C2.alertinformation;
default ->
C2.alertconfirmation;
};
alert.setGraphic(iv);
alert.getDialogPane().getChildren().stream().filter(node -> node instanceof Label).forEach(node -> ((Label)node).setMinHeight(Double.NEGATIVE_INFINITY));
alert.getDialogPane().getChildren().stream().filter(node -> node instanceof Label).forEach(node -> ((Label)node).setMinWidth(Double.NEGATIVE_INFINITY));
alert.getDialogPane().getChildren().stream().filter(node -> node instanceof Label).forEach(node -> ((Label)node).setMaxWidth(Double.NEGATIVE_INFINITY));
alert.getDialogPane().setBackground(new Background(new BackgroundFill(Color.GAINSBORO, CornerRadii.EMPTY, Insets.EMPTY)));
Stage stage = (Stage)alert.getDialogPane().getScene().getWindow();
if (image != null) {
stage.getIcons().add(image);
}
stage.setOnCloseRequest(Event::consume);
stage.centerOnScreen();
stage.setAlwaysOnTop(true);
return alert;
}
public Optional<ButtonType> getResult() {
return this.result;
}
}
+170
View File
@@ -0,0 +1,170 @@
package at.fos.ermodel.gui;
import java.io.BufferedReader;
import java.io.InputStream;
import java.util.HashMap;
import java.util.Objects;
import javafx.geometry.Insets;
import javafx.scene.image.Image;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.StackPane;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontWeight;
import javafx.scene.text.Text;
public class C2
{
public static final Color MouseSelectedColor = Color.RED;
public static final Color FocusOnComponentColor = Color.BLUE;
public static final Color ButtonBackgroundColor = Color.rgb(179,179,179);
public static final Color ERMDockablePointColor = Color.rgb(236, 234, 241);
public static final Color ERMTextBorderColor = Color.GREY;
public static Font ERMFont = Font.font(null, FontWeight.BOLD, 12.0D);
public static Color ERMBackgroundColor = Color.rgb(27, 27, 30);
public static Color ERMForegroundColor = Color.rgb(48, 48, 52);
public static Color ERMTextColor = Color.rgb(236, 234, 241);
public static Background AppBackground = new Background(new BackgroundFill(C2.ERMBackgroundColor, CornerRadii.EMPTY, Insets.EMPTY));
public static Background AppForeground = new Background(new BackgroundFill(C2.ERMForegroundColor, CornerRadii.EMPTY, Insets.EMPTY));
public static StackPane alerterror = new StackPane();
public static StackPane alertconfirmation = new StackPane();
public static StackPane alertinformation = new StackPane();
public static Color ERMSelectedColor = Color.RED;
public static Color ERMESColor = Color.rgb(0,255,0);
public static Color ERMRSColor = Color.AQUA;
public static Color ERMRSConnColor = Color.AQUA;
public static Color ERMRSISAColor = Color.BLUEVIOLET;
public static Color ERMISAConnGENERAL = Color.BLUEVIOLET;
public static Color ERMISAConnSPEC = Color.AQUA;
public static Color ERMATTRColor = Color.GREENYELLOW;
public static Color ERMLINEColor = Color.CHARTREUSE;
public static Color TEMPLINEColor = Color.PALEGREEN;
public static Image applicationImageIconAsICO;
public static int imageWidth = 55;
public static int imageHeight = 32;
public static Image treeCloseImage;
public static Image treeOpenImage;
public static Image attr_conn_attrImage;
public static Image attr_conn_esImage;
public static Image attr_conn_rsImage;
public static Image attr_derived_multi_valueImage;
public static Image attr_derived_one_valueImage;
public static Image attr_key_valueImage;
public static Image attr_multi_valueImage;
public static Image attr_one_valueImage;
public static Image attr_weak_key_valueImage;
public static Image es_associativeImage;
public static Image es_weakImage;
public static Image esImage;
public static Image rs_conn_esImage;
public static Image rs_id_conn_es_weakImage;
public static Image rs_id_conn_esImage;
public static Image rs_idImage;
public static Image rs_isa_conn_general_esImage;
public static Image rs_isa_conn_special_esImage;
public static Image rs_isaImage;
public static Image rsImage;
public static Image textImage;
public static Image textWithoutBorderImage;
public static HashMap<String, InputStream> randomDataFiles = new HashMap<>();
public static HashMap<String, BufferedReader> randomDataFilesExtern = new HashMap<>();
public C2() {
alerterror.getStyleClass().add("alert.error.dialog-pane");
alertinformation.getStyleClass().add("alert.error.dialog-pane");
alertconfirmation.getStyleClass().add("alert.error.dialog-pane");
String appImages = "/applicationimages/";
String appData = "/data/";
randomDataFiles.put("Random Color", getClass().getResourceAsStream(appData+"colors.txt"));
randomDataFiles.put("Random Company", getClass().getResourceAsStream(appData+"companies.txt"));
randomDataFiles.put("Random Country", getClass().getResourceAsStream(appData+"countries.txt"));
randomDataFiles.put("Random Departmentname", getClass().getResourceAsStream(appData+"departmentnames.txt"));
randomDataFiles.put("Random Firstname", getClass().getResourceAsStream(appData+"firstnames.txt"));
randomDataFiles.put("Random Jobname", getClass().getResourceAsStream(appData+"jobnames.txt"));
randomDataFiles.put("Random Language", getClass().getResourceAsStream(appData+"languages.txt"));
randomDataFiles.put("Random Lastname", getClass().getResourceAsStream(appData+"lastnames.txt"));
randomDataFiles.put("Random Mediacategory", getClass().getResourceAsStream(appData+"mediacategories.txt"));
randomDataFiles.put("Random Mediapublisher", getClass().getResourceAsStream(appData+"mediapublishers.txt"));
randomDataFiles.put("Random Mediatitle", getClass().getResourceAsStream(appData+"mediatitles.txt"));
randomDataFiles.put("Random Mediatype", getClass().getResourceAsStream(appData+"mediatypes.txt"));
randomDataFiles.put("Random Place", getClass().getResourceAsStream(appData+"places.txt"));
randomDataFiles.put("Random Profession", getClass().getResourceAsStream(appData+"professions.txt"));
randomDataFiles.put("Random Rentalequipment", getClass().getResourceAsStream(appData+"rentalequipment.txt"));
randomDataFiles.put("Random Street", getClass().getResourceAsStream(appData+"streets.txt"));
applicationImageIconAsICO = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"erdlogo.png")));
attr_conn_attrImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_conn_attr.png")));
attr_conn_esImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_conn_es.png")));
attr_conn_rsImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_conn_rs.png")));
attr_derived_multi_valueImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_derived_multi_value.png")));
attr_derived_one_valueImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_derived_one_value.png")));
attr_key_valueImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_key_value.png")));
attr_multi_valueImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_multi_value.png")));
attr_one_valueImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_one_value.png")));
attr_weak_key_valueImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"attr_weak_key_value.png")));
es_associativeImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"es_associative.png")));
es_weakImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"es_weak.png")));
esImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"es.png")));
rs_conn_esImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs_conn_es.png")));
rs_id_conn_es_weakImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs_id_conn_es_weak.png")));
rs_id_conn_esImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs_id_conn_es.png")));
rs_idImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs_id.png")));
rs_isa_conn_general_esImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs_isa_conn_general_es.png")));
rs_isa_conn_special_esImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs_isa_conn_special_es.png")));
rs_isaImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs_isa.png")));
rsImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"rs.png")));
textImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"text.png")));
textWithoutBorderImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"text_without_border.png")));
treeOpenImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"tree_open.png")));
treeCloseImage = new Image(Objects.requireNonNull(getClass().getResourceAsStream(appImages+"tree_close.png")));
}
public static double computeTextWidth(String text, double wrappingWidth) {
Text helper = new Text();
helper.setFont(ERMFont);
helper.setText(text);
helper.setWrappingWidth(0.0D);
helper.setLineSpacing(0.0D);
double w = Math.min(helper.prefWidth(-1.0D), wrappingWidth);
helper.setWrappingWidth(Math.ceil(w));
return Math.ceil(helper.getLayoutBounds().getWidth());
}
public static double computeTextHeight() {
return ERMFont.getSize();
}
}
+151
View File
@@ -0,0 +1,151 @@
package at.fos.ermodel.gui;
public class C3
implements Comparable<C3>
{
private final String columnName;
private String datatype;
private boolean isKey;
private boolean isNullable;
private boolean isUnique;
private boolean isAutoincrement;
private long autoincrementStartAt;
private T2 referencesTo;
private long referstoGraphicalElement;
protected String dataGenerationType;
protected String par1;
protected String par2;
public C3(String columnName, String datatype, boolean isKey, boolean isNullable, boolean isUnique, boolean isAutoincrement, long autoincrementStartAt, T2 referencesTo, long referstoGraphicalElement, String dataGenerationType, String par1, String par2) {
this.columnName = columnName;
this.datatype = datatype;
this.isKey = isKey;
this.isNullable = isNullable;
this.isUnique = isUnique;
this.isAutoincrement = isAutoincrement;
this.autoincrementStartAt = autoincrementStartAt;
this.referencesTo = referencesTo;
this.referstoGraphicalElement = referstoGraphicalElement;
this.dataGenerationType = dataGenerationType;
this.par1 = par1;
this.par2 = par2;
}
public C3(String columnName) {
this.columnName = columnName;
}
public String getColumnName() {
return this.columnName;
}
public String getDatatype() {
return this.datatype;
}
public boolean isKey() {
return this.isKey;
}
public boolean isNullable() {
return this.isNullable;
}
public boolean isUnique() {
return this.isUnique;
}
public boolean isAutoincrement() {
return this.isAutoincrement;
}
public long getAutoincrementStartAt() {
return this.autoincrementStartAt;
}
public T2 getReferencesTo() {
return this.referencesTo;
}
public int hashCode() {
int result = 1;
result = 31 * result + ((this.columnName == null) ? 0 : this.columnName.hashCode());
return result;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
C3 other = (C3)obj;
if (this.columnName == null) {
return other.columnName == null;
} else return this.columnName.equals(other.columnName);
}
public String toString() {
return "RM_Column [columnName=" + this.columnName + ", datatype=" + this.datatype + ", isKey=" + this.isKey + ", isNullable=" +
this.isNullable + ", isUnique=" + this.isUnique + ", isAutoincrement=" + this.isAutoincrement + ", referencesTo=" +
this.referencesTo + ", referstoGraphicalElement=" + this.referstoGraphicalElement + ", dataGenerationType=" +
this.dataGenerationType + ", par1=" + this.par1 + ", par2=" + this.par2 + "]";
}
public int compareTo(C3 o) {
if (this.isKey && !o.isKey) return -1;
if (!this.isKey && o.isKey) return 1;
return 0;
}
public long getReferstoGraphicalElement() {
return this.referstoGraphicalElement;
}
}
+917
View File
@@ -0,0 +1,917 @@
package at.fos.ermodel.gui;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.InputStreamReader;
import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import javafx.application.Platform;
public class C4
{
private String databaseName;
private ArrayList<T1> tables;
private StringBuffer sqlScript;
public C4(String databaseName) {
this.databaseName = databaseName;
this.tables = new ArrayList<>();
}
public boolean addTable(T1 table) {
if (this.tables.contains(table)) return true;
return !this.tables.add(table);
}
public void removeTable(T1 table) {
this.tables.remove(table);
}
public String getDatabaseName() {
return this.databaseName;
}
public void setDatabaseName(String databaseName) {
this.databaseName = databaseName;
}
public String toString() {
return "RM_Database [databaseName=" + this.databaseName + ", tables=" + this.tables + "]";
}
public ArrayList<T1> getTables() {
return this.tables;
}
public void setTables(ArrayList<T1> tables) {
this.tables = tables;
}
public void sortByTableName() {
Collections.sort(this.tables);
}
private String addChars() {
return String.valueOf(' ').repeat(5);
}
public StringBuffer create_MS_SQL_Script(boolean createInsertStatements, boolean addCDToDBName, boolean singeInserts) throws ZZ20 {
LocalDate today = LocalDate.now();
String currentDate = today.getYear() + (
(today.getMonthValue() < 10) ? ("0" + today.getMonthValue()) : ""+ today.getMonthValue()) + (
(today.getDayOfMonth() < 10) ? ("0" + today.getDayOfMonth()) : ""+ today.getDayOfMonth());
if (addCDToDBName) this.databaseName = this.databaseName + currentDate;
this.databaseName = T3.replaceSpecialChars(this.databaseName);
this.databaseName = this.databaseName.toLowerCase();
this.sqlScript = new StringBuffer();
this.sqlScript.append("-- #######################################################\n");
this.sqlScript.append("-- auto generated ddl-script ###########################\n");
this.sqlScript.append("-- generated sql creation script for ER model\n");
this.sqlScript.append("-- switch autocommit off\n");
this.sqlScript.append("set implicit_transactions off;\n");
this.sqlScript.append("-- database-#############################################\n");
this.sqlScript.append("use master;\n");
this.sqlScript.append("drop database if exists ").append(this.databaseName).append(";").append("\n");
this.sqlScript.append("create database ").append(this.databaseName).append(";").append("\n");
this.sqlScript.append("go \n");
this.sqlScript.append("use ").append(this.databaseName).append(";").append("\n");
this.sqlScript.append("-- tables-#################################################\n");
for (T1 table : this.tables) {
this.sqlScript = this.sqlScript.append("-- table ").append(table.getTablename()).append("\n");
this.sqlScript = this.sqlScript.append("create table ").append(table.getTablename()).append("(").append("\n");
StringBuilder keypart = new StringBuilder("primary key(");
int autoincrementCounter = 0;
for (C3 column : table.getSkjdfhgdskjf674534()) {
keypart.append(column.isKey() ? (column.getColumnName() + ",") : "");
this.sqlScript = this.sqlScript.append(addChars()).append(column.getColumnName()).append(" ").append(column.getDatatype()).append(column.isKey() ? " not null" : "").append((
!column.isKey() && !column.isNullable()) ? " not null" : "").append(column.isAutoincrement() ? (" identity (" + column.getAutoincrementStartAt() + ",1) ") : "").append(column.isUnique() ? " unique" : "").append(",").append("\n");
if (column.isAutoincrement()) {
autoincrementCounter++;
}
}
keypart = new StringBuilder(keypart.substring(0, keypart.length() - 1));
keypart.append(")").append("\n");
this.sqlScript = this.sqlScript.append(addChars()).append(keypart).append(")");
this.sqlScript.append(";\n\n");
if (autoincrementCounter != 1)
{
if (autoincrementCounter > 1) {
throw new ZZ20("There is only one autoincrement value allowed, and it must be the key. Table: " + table.getTablename());
}
}
}
if (createInsertStatements) {
try {
allTablesSetForGeneration();
allColumnsSetForGeneration();
} catch (ZZ20 ex) {
throw new ZZ20(ex.getMessage());
}
createInsertStatements(this.sqlScript, singeInserts, false);
}
this.sqlScript.append("\n-- foreign keys-#################################################\n");
for (T1 table : this.tables) {
ArrayList<C3> fkColumns = new ArrayList<>();
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.getReferencesTo() != null) fkColumns.add(column);
}
if (fkColumns.size() == 0) {
continue;
}
HashSet<String> tableNamesInfkColumns = new HashSet<>();
for (C3 fksamecol : fkColumns) {
tableNamesInfkColumns.add(fksamecol.getReferencesTo().tablename());
}
ArrayList<C3> equalColumnsBecauseRecursive = new ArrayList<>();
for (int i = 0; i < fkColumns.size(); i++) {
for (int j = i + 1; j < fkColumns.size(); j++) {
if (fkColumns.get(i).getReferencesTo().tablename().equals(fkColumns.get(j).getReferencesTo().tablename()) && fkColumns.get(i).getReferencesTo().columnname().equals(fkColumns.get(j).getReferencesTo().columnname())) {
equalColumnsBecauseRecursive.add(fkColumns.get(i));
equalColumnsBecauseRecursive.add(fkColumns.get(j));
}
}
}
for (C3 col : equalColumnsBecauseRecursive) {
this.sqlScript = this.sqlScript.append("alter table ").append(table.getTablename()).append("\n");
this.sqlScript.append("add foreign key (");
this.sqlScript = this.sqlScript.append(col.getColumnName()).append(")").append(" references ").append(col.getReferencesTo().tablename()).append("(").append(col.getReferencesTo().columnname()).append(")").append(" on delete no action on update no action;\n");
tableNamesInfkColumns.remove(col.getReferencesTo().tablename());
}
for (String tableName : tableNamesInfkColumns) {
this.sqlScript = this.sqlScript.append("alter table ").append(table.getTablename()).append("\n");
this.sqlScript.append("add foreign key (");
StringBuilder columnsOrig = new StringBuilder();
StringBuilder refColumns = new StringBuilder(" references " + tableName + "(");
for (C3 fkcolumn : fkColumns) {
if (tableName.equals(fkcolumn.getReferencesTo().tablename())) {
columnsOrig.append(fkcolumn.getColumnName()).append(",");
refColumns.append(fkcolumn.getReferencesTo().columnname()).append(",");
}
}
columnsOrig = new StringBuilder(columnsOrig.substring(0, columnsOrig.length() - 1));
columnsOrig.append(")");
refColumns = new StringBuilder(refColumns.substring(0, refColumns.length() - 1));
refColumns.append(")");
this.sqlScript.append(columnsOrig).append(refColumns).append(" on delete no action on update no action;\n");
}
this.sqlScript.replace(this.sqlScript.length() - 2, this.sqlScript.length(), ";\n");
}
this.sqlScript.append("-- commit all changes\n");
this.sqlScript.append("commit;");
return this.sqlScript;
}
public StringBuffer create_MySQL_Script(boolean createInsertStatements, boolean addCDToDBName, boolean singeInserts) throws ZZ20 {
LocalDate today = LocalDate.now();
String currentDate = today.getYear() + (
(today.getMonthValue() < 10) ? ("0" + today.getMonthValue()) : ""+ today.getMonthValue()) + (
(today.getDayOfMonth() < 10) ? ("0" + today.getDayOfMonth()) : ""+ today.getDayOfMonth());
if (addCDToDBName) this.databaseName = currentDate + this.databaseName;
this.databaseName = T3.replaceSpecialChars(this.databaseName);
this.databaseName = this.databaseName.toLowerCase();
this.sqlScript = new StringBuffer();
this.sqlScript.append("-- #######################################################\n");
this.sqlScript.append("-- auto generated ddl-script ###########################\n");
this.sqlScript.append("-- generated sql creation script for ER model\n");
this.sqlScript.append("-- database-#############################################\n");
this.sqlScript.append("drop database if exists ").append(this.databaseName).append(";").append("\n");
this.sqlScript.append("create database ").append(this.databaseName).append(";").append("\n");
this.sqlScript.append("use ").append(this.databaseName).append(";").append("\n");
this.sqlScript.append("-- switch autocommit off\n");
this.sqlScript.append("set autocommit=0;\n");
this.sqlScript.append("-- tables-#################################################\n");
for (T1 table : this.tables) {
this.sqlScript = this.sqlScript.append("-- table ").append(table.getTablename()).append("\n");
this.sqlScript = this.sqlScript.append("create table ").append(table.getTablename()).append("(").append("\n");
StringBuilder keypart = new StringBuilder("primary key(");
int autoincrementCounter = 0;
long holdAutoincrementStartAt = 1L;
for (C3 column : table.getSkjdfhgdskjf674534()) {
keypart.append(column.isKey() ? (column.getColumnName() + ",") : "");
this.sqlScript = this.sqlScript.append(addChars()).append(column.getColumnName()).append(" ").append(column.getDatatype()).append(column.isKey() ? " not null" : "").append((
!column.isKey() && !column.isNullable()) ? " not null" : "").append(column.isAutoincrement() ? " auto_increment " : "").append(column.isUnique() ? " unique" : "").append(",").append("\n");
if (column.isAutoincrement()) {
autoincrementCounter++;
holdAutoincrementStartAt = column.getAutoincrementStartAt();
}
}
keypart = new StringBuilder(keypart.substring(0, keypart.length() - 1));
keypart.append(")").append("\n");
this.sqlScript = this.sqlScript.append(addChars()).append(keypart).append(")");
if (autoincrementCounter == 1) {
this.sqlScript.append("auto_increment=").append(holdAutoincrementStartAt);
}
else if (autoincrementCounter > 1) {
throw new ZZ20("There is only one autoincrement value allowed, and it must be the key. Table: " + table.getTablename());
}
this.sqlScript.append(";\n\n");
}
if (createInsertStatements) {
try {
allTablesSetForGeneration();
allColumnsSetForGeneration();
} catch (ZZ20 ex) {
throw new ZZ20(ex.getMessage());
}
createInsertStatements(this.sqlScript, singeInserts, true);
}
this.sqlScript.append("\n-- foreign keys-#################################################\n");
for (T1 table : this.tables) {
ArrayList<C3> fkColumns = new ArrayList<>();
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.getReferencesTo() != null) fkColumns.add(column);
}
if (fkColumns.size() == 0)
continue; this.sqlScript = this.sqlScript.append("alter table ").append(table.getTablename()).append("\n");
HashSet<String> tableNamesInfkColumns = new HashSet<>();
for (C3 fksamecol : fkColumns) {
tableNamesInfkColumns.add(fksamecol.getReferencesTo().tablename());
}
ArrayList<C3> equalColumnsBecauseRecursive = new ArrayList<>();
for (int i = 0; i < fkColumns.size(); i++) {
for (int j = i + 1; j < fkColumns.size(); j++) {
if (fkColumns.get(i).getReferencesTo().tablename().equals(fkColumns.get(j).getReferencesTo().tablename()) && fkColumns.get(i).getReferencesTo().columnname().equals(fkColumns.get(j).getReferencesTo().columnname())) {
equalColumnsBecauseRecursive.add(fkColumns.get(i));
equalColumnsBecauseRecursive.add(fkColumns.get(j));
}
}
}
for (C3 col : equalColumnsBecauseRecursive) {
this.sqlScript.append("add foreign key (");
this.sqlScript = this.sqlScript.append(col.getColumnName()).append(")").append(" references ").append(col.getReferencesTo().tablename()).append("(").append(col.getReferencesTo().columnname()).append(")").append(" on delete restrict on update restrict,\n");
tableNamesInfkColumns.remove(col.getReferencesTo().tablename());
}
for (String tableName : tableNamesInfkColumns) {
this.sqlScript.append("add foreign key (");
StringBuilder columnsOrig = new StringBuilder();
StringBuilder refColumns = new StringBuilder(" references " + tableName + "(");
for (C3 fkcolumn : fkColumns) {
if (tableName.equals(fkcolumn.getReferencesTo().tablename())) {
columnsOrig.append(fkcolumn.getColumnName()).append(",");
refColumns.append(fkcolumn.getReferencesTo().columnname()).append(",");
}
}
columnsOrig = new StringBuilder(columnsOrig.substring(0, columnsOrig.length() - 1));
columnsOrig.append(")");
refColumns = new StringBuilder(refColumns.substring(0, refColumns.length() - 1));
refColumns.append(")");
this.sqlScript.append(columnsOrig).append(refColumns).append(" on delete restrict on update restrict,\n");
}
this.sqlScript.replace(this.sqlScript.length() - 2, this.sqlScript.length(), ";\n");
}
this.sqlScript.append("-- commit all changes\n");
this.sqlScript.append("commit;");
return this.sqlScript;
}
private void allColumnsSetForGeneration() throws ZZ20 {
for (T1 table : this.tables) {
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (!column.isNullable() &&
!column.isAutoincrement() && column.getReferencesTo() == null && (
column.dataGenerationType == null || column.dataGenerationType.equals("No"))) {
throw new ZZ20("There are unset columns for insert statement generation:" + column.getColumnName());
}
}
}
}
private void allTablesSetForGeneration() throws ZZ20 {
for (T1 table : this.tables) {
if (!table.isCreateInserts()) {
throw new ZZ20("Table is not set for generating inserts:" + table.getTablename());
}
}
}
private String generateRandomValue(C3 column) throws ZZ20 {
String randomValue;
try { String[] datumteil; LocalDate from, till; String str;
switch ((str = column.dataGenerationType).hashCode()) {
case -1601184309 -> {
if (!str.equals("Random Boolean")) {
break;
}
randomValue = T3.getRandomBoolean();
return randomValue;
}
case -123632396 -> {
if (!str.equals("Random Decimal")) break;
randomValue = T3.getRandomDecimal(Integer.parseInt(column.par1), Integer.parseInt(column.par2));
return randomValue;
}
case 292156129 -> {
if (!str.equals("Random Integer")) break;
if (Integer.parseInt(column.par1) >= Integer.parseInt(column.par2))
throw new ZZ20("Column: " + column.getColumnName() + "\n" + "For Random Integer generation: from < till");
randomValue = T3.getRandomInteger(Integer.parseInt(column.par1), Integer.parseInt(column.par2));
return randomValue;
}
case 908695787 -> {
if (!str.equals("Random Date")) break;
datumteil = column.par1.split("\\.");
from = LocalDate.of(Integer.parseInt(datumteil[2]), Integer.parseInt(datumteil[1]), Integer.parseInt(datumteil[0]));
datumteil = column.par2.split("\\.");
till = LocalDate.of(Integer.parseInt(datumteil[2]), Integer.parseInt(datumteil[1]), Integer.parseInt(datumteil[0]));
randomValue = T3.getRandomDate(from, till);
return randomValue;
}
case 909176426 -> {
if (!str.equals("Random Text")) break;
randomValue = T3.getRandomTextGivenLength(Integer.parseInt(column.par1));
return randomValue;
}
case 2089790400 -> {
if (!str.equals("Extern")) break;
randomValue = T3.getRandomData(column.dataGenerationType, column.par1);
return randomValue;
}
}
randomValue = T3.getRandomData(column.dataGenerationType, null); } catch (NumberFormatException nfe) { throw new ZZ20("Column: " + column.getColumnName() + "\n" + "There is a data conversion problem: " + column.par1 + "/" + column.par2); } return randomValue;
}
private int getNumberValuesOfRandomData(C3 column) {
ArrayList<String> randomDataAsList;
if (column.dataGenerationType.equals("Extern")) {
randomDataAsList = T3.randomData.get(column.par1);
if (randomDataAsList == null) {
T3.readRandomData("Extern", column.par1);
randomDataAsList = T3.randomData.get(column.par1);
}
} else {
randomDataAsList = T3.randomData.get(column.dataGenerationType);
} if (randomDataAsList != null) return randomDataAsList.size();
return -1;
}
private void createFilehandleForExternalDataSources() throws ZZ20 {
for (T1 table : this.tables) {
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.dataGenerationType == null ||
!column.dataGenerationType.equals("Extern"))
continue; BufferedReader br = C2.randomDataFilesExtern.get(column.par1);
if (br == null) {
BufferedReader fr;
try {
fr = new BufferedReader(new InputStreamReader(new FileInputStream(column.par2), StandardCharsets.UTF_8));
C2.randomDataFilesExtern.put(column.par1, fr);
} catch (FileNotFoundException e) {
throw new ZZ20("There is a problem with an external datasource:" + column.getColumnName());
}
}
}
}
}
public void createDependency() {
for (T1 table : this.tables) {
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.getReferencesTo() != null) {
String tablename = column.getReferencesTo().tablename();
T1 dependsOn = getTableGivenTablename(tablename);
table.addTableDepdendentOn(dependsOn);
assert dependsOn != null;
ArrayList<C3> keyColumns = dependsOn.getKeyColumns();
table.getColumnsOfDependentOnTable().put(dependsOn, keyColumns);
}
}
}
}
private HashMap<String, ArrayList<String>> initializeColumns() {
HashMap<String, ArrayList<String>> holdValues = new HashMap<>();
for (T1 table : this.tables) {
if (!table.isCreateInserts())
continue; for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.dataGenerationType != null && column.dataGenerationType.equals("No") && column.isNullable())
continue; holdValues.put(table.getTablename() + "." + column.getColumnName(), null);
}
}
return holdValues;
}
private T1 getTableGivenTablename(String tablename) {
for (T1 table : this.tables) {
if (table.getTablename().equals(tablename)) return table;
}
return null;
}
private boolean allColumnValuesCreated(HashMap<String, ArrayList<String>> columnValues) {
int counter = 0;
for (T1 table : this.tables) {
if (!table.isCreateInserts())
continue; for (C3 column : table.getSkjdfhgdskjf674534()) {
ArrayList<String> values = columnValues.get(table.getTablename() + "." + column.getColumnName());
if (values != null && values.size() > 0) counter++;
}
}
return counter >= columnValues.size();
}
private void allDependentCreated(T1 table, HashMap<String, ArrayList<String>> createdColumns) {
for (T1 dependsOn : table.getDependsOnTable()) {
for (C3 column : dependsOn.getSkjdfhgdskjf674534()) {
if (column.isKey()) {
ArrayList<String> values = createdColumns.get(dependsOn.getTablename() + "." + column.getColumnName());
if (values == null) return;
}
}
}
}
private HashMap<String, ArrayList<String>> createColumnValues() throws ZZ20 {
Platform.runLater(() -> V1.thisActionMessageDialog.getShowFilename().setText("create column values"));
HashMap<String, ArrayList<String>> columnValues = initializeColumns();
createFilehandleForExternalDataSources();
boolean done = false;
createDependency();
while (!done) {
for (T1 table : this.tables) {
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.isNullable() && column.dataGenerationType != null && column.dataGenerationType.equals("No"))
continue;
ArrayList<String> values = new ArrayList<>();
boolean valuesExist = true;
ArrayList<String> checkValues = columnValues.get(table.getTablename() + "." + column.getColumnName());
if (checkValues == null) valuesExist = false;
if (column.isKey() && column.isAutoincrement() && !valuesExist) {
long autoincrementStartAt = column.getAutoincrementStartAt();
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
values.add(String.valueOf(autoincrementStartAt++));
}
}
else if (column.isKey() && column.getReferencesTo() == null && !valuesExist) {
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
String randomValue = generateRandomValue(column);
values.add(String.valueOf(randomValue));
}
}
else if (column.isKey() && column.getReferencesTo() != null && !valuesExist) {
HashMap<String, ArrayList<String>> x = getStringArrayListHashMap(columnValues, table, column, values);
if (x != null) return x;
}
else if (column.getReferencesTo() != null && !valuesExist) {
getStringArrayListHashMap(columnValues, table, column, values);
}
else if (!valuesExist) {
if (column.isUnique()) {
int numberPossibleValues = getNumberValuesOfRandomData(column);
if (numberPossibleValues != -1)
{
if (numberPossibleValues < table.getJdshfalkajsd677676()) {
throw new ZZ20("Column " + column.getColumnName() + " is defined as unique. \nNot enough values for generation mode\n" +
"Max numbers allowed: " + numberPossibleValues + "\n" +
column.dataGenerationType + "/" + column.par1 + "/" + column.par2);
}
}
}
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
String randomValue = generateRandomValue(column);
while (column.isUnique() && values.contains(randomValue)) {
randomValue = generateRandomValue(column);
}
values.add(String.valueOf(randomValue));
}
}
if (values.size() > 0) {
columnValues.put(table.getTablename() + "." + column.getColumnName(), values);
}
}
}
if (allColumnValuesCreated(columnValues)) done = true;
}
return columnValues;
}
private HashMap<String, ArrayList<String>> getStringArrayListHashMap(HashMap<String, ArrayList<String>> columnValues, T1 table, C3 column, ArrayList<String> values) {
allDependentCreated(table, columnValues);
for (int i = 0; i < table.getJdshfalkajsd677676(); i++)
{
ArrayList<String> valuesPK = columnValues.get(column.getReferencesTo().tablename() + "." + column.getReferencesTo().columnname());
if (valuesPK == null)
break; String randomValue = valuesPK.get(i % valuesPK.size());
values.add(String.valueOf(randomValue));
}
return null;
}
private void createInsertStatements(StringBuffer sqlScript, boolean singleInserts, boolean mysql) throws ZZ20 {
//System.out.println("Generating insert statement");
HashMap<String, ArrayList<String>> holdPKValuesForFK = createColumnValues();
for (T1 table : this.tables) {
ArrayList<String> keyColumns = new ArrayList<>();
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.isKey()) {
keyColumns.add(table.getTablename() + "." + column.getColumnName());
}
}
StringBuilder concatKeyValue;
ArrayList<String> concatKeyValues = new ArrayList<>();
int deleted = 0;
try {
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
concatKeyValue = new StringBuilder();
for (String key : keyColumns) {
ArrayList<String> valuesPK = holdPKValuesForFK.get(key);
concatKeyValue.append(valuesPK.get(i));
}
if (!concatKeyValues.contains(concatKeyValue.toString())) { concatKeyValues.add(concatKeyValue.toString()); }
else
{ for (C3 column : table.getSkjdfhgdskjf674534()) {
ArrayList<String> valuesPK = holdPKValuesForFK.get(table.getTablename() + "." + column.getColumnName());
valuesPK.remove(i);
holdPKValuesForFK.put(table.getTablename() + "." + column.getColumnName(), valuesPK);
}
i--;
deleted++; }
}
} catch (IndexOutOfBoundsException ignored) {}
table.setJdshfalkajsd677676(table.getJdshfalkajsd677676() - deleted);
}
sqlScript.append("-- insert-#################################################\n");
if (!mysql) {
sqlScript.append("begin transaction;\n");
}
for (T1 table : this.tables) {
if (table.isCreateInserts()) {
Platform.runLater(() -> V1.thisActionMessageDialog.getShowFilename().setText(table.getTablename() + " ... create"));
sqlScript.append("\n-- table ").append(table.getTablename());
if (table.hasAutoincrement() && !mysql) {
sqlScript.append("\nset identity_insert ").append(table.getTablename()).append(" on;\n");
}
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
if (!singleInserts) {
if (i == 0) {
addInsertTable(sqlScript, table);
}
sqlScript.append("\t\t(");
StringBuilder valuespart = new StringBuilder();
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (!column.isNullable() || column.dataGenerationType == null || !column.dataGenerationType.equals("No")) {
ArrayList<String> values = holdPKValuesForFK.get(table.getTablename() + "." + column.getColumnName());
valuespart.append("'").append(values.get(i)).append("'").append(",");
}
}
valuespart = new StringBuilder(valuespart.substring(0, valuespart.length() - 1));
valuespart.append(")");
sqlScript.append(valuespart).append((i < table.getJdshfalkajsd677676() - 1L) ? "," : ";").append("\n");
}
else {
addInsertTable(sqlScript, table);
sqlScript.append("\t\t(");
StringBuilder valuespart = new StringBuilder();
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (!column.isNullable() || column.dataGenerationType == null || !column.dataGenerationType.equals("No")) {
ArrayList<String> values = holdPKValuesForFK.get(table.getTablename() + "." + column.getColumnName());
valuespart.append("'").append(values.get(i)).append("'").append(",");
}
}
valuespart = new StringBuilder(valuespart.substring(0, valuespart.length() - 1));
valuespart.append(");");
sqlScript.append(valuespart);
}
}
if (table.hasAutoincrement() && !mysql) {
sqlScript.append("\nset identity_insert ").append(table.getTablename()).append(" off;\n");
}
}
Platform.runLater(() -> V1.thisActionMessageDialog.getShowFilename().setText(table.getTablename() + " ... done"));
}
}
private void addInsertTable(StringBuffer sqlScript, T1 table) {
sqlScript.append("\ninsert into ").append(table.getTablename()).append("(");
StringBuilder columnspart = new StringBuilder();
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (!column.isNullable() || column.dataGenerationType == null || !column.dataGenerationType.equals("No"))
columnspart.append(column.getColumnName()).append(",");
}
columnspart = new StringBuilder(columnspart.substring(0, columnspart.length() - 1));
columnspart.append(")");
sqlScript.append(columnspart).append(" values\n");
}
public ArrayList<C3> getKeyColumnsGivenRelation(long referstoGraphicalElement) {
for (T1 table : this.tables) {
if (table.getReferstoGraphicalElement() == referstoGraphicalElement) return table.getKeyColumns();
}
return null;
}
public T1 getTableGivenNumber(long referstoGraphicalElement) {
for (T1 table : this.tables) {
if (table.getReferstoGraphicalElement() == referstoGraphicalElement) return table;
}
return null;
}
public T1 getColumnGivenNumber(long referstoGraphicalElement) {
for (T1 table : this.tables) {
for (C3 column : table.getSkjdfhgdskjf674534()) {
if (column.getReferstoGraphicalElement() == referstoGraphicalElement) return table;
}
}
return null;
}
}
+396
View File
@@ -0,0 +1,396 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public abstract class Graphic_ATTR_Elem
extends Graphic_Figure_Elem
implements U2
{
@Serial
private static final long serialVersionUID = 1L;
protected boolean createColumn;
protected String columnPostfix;
protected String columnName;
protected String mvRelationname;
protected String mvRelationnamePraefix;
protected String datatype;
protected boolean isKey;
protected boolean isAutoincrement;
protected long autoincrementStartAt;
protected boolean isNullable;
protected boolean isUnique;
protected String dataGenerationType;
protected String par1;
protected String par2;
protected String par1_label;
protected String par2_label;
public Graphic_ATTR_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, name, elementID);
this.xPos = x;
this.yPos = y;
this.createColumn = true;
this.columnName = T3.replaceSpecialChars(this.name.toLowerCase());
if (this instanceof Graphic_ATTR_Multi_Elem) {
this.mvRelationname = this.columnName + "_mvt";
this.mvRelationnamePraefix = this.mvRelationname.charAt(0) + "_";
this.createColumn = false;
}
this.columnPostfix = "";
this.datatype = "varchar(100)";
this.isAutoincrement = false;
this.isKey = this instanceof Graphic_ATTR_Key_Elem || this instanceof Graphic_ATTR_Weak_Key_Elem;
if (this.isKey) this.isNullable = false;
this.isUnique = false;
this.dataGenerationType = "No";
}
protected void changeName(String name) {
super.changeName(name);
this.createColumn = true;
this.columnName = T3.replaceSpecialChars(name.toLowerCase());
if (this instanceof Graphic_ATTR_Multi_Elem) {
this.createColumn = false;
this.mvRelationname = this.columnName + "_mvt";
this.mvRelationnamePraefix = this.mvRelationname.charAt(0) + "_";
}
this.columnPostfix = "";
this.datatype = "varchar(100)";
this.isAutoincrement = false;
this.isKey = this instanceof Graphic_ATTR_Key_Elem || this instanceof Graphic_ATTR_Weak_Key_Elem;
if (this.isKey) this.isNullable = false;
this.isUnique = false;
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 2.0D, this.yPos - this.textHeight / 2.0D - 2.0D, this.textWidth + 4.0D, this.textHeight + 4.0D);
}
public char sdfsdfdsfdf() {
return 'a';
}
protected Color sefdsfdsf45() {
return C2.ERMATTRColor;
}
protected Color getColorSelected() {
return C2.ERMSelectedColor;
}
public boolean getCreateColumn() {
return this.createColumn;
}
public void setCreateColumn(boolean createColumn) {
this.createColumn = createColumn;
}
public String getColumnPostfix() {
return this.columnPostfix;
}
public void setColumnPostfix(String columnPraefix) {
this.columnPostfix = columnPraefix;
}
public String getColumnName() {
return this.columnName;
}
public void setColumnName(String columnName) {
this.columnName = columnName;
}
public String getDatatype() {
return this.datatype;
}
public void setDatatype(String datatype) {
this.datatype = datatype;
}
public boolean isKey() {
return this.isKey;
}
public void setIsKey(boolean isKey) {
this.isKey = isKey;
}
public boolean isAutoincrement() {
return this.isAutoincrement;
}
public void setIsAutoincrement(boolean isAutoincrement) {
this.isAutoincrement = isAutoincrement;
}
public long getAutoincrementStartAt() {
return this.autoincrementStartAt;
}
public void setAutoincrementStartAt(long autoincrementStartAt) {
this.autoincrementStartAt = autoincrementStartAt;
}
public boolean isUnique() {
return this.isUnique;
}
public void setIsUnique(boolean isUnique) {
this.isUnique = isUnique;
}
public boolean isNullable() {
return this.isNullable;
}
public void setIsNullable(boolean isNullable) {
this.isNullable = isNullable;
}
public String getMVRelationName() {
return this.mvRelationname;
}
public void setMVRelationName(String mvRelationname) {
this.mvRelationname = mvRelationname;
}
public String getMVRelationNamePraefix() {
return this.mvRelationnamePraefix;
}
public void setMVRelationNamePraefix(String mvRelationnamePraefix) {
this.mvRelationnamePraefix = mvRelationnamePraefix;
}
public String sdfsdfsd32234243() {
return this.name + "@" + this.datatype;
}
public String getDataGenerationType() {
return this.dataGenerationType;
}
public void setDataGenerationType(String dataGenerationType) {
this.dataGenerationType = dataGenerationType;
}
public String getPar1() {
return this.par1;
}
public void setPar1(String par1) {
this.par1 = par1;
}
public String getPar2() {
return this.par2;
}
public void setPar2(String par2) {
this.par2 = par2;
}
public String getPar1_label() {
return this.par1_label;
}
public void setPar1_label(String par1_label) {
this.par1_label = par1_label;
}
public String getPar2_label() {
return this.par2_label;
}
public void setPar2_label(String par2_label) {
this.par2_label = par2_label;
}
}
@@ -0,0 +1,54 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_ATTR_Key_Elem
extends Graphic_ATTR_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_ATTR_Key_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, x, y, name, elementID);
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokeOval(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
this.gc.setFill(C2.ERMTextColor);
this.gc.setStroke(Color.BLACK);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D);
this.gc.strokeLine(this.xPos - this.textWidth / 2.0D + 10.0D,
this.yPos + this.textHeight / 2.0D - 13.0D, this.xPos + this.textWidth / 2.0D - 10.0D, this.yPos + this.textHeight / 2.0D - 13.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "A-K";
}
}
@@ -0,0 +1,57 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_ATTR_Multi_Elem
extends Graphic_ATTR_Elem
{
@Serial
private static final long serialVersionUID = 1L;
private final boolean derived;
public Graphic_ATTR_Multi_Elem(GraphicsContext gc, double x, double y, String name, boolean derived, long elementID) {
super(gc, x, y, name, elementID);
this.derived = derived;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
if (this.derived) {
this.gc.setLineWidth(1.0D);
this.gc.setLineDashes(3.0D);
}
this.gc.strokeOval(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
this.gc.strokeOval(this.xPos - this.textWidth / 2.0D + 3.0D, this.yPos - this.textHeight / 2.0D + 3.0D, this.textWidth - 6.0D, this.textHeight - 6.0D);
this.gc.setLineDashes();
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "A-M";
}
}
@@ -0,0 +1,55 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_ATTR_One_Elem
extends Graphic_ATTR_Elem
{
@Serial
private static final long serialVersionUID = 1L;
private final boolean derived;
public Graphic_ATTR_One_Elem(GraphicsContext gc, double x, double y, String name, boolean derived, long elementID) {
super(gc, x, y, name, elementID);
this.derived = derived;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible) {
return;
}
this.gc.beginPath();
this.gc.setStroke(c);
if (this.derived) {
this.gc.setLineWidth(1.0D);
this.gc.setLineDashes(3.0D);
}
this.gc.strokeOval(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
this.gc.setLineDashes();
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "A";
}
}
@@ -0,0 +1,55 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_ATTR_Weak_Key_Elem
extends Graphic_ATTR_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_ATTR_Weak_Key_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, x, y, name, elementID);
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokeOval(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
this.gc.setFill(C2.ERMTextColor);
this.gc.setStroke(Color.BLACK);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D);
this.gc.setLineWidth(1.0D);
this.gc.setLineDashes(3.0D);
this.gc.strokeLine(this.xPos - this.textWidth / 2.0D + 10.0D,
this.yPos + this.textHeight / 2.0D - 13.0D, this.xPos + this.textWidth / 2.0D - 10.0D, this.yPos + this.textHeight / 2.0D - 13.0D);
this.gc.setLineDashes();
this.gc.closePath();
}
public String safsafdsa456456456() {
return "A-WK";
}
}
@@ -0,0 +1,85 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_ES_Assoc_Elem
extends Graphic_ES_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_ES_Assoc_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, name, elementID);
this.xPos = x;
this.yPos = y;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokeRect(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
this.gc.strokePolygon(new double[] { this.xPos - this.textWidth / 2.0D,
this.xPos,
this.xPos + this.textWidth / 2.0D,
this.xPos
}, new double[] { this.yPos,
this.yPos - this.textHeight / 2.0D,
this.yPos,
this.yPos + this.textHeight / 2.0D
}, 4);
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "ES-A";
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 1.0D, this.yPos - this.textHeight / 2.0D - 1.0D, this.textWidth + 2.0D, this.textHeight + 2.0D);
}
public char sdfsdfdsfdf() {
return '@';
}
}
+66
View File
@@ -0,0 +1,66 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_ES_Elem
extends Graphic_ES_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_ES_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, name, elementID);
this.xPos = x;
this.yPos = y;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokeRect(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "ES";
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 1.0D, this.yPos - this.textHeight / 2.0D - 1.0D, this.textWidth + 2.0D, this.textHeight + 2.0D);
}
public char sdfsdfdsfdf() {
return 'e';
}
}
@@ -0,0 +1,119 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import java.io.Serial;
public abstract class Graphic_ES_Main_Elem
extends Graphic_Figure_Elem
implements U3
{
protected boolean createRelation;
protected String relationPraefix;
protected String relationName;
protected boolean createInserts;
protected long numberRowsToInsert = 1L;
@Serial
private static final long serialVersionUID = 1L;
public Graphic_ES_Main_Elem(GraphicsContext gc, String name, long elementID) {
super(gc, name, elementID);
this.createRelation = true;
this.relationName = this.name.toLowerCase();
this.relationName = T3.replaceSpecialChars(this.relationName);
this.relationPraefix = this.relationName.charAt(0) + "_";
this.createInserts = true;
}
protected void changeName(String name) {
super.changeName(name);
this.createRelation = true;
this.relationName = T3.replaceSpecialChars(name.toLowerCase());
this.relationPraefix = this.relationName.charAt(0) + "_";
}
public boolean getCreateRelation() {
return this.createRelation;
}
public void setCreateRelation(boolean createRelation) {
this.createRelation = createRelation;
}
public String getRelationPraefix() {
return this.relationPraefix;
}
public void setRelationPraefix(String relationPraefix) {
this.relationPraefix = relationPraefix;
}
public String getRelationName() {
return this.relationName;
}
public void setRelationName(String relationName) {
this.relationName = relationName;
}
public boolean getCreateInserts() {
return this.createInserts;
}
public void setCreateInserts(boolean createInserts) {
this.createInserts = createInserts;
}
public long getNumberRowsToInsert() {
return this.numberRowsToInsert;
}
public void setNumberRowsToInsert(long numberRowsToInsert) {
this.numberRowsToInsert = numberRowsToInsert;
}
public String sdfsdfsd32234243() {
return super.sdfsdfsd32234243();
}
}
@@ -0,0 +1,72 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_ES_Weak_Elem
extends Graphic_ES_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_ES_Weak_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, name, elementID);
this.xPos = x;
this.yPos = y;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokeRect(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
this.gc.strokeRect(this.xPos - this.textWidth / 2.0D + 3.0D, this.yPos - this.textHeight / 2.0D + 3.0D, this.textWidth - 6.0D, this.textHeight - 6.0D);
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "ES-W";
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 1.0D, this.yPos - this.textHeight / 2.0D - 1.0D, this.textWidth + 2.0D, this.textHeight + 2.0D);
}
public char sdfsdfdsfdf() {
return 'e';
}
protected Color sefdsfdsf45() {
return C2.ERMESColor;
}
}
+207
View File
@@ -0,0 +1,207 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import java.io.Serial;
public abstract class Graphic_Figure_Elem
extends Graphic_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
protected double textWidth;
protected double textHeight;
public abstract String safsafdsa456456456();
public double dsfsfsd456457657() {
return this.textWidth; } public double getHeight() {
return this.textHeight;
} protected void dockablePointsAtElem() {
drawDockablePoints(getColorDockable());
}
public Graphic_Figure_Elem(GraphicsContext gc, String name, long elementID) {
super(gc, elementID);
this.name = name;
if (name == null) this.name = safsafdsa456456456();
calculateTextWidthHeight();
}
protected void changeName(String name) {
this.name = name;
if (name == null) this.name = safsafdsa456456456();
dsfsdfsfd();
calculateTextWidthHeight();
safdsadasds32432456456();
}
public boolean dsfsfds45645456(double mouseX, double mouseY) {
return mouseX >= this.xPos - dsfsfsd456457657() / 2.0D && mouseX <= this.xPos + dsfsfsd456457657() / 2.0D &&
mouseY >= this.yPos - getHeight() / 2.0D && mouseY <= this.yPos + getHeight() / 2.0D;
}
public void calculateTextWidthHeight() {
this.textWidth = C2.computeTextWidth(this.name, 2000.0D);
this.textWidth += 20.0D;
this.gc.setFont(C2.ERMFont);
Font f = this.gc.getFont();
this.textHeight = f.getSize();
this.textHeight += 30.0D;
}
public String toString() {
return "Graphic_Figure_Elem [textWidth=" + this.textWidth + ", textHeight=" + this.textHeight + ", toString()=" +
super.toString() + "]";
}
protected void drawDockablePoints(Color c) {
if (!this.isConnectable)
return;
this.gc.setFill(c);
this.gc.fillOval(this.xPos - this.textWidth / 2.0D, this.yPos - 3.0D, 6.0D, 6.0D);
this.gc.fillOval(this.xPos - 3.0D, this.yPos - this.textHeight / 2.0D, 6.0D, 6.0D);
this.gc.fillOval(this.xPos + this.textWidth / 2.0D - 6.0D, this.yPos - 3.0D, 6.0D, 6.0D);
this.gc.fillOval(this.xPos - 3.0D, this.yPos + this.textHeight / 2.0D - 6.0D, 6.0D, 6.0D);
}
protected void drawDockablePoint(Color c, int point) {
this.gc.setFill(c);
switch (point) {
case 1 -> this.gc.fillOval(this.xPos - this.textWidth / 2.0D, this.yPos - 3.0D, 6.0D, 6.0D);
case 2 -> this.gc.fillOval(this.xPos - 3.0D, this.yPos - this.textHeight / 2.0D, 6.0D, 6.0D);
case 3 -> this.gc.fillOval(this.xPos + this.textWidth / 2.0D - 6.0D, this.yPos - 3.0D, 6.0D, 6.0D);
case 4 -> this.gc.fillOval(this.xPos - 3.0D, this.yPos + this.textHeight / 2.0D - 6.0D, 6.0D, 6.0D);
}
}
public double[] getDockablePoint(double mouseX, double mouseY) {
double[] selected = null;
if (mouseX >= this.xPos - this.textWidth / 2.0D - 5.0D && mouseX <= this.xPos - this.textWidth / 2.0D + 5.0D && mouseY >= this.yPos - 5.0D && mouseY <= this.yPos + 5.0D) {
selected = new double[3];
selected[0] = this.xPos - this.textWidth / 2.0D;
selected[1] = this.yPos;
selected[2] = 1.0D;
}
if (mouseX >= this.xPos - 5.0D && mouseX <= this.xPos + 5.0D && mouseY >= this.yPos - this.textHeight / 2.0D - 5.0D && mouseY <= this.yPos - this.textHeight / 2.0D + 5.0D) {
selected = new double[3];
selected[0] = this.xPos;
selected[1] = this.yPos - this.textHeight / 2.0D;
selected[2] = 2.0D;
}
if (mouseX >= this.xPos + this.textWidth / 2.0D - 5.0D && mouseX <= this.xPos + this.textWidth / 2.0D + 5.0D && mouseY >= this.yPos - 5.0D && mouseY <= this.yPos + 5.0D) {
selected = new double[3];
selected[0] = this.xPos + this.textWidth / 2.0D;
selected[1] = this.yPos;
selected[2] = 3.0D;
}
if (mouseX >= this.xPos - 5.0D && mouseX <= this.xPos + 5.0D && mouseY >= this.yPos + this.textHeight / 2.0D - 5.0D && mouseY <= this.yPos + this.textHeight / 2.0D + 5.0D) {
selected = new double[3];
selected[0] = this.xPos;
selected[1] = this.yPos + this.textHeight / 2.0D;
selected[2] = 4.0D;
}
return selected;
}
public double[] getXYForGivenPoint(byte dockedAt) {
double[] xyAtPoint = new double[2];
switch (dockedAt) {
case 0 -> {
xyAtPoint[0] = this.xPos;
xyAtPoint[1] = this.yPos;
}
case 1 -> {
xyAtPoint[0] = this.xPos - this.textWidth / 2.0D;
xyAtPoint[1] = this.yPos;
}
case 2 -> {
xyAtPoint[0] = this.xPos;
xyAtPoint[1] = this.yPos - this.textHeight / 2.0D;
}
case 3 -> {
xyAtPoint[0] = this.xPos + this.textWidth / 2.0D;
xyAtPoint[1] = this.yPos;
}
case 4 -> {
xyAtPoint[0] = this.xPos;
xyAtPoint[1] = this.yPos + this.textHeight / 2.0D;
}
}
return xyAtPoint;
}
protected Color sefdsfdsf45() {
return C2.ERMESColor;
}
}
@@ -0,0 +1,27 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_Attr_Attr_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_Attr_Attr_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMLINEColor;
}
}
@@ -0,0 +1,27 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_Attr_ES_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_Attr_ES_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMLINEColor;
}
}
@@ -0,0 +1,27 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_Attr_RS_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_Attr_RS_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMLINEColor;
}
}
+428
View File
@@ -0,0 +1,428 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.scene.transform.Affine;
import javafx.scene.transform.Transform;
import javafx.scene.transform.Translate;
import java.io.Serial;
public abstract class Graphic_LINE_Elem
extends Graphic_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
private double xEnd;
private double yEnd;
protected String minimum = "0";
protected String maximum = "n";
private Graphic_Figure_Elem connectedWithStart;
private final byte lineConnectedWithPointAtStart;
private Graphic_Figure_Elem connectedWithEnd;
private final byte lineConnectedWithPointAtEnd;
public Graphic_LINE_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, elementID);
this.xPos = x;
this.yPos = y;
this.lineConnectedWithPointAtStart = lineConnectedWithPointAtStart;
this.connectedWithStart = elemStart;
this.xEnd = xEnd;
this.yEnd = yEnd;
this.lineConnectedWithPointAtEnd = lineConnectedWithPointAtEnd;
this.connectedWithEnd = elemEnd;
this.name = "";
if (this instanceof Graphic_LINE_RSID_ESWEAK_Elem) {
this.minimum = "1";
this.maximum = "1";
}
}
protected void changeMinMax(String minimum, String maximum) {
this.minimum = minimum;
this.maximum = maximum;
if (minimum == null) this.minimum = getDefaultMinimum();
if (maximum == null) this.minimum = getDefaultMaximum();
dsfsdfsfd();
safdsadasds32432456456();
}
private void drawArrow(Color c, double x1, double y1, double x2, double y2) {
this.gc.setStroke(c);
double dx = x2 - x1, dy = y2 - y1;
double angle = Math.atan2(dy, dx);
double len = Math.sqrt(dx * dx + dy * dy);
Affine oldTransform = this.gc.getTransform();
Translate translate = Transform.translate(x1, y1);
Transform transform = translate.createConcatenation(Transform.rotate(Math.toDegrees(angle), 0.0D, 0.0D));
this.gc.setTransform(new Affine(transform));
this.gc.setFill(C2.ERMBackgroundColor);
this.gc.strokePolygon(new double[] { len, len - 8.0D, len - 8.0D
}, new double[] { 0.0D, -8.0D, 8.0D
}, 3);
this.gc.setTransform(oldTransform);
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
if (this.name == null) this.name = "";
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokeLine(this.xPos, this.yPos, this.xEnd, this.yEnd);
if (this instanceof Graphic_LINE_RSISAG_ES_Elem) {
if (this.connectedWithStart instanceof Graphic_ES_Elem) {
drawArrow(c, this.xEnd, this.yEnd, this.xPos, this.yPos);
}
if (this.connectedWithEnd instanceof Graphic_ES_Elem) {
drawArrow(c, this.xPos, this.yPos, this.xEnd, this.yEnd);
}
return;
}
if (this instanceof Graphic_LINE_RSISAS_ES_Elem)
return; if (this instanceof Graphic_LINE_Attr_Attr_Elem)
return; if (this instanceof Graphic_LINE_Attr_ES_Elem)
return; if (this instanceof Graphic_LINE_Attr_RS_Elem) {
return;
}
double helpXStart = this.xPos;
double helpXEnd = this.xEnd;
double helpYStart = this.yPos;
double helpYEnd = this.yEnd;
this.gc.setFill(C2.ERMTextColor);
if (this.xEnd < this.xPos) { helpXStart = this.xEnd; helpXEnd = this.xPos; }
if (this.yEnd < this.yPos) { helpYStart = this.yEnd; helpYEnd = this.yPos; }
this.gc.fillText("(" + this.minimum + "," + this.maximum + ")", helpXStart + (helpXEnd - helpXStart) / 2.0D, helpYStart + (helpYEnd - helpYStart) / 2.0D - 5.0D);
this.gc.closePath();
}
public void dsfsdfsfd() {
this.gc.beginPath();
this.gc.setStroke(C2.ERMBackgroundColor);
this.gc.setLineWidth(3.0D);
this.gc.strokeLine(this.xPos, this.yPos, this.xEnd, this.yEnd);
this.gc.setLineWidth(1.0D);
if (this instanceof Graphic_LINE_RSISAG_ES_Elem) {
double d1 = 0.0D, d2 = 0.0D, helpWidth = 0.0D, helpHeight = 0.0D;
Graphic_ES_Elem helpElem = null;
byte helpConnectedWithPoint = 0;
if (this.connectedWithStart instanceof Graphic_ES_Elem) {
helpElem = (Graphic_ES_Elem)this.connectedWithStart;
helpConnectedWithPoint = this.lineConnectedWithPointAtStart;
}
if (this.connectedWithEnd instanceof Graphic_ES_Elem) {
helpElem = (Graphic_ES_Elem)this.connectedWithEnd;
helpConnectedWithPoint = this.lineConnectedWithPointAtEnd;
}
assert helpElem != null;
double[] dockedPoints = helpElem.getXYForGivenPoint(helpConnectedWithPoint);
switch (helpConnectedWithPoint) {
case 1, 2 -> {
d1 = dockedPoints[0] - 16.0D;
d2 = dockedPoints[1] - 16.0D;
helpWidth = 29.0D;
helpHeight = 29.0D;
}
case 3 -> {
d1 = dockedPoints[0];
d2 = dockedPoints[1] - 8.0D - 5.0D;
helpWidth = 28.0D;
helpHeight = 28.0D;
}
case 4 -> {
d1 = dockedPoints[0] - 8.0D - 5.0D;
d2 = dockedPoints[1] + 1.0D;
helpWidth = 28.0D;
helpHeight = 28.0D;
}
}
this.gc.clearRect(d1, d2, helpWidth, helpHeight);
return;
}
if (this instanceof Graphic_LINE_RSISAS_ES_Elem)
return; if (this instanceof Graphic_LINE_Attr_Attr_Elem)
return; if (this instanceof Graphic_LINE_Attr_ES_Elem)
return; if (this instanceof Graphic_LINE_Attr_RS_Elem) {
return;
}
double helpXStart = this.xPos;
double helpXEnd = this.xEnd;
double helpYStart = this.yPos;
double helpYEnd = this.yEnd;
if (this.xEnd < this.xPos) { helpXStart = this.xEnd; helpXEnd = this.xPos; }
if (this.yEnd < this.yPos) { helpYStart = this.yEnd; helpYEnd = this.yPos; }
this.gc.clearRect(helpXStart + (helpXEnd - helpXStart) / 2.0D - 6.0D,
helpYStart + (helpYEnd - helpYStart) / 2.0D - 5.0D - 10.0D,
C2.computeTextWidth("(" + this.minimum + "," + this.maximum + ")", 2000.0D) + 12.0D,
C2.computeTextHeight() + 12.0D);
this.gc.closePath();
}
public double dsfsfsd456457657() {
return this.xEnd;
}
public double getHeight() {
return this.yEnd;
}
public boolean dsfsfds45645456(double mouseX, double mouseY) {
Graphic_Figure_Elem aHelp = getConnectedWithStart();
double[] dockablePointsAHelp = aHelp.getXYForGivenPoint(getLineConnectedWithPointAtStart());
Graphic_Figure_Elem bHelp = getConnectedWithEnd();
double[] dockablePointsBHelp = bHelp.getXYForGivenPoint(getLineConnectedWithPointAtEnd());
double distStartToMouse = distP1_P2(dockablePointsAHelp[0], dockablePointsAHelp[1], mouseX, mouseY);
double distMouseToEnd = distP1_P2(mouseX, mouseY, dockablePointsBHelp[0], dockablePointsBHelp[1]);
double distStartToEnd = distP1_P2(dockablePointsAHelp[0], dockablePointsAHelp[1], dockablePointsBHelp[0], dockablePointsBHelp[1]);
return Math.abs(distStartToMouse + distMouseToEnd - distStartToEnd) <= 0.3D;
}
public Graphic_Figure_Elem getConnectedWithStart() {
return this.connectedWithStart;
}
public void setConnectedWithStart(Graphic_Figure_Elem connectedWithStart) {
this.connectedWithStart = connectedWithStart;
}
public Graphic_Figure_Elem getConnectedWithEnd() {
return this.connectedWithEnd;
}
public void setConnectedWithEnd(Graphic_Figure_Elem connectedWithEnd) {
this.connectedWithEnd = connectedWithEnd;
}
public double getxEnd() {
return this.xEnd;
}
public void setxEnd(double xEnd) {
this.xEnd = xEnd;
}
public double getyEnd() {
return this.yEnd;
}
public void setyEnd(double yEnd) {
this.yEnd = yEnd;
}
public char sdfsdfdsfdf() {
return 'l';
}
public double distP1_P2(double xP1, double yP1, double xP2, double yP2) {
double dist;
dist = Math.sqrt((xP1 - xP2) * (xP1 - xP2) + (yP1 - yP2) * (yP1 - yP2));
return dist;
}
public String getMinimum() {
return this.minimum;
}
public void setMinimum(String minimum) {
this.minimum = minimum;
}
public String getMaximum() {
return this.maximum;
}
public void setMaximum(String maximum) {
this.maximum = maximum;
}
private String getDefaultMinimum() {
return "0";
}
private String getDefaultMaximum() {
return "n";
}
public String toString() {
return "Graphic_LINE_Elem [xEnd=" + this.xEnd + ", yEnd=" + this.yEnd + ", minimum=" + this.minimum + ", maximum=" + this.maximum +
", connectedWithStart=" + this.connectedWithStart + ", connectedWithEnd=" + this.connectedWithEnd +
", toString()=" + super.toString() + "]";
}
public byte getLineConnectedWithPointAtStart() {
return this.lineConnectedWithPointAtStart;
}
public byte getLineConnectedWithPointAtEnd() {
return this.lineConnectedWithPointAtEnd;
}
public String sdfsdfsd32234243() {
if (this instanceof Graphic_LINE_RSISAG_ES_Elem) {
return this.connectedWithStart.sdfsdfsd32234243() + "[G]" + this.connectedWithEnd.sdfsdfsd32234243();
}
if (this instanceof Graphic_LINE_RSISAS_ES_Elem) {
return this.connectedWithStart.sdfsdfsd32234243() + "[Sp]" + this.connectedWithEnd.sdfsdfsd32234243();
}
if (this instanceof Graphic_LINE_Attr_ES_Elem ||
this instanceof Graphic_LINE_Attr_Attr_Elem || this instanceof Graphic_LINE_Attr_RS_Elem) {
String usedStartName = this.connectedWithStart.sdfsdfsd32234243();
if (this.connectedWithStart instanceof Graphic_ATTR_Elem) {
usedStartName = usedStartName.substring(0, usedStartName.indexOf('@'));
}
String usedEndName = this.connectedWithEnd.sdfsdfsd32234243();
if (this.connectedWithEnd instanceof Graphic_ATTR_Elem) {
usedEndName = usedEndName.substring(0, usedEndName.indexOf('@'));
}
return usedStartName + "[-]" + usedEndName;
}
return this.connectedWithStart.sdfsdfsd32234243() + "(" + this.minimum + "," + this.maximum + ")" + this.connectedWithEnd.sdfsdfsd32234243();
}
}
@@ -0,0 +1,27 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_RSID_ESWEAK_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_RSID_ESWEAK_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMRSConnColor;
}
}
@@ -0,0 +1,53 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_RSID_ES_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_RSID_ES_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMRSConnColor;
}
}
@@ -0,0 +1,27 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_RSISAG_ES_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_RSISAG_ES_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMISAConnGENERAL;
}
}
@@ -0,0 +1,27 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_RSISAS_ES_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_RSISAS_ES_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMISAConnSPEC;
}
}
@@ -0,0 +1,27 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_LINE_RS_ES_Elem
extends Graphic_LINE_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_LINE_RS_ES_Elem(GraphicsContext gc, double x, double y, double xEnd, double yEnd, byte lineConnectedWithPointAtStart, byte lineConnectedWithPointAtEnd, Graphic_Figure_Elem elemStart, Graphic_Figure_Elem elemEnd, long elementID) {
super(gc, x, y, xEnd, yEnd, lineConnectedWithPointAtStart, lineConnectedWithPointAtEnd, elemStart, elemEnd, elementID);
}
protected Color sefdsfdsf45() {
return C2.ERMRSConnColor;
}
}
+214
View File
@@ -0,0 +1,214 @@
package at.fos.ermodel.gui;
import java.io.Serial;
import java.io.Serializable;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
public abstract class Graphic_Main_Elem
implements Serializable, Comparable<Graphic_Main_Elem>
{
@Serial
private static final long serialVersionUID = 1L;
protected long graphicMainElemID;
protected double xPos;
protected double yPos;
protected String name;
protected transient GraphicsContext gc;
protected transient boolean isVisible;
protected transient boolean isConnectable;
transient U4 undoRedoAction;
public Graphic_Main_Elem(GraphicsContext gc, long elementID) {
this.graphicMainElemID = elementID;
this.gc = gc;
this.isVisible = true;
}
public GraphicsContext getGc() {
return this.gc;
}
public void setGc(GraphicsContext gc) {
this.gc = gc;
}
public void setxPos(double xPos) {
this.xPos = xPos;
}
public void setyPos(double yPos) {
this.yPos = yPos;
}
public void safdsadasds32432456456() {
dsfdsfds6787686(sefdsfdsf45()); }
protected Color getColorSelected() {
return C2.ERMSelectedColor;
}
protected Color getColorDockable() {
return C2.ERMDockablePointColor;
}
public void dfsdfssdf456456() {
dsfsdfsfd(); dsfdsfds6787686(sefdsfdsf45());
}
public double getxPos() {
return this.xPos;
}
public double getyPos() {
return this.yPos;
}
public void dgfdsfdssfd43534456() {
selectElem();
}
public void sdffdsfsdf4354357656(double newX, double newY) {
dsfsdfsfd();
this.xPos = newX;
this.yPos = newY;
dsfdsfds6787686(getColorSelected());
}
public void selectElem() {
dsfdsfds6787686(getColorSelected());
}
public int hashCode() {
int result = 1;
result = 31 * result + (int)(this.graphicMainElemID ^ this.graphicMainElemID >>> 32L);
return result;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
Graphic_Main_Elem other = (Graphic_Main_Elem)obj;
return this.graphicMainElemID == other.graphicMainElemID;
}
public String toString() {
return "Graphic_Main_Elem [graphicMainElemID=" + this.graphicMainElemID + ", xPos=" + this.xPos + ", yPos=" + this.yPos +
", name=" + this.name + "]";
}
public long sdfsdfsdfd() {
return this.graphicMainElemID;
}
public void dsdasadsasd32423432(long graphicMainElemID) {
this.graphicMainElemID = graphicMainElemID;
}
public String sdfsdfsd32234243() {
return this.name;
}
public U4 adsadadsa4354353() {
return this.undoRedoAction;
}
public void sfdsfsfsddf123234435(U4 undoRedoAction) {
this.undoRedoAction = undoRedoAction;
}
public int compareTo(Graphic_Main_Elem arg0) {
return Long.compare(this.graphicMainElemID, arg0.graphicMainElemID);
}
public abstract double dsfsfsd456457657();
public abstract double getHeight();
protected abstract Color sefdsfdsf45();
public abstract void dsfsdfsfd();
protected abstract void dsfdsfds6787686(Color paramColor);
public abstract boolean dsfsfds45645456(double paramDouble1, double paramDouble2);
public abstract char sdfsdfdsfdf();
}
+87
View File
@@ -0,0 +1,87 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_RS_Elem
extends Graphic_RS_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_RS_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, name, elementID);
this.xPos = x;
this.yPos = y;
this.createRelation = true;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokePolygon(new double[] { this.xPos - this.textWidth / 2.0D,
this.xPos,
this.xPos + this.textWidth / 2.0D,
this.xPos
}, new double[] { this.yPos,
this.yPos - this.textHeight / 2.0D,
this.yPos,
this.yPos + this.textHeight / 2.0D
}, 4);
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 18.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "RS";
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 2.0D, this.yPos - this.textHeight / 2.0D - 2.0D, this.textWidth + 4.0D, this.textHeight + 4.0D);
}
public double dsfsfsd456457657() {
return this.textWidth;
}
public double getHeight() {
return this.textHeight;
}
public char sdfsdfdsfdf() {
return 'r';
}
protected Color sefdsfdsf45() {
return C2.ERMRSColor;
}
}
+158
View File
@@ -0,0 +1,158 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_RS_ISA_Elem
extends Graphic_RS_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
private String partial_or_total;
private String disjunct_or_notdisjunct;
public Graphic_RS_ISA_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, null, elementID);
this.xPos = x;
this.yPos = y;
this.createRelation = false;
this.createInserts = true;
this.numberRowsToInsert = 1L;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokePolygon(new double[] { this.xPos - this.textWidth / 2.0D,
this.xPos,
this.xPos + this.textWidth / 2.0D,
this.xPos
}, new double[] { this.yPos,
this.yPos - this.textHeight / 2.0D,
this.yPos,
this.yPos + this.textHeight / 2.0D
}, 4);
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 17.0D);
this.gc.fillText("(" + this.partial_or_total + "," + this.disjunct_or_notdisjunct + ")", this.xPos + this.textWidth / 2.0D + 5.0D, this.yPos - 5.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "ISA";
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 1.0D, this.yPos - this.textHeight / 2.0D - 1.0D, this.textWidth + 2.0D, this.textHeight + 2.0D);
this.gc.clearRect(this.xPos + this.textWidth / 2.0D + 5.0D - 3.0D,
this.yPos - 15.0D,
C2.computeTextWidth("(" + this.partial_or_total + "," + this.disjunct_or_notdisjunct + ")", 2000.0D) + 10.0D,
C2.computeTextHeight() + 12.0D);
}
public double dsfsfsd456457657() {
return this.textWidth;
}
public double getHeight() {
return this.textHeight;
}
public char sdfsdfdsfdf() {
return 'r';
}
protected Color sefdsfdsf45() {
return C2.ERMRSISAColor;
}
public String getPartial_or_total() {
return this.partial_or_total;
}
public void setPartial_or_total(String partial_or_total) {
this.partial_or_total = partial_or_total;
}
public String getDisjunct_or_notdisjunct() {
return this.disjunct_or_notdisjunct;
}
public void setDisjunct_or_notdisjunct(String disjunct_or_notdisjunct) {
this.disjunct_or_notdisjunct = disjunct_or_notdisjunct;
}
protected void changeP_T_D_ND(String partial_or_total, String disjunct_or_notdisjunct) {
this.partial_or_total = partial_or_total;
this.disjunct_or_notdisjunct = disjunct_or_notdisjunct;
if (partial_or_total == null) this.partial_or_total = getDefaultPartial_or_total();
if (disjunct_or_notdisjunct == null) this.disjunct_or_notdisjunct = getDefaultDisjunct_or_notdisjunct();
dsfsdfsfd();
safdsadasds32432456456();
}
private String getDefaultPartial_or_total() {
return "p";
}
private String getDefaultDisjunct_or_notdisjunct() {
return "nd";
}
public String sdfsdfsd32234243() {
return safsafdsa456456456() + "(" + this.partial_or_total + "," + this.disjunct_or_notdisjunct + ")";
}
}
@@ -0,0 +1,101 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import java.io.Serial;
public class Graphic_RS_Identifying_Elem
extends Graphic_RS_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
public Graphic_RS_Identifying_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
super(gc, name, elementID);
this.xPos = x;
this.yPos = y;
this.createRelation = false;
this.createInserts = true;
this.numberRowsToInsert = 1L;
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible)
return;
this.gc.beginPath();
this.gc.setStroke(c);
this.gc.strokePolygon(new double[] { this.xPos - this.textWidth / 2.0D,
this.xPos,
this.xPos + this.textWidth / 2.0D,
this.xPos
}, new double[] { this.yPos,
this.yPos - this.textHeight / 2.0D,
this.yPos,
this.yPos + this.textHeight / 2.0D
}, 4);
this.gc.strokePolygon(new double[] { this.xPos - this.textWidth / 2.0D + 3.0D,
this.xPos,
this.xPos + this.textWidth / 2.0D - 3.0D,
this.xPos
}, new double[] { this.yPos,
this.yPos - this.textHeight / 2.0D + 3.0D,
this.yPos,
this.yPos + this.textHeight / 2.0D - 3.0D
}, 4);
this.gc.setFill(C2.ERMTextColor);
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 17.0D);
this.gc.closePath();
}
public String safsafdsa456456456() {
return "RS-ID";
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 1.0D, this.yPos - this.textHeight / 2.0D - 1.0D, this.textWidth + 2.0D, this.textHeight + 2.0D);
}
public double dsfsfsd456457657() {
return this.textWidth;
}
public double getHeight() {
return this.textHeight;
}
public char sdfsdfdsfdf() {
return 'r';
}
protected Color sefdsfdsf45() {
return C2.ERMRSColor;
}
}
@@ -0,0 +1,113 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import java.io.Serial;
public abstract class Graphic_RS_Main_Elem
extends Graphic_Figure_Elem
implements U3
{
@Serial
private static final long serialVersionUID = 1L;
protected boolean createRelation;
protected String relationPraefix;
protected String relationName;
protected boolean createInserts;
protected long numberRowsToInsert = 1L;
public Graphic_RS_Main_Elem(GraphicsContext gc, String name, long elementID) {
super(gc, name, elementID);
this.relationName = this.name.toLowerCase();
this.relationName = T3.replaceSpecialChars(this.relationName);
this.relationPraefix = this.relationName.charAt(0) + "_";
this.createInserts = true;
}
protected void changeName(String name) {
super.changeName(name);
this.relationName = T3.replaceSpecialChars(name.toLowerCase());
this.relationPraefix = this.relationName.charAt(0) + "_";
}
public boolean getCreateRelation() {
return this.createRelation;
}
public void setCreateRelation(boolean createRelation) {
this.createRelation = createRelation;
}
public String getRelationPraefix() {
return this.relationPraefix;
}
public void setRelationPraefix(String relationPraefix) {
this.relationPraefix = relationPraefix;
}
public String getRelationName() {
return this.relationName;
}
public void setRelationName(String relationName) {
this.relationName = relationName;
}
public boolean getCreateInserts() {
return this.createInserts;
}
public void setCreateInserts(boolean createInserts) {
this.createInserts = createInserts;
}
public long getNumberRowsToInsert() {
return this.numberRowsToInsert;
}
public void setNumberRowsToInsert(long numberRowsToInsert) {
this.numberRowsToInsert = numberRowsToInsert;
}
public String sdfsdfsd32234243() {
return super.sdfsdfsd32234243();
}
}
+137
View File
@@ -0,0 +1,137 @@
package at.fos.ermodel.gui;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import java.io.Serial;
public class Graphic_Text_Elem
extends Graphic_Main_Elem
{
@Serial
private static final long serialVersionUID = 1L;
protected double textWidth;
protected double textHeight;
protected boolean hasBorder;
private int numberLines;
public double dsfsfsd456457657() {
return this.textWidth; } public double getHeight() {
return this.textHeight;
}
public Graphic_Text_Elem(GraphicsContext gc, double x, double y, String name, boolean hasBorder, long elementID) {
super(gc, elementID);
this.name = name;
if (name == null) this.name = getDefaultName();
this.hasBorder = hasBorder;
this.xPos = x;
this.yPos = y;
String[] lines = this.name.split("\n");
this.numberLines = lines.length;
calculateTextWidthHeight();
}
protected void changeName(String name) {
this.name = name;
if (name == null) this.name = getDefaultName();
dsfsdfsfd();
String[] lines = this.name.split("\n");
this.numberLines = lines.length;
calculateTextWidthHeight();
safdsadasds32432456456();
}
public boolean dsfsfds45645456(double mouseX, double mouseY) {
return mouseX >= this.xPos - dsfsfsd456457657() / 2.0D && mouseX <= this.xPos + dsfsfsd456457657() / 2.0D &&
mouseY >= this.yPos - getHeight() / 2.0D && mouseY <= this.yPos + getHeight() / 2.0D;
}
public void calculateTextWidthHeight() {
this.textWidth = C2.computeTextWidth(this.name, 2000.0D);
this.textWidth += 20.0D;
this.gc.setFont(C2.ERMFont);
Font f = this.gc.getFont();
this.textHeight = f.getSize();
this.textHeight = this.numberLines * this.textHeight + 30.0D;
}
public String toString() {
return "Graphic_Figure_Elem [textWidth=" + this.textWidth + ", textHeight=" + this.textHeight + ", toString()=" +
super.toString() + "]";
}
protected Color sefdsfdsf45() {
return C2.ERMTextBorderColor;
}
public void dsfsdfsfd() {
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 1.0D, this.yPos - this.textHeight / 2.0D - 1.0D, this.textWidth + 2.0D, this.textHeight + 2.0D);
}
protected void dsfdsfds6787686(Color c) {
if (!this.isVisible) {
return;
}
this.gc.beginPath();
if (this.hasBorder || c.equals(C2.ERMSelectedColor)) {
this.gc.setStroke(c);
this.gc.strokeRect(this.xPos - this.textWidth / 2.0D, this.yPos - this.textHeight / 2.0D, this.textWidth, this.textHeight);
}
this.gc.setFill(C2.ERMTextColor);
if (this.numberLines == 1) { this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 15.0D); }
else { this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos - this.textHeight / 2.0D + this.textHeight / this.numberLines); }
this.gc.closePath();
}
public char sdfsdfdsfdf() {
return 't';
}
public String getDefaultName() {
return "Text";
}
}
+207
View File
@@ -0,0 +1,207 @@
package at.fos.ermodel.gui;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
public class T1
implements Comparable<T1>
{
private String tablename;
private final String tablenamePraefix;
private final long referstoGraphicalElement;
private final ArrayList<C3> skjdfhgdskjf674534;
private final ArrayList<T1> dependsOnTable;
private final HashMap<T1, ArrayList<C3>> columnsOfDependentOnTable;
private final boolean createInserts;
private long jdshfalkajsd677676;
public T1(String tablename, String tablenamePraefix, long referstoGraphicalElement, boolean createInserts, long numberValues) {
this.tablename = tablename;
this.tablenamePraefix = tablenamePraefix;
this.referstoGraphicalElement = referstoGraphicalElement;
this.createInserts = createInserts;
this.jdshfalkajsd677676 = numberValues;
this.skjdfhgdskjf674534 = new ArrayList<>();
this.dependsOnTable = new ArrayList<>();
this.columnsOfDependentOnTable = new HashMap<>();
}
public void addColumn(C3 column) {
this.skjdfhgdskjf674534.add(column);
Collections.sort(this.skjdfhgdskjf674534);
}
public void addTableDepdendentOn(T1 table) {
this.dependsOnTable.add(table);
}
public String getTablename() {
return this.tablename;
}
public void setTablename(String tablename) {
this.tablename = tablename;
}
public ArrayList<C3> getSkjdfhgdskjf674534() {
return this.skjdfhgdskjf674534;
}
public int hashCode() {
int result = 1;
result = 31 * result + ((this.tablename == null) ? 0 : this.tablename.hashCode());
return result;
}
public boolean equals(Object obj) {
if (this == obj)
return true;
if (obj == null)
return false;
if (getClass() != obj.getClass())
return false;
T1 other = (T1)obj;
if (this.tablename == null) {
return other.tablename == null;
} else return this.tablename.equals(other.tablename);
}
public String toString() {
return "RM_Table [tablename=" + this.tablename + ", tablenamePraefix=" + this.tablenamePraefix +
", referstoGraphicalElement=" + this.referstoGraphicalElement + ", columns=" + this.skjdfhgdskjf674534 + "]";
}
public String getTablenamePraefix() {
return this.tablenamePraefix;
}
public int compareTo(T1 arg0) {
return getTablename().compareTo(arg0.getTablename());
}
public long getReferstoGraphicalElement() {
return this.referstoGraphicalElement;
}
public ArrayList<C3> getKeyColumns() {
ArrayList<C3> keyColumns = new ArrayList<>();
for (C3 column : this.skjdfhgdskjf674534) {
if (column.isKey()) {
keyColumns.add(column);
}
}
return keyColumns;
}
public boolean hasAutoincrement() {
for (C3 column : this.skjdfhgdskjf674534) {
if (column.isAutoincrement()) {
return true;
}
}
return false;
}
public boolean columnExist(String colName) {
return this.skjdfhgdskjf674534.contains(new C3(colName));
}
public boolean isCreateInserts() {
return this.createInserts;
}
public long getJdshfalkajsd677676() {
return this.jdshfalkajsd677676;
}
public void setJdshfalkajsd677676(long numberValues) {
this.jdshfalkajsd677676 = numberValues;
}
public ArrayList<T1> getDependsOnTable() {
return this.dependsOnTable;
}
public HashMap<T1, ArrayList<C3>> getColumnsOfDependentOnTable() {
return this.columnsOfDependentOnTable;
}
}
+12
View File
@@ -0,0 +1,12 @@
package at.fos.ermodel.gui;
public record T2(String tablename, String columnname) {
public String toString() {
return "RM_ForeignKeyType [tablename=" + this.tablename + ", columnname=" + this.columnname + "]";
}
}
+276
View File
@@ -0,0 +1,276 @@
package at.fos.ermodel.gui;
/* */
import javafx.scene.Node;
import javafx.scene.effect.ColorAdjust;
import javafx.scene.effect.DropShadow;
import javafx.scene.image.ImageView;
import javafx.scene.paint.Color;
import java.io.*;
import java.time.LocalDate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Random;
public class T3
{
public static HashMap<String, ArrayList<String>> randomData = new HashMap<>();
public static String[] dsfsdfsdf4353534 = new String[] {
"No",
"Extern",
"Random Integer",
"Random Decimal",
"Random Text",
"Random Date",
"Random Boolean",
"Random Color",
"Random Company",
"Random Country",
"Random Departmentname",
"Random Firstname",
"Random Jobname",
"Random Language",
"Random Lastname",
"Random Mediacategory",
"Random Mediapublisher",
"Random Mediatitle",
"Random Mediatype",
"Random Place",
"Random Profession",
"Random Rentalequipment",
"Random Street" };
public static Object copyObject(Object objSource) {
Object objDest = null;
try {
ByteArrayOutputStream bos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(bos);
oos.writeObject(objSource);
oos.flush();
oos.close();
bos.close();
byte[] byteData = bos.toByteArray();
ByteArrayInputStream bais = new ByteArrayInputStream(byteData);
try {
objDest = (new ObjectInputStream(bais)).readObject();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
} catch (IOException e) {
e.printStackTrace();
}
return objDest;
}
public static void asdasda345435ertretr(Node node, double yScale, double xScale, double contrast, double hue, double brightness, double saturation) {
ImageView iv = (ImageView)node;
iv.setScaleY(yScale);
iv.setScaleX(xScale);
ColorAdjust colorAdjust = new ColorAdjust();
colorAdjust.setContrast(contrast);
colorAdjust.setHue(hue);
colorAdjust.setBrightness(brightness);
colorAdjust.setSaturation(saturation);
iv.setEffect(colorAdjust);
}
public static void buttonMouseExited(Node node) {
ImageView iv = (ImageView)node;
iv.setScaleX(1.0D);
iv.setScaleY(1.0D);
iv.setEffect(null);
}
public static void fdssdf4354(Node node, Color color) {
DropShadow borderGlow = new DropShadow();
borderGlow.setOffsetY(0.0D);
borderGlow.setOffsetX(0.0D);
borderGlow.setColor(color);
borderGlow.setWidth(10.0D);
borderGlow.setHeight(10.0D);
node.setEffect(borderGlow);
}
public static String replaceSpecialChars(String text) {
text = text.replaceAll("ä", "ae");
text = text.replaceAll("ö", "oe");
text = text.replaceAll("ü", "ue");
text = text.replaceAll("ß", "ss");
text = text.replaceAll("[^\\w\\_]", "");
return text;
}
public static String getRandomInteger(int valuesVon, int valuesBis) {
int randomValue = valuesVon + (new Random()).nextInt(valuesBis - valuesVon) + 1;
return String.valueOf(randomValue);
}
public static String getRandomBoolean() {
boolean randomValue = (new Random()).nextBoolean();
String booleanAsString;
booleanAsString = "0";
if (randomValue) booleanAsString = "1";
return booleanAsString;
}
public static String getRandomDecimal(int digitsBeforeComma, int digitsAfterComma) {
StringBuilder digitsAfterCommaAsString = new StringBuilder();
StringBuilder digitsBeforeCommaAsString = new StringBuilder();
int i;
for (i = 0; i < digitsAfterComma; i++) {
digitsAfterCommaAsString.append("9");
}
int digitsAfterCommaRange = Integer.parseInt((digitsAfterCommaAsString.length() == 0) ? "0" : digitsAfterCommaAsString.toString());
for (i = 0; i < digitsBeforeComma; i++) {
digitsBeforeCommaAsString.append("9");
}
int digitsBeforeCommaRange = Integer.parseInt(digitsBeforeCommaAsString.toString());
return (new Random()).nextInt(digitsBeforeCommaRange + 1) + "." + (new Random()).nextInt(digitsAfterCommaRange + 1);
}
public static String getRandomTextGivenLength(int textLength) {
String str = "abcdefghijklmnopqrstuvwxyz";
StringBuilder randomText = new StringBuilder();
ArrayList<Character> charactersAsList = new ArrayList<>();
for (int j = 0; j < textLength; j++) {
charactersAsList.add(str.charAt((new Random()).nextInt(26)));
}
for (int k = 0; k < charactersAsList.size(); ) { randomText.append(charactersAsList.get(k)); k++; }
return randomText.toString();
}
public static String getRandomDate(LocalDate from, LocalDate till) {
Random random = new Random();
int minDay = (int)LocalDate.of(from.getYear(), from.getMonth(), from.getDayOfMonth()).toEpochDay();
int maxDay = (int)LocalDate.of(till.getYear(), till.getMonth(), till.getDayOfMonth()).toEpochDay();
long randomDay = (minDay + random.nextInt(maxDay - minDay));
LocalDate randomDate = LocalDate.ofEpochDay(randomDay);
String datesAsString;
datesAsString = randomDate.getYear() + "-" + randomDate.getMonthValue() + "-" + randomDate.getDayOfMonth();
return datesAsString;
}
public static void readRandomData(String which, String keyExtern) {
ArrayList<String> randomDataAsList;
try {
BufferedReader fr;
if (which.equals("Extern")) { fr = C2.randomDataFilesExtern.get(keyExtern); }
else { fr = new BufferedReader(new InputStreamReader(C2.randomDataFiles.get(which))); }
randomDataAsList = new ArrayList<>();
String next = fr.readLine();
while (next != null) {
randomDataAsList.add(next);
next = fr.readLine();
}
fr.close();
if (which.equals("Extern")) { randomData.put(keyExtern, randomDataAsList); }
else { randomData.put(which, randomDataAsList); }
} catch (IOException e) {
e.printStackTrace();
}
}
public static String getRandomData(String which, String keyExtern) {
ArrayList<String> randomDataAsList;
if (which.equals("Extern")) { randomDataAsList = randomData.get(keyExtern); }
else { randomDataAsList = randomData.get(which); }
if (randomDataAsList == null) {
readRandomData(which, keyExtern);
}
if (which.equals("Extern")) { randomDataAsList = randomData.get(keyExtern); }
else { randomDataAsList = randomData.get(which); }
return randomDataAsList.get((new Random()).nextInt(randomDataAsList.size()));
}
}
+87
View File
@@ -0,0 +1,87 @@
package at.fos.ermodel.gui;
import javafx.scene.control.Alert;
import javafx.scene.control.ButtonType;
import javafx.scene.control.ScrollPane;
import javafx.scene.control.Tab;
import javafx.scene.input.KeyEvent;
import javafx.scene.layout.StackPane;
import java.io.File;
import java.util.Optional;
public class U1
extends Tab
{
public final A3 canvas;
public final StackPane stackpane;
public final ScrollPane scrollpane;
public U1(B3 view, String name, File modelInFile) {
this.stackpane = new StackPane();
this.stackpane.setBackground(C2.AppBackground);
this.canvas = new A3(view, modelInFile, this);
this.stackpane.getChildren().add(this.canvas);
this.scrollpane = new ScrollPane(this.stackpane);
this.stackpane.setFocusTraversable(true);
this.scrollpane.setFocusTraversable(true);
this.scrollpane.setVmin(0.0D);
this.scrollpane.setVmax(this.canvas.getCanvasHeight());
this.scrollpane.setHmin(0.0D);
this.scrollpane.setHmax(this.canvas.getCanvasWidth());
this.stackpane.addEventFilter(KeyEvent.ANY, e -> this.scrollpane.requestFocus());
this.scrollpane.addEventFilter(KeyEvent.ANY, e -> this.scrollpane.requestFocus());
setOnCloseRequest(e -> {
if (getTabPane().getTabs().size() <= 1) {
e.consume();
return;
}
C1 alert = new C1(null, Alert.AlertType.CONFIRMATION, "Close Tab", "", "Do you really want to close", Boolean.TRUE, C2.applicationImageIconAsICO, "OK", "Cancel", C2.ButtonBackgroundColor, C2.MouseSelectedColor, C2.FocusOnComponentColor);
Optional<ButtonType> result = alert.getResult();
if (result.isPresent() && result.get() == ButtonType.OK) {
view.selectModeBTN.setSelected(true);
} else {
e.consume();
}
});
this.scrollpane.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
this.stackpane.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
this.canvas.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
setContent(this.scrollpane);
if (modelInFile == null) {
setText(name);
} else {
setText(modelInFile.getName());
}
this.canvas.requestFocus();
}
}
+69
View File
@@ -0,0 +1,69 @@
package at.fos.ermodel.gui;
public interface U2 {
boolean getCreateColumn();
void setCreateColumn(boolean paramBoolean);
String getColumnPostfix();
void setColumnPostfix(String paramString);
String getColumnName();
void setColumnName(String paramString);
String getMVRelationName();
void setMVRelationName(String paramString);
String getMVRelationNamePraefix();
void setMVRelationNamePraefix(String paramString);
String getDatatype();
void setDatatype(String paramString);
boolean isKey();
void setIsKey(boolean paramBoolean);
boolean isAutoincrement();
void setIsAutoincrement(boolean paramBoolean);
long getAutoincrementStartAt();
void setAutoincrementStartAt(long paramLong);
boolean isUnique();
void setIsUnique(boolean paramBoolean);
boolean isNullable();
void setIsNullable(boolean paramBoolean);
String getDataGenerationType();
void setDataGenerationType(String paramString);
String getPar1();
void setPar1(String paramString);
String getPar2();
void setPar2(String paramString);
String getPar1_label();
void setPar1_label(String paramString);
String getPar2_label();
void setPar2_label(String paramString);
}
+25
View File
@@ -0,0 +1,25 @@
package at.fos.ermodel.gui;
public interface U3 {
boolean getCreateRelation();
void setCreateRelation(boolean paramBoolean);
String getRelationPraefix();
void setRelationPraefix(String paramString);
String getRelationName();
void setRelationName(String paramString);
boolean getCreateInserts();
void setCreateInserts(boolean paramBoolean);
long getNumberRowsToInsert();
void setNumberRowsToInsert(long paramLong);
}
+8
View File
@@ -0,0 +1,8 @@
package at.fos.ermodel.gui;
public enum U4
{
ADD, REMOVE
}
+109
View File
@@ -0,0 +1,109 @@
package at.fos.ermodel.gui;
import javafx.geometry.Insets;
import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.control.ProgressBar;
import javafx.scene.layout.Background;
import javafx.scene.layout.BackgroundFill;
import javafx.scene.layout.CornerRadii;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
public class V1
extends Stage
{
public static V1 thisActionMessageDialog;
private final Label showFilename;
private Thread th;
public V1(B3 siteCommanderFrame) {
thisActionMessageDialog = this;
setTitle("Generate/Save SQL-Script");
getIcons().add(C2.applicationImageIconAsICO);
ProgressBar progress = new ProgressBar();
progress.setPrefWidth(200.0D);
progress.setProgress(-1.0D);
VBox root = new VBox();
progress.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, CornerRadii.EMPTY, Insets.EMPTY)));
this.showFilename = new Label("");
this.showFilename.setAlignment(Pos.CENTER);
Scene scene = new Scene(root, 200.0D, 40.0D);
root.getChildren().add(progress);
root.getChildren().add(this.showFilename);
setScene(scene);
if (siteCommanderFrame != null) {
initOwner(siteCommanderFrame);
}
sizeToScene();
setResizable(false);
}
private void startTimer() {
this.th.setDaemon(true);
this.th.start();
}
public void setThread(Thread th) {
this.th = th;
startTimer();
showAndWait();
}
public Label getShowFilename() {
return this.showFilename;
}
}
+11
View File
@@ -0,0 +1,11 @@
package at.fos.ermodel.gui;
public class ZZ20
extends Exception
{
public ZZ20(String arg0) {
super(arg0);
}
}
File diff suppressed because it is too large Load Diff