Fewer runtime errors...

This commit is contained in:
Olof Larsson 2011-03-22 19:25:11 +01:00
parent 1c062c9c79
commit 27d414ffc4
8 changed files with 36 additions and 37 deletions

View File

@ -126,7 +126,7 @@ public class Board {
*/
public static ArrayList<String> getMap(Faction faction, FLocation flocation, double inDegrees) {
ArrayList<String> ret = new ArrayList<String>();
ret.add(TextUtil.titleize("("+flocation+") "+getFactionAt(flocation).getTag(faction)));
ret.add(TextUtil.titleize("("+flocation.getCoordString()+") "+getFactionAt(flocation).getTag(faction)));
int halfWidth = Conf.mapWidth / 2;
int halfHeight = Conf.mapHeight / 2;

View File

@ -50,14 +50,6 @@ public class FPlayer {
// Construct
// -------------------------------------------- //
public FPlayer(Player player) {
this.playerName = player.getName().toLowerCase();
}
public FPlayer(String playerName) {
this.playerName = playerName.toLowerCase();
}
// GSON need this noarg constructor.
public FPlayer() {
this.resetFactionData();
@ -103,6 +95,10 @@ public class FPlayer {
return Faction.get(factionId);
}
private int getFactionId() {
return factionId;
}
public void setFaction(Faction faction) {
this.factionId = faction.getId();
}
@ -153,7 +149,7 @@ public class FPlayer {
// Base:
public String getTitle() {
return title;
return this.title;
}
public void setTitle(String title) {
@ -380,7 +376,9 @@ public class FPlayer {
return instances.get(playerName);
}
FPlayer vplayer = new FPlayer(playerName);
FPlayer vplayer = new FPlayer();
vplayer.playerName = playerName;
instances.put(playerName, vplayer);
return vplayer;
}
@ -471,4 +469,13 @@ public class FPlayer {
}
}
public static void clean() {
for (FPlayer fplayer : instances.values()) {
if ( ! Faction.exists(fplayer.getFactionId())) {
Factions.log("Reset faction data (invalid faction) for player "+fplayer.getName());
fplayer.resetFactionData();
}
}
}
}

View File

@ -368,8 +368,9 @@ public class Faction {
public static Faction get(Integer factionId) {
if ( ! instances.containsKey(factionId)) {
Factions.log(Level.WARNING, "Non existing factionId "+factionId+" requested! Issuing board cleaning!");
Factions.log(Level.WARNING, "Non existing factionId "+factionId+" requested! Issuing cleaning!");
Board.clean();
FPlayer.clean();
}
return instances.get(factionId);
}
@ -393,24 +394,18 @@ public class Faction {
return faction;
}
public static boolean delete(Integer id) {
// NOTE that this does not do any security checks.
// Follower might get orphaned foreign id's
// purge from all boards
// Board.purgeFactionFromAllBoards(id);
Board.clean();
// Remove the file
//File file = new File(folderFaction, id+ext);
//file.delete();
public static void delete(Integer id) {
// Remove the faction
instances.remove(id);
// TODO REMOVE ALL MEMBERS!
// Clean the board
Board.clean();
// TODO SAVE files
return true; // TODO
// Clean the fplayers
FPlayer.clean();
// SAVE files
Board.save();
FPlayer.save();
}
}

View File

@ -45,7 +45,7 @@ public class FCommandDeinvite extends FBaseCommand {
if (you.getFaction() == myFaction) {
sendMessage(you.getName()+" is already a member of "+myFaction.getTag());
sendMessage(new FCommandKick().getUseageTemplate());
sendMessage("You might want to: " + new FCommandKick().getUseageTemplate());
return;
}

View File

@ -45,8 +45,7 @@ public class FCommandInvite extends FBaseCommand {
if (you.getFaction() == myFaction) {
sendMessage(you.getName()+" is already a member of "+myFaction.getTag());
sendMessage("You might want to :");
sendMessage(new FCommandKick().getUseageTemplate());
sendMessage("You might want to: " + new FCommandKick().getUseageTemplate());
return;
}

View File

@ -40,8 +40,7 @@ public class FCommandKick extends FBaseCommand {
if (me == you) {
sendMessage("You cannot kick yourself.");
sendMessage("You might want to:");
sendMessage(new FCommandLeave().getUseageTemplate());
sendMessage("You might want to: " + new FCommandLeave().getUseageTemplate());
return;
}

View File

@ -29,6 +29,7 @@ public class FCommandList extends FBaseCommand {
// TODO put the 0 faction at the highest position
public void perform() {
ArrayList<Faction> FactionList = new ArrayList<Faction>(Faction.getAll());
FactionList.remove(Faction.get(0));
int page = 1;
if (parameters.size() > 0) {
@ -44,11 +45,7 @@ public class FCommandList extends FBaseCommand {
Collections.sort(FactionList, new Comparator<Faction>(){
@Override
public int compare(Faction f1, Faction f2) {
if (f1.getId() == 0)
return 1;
else if (f2.getId() == 0)
return -1;
else if (f1.getFPlayers().size() < f2.getFPlayers().size())
if (f1.getFPlayers().size() < f2.getFPlayers().size())
return 1;
else if (f1.getFPlayers().size() > f2.getFPlayers().size())
return -1;
@ -68,6 +65,8 @@ public class FCommandList extends FBaseCommand {
}
});
FactionList.add(0, Faction.get(0));
int maxPage = (int)Math.floor((double)FactionList.size() / 9D);
if (page < 0 || page > maxPage) {
sendMessage("The faction list is only " + (maxPage+1) + " page(s) long");

View File