View Javadoc

1   package org.kuali.student.lum.program.client.rpc;
2   
3   import java.util.List;
4   import java.util.Map;
5   
6   import org.kuali.student.r1.common.assembly.data.Data;
7   import org.kuali.student.r2.common.dto.ContextInfo;
8   import org.kuali.student.r2.common.dto.StatusInfo;
9   import org.kuali.student.common.ui.client.service.BaseDataOrchestrationRpcService;
10  import org.kuali.student.common.ui.client.service.DataSaveResult;
11  import org.kuali.student.lum.program.client.requirements.ProgramRequirementsDataModel;
12  import org.kuali.student.r2.lum.program.dto.ProgramRequirementInfo;
13  
14  import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
15  
16  @RemoteServiceRelativePath("rpcservices/majorDisciplineRpcService")
17  public interface MajorDisciplineRpcService extends BaseDataOrchestrationRpcService {
18      public List<ProgramRequirementInfo> getProgramRequirements(List<String> programRequirementIds) throws Exception;
19      public Map<Integer, ProgramRequirementInfo> storeProgramRequirements(Map<Integer, ProgramRequirementsDataModel.requirementState> states, Map<Integer, ProgramRequirementInfo> progReqs) throws Exception;    
20      public ProgramRequirementInfo createProgramRequirement(ProgramRequirementInfo programRequirementInfo) throws Exception;
21      public StatusInfo deleteProgramRequirement(String programRequirementId) throws Exception;
22      public ProgramRequirementInfo updateProgramRequirement(ProgramRequirementInfo programRequirementInfo) throws Exception;
23  
24      /**
25       * Is the current version sequence number the latest version.
26       *  
27       * @param versionIndId The version independent id of program
28       * @param versionSequenceNumber The sequence number to check.
29       * @return
30       * @throws Exception
31       */
32      public Boolean isLatestVersion(String versionIndId, Long versionSequenceNumber) throws Exception;
33      
34  
35      /**
36       * 
37       * This method is called when the user changes the program state using
38       * the drop-down box, clicking certain buttons, or creating
39       * a new version of the program.
40       * <p>
41       * For example, creating a new program or using the drop down box to modify
42       * with new version will change the state to DRAFT.  Clicking the approve button
43       * will change the state to APPROVED,  clicking the activate button will change
44       * the state to ACTIVE.
45       * <p>
46       * Other states will be added in the future.
47       * 
48       * 
49       * @param data the XML used to pass data between controller to view 
50       * @param state the state we should update the program to
51       * @return the result of the save
52       */
53  	public DataSaveResult updateState(Data data, String state) throws Exception ;
54  	
55  	// Determine if this is a proposal
56      public Boolean isProposal(String referenceTypeKey, String referenceId);
57  }