Files
XmlStats/src/de/sockenklaus/XmlStats/Datasource/AchievementsDS.java
Pascal Koenig 7f0f0f5027 Solved issues #12 and #6. Unified Xml layout and added some basic error
handling. So technically issue #14 is solved.
2011-09-15 21:19:36 +02:00

70 lines
1.8 KiB
Java

/**
*
*/
package de.sockenklaus.XmlStats.Datasource;
import java.io.File;
import java.util.HashMap;
import com.nidefawl.Achievements.AchievementListData;
import com.nidefawl.Achievements.Achievements;
import com.nidefawl.Achievements.PlayerAchievement;
import com.nidefawl.Achievements.PlayerAchievementFile;
import com.nidefawl.Achievements.PlayerAchievementSQL;
import de.sockenklaus.XmlStats.XmlStats;
import de.sockenklaus.XmlStats.XmlStatsRegistry;
/**
* @author socrates
*
*/
public class AchievementsDS extends Datasource {
//HashMap<String, PlayerAchievement> playerAchievementsList;
public HashMap<String, AchievementListData> getAchievementsList(){
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
if(XmlStats.checkAchievements()){
return ach.achievementList;
}
else return new HashMap<String, AchievementListData>();
}
/*public void refreshPlayerAchievements(){
PlayerAchievement pa;
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
if(ach.useSQL){
}
}*/
public PlayerAchievement getUserAchievement(String playerName){
PlayerAchievement pa;
Achievements ach = (Achievements)XmlStatsRegistry.get("achievements");
if(ach.useSQL){
String location = ach.getDataFolder().getPath() + File.separator + playerName + ".txt";
File fold = new File(location);
pa = new PlayerAchievementSQL(playerName);
if(fold.exists()){
PlayerAchievement paold = new PlayerAchievementFile(ach.getDataFolder().getPath(), playerName);
paold.load();
File fnew = new File(location + ".old");
fold.renameTo(fnew);
pa.copy(paold);
pa.save();
}
}
else pa = new PlayerAchievementFile(ach.getDataFolder().getPath(), playerName);
pa.load();
return pa;
}
}