001: /*
002: * Copyright 2006-2007 The Kuali Foundation.
003: *
004: * Licensed under the Educational Community License, Version 1.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/ecl1.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.module.gl;
017:
018: import java.util.Iterator;
019: import java.util.Map;
020:
021: import org.apache.commons.lang.StringUtils;
022: import org.kuali.core.datadictionary.AttributeDefinition;
023: import org.kuali.core.service.DataDictionaryService;
024: import org.kuali.kfs.KFSPropertyConstants;
025: import org.kuali.kfs.bo.OriginationCode;
026: import org.kuali.kfs.context.SpringContext;
027: import org.kuali.module.chart.bo.A21SubAccount;
028: import org.kuali.module.chart.bo.ObjectCode;
029: import org.kuali.module.chart.bo.codes.BalanceTyp;
030: import org.kuali.module.gl.bo.OriginEntryFull;
031:
032: /**
033: * This class holds constants specifically for use within the General Ledger module.
034: */
035: public class GLConstants {
036:
037: public static final String INSERT_CODE = "I";
038: public static final String UPDATE_CODE = "U";
039: public static final String DELETE_CODE = "D";
040: public static final String SELECT_CODE = "S";
041: public static final String EMPTY_CODE = "";
042: public static final String ERROR_CODE = "E";
043:
044: public static final String RETAIN_DAYS = "RETAIN_DAYS";
045:
046: public static class DummyBusinessObject {
047: static final public String COST_SHARE_OPTION = "dummyBusinessObject.costShareOption";
048: static final public String PENDING_ENTRY_OPTION = "dummyBusinessObject.pendingEntryOption";
049: static final public String CONSOLIDATION_OPTION = "dummyBusinessObject.consolidationOption";
050: static final public String LINK_BUTTON_OPTION = "dummyBusinessObject.linkButtonOption";
051: }
052:
053: public static class PendingEntryOptions {
054: static final public String APPROVED = "Approved";
055: static final public String ALL = "All";
056: }
057:
058: public static class ColumnNames {
059: static final public String SUB_ACCOUNT_NUMBER = "SUB_ACCT_NBR";
060: static final public String CURRENT_BDLN_BALANCE_AMOUNT = "CURR_BDLN_BAL_AMT";
061: static final public String ACCOUNTING_LINE_ACTUALS_BALANCE_AMOUNT = "ACLN_ACTLS_BAL_AMT";
062: static final public String ACCOUNTING_LINE_ENCUMBRANCE_BALANCE_AMOUNT = "ACLN_ENCUM_BAL_AMT";
063: static final public String CONSOLIDATION_OBJECT_CODE = "FIN_CONS_OBJ_CD";
064: static final public String REPORT_SORT_CODE = "FIN_REPORT_SORT_CD";
065: static final public String CONSOLIDATION_REPORT_SORT_CODE = "CONS_FIN_REPORT_SORT_CD";
066: static final public String OBJECT_LEVEL_CODE = "FIN_OBJ_LVL_CD";
067: static final public String OBJECT_LEVEL_CODE2 = "FIN_OBJ_LEVEL_CD";
068: static final public String OBJECT_CODE = "FIN_OBJECT_CD";
069: // amounts in the balances table
070: static final public String ANNUAL_BALANCE = "ACLN_ANNL_BAL_AMT";
071: static final public String BEGINNING_BALANCE = "FIN_BEG_BAL_LN_AMT";
072:
073: static final public String UNIVERSITY_FISCAL_YEAR = "UNIV_FISCAL_YR";
074: static final public String CHART_OF_ACCOUNTS_CODE = "FIN_COA_CD";
075: static final public String ACCOUNT_NUMBER = "ACCOUNT_NBR";
076: static final public String SUB_OBJECT_CODE = "FIN_SUB_OBJ_CD";
077: static final public String OBJECT_TYPE_CODE = "FIN_OBJ_TYP_CD";
078: static final public String BALANCE_TYPE_CODE = "FIN_BALANCE_TYP_CD";
079: static final public String DEBIT_CREDIT_CODE = "TRN_DEBIT_CRDT_CD";
080: static final public String OBJECT_TYPE_DEBIT_CREDIT_CODE = "FIN_OBJTYP_DBCR_CD";
081: static final public String OFFSET_GENERATION_CODE = "FIN_OFFST_GNRTN_CD";
082: static final public String TRANSACTION_LEDGER_ENTRY_AMOUNT = "TRN_LDGR_ENTR_AMT";
083:
084: static final public String TRANSACTION_DT = "TRANSACTION_DT";
085: static final public String FIN_OBJ_TYP_CODE = "FIN_OBJ_TYP_CODE";
086: static final public String NET_EXP_OBJECT_CD = "NET_EXP_OBJECT_CD";
087: static final public String NET_REV_OBJECT_CD = "NET_REV_OBJECT_CD";
088: static final public String FUND_BAL_OBJ_TYP_CD = "FUND_BAL_OBJ_TYP_CD";
089: static final public String FUND_BAL_OBJECT_CD = "FUND_BAL_OBJECT_CD";
090: static final public String UNIV_DT = "UNIV_DT";
091: }
092:
093: public static class BalanceInquiryDrillDowns {
094: static final public String OBJECT_LEVEL_CODE = "financialObject.financialObjectLevel.financialObjectLevelCode";
095: static final public String REPORTING_SORT_CODE = "financialObject.financialObjectLevel.financialReportingSortCode";
096: static final public String CONSOLIDATION_OBJECT_CODE = "financialObject.financialObjectLevel.financialConsolidationObject.finConsolidationObjectCode";
097: }
098:
099: public static class LookupableBeanKeys {
100: static final public String PENDING_ENTRY = "glPendingEntryLookupable";
101: public static final String SEGMENTED_LOOKUP_FLAG_NAME = "segmented";
102: }
103:
104: public static final String GL_SCRUBBER_GROUP = "ScrubberStep";
105: public static final String GL_ORGANIZATION_REVERSION_SELECTION_GROUP = "OrganizationReversion";
106:
107: public static final String ANNUAL_CLOSING_TRANSACTION_DATE_PARM = "ANNUAL_CLOSING_TRANSACTION_DATE";
108: public static final String ANNUAL_CLOSING_FISCAL_YEAR_PARM = "ANNUAL_CLOSING_FISCAL_YEAR";
109: public static final String ANNUAL_CLOSING_FUND_BALANCE_OBJECT_CODE_PARM = "ANNUAL_CLOSING_FUND_BALANCE_OBJECT_CODE";
110: public static final String ANNUAL_CLOSING_FUND_BALANCE_OBJECT_TYPE_PARM = "ANNUAL_CLOSING_FUND_BALANCE_OBJECT_TYPE";
111: public static final String ANNUAL_CLOSING_DOCUMENT_TYPE = "ANNUAL_CLOSING_DOCUMENT_TYPE";
112:
113: public static class GlAccountBalanceGroupParameters {
114: static final public String EXPENSE_OBJECT_TYPE_CODES = "EXPENSE_OBJECT_TYPE_CODES";
115: static final public String EXPENSE_TRANSFER_OBJECT_TYPE_CODES = "EXPENSE_TRANSFER_OBJECT_TYPE_CODES";
116: static final public String INCOME_OBJECT_TYPE_CODES = "INCOME_OBJECT_TYPE_CODES";
117: static final public String INCOME_TRANSFER_OBJECT_TYPE_CODES = "INCOME_TRANSFER_OBJECT_TYPE_CODES";
118: }
119:
120: public static class GlScrubberGroupParameters {
121: static final public String CAPITALIZATION_IND = "CAPITALIZATION_IND";
122: static final public String CAPITALIZATION_SUBTYPE_OBJECT = "CAPITALIZATION_OBJECT_CODE_BY_OBJECT_SUB_TYPE";
123:
124: static final public String COST_SHARE_OBJECT_CODE_BY_LEVEL_PARM_NM = "COST_SHARE_OBJECT_CODE_BY_OBJECT_LEVEL";
125: static final public String COST_SHARE_OBJECT_CODE_PARM_NM = "COST_SHARE_OBJECT_CODE";
126:
127: static final public String LIABILITY_IND = "LIABILITY_IND";
128: static final public String LIABILITY_OBJECT_CODE = "LIABILITY_OBJECT_CODE";
129:
130: static final public String PLANT_INDEBTEDNESS_IND = "PLANT_INDEBTEDNESS_IND";
131:
132: static final public String SCRUBBER_CUTOFF_TIME = "CUTOFF_TIME";
133: }
134:
135: public static class GlScrubberGroupRules {
136: static final public String CAPITALIZATION_DOC_TYPE_CODES = "CAPITALIZATION_DOCUMENT_TYPES";
137: static final public String CAPITALIZATION_FISCAL_PERIOD_CODES = "CAPITALIZATION_FISCAL_PERIODS";
138: static final public String CAPITALIZATION_OBJ_SUB_TYPE_CODES = "CAPITALIZATION_OBJECT_SUB_TYPES";
139: static final public String CAPITALIZATION_SUB_FUND_GROUP_CODES = "CAPITALIZATION_SUB_FUND_GROUPS";
140: static final public String CAPITALIZATION_CHART_CODES = "CAPITALIZATION_CHARTS";
141:
142: static final public String COST_SHARE_OBJ_TYPE_CODES = "COST_SHARE_OBJECT_TYPES";
143: static final public String COST_SHARE_FISCAL_PERIOD_CODES = "COST_SHARE_FISCAL_PERIODS";
144:
145: static final public String COST_SHARE_ENC_BAL_TYP_CODES = "COST_SHARE_ENCUMBRANCE_BALANCE_TYPES";
146: static final public String COST_SHARE_ENC_DOC_TYPE_CODES = "COST_SHARE_ENCUMBRANCE_DOCUMENT_TYPES";
147: static final public String COST_SHARE_ENC_FISCAL_PERIOD_CODES = "COST_SHARE_ENCUMBRANCE_FISCAL_PERIODS";
148:
149: static final public String LIABILITY_CHART_CODES = "LIABILITY_CHARTS";
150: static final public String LIABILITY_DOC_TYPE_CODES = "LIABILITY_DOCUMENT_TYPES";
151: static final public String LIABILITY_FISCAL_PERIOD_CODES = "LIABILITY_FISCAL_PERIODS";
152: static final public String LIABILITY_OBJ_SUB_TYPE_CODES = "LIABILITY_OBJECT_SUB_TYPES";
153: static final public String LIABILITY_SUB_FUND_GROUP_CODES = "LIABILITY_SUB_FUND_GROUPS";
154:
155: static final public String OFFSET_DOC_TYPE_CODES = "OFFSET_GENERATION_DOCUMENT_TYPES";
156: static final public String OFFSET_FISCAL_PERIOD_CODES = "OFFSET_GENERATION_FISCAL_PERIODS";
157:
158: static final public String PLANT_FUND_CAMPUS_OBJECT_SUB_TYPE_CODES = "PLANT_FUND_CAMPUS_OBJECT_SUB_TYPES";
159: static final public String PLANT_FUND_ORG_OBJECT_SUB_TYPE_CODES = "PLANT_FUND_ORGANIZATION_OBJECT_SUB_TYPES";
160:
161: static final public String PLANT_INDEBTEDNESS_OBJ_SUB_TYPE_CODES = "PLANT_INDEBTEDNESS_OBJECT_SUB_TYPES";
162: static final public String PLANT_INDEBTEDNESS_SUB_FUND_GROUP_CODES = "PLANT_INDEBTEDNESS_SUB_FUND_GROUPS";
163:
164: static final public String CONTINUATION_ACCOUNT_BYPASS_ORIGINATION_CODES = "CONTINUATION_ACCOUNT_BYPASS_ORIGINATIONS";
165: static final public String CONTINUATION_ACCOUNT_BYPASS_BALANCE_TYPE_CODES = "CONTINUATION_ACCOUNT_BYPASS_BALANCE_TYPE_CODES";
166: static final public String CONTINUATION_ACCOUNT_BYPASS_DOCUMENT_TYPE_CODES = "CONTINUATION_ACCOUNT_BYPASS_DOCUMENT_TYPES";
167: }
168:
169: public static class GlSummaryReport {
170: static final public String CURRENT_YEAR_LOWER = "CURRENT_YEAR_LOWER";
171: static final public String CURRENT_YEAR_UPPER = "CURRENT_YEAR_UPPER";
172: static final public String CURRENT_AND_LAST_YEAR = "CURRENT_AND_LAST_YEAR";
173: }
174:
175: public static class OrganizationReversionProcess {
176: static final public String ORGANIZATION_REVERSION_COA = "ORGANIZATION_REVERSION_COA";
177: static final public String CARRY_FORWARD_OBJECT_CODE = "CARRY_FORWARD_OBJECT_CODE";
178: static final public String DEFAULT_FINANCIAL_SYSTEM_ORIGINATION_CODE = "MANUAL_FEED_ORIGINATION";
179: static final public String DEFAULT_FINANCIAL_BALANCE_TYPE_CODE = "CASH_REVERSION_DEFAULT_BALANCE_TYPE";
180: static final public String DEFAULT_FINANCIAL_BALANCE_TYPE_CODE_YEAR_END = "BUDGET_REVERSION_DEFAULT_BALANCE_TYPE";
181: static final public String DEFAULT_DOCUMENT_NUMBER_PREFIX = "DEFAULT_DOCUMENT_NUMBER_PREFIX";
182: static final public String UNALLOC_OBJECT_CODE_PARM = "UNALLOCATED_OBJECT_CODE";
183: }
184:
185: public static class PosterService {
186: static final public String SYMBOL_USE_EXPENDITURE_ENTRY = "@";
187: static final public String SYMBOL_USE_IRC_FROM_ACCOUNT = "#";
188: }
189:
190: public static class PosterOutputSummaryEntry {
191: static final public String ASSET_EXPENSE_OBJECT_TYPE_CODES = "ASSET_EXPENSE_OBJECT_TYPE_CODES";
192: }
193:
194: public static class BalanceForwardRule {
195: static final public String BALANCE_TYPES_TO_ROLL_FORWARD_FOR_BALANCE_SHEET = "BALANCE_TYPES_TO_ROLL_FORWARD_FOR_BALANCE_SHEET";
196: static final public String BALANCE_TYPES_TO_ROLL_FORWARD_FOR_INCOME_EXPENSE = "BALANCE_TYPES_TO_ROLL_FORWARD_FOR_INCOME_EXPENSE";
197: static final public String SUB_FUND_GROUPS_FOR_INCEPTION_TO_DATE_REPORTING = "SUB_FUND_GROUPS_FOR_INCEPTION_TO_DATE_REPORTING";
198: }
199:
200: public static class EncumbranceClosingOriginEntry {
201: static final public String GENERATED_TRANSACTION_LEDGER_ENTRY_DESCRIPTION = "GENERATED_TRANSACTION_LEDGER_ENTRY_DESCRIPTION";
202: static final public String BEGINNING_FUND_BALANCE_TRANSACTION_LEDGER_ENTRY_DESCRIPTION = "BEGINNING_FUND_BALANCE_TRANSACTION_LEDGER_ENTRY_DESCRIPTION";
203: static final public String OFFSET_OBJECT_CODE_FOR_INTERNAL_ENCUMBRANCE = "OFFSET_OBJECT_CODE_FOR_INTERNAL_ENCUMBRANCE";
204: static final public String OFFSET_OBJECT_CODE_FOR_PRE_ENCUMBRANCE = "OFFSET_OBJECT_CODE_FOR_PRE_ENCUMBRANCE";
205: static final public String OFFSET_OBJECT_CODE_FOR_EXTERNAL_ENCUMBRANCE = "OFFSET_OBJECT_CODE_FOR_EXTERNAL_ENCUMBRANCE";
206: }
207:
208: // Some static method calls below that could be done in static variables instead but isn't safe to do during class loading
209: // w/SpringContext.
210: private static String SPACE_UNIVERSITY_FISCAL_PERIOD_CODE = null;
211:
212: public static String getSpaceUniversityFiscalPeriodCode() {
213: if (SPACE_UNIVERSITY_FISCAL_PERIOD_CODE == null) {
214: SPACE_UNIVERSITY_FISCAL_PERIOD_CODE = StringUtils
215: .rightPad(
216: "",
217: SpringContext
218: .getBean(
219: DataDictionaryService.class)
220: .getAttributeMaxLength(
221: OriginEntryFull.class,
222: KFSPropertyConstants.UNIVERSITY_FISCAL_PERIOD_CODE),
223: ' ');
224: }
225: return SPACE_UNIVERSITY_FISCAL_PERIOD_CODE;
226: }
227:
228: private static String SPACE_BALANCE_TYPE_CODE = null;
229:
230: public static String getSpaceBalanceTypeCode() {
231: if (SPACE_BALANCE_TYPE_CODE == null) {
232: SPACE_BALANCE_TYPE_CODE = StringUtils.rightPad("",
233: SpringContext.getBean(DataDictionaryService.class)
234: .getAttributeMaxLength(BalanceTyp.class,
235: KFSPropertyConstants.CODE), ' ');
236: }
237: return SPACE_BALANCE_TYPE_CODE;
238: }
239:
240: private static String SPACE_FINANCIAL_SYSTEM_ORIGINATION_CODE = null;
241:
242: public static String getSpaceFinancialSystemOriginationCode() {
243: if (SPACE_FINANCIAL_SYSTEM_ORIGINATION_CODE == null) {
244: SPACE_FINANCIAL_SYSTEM_ORIGINATION_CODE = StringUtils
245: .rightPad(
246: "",
247: SpringContext
248: .getBean(
249: DataDictionaryService.class)
250: .getAttributeMaxLength(
251: OriginationCode.class,
252: KFSPropertyConstants.FINANCIAL_SYSTEM_ORIGINATION_CODE),
253: ' ');
254: }
255: return SPACE_FINANCIAL_SYSTEM_ORIGINATION_CODE;
256: }
257:
258: private static String SPACE_DEBIT_CREDIT_CODE = null;
259:
260: public static String getSpaceDebitCreditCode() {
261: if (SPACE_DEBIT_CREDIT_CODE == null) {
262: SPACE_DEBIT_CREDIT_CODE = StringUtils
263: .rightPad(
264: "",
265: SpringContext
266: .getBean(
267: DataDictionaryService.class)
268: .getAttributeMaxLength(
269: OriginEntryFull.class,
270: KFSPropertyConstants.TRANSACTION_DEBIT_CREDIT_CODE),
271: ' ');
272: }
273: return SPACE_DEBIT_CREDIT_CODE;
274: }
275:
276: private static String SPACE_FINANCIAL_OBJECT_CODE = null;
277:
278: public static String getSpaceFinancialObjectCode() {
279: if (SPACE_FINANCIAL_OBJECT_CODE == null) {
280: SPACE_FINANCIAL_OBJECT_CODE = StringUtils
281: .rightPad(
282: "",
283: SpringContext
284: .getBean(
285: DataDictionaryService.class)
286: .getAttributeMaxLength(
287: ObjectCode.class,
288: KFSPropertyConstants.FINANCIAL_OBJECT_CODE),
289: ' ');
290: }
291: return SPACE_FINANCIAL_OBJECT_CODE;
292: }
293:
294: private static String SPACE_TRANSACTION_DATE = null;
295:
296: public static String getSpaceTransactionDate() {
297: if (SPACE_TRANSACTION_DATE == null) {
298: SPACE_TRANSACTION_DATE = StringUtils
299: .rightPad(
300: "",
301: SpringContext
302: .getBean(
303: DataDictionaryService.class)
304: .getAttributeMaxLength(
305: OriginEntryFull.class,
306: KFSPropertyConstants.TRANSACTION_DATE),
307: ' ');
308: }
309: return SPACE_TRANSACTION_DATE;
310: }
311:
312: private static String SPACE_UNIVERSITY_FISCAL_YEAR = null;
313:
314: public static String getSpaceUniversityFiscalYear() {
315: if (SPACE_UNIVERSITY_FISCAL_YEAR == null) {
316: SPACE_UNIVERSITY_FISCAL_YEAR = StringUtils
317: .rightPad(
318: "",
319: SpringContext
320: .getBean(
321: DataDictionaryService.class)
322: .getAttributeMaxLength(
323: OriginEntryFull.class,
324: KFSPropertyConstants.UNIVERSITY_FISCAL_YEAR),
325: ' ');
326: }
327: return SPACE_UNIVERSITY_FISCAL_YEAR;
328: }
329:
330: private static String SPACE_TRANSACTION_ENTRY_SEQUENCE_NUMBER = null;
331:
332: public static String getSpaceTransactionEntrySequenceNumber() {
333: if (SPACE_TRANSACTION_ENTRY_SEQUENCE_NUMBER == null) {
334: SPACE_TRANSACTION_ENTRY_SEQUENCE_NUMBER = StringUtils
335: .rightPad(
336: "",
337: SpringContext
338: .getBean(
339: DataDictionaryService.class)
340: .getAttributeMaxLength(
341: OriginEntryFull.class,
342: KFSPropertyConstants.TRANSACTION_ENTRY_SEQUENCE_NUMBER),
343: ' ');
344: }
345: return SPACE_TRANSACTION_ENTRY_SEQUENCE_NUMBER;
346: }
347:
348: private static String SPACE_TRANSACTION_LEDGER_ENTRY_DESCRIPTION = null;
349:
350: public static String getSpaceTransactionLedgetEntryDescription() {
351: if (SPACE_TRANSACTION_LEDGER_ENTRY_DESCRIPTION == null) {
352: SPACE_TRANSACTION_LEDGER_ENTRY_DESCRIPTION = StringUtils
353: .rightPad(
354: "",
355: SpringContext
356: .getBean(
357: DataDictionaryService.class)
358: .getAttributeMaxLength(
359: OriginEntryFull.class,
360: KFSPropertyConstants.TRANSACTION_LEDGER_ENTRY_DESC),
361: ' ');
362: }
363: return SPACE_TRANSACTION_LEDGER_ENTRY_DESCRIPTION;
364: }
365:
366: private static String SPACE_SUB_ACCOUNT_TYPE_CODE = null;
367:
368: public static String getSpaceSubAccountTypeCode() {
369: if (SPACE_SUB_ACCOUNT_TYPE_CODE == null) {
370: SPACE_SUB_ACCOUNT_TYPE_CODE = StringUtils
371: .rightPad(
372: "",
373: SpringContext
374: .getBean(
375: DataDictionaryService.class)
376: .getAttributeMaxLength(
377: A21SubAccount.class,
378: KFSPropertyConstants.SUB_ACCOUNT_TYPE_CODE),
379: ' ');
380: }
381: return SPACE_SUB_ACCOUNT_TYPE_CODE;
382: }
383:
384: private static String SPACE_ALL_ORIGIN_ENTRY_FIELDS = null;
385:
386: public static String getSpaceAllOriginEntryFields() {
387: if (SPACE_ALL_ORIGIN_ENTRY_FIELDS == null) {
388: Map map = SpringContext
389: .getBean(DataDictionaryService.class)
390: .getDataDictionary().getBusinessObjectEntry(
391: OriginEntryFull.class.getName())
392: .getAttributes();
393:
394: int totalLength = 0;
395:
396: Iterator iter = map.values().iterator();
397: while (iter.hasNext()) {
398: AttributeDefinition attributeDefinition = (AttributeDefinition) iter
399: .next();
400:
401: if (KFSPropertyConstants.TRANSACTION_LEDGER_ENTRY_AMOUNT
402: .equals(attributeDefinition.getName())) {
403: totalLength += OriginEntryFull.SPACE_TRANSACTION_LEDGER_ENTRY_AMOUNT
404: .length();
405: } else if (!(KFSPropertyConstants.ENTRY_GROUP_ID
406: .equals(attributeDefinition.getName()) || KFSPropertyConstants.ENTRY_ID
407: .equals(attributeDefinition.getName()))) {
408: totalLength += attributeDefinition.getMaxLength();
409: }
410: }
411:
412: SPACE_ALL_ORIGIN_ENTRY_FIELDS = StringUtils.rightPad("",
413: totalLength, ' ');
414: }
415:
416: return SPACE_ALL_ORIGIN_ENTRY_FIELDS;
417: }
418:
419: private static String ZERO_TRANSACTION_ENTRY_SEQUENCE_NUMBER = null;
420:
421: public static String getZeroTransactionEntrySequenceNumber() {
422: if (ZERO_TRANSACTION_ENTRY_SEQUENCE_NUMBER == null) {
423: ZERO_TRANSACTION_ENTRY_SEQUENCE_NUMBER = StringUtils
424: .rightPad(
425: "",
426: SpringContext
427: .getBean(
428: DataDictionaryService.class)
429: .getAttributeMaxLength(
430: OriginEntryFull.class,
431: KFSPropertyConstants.TRANSACTION_ENTRY_SEQUENCE_NUMBER),
432: '0');
433: }
434: return ZERO_TRANSACTION_ENTRY_SEQUENCE_NUMBER;
435: }
436:
437: private static String DASH_ORGANIZATION_REFERENCE_ID = null;
438:
439: public static String getDashOrganizationReferenceId() {
440: if (DASH_ORGANIZATION_REFERENCE_ID == null) {
441: DASH_ORGANIZATION_REFERENCE_ID = StringUtils
442: .rightPad(
443: "",
444: SpringContext
445: .getBean(
446: DataDictionaryService.class)
447: .getAttributeMaxLength(
448: OriginEntryFull.class,
449: KFSPropertyConstants.ORGANIZATION_REFERENCE_ID),
450: '-');
451: }
452: return DASH_ORGANIZATION_REFERENCE_ID;
453: }
454: }
|