Update von SwingX auf Version 1.6.2

Jan Haderke, ein Commiter des SwingX Projekts, schreibt:

As it became almost a tradition we have rolled out next SwingX release just before the SwingLabs BOF at JavaOne last night.

You can get the release from our website, or directly from the java.net or also from the maven central repo. Please note that the artifactID has changedfrom swingx to swingx-core due to changes in the structure of the project.

Thanks a lot to all who contributed to this release with both the bug reports and the fixes.

Ein Kommentator lästert gleich, dass zwar Maven unterstützt wird, aber das POM falsch ist.

SwingX nutzt auch Hudson (http://swinglabs.java.sun.com/hudson/), schön. (Kohsuke Kawaguchi war bei einem Interview auf Oracle Dev zu sehen, sehr sympathisch der Typ. Schade, dass der von Sun/Oracle gegangen ist.) Hudson (http://hudson-labs.org/changelog) hat vor ein paar Tagen auch eine neues Release veröffentlicht.

Hinweis:

Open Source Java Tool Mediathek

Bei Heise (http://www.heise.de/open/artikel/Oeffentlich-rechtliches-Media-Center-1073454.html) fand ich gerade einen Beitrag über eine Software, die die öffentlich-rechtlichen Medien über eine Java-Oberfläche zugänglich macht.

 

 

Die Software ist funktional aber in der Optik kann mach noch was machen und auch der Programmierstil nicht überwältigend.

Alles ist deutsch:

private void gibBescheid() {

Variablenanmen alles andere als klar:

private void pfadLaden(String pfad, boolean boolDatei) {

Und einiges könnte durchaus knapper geschrieben werden:

    private boolean istZip(String str) {
        boolean ret = false;
        if (str.endsWith(".zip") || str.endsWith(".Zip")) {
            ret = true;
        }
        return ret;
    }

-> warum nicht das?

return str.toLowerCase().endsWith(“.zip”);

Aber wie im richtigen Leben: So lang’s funktioniert Smile

JavaOne 2010 beginnt heute und aktualisierte Java 7 Features

Die Liste der Features für Java 7 wurde aktualisiert: http://openjdk.java.net/projects/jdk7/features/.

vm
JSR 292: Support for dynamically-typed languages (InvokeDynamic)

lang
JSR TBD: Small language enhancements (Project Coin) [UPDATED]

core
Upgrade class-loader architecture

Method to close a URLClassLoader

Concurrency and collections updates (jsr166y)

i18n
Unicode 6.0 [UPDATED]

Locale enhancement [NEW]

Separate user locale and user-interface locale [NEW]

ionet
JSR 203: More new I/O APIs for the Java platform (NIO.2)

NIO.2 filesystem provider for zip/jar archives [NEW]

SCTP (Stream Control Transmission Protocol)

SDP (Sockets Direct Protocol)

Use the Windows Vista IPv6 stack [NEW]

TLS 1.2 [NEW]

sec
Elliptic-curve cryptography (ECC)

jdbc
JDBC 4.1 [NEW]

client
XRender pipeline for Java 2D

Create new platform APIs for 6u10 graphics features

Nimbus look-and-feel for Swing

Swing JLayer component

web
Update the XML stack

Heute beginnt in San Francisco die JavaOne (und Oracle Develop 2010) Konferenz (http://www.oracle.com/us/javaonedevelop/index.html, http://www.oracle.com/us/javaonedevelop/062264.html).

Viele Vorträge werden live übertragen: http://www.oracle.com/us/javaonedevelop/oracle-technology-network-live-166853.html.

Google veröffentlicht die Instantiations-Tools für lau

Der Google Web Toolkit Blog berichtet heute von neuen GWT-Tools: http://googlewebtoolkit.blogspot.com/2010/09/google-relaunches-instantiations.html.

In early August, Google acquired Instantiations, a company known for its focus on Eclipse Java developer tools, including GWT Designer. We’re happy to announce today that we’re relaunching the following former Instantiations products under the Google name and making them available to all developers at no charge:

  • GWT Designer
    Powerful Eclipse-based development tools that enable Java developers to quickly create Ajax user interfaces using Google Web Toolkit (GWT)
  • CodePro AnalytiX
    Comprehensive automated software code quality and security analysis tools to improve software quality, reliability, and maintainability
  • WindowBuilder Pro
    Java graphical user interface designer for Swing, SWT, GWT, RCP, and XWT UI frameworks
  • WindowTester Pro
    Test GUI interactions within Java client rich applications for the SWT and Swing UI frameworks

Now that these products are available again, we hope you’ll start using them within your GWT projects. Meanwhile, our next step is to more deeply unify them into the GWT family of tools by blending the fantastic Instantiations technology into the Google Plugin for Eclipse (GPE). So, there’s much more to come, including things we’re pretty sure you’ll like, such as UiBinder support in GWT Designer.

You can download any of the tools from the GWT download page. If you have questions or comments we’d love to hear from you. The best place to discuss the tools above is at http://forums.instantiations.com. As always, continue to discuss GWT and GPE at the main GWT Group.

We would love to stay in better touch with you as we have more news about how we are integrating the Instantiations products into the Google Web Toolkit suite. Sign up if you’d like to receive email updates on these products and other developer tools.

Sehr cool. Der nicht gepflegte Gui-Builder VE von Eclipse dürfte damit Vergangenheit sein.

Gibt doch mal euren Eindruck.

HTC Desire geht mit BASE nicht ins Internet? Dann …

Wenn das Desire nicht auf Anhieb ins Netz will, sollte folgendes helfen:

  • Gehe auf Einstellungen -> Drahtlos und Netzwerke -> Mobile Netzwerke –> Zugangspunkte

Installiere ein neues Access Point Name (APN).

Bei den Angaben muss man nur 2 Dinge angeben:

  • Name: BASE (ist aber egal)
  • APN: internet.eplus.de

Ist der APN dann ausgewählt – und ePlus das Netzwerk – dann sollte es klappen.

SimpleDS 1.0 ist fertig

Entwickler auf der GAE/J, die nicht mit JPA oder JDO arbeiten – was die Regel sein dürfte? – können die neuste Version von SimpleDS nutzen.

In der Vergangenheit habe ich ein GAE/J-Projekt mit http://code.google.com/p/objectify-appengine/ realisiert und mich gegen SimpleDS entschieden. Beides haben etwas unterschiedliche Philosophien, wie sie mit IDs/Keys umgehen. Frühere Blog-Eintrage verlinken zu beiden und zu Seiten mit einer Diskussion der Unterschiede.

Async Http Client 1.1.0 ist fertig

So kann man es lesen unter http://jfarcand.wordpress.com/2010/09/04/async-http-client-1-1-0-released/. Neu ist:

  • Connection pool is unlimited by default
  • Basic and Digest Authentication supported out-of-the-box
  • Multi Headers support
  • Removal of Google Collection and Log4j dependency (significantly reduce the jar)
  • Latest Netty version (3.3.2)
  • OAuth signature now supported
  • Proxy per request now supported
  • Performance improved
  • JDK Uri/Url now used instead of our own Url class.

Kirill Grouchnikov legt Substance, Flamingo, (Java) Trident auf Eis

Aus http://old.nabble.com/Continuing-development-of-substance,-flamingo-and-others-td29568644.html:

I am currently suspending support for Substance, Flamingo, Trident and related plugins / demo projects.  I do not have any plans to delete any downloadable binaries, change the licensing terms or delete the projects themselves, or to allow others to take ownership of the original projects.  Please respect the licensing terms.
Thanks, Kirill

Sehr schade.

Jetty 7.x und meine leichte Abneigung

Jetzt wo Jetty 7 zu Eclipse gewandert ist und auch immer modularer wird, schwindet meine Euphorie gegenüber dem Projekt. Das liegt an drei Gründen.

  1. Viele Jars. Um nur ein einfaches Servlet servieren zu können sind nötig: jetty-continuations (warum es hie eine Abhängigkeit gibt ist mir Schleierhaft), jetty-http, jetty-io, jetty-security, jetty-server, jetty-servlet, jetty-util. (Man kann das auch als ein großes Jar auch den Maven Rep. holen.)
  2. Umzug nach Eclipse. Durch den Umzug nach Eclipse befinden sich Dokus aus verschiedenen Servern. Es fehlt eine klare Anlaufstelle mit und vollständiger Doku.
  3. API-Änderungen. Nicht nur der Paketnamen ändert sich, sondern auch ein paar Methoden. Das ist an sich nichts problematisch, ab wenn eben mit Punkt 2 die Dokus nicht immer auf dem neusten Stand sind, nervt das.

Zusammenfassend für ein Servlet:

import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.*;
import org.eclipse.jetty.server.Server;
import org.eclipse.jetty.servlet.*;

public class StartJetty
{
  public static void main( String[] args ) throws Exception
  {
    Server server = new Server( 8080 );

    ServletContextHandler context = new ServletContextHandler( server, "/" );
    context.addServlet( new ServletHolder( new HiServlet() ), "/*" );
    server.start();
    server.join();
  }
}

class HiServlet extends HttpServlet
{
  protected void doGet( HttpServletRequest request, HttpServletResponse response )
      throws ServletException, IOException
  {
    response.setContentType( "text/html" );
    response.setStatus( HttpServletResponse.SC_OK );
    response.getWriter().println( "Hi" );
  }
}

GWT 2.1 M3 verfügbar

Ankündigung siehe hier: http://googlewebtoolkit.blogspot.com/2010/08/gwt-21-milestone-3-is-now-available.html, download unter http://code.google.com/p/google-web-toolkit/downloads/detail?name=gwt-2.1.0.m3.zip.

Some key features included in this release are built-in history
support in Activities and Places, relationship management within
RequestFactory, and the ability to call instance methods on entities
themselves. The overarching goal was to nail down the API and deliver
on features and functionality that are vital to creating industry-
grade business apps.

Bei M2 gab es eine Reihe von Änderungen, die viele Komponenten deprecated machte – ohne wirklichen Ersatz. M3 werde ich aufspielen und schauen, wie es damit weitergeht. Die Doku für Activities/Places ist für M2 erbärmlich; hier kann Google noch nachbessern. Die Verknüpfung mit Roo ist mir auch noch schleierhaft, mal sehen, wie sich das entwickelt.

Text-Extraktion aus PDF-Dokumenten

Lösung mit iText:

String path = "lala.pdf";
PdfReader pdfReader = new PdfReader( path );

for ( int page = 1; page <= pdfReader.getNumberOfPages(); page++ )
{
  String textFromPage = PdfTextExtractor.getTextFromPage( pdfReader, page );
}

 

Lösung mit PDFBox:

String path = "lala.pdf";
PDDocument pdfDocument = PDDocument.load( path );
String textFromPage = new PDFTextStripper().getText( pdfDocument );
pdfDocument.close();

 

Das Ergebnis unterscheidet sich deutlich, die PDFBox gibt bessere Ergebnisse.

Sehr hübsche Swing Gauge und LCD-Komponenten

Gerrit Grunwald schrieb mit eine kurze EMail und machte mich auf seine Komponenten aufmerksam, die absolut heiß sind.

ishot-1.png ishot-3.png

ishot-2.png ishot-5.png

ishot-4.png ishot-10.png

ishot-11.png ishot-8.png

ishot-9.png Radar.png

ishot-6.png ishot-7.png

ishot-12.png

ishot-13.png

Altimeter.png Clock.png

Compass.pngLevel.png

 

 

Eine großartige Arbeit mit viele Liebe zum Detail. Was mir auch gefällt ist ein Konverter von Fireworks-Dateien in Java 2D Zeichenanweisungen.

PS: Wer noch weitere tolle Swing Bibs kennt, bitte vorstellen und teilen. Weitere von mir gibt es hier: http://www.tutego.de/java/additional-java-swing-components.htm

Oracle klagt gegen Google wegen Copyright- und Patentverletzungen in Android

Irgendwie hat man das schon geahnt, dass nach dem Sun zu Oracle geht, sich das Klima im Unternehmen ändern könnte. Nun ist es soweit und Oracle klagt wegen Copyright und Patentverletzungen.

Die Anklageschrift ist zu lesen unter http://www.scribd.com/doc/35811761/Oracle-s-complaint-against-Google-for-Java-patent-infringement. Irgendwie bekommt man den Eindruck, dass Oracle hier rumheult und jammert, dass Google mit Android Geld macht und das arme Oraclelein nichts davon abbekommt. Das ignoriert die Tatsache, dass das ganze System Open-Source ist und Google — hier müssen wir den Aussagen von Google glauben — auch überhaupt nichts an Android verdient. (Eric Schmidt erwähnte das letzte Woche in einem Interview.)

Mehr: