Featured Post

Applying Email Validation to a JavaFX TextField Using Binding

This example uses the same controller as in a previous post but adds a use case to support email validation.  A Commons Validator object is ...

Sunday, October 30, 2011

[AUDIO] Integration Tools Podcast, Episode 42: SnapLogic. Oracle. TDWI.

Spend a few minutes a week to keep on top of the data integration tools market. Episode 42 of the Integration Tools Podcast is available. The podcast is on integration tools' product releases, research, and events. Episode 42 covers SnapLogic, Oracle, and TDWI.

Integration Tools Podcast Episode 42

For more podcasts, visit http://www.bekwam.com.

Friday, October 28, 2011

Updating XML in a Database with Talend Open Studio

If an XML document is serialized in a database column, you can use tExtractXMLField to make the data within the document available for general Talend Open Studio processing (tMap).  If the database column needs to be modified with an updated XML document, use a tXMLMap linked to a tMap.

Thursday, October 27, 2011

Creating a Jasper Report from a CSV with Talend Open Studio

For the most flexibility in creating reports from Talend Open Studio, use the tJasperOutput component.  tJasperOutput uses Talend schemas, so it can be combined with any input source component like tOracleInput.  However, if your source is a CSV, you can use tJasperOutputExec and create the report with only one component.

Wednesday, October 26, 2011

Creating a Spring Errors Object for Validation Unit Tests

If you're using Spring Validation, you write classes that implement the following method

public void validate(Object arg0, Errors arg1);

"Errors" is an interface that is implemented by several other classes in the Spring Validation libraries: BeanPropertyBindingResult, DirectFieldBindingResult, MapBindingResult, and BindException.

I write unit tests using BeanPropertyBindingResult.  This is the class used in some of the Spring Validation unit tests like ValidationUtilsTests.

So, a JUnit4 unit test looks like

@Test
public void needsFirstName() {
  Person p = new Person();  // no firstName set
  Errors errors = new BeanPropertyBindingResult(p, "p");
  validator.validate(p, errors);  // 'validator' under test
  assertTrue(errors.hasErrors());
  assertNotNull( errors.getFieldError("firstname") );
}


Monday, October 24, 2011

[VIDEO] Creating a Jasper Report from an XML Document

A tutorial on creating a Jasper Report from an XML document using iReport Designer 4.1.2

Saturday, October 22, 2011

[AUDIO] Integration Tools Podcast, Episode 41: "Integrating the Integrator". CloverETL. Talend. SnapLogic. Pervasive.

Spend a few minutes a week to keep on top of the data integration tools market. Episode 41 of the Integration Tools Podcast is available. The podcast is on integration tools' product releases, research, and events. Episode 41 covers "Integrating the Integrator", CloverETL, Talend, SnapLogic, Pervasive.

Integration Tools Podcast Episode 41

For more podcasts, visit http://www.bekwam.com.

Thursday, October 20, 2011

Java Code Snippet for Working with Filenames in Talend Open Studio

When I'm processing an set of input files, sometimes output files are generated, one per input file.  This code snippet can be used to form a unique output file name based on the input file.

tWriteXMLField Component in Talend Open Studio

The tWriteXMLField component is used to load XML into a database column.  This post presents a sample job on the topic.

Wednesday, October 19, 2011

An Embedded Database Logger for Talend Open Studio Jobs

Talend Open Studio can produce a lot of logging information for debugging and the operational monitoring of jobs.  However, it can be difficult to get a summarized report by stringing together log entries.  Use the embedded Derby database to produce a single record of your job's run with a detailed accounting of states, statuses, times, and messages.

Saturday, October 15, 2011

[AUDIO] Integration Tools Podcast, Episode 40: Informatica. Cloudear. Microsoft. Melissa Data. Platform Computing. IBM. Decision Management Systems.

Spend a few minutes a week to keep on top of the data integration tools market. Episode 40 of the Integration Tools Podcast is available. The podcast is on integration tools' product releases, research, and events. Episode 40 covers Informatica. Cloudera. Microsoft. Melissa Data. Platform Computing. IBM. Decision Management Systems.

Integration Tools Podcast Episode 40

For more podcasts, visit http://www.bekwam.com.

Updating a Table with the Talend Open Studio ELT Components

ELT stands for Extract-Load-Transform and is an inversion of the data processing pattern "ETL".  In ELT, data is manipulated within a database which is a huge performance improvement.  Talend Open Studio comes with components like tELTMySqlMap to make the writing of such manipulations easier.

Thursday, October 13, 2011

Controlling the DDL Behind Talend Open Studio's tMySqlOutput

Did you know that you can create a MySQL table with an auto_increment column in Talend Open Studio's tMySqlOutput component?  You can create unique indexes too.

Monday, October 10, 2011

Reading XML with Binding Classes in Talend Open Studio

When reading XML in Talend Open Studio, it's best to use the components shipped with the software: tFileInputXML and tFileInputMSXML.  However, for more control over the XML processing, use Java classes generated by a data binding tool like Liquid Technologies' XML Data Binder, XML Beans, or Castor.

Saturday, October 8, 2011

[AUDIO] Integration Tools Podcast, Episode 39: Informatica. Ataccama. Cloudera.

Spend a few minutes a week to keep on top of the data integration tools market. Episode 39 of the Integration Tools Podcast is available. The podcast is on integration tools' product releases, research, and events. Episode 39 covers Informatica, Ataccama, and Cloudera.

Integration Tools Podcast Episode 39

For more podcasts, visit http://www.bekwam.com.

Thursday, October 6, 2011

Applying Contexts to Talend Open Studio Jobs

If you're using Talend Open Studio for with stable Dev/Test/Prod configurations, consider creating a Context for each configuration.

Saturday, October 1, 2011

[AUDIO] Integration Tools Podcast, Episode 38: Syncsort. CloverETL. Informatica. Cloudera. DataFlux.

Spend a few minutes a week to keep on top of the data integration tools market. Episode 38 of the Integration Tools Podcast is available. The podcast is on integration tools' product releases, research, and events. Episode 38 covers Syncsort, CloverETL, Informatica, Cloudera, DataFlux..

Integration Tools Podcast Episode 38

For more podcasts, visit http://www.bekwam.com.

Handling xs:group in Talend Open Studio

If you work with XML, you may see the xs:group feature in an XSD.  To work with XML based on this XSD in Talend Open Studio, consider using an XML binding tool and a custom Java class that implements the Builder Pattern.