// This software is released into the Public Domain. See copying.txt for details.
package org.openstreetmap.osmosis.pgsnapshot.v0_6.impl;
import java.sql.Array;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;
import org.openstreetmap.osmosis.core.domain.v0_6.Way;
import org.openstreetmap.osmosis.core.domain.v0_6.WayNode;
/**
* Maps database rows into Way objects.
*
* @author Brett Henderson
*/
public class WayRowMapper extends EntityRowMapper<Way> {
/**
* {@inheritDoc}
*/
@Override
public Way mapRow(ResultSet rs, int rowNumber) throws SQLException {
Way way;
Array nodeIdArray;
Long[] nodeIds;
List<WayNode> wayNodes;
way = new Way(mapCommonEntityData(rs));
nodeIdArray = rs.getArray("nodes");
if (nodeIdArray != null) {
nodeIds = (Long[]) nodeIdArray.getArray();
wayNodes = way.getWayNodes();
for (long nodeId : nodeIds) {
wayNodes.add(new WayNode(nodeId));
}
}
return way;
}
}