Wie können UML 2.0 Klassen-Diagramme mit Eclipse Plugin ObjectAid auch in Version 2022-03 erstellt werden?

Das Eclipse-Plugin ObjectAid installieren über die Install URL http://www.objectaid.com/update/current funktioniert nicht mehr. Das Plug-In ist dafür zu alt. Die Seite gibt es nicht mehr.

Man kann sich aber noch das Plugin über diese URL https://web.archive.org/web/*/http://www.objectaid.com/update/current/objectaid-1.2.4.zip der Wayback Maschine landen. Das Zip dann lokal in ein Verzeichnis auspacken und über die local Funktion installieren:

Dann nach einem Restart, können die UML Diagramme leicht erstellt werden.

Hier ein Beispiel meiner Blockchain, in einen frühen Stadium bei XBT 38 k$ und Block Nr. 734258: „Wie können UML 2.0 Klassen-Diagramme mit Eclipse Plugin ObjectAid auch in Version 2022-03 erstellt werden?“ weiterlesen

Wie kann mit Eclipse 2019-06 aus einem XSD Schema Javacode generiert werden? Babyleicht? HiHi!

Wie kann mit Eclipse 2019-06 aus einem XSD Schema Javacode generiert werden? Das braucht man, um ein Datenmodell uä. zu erzeugen.

Zuerst erzeuge wir ein JAXB-Projekt fügen dann die XSD (hier mal die freemind.xsd als Beispiel, es geht aber jede) als Basis dem Projekt hinzu. Dann selektieren wir die XSD und generieren über das Kontextmenü das Modell. Bei der Generierung mit Java 8 oder 9 kommt es zu Fehlern. Deshalb erst das Projekt mit Java 7 wie folgt einrichten:
„Wie kann mit Eclipse 2019-06 aus einem XSD Schema Javacode generiert werden? Babyleicht? HiHi!“ weiterlesen

Java 8 Quickie: Kein PermSize und MaxPermSize – by by java.lang.OutOfMemoryError: PermGen error

Ab Java 8 werden die PermSize und MaxPermSize Kommandozeilen Parameter nicht mehr verwendet. Es wird eine Warnung in der Art:

ausgegeben. Also tschüss java.lang.OutOfMemoryError: PermGen error.

Quelle: Oracle.com

Java 8 Quickie: Wie können alle bestimmten Dateien eines Verzeichnis in einer Zeile ermittelt werden?

Mit der static Methode Files.newDirectoryStream. Diese Methode gibt es schon seit Java 1.7. Hier mal ein Beispiel für alle PDF Datein im aktuellen Verzeichnis:

Jubiläum: 20 Jahre Homepage wenzlaff.de!

Heute vor 20 Jahren, am 1.12.1998 ging die Domain wenzlaff.de zum ersten mal ans Netz. Wie die Zeit vergeht.

Es war eine statische Webseite mit Freeware und Sprüche Datenbank mit Newsletter und einigen C++ und Java Programmen zum kostenlosen Download aus meiner Hand. Hier ein etwas unvollständiges Bildschirmfoto, mehr habe ich leider nicht mehr gefunden:

Aber auch schon lange vor dieser Zeit, hatte ich eine Homepage, die aber dann auf den Servern der UNI-Bremen kostenlos gehostet wurde. Da hatte ich als Informatiker einen Zugang mit Akustikkoppler mit 300 Baud und Lochkarten hatten wir da auch noch. Das war wenigstens etwas zum anfassen, batches mit Lochkarten schreiben, cool!

Und es gab keine Werbung im Internet.

Die schöne alte Zeit. Und in der Zwischenzeit gab es immer mal neue Technologie. Vom statischen html zum xhtml und JavaScript über einen eigenen Java html Generator mit Templates bis heute zu den Content-Management-System mit eigener Datenbank.

Bis heute konnte ich auch auf dieser Webseite immer auf Werbung verzichten. Juhu …

Wie soll es weiter gehen? Gibt es noch Themen nach über 1000 Beiträgen? Ideen habe ich noch genug, was fehlt ist die Zeit!

In diesem Sinne, vielen Dank an alle Leser und für das viele Feedback (die über 1000 Kommentare mit Kommentarfunktion habe ich ja abgeschaltet…DSGVO läßt grüßen) das auch nach wie vor erwünscht ist, aber eben über E-Mail 😉

Thanks Mindmap
Danke Mindmap

Verzeichnise mit Java Monitor WatchService überwachen رصد, izlemek, 顯示器

Seit Java 7 gibt es den WatchService zum überwachen von Verzeichnissen auf System-Ebene. Der WatchService übernimmt direkt die Eventaufrufe des Betriebssystems und ist damit vergleichbar mit einem Low-Level-Event.

Damit kann man in ein paar Zeilen Code, zum Beispiel benachrichtigt werden, wenn eine neue Datei im Verzeichnis hinzugefügt wird.
Das wir mit der Konstanten StandardWatchEventKinds.ENTRY_CREATE angegeben. Es gib aber auch noch welche fürs löschen oder verändern. Die Konstanten können dann auch verknüpft werden.

Für die Verwendung muss das Package java.nio.file.* importiert werden. Hier der Beispiel Code, der das „input“ Verzeichnis des Users überwacht, der auch auf einem Raspberry Pi läuft 😉

Suche alle Dateien rekursive mit Umlaute im Dateiname auf Win, Mac, Linux und Raspberry Pi und liefere die Anzahl

Manchmal will man oder muss man alle Dateien, die einen Umlaut im Dateinamen haben ermitteln. Mir ging es so, als in der Dropbox Dateien mit Umlauten bei einem Programm bei der Synchronisation Probleme machte.

Dann sollte das auch noch auf Mac OS X, Windows, Linux und auf einen Raspberry Pi mit Debian laufen. Also mal ein kleines Java Programm geschrieben, das alle Dateien mit Umlaute (äöüÖÄÜ) im Dateinamen und auch die Anzahl ausgibt.

Das Programm läuft unter Java, da es ab Version 1.7 eine neue Klasse SimpleFileVisitor gibt, von der man leicht erben kann habe ich die mal verwendet. Man kann aber auch selbst das Interface FileVisitor implementieren.

Einfach die Datei laden und das Zip-Archive entpacken. „Suche alle Dateien rekursive mit Umlaute im Dateiname auf Win, Mac, Linux und Raspberry Pi und liefere die Anzahl“ weiterlesen

Java Rätsel des Monats

Wenn wir diese Java Klasse compilieren und ausführen:

Welche Lösung bzw. Aussage ist richtig?

1. Es wird immer folgende Ausgabe gemacht, egal was in der wieSiehtDieMethodeAus()
ergänzt wird:
Hallo Welt!
Hallo Welt!
Hallo Welt!

2. Es wird „nichts“ ausgegeben.

3. Es wird Hallo Welt! ausgegeben

4. Es kann durch Anpassung, nur in der Methode wieSiehtDieMethodeAus() folgende Ausgabe erzeugt werden?
Was in Java alles geht!
Was in Java alles geht!
Was in Java alles geht!

Dein Vorschlag in Form von 1,2,3 oder 4 bitte posten. Nur Mut!
Hier nun die Lösung:
„Java Rätsel des Monats“ weiterlesen

Autor Thomas Wenzlaff hat im Java Magazin September 2013 einen Artikel veröffentlicht zum Thema: „Per Java auf USB Schnittstellen zugreifen mit javahidapi“

Das Java Magazin Ausgabe 9-2013 ist jetzt überall erhältlich (Inhalt). Das Magazin erscheint in einer Auflage von ca. 20000 Exemplaren und ist das am weitesten verbreitet Magazin für JAVA.

In der Ausgabe findet Ihr einen Artikel vom mir zum Thema „Ansteuerung von USB-Schnittstellen via javahidapi mit Java“ inkl. einem Eclipse Beispielprojekt zum downloaden.

Hier ein Foto meines Belegexemplares:

Java Magazin 9 2013
Java Magazin 9 2013

Wie findet Ihr den Artikel? Würde mich über Feedback freuen.

Quick-Howto für die Coole Java Template-Erstellung (JaMoPP) mit CommentTemplate ldt. JavaMagazin 1-2013

Oder was ist JaMoPP? Damit es auch unter Eclipse Kepler SR1 läuft (Update: läuft auch unter Eclipse Luna 4.4.0 und Eclipse Mars 4.5.0), zuerst über Eclipse Marketplace den CommentTemplate 0.9.2 installieren:
Bildschirmfoto 2014-05-01 um 21.17.45
Dann diesen Beispiel Code ausführen:

package de.wenzlaff;

import java.util.Date;

import de.devboost.commenttemplate.CommentTemplate;

/**
* 1. Installieren über Eclipse Update oder Marketplace (suchen nach CommentTemplate)
* 2. New PlugIn Projekt
* 3. Add new Dependencies de.devboost.commenttemplate-Version.jar
* 4. Klasse mit Extension Source.java erstellen
* 5. Annotation @CommentTemplate an String Methode mit return null
* 6. JavaDoc Formatierung in Eclipse für das Projekt ausschalten
* 7. Save erzeugt in src-gen-comment-template die generierte Klasse
* 8. Run as
*
* Beispiel Video: http://jamopp.org/index.php/JaMoPP_CommentTemplate
* Anleitung: http://reuseware.org/publications/2012_ACME_CommentTemplate.pdf
*/
„Quick-Howto für die Coole Java Template-Erstellung (JaMoPP) mit CommentTemplate ldt. JavaMagazin 1-2013“ weiterlesen

Wie kann bei JAXB marshal verhindert werden das „ “ geschrieben wird?

Das geht mit der Property: Marshaller.JAXB_FRAGMENT
Wenn die auf true gesetzt wird, erscheint der XML Tag nicht mehr.

Hier ein komplettes Beispiel für die Serialisierung:


JAXBContext jaxbContext = JAXBContext.newInstance(Map.class);
Marshaller marshaller = jaxbContext.createMarshaller();

// Verhindern des tags:
marshaller.setProperty(Marshaller.JAXB_FRAGMENT, Boolean.TRUE);

marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
marshaller.marshal(freemindMap, outFile);

Welche Java Version gibt es für Mac OS X?

Eine gute Liste der Java Versionen gibt es hier. Oder das Orginal von Apple mit Java Code zur ermittlung der Version.

Die Java Version kann man im Terminal wie folgt ermitteln:


java -version

Es wird dann z.B. geliefert:

java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11D50)
Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

JDK 7 „Diamanten sind für immer“

In Java 7 gibt es jetzt den „diamond Operator“. Nun müssen bei generics keine Typen doppelt deklariert werden.

Hier ein Beispiel vorher und nachher:

List<Integer> liste = new ArrayList<Integer>(); // vor JRE 7

List<Integer> diamantListe = new ArrayList<>(); // ab JRE 7, ja Diamonds are forever

Java 7 ist DA!

So, jetzt ist Java 7 da. Was braucht man zum ausprobieren?

Eine Eclipse Version die Java 7 unterstützt. Das geht noch nicht mit Helios. Deshalb einen „Nightly Build“ herunterladen.
Dann über Update neue Software über diese URL den JDK 7 patch herunterladen.

Was dann noch fehlt ist das JDK 7 von Oracle.

In den Projekt Einstellungen unter Java Compiler die 1.7 auswählen und nun der erste Test.

In Java 1.7 sind jetzt Unterstriche (_) in Literalen möglich, um besser zu gliedern z.B.

Das Ergebnis:
Telefonnummer 1: 11223344
Telefonnummer 2: 1122.33

Weitere Neuerungen mit Beispielen wie „String in switch“ kommen hier dann demnächst.