/* * 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.module.cab.fixture; import java.util.ArrayList; import java.util.List; import org.kuali.kfs.module.purap.PurapConstants; import org.kuali.kfs.sys.businessobject.FinancialSystemDocumentHeader; import org.kuali.kfs.sys.context.SpringContext; import org.kuali.kfs.sys.document.workflow.MockWorkflowDocument; import org.kuali.rice.kew.api.document.DocumentStatus; import org.kuali.rice.kim.api.identity.Person; import org.kuali.rice.kim.api.identity.PersonService; import org.kuali.rice.krad.service.BusinessObjectService; public enum FinancialSystemDocumentHeaderFixture { REQS1 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("11"); obj.setDocumentDescription("CAB Test Data 1"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("REQS"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.RequisitionStatuses.APPDOC_AWAIT_CONTRACT_MANAGER_ASSGN); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, REQS2 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("12"); obj.setDocumentDescription("CAB Test Data 1"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("REQS"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.RequisitionStatuses.APPDOC_AWAIT_CONTRACT_MANAGER_ASSGN); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, REQS3 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("13"); obj.setDocumentDescription("CAB Test Data 1"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("REQS"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.RequisitionStatuses.APPDOC_IN_PROCESS); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PO1 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("21"); obj.setDocumentDescription("CAB Test Data 1"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PO"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PurchaseOrderStatuses.APPDOC_OPEN); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PO2 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("22"); obj.setDocumentDescription("CAB Test Data 1"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PO"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PurchaseOrderStatuses.APPDOC_OPEN); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PO3 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("23"); obj.setDocumentDescription("CAB Test Data 1"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PO"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PurchaseOrderStatuses.APPDOC_OPEN); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PREQ1 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("31"); obj.setDocumentDescription("PO: 1007 Vendor: BESCO WATER TREATMENT I"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PREQ"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PREQ2 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("32"); obj.setDocumentDescription("PO: 1007 Vendor: BESCO WATER TREATMENT I"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PREQ"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); obj.setInitiatorPrincipalId(principalId("appleton")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PREQ3 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("33"); obj.setDocumentDescription("PO: 1007 Vendor: BESCO WATER TREATMENT I"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PREQ"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); obj.setInitiatorPrincipalId(principalId("appleton")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PREQ4 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("34"); obj.setDocumentDescription("PO: 1007 Vendor: BESCO WATER TREATMENT I"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PREQ"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); obj.setInitiatorPrincipalId(principalId("appleton")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PREQ5 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("35"); obj.setDocumentDescription("PO: 1007 Vendor: BESCO WATER TREATMENT I"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PREQ"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); obj.setInitiatorPrincipalId(principalId("appleton")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, PREQ6 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("36"); obj.setDocumentDescription("PO: 1007 Vendor: BESCO WATER TREATMENT I"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("PREQ"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.PaymentRequestStatuses.APPDOC_DEPARTMENT_APPROVED); obj.setInitiatorPrincipalId(principalId("appleton")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, CM1 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("41"); obj.setDocumentDescription("PO: 1007 Vendor: BESCO WATER TREATMENT I"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("CM"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setApplicationDocumentStatus(PurapConstants.CreditMemoStatuses.APPDOC_COMPLETE); obj.setInitiatorPrincipalId(principalId("appleton")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, CINV1 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("51"); obj.setDocumentDescription("Customer Invoice1"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("INV"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }, CINV2 { @Override public FinancialSystemDocumentHeader newRecord() { FinancialSystemDocumentHeader obj = new FinancialSystemDocumentHeader(); obj.setDocumentNumber("52"); obj.setDocumentDescription("Customer Invoice2"); obj.setWorkflowDocument(new MockWorkflowDocument() {}); obj.setWorkflowDocumentTypeName("INV"); obj.setWorkflowDocumentStatusCode(DocumentStatus.FINAL.getCode()); obj.setInitiatorPrincipalId(principalId("khuntley")); obj.setWorkflowCreateDate(new java.sql.Timestamp(new java.util.Date().getTime())); return obj; } }; public abstract FinancialSystemDocumentHeader newRecord(); public static void setUpData() { BusinessObjectService businessObjectService = SpringContext.getBean(BusinessObjectService.class); businessObjectService.save(getAll()); } private static List<FinancialSystemDocumentHeader> getAll() { List<FinancialSystemDocumentHeader> recs = new ArrayList<FinancialSystemDocumentHeader>(); // recs.add(REC1.newRecord()); // recs.add(REC2.newRecord()); // recs.add(REC3.newRecord()); // recs.add(PO1.newRecord()); // recs.add(PO2.newRecord()); // recs.add(PO3.newRecord()); // recs.add(PREQ1.newRecord()); // recs.add(PREQ2.newRecord()); // recs.add(PREQ3.newRecord()); // recs.add(PREQ4.newRecord()); // recs.add(PREQ5.newRecord()); // recs.add(PREQ6.newRecord()); // recs.add(CM1.newRecord()); recs.add(CINV1.newRecord()); recs.add(CINV2.newRecord()); return recs; } public static String principalId(String principalName) { try { Person person = SpringContext.getBean(PersonService.class).getPersonByPrincipalName(principalName); if (person != null) { return person.getPrincipalId(); } } catch (Exception e) { } return null; } }