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.  
 




I  used the code in action class and changed a little. The test went well altought I am not 100% sure  the getHackedDocumentNextValue() but it does give me the income Id.