From: <ro...@us...> - 2009-04-23 09:42:18
|
Revision: 163 http://cse-ip.svn.sourceforge.net/cse-ip/?rev=163&view=rev Author: roekens Date: 2009-04-23 09:41:48 +0000 (Thu, 23 Apr 2009) Log Message: ----------- - added simple logic to openuss web service stub for testing purposes - fixed existing tests - added few web service annotations to DataModelManagerBean Modified Paths: -------------- trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/LectureWebServiceTest.java trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/OpenUSS.java trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java Modified: trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/LectureWebServiceTest.java =================================================================== --- trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/LectureWebServiceTest.java 2009-04-22 19:08:03 UTC (rev 162) +++ trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/LectureWebServiceTest.java 2009-04-23 09:41:48 UTC (rev 163) @@ -2,6 +2,7 @@ import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; +import static org.junit.Assert.assertNull; import javax.xml.ws.Endpoint; @@ -35,15 +36,14 @@ @Test public void testFindUser() throws LectureLogicException_Exception { - // FIXME Test logic is not correct. User that doesn't exist should return null. - assertNotNull(service.findUser("test")); + assertNull(service.findUser("test")); } @Test public void testGetInstitute() throws LectureLogicException_Exception { - Institute institute = service.getInstitute(12345L); - assertNotNull(institute); - assertEquals(Long.valueOf(12345L), institute.getId()); + Institute institute = new Institute(); + institute.setId(service.createInstitute(institute)); + assertEquals(institute.getId(), service.getInstitute(institute.getId()).getId()); } } Modified: trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/OpenUSS.java =================================================================== --- trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/OpenUSS.java 2009-04-22 19:08:03 UTC (rev 162) +++ trunk/cse-ip/oca-openuss/src/test/java/de/campussource/cse/oca/openuss/OpenUSS.java 2009-04-23 09:41:48 UTC (rev 163) @@ -1,102 +1,199 @@ package de.campussource.cse.oca.openuss; +import java.util.ArrayList; +import java.util.HashMap; import java.util.List; import javax.jws.WebService; +import org.apache.log4j.Logger; + @WebService(name = "LectureWebService", targetNamespace = "http://www.openuss.org/services", endpointInterface = "de.campussource.cse.oca.openuss.LectureWebService") public class OpenUSS implements LectureWebService { + public static final Logger logger = Logger.getLogger(OpenUSS.class); + + public static HashMap<Long, Course> courses = new HashMap<Long, Course>(); + public static HashMap<Long, Institute> institutes= new HashMap<Long, Institute>(); + public static HashMap<Long, User> users = new HashMap<Long, User>(); + + private class CourseMember{ + public Course course; + public User user; + public Role role; + } + + public static ArrayList<CourseMember> courseMembers = new ArrayList<CourseMember>(); + @Override public boolean assignCourseMember(long courseId, long userId, Role role) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return false; + logger.debug("Adding CourseMember with courseId: "+ courseId + " userId: "+ userId + " and Role: "+ role.value()); + Course course = courses.get(courseId); + User user = users.get(userId); + if (role == null || course == null || user == null){ + throw new LectureLogicException_Exception("Parameters not valid", null); + } + CourseMember courseMember = new CourseMember(); + courseMember.course = course; + courseMember.role = role; + courseMember.user = user; + courseMembers.add(courseMember); + return true; } @Override public Long createCourse(Course course) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return null; + logger.debug("Creating course: "+ course); + if (course==null){ + throw new LectureLogicException_Exception("course == null", null); + } + course.setId(System.currentTimeMillis()); + courses.put(course.getId(), course); + return course.getId(); } @Override public Long createInstitute(Institute institute) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return null; + logger.debug("Creating institute"+ institute); + if (institute == null){ + throw new LectureLogicException_Exception("institute == null", null); + } + institute.setId(System.currentTimeMillis()); + institutes.put(institute.getId(), institute); + return institute.getId(); } @Override public Long createUser(User user) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return null; + logger.debug("Creating user: "+ user); + if (user == null){ + throw new LectureLogicException_Exception("user == null", null); + } + user.setId(System.currentTimeMillis()); + users.put(user.getId(), user); + return user.getId(); } @Override public boolean deleteCourse(long courseId) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return false; + logger.debug("Deleting course with id: "+ courseId); + Course course = courses.get(courseId); + if (course == null){ + throw new LectureLogicException_Exception("course does not exist", null); + } + courses.remove(courseId); + return true; } @Override public boolean deleteUser(long userId) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return false; + logger.debug("Deleting user with id: "+ userId); + User user = users.get(userId); + if (user == null){ + throw new LectureLogicException_Exception("user does not exists", null); + } + users.remove(userId); + return true; } @Override public Long findUser(String username) throws LectureLogicException_Exception { - System.out.println("Username: " + username); - return 1L; + logger.debug("Trying to find user with username" + username); + for (User user : users.values()){ + if (user.getUsername()!=null && user.getUsername().equals(username)){ + return user.getId(); + } + } + return null; } @Override public Course getCourse(long courseId) throws LectureLogicException_Exception { - Course course = new Course(); - course.setId(courseId); + logger.debug("Trying to find course with id: "+ courseId); + Course course = courses.get(courseId); + if (course == null){ + throw new LectureLogicException_Exception("course does not exists", null); + } return course; } @Override public Institute getInstitute(long instituteId) throws LectureLogicException_Exception { - Institute institute = new Institute(); - institute.setId(instituteId); + logger.debug("Trying to find institute with id: "+ instituteId); + Institute institute = institutes.get(instituteId); + if (institute==null){ + throw new LectureLogicException_Exception("institute does not exist", null); + } return institute; } @Override public Role isCourseMember(long courseId, long userId) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return null; + logger.debug("Checking if user with id: "+ userId + " is member of course with id: "+ courseId); + for (CourseMember courseMember : courseMembers){ + if (courseMember.course.getId()==courseId && courseMember.user.getId() == userId){ + return courseMember.role; + } + } + return Role.NONE; } @Override public List<Institute> listInstitute(long departmentId) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return null; + logger.debug("Retrieving institute list with " + institutes.size() + "entries"); + if (departmentId==0){ + return null; + } + return new ArrayList<Institute>(institutes.values()); } @Override public boolean removeCourseMember(long courseId, long userId) throws LectureLogicException_Exception { - // TODO Auto-generated method stub + logger.debug("Trying to remove user with id "+ userId + " from course with id: "+ courseId); + for (CourseMember courseMember : courseMembers){ + if (courseMember.course.getId()==courseId && courseMember.user.getId() == userId){ + courseMembers.remove(courseMember); + return true; + } + } return false; } @Override public boolean updateCourse(Course course) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return false; + logger.debug("Updating course with id: " + course.getId()); + Course oldCourse = courses.get(course.getId()); + if (oldCourse==null){ + return false; + } + courses.remove(oldCourse.getId()); + courses.put(course.getId(), course); + return true; } @Override - public boolean updateInstitute(Institute insitute) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return false; + public boolean updateInstitute(Institute institute) throws LectureLogicException_Exception { + logger.debug("Updating institute with id: "+ institute.getId()); + Institute oldInstitute = institutes.get(institute.getId()); + if (oldInstitute==null){ + return false; + } + institutes.remove(oldInstitute.getId()); + institutes.put(institute.getId(), institute); + return true; } @Override public boolean updateUser(User user) throws LectureLogicException_Exception { - // TODO Auto-generated method stub - return false; + logger.debug("Updating user with id: "+ user.getId()); + User oldUser= users.get(user.getId()); + if (oldUser==null){ + return false; + } + users.remove(oldUser.getId()); + users.put(user.getId(), user); + return true; + } } Modified: trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java =================================================================== --- trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-04-22 19:08:03 UTC (rev 162) +++ trunk/cse-ip/sc-cdmm/src/main/java/de/campussource/cse/cdmm/DataModelManagerBean.java 2009-04-23 09:41:48 UTC (rev 163) @@ -7,6 +7,9 @@ import javax.ejb.EJB; import javax.ejb.Remote; import javax.ejb.Stateless; +import javax.jws.WebMethod; +import javax.jws.WebParam; +import javax.jws.WebResult; import javax.jws.WebService; import de.campussource.cse.cdmm.dao.*; @@ -39,7 +42,10 @@ } @Override - public List<EventMessage> createOrUpdateCourse(CourseMessage courseMessage) { + @WebMethod(action="createOrUpdateCourse") + @WebResult(name="EventMessages") + public List<EventMessage> createOrUpdateCourse( + @WebParam(name="CourseMessage") CourseMessage courseMessage) { //init eventMessageList List<EventMessage> events = new ArrayList<EventMessage>(); //get state of given object in persistence This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |