package se.idega.idegaweb.commune.adulteducation;
import javax.ejb.CreateException;
import javax.ejb.FinderException;
import se.idega.idegaweb.commune.adulteducation.business.AdultEducationBusiness;
import se.idega.idegaweb.commune.adulteducation.data.AdultEducationChoiceReason;
import se.idega.idegaweb.commune.adulteducation.data.AdultEducationChoiceReasonHome;
import se.idega.idegaweb.commune.school.business.SchoolCaseBusiness;
import com.idega.block.process.business.CaseCodeManager;
import com.idega.block.school.data.SchoolCategory;
import com.idega.block.school.data.SchoolCategoryHome;
import com.idega.block.school.data.SchoolStudyPathGroup;
import com.idega.block.school.data.SchoolStudyPathGroupHome;
import com.idega.data.IDOLookupException;
import com.idega.idegaweb.IWBundle;
import com.idega.idegaweb.IWBundleStartable;
import com.idega.repository.data.ImplementorRepository;
/**
* Last modified: $Date: 2006/03/20 02:10:50 $ by $Author: sigtryggur $
*
* @author <a href="mailto:laddi@idega.com">laddi</a>
* @version $Revision: 1.4.2.1 $
*/
public class IWBundleStarter implements IWBundleStartable {
public void start(IWBundle starterBundle) {
ImplementorRepository.getInstance().addImplementor(SchoolCaseBusiness.class, AdultEducationBusiness.class);
insertStartData();
}
public void stop(IWBundle starterBundle) {
// nothing to do
}
protected void insertStartData() {
CaseCodeManager caseCodeManager = CaseCodeManager.getInstance();
caseCodeManager.addCaseBusinessForCode(AdultEducationConstants.ADULT_EDUCATION_CASE_CODE, AdultEducationBusiness.class);
insertSchoolCategory(AdultEducationConstants.ADULT_EDUCATION_CATEGORY);
insertStudyPathGroup(AdultEducationConstants.STUDY_PATH_GROUP_ECONOMICS);
insertStudyPathGroup(AdultEducationConstants.STUDY_PATH_GROUP_IT);
insertStudyPathGroup(AdultEducationConstants.STUDY_PATH_GROUP_LANGUAGES);
insertStudyPathGroup(AdultEducationConstants.STUDY_PATH_GROUP_MATHEMATICS);
insertStudyPathGroup(AdultEducationConstants.STUDY_PATH_GROUP_PROFESSION_TRAINING);
insertStudyPathGroup(AdultEducationConstants.STUDY_PATH_GROUP_SCIENCE);
insertStudyPathGroup(AdultEducationConstants.STUDY_PATH_GROUP_SOCIAL_SCIENCES);
insertReason(AdultEducationConstants.REASON_FULFILL_STUDIES);
insertReason(AdultEducationConstants.REASON_COMPLEMENT_HIGH_SCHOOL);
insertReason(AdultEducationConstants.REASON_QUALIFICATION_COURSE);
insertReason(AdultEducationConstants.REASON_WORK_RELATED_KNOWLEDGE);
insertReason(AdultEducationConstants.REASON_TO_GET_EMPLOYMENT);
insertReason(AdultEducationConstants.REASON_GET_FINAL_GRADE);
}
private void insertSchoolCategory(String category){
try {
SchoolCategoryHome cHome = (SchoolCategoryHome) com.idega.data.IDOLookup.getHome(SchoolCategory.class);
SchoolCategory cat;
try {
cat = cHome.findByPrimaryKey(category);
}
catch (FinderException fe) {
try {
cat = cHome.create();
cat.setCategory(category);
cat.setName("Adult education");
cat.setLocalizedKey("school_category." + category);
cat.store();
System.out.println("[IWBundleStarter] Inserted school category for adult education");
}
catch (CreateException ce) {
ce.printStackTrace();
}
}
}
catch (IDOLookupException ile) {
ile.printStackTrace();
}
}
private void insertStudyPathGroup(String name){
try {
SchoolStudyPathGroupHome cHome = (SchoolStudyPathGroupHome) com.idega.data.IDOLookup.getHome(SchoolStudyPathGroup.class);
SchoolStudyPathGroup group;
try {
group = cHome.findByGroupName(name);
}
catch (FinderException fe) {
try {
group = cHome.create();
group.setGroupName(name);
group.setLocalizationKey("study_path_group." + name);
group.store();
System.out.println("[IWBundleStarter] Inserted study path group = " + name);
}
catch (CreateException ce) {
ce.printStackTrace();
}
}
}
catch (IDOLookupException ile) {
ile.printStackTrace();
}
}
private void insertReason(String name){
try {
AdultEducationChoiceReasonHome cHome = (AdultEducationChoiceReasonHome) com.idega.data.IDOLookup.getHome(AdultEducationChoiceReason.class);
AdultEducationChoiceReason reason;
try {
reason = cHome.findByName(name);
}
catch (FinderException fe) {
try {
reason = cHome.create();
reason.setName(name);
reason.setLocalizedKey("vux_choice_reason." + name);
reason.store();
System.out.println("[IWBundleStarter] Inserted reason = " + name);
}
catch (CreateException ce) {
ce.printStackTrace();
}
}
}
catch (IDOLookupException ile) {
ile.printStackTrace();
}
}
}