Apache Commons Logging Version 1.2

Kaum zu glauben, aber von Apache Commons Logging gibt es noch einmal ein Update. Version 1.2 bietet als “maintenance release containing bug fixes” nichts neues, fixed aber laut https://www.apache.org/dist/commons/logging/RELEASE-NOTES.txt:

o LOGGING-37:   Improve performance of LogFactory#getFactory() by calling
                Thread#currentThread()#getContextClassLoader() directly instead
                of using reflection. As a consequence support for JDK 1.1 has
                been dropped. Thanks to Matthias Ernst, Archie Cobbs.
o LOGGING-156:  Fix SecurityAllowedTestCase when executed with OpenJDK 1.7 due
                to an additional required RuntimePermission. Thanks to Mikolaj Izdebski.
o LOGGING-157:  Fix javadoc to comply with javadoc tool from jdk 1.8. Thanks to Ville Skyttä.

Gradle 2.0 freigegeben

Das auf Groovy basierende Build-Tool Gradle erklimmt eine neue Version: Gradle 2.0.  http://www.gradle.org/docs/current/release-notes zählen auf:

Gradle 2.0 is an important milestone in the evolution of Gradle. As explained in the Gradle 2.0 announcement, the change in major version number signals a new backwards compatibility baseline. Many deprecated features and API have been removed in this release, allowing the development team to simplify the codebase and implement new functionality. The “Potential Breaking Changes” section of these release notes list all of the breaking changes that have been made and all Gradle users are strongly encouraged to read the list.

FindBugs 3.0

Ein neues großes Release mit Java 8 Unterstützung, siehe Ankündigung unter https://mailman.cs.umd.edu/pipermail/findbugs-discuss/2014-July/004029.html.

The primary changes are:
FindBugs supports Java 8 now (both as runtime and target platform). We don't recognize all of the new Java 8 features, or detect many Java 8 specific bug patterns, but we can analyze Java 8 code without getting runtime exceptions.
FindBugs requires minimum Java 7 as runtime environment!
FindBugs uses ASM 5 now which means that some 3rd party detectors based on FindBugs 2.x/ASM 3 has to be upgraded. See details in ASM documentation.

For people who need to run FindBugs using a Java 5 or 6 runtime, you should stick with the FindBugs 2.0 branch.

Weiter unter http://findbugs.sourceforge.net/.

asciidoctorj: asciidoc mit Java transformieren

http://asciidoctor.org/ ist laut Webseite “an open source Ruby processor for converting AsciiDoc markup into HTML 5, DocBook 4.5 and other formats”. Die Software ist in Ruby implementiert und so plattformunabhängig programmiert, dass auch eine Ausführung mit JRuby möglich ist. https://github.com/asciidoctor/asciidoctorj kapselt das in einem netten Projekt, sodass eine Konvertierung direkt mit einer Java-API möglich ist:

import static org.asciidoctor.Asciidoctor.Factory.create;
import org.asciidoctor.Asciidoctor;
...
Asciidoctor asciidoctor = create();

...

String rendered = asciidoctor.render("*This* is it.", Collections.EMPTY_MAP); System.out.println(rendered);

...
String rendered = asciidoctor.renderFile(new File("target/test-classes/rendersample.asciidoc"), Collections.EMPTY_MAP);
System.out.println(rendered);
...

Mit Optionen:

Map<String, Object> attributes = new HashMap<>();
attributes.put("backend", "docbook");

Map<String, Object> options = new HashMap<>();
options.put("in_place", true);
options.put("attributes", attributes);

String render = asciidoctor.renderFile("target/test-classes/rendersample.asciidoc", options);

DataNucleus 4.0

Unter der Apache Lizenz:

It is the most standards-compliant Open Source Java persistence product in existence. It is fully compliant with the JDO1, JDO2, JDO2.1, JDO2.2, JDO3, JDO3.1, JPA1, JPA2, JPA2.1 Java standards. It also complies with the OGC Simple Feature Specification for persistence of geospatial Java types to RDBMS. It utilises an OSGi-based plugin mechanism meaning that it is extremely extensible.

http://www.datanucleus.org/. Neues: http://www.datanucleus.org/documentation/news/access_platform_4_0_0_release.html:

  • Java 1.8 : Upgrade to ASM v5 to allow for Java 1.8 bytecode changes
  • Java 1.8 : support for the majority of java.time types
  • Changed the bytecode enhancement contract to use an internal definition rather than the JDO contract
  • JPA : no longer needs to have jdo-api.jar present
  • Cassandra : support for Cassandra 1.2+
  • Support for multicolumn TypeConverters (used by RDBMS, Cassandra, Excel, ODF, Neo4j, MongoDB, JSON, HBase)
  • SchemaTool : support for create/delete of a schema (where the datastore supports it)
  • RDBMS : support for HikariCP and DBCP2 connection pools
  • RDBMS : ability to use single connection per PM/EM (rather than 1 for transactional operations, and 1 for non-transactional operations)
  • RDBMS : removed the need to create JavaTypeMapping classes when the user type has a TypeConverter
  • JSON : support for embedded 1-1 relation fields/properties
  • Excel/ODF/JSON/MongoDB/Neo4j/HBase/Cassandra : move to using „core“ definition of table/columns meaning access to generalised features tested on other datastores

“Java ist auch eine Insel”, 11. Auflage, jetzt neu im Handel

Cover von Java ist auch eine InselNach mehr als zwei Jahren gibt es ein Update der Insel: https://www.galileo-press.de/java-ist-auch-eine-insel_3606/. Aktualisiert auf Java 8, 1306 Seiten, ISBN 978-3-8362-2873-2, E-Book-Formate: PDF, EPUB, MOBI, Online.

Online ist das Buch nicht mehr, da es zu juristischen Auseinandersetzungen mit Mitbewerben kommen könnte. Vereinfacht ausgedrückt: Etwas verkaufen, was gleichzeitig frei ist, macht den Verlag verletzbar gegenüber Abmahnungen. Online bleibt aber weiterhin die jeweils letzte Version, also komplett wie üblich Auflage 10: http://www.tutego.de/javabuch/; das gilt auch für den 2. Band, den es ebenfalls bald im Handel geben wird.

Weiterhin ist eine PDF mit Kapitel 2 und 3 mit nahezu 300 Seiten vom 1. Band, 11. Auflage, online.

SceneBuilder 2.0 final

SceneBuilder 2.0 ist nun final, das Beta zog sich lange hin:

It has many cool new features and was a complete rewrite from the ground up so that it can be split into parts and embedded in your favorite IDE.

Updates unter http://fxexperience.com/2014/05/announcing-scenebuilder-2-0/, http://docs.oracle.com/javase/8/scene-builder-2/release-notes/jfxsb-release_notes_2-0.htm:

  • JavaFX Scene Builder Kit. JavaFX Scene Builder Kit is an API that allows the integration of Scene Builder panels and functionalities directly into the GUI of a larger application, or a Java IDE, such as NetBeans, IntelliJ, and Eclipse. See Working with the JavaFX Scene Builder Kit for more details.

  • Ability to add custom GUI components to the Library. Custom components imported from a third party JAR file can now be added permanently to the Library of available GUI components. See Adding Custom Components to the Library for more information.

  • Support for new JavaFX 8 UI components. The new UI components, TreeTableView, DatePicker, and SwingNode, that were introduced in the Java SE 8 are now supported in Scene Builder 2.0. To see the list of JavaFX 8 UI components that are available, type FX8 in the Library panel’s search text field.

  • 3D Support. FXML documents containing 3D objects can now be loaded and saved in the Scene Builder tool. You can view and edit properties of the 3D objects using the Inspector panel. You can not, however, create new 3D objects using the Scene Builder tool. See JavaFX Scene Builder User Guide for more information.

  • Support for Rich Text. A new container, TextFlow, is now available in the Library of GUI components. You can drag multiple text nodes and other types of nodes, into the a TextFlow container. You can also directly manipulate the text nodes to re-arrange them in the container. Inline and property editing features are also available for each text node.

  • Library Panel Improvements. The default viewing option for the Library panel is a new feature that gives you the option to view all the component categories as collapsible sections.

  • Hierarchy Panel Improvements. It is now more flexible to re-parent objects from one container to another container. It is also possible to drag and drop an object from the Hierarchy Panel to the Content Panel, and vice versa. You can also now select multiple objects in the Hierarchy Panel in order to re-parent them.

  • Content Panel Improvements. You can now manipulate the components of an HBox, VBox, FlowPane, or Toolbar container directly in the Content Panel to re-order them. You can also insert a new component at any position in the container. Note that this direct manipulation is currently not available for the TilePane container.

  • Inspector Panel Improvements. Many property editors in the Inspector panel use the Suggested List dialog window, which displays a list of selectable values from which you can make a selection instead of manually entering them. For example, the CSS Style editor provides a list of applicable CSS properties, based on the currently selected object(s). List handling has also been simplified. Multi-selection of components of different types (i.e. Button + TextField) is now supported. In addition, the usability of many of the property editors, such as AnchorPane Constraints, Rotate, and Padding, have been improved.

  • Preview Window Improvements. The content in the Preview window is now automatically refreshed as the current FXML document is being edited. Hence, there’s no need to use the Refresh command in order to preview the modified UI layout.

  • Change in the Include FXML Command. When you click File from the Menu bar and then click Include, you can only select the FXML menu item if the current FXML document you are editing is saved on your system’s disk and is not empty.