001    /**
002     * Copyright (C) 2010 The Roslin Institute <contact andy.law@roslin.ed.ac.uk>
003     *
004     * This file is part of the Ensembl Java API demonstration project developed by the
005     * Bioinformatics Group at The Roslin Institute, The Royal (Dick) School of
006     * Veterinary Studies, University of Edinburgh.
007     *
008     * This is free software: you can redistribute it and/or modify
009     * it under the terms of the GNU General Public License (version 3) as published by
010     * the Free Software Foundation.
011     *
012     * This software is distributed in the hope that it will be useful,
013     * but WITHOUT ANY WARRANTY; without even the implied warranty of
014     * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
015     * GNU General Public License for more details.
016     *
017     * You should have received a copy of the GNU General Public License
018     * in this software distribution. If not, see <http://www.gnu.org/licenses/gpl-3.0.html/>.
019     */
020    
021    package uk.ac.roslin.ensembl.mapper.handler;
022    
023    import org.apache.ibatis.type.TypeHandler;
024    import java.sql.CallableStatement;
025    import java.sql.PreparedStatement;
026    import java.sql.ResultSet;
027    import java.sql.SQLException;
028    import org.apache.ibatis.type.JdbcType;
029    import uk.ac.roslin.ensembl.config.EnsemblCoordSystemType;
030    
031    public class CoordinateSystemTypeHandler implements TypeHandler {
032    
033        public void setParameter(PreparedStatement ps, int i, Object parameter, JdbcType jdbcType)
034                throws SQLException {
035            //ps.setString(i, (String) parameter);
036        }
037    
038        public Object getResult(ResultSet rs, String columnName)
039                throws SQLException {
040    
041            String st = null;
042    
043            st = (String) rs.getString(columnName);
044    
045            if (st == null) {
046                return EnsemblCoordSystemType.unknown;
047            }
048            st = st.trim();
049    
050            return EnsemblCoordSystemType.getType(st);
051    
052        }
053    
054        public Object getResult(CallableStatement cs, int columnIndex)
055                throws SQLException {
056            return null;
057            //return cs.getString(columnIndex);
058        }
059    }