Java tutorial
/** * Licensed to Jasig under one or more contributor license * agreements. See the NOTICE file distributed with this work * for additional information regarding copyright ownership. * Jasig licenses this file to you under the Apache License, * Version 2.0 (the "License"); you may not use this file * except in compliance with the License. You may obtain a * copy of the License at: * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, * software distributed under the License is distributed on * an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY * KIND, either express or implied. See the License for the * specific language governing permissions and limitations * under the License. */ package org.jasig.schedassist.impl.statistics; import java.sql.ResultSet; import java.sql.SQLException; import org.jasig.schedassist.impl.EventType; import org.jasig.schedassist.impl.owner.OwnerDao; import org.jasig.schedassist.model.IScheduleOwner; import org.springframework.jdbc.core.RowMapper; /** * {@link RowMapper} for {@link AppointmentEvent}s. * * Depends on an {@link OwnerDao}. * The {@link #mapRow(ResultSet, int)} implementation will try to attach the matching * {@link IScheduleOwner} (if still exists). * * @author Nicholas Blair, nblair@doit.wisc.edu * @version $Id: AppointmentEventRowMapper.java 2208 2010-06-22 16:06:22Z npblair $ */ public class AppointmentEventRowMapper implements RowMapper<AppointmentEvent> { private OwnerDao ownerDao; /** * @param ownerDao */ public AppointmentEventRowMapper(OwnerDao ownerDao) { this.ownerDao = ownerDao; } /** * Expects the following columns in the {@link ResultSet}: * <pre> event_id owner_id visitor_id, event_type, event_timestamp, event_start </pre> * * @see org.springframework.jdbc.core.RowMapper#mapRow(java.sql.ResultSet, int) */ @Override public AppointmentEvent mapRow(ResultSet rs, int rowNum) throws SQLException { AppointmentEvent event = new AppointmentEvent(); event.setEventId(rs.getLong("EVENT_ID")); final long ownerId = rs.getLong("OWNER_ID"); event.setOwnerId(ownerId); IScheduleOwner owner = ownerDao.locateOwnerByAvailableId(ownerId); event.setScheduleOwner(owner); final String visitorId = rs.getString("VISITOR_ID"); event.setVisitorId(visitorId); event.setEventType(EventType.valueOf(rs.getString("EVENT_TYPE"))); event.setEventTimestamp(rs.getTimestamp("EVENT_TIMESTAMP")); event.setAppointmentStartTime(rs.getTimestamp("EVENT_START")); return event; } }