List of usage examples for javax.resource.cci IndexedRecord add
boolean add(E e);
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; } }); }