Skip to content

Commit 4e019a0

Browse files
committed
Release 1.1.0 [RELEASE_CANDIDATE_001]
1 parent 8a655f5 commit 4e019a0

15 files changed

+111
-29
lines changed

classifier.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,3 @@
1-
VERSION=1.0.4
1+
VERSION=1.1.0
22
DIR=auslieferung/${VERSION}/macOS/input
33
java --module-path ${DIR}/lib:${DIR} --add-modules ALL-MODULE-PATH -jar ${DIR}/classifier-${VERSION}.jar classifier/is.github.aid_labor.classifier.basis.Ressourcen $@

linux_deb_auslieferung.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cd "$(dirname "$0")" # zum Pfad dieses Skriptes wechseln
66
NAME="Classifier"
77
DESCRIPTION="UML-Klassenmodellierung"
88
# Version muss groesser gleich 1.0.0 sein!
9-
VERSION="1.0.4"
9+
VERSION="1.1.0"
1010
VENDOR="Tim Mühle"
1111
COPYRIGHT="Copyright © 2022 - Tim Mühle"
1212
LICENSE_FILE="LICENSE.txt"

linux_rpm_auslieferung.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ NAME="Classifier"
88
NAME_KLEIN="classifier"
99
DESCRIPTION="UML-Klassenmodellierung"
1010
# Version muss groesser gleich 1.0.0 sein!
11-
VERSION="1.0.4"
11+
VERSION="1.1.0"
1212
VENDOR="Tim Mühle"
1313
COPYRIGHT="Copyright © 2022 - Tim Mühle"
1414
LICENSE_FILE="LICENSE.txt"

mac_auslieferung.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ cd "$(dirname "$0")" # zum Pfad dieses Skriptes wechseln
66
NAME="Classifier"
77
DESCRIPTION="UML-Klassenmodellierung"
88
# Version muss groesser gleich 1.0.0 sein!
9-
VERSION="1.0.4"
9+
VERSION="1.1.0"
1010
VENDOR="Tim Mühle"
1111
COPYRIGHT="Copyright © 2022 - Tim Mühle"
1212
LICENSE_FILE="LICENSE.txt"

src/main/java/io/github/aid_labor/classifier/gui/ProjektKontrolle.java

Lines changed: 23 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@
3636
import io.github.aid_labor.classifier.basis.DatumWrapper;
3737
import io.github.aid_labor.classifier.basis.Einstellungen;
3838
import io.github.aid_labor.classifier.basis.io.system.OS;
39+
import io.github.aid_labor.classifier.basis.projekt.UeberwachungsStatus;
3940
import io.github.aid_labor.classifier.basis.sprachverwaltung.Sprache;
4041
import io.github.aid_labor.classifier.basis.sprachverwaltung.Umlaute;
4142
import io.github.aid_labor.classifier.gui.ProjekteAnsicht.ExportErgebnis;
@@ -349,18 +350,25 @@ private void importiereAusDateien(List<File> dateien) {
349350
});
350351
} catch (ImportException e) {
351352
log.log(Level.WARNING, e, () -> "Importfehler");
352-
String format = sprache.getText("importParseFehler", """
353-
Die Datei \"{0}\" konnte nicht interpretiert werden.
354-
M%cglicherweise ist die Datei besch%cdigt oder der Quellcode ist ung%cltig"""
355-
.formatted(Umlaute.oe, Umlaute.ae, Umlaute.ue));
356-
String beschreibung = MessageFormat.format(format, datei.getName());
357-
Platform.runLater(() -> zeigeImportFehlerDialog(beschreibung, e));
353+
if (!ergebnis.istFehlerBehandelt()) {
354+
355+
String format = sprache.getText("importParseFehler", """
356+
Die Datei \"{0}\" konnte nicht interpretiert werden.
357+
M%cglicherweise ist die Datei besch%cdigt oder der Quellcode ist ung%cltig"""
358+
.formatted(Umlaute.oe, Umlaute.ae, Umlaute.ue));
359+
String beschreibung = MessageFormat.format(format, datei.getName());
360+
ergebnis.setIstFehlerBehandelt(true);
361+
Platform.runLater(() -> zeigeImportFehlerDialog(beschreibung, e));
362+
}
358363
} catch (Exception e) {
359364
log.log(Level.WARNING, e, () -> "Importfehler");
360-
String format = sprache.getText("importIOFehler",
361-
"Die Datei \"{0}\" konnte nicht gelesen werden.");
362-
String beschreibung = MessageFormat.format(format, datei.getName());
363-
Platform.runLater(() -> zeigeImportFehlerDialog(beschreibung, e));
365+
if (!ergebnis.istFehlerBehandelt()) {
366+
String format = sprache.getText("importIOFehler",
367+
"Die Datei \"{0}\" konnte nicht gelesen werden.");
368+
String beschreibung = MessageFormat.format(format, datei.getName());
369+
Platform.runLater(() -> zeigeImportFehlerDialog(beschreibung, e));
370+
ergebnis.setIstFehlerBehandelt(true);
371+
}
364372
}
365373

366374
return ergebnis;
@@ -373,10 +381,11 @@ private void importiereAusDateien(List<File> dateien) {
373381
try {
374382
ImportErgebnis teilergebnis = fertigstellungService.take().get();
375383

376-
if (teilergebnis.getNeueKlassifizierer().isEmpty()) {
384+
if (teilergebnis.getNeueKlassifizierer().isEmpty() && !teilergebnis.istFehlerBehandelt()) {
377385
log.log(Level.WARNING, teilergebnis.getFehler(), () -> "Fehler beim parallelisiertem Import");
378386
String beschreibung = sprache.getText("importThreadFehler",
379387
"Es ist ein Fehler beim Import aufgetreten.");
388+
teilergebnis.setIstFehlerBehandelt(true);
380389
Platform.runLater(() -> zeigeImportFehlerDialog(beschreibung, teilergebnis.getFehler()));
381390
}
382391

@@ -428,8 +437,11 @@ private void importiereAusDateien(List<File> dateien) {
428437
wartedialog.cancel();
429438
ansicht.get().getOverlayDialog().hideDialog(wartedialog);
430439
UMLProjekt projekt = ansicht.get().getProjekt();
440+
var status = projekt.getUeberwachungsStatus();
441+
projekt.setUeberwachungsStatus(UeberwachungsStatus.ZUSAMMENFASSEN);
431442
projekt.getDiagrammElemente().addAll(neueKlassifizierer);
432443
projekt.getAssoziationen().addAll(neueAssoziationen);
444+
projekt.setUeberwachungsStatus(status);
433445
});
434446
});
435447
t.start();

src/main/java/io/github/aid_labor/classifier/gui/UMLVerbindungenBearbeitenDialog.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@ public UMLVerbindungenBearbeitenDialog(UMLProjekt projekt, boolean starteMitAsso
8484
this.umlProjekt = projekt;
8585

8686
boolean spracheGesetzt = SprachUtil.setUpSprache(sprache, Ressourcen.get().SPRACHDATEIEN_ORDNER.alsPath(),
87-
"UMLKlassifiziererBearbeitenDialog");
87+
"UMLVerbindungenBearbeitenDialog");
8888
if (!spracheGesetzt) {
8989
sprache.ignoriereSprachen();
9090
}

src/main/java/io/github/aid_labor/classifier/gui/komponenten/VerbindungBearbeitenListe.java

Lines changed: 24 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222

2323
import com.dlsc.gemsfx.EnhancedLabel;
2424

25+
import io.github.aid_labor.classifier.basis.io.Ressourcen;
2526
import io.github.aid_labor.classifier.basis.sprachverwaltung.SprachUtil;
2627
import io.github.aid_labor.classifier.basis.sprachverwaltung.Sprache;
2728
import io.github.aid_labor.classifier.basis.sprachverwaltung.Umlaute;
@@ -94,6 +95,7 @@ public enum Typ {
9495
private final ValidationSupport eingabeValidierung;
9596
private final List<ChangeListener<ValidationResult>> validierungsBeobachter;
9697
private final Sprache sprache;
98+
private final Sprache spracheLabels;
9799
private final UMLProjekt umlProjekt;
98100
private final List<String> vorhandeneElementNamen;
99101
private final BooleanProperty startBearbeitbar;
@@ -109,10 +111,17 @@ public VerbindungBearbeitenListe(String[] labelBezeichnungen, Typ typ, Validatio
109111
this.loeseBindungen = new LinkedList<>();
110112
this.validierungsBeobachter = new LinkedList<>();
111113
this.eingabeValidierung = eingabeValidierung;
112-
this.sprache = sprache;
114+
this.sprache = new Sprache();
115+
this.spracheLabels = sprache;
113116
this.umlProjekt = umlProjekt;
114117
this.startBearbeitbar = new SimpleBooleanProperty(startBearbeitbar);
115118

119+
boolean spracheGesetzt = SprachUtil.setUpSprache(this.sprache, Ressourcen.get().SPRACHDATEIEN_ORDNER.alsPath(),
120+
"VerbindungenBearbeitenListe");
121+
if (!spracheGesetzt) {
122+
sprache.ignoriereSprachen();
123+
}
124+
116125
List<UMLKlassifizierer> klassen = umlProjekt.getDiagrammElemente().stream()
117126
.filter(UMLKlassifizierer.class::isInstance).map(UMLKlassifizierer.class::cast).toList();
118127
this.vorhandeneElementNamen = klassen.parallelStream().map(UMLDiagrammElement::getName).toList();
@@ -263,8 +272,8 @@ public void setVerbindungErzeuger(Supplier<UMLVerbindung> verbindungErzeuger) {
263272
private void fuelleTabelle(GridPane tabelle, String[] labelBezeichnungen, ObservableList<UMLVerbindung> inhalt,
264273
BiFunction<UMLVerbindung, KontrollElemente<UMLVerbindung>, Node[]> erzeugeZeile) {
265274
for (String bezeichnung : labelBezeichnungen) {
266-
Label spaltenUeberschrift = SprachUtil.bindText(new EnhancedLabel(), sprache, bezeichnung.toLowerCase(),
267-
bezeichnung);
275+
Label spaltenUeberschrift = SprachUtil.bindText(new EnhancedLabel(), spracheLabels,
276+
bezeichnung.toLowerCase(), bezeichnung);
268277
tabelle.addRow(0, spaltenUeberschrift);
269278
}
270279

@@ -461,6 +470,18 @@ private Node[] erstelleVererbungZeile(UMLVerbindung verbindung, KontrollElemente
461470
bindeBidirektional(ausgeblendet.selectedProperty(), verbindung.ausgebelendetProperty());
462471
GridPane.setHalignment(ausgeblendet, HPos.CENTER);
463472

473+
eingabeValidierung.registerValidator(ausgeblendet, Validator.createPredicateValidator(tf -> {
474+
if (ausgeblendet.isSelected()) {
475+
return true;
476+
}
477+
var startname = entfernePaketname(start.getText());
478+
var endname = entfernePaketname(ende.getText());
479+
return vorhandeneElementNamen.contains(startname) && vorhandeneElementNamen.contains(endname);
480+
}, sprache.getText("ausgeblendetValidierung",
481+
"Es m%cssen alle Klassen/Interfaces vorhanden sein, um die Verbindung einzublenden"
482+
.formatted(Umlaute.ue))));
483+
setzePlatzhalter(ausgeblendet);
484+
464485
return new Node[] { start, ende, ausgeblendet };
465486
}
466487

src/main/java/io/github/aid_labor/classifier/main/Hauptfenster.java

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ public class Hauptfenster extends Application {
4646

4747
// @formatter:off
4848
private static final ProgrammDetails programm = new ProgrammDetails(
49-
"1.0.4 [SNAPSHOT_005]",
49+
"1.1.0 [RELEASE_CANDIDATE_001]",
5050
"Classifier",
5151
"Tim M%chle".formatted(ue),
5252
"https://github.com/AID-Labor/classifier",
@@ -68,11 +68,6 @@ public static void main(String[] args) {
6868
LoggingEinstellung.initialisiereLogging(programm);
6969
auswertung = new KommandozeilenAuswertung(args, programm);
7070
kommandoZeile = auswertung.werteArgumenteAus();
71-
if (!kommandoZeile.hasOption(auswertung.debug)
72-
&& !kommandoZeile.hasOption(auswertung.loglevel)) {
73-
// TODO Debug-Einstellung, entfernen in finaler Version!
74-
LoggingEinstellung.setzeLogLevel(Level.FINE, Level.FINER);
75-
}
7671
log.log(Level.SEVERE, () -> "%s gestartet - OS: %s_%s_%s - Java: %s %s".formatted(
7772
programm.getVersionName(),
7873
System.getProperty("os.name"),
@@ -84,7 +79,7 @@ public static void main(String[] args) {
8479
log.fine(() -> "Args [getArgs()]: " + Arrays.toString(kommandoZeile.getArgs()));
8580

8681
Ressourcen.setProgrammDetails(programm);
87-
DateiUtil.loescheVeralteteLogs(Duration.ofDays(14), programm);
82+
DateiUtil.loescheVeralteteLogs(Duration.ofDays(10), programm);
8883

8984
launch(args);
9085
Einstellungen.speicherBenutzerdefiniert();

src/main/java/io/github/aid_labor/classifier/uml/programmierung/ExportImportVerarbeitung.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,15 @@ public static class ImportErgebnis {
2727
private final List<UMLKlassifizierer> neueKlassifizierer;
2828
private final List<UMLVerbindung> neueAssoziationen;
2929
private final Exception fehler;
30+
private boolean istFehlerBehandelt;
3031

3132
public ImportErgebnis(List<UMLKlassifizierer> neueKlassifizierer, List<UMLVerbindung> neueAssoziationen,
3233
Exception fehler) {
3334
super();
3435
this.neueKlassifizierer = Collections.unmodifiableList(neueKlassifizierer);
3536
this.neueAssoziationen = Collections.unmodifiableList(neueAssoziationen);
3637
this.fehler = fehler;
38+
this.istFehlerBehandelt = fehler == null;
3739
}
3840

3941
public List<UMLVerbindung> getNeueAssoziationen() {
@@ -47,6 +49,14 @@ public List<UMLKlassifizierer> getNeueKlassifizierer() {
4749
public Exception getFehler() {
4850
return fehler;
4951
}
52+
53+
public boolean istFehlerBehandelt() {
54+
return istFehlerBehandelt;
55+
}
56+
57+
public void setIstFehlerBehandelt(boolean istFehlerBehandelt) {
58+
this.istFehlerBehandelt = istFehlerBehandelt;
59+
}
5060
}
5161

5262
/**
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
Interface = Interface
22
Klasse = Klasse
33
AbstrakteKlasse = abstrakte Klasse
4-
Enumeration = Enumeration
4+
Enumeration = Enumeration
5+
Record = Record

src/main/resources/ressourcen/sprache/de/UMLKlassifiziererBearbeitenDialog_de.properties

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,14 @@ final = final
3030
konstruktoren = Konstruktoren
3131
konstruktorname = Konstruktorname
3232

33+
# Verbindungen
34+
assoziationen = Assoziationen
35+
vererbungen = Vererbungen
36+
klasse/interface = Klasse/Interface
37+
verwendet... = verwendet...
38+
ausgeblendet = Ausgeblendet
39+
superklasse/interface = Superklasse/Interface
40+
3341
# Validierung
3442
klassennameValidierung = Der Klassenname muss angegeben werden
3543
klassennameValidierung2 = Ein Element mit diesem Namen ist bereits vorhanden
@@ -44,6 +52,7 @@ superklasseValidierungInterface = Die Superklasse darf kein interface sein!
4452
attributValidierungVoid = Der Typ void ist hier nicht erlaubt
4553
konstruktorValidierung = Ein Konstruktor mit gleicher Parameterliste ist bereits vorhanden
4654
abstraktFinalValidierung = Eine abstrakte Methode darf nicht final sein
55+
interfaceValidierung = Es dürfen nur Interfaces angegeben werden!
4756

4857
# ButtonType
4958
APPLY = Anwenden
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
# Assoziationen
2+
assoziationen = Assoziationen
3+
klasse/interface = Klasse/Interface
4+
verwendet... = verwendet...
5+
ausgeblendet = Ausgeblendet
6+
7+
# Vererbung
8+
vererbungen = Vererbungen
9+
superklasse/interface = Superklasse/Interface
10+
11+
# ButtonType
12+
APPLY = Anwenden
13+
BACK_PREVIOUS = Zurück
14+
CANCEL_CLOSE = Abbrechen
15+
FINISH = Beenden
16+
HELP = Hilfe
17+
HELP_2 = Hilfe
18+
NEXT_FORWARD = Weiter
19+
NO = Nein
20+
OK_DONE = Ok
21+
YES = Ja
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
2+
# Verbindungen
3+
assoziationen = Assoziationen
4+
vererbungen = Vererbungen
5+
klasse/interface = Klasse/Interface
6+
verwendet... = verwendet...
7+
ausgeblendet = Ausgeblendet
8+
superklasse/interface = Superklasse/Interface
9+
10+
# Validierung
11+
klasseLeerValidierung = Es muss eine Klasse oder ein Interface gewählt werden
12+
klassenGleichValidierung = Es müssen verschiedene Klassen/Interfaces gewählt werden
13+
ausgeblendetValidierung = Es müssen alle Klassen/Interfaces vorhanden sein, um die Verbindung einzublenden

windows_auslieferung.bat

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ rem Mit den folgeneden Variablen koennen die Grundlegenden Daten fuer das Projek
44
set NAME=Classifier
55
set DESCRIPTION=UML-Klassenmodellierung
66
rem Version muss groesser gleich 1.0.0 sein!
7-
set VERSION=1.0.4
7+
set VERSION=1.1.0
88
set VENDOR="Tim M�hle"
99
set COPYRIGHT="Copyright � 2022 - Tim M�hle"
1010
set LICENSE_FILE=LICENSE.txt

zip_app_images.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
VERSION="1.0.4"
1+
VERSION="1.1.0"
22
NAME="Classifier"
33
OUT="auslieferung/${VERSION}"
44
MAC="${OUT}/macOS/app"

0 commit comments

Comments
 (0)