AuelProject DataSift

Latest version: 1.0b2

Released: November 15th, 2004

This version adds new validators and transformers to the platform. Among others:

  • Validators for dates, email addresses, URLs and pattern matching.
  • Transformers to manage dates, urls, trim strings, extract text using patterns and manage variable-sized forms coming from dynamic tables in web pages.
See all changes in the ChangeLog file.

DataSift can be downloaded from the download section.

If you want to suggest more validations or transformations that can be enough common to be in the predefined set, please use our issue tracking system to post your suggestions.

What is DataSift?

DataSift is a powerful java data validation and transformation framework, aimed at enterprise software development, which provides developers with an extensible architecture they can fully adapt to their software needs. Almost every feature in it can be configured in some way, and developers can create new plugins that extends its capabilities.

Concepts: validation and transformation

We refer to data validation as the process performed to ensure some data is in the shape we want it to be, or that is holds the correct values (e.g. we can validate that a String object contains an integer number).

Data transformation is the process performed to re-shape or change the values contained in some piece of data, with the aim of adapting it to needs different than the ones the original data addressed (e.g. we can convert a String object containing an integer number into an Integer object).

Features

  • Generic and extensible data resolution. The data to be validated can be retrieved from a javabean, an XML document, an HTTP request or any other object the developer may have created a Resolver for (plugin).


  • Generic and extensible validation and transformation processes. Though the framework provides a set of predefined validations and transformations, the user may develop new Validators and Transformers to adapt DataSift to his/her needs.


  • Highly configurable. All entities in the framework (resolvers, validators and transformers) can be declaratively (XML files) or programmatically (Java code) registered and configured, including the establishment of default values for their configuration.


  • Clean integration. Validation and transformation processes are defined in simple XML files, decoupling your code from the validation of your data.


  • Power and flexibility. DataSift's powerful architecture provides the developer with the ability to perform operations not allowed by most similar toolkits and frameworks. For example, take an http request (an HttpServletRequest object) containing three parameters named day, month and year. Now you want to validate this http request by establishing that day will be an integer number between 1 and 31, month an integer between 1 and 12, and year an integer between 1900 and 2100. But you also want to validate that the three altogether form a valid date (no things like February 30th) and even more, that this date is previous to the present one.

    You wouldn't be able to do all these things with most other validation libraries, but with DataSift's architecture and the right validators it could be as easy as writing a few lines of XML code.


  • Ease of use. In spite of its power and genericity, DataSift comes out-of-the-box with a set of registered resolvers, validators and transformers which can fit the needs of many developers without writing ad hoc plugins or configuration files (apart from the spec definitions themselves).