Neues Gentoo Buch

Heute hat Gunnar Wrobel auf seinem Blog die Fertigstellung sein neues “Gentoo Linux” Buches bekanntgegeben. Sicherlich sind alle Informationen auch im Netz verfügbar, aber wenn sich schon jemand die Arbeit macht, alle Infos in ein Medium zu packen, dass ich auch im Bus benutzen kann, dann muss ich es eben gleich mal bei meinem Online-Lieblingsbuchladen bestellen. Im Beispielkapitel geht es um das Bauen von ebuilds …  so muss lesen und ebuilds bauen 😉

Netbeans und Code Formatierung in Multi-IDE-Umgebung

Ich arbeite derzeit als einziger in einem Projekt mit Netbeans 6.0.1. Alle anderen Entwickler benutzen Eclipse. Nun haben wir in diesem Projekt strenge Richtlinien was die Code-Formatierung angeht und ich musste feststellen, dass Netbeans bei weitem nicht so viele Optionen bei der Formatierung hat wie Eclipse. In meinem Fall stört mich eigentlich nicht viel:

  • Aus dem Fileheader werden immer die Leerzeilen gelöscht. Überhaupt gibt es für Kommentare soweit ich es überblicke keine Einstellmöglichkeiten.
  • zwischen Membervariablen werden immer die Leerzeilen gelöscht (Siehe Issue 121956).
  • Es ist nicht einstellbar, dass beim Speichern der Datei die Formatierung und das “Organisieren der Import-Statements” ausgeführt wird.

Es sind keine grosse Sachen, aber sehr lästig, wenn man in einem Projekt mit unterschiedlichen IDE’s arbeitet. Am schönsten wäre es natürlich, wenn man die Einstellungen von Eclipse einfach importieren könnte. 😉

Einen Export der Formatierungen gibt es in Netbeans derzeit nicht. Alle Einstellungen sind aber in einer Datei gespeichert, die man seinen Kollegen weitergeben kann, damit sie die gleichen Einstellungen benutzen können. Die Datei ist zu finden unter:

<homedir>/.netbeans/6.0/config/Preferences/org/netbeans/modules/java/source/CodeStyle/default.properties

Es gibt auch viel Gutes zu berichten. Das folgt aber in einem anderen Post.

Ein einfaches PDF mit Java erzeugen (iText vs. JasperReports vs. Birt)

Derzeit arbeite ich u.a. daran ein PDF-Dokument mit Java zu erzeugen. Es ist ein einfacher Brief mit einer Anschrift, Ort, Datum, Betreff und dem Briefinhalt. Ein paar Sachen sollen dynamisch eingefügt werden. Es ist also eine recht einfache Sache. Da im Projekt schon iText im Einsatz ist, habe ich damit angefangen. Mit der Hilfe des Buches IText in Action” von Bruno Lowagie – und insbesondere den Code-Beispielen – hatte ich innerhalb eines Tages die Aufgabe gelöst. Jar-Files in den Classpath und ca. 100 Zeilen Java-Code (kann ihn leider hier aus rechtlichen Gründen nicht zeigen) und die Sache war geschaft. Ich habe mit ColumnText die Texte absolut positioniert.

Nun hat aber ein Kollege gemeint, dass es ja sehr unschön sei, dass die Layoutinformation im Java-Source vergraben sei. Stimmt. Innerhalb des Java-Codes steht nun wo welche Information auf dem Brief stehen soll. Soll das Layout geändert werden, dann muss auch mein Code geändert werden.

Naja, also mal schnell umgeschaut und die zwei Platzhirsche im Bereich Java-Reporting nämlich JasperReports und Birt angeschaut. Wie schon des öfteren geschrieben wird bei uns sehr viel mit Eclipse gemacht und deshalb habe ich als erstes mal Birt angeschaut. Nach einem halben Tag war ich noch nirgends, insbesondere war mir nicht vollständig klar, wie die Laufzeitumgebung auf dem Server aussieht und was ich alles deployen muss. Also habe ich mich an JasperReports gesetzt und siehe da innerhalb von zwei Stunden mit 10 Zeilen Code und einem Report mit IReport erstellt, war das erste PDF gebaut. Einfach die jar-Files von JasperReports mit auf dem Server deployen – fertig. Die mitgelieferten Beispiele in Form von Reports und Java-Source sind ein guter Einstieg.

Inzwischen sind auch die Briefe komplexer geworden und ich war froh nicht mehr alles per Hand mit iText ausprogrammieren zu müssen.  Alles in Allem ist JasperReports eine echte Empfehlung.