From 7d29e55cc76e0a34c2b8b00fa61a358b13b4a6fe Mon Sep 17 00:00:00 2001 From: srosse <none@none> Date: Mon, 23 Jan 2012 16:29:55 +0100 Subject: [PATCH] OO-84: set taskText in the VelocityContainer + add some generics --- .../olat/course/nodes/ta/TaskController.java | 36 ++++++++++--------- .../properties/CoursePropertyManager.java | 2 +- 2 files changed, 21 insertions(+), 17 deletions(-) diff --git a/src/main/java/org/olat/course/nodes/ta/TaskController.java b/src/main/java/org/olat/course/nodes/ta/TaskController.java index 758a553bf10..4423194a382 100644 --- a/src/main/java/org/olat/course/nodes/ta/TaskController.java +++ b/src/main/java/org/olat/course/nodes/ta/TaskController.java @@ -54,6 +54,7 @@ import org.olat.core.id.Identity; import org.olat.core.logging.AssertException; import org.olat.core.logging.OLog; import org.olat.core.logging.Tracing; +import org.olat.core.util.StringHelper; import org.olat.core.util.vfs.VFSItem; import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSMediaResource; @@ -145,7 +146,7 @@ public class TaskController extends BasicController { taskLaunchButton.setTarget("_blank"); taskLaunchButton.setAjaxEnabled(false); // opened in new window - if ( (taskText != null) && (taskText.length() > 0) ) { + if (StringHelper.containsNonWhitespace(taskText)) { myContent.contextPut(VC_TASKTEXT, taskText); } @@ -167,7 +168,7 @@ public class TaskController extends BasicController { myContent = createVelocityContainer("taskChoose"); - List availableTasks = compileAvailableTasks(); + List<String> availableTasks = compileAvailableTasks(); if (availableTasks.size() == 0 && assignedTask==null) { // no more tasks available myContent.contextPut(VC_NOMORETASKS, translate("task.nomoretasks")); } else { @@ -241,7 +242,7 @@ public class TaskController extends BasicController { } else if (ta.getActionId().equals(TaskController.ACTION_SELECT)){ // select a task assignedTask = (String)taskTableModel.getValueAt(ta.getRowId(),0); - List availableTasks = compileAvailableTasks(); + List<String> availableTasks = compileAvailableTasks(); if (!availableTasks.contains(assignedTask)) { showWarning("task.chosen"); taskTableModel.setObjects(availableTasks); @@ -256,7 +257,7 @@ public class TaskController extends BasicController { pushTaskToVC(); } else { //if assignedTask selected, and deselectable, update taskTableModel - List allTasks = compileAvailableTasks(); + List<String> allTasks = compileAvailableTasks(); if(!samplingWithReplacement) { //if assignable to only one user, this means that the assignedTask is no more in the availableTasks, but show it in taskTableModel allTasks.add(assignedTask); @@ -268,7 +269,7 @@ public class TaskController extends BasicController { } else if (ta.getActionId().equals(TaskController.ACTION_DESELECT)) { if(assignedTask!=null) { this.removeAssignedTask(ureq.getIdentity(), assignedTask); - List availableTasks = compileAvailableTasks(); + List<String> availableTasks = compileAvailableTasks(); taskTableModel.setObjects(availableTasks); tableCtr.modelChanged(); } @@ -283,6 +284,9 @@ public class TaskController extends BasicController { } myContent = createVelocityContainer ("taskAssigned"); + if (StringHelper.containsNonWhitespace(taskText)) { + myContent.contextPut(VC_TASKTEXT, taskText); + } myContent.put("task.launch", taskLaunchButton); myContent.contextPut(VC_ASSIGNEDTASK, assignedTask); myContent.contextPut(VC_ASSIGNEDTASK_NEWWINDOW,Boolean.TRUE); @@ -295,7 +299,7 @@ public class TaskController extends BasicController { * @return name of the assigned task or null if no more tasks are available. */ private String assignTask(Identity identity) { - List availableTasks = compileAvailableTasks(); + List<String> availableTasks = compileAvailableTasks(); if (availableTasks.size() == 0 && samplingWithReplacement) { unmarkAllSampledTasks(); // unmark all tasks if samplingWithReplacement and no more tasks available availableTasks = compileAvailableTasks(); // refetch tasks @@ -310,7 +314,7 @@ public class TaskController extends BasicController { } public static String getAssignedTask(Identity identity, CourseEnvironment courseEnv, CourseNode node) { - List samples = courseEnv.getCoursePropertyManager().findCourseNodeProperties(node, identity, null, PROP_ASSIGNED); + List<Property> samples = courseEnv.getCoursePropertyManager().findCourseNodeProperties(node, identity, null, PROP_ASSIGNED); if (samples.size() == 0) return null; // no sample assigned yet return ((Property)samples.get(0)).getStringValue(); } @@ -329,9 +333,9 @@ public class TaskController extends BasicController { private void removeAssignedTask(Identity identity, String task) { CoursePropertyManager cpm = courseEnv.getCoursePropertyManager(); //remove assigned - List properties = cpm.findCourseNodeProperties(node, identity, null, PROP_ASSIGNED); + List<Property> properties = cpm.findCourseNodeProperties(node, identity, null, PROP_ASSIGNED); if(properties!=null && properties.size()>0) { - Property propety = (Property)properties.get(0); + Property propety = properties.get(0); cpm.deleteProperty(propety); assignedTask = null; } @@ -358,10 +362,10 @@ public class TaskController extends BasicController { * which have not been sampled so far. * @return List of available tasks. */ - private List compileAvailableTasks() { + private List<String> compileAvailableTasks() { File[] taskSources = taskFolder.listFiles(); - List tasks = new ArrayList(taskSources.length); - List sampledTasks = compileSampledTasks(); + List<String> tasks = new ArrayList<String>(taskSources.length); + List<String> sampledTasks = compileSampledTasks(); for (int i = 0; i < taskSources.length; i++) { File nextTask = taskSources[i]; if (nextTask.isFile() && !sampledTasks.contains(nextTask.getName())) @@ -374,11 +378,11 @@ public class TaskController extends BasicController { * Compile a list of tasks marked as sampled. * @return List of sampled tasks. */ - private List compileSampledTasks() { - List sampledTasks = new ArrayList(); - List samples = courseEnv.getCoursePropertyManager() + private List<String> compileSampledTasks() { + List<String> sampledTasks = new ArrayList<String>(); + List<Property> samples = courseEnv.getCoursePropertyManager() .findCourseNodeProperties(node, null, null, PROP_SAMPLED); - for (Iterator iter = samples.iterator(); iter.hasNext();) { + for (Iterator<Property> iter = samples.iterator(); iter.hasNext();) { Property sample = (Property) iter.next(); sampledTasks.add(sample.getStringValue()); } diff --git a/src/main/java/org/olat/course/properties/CoursePropertyManager.java b/src/main/java/org/olat/course/properties/CoursePropertyManager.java index 91ac73aa911..a4f3eaa28fa 100644 --- a/src/main/java/org/olat/course/properties/CoursePropertyManager.java +++ b/src/main/java/org/olat/course/properties/CoursePropertyManager.java @@ -91,7 +91,7 @@ public interface CoursePropertyManager extends IdentityAnonymizerCallback { * @param name * @return matching course node properties */ - public List findCourseNodeProperties(CourseNode node, Identity identity, BusinessGroup grp, String name); + public List<Property> findCourseNodeProperties(CourseNode node, Identity identity, BusinessGroup grp, String name); /** * Find a specific course node property (exact match. I.e. null values are taken into account) -- GitLab