001 /* 002 * Copyright 2011 The Kuali Foundation. 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kfs.coa.document.validation.impl; 017 018 import org.kuali.kfs.coa.businessobject.AccountDelegateModelDetail; 019 import org.kuali.kfs.coa.businessobject.AccountDelegateModel; 020 import org.kuali.rice.kns.document.MaintenanceDocument; 021 022 /** 023 * 024 * This class... 025 */ 026 public class OrganizationRoutingModelPreRules extends MaintenancePreRulesBase { 027 public OrganizationRoutingModelPreRules() { 028 } 029 030 /** 031 * This performs pre rules checks 032 * <ul> 033 * <li>{@link OrganizationRoutingModelPreRules#copyKeyAttributesToModelDetail(OrganizationRoutingModelName)}</li> 034 * </ul> 035 * @see org.kuali.kfs.coa.document.validation.impl.MaintenancePreRulesBase#doCustomPreRules(org.kuali.rice.kns.document.MaintenanceDocument) 036 */ 037 @Override 038 protected boolean doCustomPreRules(MaintenanceDocument maintDoc) { 039 AccountDelegateModel model = (AccountDelegateModel) maintDoc.getNewMaintainableObject().getBusinessObject(); 040 copyKeyAttributesToModelDetail(model); 041 return true; 042 } 043 044 /** 045 * 046 * This copies the chart of accounts, object code, and organization model name from the parent {@link OrganizationRoutingModelName} to the 047 * {@link OrganizationRoutingModel} objects 048 * @param model 049 */ 050 protected void copyKeyAttributesToModelDetail(AccountDelegateModel model) { 051 for (AccountDelegateModelDetail modelDelegate : model.getAccountDelegateModelDetails()) { 052 modelDelegate.setChartOfAccountsCode(model.getChartOfAccountsCode()); 053 modelDelegate.setOrganizationCode(model.getOrganizationCode()); 054 modelDelegate.setAccountDelegateModelName(model.getAccountDelegateModelName()); 055 } 056 } 057 058 }