Wie kann in Java ein ical Termin (ics Datei) erzeugt werden?

Wer mit Java ical Termine erzeugen will, kann das gut mit der ical4j Lib machen. Es muss dazu in der pom.xml dieser Eintrag hinzugefügt werden.

Dann wollen wir zuerst mal ein paar Zeilen für den JUnit Test dafür schreiben:

Wir brauchen noch die Kalender Klasse, die hier kopiert werden kann:

Wie kann mit Java 8 und dem DOM-Parser einfach eine XML Datei erzeugt werden?

Wie kann mit Java 8 mit dem DOM-Parser einfach eine XML Datei erzeugt werden? Es sind keine weiteren Abhängigkeiten nötig. Allso keine imports von Fremdjars. Alles ist in Java 8 vorhanden:

Es muss ein DOM Object mit der Baumstruktur erzeugt werden. Dann kann mit dem Transformer und dem StreamResult in eine Datei geschrieben werden. …

Java 8 Quickie: Alle Zeitzonen mit getAvailableZoneIds mit Java ermitteln

Wie können alle Zeitzonen mit Java ermittelt werden? Das geht mit der Methode getAvailableZoneIds der Klasse ZoneId. Die Methode ist thread save und der Set kann zukünftig noch erweitert werden. Bei mir ist er heute 600 Einträge (IDs) groß, wie dieser JUnit Test zeigt: @Testpublic void testGetAlleZeitzonen(){ List zeitZonen = new ArrayList<>(ZoneId.getAvailableZoneIds()); zeitZonen.stream().sorted().forEach(zone -> System.out.println(zone)); …

Java Quickie: Iterieren mit forEach über eine Collection (von Mindmaps) mit Lambda expressions

Ab Java 8 kann mit der forEach Methode über einen Stream iteriert werden und das mit Lambdas. Hier mal eine Gegenüberstellung als JUnit Test:

Und das Mindmap BE:

Java Quickie: Ist eine Domain erreichbar?

Mit der Methode isReachable aus der Klasse InetAddress kann seit Java 1.5 leicht überprüft werden (via Echo) ob ein Rechner bzw. Domain erreichbar ist oder „lebt“. Als Parameter wird die Timeout Zeit in Millisekunden übergeben, hier also 1000 für eine Sekunde:

Eine IOException gibt es bei Netzwerkfehler. Und eine IllegalArgumentException wenn ein negativer Wert …

Java Quickie: Liefere die IP vom Domain Namen

Wie kann die IP von einem Domain Namen ermittelt werden? Das geht mit einer Zeile InetAddress.getByName aus dem java.net.InetAddress Package schon seit JDK 1. Wenn die Domain unbekannt ist gibt es eine UnknownHostException wie diese JUnit Tests zeigen:

Raspberry Pi FreeMarker Java and Maven Project goes to 去 يذهب إلى GibLab and not to GitHub

Bisher hatte ich alle öffentlichen Repositorys in GibHub liegen. GitHub ist nun aber an Microsoft verkauft worden. Wenn das kein Grund ist, das nächste Repo mal in GitLab anzulegen. GitLab hat auch den Vorteil, das private Repos kostenlos sind und … Also das FreeMarker-Maven-Java-Projekt nach GitLab hochladen. Was etwas suche und Anpassung benötigte, war der …

Es muss ja nicht immer Apache Velocity sein, Apache FreeMarker geht auch!

Es gibt unterschiedliche Template Engine, wie zum Beispiel Apache Velocity aber auch Apache Freemarker. Bei der Verwendung von Templates, kann man sich einfach auf die Präsentation der Daten konzentrieren. Das läuft nach dem MVC (Model View Controller) Pattern. Die Templats können auch über diesen Online FreeMarker Template Tester ohne Aufwand getestet werden. Heute mal ein …

Kostenlose mp3 Dateien mit Inhalt 0,0 bis 100,0 für die Ansage in deutsch mit voicerss.com und id3v2.

In diesem Beitrag hatte ich beschrieben wie mp3 Dateien von 1-1000 erzeugt und kostenlos geladen werden können. Und hier hatte ich gezeigt, wie man offline mp3 und wav Dateien auf dem Raspberry Pi selbst erzeugen kann. Hier nun alle mp3 Dateien mit dezimaler Ausgabe von 0,0 bis 100,0. Hier wieder eine Testdatei zum anhören: Download …

Kostenlose mp3 Dateien mit Inhalt 0 bis 1000 für die Ansage in deutsch mit voicerss.com und id3v2.

Für ein Homeautomatisations Projekt mit Raspberry Pi, brauchte ich mp3 Dateien für die Ansage. Damit alles lokal läuft, und ich nicht die mp3 Dateien per Web jedesmal erzeugen bzw. laden muss, habe ich mal eben 1000 mp3 Dateien erzeugt. Jede mit dem jeweiligen Inhalt bzw. Ansage in deutsch in Mono mit 44khz in 16bit mit …

Usability-Verbesserunge: Code Mining (Code CodeLens) mit Eclipse Photon

Wer Zusatzinformationen im Quelltext sehen will, kann das mit dem Code Minig (CodeLens) machen. Folgende Infos werden geboten: Allgemein Zeige references Zeige implementations Zeige method parameter Namen Zeige method parameter types Zeige end statement JUnit Zeige JUnit status Zeige JUnit run Zeige JUnit debug Debugging Zeige variable values inline im debugging EGit Zeige revision recent …

Photon, besser als Fussball!

Mitten im Fussballspiel der Weltmeisterschaft wurde die neue Photon Eclipse Version veröffentlicht. Bei heise.de gibt es einen Überblick mit Video. Jetzt kann auch der Testcode mehr getrennt werden. Dann mal downloaden. Erster Quicktest mit Java 9 und JUnit läuft:

Wie kann Boilerplate Code in Java reduziert werden?

Das geht mit dem Lombok Projekt. Für eine Java-Daten Klasse z.B. Arzt

wird dann automatisch folgendes generiert:

Quicktest: JDeps (Java Dependency Analysis Tool)

Mit Java 8 wird im bin Verzeichnis auch das JDeps Tool ausgeliefert. Dieses Tool ermöglicht eine statische Kodeanalyse von der Kommandozeile. Es kann die statischen Abhängigkeiten von Klassen und Jars aufzeigen und auch eine Abhängigkeitsgraphen generieren. So ist man dann für Java 9 vorbereitet. Das wollen wir einmal ausprobieren. Dazu hole ich mir für mein …

Standalone RESTful Server und Client mit dem Restlet Framework

Manchmal braucht man in Java einen REST Server oder Client oder beides. Das ist mit dem Restlet Framework schnell implementiert. Es kann entweder das ganze Beispielprojekt von Github geladen werden oder diese Schritte ausgeführt werden: Zuerst richten wir in Eclipse ein neues Maven Projekt ein und fügen der pom.xml diese Einträge hinzu:

Universally Unique Identifier (UUID) bzw. Globally Unique IDentifier (GUID) mit Java erzeugen

Ein Universally Unique Identifier (UUID) ist ein Standard für Identifikatoren. Wer eindeutige einmalige IDs braucht, kann die in Java einfach erzeugen. Es gibt da ab 1.5 die Klasse UUID mit der man einfach diese IDs erzeugen kann. Die RFC 4122 beschreibt den Aufbau und den Algorithmus für die Erzeugung. Das ganze ist schon ziemlich sicher, …

Gurken-Test mit Cucumber

Mit Cucumber können Testfälle schön in Worte beschrieben werden. Hier mal ein schneller quick Einstieg. Eine Testfall Beschreibung kann in Worten mit der Gherkin Syntax geschehen, z.B diese kalender.feature:

In Eclipse sind die JUnit-Test auch schön lesbar, z.B.: Für Eclipse gibt es ein Natural 0.7.6 Plug-In für die *.feature Dateien. Das kann leicht über …

Wie können Artifacte nach Maven Central (Nexus) mit einem Mac hochgeladen werden?

Wie können Artifacte wie Jars usw. in das Nexus Maven Central Repository mit einem Mac (Windows analog) hochgeladen werden? Das geht in 4 Schritten, die hier am Beispiel von de.wenzlaff.dump1090 beschrieben werden. Einen Atlassian Account und Jira Ticket anlegen Zuerste benötigen wir einen Accout bei Atlassian den wir hier beantragen können. Evl. haben wir ja …