Package com.github.hakko.musiccabinet.util

Source Code of com.github.hakko.musiccabinet.util.UnittestLibraryUtil

package com.github.hakko.musiccabinet.util;

import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import org.joda.time.DateTime;

import com.github.hakko.musiccabinet.dao.LibraryAdditionDao;
import com.github.hakko.musiccabinet.domain.model.library.File;
import com.github.hakko.musiccabinet.domain.model.library.MetaData;
import com.github.hakko.musiccabinet.domain.model.library.MetaData.Mediatype;
import com.github.hakko.musiccabinet.domain.model.music.Track;

public class UnittestLibraryUtil {

  private static int counter = 0;
 
  public static File getFile() {
    File file = new File("/unittest", "/unittest/file" + counter++ + ".ogg", new DateTime(), 0);
    MetaData md = new MetaData();
    md.setArtist("Unittest Artist");
    md.setAlbum("Unittest Album " + counter);
    md.setTitle("Unittest Title " + counter);
    md.setBitrate((short) 144);
    md.setVbr(false);
    md.setDuration((short) 90);
    md.setYear((short) 1900);
    md.setMediaType(Mediatype.OGG);
    file.setMetaData(md);
    return file;
  }

  public static File getFile(String directory, String filename) {
    File file = getFile();
    file.setDirectory(directory);
    file.setFilename(filename);
    return file;
  }
 
  public static File getFile(String artist, String album, String title) {
    File file = getFile();
    MetaData md = file.getMetadata();
    if (artist != null) md.setArtist(artist);
    if (album != null) md.setAlbum(album);
    if (title != null) md.setTitle(title);
    return file;
  }

  public static File getFile(String artist, String album, String title, short year) {
    File file = getFile(artist, album, title);
    file.getMetadata().setYear(year);
    return file;
  }

  public static File getFile(Track track) {
    return getFile(track.getArtist().getName(), null, track.getName());
  }
 
  public static void submitFile(LibraryAdditionDao dao, File file) {
    submitFile(dao, Arrays.asList(file));
  }

  public static void submitFile(LibraryAdditionDao dao, List<File> files) {
    Set<String> directories = new HashSet<>();
    for (File file : files) {
      directories.add(file.getDirectory());
    }
   
    dao.clearImport();
    dao.addFiles("/unittest", new HashSet<>(files));
    dao.addSubdirectories("/unittest", directories);
    dao.updateLibrary();
  }

}
TOP

Related Classes of com.github.hakko.musiccabinet.util.UnittestLibraryUtil

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.