@Override public final synchronized boolean check(CueSheet cs) { boolean Ret = true; try { // タイトルの重複を検査するためのマップ。 Set<String> testSet = Collections.synchronizedSet(new HashSet<>()); Iterator<TrackData> it_t; it_t = cs.getAllTrackData().iterator(); while (it_t.hasNext()) { TrackData TD = it_t.next(); final String s; if (TD.getTitle() != null) { s = TD.getTitle(); if (testSet.contains(s) == false) { testSet.add(TD.getTitle()); log.info("タイトルは重複していません。 {}", TD.getTitle()); log.info("正常"); Ret = Ret & true; } else { log.info("タイトルが重複しています。 {}", TD.getTitle()); Ret = Ret & false; } } else { log.info("タイトルがセットされていません。"); return false; } } log.info("判定結果 {}", Ret); return Ret; } catch (Exception e) { log.error(" エラーです。", e); return false; } }
private synchronized boolean checkTrack(Iterator<TrackData> it_t) { boolean ret = false; try { while (it_t.hasNext()) { TrackData td = it_t.next(); log.info( "Track{}(Title= ,{} Performer= {})", td.getNumber(), td.getTitle(), td.getPerformer()); if (checkstring(td.getTitle()) == true || checkstring(td.getPerformer()) == true) { ret = true; break; } } log.info("判定結果 {}", ret); return ret; } catch (NullPointerException e) { log.warn("TitleもしくはPerformerが空欄です。"); return false; } }