Java Getriebe

Java und NetBeans

try-with-resources dekompiliert

Durch einen ungünstigen Zwischenfall war ich gestern gezwungen die Arbeit des Tages durch dekompilieren noch vorhandener .class-Dateien zu retten. Nicht alle aktuellen Tools zum dekompilieren sind momentan in der Lage mit den Spracherweiterungen von Java 8 umzugehen. Mit CFR habe ich aber dennoch eine funktionierende Version des Tagewerks wiederherstellen können. Zumindest funktionieren die wiederhergestellten Tests.

Interessant fand ich eine Methode, die ich in der Form nicht in Erinnerung hatte geschrieben zu haben: Recht lang und dirverse geschachtelte try-catch-finally Blöcke. Read More

Simple XML/HTML Tag Writer

Eine einfache „Builder“-Klasse, mit der sich vergleichsweise leicht XML/HTML Tags erstellen lassen. Ich brauche die Klasse immer mal wieder, wenn ich einzelne HTML-Ausgaben erstellen muss (hier aus einem „@todo„-Taglet)

1
2
3
4
5
6
7
8
9
10
11
    String dt = new TagWriter("dt")
        .setAttribute("class", "simpleTagLabel")
        .setRawContent(new TagWriter("span")
            .setAttribute("style", "background-color:orange;padding:.5em;")
            .setContent("Zu Erledigen:")
            .toString())
        .toString();
    String dd = new TagWriter("dd")
        .setContent(tag.text())
        .toString();
    return dt + dd;

Die Klasse kommt auch mit „leeren“ Tag zurecht und schließt diese korrekt.
Read More

Fehler beim Parsen von XSLT Stylesheets abfangen

Die meisten XSLT Umwandlungen habe ich bisher im Browser erledigt. XML im Browser laden und als HTML darstellen lassen. Das begrenzt mich zwar größtenteils auf XSLT 1.0, aber ich kann mir diverse Ergebnisse, die hier erzeugt werden wunderbar im Browser anschauen und dank SVG sogar mit hübschen bunten Bildern.
Read More

Neue JUG in der Euregio Maas-Rhein

In der Euregio Maas-Rhein, zu der auch Aachen gehört, hat sich eine neue „Java User Group“ (JUG) gegründet: EuregJUG Maas-Rhine — All things JVM!: Warming up!.

Ziel soll es sein alle 2 Monate einen kostenfreien, englisch-sprachigen Vortrag anzubieten rund um das Thema Java und die JVM. Der erste Vortrag wird im 28.5.2015 stattfinden:
„Building Modular Java Applications in the Cloud Age“

Hintergrundprozesse ohne den EDT zu verlassen.

Ich hatte vor längerer Zeit schon mal den SecondaryLoop aus Java7 erwähnt und mich das selber fast genauso lange nicht mehr mit ihm beschäftigt. Jetzt bot sich allerdings eine Gelegenheit das nachzuholen. Ein kleiner „Downloader“, der eine ausgewählte Datei auf den lokalen Rechner kopieren sollte.

Read More

Java Namespaces

Ich merke bei meinen Azubis immer mal wieder, dass ihnen der Sinn oder Unsinn der Paket-Anweisung (package) nicht ganz bewusst ist. Die Klassen werden zwar in irgendein Paket abgelegt, aber warum unsere Paket alle ausgerechnet mit de.rwthaachen.wzl.gt wird nicht hinterfragt. So kommt es gerade bei den ersten eigenen Projekten regelmäßig vor, dass als Paket de.nachname.projekt verwendet wird. Meist blicke ich dann ich weit aufgerissene Augen wenn ich Frage „gehört dir die Domain ’nachname.de‘ überhaupt?“

Read More

TopComponentGroup mit Annotation

Für eins meiner Projekte hier in der WZL Getriebeabteilung wollte ich 2 TopComponents öffnen. Das geht am schönsten mit TopComponentGroups. Wer allerdings schon einmal eine TopComponentGroup erstellt hat, der wird mir sicherlich zustimmen, dass das Eintragen in die layer.xml eine sehr fehleranfällige Methode ist, da man sich relativ leicht vertippen kann.

Read More