Ubik Batch Server Developing a Mapper

From UbikWiki

(Difference between revisions)
(New page: = What is a Mapper = A mapper enables mapping a row returned from a data source to a Java Bean. = How to = Different base interface exist depending on data source: * JMS : com.ubikingenie...)
(How to)

Line 3:

Line 3:

= How to =
= How to =
-
Different base interface exist depending on data source:
+
Different base interfaces exist depending on data source:
* JMS : com.ubikingenierie.console.apiconsole.mapping.IMessageMapper
* JMS : com.ubikingenierie.console.apiconsole.mapping.IMessageMapper
* SQL : com.ubikingenierie.console.apiconsole.mapping.IRowMapper
* SQL : com.ubikingenierie.console.apiconsole.mapping.IRowMapper
* ...
* ...
-
You will extend a Base class and implement
+
Implementation steps:
 +
* Extend a Base class and implement abstract method:
 +
** This class must have an empty constructor
 +
* Set mapper implementation class on BatchStart implementation
 +
 
= Examples =
= Examples =
== JMS Mapper: ==
== JMS Mapper: ==

Revision as of 16:20, 1 May 2009

Contents

What is a Mapper

A mapper enables mapping a row returned from a data source to a Java Bean.

How to

Different base interfaces exist depending on data source:

  • JMS : com.ubikingenierie.console.apiconsole.mapping.IMessageMapper
  • SQL : com.ubikingenierie.console.apiconsole.mapping.IRowMapper
  • ...

Implementation steps:

  • Extend a Base class and implement abstract method:
    • This class must have an empty constructor
  • Set mapper implementation class on BatchStart implementation

Examples

JMS Mapper:

package com.ubikingenierie.console.demo.jms.mapping;
 
import javax.jms.JMSException;
import javax.jms.Message;
import javax.jms.TextMessage;
 
import com.ubikingenierie.console.apiconsole.mapping.MappingException;
/**
 */
public class PersonMapper extends com.ubikingenierie.console.apiconsole.jms.JmsBaseMapper {
 
	/**
	 * @see com.ubikingenierie.console.apiconsole.jms.JmsBaseMapper#mapMessage(javax.jms.Message)
	 */
	protected Object mapMessage(Message message) throws MappingException {
		TextMessage textMessage = (TextMessage) message;
		Person person = new Person();
		try {
			person.setAge(new Integer(textMessage.getIntProperty("age")));
			person.setCut(new Double(textMessage.getDoubleProperty("cut")));
			person.setFirstName(textMessage.getStringProperty("firstName"));
			person.setLastName(textMessage.getStringProperty("lastName"));
			return person;
		} catch (JMSException e) {
			throw new MappingException(e);
		}
	}
 
}

SQL Mapper:

/**
 * 
 */
package com.ubikingenierie.console.demo.mapper;
// com.ubikingenierie.console.demo.mapper.TranslationMapper
import java.sql.ResultSet;
import java.sql.SQLException;
 
import com.ubikingenierie.console.apiconsole.mapping.IRowMapper;
import com.ubikingenierie.console.apiconsole.mapping.MappingException;
import com.ubikingenierie.console.demo.data.DoTranslation;
 
/**
 */
public class TranslationMapper implements IRowMapper {
 
	/**
	 * 
	 */
	public TranslationMapper() {
		super();
	}
 
	/* (non-Javadoc)
	 * @see com.ubikingenierie.console.apiconsole.mapping.IRowMapper#mapRow(java.sql.ResultSet, int)
	 */
	public Object mapRow(ResultSet resultSet, int rowNumber) throws MappingException {
		try {
			DoTranslation doTranslation= new DoTranslation();
			doTranslation.setTrsContextCode(resultSet.getString("trs_context_code"));
			doTranslation.setTrsLabelCode(resultSet.getString("trs_label_code"));
			doTranslation.setTrsLanguage(resultSet.getString("trs_language"));
			doTranslation.setTrsLabel(resultSet.getString("trs_label"));
			doTranslation.setTrsUpdate(resultSet.getTimestamp("trs_update"));
			return doTranslation;
		} catch (SQLException e) {
			throw new MappingException(e.getMessage(),e);
		}
	}
 
	/**
	 * @see java.lang.Object#clone()
	 */
	public Object clone() throws CloneNotSupportedException {
		return super.clone();
	}
}
Personal tools