@Override
public String getValue(CommunityAccount object) {
if (object.listBattlesTanks.size() >= 2 ) {
List<DataCommunityAccountVehicules> listVehPlayed = new ArrayList<DataCommunityAccountVehicules>();
DataCommunityAccount dataCommAccOfDay0 = object.listBattlesTanks.get(0);
DataCommunityAccount dataCommAccOfDay1 = object.listBattlesTanks.get(1);
//bcl sur les stats vehicules du joueur pour le jour en question (1)
for (DataCommunityAccountVehicules dataCommAccVeh0 : dataCommAccOfDay0.getVehicles()) {
//pour chaque vehicule du jour 0, il faut trouver le véhicule correspondant dans ceux du jour 1 pour éventuellement détecté qu'il a été joué ( + battle)
//et le mémoriser dans une liste de tanks joués
//A la fin on ne prendra que ceux qui ont été le + joués)
//
for (DataCommunityAccountVehicules dataCommAccVeh1 : dataCommAccOfDay1.getVehicles()) {
//char trouvé dans liste
if(dataCommAccVeh0.getName().equalsIgnoreCase(dataCommAccVeh1.getName())) {
if (dataCommAccVeh0.getBattle_count() > dataCommAccVeh1.getBattle_count()) {
//le char a été joué il faut l'ajouter à la liste
dataCommAccVeh0.setCountBattleSincePreviousDay(dataCommAccVeh0.getBattle_count() - dataCommAccVeh1.getBattle_count());
dataCommAccVeh0.setWinCountBattleSincePreviousDay(dataCommAccVeh0.getWin_count() - dataCommAccVeh1.getWin_count());
listVehPlayed.add(dataCommAccVeh0);
}
break;
}
}
}
//Trier listVehPlayed selon getBattle_count
Collections.sort(listVehPlayed);
object.setListVehPlayedSincePreviousDay0(listVehPlayed);
if(listVehPlayed.size() > 0)
return String.valueOf(listVehPlayed.get(0).getName() ) ;
else
return "";
}
else
return "";
}
};
String strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank1, "1er Tank Most played-" + strDate);
jour1Tank1.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank1,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
String val1 = "";
if (o1.getListVehPlayedDay0() != null && o1.getListVehPlayedDay0().size() > 0)
val1 = o1.getListVehPlayedDay0().get(0).getName();
else
val1="";
String val2 = "";
if (o2.getListVehPlayedDay0() != null && o2.getListVehPlayedDay0().size() > 0)
val2 = o2.getListVehPlayedDay0().get(0).getName();
else
val2="";
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
////////////////////////////////////////////////////////
///
// TANK 1 BATTLE JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank1Battle = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
if (object.listBattlesTanks.size() >= 2 ) {
if(object.getListVehPlayedDay0().size() > 0)
return String.valueOf(object.getListVehPlayedDay0().get(0).getCountBattleSincePreviousDay() ) ;
else
return "";
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank1Battle, "Nb Battles tank" );
jour1Tank1Battle.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank1Battle,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
Integer val1 = 0;
if (o1.getListVehPlayedDay0() != null && o1.getListVehPlayedDay0().size() > 0)
val1 = o1.getListVehPlayedDay0().get(0).getCountBattleSincePreviousDay();
else
val1=0;
Integer val2 = 0;
if (o2.getListVehPlayedDay0() != null && o2.getListVehPlayedDay0().size() > 0)
val2 = o2.getListVehPlayedDay0().get(0).getCountBattleSincePreviousDay();
else
val2=0;
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
// WR TANK 1 JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank1Wr = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
//////
if ( object.getListVehPlayedDay0().size() > 0 && object.getListVehPlayedDay0().get(0) != null ) {
int diff = object.getListVehPlayedDay0().get(0).getCountBattleSincePreviousDay();
int diffWins = object.getListVehPlayedDay0().get(0).getWinCountBattleSincePreviousDay();
Double wrCal = (double) ((double)diffWins/(double)diff);
//on ne conserve que 2 digits après la virgule
wrCal = wrCal * 100; //ex : 51,844444
int intWrCal = (int) (wrCal * 100); //ex : 5184
wrCal = (double)intWrCal / 100 ; //ex : 51,84
String wr = String.valueOf(wrCal);
return wr ;
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank1Wr, "Wr Tank" );
jour1Tank1Wr.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank1Wr,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null && o1.getListVehPlayedDay0().size()> 0 && o2.getListVehPlayedDay0().size()> 0) {
/////////////
int diff1 = o1.getListVehPlayedDay0().get(0).getCountBattleSincePreviousDay();
int diffWins1 = o1.getListVehPlayedDay0().get(0).getWinCountBattleSincePreviousDay();
Double wrCal1 = (double) ((double)diffWins1/(double)diff1);
//on ne conserve que 2 digits après la virgule
wrCal1 = wrCal1 * 100; //ex : 51,844444
int intWrCal1 = (int) (wrCal1 * 100); //ex : 5184
//wrCal1 = (double)intWrCal1 / 100 ; //ex : 51,84
//String wr1 = String.valueOf(wrCal1);
int diff2 = o2.getListVehPlayedDay0().get(0).getCountBattleSincePreviousDay();
int diffWins2 = o2.getListVehPlayedDay0().get(0).getWinCountBattleSincePreviousDay();
Double wrCal2 = (double) ((double)diffWins2/(double)diff2);
//on ne conserve que 2 digits après la virgule
wrCal2 = wrCal2 * 100; //ex : 51,844444
int intWrCal2 = (int) (wrCal2 * 100); //ex : 5184
//wrCal2 = (double)intWrCal2 / 100 ; //ex : 51,84
//String wr2 = String.valueOf(wrCal2);
//
Integer val1 = intWrCal1;
Integer val2 = intWrCal2;
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
// ////////////////////////////////////////////////////////
///
// TANK 2 JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank2 = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
if (object.listBattlesTanks.size() >= 3 ) {
if(object.getListVehPlayedDay0().size() > 1)
return String.valueOf(object.getListVehPlayedDay0().get(1).getName() ) ;
else
return "";
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank2, "2nd Tank Most played-" + strDate);
jour1Tank2.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank2,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
String val1 = "";
if (o1.getListVehPlayedDay0().size() > 1)
val1 = o1.getListVehPlayedDay0().get(1).getName();
else
val1="";
String val2 = "";
if (o2.getListVehPlayedDay0().size() > 1)
val2 = o2.getListVehPlayedDay0().get(1).getName();
else
val2="";
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
////////////////////////////////////////////////////////
///
// BATTLE TANK 2 JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank2Battle = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
if (object.listBattlesTanks.size() >= 3 ) {
if(object.getListVehPlayedDay0().size() > 1)
return String.valueOf(object.getListVehPlayedDay0().get(1).getCountBattleSincePreviousDay() ) ;
else
return "";
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank2Battle, "Nb Battles tank" );
jour1Tank2Battle.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank2Battle,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
Integer val1 = 0;
if (o1.getListVehPlayedDay0().size() > 1)
val1 = o1.getListVehPlayedDay0().get(1).getCountBattleSincePreviousDay();
else
val1=0;
Integer val2 = 0;
if (o2.getListVehPlayedDay0().size() > 1)
val2 = o2.getListVehPlayedDay0().get(1).getCountBattleSincePreviousDay();
else
val2=0;
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
// WR TANK 2 JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank2Wr = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
//////
if ( object.getListVehPlayedDay0().size() > 1 && object.getListVehPlayedDay0().get(1) != null ) {
int diff = object.getListVehPlayedDay0().get(1).getCountBattleSincePreviousDay();
int diffWins = object.getListVehPlayedDay0().get(1).getWinCountBattleSincePreviousDay();
Double wrCal = (double) ((double)diffWins/(double)diff);
//on ne conserve que 2 digits après la virgule
wrCal = wrCal * 100; //ex : 51,844444
int intWrCal = (int) (wrCal * 100); //ex : 5184
wrCal = (double)intWrCal / 100 ; //ex : 51,84
String wr = String.valueOf(wrCal);
return wr ;
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank2Wr, "Wr Tank" );
jour1Tank2Wr.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank2Wr,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null && o1.getListVehPlayedDay0().size()> 1 && o2.getListVehPlayedDay0().size()> 1) {
/////////////
int diff1 = o1.getListVehPlayedDay0().get(1).getCountBattleSincePreviousDay();
int diffWins1 = o1.getListVehPlayedDay0().get(1).getWinCountBattleSincePreviousDay();
Double wrCal1 = (double) ((double)diffWins1/(double)diff1);
//on ne conserve que 2 digits après la virgule
wrCal1 = wrCal1 * 100; //ex : 51,844444
int intWrCal1 = (int) (wrCal1 * 100); //ex : 5184
//wrCal1 = (double)intWrCal1 / 100 ; //ex : 51,84
//String wr1 = String.valueOf(wrCal1);
int diff2 = o2.getListVehPlayedDay0().get(1).getCountBattleSincePreviousDay();
int diffWins2 = o2.getListVehPlayedDay0().get(1).getWinCountBattleSincePreviousDay();
Double wrCal2 = (double) ((double)diffWins2/(double)diff2);
//on ne conserve que 2 digits après la virgule
wrCal2 = wrCal2 * 100; //ex : 51,844444
int intWrCal2 = (int) (wrCal2 * 100); //ex : 5184
//wrCal2 = (double)intWrCal2 / 100 ; //ex : 51,84
//String wr2 = String.valueOf(wrCal2);
//
Integer val1 = intWrCal1;
Integer val2 = intWrCal2;
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
// ////////////////////////////////////////////////////////
// TANK 3 JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank3 = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
if (object.listBattlesTanks.size() >= 4 ) {
if(object.getListVehPlayedDay0().size() > 2)
return String.valueOf(object.getListVehPlayedDay0().get(2).getName() ) ;
else
return "";
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank3, "Third Tank Most played-" + strDate);
jour1Tank3.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank3,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
String val1 = "";
if (o1.getListVehPlayedDay0().size() > 2)
val1 = o1.getListVehPlayedDay0().get(2).getName();
else
val1="";
String val2 = "";
if (o2.getListVehPlayedDay0().size() > 2)
val2 = o2.getListVehPlayedDay0().get(2).getName();
else
val2="";
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
////////////////////////////////////////////////////////
///
// BATTLE TANK 3 JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank3Battle = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
if (object.listBattlesTanks.size() >= 4 ) {
if(object.getListVehPlayedDay0().size() > 2)
return String.valueOf(object.getListVehPlayedDay0().get(2).getCountBattleSincePreviousDay() ) ;
else
return "";
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank3Battle, "Nb Battles tank" );
jour1Tank2Battle.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank3Battle,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null) {
Integer val1 = 0;
if (o1.getListVehPlayedDay0().size() > 2)
val1 = o1.getListVehPlayedDay0().get(2).getCountBattleSincePreviousDay();
else
val1=0;
Integer val2 = 0;
if (o2.getListVehPlayedDay0().size() > 2)
val2 = o2.getListVehPlayedDay0().get(2).getCountBattleSincePreviousDay();
else
val2=0;
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////
// WR TANK 3 JOUR 1 ///////////////////////
TextColumn<CommunityAccount> jour1Tank3Wr = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
//////
if ( object.getListVehPlayedDay0().size() > 2 && object.getListVehPlayedDay0().get(2) != null ) {
int diff = object.getListVehPlayedDay0().get(2).getCountBattleSincePreviousDay();
int diffWins = object.getListVehPlayedDay0().get(2).getWinCountBattleSincePreviousDay();
Double wrCal = (double) ((double)diffWins/(double)diff);
//on ne conserve que 2 digits après la virgule
wrCal = wrCal * 100; //ex : 51,844444
int intWrCal = (int) (wrCal * 100); //ex : 5184
wrCal = (double)intWrCal / 100 ; //ex : 51,84
String wr = String.valueOf(wrCal);
return wr ;
}
else
return "";
}
};
strDate = listDates.get(0);
tableHistorizedStatsTanksCommAcc.addColumn(jour1Tank3Wr, "Wr Tank" );
jour1Tank3Wr.setSortable(true);
// Add a ColumnSortEvent.ListHandler to connect sorting to the
columnSortHandler.setComparator(jour1Tank3Wr,
new Comparator<CommunityAccount>() {
public int compare(CommunityAccount o1, CommunityAccount o2) {
if (o1 == o2) {
return 0;
}
// Compare the name columns.
if (o1 != null && o1.getListVehPlayedDay0().size()> 2 && o2.getListVehPlayedDay0().size()> 2) {
/////////////
int diff1 = o1.getListVehPlayedDay0().get(2).getCountBattleSincePreviousDay();
int diffWins1 = o1.getListVehPlayedDay0().get(2).getWinCountBattleSincePreviousDay();
Double wrCal1 = (double) ((double)diffWins1/(double)diff1);
//on ne conserve que 2 digits après la virgule
wrCal1 = wrCal1 * 100; //ex : 51,844444
int intWrCal1 = (int) (wrCal1 * 100); //ex : 5184
//wrCal1 = (double)intWrCal1 / 100 ; //ex : 51,84
//String wr1 = String.valueOf(wrCal1);
int diff2 = o2.getListVehPlayedDay0().get(2).getCountBattleSincePreviousDay();
int diffWins2 = o2.getListVehPlayedDay0().get(2).getWinCountBattleSincePreviousDay();
Double wrCal2 = (double) ((double)diffWins2/(double)diff2);
//on ne conserve que 2 digits après la virgule
wrCal2 = wrCal2 * 100; //ex : 51,844444
int intWrCal2 = (int) (wrCal2 * 100); //ex : 5184
//wrCal2 = (double)intWrCal2 / 100 ; //ex : 51,84
//String wr2 = String.valueOf(wrCal2);
//
Integer val1 = intWrCal1;
Integer val2 = intWrCal2;
return (o2 != null) ? val1.compareTo(val2) : 1;
}else
return -1;
}
});
//
/////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////////
///
// TANK 1 JOUR 2 ///////////////////////
TextColumn<CommunityAccount> jour2Tank1 = new TextColumn<CommunityAccount>() {
@Override
public String getValue(CommunityAccount object) {
if (object.listBattlesTanks.size() >= 2 ) {
List<DataCommunityAccountVehicules> listVehPlayed = new ArrayList<DataCommunityAccountVehicules>();
DataCommunityAccount dataCommAccOfDay0 = object.listBattlesTanks.get(1);
DataCommunityAccount dataCommAccOfDay1 = object.listBattlesTanks.get(2);
//bcl sur les stats vehicules du joueur pour le jour en question (1)
for (DataCommunityAccountVehicules dataCommAccVeh0 : dataCommAccOfDay0.getVehicles()) {
//pour chaque vehicule du jour 0, il faut trouver le véhicule correspondant dans ceux du jour 1 pour éventuellement détecté qu'il a été joué ( + battle)
//et le mémoriser dans une liste de tanks joués
//A la fin on ne prendra que ceux qui ont été le + joués)
//
for (DataCommunityAccountVehicules dataCommAccVeh1 : dataCommAccOfDay1.getVehicles()) {
//char trouvé dans liste
if(dataCommAccVeh0.getName().equalsIgnoreCase(dataCommAccVeh1.getName())) {
if (dataCommAccVeh0.getBattle_count() > dataCommAccVeh1.getBattle_count()) {
//le char a été joué il faut l'ajouter à la liste
dataCommAccVeh0.setCountBattleSincePreviousDay(dataCommAccVeh0.getBattle_count() - dataCommAccVeh1.getBattle_count());