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!