Eclipse PlugIn: Wie kann Text im Konsolen Fenster ausgegeben werden?

Manchmal möchte man einfach nur Text in der Konsole ausgeben. Früher, d.h. vor Eclipse 3.0 musste man dazu eine eigene View erzeugen. Das braucht man nun nicht mehr, man kann die vorhandenen generic Log Konsole verwenden.

Aufrufen geht dann einfach so:

Hier die Methode, die die Konsole liefert bzw. erzeugt:

Wir erhalten dann folgenden Ausgabe:

Log Konsole von Eclipse
Log Konsole von Eclipse

Um das zu erreichen, muss noch eine neue Abhängigkeit ( org.eclipse.ui.console) (Dependencies) ergänzt werden:

Abhängigkeit Eclipse View
Was zu folgenden Eintrag im Manifest führt:
Manifest

Eclipse PlugIn: Wie kann ein Logeintrag in der Error Log View erstellt werden?

Bei der PlugIn Programmierung unter Eclipse Luna kann leicht auf die Log-View zugegriffen werden. Hier mal ein kleines Beispiel mit den verschiedenen Loglevel:

So sieht es dann aus:

Eclipse Log Eintrag erstellen
Eclipse Log Eintrag erstellen

Wie kann mit der neuen Java Zeit API 1.8 ein Zeitstempel (2014-01-31_15:12:00) erzeugt werden?

Java 1.8 gibt es ja nun schon einige Zeit. Warum nicht die neue Time API verwenden?

Vorteil, die meisten Time und Date Klassen sind immutable und thread-safe. Z.B die LocalDateTime, LocalDate und DateTimeFormatter.

Hier mal ein Beispiel, um einen Zeitstempel in der Form 2014-01-31_15:12:00 zu erzeugen:

Wie kann mit der neuen Java 1.8 Time Api einmal am Tag um Mitternacht ein Ereignis erzeugt werden?

Wie kann mit der neuen Java 1.8 Time Api einmal am Tag um Mitternacht ein Ereignis erzeugt werden? Natürlich geht auch jeder andere Zeitpunkt, aber hier mal das Beispiel um Mitternacht:

Hier die Beispiel Klasse.

Wichtig ist das sie von TimerTask ableitet und die run() Methode überschreibt.

DUMP1090 Client TWFlug 0.1.0 für Raspberry Pi, Mac, Windows und Linux veröffentlicht

Habe soeben die 1. Version von dem DUMP1090 Client TWFlug kostenlos TWFlug Icon
veröffentlicht.

TWFlug liest die Daten von einem DUMP1090 Server und zeigt sie (optional) in einem Tacho an oder/und schreibt die Daten in eine Logdatei für die Auswertung mit z.B. Fhem. Es kann die Logdatei auch per sFTP an einen entfernten Rechner kopieren.
Das TWFlug Programm ist ein Java Programm und läuft somit auf allen Betriebssystem. Es können mit Fhem dann solche schönen Grafiken in Echtzeit angezeigt werden:

Fhem Flugdaten in Langenhagen zu Weihnachten
Fhem Flugdaten in Langenhagen zu Weihnachten

Installation:

Download der twflug-0.1.0.zip.

Dann das Archive auspacken.

Für das Starten gibt es zwei Möglichkeiten mit oder ohne GUI.

Ohne GUI mit Eingabe in der Konsole in dem TWFlug Verzeichnis mit:

also z.B. java -jar twflug.jar -n --ip 192.198.1.2

oder mit GUI

also z.B. java -jar twflug.jar --ip 192.198.1.2

Dann startet nach einigen Sekunden, die folgenden Anzeige von TWFlug:

TWFlug Tacho
TWFlug Tacho

Weiter Infos zu den Parametern erhält man durch Eingabe von

Weitere Anregungen, Bugs, Fix, Likes, Lob und Dank gerne als Kommentar hier auf der Seite.

Viel Spaß beim Planecounting.

Raspberry Pi: Wie können Flugzeugdaten in Fhem in real-time (Echtzeit) angezeigt werden?

Da bei mir ein Fhem Home-Server läuft, hatte ich die Idee, dort doch gleich die Flugdaten die von den Flugzeugtranspondern ausgesendet werden schön graphisch in Echtzeit anzuzeigen.

Also wie kann eine Grafik in Fhem erstellt werden, die die aktuelle Anzahl der gerade empfangenen Flugzeuge anzeigt.

Hier das Ergebniss, wo man deutlich sehen kann, das heute bis ca. 6 Uhr nur ca. 10 Flugzeuge flogen. Dann steigt der Flugverkehr rapide an:
Fhem Flugdaten

Wie kann nun so eine Grafik, die sich automatisch aktualisiert erstellt werden.

Zuerst einmal die Architektur als BPMN 2.0 Diagramm:

Architektur TWFlug BPMN 2.0
Architektur TWFlug BPMN 2.0

Es werden zwei Raspberry Pi benötigt. Auf dem einen läuft der DUMP1090 Server mit der TWFlug Anwendung unter Java 1.8. Die TWFlug Anwendung läuft ohne Gui, und schreibt alle 5 Minuten die Anzahl der empfangenen Flugzeuge in eine Datei. Diese Datei wird dann jede halbe Stunde per sFTP an den anderen Raspberry Pi gesendet und von Fhem eingelesen und als Grafik ausgegeben.

TWFlug kann auch mit Gui auf einen Rechner gestartet werden und gibt dann als Tacho die Anzahl der Flugzeuge aus.

TWFlug Tacho
TWFlug Tacho

Das nötige GPlot Script:

TWFlug schreibt die Daten in eine Logdatei mit folgenden Format, z.B.:

TWFlug kennt bisher die folgenden Parameter:

Welche fehlen noch?

Hinweise zu TWFlug TWFlug Iconund DUMP1090 können auf diesem Blog gefunden werden.

JUnit 4.12 erschienen

Nach über 2 Jahren ist nun eine neue Version von JUnit veröffentlicht worden. Die Releasenotes sind auf Github zu finden. In folgenden Bereichen gab es Ergänzungen:

Ok, dann mal gleich das aktuelle Maven Projekt TWFlug auf die neue Version 4.12 angepasst:

Und siehe da, alles GRÜN:
Bildschirmfoto 2014-12-14 um 16.47.52

Mehr über JUnit oder drei Gründe warum man keine JUnit-Tests schreiben sollte.

Testfreigabe: TWFlug 0.0.1 beta für DUMP1090 zur Auswertung von Flugdaten

Habe ein Java Programm für die übersichtliche Anzeige der empfangenen Flugzeuge erstellt.
Wer einen DUMP1090 Server laufen hat, kann das TWFlug Programm starten.
Es werden bisher folgende Funktione geboten:

  • anzeige der Anzahl der sichtbaren Flugzeuge
  • erstellen einer Log Datei im Fhem Format

Das TWFlug Programm läuft auf unterschiedlichen Plattformen (Win, Linux, Mac…), bisher habe ich Mac OS X Yosemite (10.10.1) getestet. Wer vor der ersten öffentlichen Version am Test teilnehmen möchte, kann mir eine E-Mail senden.

So sieht das TWFlug nach dem Start aus:

TWFlug Programm
TWFlug Programm

Folgendes Fhem-Format wird alle 5 Minuten geschrieben, damit in Fhem Grafiken erzeugt werden können:

Das Programmfenster läßt sich skalieren, so das es auf dem Desktop schön aussieht:

TWFlug klein

Der Quellcode liegt auf GitHub.

SelBlocks für Selenium installieren oder „Wer testet ist feige“

Das Plug-In SelBlocks für die Selenium IDE darf nicht fehlen. Also über diese Seite installieren und den Browser neu starten:
Bildschirmfoto 2014-10-07 um 19.53.13

Das Plugin ist eine Erweiterung für die Selenium IDE und fügt der IDE die folgenden doch immer nötigen Befehle hinzu:

  • if, elseIf, else
  • try, catch, finally, throw
  • for, foreach, while, continue, break
  • call, function, return
  • loadJsonVars, loadXmlVars, forJson, forXml
  • exitTest

Die Selenium IDE muss natürlich vorhanden sein:
Bildschirmfoto 2014-10-07 um 19.54.42

Eine ausführliche Beschreibung und auch Beispielen sind auf dieser Seite zu finden.

Wie kann OpenHab und eine Demo-Anwendung auf einem Raspberry Pi (Debian) installiert werden?

Wie kann OpenHab und eine Demo-Anwendung auf einem Raspberry Pi (Debian) installiert werden?

OpenHab läuft auch auf einem Raspberry Pi. Auf Wikipedia gibt es einen kurzen Überblick zu OpenHab.

Um erste Erfahrungen mit OpenHab zu machen, kann man die Demo Anwendung von OpenHab installieren. Als Basis dient die aktuelle Debian 7.6 Version, auf der schon Java installiert ist.

1. Zuerst checken ob Java installiert ist und läuft mit:

Ausgabe:

2.Verzeichnis anlegen

3. Von hier die https://openhab.ci.cloudbees.com/job/openHAB/

die aktuelle Version 1.6.0 laden und auspacken (erst die runtime und später die demo)

4. Usermod für User pi setzen und default openhab.cfg erstellen

5. Demo zip laden uns auspacken (eine Readme Datei wird evl. überschrieben)

6. Starten von OpenHab und im Browser aufrufen (ip anpassen)

Ungefähr 1 Minute warten…
Bildschirmfoto 2014-10-02 um 21.59.42

Dann im Browser die folgende URL der Demo Anwendung aufrufen:

Hier nun einige Fotos, von der Demoanwendung:
Bildschirmfoto 2014-10-02 um 21.56.03

Bildschirmfoto 2014-10-02 um 21.56.29

Bildschirmfoto 2014-10-02 um 21.57.13

Bildschirmfoto 2014-10-02 um 21.58.16

Wie nutzt Ihr OpenHab?

Wie kann Eclipse 4.4 Luna installiert werden, das soeben erschienen ist und meine TOP 7 Plugins?

Hallo,

soeben ist Eclipse 4.4 Luna erschienen.
Bildschirmfoto 2014-06-25 um 20.33.31
Auf die Download-Seite gehen und installieren.

Folgende Plugins sind noch für mich nötig:

CommentTemplate

Wie in Blogeintrag installieren.

Dieses Jar den Classpath hinzufügen:
Bildschirmfoto 2014-06-25 um 20.51.37Bildschirmfoto 2014-06-25 um 20.59.47

Subversion – SVN Team Provider 2.0

Bildschirmfoto 2014-06-25 um 21.02.44
Bildschirmfoto 2014-06-25 um 21.06.52
Bildschirmfoto 2014-06-25 um 21.08.16

Grep Console 3.6

Wie hier beschrieben installieren.
Bildschirmfoto 2014-06-25 um 21.18.51

Workspacemechanic

Wie hier beschrieben installieren.
Bildschirmfoto 2014-06-25 um 21.21.29

Start Explorer

Wie hier beschrieben installieren.
Bildschirmfoto 2014-06-25 um 21.24.02

UML Diagramme erstellen mit ObjectAid

Wie hier beschrieben installieren.
Bildschirmfoto 2014-06-25 um 21.31.03

BPMN 2.0 Modeler

Wie hier beschrieben einfach die Kepler Update URL nehmen, die „geht“ auch mit Luna:
http://camunda.org/release/camunda-modeler/update-sites/kepler/latest/site/ die geht, habe es eben mit einem Diagramm validiert:
Bildschirmfoto 2014-06-25 um 21.48.13
Bildschirmfoto 2014-06-25 um 21.46.01

Welche Plugins sind für Euch essentiell? Bitte als Kommentar.

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

Wie kann auf einem Raspberry Pi die neueste Java 1.8 Version von Oracle installiert werden?

Zuerst das System des Raspberry Pi updaten und neu starten mit:

Schauen, welche Version jetzt installiert ist mit java -version:

Entweder über den den Packetmanager:

oder per Hand, dann so:

Dann das JDK 1.8 von der Oracle Seite downloaden. Die Seite wurde nach hier verschoben. Es wird die Linux ARM v6/v7 Hard Float ABI Version mit 83 MB benötigt.
Bildschirmfoto 2014-03-27 um 18.08.58

In das Download Verzeichnis wechseln und mit scp die Datei auf den rPi kopieren z.B.:

Dann in den rPi wechseln und und das Archive in das /opt Verzeichnis entpacken, das dauert ein paar Minuten:

Nun Java aktivieren und das Archive löschen mit:

Bildschirmfoto 2014-03-27 um 20.33.14
sudo update-alternatives --config java
# Auswahl 1 für Version 1.8 eingeben

Bildschirmfoto 2014-03-27 um 20.32.41

Und checken ob es geklappt hat mit java -version ergibt nun:

Java 1.8.0 ist nun erfolgreich installiert.