Package com.github.hakko.musiccabinet.dao.jdbc.rowmapper

Source Code of com.github.hakko.musiccabinet.dao.jdbc.rowmapper.AlbumRowMapper

package com.github.hakko.musiccabinet.dao.jdbc.rowmapper;

import static java.io.File.separatorChar;
import static java.util.Arrays.asList;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

import org.springframework.jdbc.core.RowMapper;

import com.github.hakko.musiccabinet.domain.model.music.Album;

public class AlbumRowMapper implements RowMapper<Album> {

  @Override
  public Album mapRow(ResultSet rs, int rowNum) throws SQLException {
    int artistId = rs.getInt(1);
    String artistName = rs.getString(2);
    int albumId = rs.getInt(3);
    String albumName = rs.getString(4);
    short year = rs.getShort(5);
    String coverArtFile = getFileName(rs.getString(6), rs.getString(7));
    boolean coverArtEmbedded = coverArtFile != null;
    if (!coverArtEmbedded) {
      coverArtFile = getFileName(rs.getString(8), rs.getString(9));
    }
    String coverArtURL = rs.getString(10);
    List<Integer> trackIds = asList((Integer[]) rs.getArray(11).getArray());
    return new Album(artistId, artistName, albumId, albumName, year, coverArtFile,
        coverArtEmbedded, coverArtURL, trackIds);
  }

  private String getFileName(String directory, String filename) {
    return directory == null || filename == null ? null :
      directory + separatorChar + filename;
  }

}
TOP

Related Classes of com.github.hakko.musiccabinet.dao.jdbc.rowmapper.AlbumRowMapper

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.