org.kuali.student.lum.program.server
Class CoreProgramStateChangeServiceImpl

java.lang.Object
  extended by org.kuali.student.lum.program.server.CoreProgramStateChangeServiceImpl
All Implemented Interfaces:
StateChangeService

@Transactional(noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public class CoreProgramStateChangeServiceImpl
extends Object
implements StateChangeService

This class is called whenever the state of a major discipline changes.

We have a separate class because the operations need to be marked with the @Transactional annotation.

THIS CLASS IS DUPLICATED FOR MAJOR DISCIPLINE, CORE, AND CREDENTIAL PROGRAMS SINCE THERE ARE DIFFERENT SERVICE METHODS FOR EACH OF THESE TYPES (THOUGH THEY ARE SIMILAR)

Author:
Kuali Rice Team (kuali-rice@googlegroups.com)

Constructor Summary
CoreProgramStateChangeServiceImpl()
           
 
Method Summary
 void changeState(String coreProgramId, String newState)
          This method is called by workflow when the state changes.
 void changeState(String endEntryTerm, String endEnrollTerm, String endInstAdmitTerm, String coreProgramId, String newState)
          This method is called from the UI (servlet) when state changes.
protected  CoreProgramInfo getCurrentVersion(CoreProgramInfo coreProgramInfo)
          Get the current version of program given the selected version of program
 void setProgramService(ProgramService programService)
          This method is used by Spring to inject the program service into this bean.
 void updateRequirementsState(List<String> programRequirementIds, String newState)
          This method will update the requirement state.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

CoreProgramStateChangeServiceImpl

public CoreProgramStateChangeServiceImpl()
Method Detail

changeState

public void changeState(String coreProgramId,
                        String newState)
                 throws Exception
This method is called by workflow when the state changes.

Specified by:
changeState in interface StateChangeService
Parameters:
majorDisciplineId -
state -
Throws:
Exception

changeState

public void changeState(String endEntryTerm,
                        String endEnrollTerm,
                        String endInstAdmitTerm,
                        String coreProgramId,
                        String newState)
                 throws Exception
This method is called from the UI (servlet) when state changes.

Specified by:
changeState in interface StateChangeService
Parameters:
endEntryTerm -
endEnrollTerm -
programType -
majorDisciplineId -
newState -
Throws:
Exception

getCurrentVersion

protected CoreProgramInfo getCurrentVersion(CoreProgramInfo coreProgramInfo)
                                     throws Exception
Get the current version of program given the selected version of program

Parameters:
verIndId -
Throws:
Exception

updateRequirementsState

public void updateRequirementsState(List<String> programRequirementIds,
                                    String newState)
                             throws Exception
This method will update the requirement state.

Note that it uses StatementUtil to update the statement tree.

Parameters:
coreProgramInfo -
newState -
Throws:
Exception

setProgramService

public void setProgramService(ProgramService programService)
This method is used by Spring to inject the program service into this bean.

Parameters:
programService -


Copyright © 2004-2013 The Kuali Foundation. All Rights Reserved.