package is.idega.idegaweb.golf.legacy.presentation;
import is.idega.idegaweb.golf.UpdateHandicap;
import is.idega.idegaweb.golf.entity.Member;
import is.idega.idegaweb.golf.entity.MemberHome;
import is.idega.idegaweb.golf.presentation.GolfBlock;
import java.util.Collection;
import java.util.Iterator;
import javax.ejb.FinderException;
import com.idega.data.IDOLookup;
import com.idega.data.IDOLookupException;
import com.idega.presentation.IWContext;
import com.idega.presentation.Table;
import com.idega.presentation.ui.DateInput;
import com.idega.presentation.ui.Form;
import com.idega.presentation.ui.SubmitButton;
import com.idega.util.IWTimestamp;
/**
* @author gimmi
*/
public class HandicapUpdater extends GolfBlock {
private static final String PARAMETER_DATE = "prm_date";
public void main(IWContext iwc) throws Exception {
if (iwc.isParameterSet(PARAMETER_DATE)) {
updateHandicap(iwc);
}
else {
dateForm(iwc);
}
}
private void updateHandicap(IWContext iwc) throws IDOLookupException, FinderException {
MemberHome memberHome = (MemberHome) IDOLookup.getHome(Member.class);
System.out.println("HandicapUpdater : starting updating : "+IWTimestamp.RightNow());
Collection allMembers = memberHome.findAll();
IWTimestamp stamp = new IWTimestamp(iwc.getParameter(PARAMETER_DATE));
int counter = 0;
System.out.println("HandicapUpdater : member collection collected : "+IWTimestamp.RightNow());
if (allMembers != null) {
Iterator iter = allMembers.iterator();
Member member;
while (iter.hasNext()) {
++counter;
UpdateHandicap.update((Member) iter.next(), stamp);
if (counter % 100 == 0) {
System.out.println("HandicapUpdater : finished updating "+counter+" members : "+IWTimestamp.RightNow());
}
}
}
System.out.println("HandicapUpdater : finished updating : "+IWTimestamp.RightNow());
}
private void dateForm(IWContext iwc) {
Form form = new Form();
Table table = new Table();
form.add(table);
table.add(getSmallText(localize("update_from_date","Update from")+" :"), 1, 1);
table.add((DateInput) getStyledInterface(new DateInput(PARAMETER_DATE)), 2, 1);
table.add((SubmitButton) getStyledInterface(new SubmitButton(localize("update", "Update"))), 2, 2);
add(form);
}
}