Example usage for org.springframework.jca.cci.core RecordExtractor RecordExtractor

List of usage examples for org.springframework.jca.cci.core RecordExtractor RecordExtractor

Introduction

In this page you can find the example usage for org.springframework.jca.cci.core RecordExtractor RecordExtractor.

Prototype

RecordExtractor

Source Link

Usage

From source file:org.springframework.samples.jca.dao.PersonDaoImpl.java

/**
 * @see org.springframework.samples.jca.dao.PersonneDao#getPerson(int)
 *//*ww w .j av a2s  . com*/
public Person getPerson(final int id) throws PersonException {
    CciInteractionSpec interactionSpec = new CciInteractionSpec();
    /*interactionSpec.setUser("sa");
    interactionSpec.setPassword("");*/
    interactionSpec.setSql("select * from person where person_id=?");

    List people = (List) getCciTemplate().execute(interactionSpec, new RecordCreator() {
        public Record createRecord(RecordFactory recordFactory) throws ResourceException, DataAccessException {
            IndexedRecord input = recordFactory.createIndexedRecord("input");
            input.add(new Integer(id));
            return input;
        }
    }, new RecordExtractor() {
        public Object extractData(Record record) throws ResourceException, SQLException, DataAccessException {
            List people = new ArrayList();
            ResultSet rs = (ResultSet) record;
            while (rs.next()) {
                Person person = new Person();
                person.setId(rs.getInt("person_id"));
                person.setLastName(rs.getString("person_last_name"));
                person.setFirstName(rs.getString("person_first_name"));
                people.add(person);
            }
            return people;
        }
    });

    if (people.size() == 1) {
        return (Person) people.get(0);
    } else {
        throw new PersonException("Can't the person");
    }
}

From source file:org.springframework.samples.jca.dao.PersonDaoImpl.java

/**
 * @see org.springframework.samples.jca.dao.PersonDao#updatePerson(org.springframework.samples.jca.model.Person)
 */// w w w .j av  a 2  s .c  o  m
public void updatePerson(final Person person) {
    StringBuffer request = new StringBuffer();
    request.append("update person set ");
    request.append("person_last_name=?,");
    request.append("person_first_name=?");
    request.append(" where person_id=?");
    CciInteractionSpec interactionSpec = new CciInteractionSpec();
    interactionSpec.setSql(request.toString());

    getCciTemplate().execute(interactionSpec, new RecordCreator() {
        public Record createRecord(RecordFactory recordFactory) throws ResourceException, DataAccessException {
            IndexedRecord input = recordFactory.createIndexedRecord("input");
            input.add(person.getLastName());
            input.add(person.getFirstName());
            input.add(new Integer(person.getId()));
            return input;
        }
    }, new RecordExtractor() {
        public Object extractData(Record record) throws ResourceException, SQLException, DataAccessException {
            IndexedRecord output = (IndexedRecord) record;
            for (Iterator i = output.iterator(); i.hasNext();) {
                log.debug("Number of updated lines : " + i.next());
            }
            return null;
        }
    });

}