package com.ringtone.server;
import java.util.ArrayList;
import java.util.List;
import javax.jdo.PersistenceManager;
import javax.jdo.Query;
public class SearchUtils {
public static List<SongEntry> getResultsByKeyword(String key, int start) {
PersistenceManager pm = PMF.get().getPersistenceManager();
List<SongEntry> searchResults = SearchJanitor.searchSongEntries(key, pm, start);
if (searchResults != null) {
return searchResults;
} else {
return new ArrayList<SongEntry>();
}
}
// public static SongEntry getSongEntryByUUID(String uuid) {
// PersistenceManager pm = PMF.get().getPersistenceManager();
// Query query = pm.newQuery(SongEntry.class);
// query.setFilter("uuid == lastParam");
// query.setRange(0, 1);
// query.declareParameters("String lastParam");
// List<SongEntry> results = null;
// SongEntry result = null;
// try {
// results = (List<SongEntry>)query.execute(uuid);
// if (results.size() > 0) {
// result = results.get(0);
// }
// } finally {
// query.closeAll();
// }
// return result;
// }
public static SongEntry getSongEntryByFileName(String fileName) {
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(SongEntry.class);
query.setFilter("file_name == lastParam");
query.setRange(0, 1);
query.declareParameters("String lastParam");
List<SongEntry> results = null;
SongEntry result = null;
try {
results = (List<SongEntry>)query.execute(fileName);
if (results.size() > 0) {
result = results.get(0);
}
} finally {
query.closeAll();
}
return result;
}
public static SongEntry getSongEntryByUUID(String uuid) {
PersistenceManager pm = PMF.get().getPersistenceManager();
SongEntry songEntry = null;
try {
songEntry = (SongEntry)pm.getObjectById(SongEntry.class, uuid);
} finally {
pm.close();
}
return songEntry;
}
public static List<SongEntry> getResultsByArtist(String artist, int start) {
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(SongEntry.class);
query.setFilter("artist == lastParam");
query.declareParameters("String lastParam");
query.setRange(start, start+Const.MAX_RESULTS_PER_QUERY);
List<SongEntry> results = null;
try {
results = (List<SongEntry>)query.execute(artist);
} finally {
query.closeAll();
}
return results;
}
public static List<SongEntry> getResultsByCategory(String category, int start) {
System.out.println("in getByCate");
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(SongEntry.class);
query.setFilter("category == lastParam");
query.declareParameters("String lastParam");
query.setRange(start, start+Const.MAX_RESULTS_PER_QUERY);
List<SongEntry> results = null;
try {
results = (List<SongEntry>)query.execute(category);
} finally {
query.closeAll();
}
return results;
}
public static List<SongEntry> getResultsByDownloadCount(int start) {
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(SongEntry.class);
query.setOrdering("download_count desc");
query.setRange(start, start+Const.MAX_RESULTS_PER_QUERY);
List<SongEntry> results = null;
try {
results = (List<SongEntry>)query.execute();
} finally {
query.closeAll();
}
return results;
}
public static List<SongEntry> getResultsByDate(int start) {
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery(SongEntry.class);
query.setOrdering("add_date desc");
query.setRange(start, start+Const.MAX_RESULTS_PER_QUERY);
List<SongEntry> results = null;
try {
results = (List<SongEntry>)query.execute();
} finally {
query.closeAll();
}
return results;
}
}