Skip to content
Snippets Groups Projects
Commit 7d29e55c authored by srosse's avatar srosse
Browse files

OO-84: set taskText in the VelocityContainer + add some generics

parent 41a6fb48
No related branches found
No related tags found
No related merge requests found
...@@ -54,6 +54,7 @@ import org.olat.core.id.Identity; ...@@ -54,6 +54,7 @@ import org.olat.core.id.Identity;
import org.olat.core.logging.AssertException; import org.olat.core.logging.AssertException;
import org.olat.core.logging.OLog; import org.olat.core.logging.OLog;
import org.olat.core.logging.Tracing; 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.VFSItem;
import org.olat.core.util.vfs.VFSLeaf; import org.olat.core.util.vfs.VFSLeaf;
import org.olat.core.util.vfs.VFSMediaResource; import org.olat.core.util.vfs.VFSMediaResource;
...@@ -145,7 +146,7 @@ public class TaskController extends BasicController { ...@@ -145,7 +146,7 @@ public class TaskController extends BasicController {
taskLaunchButton.setTarget("_blank"); taskLaunchButton.setTarget("_blank");
taskLaunchButton.setAjaxEnabled(false); // opened in new window taskLaunchButton.setAjaxEnabled(false); // opened in new window
if ( (taskText != null) && (taskText.length() > 0) ) { if (StringHelper.containsNonWhitespace(taskText)) {
myContent.contextPut(VC_TASKTEXT, taskText); myContent.contextPut(VC_TASKTEXT, taskText);
} }
...@@ -167,7 +168,7 @@ public class TaskController extends BasicController { ...@@ -167,7 +168,7 @@ public class TaskController extends BasicController {
myContent = createVelocityContainer("taskChoose"); myContent = createVelocityContainer("taskChoose");
List availableTasks = compileAvailableTasks(); List<String> availableTasks = compileAvailableTasks();
if (availableTasks.size() == 0 && assignedTask==null) { // no more tasks available if (availableTasks.size() == 0 && assignedTask==null) { // no more tasks available
myContent.contextPut(VC_NOMORETASKS, translate("task.nomoretasks")); myContent.contextPut(VC_NOMORETASKS, translate("task.nomoretasks"));
} else { } else {
...@@ -241,7 +242,7 @@ public class TaskController extends BasicController { ...@@ -241,7 +242,7 @@ public class TaskController extends BasicController {
} else if (ta.getActionId().equals(TaskController.ACTION_SELECT)){ } else if (ta.getActionId().equals(TaskController.ACTION_SELECT)){
// select a task // select a task
assignedTask = (String)taskTableModel.getValueAt(ta.getRowId(),0); assignedTask = (String)taskTableModel.getValueAt(ta.getRowId(),0);
List availableTasks = compileAvailableTasks(); List<String> availableTasks = compileAvailableTasks();
if (!availableTasks.contains(assignedTask)) { if (!availableTasks.contains(assignedTask)) {
showWarning("task.chosen"); showWarning("task.chosen");
taskTableModel.setObjects(availableTasks); taskTableModel.setObjects(availableTasks);
...@@ -256,7 +257,7 @@ public class TaskController extends BasicController { ...@@ -256,7 +257,7 @@ public class TaskController extends BasicController {
pushTaskToVC(); pushTaskToVC();
} else { } else {
//if assignedTask selected, and deselectable, update taskTableModel //if assignedTask selected, and deselectable, update taskTableModel
List allTasks = compileAvailableTasks(); List<String> allTasks = compileAvailableTasks();
if(!samplingWithReplacement) { if(!samplingWithReplacement) {
//if assignable to only one user, this means that the assignedTask is no more in the availableTasks, but show it in taskTableModel //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); allTasks.add(assignedTask);
...@@ -268,7 +269,7 @@ public class TaskController extends BasicController { ...@@ -268,7 +269,7 @@ public class TaskController extends BasicController {
} else if (ta.getActionId().equals(TaskController.ACTION_DESELECT)) { } else if (ta.getActionId().equals(TaskController.ACTION_DESELECT)) {
if(assignedTask!=null) { if(assignedTask!=null) {
this.removeAssignedTask(ureq.getIdentity(), assignedTask); this.removeAssignedTask(ureq.getIdentity(), assignedTask);
List availableTasks = compileAvailableTasks(); List<String> availableTasks = compileAvailableTasks();
taskTableModel.setObjects(availableTasks); taskTableModel.setObjects(availableTasks);
tableCtr.modelChanged(); tableCtr.modelChanged();
} }
...@@ -283,6 +284,9 @@ public class TaskController extends BasicController { ...@@ -283,6 +284,9 @@ public class TaskController extends BasicController {
} }
myContent = createVelocityContainer ("taskAssigned"); myContent = createVelocityContainer ("taskAssigned");
if (StringHelper.containsNonWhitespace(taskText)) {
myContent.contextPut(VC_TASKTEXT, taskText);
}
myContent.put("task.launch", taskLaunchButton); myContent.put("task.launch", taskLaunchButton);
myContent.contextPut(VC_ASSIGNEDTASK, assignedTask); myContent.contextPut(VC_ASSIGNEDTASK, assignedTask);
myContent.contextPut(VC_ASSIGNEDTASK_NEWWINDOW,Boolean.TRUE); myContent.contextPut(VC_ASSIGNEDTASK_NEWWINDOW,Boolean.TRUE);
...@@ -295,7 +299,7 @@ public class TaskController extends BasicController { ...@@ -295,7 +299,7 @@ public class TaskController extends BasicController {
* @return name of the assigned task or null if no more tasks are available. * @return name of the assigned task or null if no more tasks are available.
*/ */
private String assignTask(Identity identity) { private String assignTask(Identity identity) {
List availableTasks = compileAvailableTasks(); List<String> availableTasks = compileAvailableTasks();
if (availableTasks.size() == 0 && samplingWithReplacement) { if (availableTasks.size() == 0 && samplingWithReplacement) {
unmarkAllSampledTasks(); // unmark all tasks if samplingWithReplacement and no more tasks available unmarkAllSampledTasks(); // unmark all tasks if samplingWithReplacement and no more tasks available
availableTasks = compileAvailableTasks(); // refetch tasks availableTasks = compileAvailableTasks(); // refetch tasks
...@@ -310,7 +314,7 @@ public class TaskController extends BasicController { ...@@ -310,7 +314,7 @@ public class TaskController extends BasicController {
} }
public static String getAssignedTask(Identity identity, CourseEnvironment courseEnv, CourseNode node) { 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 if (samples.size() == 0) return null; // no sample assigned yet
return ((Property)samples.get(0)).getStringValue(); return ((Property)samples.get(0)).getStringValue();
} }
...@@ -329,9 +333,9 @@ public class TaskController extends BasicController { ...@@ -329,9 +333,9 @@ public class TaskController extends BasicController {
private void removeAssignedTask(Identity identity, String task) { private void removeAssignedTask(Identity identity, String task) {
CoursePropertyManager cpm = courseEnv.getCoursePropertyManager(); CoursePropertyManager cpm = courseEnv.getCoursePropertyManager();
//remove assigned //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) { if(properties!=null && properties.size()>0) {
Property propety = (Property)properties.get(0); Property propety = properties.get(0);
cpm.deleteProperty(propety); cpm.deleteProperty(propety);
assignedTask = null; assignedTask = null;
} }
...@@ -358,10 +362,10 @@ public class TaskController extends BasicController { ...@@ -358,10 +362,10 @@ public class TaskController extends BasicController {
* which have not been sampled so far. * which have not been sampled so far.
* @return List of available tasks. * @return List of available tasks.
*/ */
private List compileAvailableTasks() { private List<String> compileAvailableTasks() {
File[] taskSources = taskFolder.listFiles(); File[] taskSources = taskFolder.listFiles();
List tasks = new ArrayList(taskSources.length); List<String> tasks = new ArrayList<String>(taskSources.length);
List sampledTasks = compileSampledTasks(); List<String> sampledTasks = compileSampledTasks();
for (int i = 0; i < taskSources.length; i++) { for (int i = 0; i < taskSources.length; i++) {
File nextTask = taskSources[i]; File nextTask = taskSources[i];
if (nextTask.isFile() && !sampledTasks.contains(nextTask.getName())) if (nextTask.isFile() && !sampledTasks.contains(nextTask.getName()))
...@@ -374,11 +378,11 @@ public class TaskController extends BasicController { ...@@ -374,11 +378,11 @@ public class TaskController extends BasicController {
* Compile a list of tasks marked as sampled. * Compile a list of tasks marked as sampled.
* @return List of sampled tasks. * @return List of sampled tasks.
*/ */
private List compileSampledTasks() { private List<String> compileSampledTasks() {
List sampledTasks = new ArrayList(); List<String> sampledTasks = new ArrayList<String>();
List samples = courseEnv.getCoursePropertyManager() List<Property> samples = courseEnv.getCoursePropertyManager()
.findCourseNodeProperties(node, null, null, PROP_SAMPLED); .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(); Property sample = (Property) iter.next();
sampledTasks.add(sample.getStringValue()); sampledTasks.add(sample.getStringValue());
} }
......
...@@ -91,7 +91,7 @@ public interface CoursePropertyManager extends IdentityAnonymizerCallback { ...@@ -91,7 +91,7 @@ public interface CoursePropertyManager extends IdentityAnonymizerCallback {
* @param name * @param name
* @return matching course node properties * @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) * Find a specific course node property (exact match. I.e. null values are taken into account)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment