/*
* Created on Aug 17, 2004
*
*/
package is.idega.idegaweb.marathon.presentation;
import is.idega.idegaweb.marathon.business.RunBusiness;
import is.idega.idegaweb.marathon.util.IWMarathonConstants;
import java.rmi.RemoteException;
import java.util.Collection;
import java.util.Iterator;
import com.idega.business.IBOLookup;
import com.idega.business.IBOLookupException;
import com.idega.idegaweb.IWResourceBundle;
import com.idega.presentation.IWContext;
import com.idega.presentation.Table;
import com.idega.presentation.text.Link;
import com.idega.presentation.text.Text;
import com.idega.user.data.Group;
import com.idega.user.data.User;
import com.idega.user.presentation.UserTab;
/**
* @author birna
*
*/
public class UserRunTab extends UserTab{
private Text runText;
private Collection runGroups = null;
public UserRunTab() {
super();
IWContext iwc = IWContext.getInstance();
IWResourceBundle iwrb = getResourceBundle(iwc);
setName(iwrb.getLocalizedString("run_tab.name", "Users run info"));
}
/* (non-Javadoc)
* @see com.idega.util.datastructures.Collectable#collect(com.idega.presentation.IWContext)
*/
public boolean collect(IWContext iwc) {
return true;
}
/* (non-Javadoc)
* @see com.idega.user.presentation.UserTab#initFieldContents()
*/
public void initFieldContents() {
updateFieldsDisplayStatus();
}
/* (non-Javadoc)
* @see com.idega.user.presentation.UserTab#initializeFieldNames()
*/
public void initializeFieldNames() {
}
/* (non-Javadoc)
* @see com.idega.user.presentation.UserTab#initializeFields()
*/
public void initializeFields() {
}
/* (non-Javadoc)
* @see com.idega.user.presentation.UserTab#initializeFieldValues()
*/
public void initializeFieldValues() {
}
/* (non-Javadoc)
* @see com.idega.user.presentation.UserTab#initializeTexts()
*/
public void initializeTexts() {
IWContext iwc = IWContext.getInstance();
IWResourceBundle iwrb = getResourceBundle(iwc);
runText = new Text(iwrb.getLocalizedString("run_tab.run", "Run"));
}
/* (non-Javadoc)
* @see com.idega.user.presentation.UserTab#lineUpFields()
*/
public void lineUpFields() {
IWContext iwc = IWContext.getInstance();
IWResourceBundle iwrb = getResourceBundle(iwc);
RunBusiness runBiz = getRunBiz(iwc);
String userID = iwc.getParameter("ic_user_id");
String selectedGroupID = iwc.getParameter("selected_ic_group_id");
User user = null;
if(userID != null) {
try {
user = getUserBusiness(iwc).getUser(Integer.parseInt(userID));
}
catch (NumberFormatException e1) {
e1.printStackTrace();
}
catch (RemoteException e1) {
e1.printStackTrace();
}
}
try {
runGroups = runBiz.getRunGroupsForUser(user);
}
catch (RemoteException e) {
e.printStackTrace();
}
Table t = new Table();
int row = 1;
t.setCellpadding(0);
t.setCellspacing(0);
t.add(runText,1,row++);
if(runGroups != null) {
Iterator i = runGroups.iterator();
while(i.hasNext()) {
Group runGroup = (Group) i.next();
Group run = null;
try {
run = runBiz.getRunGroupOfTypeForGroup(runGroup, IWMarathonConstants.GROUP_TYPE_RUN);
}
catch (RemoteException e) {
e.printStackTrace();
}
Group year = null;
try {
year = runBiz.getRunGroupOfTypeForGroup(runGroup, IWMarathonConstants.GROUP_TYPE_RUN_YEAR);
}
catch (RemoteException e) {
e.printStackTrace();
}
Link l = new Link(iwrb.getLocalizedString(run.getName())+ " " + iwrb.getLocalizedString(year.getName()), iwrb.getLocalizedString(run.getName())+ " " + iwrb.getLocalizedString(year.getName()));
l.setStyleClass("styledLink");
l.addParameter(IWMarathonConstants.GROUP_TYPE_RUN,run.getPrimaryKey().toString());
l.addParameter("ic_user_id",Integer.parseInt(userID));
l.addParameter("selected_ic_group_id",runGroup.getPrimaryKey().toString());
l.setWindowToOpen(UpdateRunInfoWindow.class);
if(l != null) {
t.add(l,1,row++);
}
}
}
this.add(t,1,1);
}
/* (non-Javadoc)
* @see com.idega.util.datastructures.Collectable#store(com.idega.presentation.IWContext)
*/
public boolean store(IWContext iwc) {
return true;
}
/* (non-Javadoc)
* @see com.idega.user.presentation.UserTab#updateFieldsDisplayStatus()
*/
public void updateFieldsDisplayStatus() {
}
public String getBundleIdentifier() {
return IWMarathonConstants.IW_BUNDLE_IDENTIFIER;
}
private RunBusiness getRunBiz(IWContext iwc) {
RunBusiness business = null;
try {
business = (RunBusiness) IBOLookup.getServiceInstance(iwc, RunBusiness.class);
}
catch (IBOLookupException e) {
business = null;
}
return business;
}
}