Archive for the ‘CSV’ Category

Eclipse RCP Common Feature launched

Monday, August 11th, 2014

Good news for all Eclipse developers that want to use some of my projects in their own Eclipse/RCP projects. I bundled some modules and projects into a Luna Eclipse Feature Plug-In – called RCP Common Feature.

You will need the Update Site http://download.ralph-schuster.eu/rcp-updates/luna/releases/ to be added in your IDE and install the feature as you would do with every other Eclipse feature plug-in.

These are the modules and projects currently bundled:

Furthermore, there are three more plug-ins available specific to Eclipse/E4 UI and logging. The feature plug-in is released under LGPL V3 license (as all projects bundled in it).

 

CSV/Excel Utility Package V2.7.1 released

Thursday, May 8th, 2014

The new version 2.7.1 fixes issues found by static code analysis. A complete change log is available as well as the mandatory Maven Site.

You can download the new version here or visit the Homepage of the utility where you will find some examples on how to use it.

The Maven coordinates are:

<dependency>
      <groupId>eu.ralph-schuster</groupId>
      <artifactId>csv</artifactId>
      <version>2.7.1</version>
</dependency>

Multiple Releases

Monday, March 10th, 2014

The last few days I released new versions of three of my projects.

All projects are available through Maven Central.

 

CSV/Excel Utility improves performance

Friday, March 7th, 2014

I recently stumbled across a performance test of Java CSV libraries (can’t remember where). To my surprise, someone tested multiple Open Source products including my own CSV/Excel Utility Package. And even more surprising to me, mine was the worst. By far! It took 4 times as much than others spent in parsing a CSV file. Embarrasing! Why did I never spent effort in measuring performance?

Anyway. I took the time and wrote a comparable JUnit perfromance test for all major CSV libraries and gave them a 150MB file to read. Analyzing the results of my own library with JProfiler, I found a very stupid performance eater (simplified here):

1
2
3
4
5
6
String s = "";
for (char c : anotherString.toCharArray()) {
   ...
   s += c;
   ...
}

The “addition” of line 6 was called 150 million times – for each single character in the file. Replacing this by a StringBuilder construct, the performance rose near the other major CSV libraries:

1
2
3
4
5
6
StringBuilder s = new StringBuilder();
for (char c : anotherString.toCharArray()) {
   ...
   s.append(c);
   ...
}

So two things to learn here: (1) Do not under-estimate performance test before releasing something, (2) Take care when using the “addition” operator for strings. 🙂

PS: CSV/Excel Utility Package 1.7 will contain the fix.
PPS: StringBuilder is preferred against StringBuffer as it is not synchronized and therefore faster. Most use cases allow this simplifications.

CSV/Excel Utility Package V2.6.1 released

Monday, August 5th, 2013

The new version 2.6.1 adds some improvements as of character encoding and bean reading and writing. A complete change log is available through the Maven Site.

You can download the new version here or visit the Homepage of the utility where you will find some examples on how to use it.

The Maven coordinates are:

   <dependency>
      <groupid>eu.ralph-schuster</groupid>
      <artifactid>csv</artifactid>
      <version>2.6.1</version>
</dependency>

PS: Version 2.6.0 has been released just two days ago but was already replaced by V2.6.1 because the V2.6.0 TableReader interface had a superfluous method defined.

CSV/Excel Utility Package 2.5.0 released

Sunday, June 23rd, 2013

The new version 2.5.0 delivers the package for usage in OSGI containers and improves handling of blank lines and calculated cells in an Excel sheet (this code was contributed by Andrej Czapszys). A complete change log is available through the new Maven Site

You can download the new version here or visit the Homepage of the utility where you will find some examples on how to use it.

The Maven coordinates are:

   <dependency>
      <groupid>eu.ralph-schuster</groupid>
      <artifactid>csv</artifactid>
      <version>2.5.0</version>
   </dependency>

CSV/Excel Utility Package 2.4.0 released

Thursday, December 20th, 2012

The new version 2.4.0 adds character encoding support to the table readers and writers. It also migrates the issue management to JIRA.

You can download the new version here or visit the Homepage of the utility where you will find some examples on how to use it.

The Maven coordinates are:

<dependency>
  <groupid>eu.ralph-schuster</groupid>
  <artifactid>csv</artifactid>
  <version>2.4.0</version>
</dependency>

Migration to JIRA

Sunday, December 16th, 2012

Hi folks,

all projects have migrated to JIRA after Bugzilla issues were transferred  to it. Please do not report into Bugzilla anymore (Links were removed from page but remain in old released versions). The new JIRA instance can be found at jira.ralph-schuster.eu.

CSV/Excel Utility Package 2.3 released

Monday, June 4th, 2012

As already announced last week, version 2.3 migrates the development to Maven build and deployment. Besides of this, it doesn’t add any functionality but upgraded Apache’s POI library to latest release 3.8.

You can download the new version here or visit the Homepage of the utility where you will find some examples on how to use it.

The Maven coordinates are:

<dependency>
  <groupid>eu.ralph-schuster</groupid>
  <artifactid>csv</artifactid>
  <version>2.3</version>
</dependency>

CSV, B4J and Templating become integrated with Maven

Friday, June 1st, 2012

Some improvements are coming along. I was asked several times whether my Java projects could be based on Maven build so they can be more easily integrated with other projects. Now it’s coming around the corner. CSV/Excel Utility Package is almost complete and you can already see the results in the Nightly Build. The release is not far away, just a few more tests are remaining.

The Maven coordinates you would require are:

<dependency>
  <groupid>eu.ralph-schuster</groupid>
  <artifactid>csv</artifactid>
  <version>2.3</version>
</dependency>
 
<dependency>
  <groupid>eu.ralph-schuster</groupid>
  <artifactid>b4j</artifactid>
  <version>1.1</version>
</dependency>
 
<dependency>
  <groupid>eu.ralph-schuster</groupid>
  <artifactid>templating</artifactid>
  <version>1.1</version>
</dependency>

Please notice that none of these artifacts are yet released. Earlier releases will propably not become available via public repositories. But this isn’t decided yet.

By the way: The artifacts will be publicly available to you without any further Maven configuration as I will publish them to Sonatype’s official OSS repository which is part of Maven’s default repository list.