/********************************************************************************** * $URL: https://source.sakaiproject.org/svn/gradebook/trunk/app/standalone-app/src/test/org/sakaiproject/tool/gradebook/test/support/BackwardCompatabilityBusinessImpl.java $ * $Id: BackwardCompatabilityBusinessImpl.java 105079 2012-02-24 23:08:11Z ottenhoff@longsight.com $ *********************************************************************************** * * Copyright (c) 2006 The Sakai Foundation * * Licensed under the Educational Community License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.opensource.org/licenses/ECL-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * **********************************************************************************/ package org.sakaiproject.tool.gradebook.test.support; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.hibernate.HibernateException; import org.hibernate.Session; import org.sakaiproject.tool.gradebook.CourseGrade; import org.sakaiproject.tool.gradebook.GradeMapping; import org.sakaiproject.tool.gradebook.Gradebook; import org.sakaiproject.tool.gradebook.LetterGradeMapping; import org.sakaiproject.tool.gradebook.LetterGradePlusMinusMapping; import org.sakaiproject.tool.gradebook.PassNotPassMapping; import org.springframework.orm.hibernate3.HibernateCallback; import org.springframework.orm.hibernate3.support.HibernateDaoSupport; /** */ public class BackwardCompatabilityBusinessImpl extends HibernateDaoSupport implements BackwardCompatabilityBusiness { private static final Log log = LogFactory.getLog(BackwardCompatabilityBusinessImpl.class); public void addGradebook(final String uid, final String name) { getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException { // Create and save the gradebook Gradebook gradebook = new Gradebook(name); gradebook.setUid(uid); gradebook.setId((Long)session.save(gradebook)); // Grab the new id // Create the course grade for the gradebook CourseGrade cg = new CourseGrade(); cg.setGradebook(gradebook); session.save(cg); // According to the specification, Display Assignment Grades is // on by default, and Display course grade is off. gradebook.setAssignmentsDisplayed(true); gradebook.setCourseGradeDisplayed(false); // Add and save the grade mappings // Set gms = gradebook.getAvailableGradeMappings(); Set gms = new HashSet(); gms.add(new LetterGradeMapping()); gms.add(new LetterGradePlusMinusMapping()); gms.add(new PassNotPassMapping()); for(Iterator iter = gms.iterator(); iter.hasNext();) { GradeMapping gm = (GradeMapping)iter.next(); gm.setGradebook(gradebook); gm.setDefaultValues(); // Populate the grade map gm.setId((Long)session.save(gm)); // grab the new id // if(gm.isDefault()) { if(gm.getClass().equals(LetterGradePlusMinusMapping.class)) { gradebook.setSelectedGradeMapping(gm); } } gradebook.setGradeMappings(gms); // Update the gradebook with the new selected grade mapping session.update(gradebook); return null; } }); } }