/* * $Id: RunBMPBean.java,v 1.34 2009/01/13 09:38:28 palli Exp $ * Created on May 22, 2005 * * Copyright (C) 2005 Idega Software hf. All Rights Reserved. * * This software is the proprietary information of Idega hf. * Use is subject to license terms. */ package is.idega.idegaweb.marathon.data; import is.idega.idegaweb.marathon.business.RunBusiness; import java.rmi.RemoteException; import java.util.Map; import com.idega.business.IBOLookup; import com.idega.business.IBOLookupException; import com.idega.presentation.IWContext; import com.idega.user.data.GroupBMPBean; import com.idega.util.IWTimestamp; /** * Last modified: $Date: 2009/01/13 09:38:28 $ by $Author: palli $ * * @author <a href="mailto:laddi@idega.com">laddi</a> * @version $Revision: 1.34 $ */ public class RunBMPBean extends GroupBMPBean implements Run{ /** * Comment for <code>serialVersionUID</code> */ private static final long serialVersionUID = -8363802419171254109L; private static final String METADATA_FAMILY_DISCOUNT = "family_discount"; private static final String METADATA_RUN_HOME_PAGE = "run_home_page"; private static final String METADATA_RUN_INFORMATION_PAGE = "run_information_page"; private static final String METADATA_ENGLISH_RUN_INFORMATION_PAGE = "english_run_information_page"; private static final String METADATA_RUN_REGISTRATION_RECEIPT_GREETING = "run_receipt_greeting"; private static final String METADATA_RUN_REGISTRATION_RECEIPT_GREETING_ENGLISH = "run_receipt_greeting_en"; private static final String METADATA_RUN_REGISTRATION_RECEIPT_INFO = "run_receipt_info"; private static final String METADATA_RUN_REGISTRATION_RECEIPT_INFO_ENGLISH = "run_receipt_info_en"; public float getFamilyDiscount() { String discount = this.getMetaData(METADATA_FAMILY_DISCOUNT); if (discount != null) { return Float.parseFloat(discount); } return 0; } public void setFamilyDiscount(float discount) { setMetaData(METADATA_FAMILY_DISCOUNT, String.valueOf(discount), "java.lang.Float"); } public String getRunHomePage() { return this.getMetaData(METADATA_RUN_HOME_PAGE); } public void setRunHomePage(String runHomePage) { setMetaData(METADATA_RUN_HOME_PAGE, runHomePage); } public String getRunInformationPage() { return this.getMetaData(METADATA_RUN_INFORMATION_PAGE); } public void setRunInformationPage(String runInformationPage) { setMetaData(METADATA_RUN_INFORMATION_PAGE, runInformationPage); } public String getEnglishRunInformationPage() { return this.getMetaData(METADATA_ENGLISH_RUN_INFORMATION_PAGE); } public void setEnglishRunInformationPage(String englishRunInformationPage) { setMetaData(METADATA_ENGLISH_RUN_INFORMATION_PAGE, englishRunInformationPage); } public void setRunRegistrationReceiptGreeting(String greeting) { setMetaData(METADATA_RUN_REGISTRATION_RECEIPT_GREETING, greeting); } public String getRunRegistrationReceiptGreeting() { return this.getMetaData(METADATA_RUN_REGISTRATION_RECEIPT_GREETING); } public void setRunRegistrationReceiptGreetingEnglish(String greeting) { setMetaData(METADATA_RUN_REGISTRATION_RECEIPT_GREETING_ENGLISH, greeting); } public String getRunRegistrationReceiptGreetingEnglish() { return this.getMetaData(METADATA_RUN_REGISTRATION_RECEIPT_GREETING_ENGLISH); } public void setRunRegistrationReceiptInfo(String info) { setMetaData(METADATA_RUN_REGISTRATION_RECEIPT_INFO, info); } public String getRunRegistrationReceiptInfo() { return this.getMetaData(METADATA_RUN_REGISTRATION_RECEIPT_INFO); } public void setRunRegistrationReceiptInfoEnglish(String info) { setMetaData(METADATA_RUN_REGISTRATION_RECEIPT_INFO_ENGLISH, info); } public String getRunRegistrationReceiptInfoEnglish() { return this.getMetaData(METADATA_RUN_REGISTRATION_RECEIPT_INFO_ENGLISH); } public Year getCurrentRegistrationYear() { IWTimestamp thisYearStamp = IWTimestamp.RightNow(); String yearString = String.valueOf(thisYearStamp.getYear()); IWTimestamp nextYearStamp = IWTimestamp.RightNow(); nextYearStamp.addYears(1); String nextYearString = String.valueOf(nextYearStamp.getYear()); // String runnerYearString = yearString; boolean finished = false; IWContext iwc = IWContext.getInstance(); Map yearMap; Year theReturn = null; try { yearMap = getRunBusiness(iwc).getYearsMap(this); Year year = (Year) yearMap.get(yearString); theReturn = year; if (year != null && year.getLastRegistrationDate() != null) { if (thisYearStamp.isLaterThanOrEquals(new IWTimestamp(year.getLastRegistrationDate()))) { finished = true; } } else { finished = true; } Year nextYear = (Year) yearMap.get(nextYearString); if (finished && nextYear != null && nextYear.getLastRegistrationDate() != null && thisYearStamp.isEarlierThan(new IWTimestamp(nextYear.getLastRegistrationDate()))) { // runnerYearString = nextYearString; theReturn=nextYear; } } catch (RemoteException e) { // TODO Auto-generated catch block e.printStackTrace(); } return theReturn; } private RunBusiness getRunBusiness(IWContext iwc) { try { return (RunBusiness) IBOLookup.getServiceInstance(iwc, RunBusiness.class); } catch (IBOLookupException e) { throw new RuntimeException(e); } } }