protected boolean isWebserviceInvocationAllowed(Calltype callType, Track track) {
   String sql =
       "select max(invocation_time) from library.webservice_history h"
           + " inner join music.track t on t.id = h.track_id"
           + " inner join music.artist a on a.id = t.artist_id"
           + " where calltype_id = "
           + callType.getDatabaseId()
           + " and a.artist_name = upper(?) and t.track_name = upper(?)";
   Timestamp lastInvocation =
       jdbcTemplate.queryForObject(
           sql, new Object[] {track.getArtist().getName(), track.getName()}, Timestamp.class);
   return isWebserviceInvocationAllowed(callType, lastInvocation);
 }
 public static MediaFile getMediaFile(Track track) {
   MediaFile mediaFile = new MediaFile(track.getId());
   mediaFile.setFile(new File(track.getMetaData().getPath()));
   mediaFile.getMetaData().setAlbum(track.getMetaData().getAlbum());
   mediaFile.getMetaData().setAlbumId(track.getMetaData().getAlbumId());
   mediaFile.getMetaData().setArtist(track.getMetaData().getArtist());
   mediaFile.getMetaData().setArtistId(track.getMetaData().getArtistId());
   mediaFile.getMetaData().setComposer(track.getMetaData().getComposer());
   mediaFile.getMetaData().setBitRate((int) track.getMetaData().getBitrate());
   mediaFile.getMetaData().setDiscNumber((int) track.getMetaData().getDiscNr());
   mediaFile.getMetaData().setDuration((int) track.getMetaData().getDuration());
   mediaFile.getMetaData().setFileSize((long) track.getMetaData().getSize());
   mediaFile
       .getMetaData()
       .setFormat(track.getMetaData().getMediaType().getFilesuffix().toLowerCase());
   mediaFile.getMetaData().setGenre(track.getMetaData().getGenre());
   mediaFile.getMetaData().setTitle(track.getName());
   mediaFile.getMetaData().setTrackNumber((int) track.getMetaData().getTrackNr());
   mediaFile.getMetaData().setVariableBitRate(track.getMetaData().isVbr());
   mediaFile.getMetaData().setYear(toYear(track.getMetaData().getYear()));
   mediaFile.getMetaData().setHasLyrics(track.getMetaData().hasLyrics());
   return mediaFile;
 }