kuali/kc — pull request #554 by yyuan1 (2014-08-07 05:08:37+00:00)
Title: KRACOEUS-7605 : Project Income: Integrate Mockview with Actual Controlle...

Initial work too for "save".
Problem: Some data needed other than the user input (period, desc and amount) in order to insert into budget_project_income.

STE like this would show:
"Caused by: org.objectweb.jotm.JotmTransactionRolledbackException: null; nested exception is:
javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-01400: cannot insert NULL into ("KCBND"."BUDGET_PROJECT_INCOME"."BUDGET_PERIOD_NUMBER")
Error Code: 1400
Call: INSERT INTO BUDGET_PROJECT_INCOME (BUDGET_ID, PROJECT_INCOME_ID, BUDGET_PERIOD_NUMBER, BUDGET_PERIOD, DESCRIPTION, HIDE_IN_HIERARCHY, HIERARCHY_PROPOSAL_NUMBER, OBJ_ID, AMOUNT, UPDATE_TIMESTAMP, UPDATE_USER, VER_NBR) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
bind => [12 parameters bound]"
Had some discussion with Doug about BudgetPeriodNumber and BudgetPeriodId. In current struts action, in BudgetProjectIncomeRuleImpl.java it checks budgetPeriod, not the periodId (primary key)
boolean valid = validationHelper.checkRequiredField(budgetProjectIncome.getBudgetPeriodNumber(), "newBudgetProjectIncome.budgetPeriod", "Budget Period")
that's what I could find. Maybe the lead devs can take a look on this if it needs to be switched to primary key.
Another issue I have is (not showing here) I am not sure now to get the documentComponentId for PROJECT_INCOME_ID which is another not null.