init
1
.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
||||
out/
|
3
.idea/.gitignore
generated
vendored
Normal file
@ -0,0 +1,3 @@
|
||||
# Default ignored files
|
||||
/shelf/
|
||||
/workspace.xml
|
8
.idea/artifacts/noEasyDB.xml
generated
Normal 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
@ -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
@ -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
@ -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
@ -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
@ -0,0 +1,3 @@
|
||||
Manifest-Version: 1.0
|
||||
Main-Class: at.fos.ermodel.gui.A1
|
||||
|
BIN
applicationimages/attr_conn_attr.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
applicationimages/attr_conn_es.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
applicationimages/attr_conn_rs.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
BIN
applicationimages/attr_derived_multi_value.png
Normal file
After Width: | Height: | Size: 8.9 KiB |
BIN
applicationimages/attr_derived_one_value.png
Normal file
After Width: | Height: | Size: 5.3 KiB |
BIN
applicationimages/attr_key_value.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
BIN
applicationimages/attr_multi_value.png
Normal file
After Width: | Height: | Size: 5.7 KiB |
BIN
applicationimages/attr_one_value.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
applicationimages/attr_weak_key_value.png
Normal file
After Width: | Height: | Size: 5.0 KiB |
BIN
applicationimages/erdlogo.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
applicationimages/es.png
Normal file
After Width: | Height: | Size: 2.0 KiB |
BIN
applicationimages/es_associative.png
Normal file
After Width: | Height: | Size: 4.7 KiB |
BIN
applicationimages/es_weak.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
applicationimages/rs.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
applicationimages/rs_conn_es.png
Normal file
After Width: | Height: | Size: 6.1 KiB |
BIN
applicationimages/rs_id.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
applicationimages/rs_id_conn_es.png
Normal file
After Width: | Height: | Size: 7.7 KiB |
BIN
applicationimages/rs_id_conn_es_weak.png
Normal file
After Width: | Height: | Size: 9.0 KiB |
BIN
applicationimages/rs_isa.png
Normal file
After Width: | Height: | Size: 5.1 KiB |
BIN
applicationimages/rs_isa_conn_general_es.png
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
applicationimages/rs_isa_conn_special_es.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
applicationimages/text.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
applicationimages/text_without_border.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
BIN
applicationimages/tree_close.png
Normal file
After Width: | Height: | Size: 542 B |
BIN
applicationimages/tree_open.png
Normal file
After Width: | Height: | Size: 551 B |
18
at/fos/ermodel/gui/A1.java
Normal 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
@ -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
180
at/fos/ermodel/gui/A4.java
Normal 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
@ -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
@ -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
@ -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
@ -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
@ -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
@ -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
157
at/fos/ermodel/gui/C1.java
Normal 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
@ -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
@ -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
@ -0,0 +1,917 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
import java.io.BufferedReader;
|
||||
import java.io.FileInputStream;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.InputStreamReader;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.HashSet;
|
||||
import javafx.application.Platform;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class C4
|
||||
{
|
||||
private String databaseName;
|
||||
private ArrayList<T1> tables;
|
||||
private StringBuffer sqlScript;
|
||||
|
||||
public C4(String databaseName) {
|
||||
this.databaseName = databaseName;
|
||||
this.tables = new ArrayList<>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean addTable(T1 table) {
|
||||
if (this.tables.contains(table)) return true;
|
||||
return !this.tables.add(table);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void removeTable(T1 table) {
|
||||
this.tables.remove(table);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String getDatabaseName() {
|
||||
return this.databaseName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setDatabaseName(String databaseName) {
|
||||
this.databaseName = databaseName;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public String toString() {
|
||||
return "RM_Database [databaseName=" + this.databaseName + ", tables=" + this.tables + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public ArrayList<T1> getTables() {
|
||||
return this.tables;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void setTables(ArrayList<T1> tables) {
|
||||
this.tables = tables;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void sortByTableName() {
|
||||
Collections.sort(this.tables);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private String addChars() {
|
||||
return String.valueOf(' ').repeat(5);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public StringBuffer create_MS_SQL_Script(boolean createInsertStatements, boolean addCDToDBName, boolean singeInserts) throws ZZ20 {
|
||||
LocalDate today = LocalDate.now();
|
||||
String currentDate = today.getYear() + (
|
||||
(today.getMonthValue() < 10) ? ("0" + today.getMonthValue()) : ""+ today.getMonthValue()) + (
|
||||
(today.getDayOfMonth() < 10) ? ("0" + today.getDayOfMonth()) : ""+ today.getDayOfMonth());
|
||||
|
||||
|
||||
if (addCDToDBName) this.databaseName = this.databaseName + currentDate;
|
||||
|
||||
|
||||
this.databaseName = T3.replaceSpecialChars(this.databaseName);
|
||||
|
||||
|
||||
this.databaseName = this.databaseName.toLowerCase();
|
||||
|
||||
|
||||
this.sqlScript = new StringBuffer();
|
||||
|
||||
this.sqlScript.append("-- #######################################################\n");
|
||||
this.sqlScript.append("-- auto generated ddl-script ###########################\n");
|
||||
this.sqlScript.append("-- generated sql creation script for ER model\n");
|
||||
this.sqlScript.append("-- switch autocommit off\n");
|
||||
this.sqlScript.append("set implicit_transactions off;\n");
|
||||
this.sqlScript.append("-- database-#############################################\n");
|
||||
this.sqlScript.append("use master;\n");
|
||||
this.sqlScript.append("drop database if exists ").append(this.databaseName).append(";").append("\n");
|
||||
this.sqlScript.append("create database ").append(this.databaseName).append(";").append("\n");
|
||||
this.sqlScript.append("go \n");
|
||||
this.sqlScript.append("use ").append(this.databaseName).append(";").append("\n");
|
||||
|
||||
this.sqlScript.append("-- tables-#################################################\n");
|
||||
for (T1 table : this.tables) {
|
||||
this.sqlScript = this.sqlScript.append("-- table ").append(table.getTablename()).append("\n");
|
||||
this.sqlScript = this.sqlScript.append("create table ").append(table.getTablename()).append("(").append("\n");
|
||||
StringBuilder keypart = new StringBuilder("primary key(");
|
||||
|
||||
int autoincrementCounter = 0;
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
keypart.append(column.isKey() ? (column.getColumnName() + ",") : "");
|
||||
this.sqlScript = this.sqlScript.append(addChars()).append(column.getColumnName()).append(" ").append(column.getDatatype()).append(column.isKey() ? " not null" : "").append((
|
||||
!column.isKey() && !column.isNullable()) ? " not null" : "").append(column.isAutoincrement() ? (" identity (" + column.getAutoincrementStartAt() + ",1) ") : "").append(column.isUnique() ? " unique" : "").append(",").append("\n");
|
||||
if (column.isAutoincrement()) {
|
||||
autoincrementCounter++;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
keypart = new StringBuilder(keypart.substring(0, keypart.length() - 1));
|
||||
keypart.append(")").append("\n");
|
||||
this.sqlScript = this.sqlScript.append(addChars()).append(keypart).append(")");
|
||||
this.sqlScript.append(";\n\n");
|
||||
if (autoincrementCounter != 1)
|
||||
{
|
||||
|
||||
if (autoincrementCounter > 1) {
|
||||
throw new ZZ20("There is only one autoincrement value allowed, and it must be the key. Table: " + table.getTablename());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (createInsertStatements) {
|
||||
try {
|
||||
allTablesSetForGeneration();
|
||||
allColumnsSetForGeneration();
|
||||
} catch (ZZ20 ex) {
|
||||
throw new ZZ20(ex.getMessage());
|
||||
}
|
||||
createInsertStatements(this.sqlScript, singeInserts, false);
|
||||
}
|
||||
|
||||
|
||||
this.sqlScript.append("\n-- foreign keys-#################################################\n");
|
||||
for (T1 table : this.tables) {
|
||||
|
||||
ArrayList<C3> fkColumns = new ArrayList<>();
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
if (column.getReferencesTo() != null) fkColumns.add(column);
|
||||
}
|
||||
if (fkColumns.size() == 0) {
|
||||
continue;
|
||||
}
|
||||
|
||||
HashSet<String> tableNamesInfkColumns = new HashSet<>();
|
||||
for (C3 fksamecol : fkColumns) {
|
||||
tableNamesInfkColumns.add(fksamecol.getReferencesTo().tablename());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
ArrayList<C3> equalColumnsBecauseRecursive = new ArrayList<>();
|
||||
for (int i = 0; i < fkColumns.size(); i++) {
|
||||
for (int j = i + 1; j < fkColumns.size(); j++) {
|
||||
if (fkColumns.get(i).getReferencesTo().tablename().equals(fkColumns.get(j).getReferencesTo().tablename()) && fkColumns.get(i).getReferencesTo().columnname().equals(fkColumns.get(j).getReferencesTo().columnname())) {
|
||||
equalColumnsBecauseRecursive.add(fkColumns.get(i));
|
||||
equalColumnsBecauseRecursive.add(fkColumns.get(j));
|
||||
}
|
||||
}
|
||||
}
|
||||
for (C3 col : equalColumnsBecauseRecursive) {
|
||||
this.sqlScript = this.sqlScript.append("alter table ").append(table.getTablename()).append("\n");
|
||||
this.sqlScript.append("add foreign key (");
|
||||
this.sqlScript = this.sqlScript.append(col.getColumnName()).append(")").append(" references ").append(col.getReferencesTo().tablename()).append("(").append(col.getReferencesTo().columnname()).append(")").append(" on delete no action on update no action;\n");
|
||||
|
||||
tableNamesInfkColumns.remove(col.getReferencesTo().tablename());
|
||||
}
|
||||
|
||||
|
||||
for (String tableName : tableNamesInfkColumns) {
|
||||
|
||||
this.sqlScript = this.sqlScript.append("alter table ").append(table.getTablename()).append("\n");
|
||||
this.sqlScript.append("add foreign key (");
|
||||
StringBuilder columnsOrig = new StringBuilder();
|
||||
StringBuilder refColumns = new StringBuilder(" references " + tableName + "(");
|
||||
for (C3 fkcolumn : fkColumns) {
|
||||
if (tableName.equals(fkcolumn.getReferencesTo().tablename())) {
|
||||
columnsOrig.append(fkcolumn.getColumnName()).append(",");
|
||||
refColumns.append(fkcolumn.getReferencesTo().columnname()).append(",");
|
||||
}
|
||||
}
|
||||
columnsOrig = new StringBuilder(columnsOrig.substring(0, columnsOrig.length() - 1));
|
||||
columnsOrig.append(")");
|
||||
refColumns = new StringBuilder(refColumns.substring(0, refColumns.length() - 1));
|
||||
refColumns.append(")");
|
||||
this.sqlScript.append(columnsOrig).append(refColumns).append(" on delete no action on update no action;\n");
|
||||
}
|
||||
this.sqlScript.replace(this.sqlScript.length() - 2, this.sqlScript.length(), ";\n");
|
||||
}
|
||||
|
||||
this.sqlScript.append("-- commit all changes\n");
|
||||
this.sqlScript.append("commit;");
|
||||
|
||||
return this.sqlScript;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public StringBuffer create_MySQL_Script(boolean createInsertStatements, boolean addCDToDBName, boolean singeInserts) throws ZZ20 {
|
||||
LocalDate today = LocalDate.now();
|
||||
String currentDate = today.getYear() + (
|
||||
(today.getMonthValue() < 10) ? ("0" + today.getMonthValue()) : ""+ today.getMonthValue()) + (
|
||||
(today.getDayOfMonth() < 10) ? ("0" + today.getDayOfMonth()) : ""+ today.getDayOfMonth());
|
||||
|
||||
|
||||
if (addCDToDBName) this.databaseName = currentDate + this.databaseName;
|
||||
|
||||
|
||||
this.databaseName = T3.replaceSpecialChars(this.databaseName);
|
||||
|
||||
|
||||
this.databaseName = this.databaseName.toLowerCase();
|
||||
|
||||
this.sqlScript = new StringBuffer();
|
||||
|
||||
this.sqlScript.append("-- #######################################################\n");
|
||||
this.sqlScript.append("-- auto generated ddl-script ###########################\n");
|
||||
this.sqlScript.append("-- generated sql creation script for ER model\n");
|
||||
this.sqlScript.append("-- database-#############################################\n");
|
||||
this.sqlScript.append("drop database if exists ").append(this.databaseName).append(";").append("\n");
|
||||
this.sqlScript.append("create database ").append(this.databaseName).append(";").append("\n");
|
||||
this.sqlScript.append("use ").append(this.databaseName).append(";").append("\n");
|
||||
this.sqlScript.append("-- switch autocommit off\n");
|
||||
this.sqlScript.append("set autocommit=0;\n");
|
||||
|
||||
this.sqlScript.append("-- tables-#################################################\n");
|
||||
for (T1 table : this.tables) {
|
||||
this.sqlScript = this.sqlScript.append("-- table ").append(table.getTablename()).append("\n");
|
||||
this.sqlScript = this.sqlScript.append("create table ").append(table.getTablename()).append("(").append("\n");
|
||||
StringBuilder keypart = new StringBuilder("primary key(");
|
||||
|
||||
int autoincrementCounter = 0;
|
||||
long holdAutoincrementStartAt = 1L;
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
keypart.append(column.isKey() ? (column.getColumnName() + ",") : "");
|
||||
this.sqlScript = this.sqlScript.append(addChars()).append(column.getColumnName()).append(" ").append(column.getDatatype()).append(column.isKey() ? " not null" : "").append((
|
||||
!column.isKey() && !column.isNullable()) ? " not null" : "").append(column.isAutoincrement() ? " auto_increment " : "").append(column.isUnique() ? " unique" : "").append(",").append("\n");
|
||||
if (column.isAutoincrement()) {
|
||||
autoincrementCounter++;
|
||||
holdAutoincrementStartAt = column.getAutoincrementStartAt();
|
||||
}
|
||||
}
|
||||
|
||||
keypart = new StringBuilder(keypart.substring(0, keypart.length() - 1));
|
||||
keypart.append(")").append("\n");
|
||||
this.sqlScript = this.sqlScript.append(addChars()).append(keypart).append(")");
|
||||
if (autoincrementCounter == 1) {
|
||||
this.sqlScript.append("auto_increment=").append(holdAutoincrementStartAt);
|
||||
}
|
||||
else if (autoincrementCounter > 1) {
|
||||
throw new ZZ20("There is only one autoincrement value allowed, and it must be the key. Table: " + table.getTablename());
|
||||
}
|
||||
this.sqlScript.append(";\n\n");
|
||||
}
|
||||
|
||||
|
||||
if (createInsertStatements) {
|
||||
try {
|
||||
allTablesSetForGeneration();
|
||||
allColumnsSetForGeneration();
|
||||
} catch (ZZ20 ex) {
|
||||
throw new ZZ20(ex.getMessage());
|
||||
}
|
||||
|
||||
createInsertStatements(this.sqlScript, singeInserts, true);
|
||||
}
|
||||
|
||||
|
||||
this.sqlScript.append("\n-- foreign keys-#################################################\n");
|
||||
for (T1 table : this.tables) {
|
||||
|
||||
ArrayList<C3> fkColumns = new ArrayList<>();
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
if (column.getReferencesTo() != null) fkColumns.add(column);
|
||||
}
|
||||
if (fkColumns.size() == 0)
|
||||
continue; this.sqlScript = this.sqlScript.append("alter table ").append(table.getTablename()).append("\n");
|
||||
|
||||
|
||||
HashSet<String> tableNamesInfkColumns = new HashSet<>();
|
||||
for (C3 fksamecol : fkColumns) {
|
||||
tableNamesInfkColumns.add(fksamecol.getReferencesTo().tablename());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
ArrayList<C3> equalColumnsBecauseRecursive = new ArrayList<>();
|
||||
for (int i = 0; i < fkColumns.size(); i++) {
|
||||
for (int j = i + 1; j < fkColumns.size(); j++) {
|
||||
if (fkColumns.get(i).getReferencesTo().tablename().equals(fkColumns.get(j).getReferencesTo().tablename()) && fkColumns.get(i).getReferencesTo().columnname().equals(fkColumns.get(j).getReferencesTo().columnname())) {
|
||||
equalColumnsBecauseRecursive.add(fkColumns.get(i));
|
||||
equalColumnsBecauseRecursive.add(fkColumns.get(j));
|
||||
}
|
||||
}
|
||||
}
|
||||
for (C3 col : equalColumnsBecauseRecursive) {
|
||||
this.sqlScript.append("add foreign key (");
|
||||
this.sqlScript = this.sqlScript.append(col.getColumnName()).append(")").append(" references ").append(col.getReferencesTo().tablename()).append("(").append(col.getReferencesTo().columnname()).append(")").append(" on delete restrict on update restrict,\n");
|
||||
|
||||
tableNamesInfkColumns.remove(col.getReferencesTo().tablename());
|
||||
}
|
||||
|
||||
|
||||
for (String tableName : tableNamesInfkColumns) {
|
||||
|
||||
this.sqlScript.append("add foreign key (");
|
||||
StringBuilder columnsOrig = new StringBuilder();
|
||||
StringBuilder refColumns = new StringBuilder(" references " + tableName + "(");
|
||||
for (C3 fkcolumn : fkColumns) {
|
||||
if (tableName.equals(fkcolumn.getReferencesTo().tablename())) {
|
||||
columnsOrig.append(fkcolumn.getColumnName()).append(",");
|
||||
refColumns.append(fkcolumn.getReferencesTo().columnname()).append(",");
|
||||
}
|
||||
}
|
||||
columnsOrig = new StringBuilder(columnsOrig.substring(0, columnsOrig.length() - 1));
|
||||
columnsOrig.append(")");
|
||||
refColumns = new StringBuilder(refColumns.substring(0, refColumns.length() - 1));
|
||||
refColumns.append(")");
|
||||
this.sqlScript.append(columnsOrig).append(refColumns).append(" on delete restrict on update restrict,\n");
|
||||
}
|
||||
this.sqlScript.replace(this.sqlScript.length() - 2, this.sqlScript.length(), ";\n");
|
||||
}
|
||||
|
||||
this.sqlScript.append("-- commit all changes\n");
|
||||
this.sqlScript.append("commit;");
|
||||
|
||||
return this.sqlScript;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void allColumnsSetForGeneration() throws ZZ20 {
|
||||
for (T1 table : this.tables) {
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
|
||||
if (!column.isNullable() &&
|
||||
!column.isAutoincrement() && column.getReferencesTo() == null && (
|
||||
column.dataGenerationType == null || column.dataGenerationType.equals("No"))) {
|
||||
throw new ZZ20("There are unset columns for insert statement generation:" + column.getColumnName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void allTablesSetForGeneration() throws ZZ20 {
|
||||
for (T1 table : this.tables) {
|
||||
if (!table.isCreateInserts()) {
|
||||
throw new ZZ20("Table is not set for generating inserts:" + table.getTablename());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private String generateRandomValue(C3 column) throws ZZ20 {
|
||||
String randomValue;
|
||||
try { String[] datumteil; LocalDate from, till; String str;
|
||||
switch ((str = column.dataGenerationType).hashCode()) {
|
||||
case -1601184309 -> {
|
||||
if (!str.equals("Random Boolean")) {
|
||||
break;
|
||||
}
|
||||
randomValue = T3.getRandomBoolean();
|
||||
return randomValue;
|
||||
}
|
||||
case -123632396 -> {
|
||||
if (!str.equals("Random Decimal")) break;
|
||||
randomValue = T3.getRandomDecimal(Integer.parseInt(column.par1), Integer.parseInt(column.par2));
|
||||
return randomValue;
|
||||
}
|
||||
case 292156129 -> {
|
||||
if (!str.equals("Random Integer")) break;
|
||||
if (Integer.parseInt(column.par1) >= Integer.parseInt(column.par2))
|
||||
throw new ZZ20("Column: " + column.getColumnName() + "\n" + "For Random Integer generation: from < till");
|
||||
randomValue = T3.getRandomInteger(Integer.parseInt(column.par1), Integer.parseInt(column.par2));
|
||||
return randomValue;
|
||||
}
|
||||
case 908695787 -> {
|
||||
if (!str.equals("Random Date")) break;
|
||||
datumteil = column.par1.split("\\.");
|
||||
from = LocalDate.of(Integer.parseInt(datumteil[2]), Integer.parseInt(datumteil[1]), Integer.parseInt(datumteil[0]));
|
||||
datumteil = column.par2.split("\\.");
|
||||
till = LocalDate.of(Integer.parseInt(datumteil[2]), Integer.parseInt(datumteil[1]), Integer.parseInt(datumteil[0]));
|
||||
randomValue = T3.getRandomDate(from, till);
|
||||
return randomValue;
|
||||
}
|
||||
case 909176426 -> {
|
||||
if (!str.equals("Random Text")) break;
|
||||
randomValue = T3.getRandomTextGivenLength(Integer.parseInt(column.par1));
|
||||
return randomValue;
|
||||
}
|
||||
case 2089790400 -> {
|
||||
if (!str.equals("Extern")) break;
|
||||
randomValue = T3.getRandomData(column.dataGenerationType, column.par1);
|
||||
return randomValue;
|
||||
}
|
||||
}
|
||||
randomValue = T3.getRandomData(column.dataGenerationType, null); } catch (NumberFormatException nfe) { throw new ZZ20("Column: " + column.getColumnName() + "\n" + "There is a data conversion problem: " + column.par1 + "/" + column.par2); } return randomValue;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private int getNumberValuesOfRandomData(C3 column) {
|
||||
ArrayList<String> randomDataAsList;
|
||||
if (column.dataGenerationType.equals("Extern")) {
|
||||
randomDataAsList = T3.randomData.get(column.par1);
|
||||
if (randomDataAsList == null) {
|
||||
T3.readRandomData("Extern", column.par1);
|
||||
randomDataAsList = T3.randomData.get(column.par1);
|
||||
}
|
||||
} else {
|
||||
randomDataAsList = T3.randomData.get(column.dataGenerationType);
|
||||
} if (randomDataAsList != null) return randomDataAsList.size();
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
private void createFilehandleForExternalDataSources() throws ZZ20 {
|
||||
for (T1 table : this.tables) {
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
if (column.dataGenerationType == null ||
|
||||
!column.dataGenerationType.equals("Extern"))
|
||||
continue; BufferedReader br = C2.randomDataFilesExtern.get(column.par1);
|
||||
if (br == null) {
|
||||
|
||||
BufferedReader fr;
|
||||
try {
|
||||
fr = new BufferedReader(new InputStreamReader(new FileInputStream(column.par2), StandardCharsets.UTF_8));
|
||||
|
||||
C2.randomDataFilesExtern.put(column.par1, fr);
|
||||
} catch (FileNotFoundException e) {
|
||||
|
||||
throw new ZZ20("There is a problem with an external datasource:" + column.getColumnName());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void createDependency() {
|
||||
for (T1 table : this.tables) {
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
if (column.getReferencesTo() != null) {
|
||||
String tablename = column.getReferencesTo().tablename();
|
||||
T1 dependsOn = getTableGivenTablename(tablename);
|
||||
table.addTableDepdendentOn(dependsOn);
|
||||
|
||||
assert dependsOn != null;
|
||||
ArrayList<C3> keyColumns = dependsOn.getKeyColumns();
|
||||
|
||||
table.getColumnsOfDependentOnTable().put(dependsOn, keyColumns);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private HashMap<String, ArrayList<String>> initializeColumns() {
|
||||
HashMap<String, ArrayList<String>> holdValues = new HashMap<>();
|
||||
for (T1 table : this.tables) {
|
||||
|
||||
if (!table.isCreateInserts())
|
||||
continue; for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
|
||||
|
||||
if (column.dataGenerationType != null && column.dataGenerationType.equals("No") && column.isNullable())
|
||||
continue; holdValues.put(table.getTablename() + "." + column.getColumnName(), null);
|
||||
}
|
||||
}
|
||||
return holdValues;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private T1 getTableGivenTablename(String tablename) {
|
||||
for (T1 table : this.tables) {
|
||||
if (table.getTablename().equals(tablename)) return table;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private boolean allColumnValuesCreated(HashMap<String, ArrayList<String>> columnValues) {
|
||||
int counter = 0;
|
||||
for (T1 table : this.tables) {
|
||||
|
||||
if (!table.isCreateInserts())
|
||||
continue; for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
ArrayList<String> values = columnValues.get(table.getTablename() + "." + column.getColumnName());
|
||||
if (values != null && values.size() > 0) counter++;
|
||||
}
|
||||
}
|
||||
return counter >= columnValues.size();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private void allDependentCreated(T1 table, HashMap<String, ArrayList<String>> createdColumns) {
|
||||
for (T1 dependsOn : table.getDependsOnTable()) {
|
||||
for (C3 column : dependsOn.getSkjdfhgdskjf674534()) {
|
||||
if (column.isKey()) {
|
||||
ArrayList<String> values = createdColumns.get(dependsOn.getTablename() + "." + column.getColumnName());
|
||||
if (values == null) return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
private HashMap<String, ArrayList<String>> createColumnValues() throws ZZ20 {
|
||||
Platform.runLater(() -> V1.thisActionMessageDialog.getShowFilename().setText("create column values"));
|
||||
|
||||
|
||||
|
||||
HashMap<String, ArrayList<String>> columnValues = initializeColumns();
|
||||
|
||||
createFilehandleForExternalDataSources();
|
||||
|
||||
|
||||
boolean done = false;
|
||||
|
||||
|
||||
createDependency();
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
while (!done) {
|
||||
for (T1 table : this.tables) {
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
|
||||
if (column.isNullable() && column.dataGenerationType != null && column.dataGenerationType.equals("No"))
|
||||
continue;
|
||||
ArrayList<String> values = new ArrayList<>();
|
||||
|
||||
boolean valuesExist = true;
|
||||
ArrayList<String> checkValues = columnValues.get(table.getTablename() + "." + column.getColumnName());
|
||||
if (checkValues == null) valuesExist = false;
|
||||
|
||||
if (column.isKey() && column.isAutoincrement() && !valuesExist) {
|
||||
long autoincrementStartAt = column.getAutoincrementStartAt();
|
||||
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
|
||||
values.add(String.valueOf(autoincrementStartAt++));
|
||||
|
||||
}
|
||||
}
|
||||
else if (column.isKey() && column.getReferencesTo() == null && !valuesExist) {
|
||||
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
|
||||
String randomValue = generateRandomValue(column);
|
||||
|
||||
values.add(String.valueOf(randomValue));
|
||||
}
|
||||
|
||||
}
|
||||
else if (column.isKey() && column.getReferencesTo() != null && !valuesExist) {
|
||||
|
||||
HashMap<String, ArrayList<String>> x = getStringArrayListHashMap(columnValues, table, column, values);
|
||||
if (x != null) return x;
|
||||
|
||||
}
|
||||
else if (column.getReferencesTo() != null && !valuesExist) {
|
||||
|
||||
getStringArrayListHashMap(columnValues, table, column, values);
|
||||
|
||||
}
|
||||
else if (!valuesExist) {
|
||||
|
||||
if (column.isUnique()) {
|
||||
|
||||
int numberPossibleValues = getNumberValuesOfRandomData(column);
|
||||
if (numberPossibleValues != -1)
|
||||
{
|
||||
|
||||
if (numberPossibleValues < table.getJdshfalkajsd677676()) {
|
||||
throw new ZZ20("Column " + column.getColumnName() + " is defined as unique. \nNot enough values for generation mode\n" +
|
||||
"Max numbers allowed: " + numberPossibleValues + "\n" +
|
||||
column.dataGenerationType + "/" + column.par1 + "/" + column.par2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
|
||||
String randomValue = generateRandomValue(column);
|
||||
|
||||
|
||||
while (column.isUnique() && values.contains(randomValue)) {
|
||||
randomValue = generateRandomValue(column);
|
||||
}
|
||||
values.add(String.valueOf(randomValue));
|
||||
}
|
||||
}
|
||||
|
||||
if (values.size() > 0) {
|
||||
columnValues.put(table.getTablename() + "." + column.getColumnName(), values);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (allColumnValuesCreated(columnValues)) done = true;
|
||||
|
||||
}
|
||||
return columnValues;
|
||||
}
|
||||
|
||||
private HashMap<String, ArrayList<String>> getStringArrayListHashMap(HashMap<String, ArrayList<String>> columnValues, T1 table, C3 column, ArrayList<String> values) {
|
||||
allDependentCreated(table, columnValues);
|
||||
for (int i = 0; i < table.getJdshfalkajsd677676(); i++)
|
||||
{
|
||||
ArrayList<String> valuesPK = columnValues.get(column.getReferencesTo().tablename() + "." + column.getReferencesTo().columnname());
|
||||
if (valuesPK == null)
|
||||
break; String randomValue = valuesPK.get(i % valuesPK.size());
|
||||
|
||||
values.add(String.valueOf(randomValue));
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
private void createInsertStatements(StringBuffer sqlScript, boolean singleInserts, boolean mysql) throws ZZ20 {
|
||||
//System.out.println("Generating insert statement");
|
||||
HashMap<String, ArrayList<String>> holdPKValuesForFK = createColumnValues();
|
||||
|
||||
|
||||
|
||||
for (T1 table : this.tables) {
|
||||
|
||||
ArrayList<String> keyColumns = new ArrayList<>();
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
if (column.isKey()) {
|
||||
keyColumns.add(table.getTablename() + "." + column.getColumnName());
|
||||
}
|
||||
}
|
||||
StringBuilder concatKeyValue;
|
||||
ArrayList<String> concatKeyValues = new ArrayList<>();
|
||||
int deleted = 0;
|
||||
|
||||
try {
|
||||
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
|
||||
concatKeyValue = new StringBuilder();
|
||||
for (String key : keyColumns) {
|
||||
ArrayList<String> valuesPK = holdPKValuesForFK.get(key);
|
||||
concatKeyValue.append(valuesPK.get(i));
|
||||
}
|
||||
|
||||
if (!concatKeyValues.contains(concatKeyValue.toString())) { concatKeyValues.add(concatKeyValue.toString()); }
|
||||
else
|
||||
|
||||
{ for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
ArrayList<String> valuesPK = holdPKValuesForFK.get(table.getTablename() + "." + column.getColumnName());
|
||||
valuesPK.remove(i);
|
||||
holdPKValuesForFK.put(table.getTablename() + "." + column.getColumnName(), valuesPK);
|
||||
}
|
||||
i--;
|
||||
deleted++; }
|
||||
|
||||
|
||||
}
|
||||
} catch (IndexOutOfBoundsException ignored) {}
|
||||
|
||||
|
||||
|
||||
|
||||
table.setJdshfalkajsd677676(table.getJdshfalkajsd677676() - deleted);
|
||||
}
|
||||
|
||||
|
||||
sqlScript.append("-- insert-#################################################\n");
|
||||
if (!mysql) {
|
||||
sqlScript.append("begin transaction;\n");
|
||||
}
|
||||
for (T1 table : this.tables) {
|
||||
if (table.isCreateInserts()) {
|
||||
Platform.runLater(() -> V1.thisActionMessageDialog.getShowFilename().setText(table.getTablename() + " ... create"));
|
||||
|
||||
|
||||
sqlScript.append("\n-- table ").append(table.getTablename());
|
||||
|
||||
if (table.hasAutoincrement() && !mysql) {
|
||||
sqlScript.append("\nset identity_insert ").append(table.getTablename()).append(" on;\n");
|
||||
}
|
||||
for (int i = 0; i < table.getJdshfalkajsd677676(); i++) {
|
||||
|
||||
if (!singleInserts) {
|
||||
if (i == 0) {
|
||||
addInsertTable(sqlScript, table);
|
||||
}
|
||||
sqlScript.append("\t\t(");
|
||||
StringBuilder valuespart = new StringBuilder();
|
||||
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
|
||||
if (!column.isNullable() || column.dataGenerationType == null || !column.dataGenerationType.equals("No")) {
|
||||
ArrayList<String> values = holdPKValuesForFK.get(table.getTablename() + "." + column.getColumnName());
|
||||
valuespart.append("'").append(values.get(i)).append("'").append(",");
|
||||
}
|
||||
}
|
||||
valuespart = new StringBuilder(valuespart.substring(0, valuespart.length() - 1));
|
||||
valuespart.append(")");
|
||||
sqlScript.append(valuespart).append((i < table.getJdshfalkajsd677676() - 1L) ? "," : ";").append("\n");
|
||||
}
|
||||
else {
|
||||
|
||||
addInsertTable(sqlScript, table);
|
||||
sqlScript.append("\t\t(");
|
||||
StringBuilder valuespart = new StringBuilder();
|
||||
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
|
||||
if (!column.isNullable() || column.dataGenerationType == null || !column.dataGenerationType.equals("No")) {
|
||||
ArrayList<String> values = holdPKValuesForFK.get(table.getTablename() + "." + column.getColumnName());
|
||||
valuespart.append("'").append(values.get(i)).append("'").append(",");
|
||||
}
|
||||
}
|
||||
valuespart = new StringBuilder(valuespart.substring(0, valuespart.length() - 1));
|
||||
valuespart.append(");");
|
||||
sqlScript.append(valuespart);
|
||||
}
|
||||
}
|
||||
|
||||
if (table.hasAutoincrement() && !mysql) {
|
||||
sqlScript.append("\nset identity_insert ").append(table.getTablename()).append(" off;\n");
|
||||
}
|
||||
}
|
||||
Platform.runLater(() -> V1.thisActionMessageDialog.getShowFilename().setText(table.getTablename() + " ... done"));
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
private void addInsertTable(StringBuffer sqlScript, T1 table) {
|
||||
sqlScript.append("\ninsert into ").append(table.getTablename()).append("(");
|
||||
|
||||
StringBuilder columnspart = new StringBuilder();
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
|
||||
if (!column.isNullable() || column.dataGenerationType == null || !column.dataGenerationType.equals("No"))
|
||||
columnspart.append(column.getColumnName()).append(",");
|
||||
}
|
||||
columnspart = new StringBuilder(columnspart.substring(0, columnspart.length() - 1));
|
||||
columnspart.append(")");
|
||||
sqlScript.append(columnspart).append(" values\n");
|
||||
}
|
||||
|
||||
|
||||
public ArrayList<C3> getKeyColumnsGivenRelation(long referstoGraphicalElement) {
|
||||
for (T1 table : this.tables) {
|
||||
if (table.getReferstoGraphicalElement() == referstoGraphicalElement) return table.getKeyColumns();
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public T1 getTableGivenNumber(long referstoGraphicalElement) {
|
||||
for (T1 table : this.tables) {
|
||||
if (table.getReferstoGraphicalElement() == referstoGraphicalElement) return table;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public T1 getColumnGivenNumber(long referstoGraphicalElement) {
|
||||
for (T1 table : this.tables) {
|
||||
for (C3 column : table.getSkjdfhgdskjf674534()) {
|
||||
if (column.getReferstoGraphicalElement() == referstoGraphicalElement) return table;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
}
|
396
at/fos/ermodel/gui/Graphic_ATTR_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
54
at/fos/ermodel/gui/Graphic_ATTR_Key_Elem.java
Normal 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";
|
||||
}
|
||||
}
|
||||
|
||||
|
57
at/fos/ermodel/gui/Graphic_ATTR_Multi_Elem.java
Normal 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";
|
||||
}
|
||||
}
|
||||
|
||||
|
55
at/fos/ermodel/gui/Graphic_ATTR_One_Elem.java
Normal 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";
|
||||
}
|
||||
}
|
||||
|
||||
|
55
at/fos/ermodel/gui/Graphic_ATTR_Weak_Key_Elem.java
Normal 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";
|
||||
}
|
||||
}
|
||||
|
||||
|
85
at/fos/ermodel/gui/Graphic_ES_Assoc_Elem.java
Normal 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 '@';
|
||||
}
|
||||
}
|
||||
|
||||
|
66
at/fos/ermodel/gui/Graphic_ES_Elem.java
Normal 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';
|
||||
}
|
||||
}
|
||||
|
||||
|
119
at/fos/ermodel/gui/Graphic_ES_Main_Elem.java
Normal 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();
|
||||
}
|
||||
}
|
||||
|
||||
|
72
at/fos/ermodel/gui/Graphic_ES_Weak_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
207
at/fos/ermodel/gui/Graphic_Figure_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
at/fos/ermodel/gui/Graphic_LINE_Attr_Attr_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
at/fos/ermodel/gui/Graphic_LINE_Attr_ES_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
at/fos/ermodel/gui/Graphic_LINE_Attr_RS_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
428
at/fos/ermodel/gui/Graphic_LINE_Elem.java
Normal 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();
|
||||
}
|
||||
}
|
||||
|
||||
|
27
at/fos/ermodel/gui/Graphic_LINE_RSID_ESWEAK_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
53
at/fos/ermodel/gui/Graphic_LINE_RSID_ES_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
at/fos/ermodel/gui/Graphic_LINE_RSISAG_ES_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
at/fos/ermodel/gui/Graphic_LINE_RSISAS_ES_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
27
at/fos/ermodel/gui/Graphic_LINE_RS_ES_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
214
at/fos/ermodel/gui/Graphic_Main_Elem.java
Normal file
@ -0,0 +1,214 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
import javafx.scene.canvas.GraphicsContext;
|
||||
import javafx.scene.paint.Color;
|
||||
|
||||
public abstract class Graphic_Main_Elem
|
||||
implements Serializable, Comparable<Graphic_Main_Elem>
|
||||
{
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
protected long graphicMainElemID;
|
||||
protected double xPos;
|
||||
protected double yPos;
|
||||
protected String name;
|
||||
protected transient GraphicsContext gc;
|
||||
protected transient boolean isVisible;
|
||||
protected transient boolean isConnectable;
|
||||
transient U4 undoRedoAction;
|
||||
|
||||
public Graphic_Main_Elem(GraphicsContext gc, long elementID) {
|
||||
this.graphicMainElemID = elementID;
|
||||
this.gc = gc;
|
||||
this.isVisible = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public GraphicsContext getGc() {
|
||||
return this.gc;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setGc(GraphicsContext gc) {
|
||||
this.gc = gc;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void setxPos(double xPos) {
|
||||
this.xPos = xPos;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setyPos(double yPos) {
|
||||
this.yPos = yPos;
|
||||
}
|
||||
|
||||
public void safdsadasds32432456456() {
|
||||
dsfdsfds6787686(sefdsfdsf45()); }
|
||||
|
||||
|
||||
protected Color getColorSelected() {
|
||||
return C2.ERMSelectedColor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
protected Color getColorDockable() {
|
||||
return C2.ERMDockablePointColor;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void dfsdfssdf456456() {
|
||||
dsfsdfsfd(); dsfdsfds6787686(sefdsfdsf45());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public double getxPos() {
|
||||
return this.xPos;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public double getyPos() {
|
||||
return this.yPos;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void dgfdsfdssfd43534456() {
|
||||
selectElem();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void sdffdsfsdf4354357656(double newX, double newY) {
|
||||
dsfsdfsfd();
|
||||
this.xPos = newX;
|
||||
this.yPos = newY;
|
||||
dsfdsfds6787686(getColorSelected());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void selectElem() {
|
||||
dsfdsfds6787686(getColorSelected());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public int hashCode() {
|
||||
int result = 1;
|
||||
result = 31 * result + (int)(this.graphicMainElemID ^ this.graphicMainElemID >>> 32L);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Graphic_Main_Elem other = (Graphic_Main_Elem)obj;
|
||||
return this.graphicMainElemID == other.graphicMainElemID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public String toString() {
|
||||
return "Graphic_Main_Elem [graphicMainElemID=" + this.graphicMainElemID + ", xPos=" + this.xPos + ", yPos=" + this.yPos +
|
||||
", name=" + this.name + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
public long sdfsdfsdfd() {
|
||||
return this.graphicMainElemID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void dsdasadsasd32423432(long graphicMainElemID) {
|
||||
this.graphicMainElemID = graphicMainElemID;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public String sdfsdfsd32234243() {
|
||||
return this.name;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public U4 adsadadsa4354353() {
|
||||
return this.undoRedoAction;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void sfdsfsfsddf123234435(U4 undoRedoAction) {
|
||||
this.undoRedoAction = undoRedoAction;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public int compareTo(Graphic_Main_Elem arg0) {
|
||||
return Long.compare(this.graphicMainElemID, arg0.graphicMainElemID);
|
||||
}
|
||||
|
||||
public abstract double dsfsfsd456457657();
|
||||
|
||||
public abstract double getHeight();
|
||||
|
||||
protected abstract Color sefdsfdsf45();
|
||||
|
||||
public abstract void dsfsdfsfd();
|
||||
|
||||
protected abstract void dsfdsfds6787686(Color paramColor);
|
||||
|
||||
public abstract boolean dsfsfds45645456(double paramDouble1, double paramDouble2);
|
||||
|
||||
public abstract char sdfsdfdsfdf();
|
||||
}
|
||||
|
||||
|
87
at/fos/ermodel/gui/Graphic_RS_Elem.java
Normal file
@ -0,0 +1,87 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
import javafx.scene.canvas.GraphicsContext;
|
||||
import javafx.scene.paint.Color;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
public class Graphic_RS_Elem
|
||||
extends Graphic_RS_Main_Elem
|
||||
{
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public Graphic_RS_Elem(GraphicsContext gc, double x, double y, String name, long elementID) {
|
||||
super(gc, name, elementID);
|
||||
|
||||
this.xPos = x;
|
||||
this.yPos = y;
|
||||
this.createRelation = true;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
protected void dsfdsfds6787686(Color c) {
|
||||
if (!this.isVisible)
|
||||
return;
|
||||
this.gc.beginPath();
|
||||
this.gc.setStroke(c);
|
||||
this.gc.strokePolygon(new double[] { this.xPos - this.textWidth / 2.0D,
|
||||
this.xPos,
|
||||
this.xPos + this.textWidth / 2.0D,
|
||||
this.xPos
|
||||
}, new double[] { this.yPos,
|
||||
this.yPos - this.textHeight / 2.0D,
|
||||
this.yPos,
|
||||
this.yPos + this.textHeight / 2.0D
|
||||
}, 4);
|
||||
this.gc.setFill(C2.ERMTextColor);
|
||||
this.gc.fillText(this.name, this.xPos - this.textWidth / 2.0D + 10.0D, this.yPos + this.textHeight / 2.0D - 18.0D);
|
||||
this.gc.closePath();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public String safsafdsa456456456() {
|
||||
return "RS";
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void dsfsdfsfd() {
|
||||
this.gc.clearRect(this.xPos - this.textWidth / 2.0D - 2.0D, this.yPos - this.textHeight / 2.0D - 2.0D, this.textWidth + 4.0D, this.textHeight + 4.0D);
|
||||
}
|
||||
|
||||
|
||||
|
||||
public double dsfsfsd456457657() {
|
||||
return this.textWidth;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public double getHeight() {
|
||||
return this.textHeight;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public char sdfsdfdsfdf() {
|
||||
return 'r';
|
||||
}
|
||||
|
||||
|
||||
|
||||
protected Color sefdsfdsf45() {
|
||||
return C2.ERMRSColor;
|
||||
}
|
||||
}
|
||||
|
||||
|
158
at/fos/ermodel/gui/Graphic_RS_ISA_Elem.java
Normal 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 + ")";
|
||||
}
|
||||
}
|
||||
|
||||
|
101
at/fos/ermodel/gui/Graphic_RS_Identifying_Elem.java
Normal 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;
|
||||
}
|
||||
}
|
||||
|
||||
|
113
at/fos/ermodel/gui/Graphic_RS_Main_Elem.java
Normal 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();
|
||||
}
|
||||
}
|
||||
|
||||
|
137
at/fos/ermodel/gui/Graphic_Text_Elem.java
Normal 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
@ -0,0 +1,207 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class T1
|
||||
implements Comparable<T1>
|
||||
{
|
||||
private String tablename;
|
||||
private final String tablenamePraefix;
|
||||
private final long referstoGraphicalElement;
|
||||
private final ArrayList<C3> skjdfhgdskjf674534;
|
||||
private final ArrayList<T1> dependsOnTable;
|
||||
private final HashMap<T1, ArrayList<C3>> columnsOfDependentOnTable;
|
||||
private final boolean createInserts;
|
||||
private long jdshfalkajsd677676;
|
||||
|
||||
public T1(String tablename, String tablenamePraefix, long referstoGraphicalElement, boolean createInserts, long numberValues) {
|
||||
this.tablename = tablename;
|
||||
this.tablenamePraefix = tablenamePraefix;
|
||||
this.referstoGraphicalElement = referstoGraphicalElement;
|
||||
this.createInserts = createInserts;
|
||||
this.jdshfalkajsd677676 = numberValues;
|
||||
this.skjdfhgdskjf674534 = new ArrayList<>();
|
||||
this.dependsOnTable = new ArrayList<>();
|
||||
this.columnsOfDependentOnTable = new HashMap<>();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void addColumn(C3 column) {
|
||||
this.skjdfhgdskjf674534.add(column);
|
||||
|
||||
Collections.sort(this.skjdfhgdskjf674534);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void addTableDepdendentOn(T1 table) {
|
||||
this.dependsOnTable.add(table);
|
||||
}
|
||||
|
||||
|
||||
public String getTablename() {
|
||||
return this.tablename;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void setTablename(String tablename) {
|
||||
this.tablename = tablename;
|
||||
}
|
||||
|
||||
|
||||
|
||||
public ArrayList<C3> getSkjdfhgdskjf674534() {
|
||||
return this.skjdfhgdskjf674534;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public int hashCode() {
|
||||
int result = 1;
|
||||
result = 31 * result + ((this.tablename == null) ? 0 : this.tablename.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
T1 other = (T1)obj;
|
||||
if (this.tablename == null) {
|
||||
return other.tablename == null;
|
||||
} else return this.tablename.equals(other.tablename);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public String toString() {
|
||||
return "RM_Table [tablename=" + this.tablename + ", tablenamePraefix=" + this.tablenamePraefix +
|
||||
", referstoGraphicalElement=" + this.referstoGraphicalElement + ", columns=" + this.skjdfhgdskjf674534 + "]";
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public String getTablenamePraefix() {
|
||||
return this.tablenamePraefix;
|
||||
}
|
||||
|
||||
|
||||
public int compareTo(T1 arg0) {
|
||||
return getTablename().compareTo(arg0.getTablename());
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public long getReferstoGraphicalElement() {
|
||||
return this.referstoGraphicalElement;
|
||||
}
|
||||
|
||||
|
||||
public ArrayList<C3> getKeyColumns() {
|
||||
ArrayList<C3> keyColumns = new ArrayList<>();
|
||||
for (C3 column : this.skjdfhgdskjf674534) {
|
||||
if (column.isKey()) {
|
||||
keyColumns.add(column);
|
||||
}
|
||||
}
|
||||
return keyColumns;
|
||||
}
|
||||
|
||||
|
||||
public boolean hasAutoincrement() {
|
||||
for (C3 column : this.skjdfhgdskjf674534) {
|
||||
if (column.isAutoincrement()) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean columnExist(String colName) {
|
||||
return this.skjdfhgdskjf674534.contains(new C3(colName));
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public boolean isCreateInserts() {
|
||||
return this.createInserts;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public long getJdshfalkajsd677676() {
|
||||
return this.jdshfalkajsd677676;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public void setJdshfalkajsd677676(long numberValues) {
|
||||
this.jdshfalkajsd677676 = numberValues;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public ArrayList<T1> getDependsOnTable() {
|
||||
return this.dependsOnTable;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
public HashMap<T1, ArrayList<C3>> getColumnsOfDependentOnTable() {
|
||||
return this.columnsOfDependentOnTable;
|
||||
}
|
||||
}
|
||||
|
||||
|
12
at/fos/ermodel/gui/T2.java
Normal 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
@ -0,0 +1,276 @@
|
||||
package at.fos.ermodel.gui;
|
||||
/* */
|
||||
|
||||
import javafx.scene.Node;
|
||||
import javafx.scene.effect.ColorAdjust;
|
||||
import javafx.scene.effect.DropShadow;
|
||||
import javafx.scene.image.ImageView;
|
||||
import javafx.scene.paint.Color;
|
||||
|
||||
import java.io.*;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.Random;
|
||||
|
||||
|
||||
public class T3
|
||||
{
|
||||
public static HashMap<String, ArrayList<String>> randomData = new HashMap<>();
|
||||
|
||||
|
||||
public static String[] dsfsdfsdf4353534 = new String[] {
|
||||
"No",
|
||||
"Extern",
|
||||
"Random Integer",
|
||||
"Random Decimal",
|
||||
"Random Text",
|
||||
"Random Date",
|
||||
"Random Boolean",
|
||||
"Random Color",
|
||||
"Random Company",
|
||||
"Random Country",
|
||||
"Random Departmentname",
|
||||
"Random Firstname",
|
||||
"Random Jobname",
|
||||
"Random Language",
|
||||
"Random Lastname",
|
||||
"Random Mediacategory",
|
||||
"Random Mediapublisher",
|
||||
"Random Mediatitle",
|
||||
"Random Mediatype",
|
||||
"Random Place",
|
||||
"Random Profession",
|
||||
"Random Rentalequipment",
|
||||
"Random Street" };
|
||||
|
||||
|
||||
public static Object copyObject(Object objSource) {
|
||||
Object objDest = null;
|
||||
try {
|
||||
ByteArrayOutputStream bos = new ByteArrayOutputStream();
|
||||
ObjectOutputStream oos = new ObjectOutputStream(bos);
|
||||
oos.writeObject(objSource);
|
||||
oos.flush();
|
||||
oos.close();
|
||||
bos.close();
|
||||
byte[] byteData = bos.toByteArray();
|
||||
ByteArrayInputStream bais = new ByteArrayInputStream(byteData);
|
||||
try {
|
||||
objDest = (new ObjectInputStream(bais)).readObject();
|
||||
} catch (ClassNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return objDest;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void asdasda345435ertretr(Node node, double yScale, double xScale, double contrast, double hue, double brightness, double saturation) {
|
||||
ImageView iv = (ImageView)node;
|
||||
|
||||
iv.setScaleY(yScale);
|
||||
iv.setScaleX(xScale);
|
||||
ColorAdjust colorAdjust = new ColorAdjust();
|
||||
colorAdjust.setContrast(contrast);
|
||||
colorAdjust.setHue(hue);
|
||||
colorAdjust.setBrightness(brightness);
|
||||
colorAdjust.setSaturation(saturation);
|
||||
iv.setEffect(colorAdjust);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void buttonMouseExited(Node node) {
|
||||
ImageView iv = (ImageView)node;
|
||||
|
||||
iv.setScaleX(1.0D);
|
||||
iv.setScaleY(1.0D);
|
||||
iv.setEffect(null);
|
||||
}
|
||||
|
||||
|
||||
public static void fdssdf4354(Node node, Color color) {
|
||||
DropShadow borderGlow = new DropShadow();
|
||||
borderGlow.setOffsetY(0.0D);
|
||||
borderGlow.setOffsetX(0.0D);
|
||||
borderGlow.setColor(color);
|
||||
borderGlow.setWidth(10.0D);
|
||||
borderGlow.setHeight(10.0D);
|
||||
node.setEffect(borderGlow);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static String replaceSpecialChars(String text) {
|
||||
text = text.replaceAll("ä", "ae");
|
||||
text = text.replaceAll("ö", "oe");
|
||||
text = text.replaceAll("ü", "ue");
|
||||
text = text.replaceAll("ß", "ss");
|
||||
text = text.replaceAll("[^\\w\\_]", "");
|
||||
return text;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static String getRandomInteger(int valuesVon, int valuesBis) {
|
||||
int randomValue = valuesVon + (new Random()).nextInt(valuesBis - valuesVon) + 1;
|
||||
return String.valueOf(randomValue);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static String getRandomBoolean() {
|
||||
boolean randomValue = (new Random()).nextBoolean();
|
||||
String booleanAsString;
|
||||
booleanAsString = "0";
|
||||
if (randomValue) booleanAsString = "1";
|
||||
return booleanAsString;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static String getRandomDecimal(int digitsBeforeComma, int digitsAfterComma) {
|
||||
StringBuilder digitsAfterCommaAsString = new StringBuilder();
|
||||
|
||||
StringBuilder digitsBeforeCommaAsString = new StringBuilder();
|
||||
int i;
|
||||
for (i = 0; i < digitsAfterComma; i++) {
|
||||
digitsAfterCommaAsString.append("9");
|
||||
}
|
||||
int digitsAfterCommaRange = Integer.parseInt((digitsAfterCommaAsString.length() == 0) ? "0" : digitsAfterCommaAsString.toString());
|
||||
for (i = 0; i < digitsBeforeComma; i++) {
|
||||
digitsBeforeCommaAsString.append("9");
|
||||
}
|
||||
int digitsBeforeCommaRange = Integer.parseInt(digitsBeforeCommaAsString.toString());
|
||||
|
||||
return (new Random()).nextInt(digitsBeforeCommaRange + 1) + "." + (new Random()).nextInt(digitsAfterCommaRange + 1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static String getRandomTextGivenLength(int textLength) {
|
||||
String str = "abcdefghijklmnopqrstuvwxyz";
|
||||
StringBuilder randomText = new StringBuilder();
|
||||
ArrayList<Character> charactersAsList = new ArrayList<>();
|
||||
for (int j = 0; j < textLength; j++) {
|
||||
charactersAsList.add(str.charAt((new Random()).nextInt(26)));
|
||||
}
|
||||
for (int k = 0; k < charactersAsList.size(); ) { randomText.append(charactersAsList.get(k)); k++; }
|
||||
return randomText.toString();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static String getRandomDate(LocalDate from, LocalDate till) {
|
||||
Random random = new Random();
|
||||
int minDay = (int)LocalDate.of(from.getYear(), from.getMonth(), from.getDayOfMonth()).toEpochDay();
|
||||
int maxDay = (int)LocalDate.of(till.getYear(), till.getMonth(), till.getDayOfMonth()).toEpochDay();
|
||||
long randomDay = (minDay + random.nextInt(maxDay - minDay));
|
||||
LocalDate randomDate = LocalDate.ofEpochDay(randomDay);
|
||||
String datesAsString;
|
||||
|
||||
datesAsString = randomDate.getYear() + "-" + randomDate.getMonthValue() + "-" + randomDate.getDayOfMonth();
|
||||
return datesAsString;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static void readRandomData(String which, String keyExtern) {
|
||||
ArrayList<String> randomDataAsList;
|
||||
try {
|
||||
BufferedReader fr;
|
||||
|
||||
if (which.equals("Extern")) { fr = C2.randomDataFilesExtern.get(keyExtern); }
|
||||
else { fr = new BufferedReader(new InputStreamReader(C2.randomDataFiles.get(which))); }
|
||||
randomDataAsList = new ArrayList<>();
|
||||
String next = fr.readLine();
|
||||
while (next != null) {
|
||||
randomDataAsList.add(next);
|
||||
next = fr.readLine();
|
||||
}
|
||||
fr.close();
|
||||
if (which.equals("Extern")) { randomData.put(keyExtern, randomDataAsList); }
|
||||
else { randomData.put(which, randomDataAsList); }
|
||||
} catch (IOException e) {
|
||||
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public static String getRandomData(String which, String keyExtern) {
|
||||
ArrayList<String> randomDataAsList;
|
||||
if (which.equals("Extern")) { randomDataAsList = randomData.get(keyExtern); }
|
||||
else { randomDataAsList = randomData.get(which); }
|
||||
|
||||
if (randomDataAsList == null) {
|
||||
readRandomData(which, keyExtern);
|
||||
}
|
||||
|
||||
if (which.equals("Extern")) { randomDataAsList = randomData.get(keyExtern); }
|
||||
else { randomDataAsList = randomData.get(which); }
|
||||
|
||||
return randomDataAsList.get((new Random()).nextInt(randomDataAsList.size()));
|
||||
}
|
||||
}
|
||||
|
||||
|
87
at/fos/ermodel/gui/U1.java
Normal file
@ -0,0 +1,87 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
import javafx.scene.control.Alert;
|
||||
import javafx.scene.control.ButtonType;
|
||||
import javafx.scene.control.ScrollPane;
|
||||
import javafx.scene.control.Tab;
|
||||
import javafx.scene.input.KeyEvent;
|
||||
import javafx.scene.layout.StackPane;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Optional;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class U1
|
||||
extends Tab
|
||||
{
|
||||
public final A3 canvas;
|
||||
public final StackPane stackpane;
|
||||
public final ScrollPane scrollpane;
|
||||
|
||||
public U1(B3 view, String name, File modelInFile) {
|
||||
this.stackpane = new StackPane();
|
||||
this.stackpane.setBackground(C2.AppBackground);
|
||||
this.canvas = new A3(view, modelInFile, this);
|
||||
|
||||
this.stackpane.getChildren().add(this.canvas);
|
||||
|
||||
this.scrollpane = new ScrollPane(this.stackpane);
|
||||
this.stackpane.setFocusTraversable(true);
|
||||
this.scrollpane.setFocusTraversable(true);
|
||||
|
||||
this.scrollpane.setVmin(0.0D);
|
||||
this.scrollpane.setVmax(this.canvas.getCanvasHeight());
|
||||
this.scrollpane.setHmin(0.0D);
|
||||
this.scrollpane.setHmax(this.canvas.getCanvasWidth());
|
||||
|
||||
this.stackpane.addEventFilter(KeyEvent.ANY, e -> this.scrollpane.requestFocus());
|
||||
this.scrollpane.addEventFilter(KeyEvent.ANY, e -> this.scrollpane.requestFocus());
|
||||
|
||||
setOnCloseRequest(e -> {
|
||||
if (getTabPane().getTabs().size() <= 1) {
|
||||
e.consume();
|
||||
return;
|
||||
}
|
||||
C1 alert = new C1(null, Alert.AlertType.CONFIRMATION, "Close Tab", "", "Do you really want to close", Boolean.TRUE, C2.applicationImageIconAsICO, "OK", "Cancel", C2.ButtonBackgroundColor, C2.MouseSelectedColor, C2.FocusOnComponentColor);
|
||||
Optional<ButtonType> result = alert.getResult();
|
||||
if (result.isPresent() && result.get() == ButtonType.OK) {
|
||||
view.selectModeBTN.setSelected(true);
|
||||
} else {
|
||||
e.consume();
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
this.scrollpane.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
|
||||
this.stackpane.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
|
||||
|
||||
this.canvas.setOnKeyPressed(U1.this.canvas::sdfdsfd567657rrt);
|
||||
|
||||
setContent(this.scrollpane);
|
||||
if (modelInFile == null) {
|
||||
setText(name);
|
||||
} else {
|
||||
|
||||
setText(modelInFile.getName());
|
||||
}
|
||||
this.canvas.requestFocus();
|
||||
}
|
||||
}
|
69
at/fos/ermodel/gui/U2.java
Normal file
@ -0,0 +1,69 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
public interface U2 {
|
||||
boolean getCreateColumn();
|
||||
|
||||
void setCreateColumn(boolean paramBoolean);
|
||||
|
||||
String getColumnPostfix();
|
||||
|
||||
void setColumnPostfix(String paramString);
|
||||
|
||||
String getColumnName();
|
||||
|
||||
void setColumnName(String paramString);
|
||||
|
||||
String getMVRelationName();
|
||||
|
||||
void setMVRelationName(String paramString);
|
||||
|
||||
String getMVRelationNamePraefix();
|
||||
|
||||
void setMVRelationNamePraefix(String paramString);
|
||||
|
||||
String getDatatype();
|
||||
|
||||
void setDatatype(String paramString);
|
||||
|
||||
boolean isKey();
|
||||
|
||||
void setIsKey(boolean paramBoolean);
|
||||
|
||||
boolean isAutoincrement();
|
||||
|
||||
void setIsAutoincrement(boolean paramBoolean);
|
||||
|
||||
long getAutoincrementStartAt();
|
||||
|
||||
void setAutoincrementStartAt(long paramLong);
|
||||
|
||||
boolean isUnique();
|
||||
|
||||
void setIsUnique(boolean paramBoolean);
|
||||
|
||||
boolean isNullable();
|
||||
|
||||
void setIsNullable(boolean paramBoolean);
|
||||
|
||||
String getDataGenerationType();
|
||||
|
||||
void setDataGenerationType(String paramString);
|
||||
|
||||
String getPar1();
|
||||
|
||||
void setPar1(String paramString);
|
||||
|
||||
String getPar2();
|
||||
|
||||
void setPar2(String paramString);
|
||||
|
||||
String getPar1_label();
|
||||
|
||||
void setPar1_label(String paramString);
|
||||
|
||||
String getPar2_label();
|
||||
|
||||
void setPar2_label(String paramString);
|
||||
}
|
||||
|
||||
|
25
at/fos/ermodel/gui/U3.java
Normal file
@ -0,0 +1,25 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
public interface U3 {
|
||||
boolean getCreateRelation();
|
||||
|
||||
void setCreateRelation(boolean paramBoolean);
|
||||
|
||||
String getRelationPraefix();
|
||||
|
||||
void setRelationPraefix(String paramString);
|
||||
|
||||
String getRelationName();
|
||||
|
||||
void setRelationName(String paramString);
|
||||
|
||||
boolean getCreateInserts();
|
||||
|
||||
void setCreateInserts(boolean paramBoolean);
|
||||
|
||||
long getNumberRowsToInsert();
|
||||
|
||||
void setNumberRowsToInsert(long paramLong);
|
||||
}
|
||||
|
||||
|
8
at/fos/ermodel/gui/U4.java
Normal file
@ -0,0 +1,8 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
public enum U4
|
||||
{
|
||||
ADD, REMOVE
|
||||
}
|
||||
|
||||
|
109
at/fos/ermodel/gui/V1.java
Normal file
@ -0,0 +1,109 @@
|
||||
package at.fos.ermodel.gui;
|
||||
|
||||
import javafx.geometry.Insets;
|
||||
import javafx.geometry.Pos;
|
||||
import javafx.scene.Scene;
|
||||
import javafx.scene.control.Label;
|
||||
import javafx.scene.control.ProgressBar;
|
||||
import javafx.scene.layout.Background;
|
||||
import javafx.scene.layout.BackgroundFill;
|
||||
import javafx.scene.layout.CornerRadii;
|
||||
import javafx.scene.layout.VBox;
|
||||
import javafx.stage.Stage;
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public class V1
|
||||
extends Stage
|
||||
{
|
||||
public static V1 thisActionMessageDialog;
|
||||
private final Label showFilename;
|
||||
private Thread th;
|
||||
|
||||
public V1(B3 siteCommanderFrame) {
|
||||
thisActionMessageDialog = this;
|
||||
setTitle("Generate/Save SQL-Script");
|
||||
|
||||
|
||||
|
||||
getIcons().add(C2.applicationImageIconAsICO);
|
||||
ProgressBar progress = new ProgressBar();
|
||||
progress.setPrefWidth(200.0D);
|
||||
progress.setProgress(-1.0D);
|
||||
VBox root = new VBox();
|
||||
progress.setBackground(new Background(new BackgroundFill(C2.ButtonBackgroundColor, CornerRadii.EMPTY, Insets.EMPTY)));
|
||||
this.showFilename = new Label("");
|
||||
this.showFilename.setAlignment(Pos.CENTER);
|
||||
|
||||
Scene scene = new Scene(root, 200.0D, 40.0D);
|
||||
root.getChildren().add(progress);
|
||||
root.getChildren().add(this.showFilename);
|
||||
setScene(scene);
|
||||
|
||||
if (siteCommanderFrame != null) {
|
||||
initOwner(siteCommanderFrame);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
sizeToScene();
|
||||
setResizable(false);
|
||||
}
|
||||
|
||||
|
||||
private void startTimer() {
|
||||
this.th.setDaemon(true);
|
||||
this.th.start();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public void setThread(Thread th) {
|
||||
this.th = th;
|
||||
startTimer();
|
||||
showAndWait();
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
public Label getShowFilename() {
|
||||
return this.showFilename;
|
||||
}
|
||||
}
|
||||
|
||||
|
11
at/fos/ermodel/gui/ZZ20.java
Normal 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
154
data/colors.txt
Normal 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
@ -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 Rundfunksender 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
@ -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
@ -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
1119
data/jobnames.txt
Normal file
105
data/languages.txt
Normal 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
117
data/mediacategories.txt
Normal 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
@ -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ö
|
||||
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
|
||||
oö
|
||||
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
8
data/mediatypes.txt
Normal file
@ -0,0 +1,8 @@
|
||||
Buch
|
||||
CD
|
||||
DVD
|
||||
Kassettte
|
||||
VHS
|
||||
Zeitschrift
|
||||
Blue-Ray
|
||||
Spiel
|
1424
data/places.txt
Normal file
1187
data/professions.txt
Normal file
89
data/rentalequipment.txt
Normal 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
|