1 package com.germinus.merlin.manager;
2
3 import java.util.Iterator;
4 import java.util.Set;
5
6 import org.apache.commons.logging.Log;
7 import org.apache.commons.logging.LogFactory;
8
9 import com.germinus.merlin.dao.CourseDao;
10 import com.germinus.merlin.model.Advise;
11 import com.germinus.merlin.model.ForumTopic;
12 import com.germinus.merlin.model.Label;
13 import com.germinus.merlin.model.ResourceContainer;
14 import com.germinus.merlin.model.assignment.Assignment;
15
16 public class ResourceManager {
17
18
19
20
21 private static final Log log = LogFactory.getLog(ResourceManager.class);
22 private CourseDao courseDao;
23
24 public ResourceContainer getResourceContainer(long courseId, int containerPosition)
25 {
26 return getCourseDao().get(courseId).
27 getResourceContainers().get(containerPosition);
28 }
29
30 public Set<Advise> getAdvises(long courseId, int containerPosition)
31 {
32 return getResourceContainer(courseId, containerPosition).getAdvises();
33 }
34
35 public Set<Assignment> getAssignments(long courseId, int containerPosition)
36 {
37 return getResourceContainer(courseId, containerPosition).getAssignments();
38 }
39
40 public Set<ForumTopic> getForumTopics(long courseId, int containerPosition)
41 {
42 return getResourceContainer(courseId, containerPosition).getForumTopics();
43 }
44
45 public Set<Label> getLabels(long courseId, int containerPosition)
46 {
47 return getResourceContainer(courseId, containerPosition).getLabels();
48 }
49
50 public void addLabel(long courseId, int containerId, String description, String name)
51 {
52
53 for (Iterator<ResourceContainer> i = courseDao.get(courseId).getResourceContainers().iterator(); i.hasNext();) {
54
55 ResourceContainer container = i.next();
56
57
58 if (containerId == container.getIdResourceContainer())
59 {
60
61 Label label = new Label(container,name,description);
62
63
64 container.getLabels().add(label);
65 }
66
67 }
68 log.debug("Add label: "+name+" To course: "+courseId+" in container: "+containerId);
69 }
70
71 public void removeLabel(long labelId)
72 {
73 log.debug("Remove label: "+labelId);
74 }
75
76 public void moveLabel(int containerId, int labelId, long courseId)
77 {
78 log.debug("Move label: "+labelId+" To "+containerId);
79 }
80
81 public void moveContainer(int containerId, Integer position, long courseId)
82 {
83 log.debug("Move container : "+containerId+" To "+position);
84 }
85
86 public void addContainer(String name, Integer position, long courseId)
87 {
88 log.debug("Add container: "+name+" in position "+position+" To "+courseId);
89 }
90
91 public void removeContainer(long containerId, long courseId)
92 {
93 log.debug("Remove container: "+containerId+" To "+courseId);
94 }
95
96
97
98
99
100
101 public CourseDao getCourseDao() {
102 return courseDao;
103 }
104
105
106
107
108 public void setCourseDao(CourseDao courseDao) {
109 this.courseDao = courseDao;
110 }
111
112 }