Update! They eliminated everyone in NetBeans in the USA

Es gibt einen Beitrag von David Van Couvering zu seiner Entlassung bei SUN in diesem NetBeans-Forum. David war der Kopf des DB NetBeans Teams. Laut seinen Informationen wurde das komplette NetBeans Team in den USA aufgelöst.

They eliminated everyone in NetBeans in the USA. The entire J2EE team was laid off, as well as the frameworks team. They also eliminated the QA team in St. Petersburg. So I don’t think it’s about db tooling and MySQL tooling redundancy.

In den letzten Monaten sind diverse Verbesserungen im DB Support von NetBeans umgesetzt worden, so das nun z.b.: auch SQL code completion in the NetBeans PHP editor möglich ist.

Schade! Sowohl für die betroffenen Entwickler als auch für die NetBeans Anwender.

Die Datenbankunterstützung in NetBeans hätte richtig gut werden können. Es gab viele Ideen in welche Richtung die Weiterentwicklung stattfinden sollte. Die folgenden Links führen zu ein paar Wiki Seiten des DB Teams:
NetBeansDatabases
RewriteDBExplorer
NetBeansDatabases

Die Entwickler haben über den Tellerrand geschaut und sich angesehen was die Konkurrenz auf diesem Gebiet macht: DBCompetitiveAnalysis

Netbeans DB Team eliminated

Auf der DB Netbeans Mailingliste (db.netbeans.org) hat ein SUN Mitarbeiter gestern verkündet das das gesamte Netbeans DB Team eliminiert wurde:

You should know that actually the entire DB team was eliminated today, so this list, for a time at least, will be quite silent.

Das sind die Auswirkungen der Sun Ankündigung 6000 Stellen zu streichen. Diese Maßnahme hat der Markt heute mit einem kräftigen Kursanstieg belohnt.

Abrufen der Netbeans Sourcen aus Mercurial

Um mit den neusten Netbeans Sourcen arbeiten zu können, gibt es nur einen Weg: Abrufen der Daten aus der Sourceverwaltung. Vor einiger Zeit wechselte SUN von CVS auf Mercurial. Wiso, warum? Keine Ahnung! Im Zusammenhang mit Netbeans bin ich das erste mal mit der Source Verwaltung Mercurial  in Kontakt gekommen. 

Was genau alles zu tun ist um die Sourcen abzurufen steht hier beschrieben.
Einen Hinweis kann ich aus eigener Erfahrung hinzufügen: Das erstmalige Abrufen der Source sollte man nicht per WLAN durchführen. Jedenfalls hat es bei mir erst dann funktioniert als ich mein Laptop per Netzwerkkabel mit dem Internet verbunden hatte.

Nachdem die Sourcen erfolgreich auf die Platte gesaugt sind, sehen die Eigenschaften des Ordners etwa so aus:

image

Das ist doch schon mal ein Anfang! 239.000 Files! Da kann man all jenen die sich hier neu einarbeiten wollen nur gutes gelingen wünschen 😉

Wer nun eine ant build startet wird damit die komplette IDE mit allen Erweiterungen bauen, das braucht seine Zeit. Auf meinem Laptop (Centrino Duo) ca. 1 Std. wer die ganzen Erweiterungen  (Mobil dies und Mobil das) nicht braucht, kann den build wesentlich schlanker halten, indem er ihn so ausführt:

ant -Dcluster.config=basic

Dieser Aufruf erzeugt nur die Basic IDE. Genau das richtige z.B.: für mich um den (neuen) SQL Support von Netbeans kennenzulernen.

Zip File der NetBeans Sourcen zu groß für WinZip?

Wer sich mit den Sourcen von NetBeans beschäftigen möchte kann von hier eine ZIP Datei der kompletten IDE herunterladen. Das Problem auf das ich dabei gestoßen bin ist die ZIP Datei selbst! Das entpacken dieser Datei mit Winzip sah auf den ersten Blick erfolgreich aus. Einfach ein Datei hier entpacken und los gehts (dachte ich ;).
Das extrahieren benötigte einige Zeit auf meinem Laptop da viele viele Dateien darin enthalten sind. Die Datei (netbeans-trunk-night_xxx.zip) ist ca. 280 MB groß und das entpacken mit Winzip lieferte keine Fehlermeldungen.

Der anschließende Versuch einen ant build mit diesen Dateien auszuführen, brachte die merkwürdigsten Ergebnisse und definitiv keine lauffähige IDE. Auch einige erneute Download versuche und anschließendem build brachte keine Verbesserung. Leider half der rege EMail-Verkehr mit den (sehr hilfsbereiten) Netbeans Entwicklern nicht weiter. Sie bestätigten immer wieder das die Datei in Ordnung ist und ein build bei ihnen damit ohne Probleme funktioniert.

Dann kam mir die Idee einen anderen Packer zu nutzen, manchmal sind ja die spontanen Ideen die besten 😉 das war die Lösung des Problems!

Winzip behauptet: In dieser ZIP Datei befänden sich 2671 Dateien.

Winzip Eigenschaften

Die selbe Datei von 7-ZIP analysiert liefert dieses Ergebnis:

7-ZIP Eigenschaften

Hier sind es nun plötzlich 68207 Dateien!!! Aha!

Nachdem ich mit diesem Tool die Sourcen entpackt hatte, war auch der anschließenden build (fast) kein Problem, doch das ist eine andere Geschichte.

SQuirreL SQL und NetBeans?

SQuirreL SQL ist ein sehr guter Java basierender SQL Client. Dieses Tool verwendet JDBC um sich mit jeder beliebigen Datenbank zu verbinden. Einzige Voraussetzung: Ein JDBC Treiber muß vorhanden sein.
SQuirreL ist OpenSource und wird bei Sourceforge gehostet. Ins leben gerufen wurde das Projekt von Colin Bell ich denke es war im Jahr 2001. Jedenfalls sagt das der Copyright Eintrag in der Klasse: Main.java.
Einige Jahre später hat dann Gerd Wagner ins Geschehen eingegriffen. Colin und Gerd sind bis heute die Projektadmins bei Sourceforge. Die Bedienung und die Leistungsfähigkeit sind super und die Möglichkeiten sehr umfangreich. Man bemerkt beim arbeiten das das Eichhörnchen schon einige Jahre reifen konnte und durch viele kleine gute Features überzeugt. Jetzt ist Schluß mit der Lobhudelei 😉
Leider konnte das UI mit dem Fortschritt nicht mithalten. Es wirkt etwas in die Jahre gekommen:

SQuirreL SQL UI

Aber es ist ja OpenSource. Also nicht lange meckern: Anpacken! Gesagt getan. Um nicht das Rad neu zu erfinden, habe ich mich auf NetBeans gestürzt. Genauer, auf die NetBeans Plattform. Hier ein Auszug der Beschreibung aus Wikipedia:

Die NetBeans Platform ist eine Anwendungs-Laufzeitumgebung eine Basis für eine generische große Desktop-Anwendung. Die meisten Anwendungen haben ähnliche Anforderungen: Menüs, Dokumentenmanagement, Änderungen von Einstellungen und so weiter. Die NetBeans-Plattform erstellt beispielsweise Menüs oder generiert Code für das Speichern von Einstellungen. Der Entwickler muss seinen Anwendungscode als ein NetBeans-Modul erzeugen und dieses der Plattform hinzuzufügen, um eine plattformunabhängige Anwendung zu erstellen. Die NetBeans-Plattform soll es ermöglichen, dass Entwickler sich auf die Geschäftslogik als wesentliche Aufgaben konzentrieren und somit Zeit und Aufwand sparen.

Mehr Details gibts hier.

SQuirreL nutzt derzeit bereits einen kleinen Teil der NetBeans Plattform. Der SQL-Editor basiert auf dem Netbeans-Editor. Er bietet SQL-Code-Vervollständigung und eine automatische Syntax-Überprüfung. Er verfügt über nützliche Shortcuts für Bookmarks und mit Ctrl-Space löst man die IntelliSense Funktion aus (Autovervollständigung von SQL-Befehlen).

Meine ersten portierungsversuche mit SQuirreL und Netbeans kann man auf den Bildern unten sehen:

SQuirreL on NetBeans: SQL History

SQuirreL on NetBeans: JDBC Panel

SQuirreL on NetBeans: Session Panel

Um diese Stand zu erreichen waren Eingriffe an vielen Stellen im SQuirreL Sourcecode nötig. Leider wird oft direkt mit JInternalFrames gearbeitet, was eine schlanke Anpassungen durch ein paar wenige Refactorings verhinderte. Mit dem derzeitigen Stand kann ich sagen das der Umfang des Packetes „SQuirreL“ beachtlich in die Höhe geschnellt ist.
Wegen des großen Aufwands bin ich von diesem NetBeans Weg nicht mehr so ganz überzeugt. Der Aufwand\Nutzen steht in keiner guten Relation. Erst wenn mehr Funktionen der NetBeans Plattform zum Einsatz kommen würden, sähe es wieder besser aus. NetBeans hat z.b. ein feines Modul System, ein Auto-Update-Mechnismuss, Shortcut Verwaltung und vieles mehr. SQuirreL könnte durch eine vollständige Portierung auf die NetBeans Plattform z.b. Syntax Hightlighting für XML anbieten. Auch das bekannte Problem mit sehr großen SQL Statements im SQL Editor wäre gelöst. Allerdings ist diese Anpassung noch ein unbekannte Größe für mich. Der SQuirreL Editor beruht bereits auf dem NetBeans Editor, dies allerdings in einer sehr alten Version. Gerade seit NetBeans 6.0 hat sich in der Verwendung\Einbindung des Editors einiges getan (Projekt: Schliemann)
Aber, gestartet bin ich ja in der Mission das Frontend zu polieren. Also zurück zum Thema: Ich werde den NetBeans Weg erstmal nicht weiter verfolgen sondern nach einer Alternative suchen.
um dem Eichhorn ein frisches UI zu verpassen 😉
Wer an den Sourcen interessiert ist, kann sich gerne melden!