Data Pipeline 2.2.6 Now Available

  • performance improvements in CSV and fixed width handling
  • untyped expression evaluation is now based on the value’s type, instead of the field’s declared type
  • BUGFIX: now handles untyped expressions between primitive and object values
  • float expressions are now upgraded to doubles during evaluation
  • all non doubles and floats numbers are now upgraded to longs during evaluation
  • expressions can now reference Java beans, not just primitive values
  • method call expression now finds the most appropriate method based on the runtime argument types (http://en.wikipedia.org/wiki/Multiple_dispatch)
  • improved handling for collections and arrays in DataException properties
  • Apache PoiProvider can now distinguish between date, time, and datetimes fields in Excel

Data Pipeline 2.2.5 Now Available

  • Added JavaBeanReader whice uses XPath expressions to identify field values and break records (see the Read from Java beans example)
  • AbstractReader’s setStartingRow and setLastRow no return this
  • Filter rule IsInstanceOfJavaType now returns false for null values
  • Added number-to-date methods to BasicFieldTransformer (numberToDate(), minutesToDate(), hoursToDate(), and daysToDate())
  • BasicFieldTransformer.Operation and BasicFieldTransformer.StringOperation are now public classes
  • BasicFieldTransformer.add(Operation … operation) is now public
  • ConditionalTransformer is now private (use TransformingReader.filter instead)
  • TransformingReader now contains an optional Filter, allowing any transformer to be conditionally applied
  • Removed TransformingReader.add(Filter filter, Transformer … transformer) method

How To Manage Your Application Properties using WebDAV

Managing the configuration of an application is a consistent pain-point for developers, administrators, and business analysts.

Often in production environments, configuration is isolated as files on the local disk, limiting easy access by all but administrators.  Another common approach is to store configuration in a database or LDAP.  While this have benefits of a local disk file, it lacks the ability to manage properties as naturally as a file.

The solution proposed uses a database and WebDAV to help resolve many negatives to do with application configuration in both a simple and lightweight way.
Continue reading

Use dynamic proxies to create a simple, powerful event bus (Part 2)

In part 1 of the event bus series we discussed implementing a simple and powerful event bus using just three classes. If you haven’t read it yet, I strongly recommend you read it first.

Use dynamic proxies to create a simple, powerful event bus (Part 1)

In this blog we’ll build on part 1 by adding several important features to the event bus to make it production ready.  Continue reading

Data Pipeline 2.2.1 Now Available

Data Pipeline 2.2.1 is now available with the following enhancements:

  • added batch execution to JdbcWriter (see JdbcWriter.setBatchSize)
  • added callback mechanism to track job progress (see JobTemplate.transfer(R reader, W writer, boolean async, JobCallback callback))
  • early access to DeMuxReader