Example #1
0
  public static void loadAll(String path) {
    int i = 1;
    try {
      Logger.info("曲リストの読み込みを開始します。: %s", path);
      URLConnection con = new URL(path).openConnection();
      //			con.setReadTimeout(10000);
      //			con.setConnectTimeout(10000);
      con.connect();
      BufferedReader r =
          new BufferedReader(new InputStreamReader(con.getInputStream(), "Windows-31J"));
      while (true) {
        String input = r.readLine();
        if (input == null) break;

        //				Matcher m = Song.matcher(line);
        //				if (m.find())
        if (Song.matches(input)) {
          //					Logger.info("[%d] %s", i, line);

          //					Matcher m2 = p2.matcher(line);
          //					if (m2.find())
          //					{
          //						Song song = new Song();
          //						song.hot = m2.group(1);
          //						song.isHot = song.hot != null && song.hot.length() > 0;
          //						song.tid = m2.group(2);
          //						song.title = m2.group(3);
          //						song.artist = m2.group(4);
          //						song.groups = m2.group(5);
          //						song.keywords = line;
          //						song.save();
          //					}
          Song song = new Song();
          song.load(input);
        }

        if (i % 1000 == 0) Logger.info("%d loaded.", i);
        i++;
        //				if (i == 10) break;
      }
      Logger.info("%,d 曲のデータが見つかりました。", i);
    } catch (IOException x) {
      throw new IllegalArgumentException(String.format("%,d 行目にエラーがあります。", i), x);
    }
  }
Example #2
0
 public static List<Song> byKeywords(String keywords) {
   try {
     List<Song> songs = Song.find("byKeywordsIlike", "%" + keywords + "%").fetch();
     return songs;
   } catch (Exception x) {
     Logger.warn(x, "曲リストの準備中です。");
     return null;
   }
 }
Example #3
0
 public static List<Song> byKeywords(String keywords, boolean isVocaloid, boolean isToho) {
   try {
     List<Song> songs =
         Song.find(
                 "byKeywordsIlikeAndIsVocaloidAndIsToho", "%" + keywords + "%", isVocaloid, isToho)
             .fetch();
     return songs;
   } catch (Exception x) {
     Logger.warn(x, "曲リストの準備中です。");
     return null;
   }
 }