1 /** 2 * Copyright 2013 The Kuali Foundation Licensed under the 3 * Educational Community License, Version 2.0 (the "License"); you may 4 * not use this file except in compliance with the License. You may 5 * obtain a copy of the License at 6 * 7 * http://www.osedu.org/licenses/ECL-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, 10 * software distributed under the License is distributed on an "AS IS" 11 * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express 12 * or implied. See the License for the specific language governing 13 * permissions and limitations under the License. 14 * 15 * Created by Charles on 7/17/13 16 */ 17 package org.kuali.student.enrollment.class2.courseofferingset.service.facade; 18 19 import org.kuali.student.r2.common.exceptions.DoesNotExistException; 20 import org.kuali.student.r2.common.exceptions.OperationFailedException; 21 22 /** 23 * This serves to cache a mapping between source schedule request sets and target schedule request sets 24 * in support of rolling over co-located AO IDs. 25 * 26 * @author Kuali Student Team 27 */ 28 public interface RolloverAssist { 29 public String getRolloverId(); 30 public boolean deleteRolloverId(String rolloverId); 31 public boolean mapSourceSRSIdToTargetSRSId(String rolloverId, String sourceSRSId, String targetSRSId) 32 throws OperationFailedException; 33 public String getTargetSRSId(String rolloverId, String sourceSRSId) throws DoesNotExistException; 34 35 /** 36 * Maps shared waitlists from source term to target term. If they aren't shared, this isn't used. 37 * @param rolloverId A time stamp used to identify this particular rollover 38 * @param sourceWaitlistId A waitlist ID in the source term for CourseWaitListInfo 39 * @param targetWaitlistId A waitlist ID in the target term for CourseWaitListInfo 40 * @return true if if there is a rolloverId in the hashmap 41 */ 42 public boolean mapSourceSharedWaitlistIdToTargetSharedWaitlistId(String rolloverId, 43 String sourceWaitlistId, 44 String targetWaitlistId) throws OperationFailedException; 45 46 /** 47 * Returns a target waitlist ID assuming rollover ID and sourceWaitlistId exists 48 * @param rolloverId Rollover ID 49 * @param sourceWaitlistId ID for shared source waitlist 50 * @return target waitlist ID 51 * @throws DoesNotExistException 52 */ 53 public String getTargetSharedWaitlistId(String rolloverId, String sourceWaitlistId) throws DoesNotExistException; 54 }