Example usage for javax.resource.cci IndexedRecord add

List of usage examples for javax.resource.cci IndexedRecord add

Introduction

In this page you can find the example usage for javax.resource.cci IndexedRecord add.

Prototype

boolean add(E e);

Source Link

Document

Appends the specified element to the end of this list (optional operation).

Usage

From source file:org.hibersap.execution.jca.JCAMapper.java

@SuppressWarnings("unchecked")
private void mapToMappedRecord(final RecordFactory recordFactory, final Record record,
        final Map<String, Object> map) throws ResourceException {
    for (final String fieldName : map.keySet()) {
        final Object value = map.get(fieldName);

        if (Map.class.isAssignableFrom(value.getClass())) {
            final Map<String, Object> structureMap = UnsafeCastHelper.castToMap(value);
            final Record structure = recordFactory.createMappedRecord(fieldName);

            appendToRecord(record, fieldName, structure);

            mapToMappedRecord(recordFactory, structure, structureMap);
        } else if (Collection.class.isAssignableFrom(value.getClass())) {
            final Collection<Map<String, Object>> tableMap = UnsafeCastHelper.castToCollectionOfMaps(value);
            final IndexedRecord table = recordFactory.createIndexedRecord(fieldName);

            appendToRecord(record, fieldName, table);

            int i = 0;
            for (final Map<String, Object> row : tableMap) {
                MappedRecord rowRecord = recordFactory.createMappedRecord(fieldName + ":row:" + i);
                mapToMappedRecord(recordFactory, rowRecord, row);
                table.add(rowRecord);
                i++;//from ww  w.ja va2 s. c  o m
            }
        } else {
            appendToRecord(record, fieldName, value);
        }
    }
}

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

/**
 * @see org.springframework.samples.jca.dao.PersonneDao#getPerson(int)
 *///w  w  w  .j a v a2 s . c o  m
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)
 *//*from  ww w . j  a  v a2  s  .com*/
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;
        }
    });

}