org.kuali.student.lum.workflow
Class MajorDisciplineStateChangeServiceImpl

java.lang.Object
  extended by org.kuali.student.lum.workflow.MajorDisciplineStateChangeServiceImpl
All Implemented Interfaces:
StateChangeService

@Transactional(noRollbackFor=DoesNotExistException.class,
               rollbackFor=java.lang.Throwable.class)
public class MajorDisciplineStateChangeServiceImpl
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
MajorDisciplineStateChangeServiceImpl()
           
 
Method Summary
 void changeState(String majorDisciplineId, String newState, ContextInfo contextInfo)
          This method is called by workflow when the state changes.
 void changeState(String endEntryTerm, String endEnrollTerm, String endInstAdmitTerm, String majorDisciplineId, String newState, ContextInfo contextInfo)
          This method is called from the UI (servlet) when state changes.
protected  MajorDisciplineInfo getCurrentVersion(MajorDisciplineInfo majorDisciplineInfo, ContextInfo contextInfo)
          Get the current version of program given the selected version of program
 void setAtpService(AtpService atpService)
           
 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, ContextInfo contextInfo)
          This method will update the requirement state.
 void updateVariationsRequirementsState(List<ProgramVariationInfo> variationList, String newState, ContextInfo contextInfo)
          This method will update the requirements of each variation.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MajorDisciplineStateChangeServiceImpl

public MajorDisciplineStateChangeServiceImpl()
Method Detail

changeState

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

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

changeState

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

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

getCurrentVersion

protected MajorDisciplineInfo getCurrentVersion(MajorDisciplineInfo majorDisciplineInfo,
                                                ContextInfo contextInfo)
                                         throws Exception
Get the current version of program given the selected version of program

Parameters:
majorDisciplineInfo -
contextInfo -
Throws:
Exception

updateRequirementsState

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

Note that it uses StatementUtil to update the statement tree.

Parameters:
programRequirementIds -
newState -
contextInfo -
Throws:
Exception

updateVariationsRequirementsState

public void updateVariationsRequirementsState(List<ProgramVariationInfo> variationList,
                                              String newState,
                                              ContextInfo contextInfo)
                                       throws Exception
This method will update the requirements of each variation.

We need to do this here as opposed to in the assemblers, since we need to make calls out to a separate web service. Also, this needs to be done here because changing state no longer calls the save function.

Note that core and credential programs do not have variations so this method isn't necessary.

Parameters:
variationList -
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 -

setAtpService

public void setAtpService(AtpService atpService)


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