package com.ringtone.server; import java.util.Date; import javax.jdo.PersistenceManager; public class SongUtils { public static String insertSong(String uuid, String title, String artist, String category, int downloadCount, float avgRate, long size, String fileName, String image, String s3Url) { SongEntry songEntry = new SongEntry(uuid, title, artist, category, downloadCount, avgRate, size, fileName, image, s3Url); songEntry.setAdd_date(new Date()); PersistenceManager pm = PMF.get().getPersistenceManager(); try { pm.makePersistent(songEntry); } finally { pm.close(); } return songEntry.getUuid(); } public static void increaseDownloadCount(String uuid) { PersistenceManager pm = PMF.get().getPersistenceManager(); SongEntry songEntry = null; try { songEntry = (SongEntry)pm.getObjectById(SongEntry.class, uuid); if (songEntry == null) { return; } songEntry.setDownload_count(songEntry.getDownload_count()+1); } finally { pm.close(); } } public static void updateRate(String uuid, double rate) { PersistenceManager pm = PMF.get().getPersistenceManager(); SongEntry songEntry = null; int rateCount = 0; double rateValue = 0; try { songEntry = (SongEntry)pm.getObjectById(SongEntry.class, uuid); if (songEntry == null) { return; } rateCount = songEntry.getRate_count()+1; songEntry.setRate_count(rateCount); rateValue = songEntry.getAvg_rate(); rateValue = (rate+rateValue*(rateCount-1))/rateCount; songEntry.setAvg_rate((float)rateValue); } finally { pm.close(); } } }