public void setDescriptions(long taskId, List<I18NText> inputDescriptions) { Task task = persistenceContext.findTask(taskId); taskEventSupport.fireBeforeTaskUpdated(task, context); List<I18NText> descriptions = new ArrayList<I18NText>(inputDescriptions.size()); for( I18NText inputText : inputDescriptions ) { I18NText text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage(inputText.getLanguage()); ((InternalI18NText) text).setText(inputText.getText()); descriptions.add(text); } ((InternalTask) task).setDescriptions(descriptions); ((InternalTask) task).setDescription(descriptions.get(0).getText()); taskEventSupport.fireAfterTaskUpdated(task, context); }
@Test public void testLongDescription() { // BZ-1107473 String str = "(with (new Task()) { priority = 55, taskData = (with( new TaskData()) { } ), "; str += "peopleAssignments = (with ( new PeopleAssignments() ) { potentialOwners = [new User('Bobba Fet'), new User('Darth Vader') ],businessAdministrators = [ new User('Administrator') ], }),"; str += "name = 'This is my task name' })"; Task task = TaskFactory.evalTask(new StringReader(str)); StringBuilder sb = new StringBuilder(); for (int i = 0; i < 1000; i++) { sb.append("a"); } String comment = sb.toString(); // NOTE: AbstractHTWorkItemHandler stores "Comment" parameter as 'Description' List<I18NText> descriptions = new ArrayList<I18NText>(); I18NText descText = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) descText).setLanguage("en-UK"); ((InternalI18NText) descText).setText(comment); descriptions.add(descText); ((InternalTask)task).setDescriptions(descriptions); taskService.addTask(task, new HashMap<String, Object>()); // Fails if shortText is longer than 255 long taskId = task.getId(); Task resultTask = taskService.getTaskById(taskId); List<I18NText> resultDescriptions = resultTask.getDescriptions(); InternalI18NText resultDescription = (InternalI18NText)resultDescriptions.get(0); assertEquals(1000, resultDescription.getText().length()); // This is text // 6.1.x no longer uses shortText in API and Taskorm.xml so no assert. }
((InternalI18NText) descText).setText(description); descriptions.add(descText); task.setDescriptions(descriptions);
descriptions.add(text); taskImpl.setDescriptions(descriptions);
private void setTaskDescription(InternalTask task, String description) { List<I18NText> descriptions = new ArrayList<I18NText>(); I18NText text = TaskModelProvider.getFactory().newI18NText(); ((InternalI18NText) text).setLanguage("en-UK"); ((InternalI18NText) text).setText(description); descriptions.add(text); task.setDescriptions(descriptions); }
((InternalI18NText) descText).setText(description); descriptions.add(descText); task.setDescriptions(descriptions);