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