/*
* The Kuali Financial System, a comprehensive financial management system for higher education.
*
* Copyright 2005-2014 The Kuali Foundation
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package org.kuali.kfs.sys.fixture;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import org.kuali.kfs.coa.businessobject.AccountingPeriod;
import org.kuali.kfs.coa.businessobject.IndirectCostRecoveryRateDetail;
import org.kuali.kfs.coa.businessobject.ObjectCode;
import org.kuali.kfs.coa.businessobject.OffsetDefinition;
import org.kuali.kfs.coa.businessobject.OrganizationReversion;
import org.kuali.kfs.coa.businessobject.OrganizationReversionDetail;
import org.kuali.kfs.coa.businessobject.SubObjectCode;
import org.kuali.kfs.sys.batch.dataaccess.FiscalYearMaker;
import org.kuali.kfs.sys.batch.dataaccess.impl.FiscalYearMakerImpl;
import org.kuali.kfs.sys.businessobject.FiscalYearBasedBusinessObject;
import org.kuali.kfs.sys.businessobject.SystemOptions;
import org.kuali.kfs.sys.businessobject.UniversityDate;
import org.kuali.kfs.sys.businessobject.WireCharge;
public enum FiscalYearMakerFixture {
OPTIONS(SystemOptions.class),
ORGANIZATION_REVERSION_DETAIL(OrganizationReversionDetail.class, ObjectCode.class, OrganizationReversion.class),
ORGANIZATION_REVERSION(OrganizationReversion.class),
SUB_OBJECT_CODE(SubObjectCode.class, ObjectCode.class),
OBJECT_CODE(ObjectCode.class),
// LABOR_OBJECT(LaborObject.class, ObjectCode.class),
OFFSET_DEFINITION(OffsetDefinition.class, ObjectCode.class),
// BENEFITS_CALCULATION(BenefitsCalculation.class),
// POSITION_OBJECT_BENEFIT(PositionObjectBenefit.class, BenefitsCalculation.class),
ACCOUNTING_PERIOD(AccountingPeriod.class),
INDIRECT_COST_RECOVERY_RATE_DETAIL(IndirectCostRecoveryRateDetail.class),
WIRE_CHARGE(WireCharge.class, ObjectCode.class),
// EFFORT_CERTIFICATION_REPORT_EARN_PAYGROUP(EffortCertificationReportEarnPaygroup.class),
// EFFORT_CERTIFICATION_REPORT_POSITION(EffortCertificationReportPosition.class, EffortCertificationReportDefinition.class),
// EFFORT_CERTIFICATION_REPORT_DEFINITION(EffortCertificationReportDefinition.class, AccountingPeriod.class),
// SYSTEM_INFORMATION(SystemInformation.class, ObjectCode.class, SubObjectCode.class),
UNIVERSITY_DATE(UniversityDate.class),
OPTIONS1(SystemOptions.class, ObjectCode.class),
// OBJECT_CODE1(ObjectCode.class, LaborObject.class),
// LABOR_OBJECT1(LaborObject.class, SubObjectCode.class),
WIRE_CHARGE1(WireCharge.class, ObjectCode.class, WireCharge.class);//,
//MISSING_PARENT_FYM(ObjectCode.class, Account.class);
public Class<? extends FiscalYearBasedBusinessObject> businessObjectClass;
public Set<Class<? extends FiscalYearBasedBusinessObject>> parentClasses;
private FiscalYearMakerFixture(Class<? extends FiscalYearBasedBusinessObject> businessObjectClass, Class<? extends FiscalYearBasedBusinessObject>... parentClasses) {
this.businessObjectClass = businessObjectClass;
this.parentClasses = new HashSet<Class<? extends FiscalYearBasedBusinessObject>>(Arrays.asList(parentClasses));
}
public FiscalYearMaker createFiscalYearMaker() {
FiscalYearMakerImpl fiscalYearMaker = new FiscalYearMakerImpl();
fiscalYearMaker.setBusinessObjectClass(this.businessObjectClass);
fiscalYearMaker.setParentClasses(this.parentClasses);
return fiscalYearMaker;
}
/**
* @return list of FiscalYearMaker implementations with valid parent-child configuration
*/
public static List<FiscalYearMaker> getFiscalYearMakerList_valid() {
List<FiscalYearMaker> fiscalYearMakers = new ArrayList<FiscalYearMaker>();
fiscalYearMakers.add(OPTIONS.createFiscalYearMaker());
fiscalYearMakers.add(ORGANIZATION_REVERSION_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(ORGANIZATION_REVERSION.createFiscalYearMaker());
fiscalYearMakers.add(SUB_OBJECT_CODE.createFiscalYearMaker());
fiscalYearMakers.add(OBJECT_CODE.createFiscalYearMaker());
// fiscalYearMakers.add(LABOR_OBJECT.createFiscalYearMaker());
fiscalYearMakers.add(OFFSET_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(BENEFITS_CALCULATION.createFiscalYearMaker());
// fiscalYearMakers.add(POSITION_OBJECT_BENEFIT.createFiscalYearMaker());
fiscalYearMakers.add(ACCOUNTING_PERIOD.createFiscalYearMaker());
fiscalYearMakers.add(INDIRECT_COST_RECOVERY_RATE_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(WIRE_CHARGE.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_EARN_PAYGROUP.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_POSITION.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(SYSTEM_INFORMATION.createFiscalYearMaker());
fiscalYearMakers.add(UNIVERSITY_DATE.createFiscalYearMaker());
return fiscalYearMakers;
}
/**
* @return list of FiscalYearMaker implementations with parent-child configuration that contains a missing parent configuration
*/
public static List<FiscalYearMaker> getFiscalYearMakerList_missingParent() {
List<FiscalYearMaker> fiscalYearMakers = new ArrayList<FiscalYearMaker>();
fiscalYearMakers.add(ORGANIZATION_REVERSION_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(ORGANIZATION_REVERSION.createFiscalYearMaker());
fiscalYearMakers.add(SUB_OBJECT_CODE.createFiscalYearMaker());
// fiscalYearMakers.add(LABOR_OBJECT.createFiscalYearMaker());
fiscalYearMakers.add(OFFSET_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(BENEFITS_CALCULATION.createFiscalYearMaker());
// fiscalYearMakers.add(POSITION_OBJECT_BENEFIT.createFiscalYearMaker());
fiscalYearMakers.add(ACCOUNTING_PERIOD.createFiscalYearMaker());
fiscalYearMakers.add(INDIRECT_COST_RECOVERY_RATE_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(WIRE_CHARGE.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_EARN_PAYGROUP.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_POSITION.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(SYSTEM_INFORMATION.createFiscalYearMaker());
fiscalYearMakers.add(UNIVERSITY_DATE.createFiscalYearMaker());
return fiscalYearMakers;
}
/**
* @return list of FiscalYearMaker implementations with a null business object class
*/
public static List<FiscalYearMaker> getFiscalYearMakerList_nullBusinessObjectClass() {
List<FiscalYearMaker> fiscalYearMakers = new ArrayList<FiscalYearMaker>();
FiscalYearMakerImpl fiscalYearMaker = (FiscalYearMakerImpl) WIRE_CHARGE.createFiscalYearMaker();
fiscalYearMaker.setBusinessObjectClass(null);
fiscalYearMakers.add(fiscalYearMaker);
// fiscalYearMakers.add(SYSTEM_INFORMATION.createFiscalYearMaker());
return fiscalYearMakers;
}
/**
* @return list of FiscalYearMaker implementations with two fiscal year maker implementations for the same business object class
*/
public static List<FiscalYearMaker> getFiscalYearMakerList_duplicateBusinessObjectClass() {
List<FiscalYearMaker> fiscalYearMakers = new ArrayList<FiscalYearMaker>();
fiscalYearMakers.add(OPTIONS.createFiscalYearMaker());
fiscalYearMakers.add(OBJECT_CODE.createFiscalYearMaker());
// fiscalYearMakers.add(BENEFITS_CALCULATION.createFiscalYearMaker());
fiscalYearMakers.add(ACCOUNTING_PERIOD.createFiscalYearMaker());
fiscalYearMakers.add(OBJECT_CODE.createFiscalYearMaker());
return fiscalYearMakers;
}
/**
* @return list of FiscalYearMaker implementations with parent-child configuration that contains a circular reference
*/
public static List<FiscalYearMaker> getFiscalYearMakerList_circular1() {
List<FiscalYearMaker> fiscalYearMakers = new ArrayList<FiscalYearMaker>();
fiscalYearMakers.add(OPTIONS1.createFiscalYearMaker());
fiscalYearMakers.add(ORGANIZATION_REVERSION_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(ORGANIZATION_REVERSION.createFiscalYearMaker());
fiscalYearMakers.add(SUB_OBJECT_CODE.createFiscalYearMaker());
fiscalYearMakers.add(OBJECT_CODE.createFiscalYearMaker());
// fiscalYearMakers.add(LABOR_OBJECT.createFiscalYearMaker());
fiscalYearMakers.add(OFFSET_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(BENEFITS_CALCULATION.createFiscalYearMaker());
// fiscalYearMakers.add(POSITION_OBJECT_BENEFIT.createFiscalYearMaker());
fiscalYearMakers.add(ACCOUNTING_PERIOD.createFiscalYearMaker());
fiscalYearMakers.add(INDIRECT_COST_RECOVERY_RATE_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(WIRE_CHARGE.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_EARN_PAYGROUP.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_POSITION.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(SYSTEM_INFORMATION.createFiscalYearMaker());
fiscalYearMakers.add(UNIVERSITY_DATE.createFiscalYearMaker());
return fiscalYearMakers;
}
/**
* @return list of FiscalYearMaker implementations with parent-child configuration that contains a circular reference
*/
public static List<FiscalYearMaker> getFiscalYearMakerList_circular2() {
List<FiscalYearMaker> fiscalYearMakers = new ArrayList<FiscalYearMaker>();
fiscalYearMakers.add(OPTIONS.createFiscalYearMaker());
fiscalYearMakers.add(ORGANIZATION_REVERSION_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(ORGANIZATION_REVERSION.createFiscalYearMaker());
fiscalYearMakers.add(SUB_OBJECT_CODE.createFiscalYearMaker());
// fiscalYearMakers.add(OBJECT_CODE1.createFiscalYearMaker());
// fiscalYearMakers.add(LABOR_OBJECT1.createFiscalYearMaker());
fiscalYearMakers.add(OFFSET_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(BENEFITS_CALCULATION.createFiscalYearMaker());
// fiscalYearMakers.add(POSITION_OBJECT_BENEFIT.createFiscalYearMaker());
fiscalYearMakers.add(ACCOUNTING_PERIOD.createFiscalYearMaker());
fiscalYearMakers.add(INDIRECT_COST_RECOVERY_RATE_DETAIL.createFiscalYearMaker());
fiscalYearMakers.add(WIRE_CHARGE1.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_EARN_PAYGROUP.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_POSITION.createFiscalYearMaker());
// fiscalYearMakers.add(EFFORT_CERTIFICATION_REPORT_DEFINITION.createFiscalYearMaker());
// fiscalYearMakers.add(SYSTEM_INFORMATION.createFiscalYearMaker());
fiscalYearMakers.add(UNIVERSITY_DATE.createFiscalYearMaker());
return fiscalYearMakers;
}
}