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

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
out/

3
.idea/.gitignore generated vendored Normal file
View File

@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml

8
.idea/artifacts/noEasyDB.xml generated Normal file
View File

@ -0,0 +1,8 @@
<component name="ArtifactManager">
<artifact type="jar" build-on-make="true" name="noEasyDB">
<output-path>$PROJECT_DIR$/out/artifacts/noEasyDB</output-path>
<root id="archive" name="noEasyDB.jar">
<element id="module-output" name="noEasyDB" />
</root>
</artifact>
</component>

7
.idea/compiler.xml generated Normal file
View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavacSettings">
<option name="DEBUGGING_INFO" value="false" />
<option name="ADDITIONAL_OPTIONS_STRING" value="-Xlint:unchecked" />
</component>
</project>

72
.idea/libraries/soot_oss.xml generated Normal file
View File

@ -0,0 +1,72 @@
<component name="libraryTable">
<library name="soot.oss" type="repository">
<properties maven-id="org.soot-oss:soot:4.3.0" />
<CLASSES>
<root url="jar://$PROJECT_DIR$/lib/soot-4.3.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/commons-io-2.7.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/dexlib2-2.5.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jsr305-3.0.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/guava-27.1-android.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/failureaccess-1.0.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/checker-compat-qual-2.5.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/error_prone_annotations-2.2.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/j2objc-annotations-1.1.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/animal-sniffer-annotations-1.17.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-9.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-tree-9.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-util-9.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-analysis-9.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-commons-9.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/xmlpull-1.1.3.4d_b4_min.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/axml-2.1.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/polyglot-2006.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/heros-1.2.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/functionaljava-4.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jasmin-3.0.3.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/java_cup-0.9.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/slf4j-api-1.7.32.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/javax.annotation-api-1.3.2.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jaxb-api-2.4.0-b180725.0427.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/javax.activation-api-1.2.0.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jaxb-runtime-2.4.0-b180830.0438.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/txw2-2.4.0-b180830.0438.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/istack-commons-runtime-3.0.7.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/stax-ex-1.8.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/FastInfoset-1.2.15.jar!/" />
</CLASSES>
<JAVADOC>
<root url="jar://$PROJECT_DIR$/lib/soot-4.3.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/commons-io-2.7-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/dexlib2-2.5.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jsr305-3.0.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/guava-27.1-android-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/failureaccess-1.0.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/checker-compat-qual-2.5.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/error_prone_annotations-2.2.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/j2objc-annotations-1.1-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/animal-sniffer-annotations-1.17-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-9.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-tree-9.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-util-9.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-analysis-9.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/asm-commons-9.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/axml-2.1.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/polyglot-2006-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/heros-1.2.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/functionaljava-4.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jasmin-3.0.3-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/java_cup-0.9.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/slf4j-api-1.7.32-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/javax.annotation-api-1.3.2-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jaxb-api-2.4.0-b180725.0427-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/javax.activation-api-1.2.0-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/jaxb-runtime-2.4.0-b180830.0438-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/txw2-2.4.0-b180830.0438-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/istack-commons-runtime-3.0.7-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/stax-ex-1.8-javadoc.jar!/" />
<root url="jar://$PROJECT_DIR$/lib/FastInfoset-1.2.15-javadoc.jar!/" />
</JAVADOC>
<SOURCES />
</library>
</component>

6
.idea/misc.xml generated Normal file
View File

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectRootManager" version="2" languageLevel="JDK_19" default="true" project-jdk-name="azul-19" project-jdk-type="JavaSDK">
<output url="file://$PROJECT_DIR$/out" />
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/noEasyDB.iml" filepath="$PROJECT_DIR$/noEasyDB.iml" />
</modules>
</component>
</project>

3
META-INF/MANIFEST.MF Normal file
View File

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: at.fos.ermodel.gui.A1

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

BIN
applicationimages/es.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

BIN
applicationimages/rs.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

BIN
applicationimages/rs_id.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

BIN
applicationimages/text.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 542 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 551 B

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
at/fos/ermodel/gui/A2.java Normal file
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);
}
}
}

2991
at/fos/ermodel/gui/A3.java Normal file

File diff suppressed because it is too large Load Diff

180
at/fos/ermodel/gui/A4.java Normal file
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
at/fos/ermodel/gui/A5.java Normal file
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
at/fos/ermodel/gui/A6.java Normal file
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
at/fos/ermodel/gui/A7.java Normal file
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
at/fos/ermodel/gui/A8.java Normal file
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
at/fos/ermodel/gui/A9.java Normal file
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
at/fos/ermodel/gui/B1.java Normal file
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;
}
}

1502
at/fos/ermodel/gui/B3.java Normal file

File diff suppressed because it is too large Load Diff

157
at/fos/ermodel/gui/C1.java Normal file
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
at/fos/ermodel/gui/C2.java Normal file
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
at/fos/ermodel/gui/C3.java Normal file
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
at/fos/ermodel/gui/C4.java Normal file
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;
}
}

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;
}
}

View File

@ -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";
}
}

View File

@ -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";
}
}

View File

@ -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";
}
}

View File

@ -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";
}
}

View File

@ -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 '@';
}
}

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';
}
}

View File

@ -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();
}
}

View File

@ -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;
}
}

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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

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();
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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;
}
}

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();
}

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;
}
}

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 + ")";
}
}

View File

@ -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;
}
}

View File

@ -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();
}
}

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
at/fos/ermodel/gui/T1.java Normal file
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;
}
}

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
at/fos/ermodel/gui/T3.java Normal file
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()));
}
}

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();
}
}

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);
}

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);
}

View File

@ -0,0 +1,8 @@
package at.fos.ermodel.gui;
public enum U4
{
ADD, REMOVE
}

109
at/fos/ermodel/gui/V1.java Normal file
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;
}
}

View File

@ -0,0 +1,11 @@
package at.fos.ermodel.gui;
public class ZZ20
extends Exception
{
public ZZ20(String arg0) {
super(arg0);
}
}

1521
at/fos/ermodel/gui/ZZ30.java Normal file

File diff suppressed because it is too large Load Diff

154
data/colors.txt Normal file
View File

@ -0,0 +1,154 @@
f_farbe
schwarz
weiss
orange
grau
gr<EFBFBD>
rot
blau
gelb
hellgr<EFBFBD>
braun
dunkelgr<EFBFBD>
lichtgr<EFBFBD>
mittelgr<EFBFBD>
lila
hellgrau
goldgelb
stahlblau
dunkelgold
hellblau
dunkelgrau
gr<EFBFBD>gelb
kakhi
PaleGoldenrod
a_bluename
r170g255b47
r255g255b255
r240g232b170
r240g230b170
r0g100b0
r0g101b0
r0g155b0
r0g160b0
r0g121b0
r0g107b0
r0g110b0
r60g230b170
r240g255b47
r60g140b170
r170g255b255
r200g170b188
r250g180b252
r0g110b252
r110g110b217
r0g160b2
r100g190b170
r110g110b227
r190g190b131
r210g190b143
r70g130b255
r240g80b238
r190g190b185
r240g240b150
r200g50b105
r240g20b101
r220g70b189
r240g160b178
r90g180b141
r200g190b188
r240g160b231
r190g100b237
r140g70b15
r140g120b71
r50g160b50
r230g170b42
r90g120b252
r190g190b118
r160g140b173
r110g230b218
r210g140b199
r240g240b120
r255g0b148
r210g140b251
r250g70b39
r30g140b191
r255g160b221
r240g0b0
r250g140b39
r0g170b237
r0g160b57
r0g210b255
r0g255b0
r240g30b209
r250g0b0
r255g130b0
r255g140b0
r120g160b255
r255g255b0
r150g10b226
r255g255b194
r200g255b255
r180g180b255
r0g180b0
r0g90b252
r140g200b129
r255g220b87
r170g255b0
r150g50b255
r255g255b178
r200g200b200
r240g240b21
r255g210b0
r180g10b215
r200g230b0
r30g255b253
r190g150b255
r80g200b0
r255g0b0
r250g10b6
r170g250b196
r210g210b212
r110g150b169
r100g230b255
r0g0b255
r70g160b255
r70g200b255
r255g255b133
r120g240b251
r210g210b211
r10g210b0
r240g240b11
r240g140b246
r240g50b239
r180g240b131
r210g210b210
r0g100b255
r50g190b183
r0g220b1
r230g250b100
r50g210b71
r255g90b46
r255g220b0
r230g255b0
r130g70b24
r220g210b223
r255g200b0
r250g220b15
r250g240b141
r255g90b9
r60g0b255
r255g100b0
r140g210b250
r255g50b179
r190g190b190
r200g0b0
r100g180b255
r0g200b0
r255g180b0
r255g160b108
r200g255b0
r0g255b167
r0g210b177
r0g210b242
r240g140b217

740
data/companies.txt Normal file
View File

@ -0,0 +1,740 @@
OMV Solutions GmbH
BRVZ GMBH
UPPER Network GmbH
SIMEA GmbH & Co KG
iTEC Informationssysteme AG
Lohmann & Rauscher GmbH
WEBGES
Kufner Textilwerke GesmbH
frontworx AG
smn Investment Services GmbH
Capgemini Consulting Österreich AG
IKARUS Software GmbH
Business Insurance Application Consulting GmbH
ANECON Software Design und Beratung G.m.b.H.
WU-Wien
SOFTCOM Consulting GmbH
on_next Business Solutions
GÖRLITZ Austria GmbH
Allgemeine Unfallversicherungsanstalt
Trust Consult Gesmbh.
Österreichische Lotterien GmbH.
Buchegger, Denoth, Feichtner NET
ELVIA Reiseversicherung
Bundeskriminalamt
Snap Consulting
CATRO Personalsuche, und -auswahl GmbH
Triumph International AG
MANOVA NetBusiness Solutions GmbH
HERKA FROTTIER
Wiener Privatklinik Betriebs-Ges.m.b.H. & Co.KG
ITMCS IT Management Consulting & Service GmbH
Reality Consult GmbH
Hödl Consulting GmbH
Bawag PSK Invest
Boehringer Ingelheim Austria GmbH
Amdocs Qpass Austria GmbH
Im Haus.
Kühne + Nagel
Screenaxx Media Datenverarbeitungs-GesmbH
TPA-Horwath GesmbH
netkey information technology gmbh
Smart Streams Technologies GmbH
Verbund Management Service GmbH
Manpower GmbH
BMK Popolini
Zürich Versicherungs-Aktiengesellschaft
infoscore austria gmbh
mobil data IT & Kommunikationslösungen GmbH
Agrarmarkt Austria
Connex.cc DI Hadek GmbH
HiCo GesmbH
Konrad Lorenz Institut für Vergleichende Verhalten
Bundesrechenzentrum GmbH
Verlagsgruppe News GmbH
Algorithms EDV-Software GmbH
AirPlus Air Travel Card Vertriebsgesellschaft m.b.
FHWien-Studiengänge der WKW
RUBICON IT GmbH
rmc&partner
dydocon IT-Beratung GmbH
PIDAS Österreich GesmbH
BA-CA Administration Services GmbH
Austrian Airlines
VAMED-KMB GmbH
Catro Personalberatung
Software Schneider GesmbH
interio Möbel und Einrichtungs GmbH
Österreichische Post AG
WienIT EDV Dienstleistungs-GmbH & Co KG
IMV Immobilien Management GmbH
Bank Austria Creditanstalt Leasing GmbH
Financial Risk Managment GmbH
BTM Interim Management GmbH
Professional Search
Wienerberger AG
SOL-IT Gmbh
Raiffeisen Bausparkasse GesmbH
ING-DiBa Direktbank Austria
MUELLBACHER Personalberatung
evolaris research & development gmbh
Karriereschmiede Personalberatung
adsolis GmbH
Attingo Datenrettung GmbH
Delegate Technology GmbH
Netviewer GmbH - Niederlassung Österreich
dark-green information technology GmbH
M&P Werbeagentur Ges.m.b.H.
Alcatel-Lucent Austria AG
Akademie der bildenden Künste
Diebold Österreich Selbstbedienungssysteme GmbH
TouchIt Informatik GmbH
Fabasoft International Services GmbH
Tele2 Telecommunication GmbH
Österreichisches Chemiefaser Institut
Magistratsabteilung 48
Österreichisches Rotes Kreuz
go-mobile IT GmbH
MTIT Elektronische Datenverarbeitung GmbH
Raiffeisen- Niederösterreich-Wien AG
openForce Information Technology GesmbH
Bausparkasse der österreichischen Sparkassen AG
BPB Dutch Connexxion
Forstinger Handel und Service GmbH
Beratungs- Vertriebs- und BeteiligungsgesmbH
mobilkom austria AG
SOS-Kinderdorf International
TTTech Computertechnik AG
Neumann&Partners GmbH
Radio Eins Privatradio GmbH
Gekko Datenverarbeitungs GmbH
Österreichisches Rotes Kreuz LV NÖ
Pohl&Partner Consulting GmbH
Cosmos Elektrohandels GmbH&CO KG
Bank Austria UnicreditGroup
Haus der Barmherzigkeit
Standard IT Business Solution GmbH
dpw H.R. Software GmbH
Macher Solutions GmbH
Cetus-IT Secure GmbH
ÖBB Dienstleistungs GmbH
Bundesanstalt Statistik Österreich
Diakonie-Evangelisches Hilfswerk
Pausch GmbH
LVA-GmbH
Lomographische AG
Christely KEG
Bridge it Unternehmensberatung GmbH
Gebrüder Weiss Paketdienst GmbH
TRUST Treuhand- und Steuerberatung GmbH
SERVITHINK Personalmanagement
ecetra Internet Services AG
Dun & Bradstreet Information Services GmbH
Wirtschaftsauskunftei Wisur GmbH
CONSULT.IT GmbH
Robert Bosch AG
BEKO Engineering&Informatik AG
Altran Österreich GmbH
uma information technology gmbh
Faktor Zehn GmbH
Kapsch Partner Solutions GmbH
s3+
BEA Electrics GmbH
Consent Personalberatung GmbH
b1 consulting gmbh
The Siesta Group Schlafanalyse GmbH
update software AG
Polansky Personal Beratung
UNITREU Wirtschaftspr. - und Steuerber. GmbH
WIENER LINIEN GmbH & Co KG
Swiss Life Select Österreich GmbH
ENTERPRISE IT - Dienstleistungs & Handels GmbH
Ernst&Young Recruiting
Eurotax Österreich GmbH
SVA - Sozialv. der gewerbl Wirtschaft
REWE International AG
Secur - Data Betriebsberatungs - GmbH.
D.A.T.A. Corporation
Elan IT Resource Austria GmbH
HR Consulting&Managementberatung
Baustoffhandel A. Sochor & Co. GmbH
ITPM IT_Full Service Center
Sonepar Österreich GmbH
Siemens Personaldienstleistungen GmbH & Co KG
HEDAB VerwaltungsgesmbH
codeworks webagency
Michael Resch CAD e.U.
ComFin Software & Consulting Services GmbH
Atos Origin Information Technology GmbH
PL·O·T EDV-Planungs- und Handels GmbH
ASCUS IT-Holding Gmbh
mercuryone performance solutions gmbh
Austria Wirtschaftsservice Gesellschaft mbH
QSC Quality Software & Consulting GmbH & Co KG
GTW Management Consulting GmbH
EconGas GmbH
EPO Consulting GmbH
Vereinigte Bühnen Wien GmbH
Team43 GmbH
Allianz Elementar Versicherungs-Aktiengesellschaft
Procurement Services GmbH (Mmb of Erste Group)
Oracle Corporation
Spängler IQAM Invest
Institut für empirische Sozialforschung GmbH
BAMC GmbH
ready-made Graeff + Schmelzer GmbH
Österreichisches Bundesheer Führungsunterstützung
ITSV GmbH
INFONOVA GmbH
Magistratsabteilung 14
Cenarion Information Systems AG
Piaodorizzi Photographie
Powerserv Wien
MANZsche Verlags- und Universitätsbuchh. GmbH
CWI Softwaremigrations GmbH
ALPINE Bau GmbH
CELIX Hard- und Software VertriebsGmbH
SPC New Media GmbH
Scientific Games International GmbH
SolveDirect Service Management GmbH
SEC Consult Unternehmensberatung GmbH
NextiraOne Austria GmbH
SynCore Systems EDV-Dienstleistungen GmbH
Neuner Haus
STEINER-HITECH GmbH
ADECCO Personalbereitstellungs GmbH
H O M E - Digital Full Service WerbegmbH
Tieto Austria GmbH
Wien Energie Gasnetz GmbH
Digital River, Inc
SIS Informatik GmbH
Perception Park
Provaria GmbH
emotion banking
Loop21 Mobile Net GmbH
abss interactive GmbH
Krankenhaus der Barmherzigen Brüder Eisenstadt
SobIT GmbH
CIIT GmbH
Camelot Bank Insurance Informatics
paysafecard.com Wertkarten AG
ovos gmbh
bwin.party services
vemap Einkaufsmanagement GmbH
the sportsman media holding gmbh
NETAVIS Software GmbH
card complete Service Bank AG
mesonic datenverarbeitung gmbh
ppedv GmbH
SYCUBE GmbH
STEINADLER HandelsgmbH
pMediaNetwork GmbH
Raiffeisen Kapitalanlage-Gesellschaft m.b.H.
Delugan Meissl Associated Architects
CCA EDV für Versicherungswirtschaft GmbH
Superfund Research GmbH
Universität für Bodenkultur
APC Business Services GmbH
IGEL Software GmbH
Der ORF
rtech engineering GmbH
Santander Consumer Bank GmbH
BOC Unternehmensberatung GmbH
Knowledge Markets Consulting GmbH
WallStreetdocs Ltd.
Erste Group Bank AG
Iventa Group Holding GmbH
s IT Solutions AT Spardat GmbH
Digitalsunray Media GmbH
Zentralanstalt für Meteorologie und Geodynamik
AIT Austrian Institute of Technology GmbH
DIMOCO Europe GmbH
IT Spirit Axel Gruböck e.U.
Proxmox Server Solutions GmbH
Televis Telekommunikation und Service GmbH
Symbionis Software, Skills & Technologies GmbH
Kwizda Holding GmbH
Community TV-GmbH
Die Wiener Volkshochschulen GmbH
The Nielson Company
pmOne GmbH
Competence Call Center GmbH
gitgo GmbH
FH Campus Wien
Freies Radio Wien - Orange 94.0
Puaschitz IT GmbH
OTAS Computer Software GmbH
UNITIS Personalberatung GmbH
PNC Professionelle Netzwerke & Computersysteme Gmb
Internorm Bauelemente Services GesmbH
REHAU Gesellschaft m.b.H.
SYNGROUP MANAGEMENT CONSULTING GMBH
Greenpeace in Zentral und Osteuropa
makeit informations systems GmbH
GfK SE
Raiffeisen Informatik GmbH
Hochschule für Agrar- und Umweltpädagogik
Ploner Communications
Kunst- und Kulturverein Zum Mitnehmen
werbung / edv.extrascharf
Technopool Jugendförderung
TU Career Center GmbH
A1 Telekom Austria AG
Weingut Kracher
FFG - Österreichische Forschungsförderungsgesellsc
RMI Personalberatung GmbH
smartpoint IT consulting GmbH
TRESCON Betriebsberatungsges.m.b.H.
Dr. Pendl & Dr. Piswanger GesmbH
COFELY Gebäudetechnik GmbH
Accenture GmbH
Personal-Basis Management GmbH
AGIRE Handels- und Werbe- Gesellschaft m.b.H.
APA-IT Informations Technologie GmbH
SENNA Nahrungsmittel GmbH & Co KG
ZWÖLFERKALTENBRUNNER Personalberatung
Österreichisches Verkehrsbüro Aktiengesellschaft
Mondi AG
beyond expectations GmbH
SEIDRA TEXTILWERKE GMBH
WKO Inhouse GmbH der Wirtschaftskammern
Bundeswettbewerbsbehörde
Sabre Austria GmbH
Franke Leuchten GmbH
KVM-TEC Electronic GmbH
Bawag PSK Bank und Österreichische Postsparkasse A
Deloitte Services Wirtschaftsprüfungs GmbH
Wien Energie GmbH
Wiener Stadtwerke Holding AG
Demner, Merlicek & Bergmann Werbegesellschaft mbH
McDonald Werbegesellschaft mbH
Automic Software GmbH
Marti Reisen GmbH
Sabotage Filmproduktion GmbH
Eybl Austria GmbH
ERP-Solutions GmbH
ESONE Executive Solution GmbH
Infocom GmbH
LW Fashion GmbH
Albrecht Business Coaching GmbH
WH IT Services GmbH
Raiffeisen Bank International AG
Loomis Österreich GmbH
ANALYTIKA Betriebsberatung GmbH
Fluxguide Ausstellungssysteme GmbH
IMS Nanofabrication AG
Auftragnehmerkataster Österreich
Way2Production GmbH
Veloce Botendienste GmbH
Flexyfit Plus GmbH
datenwerk Innovationsagentur
Austria Card
LBG Österreich
Dataphone GmbH
Wiener Kongresszentrum Hofburg Betriebs-GmbH
NetPoint Computer Handels- und Beratungs-GmbH
more dimensions gmbh
Veterinärmedizinische Universität Wien
Bernhard Schifer GmbH
Jollydays GmbH
Gaisberger Couture
IST Austria
CROSS-PLATFORM IT GmbH
SEQIS Software Testing GmbH
Vector Software Datenverarbeitung GmbH
more.Software GmbH
IKEA Möbelvertrieb OHG
BORA Vertriebs GmbH & Co KG
Schuh Karosseriebau GmbH
SELECT-IT Beratung und IT Dienstleitung GmbH
ims media gmbh
AUVA Personalabteilung
Verkehrsauskunft Österreich
Juprowa GmbH
joyn-it informationstechnologie gmbh
PMCS.helpLine Software Gruppe
Bauarbeiter-Urlaubs- und Abfertigungskasse
easyconsult GmbH
Raiffeisen Software GmbH
PingPong Communications GmbH
Trans Austria Gasleitung GmbH
Lets Print Holding AG
Österreichische Gesellschaft für Zivilluftfahrt mb
ISIS Papyrus Europe AG
Media-Saturn Beteiligungsgesellschaft m.b.H.
SALESIANER MIETTEX GmbH
Österreichische Bundesforste AG
UNIQA Insurance Group AG
crystalsol GmbH
Include-IT GmbH
BM für Land- und Forstwirtschaft, Stabstelle Geoin
epunkt Internet Recruiting GmbH
Axians ICT Austria GmbH
speedy space og
Turek Herbert Einzelunternehmer
CareCenter Software GmbH
ENERGIEALLIANZ Austria GmbH
Greentube Internet Entertainment Solutions GmbH
HAIDERBAU GmbH
SynerGIS Informationssysteme GmbH
Universität Wien, Faculty IT-Support
GLOBART Privatstiftung
Schulstiftung der Erzdiözese Wien
Marionnaud Parfumeries Autriche GmbH
IMPACT Merchandising GmbH
IT Finance Consulting GmbH
Adverity GmbH
Intelligent Software KG
UNIQUECONNEXXXION Consulting OG
NOVOMATIC Gaming Industries GmbH
Innconcepts IT GmbH
Unipos IT Solutions e.U.
Baustoff + Metall GesmbH
codecan solutions gmbh
Weissinger Günther Dr.
MAM Babyartikel GesmbH
Dentalklinik Margareten
GEKKO it-solutions GmbH
Dr. Mayr et Partners Personal- und Managementber. GesmbH
terna GmbH-Zentrum für Business Software
Clever Contents GmbH
COFACE, Niederlassung Austria
PUR Personaldienstleistung GmbH
Klinger Fluid Control GmbH
Sattler AG
Verein ALOM Manufaktur Haslach
Universität Wien
Atos IT Solutions and Services GmbH
Housing IT Solutions GmbH
HR Force EDV-Beratung GmbH
SCHULMEISTER Management Consulting GmbH & Co KG
BFE Studio und Medien Systeme GmbH
Verein Projekt Integrationshaus
UPC Austria Services GmbH
CyberTrap Software GmbH
Fiat Chrysler Automobiles N.V.
Bundesbeschaffung GmbH
GC Gebäudetechnik KG
cargo-partner GmbH
BM für Verkehr, Innovation und Technologie
Tricentis GmbH
BM für Inneres - Bundesamt zur Korruptionsprävention und -bekämpfung
Watzka Bernd Mag.
Die Schule des Sprechens GmbH
MCP GmbH
Arbeitsgemeinschaft für Datenverarbeitung (ADV)
ASSA ABLOY Austria GmbH
Hartig & Partners GmbH
Flughafen Wien AG
Steininger Designers GmbH
ECOMAL Austria GmbH
contemas GmbH & Co KG
Phoron Consulting GmbH
INOLOX GmbH
BM für Landesverteidigung und Sport
rockit e.U.
service4work IT Solutions GmbH
Zirrus Cloud Service GmbH
CTI Meeting Technology Vienna GmbH
Technische Universität Wien
Stowasser Painhaupt Partner GmbH
D2D - direct document GmbH
twinformatics GmbH
runtastic GmbH
W. Jessernigg GmbH
PPS Public Project Services GmbH
BEST GAMING TECHNOLOGY GmbH
CRIF GmbH
Rechnungshof
Havas Media GmbH
Austrian Power Grid AG
Austrian Standards Institute
UNIDO United Nations Industrial Development Organization
AustriaTech Gesellschaft des Bundes für technologiepolitische Maßnahmen GmbH
IBM Österreich Internationale Büromaschinen Gesellschaft m.b.H.
101 Coding und Design OG
HDI Versicherung AG
INVARIS Informationssysteme GmbH
Österreichische Hagelversicherung VVaG
alladin-IT GmbH
Universität Innsbruck
COREX EDV-Dienstleistungen GmbH
GeoMarketing & GIS Solutions und Services GmbH
FREQUENTIS AG
LINDLPOWER Personalmanagement GmbH
DHL Paket (Austria) GmbH
Interad Leeb Tschinkel OG
BearingPoint GmbH
Landesinnung Wien der Mechatroniker
KTM AG
Wolkenrot Personalmanagement GmbH
consult24 GmbH
springeloo GmbH
JobRocker International GmbH
ITH icoserve technology for healthcare GmbH
ISG Personalmanagement GmbH
Omnetric GmbH
STANDARD Verlagsgesellschaft m.b.H.
QuantaRed Technologies GmbH
no.ova design gmbh
XAL GmbH
Land schafft Leben e.V.
Dietzel GmbH
BM für Wissenschaft, Forschung und Wirtschaft
matrixx IT-Services GmbH
Generali Versicherung AG
Reichmann SPS-Service GmbH
WEIN&CO Handelsgesellschaft m.b.H.
Österreichische Kinderfreunde - Landesorganisation Wien
morgenjungsGmbH
Opernring Einrichtungs GmbH
S&T AG
druck.at Druck- und Handelsgesellschaft mbH
IXOLIT GmbH
FOCUS Marketing Research Ges.m.b.H.
Interspot Film Ges.m.b.H
Ogilvy & Mather GmbH
Bundesforschungszentrum für Wald
ZZ Vermögensverwaltung Ges.m.b.H.
Bundesnetzwerk Österreichische Jugendinfos
Frynx GmbH
D. Swarovski KG
Cubicure GmbH
Amt der Burgenländischen Landesregierung
Identum Communications GmbH
Pörner Anlagenbau GmbH
Ströck-Brot G.m.b.H.
MBI Institut für Marketingberatung AG
CODICO GmbH
Elektro-Wazek EB GesmbH
IVM Technical Consultants Wien Gesellschaft m.b.H.
Neucomed GmbH
TalentChamp Consulting GmbH
Xylem - Science and Technology Management GmbH
POCKET HOUSE Digital Housing Services GmbH in Gründung
Output- und Informationstechnologie Consulting GmbH
Kaleidoscope GmbH
Magistrat Wels
SMZ Ost - Donauspital
Red Bull GmbH
Omnitec Informationstechnologie-Systemservice GmbH
Revolution Event GmbH
Berufsförderungsinstitut Wien (BFI Wien)
Grausam Textil Handels GesmbH
SECURIKETT Ulrich & Horn GmbH
Magistrat Wien - Umwelt-Kanal
EBE Solutions GmbH
teamworx mediamanagement GmbH
Going International Information Services, G. Polak KG
ANCIENTGAME GmbH
CERT.at: Computer Emergency Response Team Austria
Birner Gesellschaft m.b.H.
Schindler IT-Solutions GmbH
Frauenthal Service AG
webLyzard technology gmbh
Wiener Stadtwerke GmbH
Alpha ITC GmbH
Wiener Krankenanstaltenverbund - AKH
epiqo GmbH
Regionalmedien Austria AG
cogvis Software und Consulting GmbH
Cerner Deutschland GmbH
LeitnerLeitner GmbH
CosmeticExpress GmbH
Helbich & Partner GmbH
flux consulting gmbh
IBIOLA Mobility Solutions GmbH
ELHO Wärmetechnik GmbH
MAK - Österreichisches Museum für angewandte Kunst / Gegenwartskunst
Vermessung Schmid ZT GmbH
Internetplatz GmbH
Huemer Data Center Gesellschaft m.b.H.
Infinity - Innovative Projects GmbH
Poltnigg & Klammer ZiviltechnikergesmbH
SanData Technology GmbH&Co KG
TIMETOACT GROUP Österreich GmbH
Continental Automotive Austria GmbH
VIEWPOINTSYSTEM GMBH
Dr. Margula
HILL Webersdorfer GmbH
Station Wien, Verein für Bildung, Beratung und interkulturellen Austausch
Österreichische Bautechnik Vereinigung
DO & CO Aktiengesellschaft
Integral Insurance Broker GmbH
Bundesanstalt für Agrarwirtschaft
Helvetia Versicherungen AG
INiTS Universitäres Gründerservice Wien GmbH
Pavelka-Denk Personalberatung e.U.
ÖHTB Wohnen GmbH
HILLEBRAND Personalberatung
OSS Open Source Solutions GmbH
Lexogen GmbH
Nebily GmbH
Cadaxo GmbH
jw Consulting
Pro-Ject Audio Systems
St. Nikolausstiftung
Timeless Soft GmbH
List BeteiligungsgesmbH
VAMED AG
Brichard Immobilien GmbH
StoreMe GmbH
UseGood Group
Landesschulrat für Niederösterreich
AbbVie GmbH
Creditreform Wirtschaftsauskunftei Kubicki KG
Magistratsabteilung 22 Umwelt
EBCONT personnel service GmbH
PCS IT-Trading GmbH
framsohn frottier GmbH
mömax GmbH
Forsttechnischer Dienst für Wildbach- und Lawinenverbauung
Grain GmbH
Riecken Webservice & Application GmbH
Bacon Bold GmbH
Institut für Mineralölprodukte und Umweltanalytik Ziviltechniker Ges.m.b.H.
Themis
VIDO Network Technology GmbH
Landespolizeidirektion Wien
BDM Business Data Management GmbH
GLOCK Ges.m.b.H.
Wohnbauvereinigung GFW Gemeinnützige GmbH
Österreichische Kontrollbank AG
Venatores Managing Partner GmbH
Waagner-Biro AG
CP Immo Solutions GmbH
World4You Internet Services GmbH
RoboManiac GmbH
B & IT Consulting GmbH
E-QUADRAT COMMUNICATIONS GMBH
AUGUSTIN QUEHENBERGER GROUP GMBH
Landwirtschaftskammer Salzburg
Österreichische Agentur für Gesundheit und Ernährungssicherheit GmbH
Halpern & Prinz Wirtschaftsprüfungs- und Steuerberatungsges.m.b.H.
EODC Earth Observation Data Centre for Water Resources Monitoring GmbH
eurodata comesio GmbH
Management Communication Systems GmbH
Nationales Europass Zentrum
Global Private Network Telecommunication GmbH
KSV1870 Holding AG
Roche Diagnostics GmbH
NTT DATA Österreich GmbH
KDZ Managementberatungs- und Weiterbildungs GmbH
4myHealth GmbH
METRO Cash & Carry Österreich GmbH
tobaccoland Handels GmbH & Co KG
GATX RAIL AUSTRIA GMBH
Österreichische Rundfunk­sender GmbH & Co KG
Magistratsabteilung 01 - Wien Digital
Stadtgemeinde Gerasdorf bei Wien
CELLS+TISSUEBANK AUSTRIA gemeinn. GmbH
Allwerk Bekleidung GmbH Striessing
EBG Gemeinn. Ein- und Mehrfamilienhäuser Baugenossenschaft reg. Gen. m. b. H.
VIDEBIS GmbH
Wiener Wohnen Haus- & Außenbetreuung GmbH
Rohrer Beteiligungs- und Verwaltungs GmbH
Untis GmbH
Expleo Group Austria GmbH
VBV - Betriebliche Altersvorsorge AG
Amt der NÖ Landesregierung
IGIT Information Technologies
schultes.IT
die Berater Unternehmungsberatungs GmbH
Jüdisches Berufliches Bildungszentrum (JBBZ)
MXR Productions GmbH
ECONOMA Engineering GmbH
Com One Austria GmbH
SPP Handelsges.m.b.H.
Consultatio Revision und Treuhand Steuerberatung GmbH & Co KG
ENGIE Austria GmbH
exceet Card Austria GmbH - Niederlassung Wien
ALBERTINA
Dokumentationsarchiv des österreichischen Widerstandes
Magistratsabteilung 2
Post Systemlogistik GmbH
Bundesamt für Eich- und Vermessungswesen (BEV)
TEAM 7 Natürlich Wohnen GmbH
Schattdecor AG
Doppler, E. doppler & Co. GmbH
Value Dimensions Management Services GmbH
BRAU UNION ÖSTERREICH AG
Magistratsabteilung 41 Stadtvermessung
pharm-analyt Labor GmbH
Vinzenz Gruppe Krankenhausbet.- und Management GmbH
BM für Bildung, Wissenschaft und Forschung
Institut für Höhere Studien - Institute for Advanced Studies (IHS)
Rephil Startup
ACP Holding Österreich GmbH
GAS CONNECT AUSTRIA GmbH
Bundesministerium für Landesverteidigung
MEDIA management GmbH
BENE GmbH
hac human asset consulting
RockLogic GmbH
nic.at GmbH
Stadtgemeinde Klosterneuburg
Hill Woltron Management Partner GmbH
Herba Chemosan Apotheker-AG
Mystery Minds GmbH
IT-Power Services GmbH
ORTNER Gebäudetechnik GmbH
mysoft e.U.
Prime Force GmbH
Pabeschitz Computer Consulting GmbH
NOELLA GmbH
Universität Wien, Fakultät Wirtschaftswissenschaften
SHARK GmbH
Regina Textilreinigungs GmbH
create-mediadesign GmbH
HCM ADVICE KG
Webschmiede GmbH
ZackZack.at c/o Bildungsverein Offene Gesellschaft
Joma Kunststofftechnik GmbH
woom Gmbh
metaconsulting gmbh
Lohnmin - Amy Holczmann
Racing Unleashed AG
ENEROX GMBH
PowerSolution Energieberatung GmbH
Altmüller GmbH
Korschineck & Partner Vermessung ZT-GmbH
4process AG
Ingram Micro GmbH
ENERCON GMBH
Trinity Bet Operations Ltd
room4 Softwareentwicklung OG
CODERS.BAY
GO Sharing Austria GmbH
internex GmbH
STI GmbH
DOT Telematik und Systemtechnik GmbH
HABAU Hoch- und Tiefbaugesellschaft m.b.H.
Karl Landsteiner Privatuniversität für Gesundheitswissenschaften GmbH
JobUp JU GmbH
Credi2 GmbH
Schaumann Holding GmbH
STRABAG SE
Lomnido GmbH
LivinFarms AgriFood GmbH
Donhauser GmbH
CWI Informationstechnologie GmbH
dox42 GmbH
Suchthilfe Wien gemeinnützige GmbH
AIoT Hub Gesmbh
Buffactory Media Ltd
Mona Naturprodukte GmbH
ASKIN & CO GmbH
Havel Healthcare GmbH
TRANSFER Planconsult Datentransfer und Anlagenconsulting GmbH
msg Plaut AG
ibis acam Bildungs GmbH
Coredat Business Solutions GmbH
videocity.bs
P50 GmbH
Volvo Group Austria GmbH
SecAttack GmbH
F.List GmbH
Neudoerfler Office Systems GmbH
EDV 2000 Systembetreuung GmbH
Grant Thornton Austria GmbH
Möbel Halter

256
data/countries.txt Normal file
View File

@ -0,0 +1,256 @@
Afghanistan
Ägypten
Aland
Albanien
Algerien
Amerikanische Jungferninseln
Amerikanisch-Samoa
Andorra
Angola
Anguilla
Antarktika
Antigua und Barbuda
Äquatorialguinea
Argentinien
Armenien
Aruba
Aserbaidschan
Äthiopien
Australien
Bahamas
Bahrain
Bangladesch
Barbados
Bassas da India
Belarus
Belgien
Belize
Benin
Bermuda
Bhutan
Bolivien
Bosnien und Herzegowina
Botsuana
Bouvetinsel
Brasilien
Britische Jungferninseln
Britisches Territorium im Indischen Ozean
Brunei Darussalam
Bulgarien
Burkina Faso
Burundi
Cabo Verde
Chile
China
Clipperton
Cookinseln
Costa Rica
Côte dIvoire
Dänemark
Deutschland
Dominica
Dominikanische Republik
Dschibuti
Ecuador
El Salvador
Eritrea
Estland
Eswatini
Europa
Falklandinseln
Färöer
Fidschi
Finnland
Frankreich
Frankreich (metropolitanes)
Französische Süd- und Antarktisgebiete
Französisch-Guayana
Französisch-Polynesien
Gabun
Gambia
Gazastreifen
Georgien
Ghana
Gibraltar
Glorieuses
Grenada
Griechenland
Grönland
Großbritannien
Guadeloupe
Guam
Guatemala
Guernsey
Guinea
Guinea-Bissau
Guyana
Haiti
Heard und McDonaldinseln
Honduras
Hongkong
Indien
Indonesien
Insel Man
Irak
Iran
Irland
Island
Israel
Italien
Jamaika
Japan
Jemen
Jersey
Jordanien
Juan de Nova
Kaimaninseln
Kambodscha
Kamerun
Kanada
Kasachstan
Katar
Kenia
Kirgisistan
Kiribati
Kleinere Amerikanische Überseeinseln
Kokosinseln (Keelinginseln)
Kolumbien
Komoren
Kongo
Kongo, Demokratische Republik
Korea, Demokratische Volksrepublik
Korea, Republik
Kroatien
Kuba
Kuwait
Laos
Lesotho
Lettland
Libanon
Liberia
Libyen
Liechtenstein
Litauen
Luxemburg
Macau
Madagaskar
Malawi
Malaysia
Malediven
Mali
Malta
Marokko
Marshallinseln
Martinique
Mauretanien
Mauritius
Mayotte
Mexiko
Mikronesien
Moldau
Monaco
Mongolei
Montenegro
Montserrat
Mosambik
Myanmar
Namibia
Nauru
Nepal
Neukaledonien
Neuseeland
Nicaragua
Niederlande
Niederländische Antillen
Niger
Nigeria
Niue
Nördliche Marianen
Nordmazedonien
Norfolkinsel
Norwegen
Oman
Österreich
Pakistan
Palau
Panama
Papua-Neuguinea
Paraguay
Peru
Philippinen
Pitcairninseln
Polen
Portugal
Puerto Rico
Réunion
Ruanda
Rumänien
Russische Föderation
Saint-Martin
Salomonen
Sambia
Samoa
San Marino
São Tomé und Príncipe
Saudi-Arabien
Schweden
Schweiz
Senegal
Serbien
Serbien und Montenegro
Seychellen
Sierra Leone
Simbabwe
Singapur
Slowakei
Slowenien
Somalia
Spanien
Spitzbergen
Sri Lanka
St. Barthelemy
St. Helena, Ascension und Tristan da Cunha
St. Kitts und Nevis
St. Lucia
St. Pierre und Miquelon
St. Vincent und die Grenadinen
Südafrika
Sudan
Südgeorgien und die Südlichen Sandwichinseln
Südsudan
Suriname
Syrien
Tadschikistan
Taiwan
Tansania
Thailand
Timor-Leste
Togo
Tokelau
Tonga
Trinidad und Tobago
Tromelin
Tschad
Tschechische Republik
Tunesien
Türkei
Turkmenistan
Turks- und Caicosinseln
Tuvalu
Uganda
Ukraine
Ungarn
Uruguay
Usbekistan
Vanuatu
Vatikanstadt
Venezuela
Vereinigte Arabische Emirate
Vereinigte Staaten
Vietnam
Wallis und Futuna
Weihnachtsinsel
Westjordanland
Westsahara
Zentralafrikanische Republik
Zypern

14
data/departmentnames.txt Normal file
View File

@ -0,0 +1,14 @@
Geschäftsleitung
EDV/IT
Personalwesen
Buchhaltung
Vertrieb
Marketing/Werbung
Produktentwicklung/Konstruktion
Produktion
Materialwirtschaft
Innerbetriebliche Verwaltung
Logistik
Planung und Steuerung von Produktionsabläufen
Beschaffung und Einkauf
eBusiness im Unternehmen

2842
data/firstnames.txt Normal file

File diff suppressed because it is too large Load Diff

1119
data/jobnames.txt Normal file

File diff suppressed because it is too large Load Diff

105
data/languages.txt Normal file
View File

@ -0,0 +1,105 @@
Afrikaans
Albanisch
Amharisch
Arabisch
Armenisch
Aserbaidschanisch
Bengalisch
Bhutanisch
Birmanisch
Bislama
Bosnisch
Bulgarisch
Chichewa
Chinesisch
Dänisch
Dari
Deutsch
Englisch
Estnisch
Fidschianisch
Filipino (Tagalog)
Finnisch
Französisch
Georgisch
Gilbertesisch
Griechisch
Guaraní
Haitianisch
Hebräisch
Hindi
Indonesisch
Irisch
Isländisch
Italienisch
Japanisch
Kambodschanisch
Kasachisch
Katalanisch
Kirgisisch
Kirundi
Koreanisch
Kroatisch
Kurdisch
Laotisch
Lateinisch
Lettisch
Litauisch
Madagassisch
Malaiisch
Maledivisch
Maltesisch
Maori
Marshallesisch
Mazedonisch
Mongolisch
Montenegrinisch
Nauruisch
Ndebele
Nepalesisch
Niederländisch
Nordsotho
Northern Ireland
Norwegisch
Palauisch
Persisch
Polnisch
Portugiesisch
Rätoromanisch
Republika Srbija
Rumänisch
Russisch
Samoanisch
Sango
Schwedisch
Serbisch
Singhalesisch
Slowakisch
Somali
Sotho
Spanisch
Suaheli
Südsotho
Swasi
Tadschikisch
Tamilisch
Tetum
Thailändisch
Tigrinja
Tok Pisin (Neomelanesisch)
Tongaisch
Tschechisch
Tsonga
Tsuana
Türkisch
Turkmenisch
Tuvalu(isch)
Ukrainisch
Ungarisch
Urdu
Usbekisch
Venda
Vietnamesisch
Weißrussisch
Xhosa
Zulu

2609
data/lastnames.txt Normal file

File diff suppressed because it is too large Load Diff

117
data/mediacategories.txt Normal file
View File

@ -0,0 +1,117 @@
Akustische Medien
Algebra
Alltagskompetenz
Andere Sprachen
Angewandte Biologie
Angewandte Kunst
Architektur
Arithmetik
Astrid Lindgren
Astronomie
Atlanten
Atlas
Belletristik
Berufsorientierung
Bestimmungsbuch
Bewegung&Sport
Bildnerische Kunst
Biografien
Biologie
BiologieÖkologie
Chemie
Coaching
Comic
Darstellende Kunst
Deutsch
EDV
Englisch
Epochen
ErnährungHaushalt
Erstes Lesen
Erwachsene
Erwachsenenliteratur
Ethik
Ethik&Soziales
Evolution
Fachliteratur
Forschen
Forschen Chemie
Forschen Physik
Gärtnern
Geografie
Geologie
Geometrie
Geschichte
Geschichte Mathematik
Gesellschaft
Gesundheit&Persönlichkeit
Grammatik
Hauptbibliothek
Haustier
Jugendliteratur
Jugendliteratur mit Geschichte
Kinderliteratur
Klima&Wetter
Kochbuch
Konstruktion
Konzentration
Kreativ
Kultur
Künstler und Kunst
Länder
Lebensräume
Lehrerhandbuch
Lesen
Lexikon
Lexikon/Bestimmungsbuch
Literatur
Literaturgeschichte
LÜK-Heft
Märchen und Sagen
Mathematik
Medien
Mensch
Meteorologie
Methoden&Arbeitstechniken
Motorik
Musik
Naturwissenschaften
Ökologie
Ökonomie
Persönlichkeiten
Pflanzen
Philosophie
Physik
PhysikChemie
Politik
Praktische Biologie
Praktische Chemie
Praktische Mathematik
Praktische Physik
Print-Medien
Rechtschreibung
Religion
Rhythmik
Rhytmik
Sachbuch
Schreiben
Schrift
Schulbuch
Skulptur
Soziologie
Spiel
Sport
Sprache
Tiere
Trainingsbuch
Tüftelbuch
Turnen
Unterrichtsmaterial
Visuelle Medien
Wahrnehmung
Weltkunde
Werkbuch
Werken
Werkstattmappe
Wörterbuch
Zeit

449
data/mediapublishers.txt Normal file
View File

@ -0,0 +1,449 @@
A.fröhlich
aare
AG Österreichischer Jugend- und Kinder Buchverleger
Agb
agrarverlag
ak wien
Altberliner
Amt d nö Landesreg
An der Ruhr
Andersen Press
Annette Betz
ANRICH
antis
arbor
archivproduktion
Arena
ARGE Sonnenuhrhaus
Ariola
Ars Edition
ars vivendi
arsEdition
astro media
at
at verlag
atrium
Auer
augustus verlag
av
Barnes & Noble
basl/detsch
basserman
bassermann
bastei
bastei lübbe
Bauer Verlag
Baumhaus
bbc
Bbücher
bechter münz verlag
bechtermünz
becker-kuns
bellami editore
Beltz
Beltz Praxis
beltz und gelberg
BELTZ&Gelberg
Belz
bender&co
benzinger edition
berlitz
Bertelsmann
Berttelsmann
Betman book
Bild
bilderbuchstudio
blendamed
Bloomsbury
BLV
bm:bwk
bmbwk
bmg
BMUK
boba
bohem press
Bohmann
bouquet
breitschopf
Brockhaus
Brunnen
btb
buch&welt
buch&zeit
Bücherbär
bücherzauber
buchklub gorilla
Bundeszentrale f….
cambridge
Candlewick Press
caran d'ache
Carl Hanser Verlag
Carlsen
Carlsen Comics
Carlsen Manga
cbj
cda
cdv/atrium
Cecilie Dressler Verlag
christian
Christian Verlag
christophorus
clare
club
Collins
concolino
coppenrath
cornelsen
cornelsen software
Czernin Verlag
DACHS VERLAG
Danone
Das Beste
de agostini
Delphin
Der Kinderbuchverlag
Deutsche Grammophon
Deutscher Taschenbuch Verlag
diesterweg
Dino Comics
Diogenes
Disney
DK
dk games
donauinstitut
Donauland
Dorling Kindersle
Dorling Kindersley
drava
DRESSLER
droemer knaur
Druck Walla
Druckerei Berger
dtv
dtv junior
duden
dumont
e.dorner
E.Dorner Verlag
eaue wien
ed
ed.hölzel
edition helbling
edition q
edition riesenrad
elbemühl gesmbh.
Elefanten Press
Ellermann
Eloquence
emi
Engelbert-Verlag
englisch verlag
ensslin
Eslinger
Esslinger
Evangelischer Presseverband Österreich
Falken
findling
Fischer Taschenbuch Verlag
Fleurur Wissen
fleurus
Fleurus Idee
Fontana
Franckh
Franklin Watts
frechverlag
Freies Geistesleben
Freytag&Berndt
freytag-berndt
fric&fric
Gabriel
Garandache
Generali
GEO
Georg Bitter Verlag
Gerstenberg
Golden book
Goldmann
Gondrom
Gorilla
gu
GU Kompas
Gulliver
hallwag verlag
Harper Trophy
Harrington Park Press
Hase und Igel
Hase&Igel
Haupt
Heel
hemisync
Herder
Herder Spektrum
Herdt
herold
herzfeld
Heyne
hirschgraben
hnh.com
hoanzl
Hodder Children's Books
Hölzel
holzhausen
hörcompany
Horizont
hörzu wisseninteraktiv
hpt
hpthek
Hügelscheffer
hugendubel
hüthig
hyperion
igel
infomnibus
Insel
ivo haas
J&V
Jako-o
jungbrunnen
Junior Katalog
K&S
Kabel
kaiser
karl voegels
Karlhansen
kärntner druckerei
kbv
kbv LUZERN
kerle
kfm
Kiepenheuer & Witsch
Kindermann
Kingfisher
kinowelt
Kiwi
Klett
klett cotta
Klopp
knaur
Knesebeck
köhnenalternativ
köhnendekorativ
köla
kompass
könemann
kosmos
kreativ
kremayr&schierau
Kreuz
kthv
Kurfürst
Kurfürst Verlag
kynos
L.schwann
Ladybird
laju wien
Langenscheidt
Lappan
Lebendiges Wort
leipzig
leoganger kinderkultur
leopold stocher
leykam
Life Verlag
LILLA GORILLA
literateam
Loewe
loewe verlag
luchterhand
luzern
m.toman
Macmillan
magna sound
manz
media
Melzer Druck
mentor
meyer
meyers
Meyster
microsoft
Middelhauve
middelhauvei
middlehauve
ministerium für gesundheit, soziales, frauen und familie NRW
Modernes Leben
moewig
molden
Moses
Müller
naturbuch
naumann & goebel
naumann&göbel
naxos
Neuer Breitschopf Verlag
neugebauer
neugebauer press
Niederösterreich
NÖ Landesakademie
nord-süd
noris
np
nrw
nymphenburger
Ö. Bundsesverlag
öamtc
Obelisk Verlag
oberste brink
Obv
ÖBV
öbv hbt
öbv&hpt
Oetinger
oetinger audio
oetinger interaktiv
Ohne Verlag
Öko log
ökobuch
Ökotopia
Oldenbourg
oldenburg
OMNIBUS
oppermann
orbis
Orchard
orf
Östereichische Bibelgesellschaft
otto maier
Otto maier verlag
Ouldenbourg
oxford books
Oxford Bookworms Libary
OZ Velber
OZ Verlag
Paetec
Pan
Parragan
parragon
Patmos
Pattloch
pb
PenguinPlays
pestalozzi
Peter Hammer
Peter Hammer Verlag
peters kinderbuch
picus
pine point record company
piper
Pisture Puffins
pm history
pons
prestel
Psychologie Verlag Union
pubicationPN°1
punkt
Putnam
Quintessenz Verlags GmbH
raabe
rauch
Ravensburger
ravensburger buchverlag
Reclam
Reniets Verlag
rex Verlag
rororo
Rotfuchs
Rötzer druk
Rowohlt
royal classics
Ruhr
Running Press
salzburger jugendverlag
schaffmann&kluge
schatzinsel
Scherz
Scholastic
Schroedel
schubert&franzke
Schubi Training
schwarzkopf&schwarzkopf
seitz
sigloch edition
simon druez
SKV-Edition
sony
spectra
spiegel online
St. Gabriel
steinberg
Strich Punkt
Struik
Süddeutsche Zeitung Junge Bibliothek
südverlag
südwest
südwest verlag
Suhrkamp
t&h
tandem
tappeiner verlag
taschen
Tecklenborg
terzio
Tessloff
Tessloff Verlag
Theiss Werlag
Thienemann
Thorsons
time life
toja
tosa
Tyrolia-Verlag
Uebereuter
Ueberreter
Ueberreuter
Ullmann
Ullstein
unicef
union
Unionsverlag Sansibar
Universal Press Syndicate
universum film
Urachhaus
Usborne
VAK Verlag für Angewandte Kinesiologie
valve hearts
Velber
Veritas
Verlag an der Ruhe
Verlag an der Ruhr
Verlag AOL
Verlag Ernst Kaufmann
Verlag Freies Geistesleben
Verlag Grosser
Verlag hpt
Verlag ivo haas
Verlag Österreichisches Katholisches Bibelwerk Klosterneuburg
Verlag Sauerländer
Verlag St. Gabriel
vml verlag modernes lernen
VNS
Vocabfun
w.taman
Walker Books
walter hädecke
Warne
warner
Weber Verlag
weltbild
westermann
westermann wien
Westermann Wien, LÜK
Wirtschaftskammer Österreich
Wissen
Wolfgang Mann
Zweitausendeins
Zytglogge
Zytglogge werkbuch
Zytglogge/WWF

1986
data/mediatitles.txt Normal file

File diff suppressed because it is too large Load Diff

8
data/mediatypes.txt Normal file
View File

@ -0,0 +1,8 @@
Buch
CD
DVD
Kassettte
VHS
Zeitschrift
Blue-Ray
Spiel

1424
data/places.txt Normal file

File diff suppressed because it is too large Load Diff

1187
data/professions.txt Normal file

File diff suppressed because it is too large Load Diff

89
data/rentalequipment.txt Normal file
View File

@ -0,0 +1,89 @@
Abbruchhammer (elektr. / Benzin)
Akku-Bohrhammer , zb f Beton
Akku-Winkelschleifer
Auftaugerät
Bandschleifer
Belagentferner (Stripper oder Fräse)
Betonmischer (120 l)
Betonrüttler (Flaschenrüttler)
Bohrhammer (5 - 100 mm ø)
Brunnenpumpe (Hand)
Brunnenschlaggerät (elektr. / Benzin)
Diamant-Steinsäge (div. Modelle)
Einfriergerät (bis 5/4")
Einscheibenschleifgerät
Entfeuchtungsgerät
Erdbohrer (Benzin) 10/15/20 cm*)
Erdbohrer (Hand) 10/15/20 cm
Erdungs-Schlaggerät
Estrichfräse 200 mm
Eternitschneider
Fischerlmaschine
Flaschenrüttler
Fliesenschneider (bis 1.200 mm)
Fliesenschneider (elektr. bis 1.500 mm)
Fußbodenrandmaschine
Fußbodenschleifer
Gartenwalze
Grabenfräse (für ca. 10x30 cm BxT)
Häcksler (- 5 cm Ø)
Handkreissäge + Führungsschiene
Heckenschere (elektr.)
Heftpistole (elektr.)
Heizgerät (elektr.)
Heizkanone (Gas)
Hobelmaschine 80 mm
Hochdruckreiniger
Hochgrasmäher
Holzspalter 8T 380 V
Kabelfräse für Mähroboter
Kapp- und Gehrungssäge
Kernbohrgerät (- 250 mm)
Kettensäge (elektr. / Benzin)
Kettenzug
Kompressor 230 V / 220 l
Kompressor 400 V / 500 l
Laminatschneider
Leiter ca. 10 m Arbeitshöhe
Mauerfräse 2 - 10 cm (auch mit Sauger für Beton)
Motorfräse
Motorhacke
Motorsense
Muffenschweißgerät
Nass-Schneidegerät (div. Modelle)
Notstromgerät 2 bis 10 kW
Palettenhubwagen
Paneelsäge
Parkettbodenschleifer
Plattenrüttler
Plattenschneider (bis 1.500 mm)
Plattenstampfer
Poliermaschine
Prüfpumpe für Wasserleitung
Rasenmäher, Benzin
Rohrreiniger (E-Feder)
Rohrschneider (60 mm)
Rührwerk
Sackrodel
Schneidkluppe (elektr. - 2")
Schweiß-Inverter
Staubsauger
Steinspalter für Betonsteine
Stemmhammer (Boden / Wand)
Stichsäge
Streuwagen
Stripper (E-Abziehspachtel für Teppiche, Beläge)
Südbahnwinde
Tapetenlöser (Dampfgerät)
Tauchpumpe 17 m3/h
Tellerschleifer (400 Ø)
Teppichentferner
Teppichreinigungsgerät
Transportrodel
Verlängerungskabel 230 V / 400 V
Vertikutierer (elektr. / Benzin)
Waschmaschine für Böden
Wassersauger
Winkelbohrmaschine
Winkelpolierer
Winkelschleifer

1769
data/streets.txt Normal file

File diff suppressed because it is too large Load Diff

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More