diff options
author | spingel | 2008-06-01 02:55:17 +0000 |
---|---|---|
committer | spingel | 2008-06-01 02:55:17 +0000 |
commit | f9bcb12c35ed1d071bd36024efb03124ae055e49 (patch) | |
tree | f45cca8f68db52da977e7b7c689e72823b237125 | |
parent | 52431c05795f159fe2b7f30fc1d2934b4f32c134 (diff) | |
download | org.eclipse.mylyn.tasks-f9bcb12c35ed1d071bd36024efb03124ae055e49.tar.gz org.eclipse.mylyn.tasks-f9bcb12c35ed1d071bd36024efb03124ae055e49.tar.xz org.eclipse.mylyn.tasks-f9bcb12c35ed1d071bd36024efb03124ae055e49.zip |
RESOLVED - bug 225033: [api] ensure consistent naming of API classes and methods
https://bugs.eclipse.org/bugs/show_bug.cgi?id=225033
16 files changed, 252 insertions, 220 deletions
diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java index 95bf08fc2..047262782 100644 --- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java +++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/BugzillaRepositoryConnector.java @@ -125,10 +125,10 @@ public class BugzillaRepositoryConnector extends AbstractRepositoryConnector { if (isComplete) { Date completionDate = null; - TaskAttribute[] taskComments = taskData.getAttributeMapper().getAttributesByType(taskData, + List<TaskAttribute> taskComments = taskData.getAttributeMapper().getAttributesByType(taskData, TaskAttribute.TYPE_COMMENT); - if (taskComments != null && taskComments.length > 0) { - TaskAttribute lastComment = taskComments[taskComments.length - 1]; + if (taskComments != null && taskComments.size() > 0) { + TaskAttribute lastComment = taskComments.get(taskComments.size() - 1); if (lastComment != null) { TaskAttribute attributeCommentDate = lastComment.getMappedAttribute(TaskAttribute.COMMENT_DATE); if (attributeCommentDate != null) { @@ -173,8 +173,7 @@ public class BugzillaRepositoryConnector extends AbstractRepositoryConnector { } // Severity - TaskAttribute attrSeverity = taskData.getRoot().getMappedAttribute( - BugzillaAttribute.BUG_SEVERITY.getKey()); + TaskAttribute attrSeverity = taskData.getRoot().getMappedAttribute(BugzillaAttribute.BUG_SEVERITY.getKey()); if (attrSeverity != null && !attrSeverity.getValue().equals("")) { task.setAttribute(BugzillaAttribute.BUG_SEVERITY.getKey(), attrSeverity.getValue()); } diff --git a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/SaxMultiBugReportContentHandler.java b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/SaxMultiBugReportContentHandler.java index be8b753ed..c40b52c68 100644 --- a/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/SaxMultiBugReportContentHandler.java +++ b/org.eclipse.mylyn.bugzilla.core/src/org/eclipse/mylyn/internal/bugzilla/core/SaxMultiBugReportContentHandler.java @@ -332,7 +332,7 @@ public class SaxMultiBugReportContentHandler extends DefaultHandler { } private void updateAttachmentMetaData() { - TaskAttribute[] taskAttachments = repositoryTaskData.getAttributeMapper().getAttributesByType( + List<TaskAttribute> taskAttachments = repositoryTaskData.getAttributeMapper().getAttributesByType( repositoryTaskData, TaskAttribute.TYPE_ATTACHMENT); for (TaskAttribute attachment : taskAttachments) { TaskAttachmentMapper attachmentMapper = TaskAttachmentMapper.createFrom(attachment); diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest2.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest2.java index 7497eed29..23cff9b79 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest2.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/BugzillaRepositoryConnectorTest2.java @@ -13,14 +13,15 @@ import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.Date; import java.util.HashSet; +import java.util.List; import java.util.Set; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.mylyn.commons.net.AuthenticationCredentials; import org.eclipse.mylyn.commons.net.AuthenticationType; -import org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttribute; +import org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaTaskAttachmentHandler; import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; import org.eclipse.mylyn.internal.context.core.ContextCorePlugin; @@ -52,7 +53,9 @@ public class BugzillaRepositoryConnectorTest2 extends AbstractBugzillaTest { assertNotNull(taskData); assertEquals(SynchronizationState.SYNCHRONIZED, task.getSynchronizationState()); assertEquals(taskNumber, taskData.getTaskId()); - int numAttached = taskData.getAttributeMapper().getAttributesByType(taskData, TaskAttribute.TYPE_ATTACHMENT).length; + int numAttached = taskData.getAttributeMapper() + .getAttributesByType(taskData, TaskAttribute.TYPE_ATTACHMENT) + .size(); String fileName = "test-attach-" + System.currentTimeMillis() + ".txt"; assertNotNull(repository.getUserName()); @@ -143,9 +146,16 @@ public class BugzillaRepositoryConnectorTest2 extends AbstractBugzillaTest { assertEquals("TestComponent", mapper.getComponent()); assertEquals("nhapke@cs.ubc.ca", mapper.getOwner()); assertEquals("TestProduct", mapper.getProduct()); - assertEquals("PC", mapper.getValue(BugzillaAttribute.REP_PLATFORM.getKey())); - assertEquals("Windows", mapper.getValue(BugzillaAttribute.OP_SYS.getKey())); - assertEquals("ASSIGNED", mapper.getValue(BugzillaAttribute.BUG_STATUS.getKey())); + assertEquals("PC", mapper.getTaskData() + .getRoot() + .getMappedAttribute(BugzillaAttribute.REP_PLATFORM.getKey()) + .getValue()); + assertEquals("Windows", mapper.getTaskData() + .getRoot() + .getMappedAttribute(BugzillaAttribute.OP_SYS.getKey()) + .getValue()); + assertEquals("ASSIGNED", mapper.getTaskData().getRoot().getMappedAttribute( + BugzillaAttribute.BUG_STATUS.getKey()).getValue()); SimpleDateFormat format1 = new SimpleDateFormat("yyyy-MM-dd HH:mm"); SimpleDateFormat format2 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); assertEquals(format1.parse("2007-03-20 16:37"), mapper.getCreationDate()); @@ -156,12 +166,12 @@ public class BugzillaRepositoryConnectorTest2 extends AbstractBugzillaTest { //assertEquals("", mapper.getTaskKey()); // test comments - TaskAttribute[] comments = data.getAttributeMapper().getAttributesByType(data, TaskAttribute.TYPE_COMMENT); - assertEquals(11, comments.length); - TaskCommentMapper commentMap = TaskCommentMapper.createFrom(comments[0]); + List<TaskAttribute> comments = data.getAttributeMapper().getAttributesByType(data, TaskAttribute.TYPE_COMMENT); + assertEquals(11, comments.size()); + TaskCommentMapper commentMap = TaskCommentMapper.createFrom(comments.get(0)); assertEquals("Rob Elves", commentMap.getAuthor().getName()); assertEquals("Created an attachment (id=1)\ntest\n\ntest attachments", commentMap.getText()); - commentMap = TaskCommentMapper.createFrom(comments[10]); + commentMap = TaskCommentMapper.createFrom(comments.get(10)); assertEquals("Tests", commentMap.getAuthor().getName()); assertEquals("test", commentMap.getText()); } @@ -242,7 +252,9 @@ public class BugzillaRepositoryConnectorTest2 extends AbstractBugzillaTest { TaskData taskData = model.getTaskData(); assertNotNull(taskData); - int numComments = taskData.getAttributeMapper().getAttributesByType(taskData, TaskAttribute.TYPE_ATTACHMENT).length; + int numComments = taskData.getAttributeMapper() + .getAttributesByType(taskData, TaskAttribute.TYPE_ATTACHMENT) + .size(); // Modify it String newCommentText = "BugzillaRepositoryClientTest.testSynchronize(): " + (new Date()).toString(); diff --git a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryReportFactoryTest.java b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryReportFactoryTest.java index 98784a2b5..5ea04d2e3 100644 --- a/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryReportFactoryTest.java +++ b/org.eclipse.mylyn.bugzilla.tests/src/org/eclipse/mylyn/bugzilla/tests/RepositoryReportFactoryTest.java @@ -14,10 +14,10 @@ import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.NullProgressMonitor; import org.eclipse.mylyn.context.tests.support.TestUtil; import org.eclipse.mylyn.context.tests.support.TestUtil.Credentials; +import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttribute; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttributeFactory; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaClient; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaCorePlugin; -import org.eclipse.mylyn.internal.bugzilla.core.BugzillaAttribute; import org.eclipse.mylyn.internal.bugzilla.core.BugzillaRepositoryConnector; import org.eclipse.mylyn.internal.bugzilla.core.IBugzillaConstants; import org.eclipse.mylyn.internal.tasks.ui.TasksUiPlugin; @@ -140,9 +140,7 @@ public class RepositoryReportFactoryTest extends TestCase { // assertEquals("search-match-test 1", report.getDescription()); assertEquals("TestProduct", report.getRoot().getAttribute(BugzillaAttribute.PRODUCT.getKey()).getValue()); // assertEquals("TestProduct", report.getProduct()); - assertEquals("TestComponent", report.getRoot() - .getAttribute(BugzillaAttribute.COMPONENT.getKey()) - .getValue()); + assertEquals("TestComponent", report.getRoot().getAttribute(BugzillaAttribute.COMPONENT.getKey()).getValue()); assertEquals("PC", report.getRoot().getAttribute(BugzillaAttribute.REP_PLATFORM.getKey()).getValue()); assertEquals("Windows", report.getRoot().getAttribute(BugzillaAttribute.OP_SYS.getKey()).getValue()); assertEquals("other", report.getRoot().getAttribute(BugzillaAttribute.VERSION.getKey()).getValue()); @@ -157,13 +155,11 @@ public class RepositoryReportFactoryTest extends TestCase { .getAttribute(BugzillaAttribute.DELTA_TS.getKey()) .getValue()); assertEquals("---", report.getRoot().getAttribute(BugzillaAttribute.TARGET_MILESTONE.getKey()).getValue()); - assertEquals("relves@cs.ubc.ca", report.getRoot() - .getAttribute(BugzillaAttribute.REPORTER.getKey()) - .getValue()); + assertEquals("relves@cs.ubc.ca", report.getRoot().getAttribute(BugzillaAttribute.REPORTER.getKey()).getValue()); assertEquals("nhapke@cs.ubc.ca", report.getRoot() .getAttribute(BugzillaAttribute.ASSIGNED_TO.getKey()) .getValue()); - assertEquals(5, report.getAttributeMapper().getAttributesByType(report, TaskAttribute.TYPE_ATTACHMENT).length); + assertEquals(5, report.getAttributeMapper().getAttributesByType(report, TaskAttribute.TYPE_ATTACHMENT).size()); // assertEquals("relves@cs.ubc.ca", // report.getComments().get(0).getAttribute( // BugzillaReportElement.WHO.getKeyString()).getValue()); @@ -187,9 +183,7 @@ public class RepositoryReportFactoryTest extends TestCase { .getAttribute(BugzillaAttribute.SHORT_DESC.getKey()) .getValue()); assertEquals("TestProduct", report.getRoot().getAttribute(BugzillaAttribute.PRODUCT.getKey()).getValue()); - assertEquals("TestComponent", report.getRoot() - .getAttribute(BugzillaAttribute.COMPONENT.getKey()) - .getValue()); + assertEquals("TestComponent", report.getRoot().getAttribute(BugzillaAttribute.COMPONENT.getKey()).getValue()); assertEquals("PC", report.getRoot().getAttribute(BugzillaAttribute.REP_PLATFORM.getKey()).getValue()); assertEquals("Windows", report.getRoot().getAttribute(BugzillaAttribute.OP_SYS.getKey()).getValue()); assertEquals("other", report.getRoot().getAttribute(BugzillaAttribute.VERSION.getKey()).getValue()); @@ -209,9 +203,7 @@ public class RepositoryReportFactoryTest extends TestCase { assertEquals(2, attribute.getValues().size()); assertEquals("relves@cs.ubc.ca", attribute.getValues().get(0)); assertEquals("relves@gmail.com", attribute.getValues().get(1)); - assertEquals("relves@cs.ubc.ca", report.getRoot() - .getAttribute(BugzillaAttribute.REPORTER.getKey()) - .getValue()); + assertEquals("relves@cs.ubc.ca", report.getRoot().getAttribute(BugzillaAttribute.REPORTER.getKey()).getValue()); assertEquals("relves@cs.ubc.ca", report.getRoot() .getAttribute(BugzillaAttribute.ASSIGNED_TO.getKey()) .getValue()); @@ -364,9 +356,7 @@ public class RepositoryReportFactoryTest extends TestCase { .getAttribute(BugzillaAttribute.SHORT_DESC.getKey()) .getValue()); assertEquals("TestProduct", report.getRoot().getAttribute(BugzillaAttribute.PRODUCT.getKey()).getValue()); - assertEquals("TestComponent", report.getRoot() - .getAttribute(BugzillaAttribute.COMPONENT.getKey()) - .getValue()); + assertEquals("TestComponent", report.getRoot().getAttribute(BugzillaAttribute.COMPONENT.getKey()).getValue()); assertEquals("PC", report.getRoot().getAttribute(BugzillaAttribute.REP_PLATFORM.getKey()).getValue()); assertEquals("Windows XP", report.getRoot().getAttribute(BugzillaAttribute.OP_SYS.getKey()).getValue()); assertEquals("other", report.getRoot().getAttribute(BugzillaAttribute.VERSION.getKey()).getValue()); @@ -380,13 +370,11 @@ public class RepositoryReportFactoryTest extends TestCase { .getAttribute(BugzillaAttribute.DELTA_TS.getKey()) .getValue()); assertEquals("---", report.getRoot().getAttribute(BugzillaAttribute.TARGET_MILESTONE.getKey()).getValue()); - assertEquals("relves@cs.ubc.ca", report.getRoot() - .getAttribute(BugzillaAttribute.REPORTER.getKey()) - .getValue()); + assertEquals("relves@cs.ubc.ca", report.getRoot().getAttribute(BugzillaAttribute.REPORTER.getKey()).getValue()); assertEquals("relves@cs.ubc.ca", report.getRoot() .getAttribute(BugzillaAttribute.ASSIGNED_TO.getKey()) .getValue()); - assertEquals(0, report.getAttributeMapper().getAttributesByType(report, TaskAttribute.TYPE_ATTACHMENT).length); + assertEquals(0, report.getAttributeMapper().getAttributesByType(report, TaskAttribute.TYPE_ATTACHMENT).size()); } public void testTimeTracking222() throws Exception { diff --git a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/AttributeTaskMapper.java b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/AttributeTaskMapper.java index ce8ec0829..b642a4f9b 100644 --- a/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/AttributeTaskMapper.java +++ b/org.eclipse.mylyn.tasks.bugs/src/org/eclipse/mylyn/internal/tasks/bugs/AttributeTaskMapper.java @@ -9,6 +9,7 @@ package org.eclipse.mylyn.internal.tasks.bugs; import java.util.Date; +import java.util.List; import java.util.Map; import java.util.Map.Entry; @@ -160,12 +161,12 @@ public class AttributeTaskMapper { return null; } - public String[] getCc() { + public List<String> getCc() { // ignore return null; } - public String[] getKeywords() { + public List<String> getKeywords() { // ignore return null; } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/deprecated/TaskSelection.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/deprecated/TaskSelection.java index 10182892f..f983eb9a4 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/deprecated/TaskSelection.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/internal/tasks/core/deprecated/TaskSelection.java @@ -9,6 +9,7 @@ package org.eclipse.mylyn.internal.tasks.core.deprecated; import java.util.Date; +import java.util.List; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; @@ -207,12 +208,12 @@ public class TaskSelection implements ITaskMapping { } - public String[] getCc() { + public List<String> getCc() { // ignore return null; } - public String[] getKeywords() { + public List<String> getKeywords() { // ignore return null; } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java index 35b0bf85a..e11c26e4a 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/AbstractRepositoryConnector.java @@ -157,8 +157,6 @@ public abstract class AbstractRepositoryConnector { public abstract String getTaskUrl(String repositoryUrl, String taskId); /** - * @param taskRepository - * TODO * @since 3.0 */ public abstract boolean hasChanged(TaskRepository taskRepository, ITask task, TaskData taskData); diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskMapping.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskMapping.java index 74c11a113..e0e27e81a 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskMapping.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/ITaskMapping.java @@ -9,6 +9,7 @@ package org.eclipse.mylyn.tasks.core; import java.util.Date; +import java.util.List; import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel; import org.eclipse.mylyn.tasks.core.data.TaskData; @@ -22,7 +23,7 @@ public interface ITaskMapping { public void copyFrom(ITaskMapping source); - public abstract String[] getCc(); + public abstract List<String> getCc(); public abstract Date getCompletionDate(); @@ -34,7 +35,7 @@ public interface ITaskMapping { public abstract Date getDueDate(); - public abstract String[] getKeywords(); + public abstract List<String> getKeywords(); public abstract Date getModificationDate(); diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskMapping.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskMapping.java index 16521320a..a95a89361 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskMapping.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/TaskMapping.java @@ -9,6 +9,7 @@ package org.eclipse.mylyn.tasks.core; import java.util.Date; +import java.util.List; import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel; import org.eclipse.mylyn.tasks.core.data.TaskData; @@ -93,12 +94,12 @@ public class TaskMapping implements ITaskMapping { return null; } - public String[] getCc() { + public List<String> getCc() { // ignore return null; } - public String[] getKeywords() { + public List<String> getKeywords() { // ignore return null; } diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java index a3d2dea05..7617214b1 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskAttributeMapper.java @@ -8,7 +8,6 @@ package org.eclipse.mylyn.tasks.core.data; import java.util.ArrayList; -import java.util.Arrays; import java.util.Date; import java.util.List; import java.util.Map; @@ -65,7 +64,7 @@ public class TaskAttributeMapper { return null; } - public TaskAttribute[] getAttributesByType(TaskData taskData, String type) { + public List<TaskAttribute> getAttributesByType(TaskData taskData, String type) { Assert.isNotNull(taskData); Assert.isNotNull(type); List<TaskAttribute> result = new ArrayList<TaskAttribute>(); @@ -74,7 +73,7 @@ public class TaskAttributeMapper { result.add(taskAttribute); } } - return result.toArray(new TaskAttribute[0]); + return result; } public boolean getBooleanValue(TaskAttribute attribute) { @@ -145,7 +144,7 @@ public class TaskAttributeMapper { return person; } - public TaskOperation[] getTaskOperations(TaskAttribute operationsAttribute) { + public List<TaskOperation> getTaskOperations(TaskAttribute operationsAttribute) { Assert.isNotNull(operationsAttribute); TaskData taskData = operationsAttribute.getTaskData(); List<TaskOperation> result = new ArrayList<TaskOperation>(); @@ -155,7 +154,7 @@ public class TaskAttributeMapper { result.add(TaskOperation.createFrom(taskAttribute)); } } - return result.toArray(new TaskOperation[0]); + return result; } public TaskOperation getTaskOperation(TaskAttribute taskAttribute) { @@ -189,7 +188,7 @@ public class TaskAttributeMapper { return sb.toString(); } - public String[] getValueLabels(TaskAttribute taskAttribute) { + public List<String> getValueLabels(TaskAttribute taskAttribute) { List<String> values = taskAttribute.getValues(); List<String> result = new ArrayList<String>(values.size()); for (String value : values) { @@ -199,11 +198,11 @@ public class TaskAttributeMapper { } result.add(value); } - return result.toArray(new String[0]); + return result; } - public String[] getValues(TaskAttribute attribute) { - return attribute.getValues().toArray(new String[0]); + public List<String> getValues(TaskAttribute attribute) { + return new ArrayList<String>(attribute.getValues()); } public boolean hasValue(TaskAttribute attribute) { @@ -260,8 +259,8 @@ public class TaskAttributeMapper { attribute.setValue(value); } - public void setValues(TaskAttribute attribute, String[] values) { - attribute.setValues(Arrays.asList(values)); + public void setValues(TaskAttribute attribute, List<String> values) { + attribute.setValues(values); } public void updateTaskAttachment(ITaskAttachment taskAttachment, TaskAttribute taskAttribute) { diff --git a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskMapper.java b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskMapper.java index f3c9fb41b..f3501085c 100644 --- a/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskMapper.java +++ b/org.eclipse.mylyn.tasks.core/src/org/eclipse/mylyn/tasks/core/data/TaskMapper.java @@ -22,65 +22,158 @@ import org.eclipse.mylyn.tasks.core.ITask.PriorityLevel; */ public class TaskMapper implements ITaskMapping { + private final boolean createNonExistingAttributes; + private final TaskData taskData; public TaskMapper(TaskData taskData) { + this(taskData, false); + } + + public TaskMapper(TaskData taskData, boolean createNonExistingAttributes) { + this.createNonExistingAttributes = createNonExistingAttributes; Assert.isNotNull(taskData); this.taskData = taskData; } public boolean applyTo(ITask task) { boolean changed = false; - if ((task.getCompletionDate() != null && getCompletionDate() == null) // - || hasTaskPropertyChanged(task.getCompletionDate(), getCompletionDate())) { + if (hasChanges(task.getCompletionDate(), TaskAttribute.DATE_COMPLETION)) { task.setCompletionDate(getCompletionDate()); changed = true; } - if (hasTaskPropertyChanged(task.getCreationDate(), getCreationDate())) { + if (hasChanges(task.getCreationDate(), TaskAttribute.DATE_CREATION)) { task.setCreationDate(getCreationDate()); changed = true; } - if (hasTaskPropertyChanged(task.getModificationDate(), getModificationDate())) { + if (hasChanges(task.getModificationDate(), TaskAttribute.DATE_MODIFICATION)) { task.setModificationDate(getModificationDate()); changed = true; } - if (hasTaskPropertyChanged(task.getDueDate(), getDueDate())) { + if (hasChanges(task.getDueDate(), TaskAttribute.DATE_DUE)) { task.setDueDate(getDueDate()); changed = true; } - if (hasTaskPropertyChanged(task.getOwner(), getOwner())) { + if (hasChanges(task.getOwner(), TaskAttribute.USER_ASSIGNED)) { task.setOwner(getOwner()); changed = true; } - if (getPriority() != null && hasTaskPropertyChanged(task.getPriority(), getPriority().toString())) { - task.setPriority(getPriority().toString()); + if (hasChanges(task.getPriority(), TaskAttribute.PRIORITY)) { + if (getPriority() != null) { + task.setPriority(getPriority().toString()); + } else { + task.setPriority(PriorityLevel.getDefault().toString()); + } changed = true; } - if (hasTaskPropertyChanged(task.getSummary(), getSummary())) { + if (hasChanges(task.getSummary(), TaskAttribute.SUMMARY)) { task.setSummary(getSummary()); changed = true; } - if (hasTaskPropertyChanged(task.getTaskKey(), getTaskKey())) { + if (hasChanges(task.getTaskKey(), TaskAttribute.TASK_KEY)) { task.setTaskKey(getTaskKey()); changed = true; } - if (hasTaskPropertyChanged(task.getTaskKind(), getTaskKind())) { + if (hasChanges(task.getTaskKind(), TaskAttribute.TASK_KIND)) { task.setTaskKind(getTaskKind()); changed = true; } - if (hasTaskPropertyChanged(task.getUrl(), getTaskUrl())) { + if (hasChanges(task.getUrl(), TaskAttribute.TASK_URL)) { task.setUrl(getTaskUrl()); changed = true; } return changed; } - protected boolean getBooleanValue(String attributeKey) { - TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); - if (attribute != null) { - return taskData.getAttributeMapper().getBooleanValue(attribute); + private boolean areEquals(Object existingProperty, Object newProperty) { + return (existingProperty != null) ? !existingProperty.equals(newProperty) : newProperty != null; + } + + private void copyAttributeValue(TaskAttribute sourceAttribute, TaskAttribute targetAttribute) { + if (targetAttribute == null) { + return; + } + if (!sourceAttribute.getMetaData().isReadOnly() && !targetAttribute.getMetaData().isReadOnly()) { + targetAttribute.clearValues(); + if (targetAttribute.getOptions().size() > 0) { + List<String> values = sourceAttribute.getValues(); + for (String value : values) { + if (targetAttribute.getOptions().containsValue(value)) { + targetAttribute.addValue(value); + } + } + } else { + List<String> values = sourceAttribute.getValues(); + for (String value : values) { + targetAttribute.addValue(value); + } + } } - return false; + } + + /** + * TODO update comment + * + * Sets attribute values from <code>sourceTaskData</code> on <code>targetTaskData</code>. Sets the following + * attributes: + * <ul> + * <li>summary + * <li>description + * </ul> + * Other attribute values are only set if they exist on <code>sourceTaskData</code> and <code>targetTaskData</code>. + * + * @param sourceTaskData + * the source task data values are copied from, the connector kind of repository of + * <code>sourceTaskData</code> can be different from <code>targetTaskData</code> + * @param targetTaskData + * the target task data values are copied to, the connector kind matches the one of this task data + * handler + * @since 2.2 + */ + public void copyFrom(ITaskMapping source) { + if (source.getTaskData() != null && this.getTaskData() != null + && source.getTaskData().equals(this.getTaskData().getConnectorKind())) { + // task data objects are from the same connector, copy all attributes + for (TaskAttribute sourceAttribute : source.getTaskData().getRoot().getAttributes().values()) { + copyAttributeValue(sourceAttribute, this.getTaskData().getRoot().getAttribute(sourceAttribute.getId())); + } + } else { + if (source.getCc() != null) { + setCc(source.getCc()); + } + if (source.getDescription() != null) { + setDescription(source.getDescription()); + } + if (source.getComponent() != null) { + setComponent(source.getComponent()); + } + if (source.getKeywords() != null) { + setKeywords(source.getKeywords()); + } + if (source.getOwner() != null) { + setOwner(source.getOwner()); + } + if (source.getPriority() != null) { + setPriority(source.getPriority()); + } + if (source.getProduct() != null) { + setProduct(source.getProduct()); + } + if (source.getSummary() != null) { + setSummary(source.getSummary()); + } + + } + } + + private TaskAttribute createAttribute(String attributeKey) { + attributeKey = taskData.getAttributeMapper().mapToRepositoryKey(taskData.getRoot(), attributeKey); + TaskAttribute attribute = taskData.getRoot().createAttribute(attributeKey); + return attribute; + } + + public List<String> getCc() { + return getValues(TaskAttribute.USER_CC); } public Date getCompletionDate() { @@ -95,7 +188,7 @@ public class TaskMapper implements ITaskMapping { return getDateValue(TaskAttribute.DATE_CREATION); } - protected Date getDateValue(String attributeKey) { + private Date getDateValue(String attributeKey) { TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); if (attribute != null) { return taskData.getAttributeMapper().getDateValue(attribute); @@ -111,6 +204,18 @@ public class TaskMapper implements ITaskMapping { return getDateValue(TaskAttribute.DATE_DUE); } + public List<String> getKeywords() { + return getValues(TaskAttribute.KEYWORDS); + } + + private TaskAttribute getMappedAttribute(String attributeKey) { + TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); + if (createNonExistingAttributes && attribute == null) { + attribute = createAttribute(attributeKey); + } + return attribute; + } + public Date getModificationDate() { return getDateValue(TaskAttribute.DATE_MODIFICATION); } @@ -128,6 +233,14 @@ public class TaskMapper implements ITaskMapping { return getValue(TaskAttribute.PRODUCT); } + public String getReporter() { + return getValue(TaskAttribute.USER_REPORTER); + } + + public String getResolution() { + return getValue(TaskAttribute.RESOLUTION); + } + public String getSummary() { return getValue(TaskAttribute.SUMMARY); } @@ -144,11 +257,15 @@ public class TaskMapper implements ITaskMapping { return getValue(TaskAttribute.TASK_KIND); } + public String getTaskStatus() { + return getValue(TaskAttribute.STATUS); + } + public String getTaskUrl() { return getValue(TaskAttribute.TASK_URL); } - public String getValue(String attributeKey) { + private String getValue(String attributeKey) { TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); if (attribute != null) { return taskData.getAttributeMapper().getValueLabel(attribute); @@ -156,7 +273,7 @@ public class TaskMapper implements ITaskMapping { return null; } - public String[] getValues(String attributeKey) { + private List<String> getValues(String attributeKey) { TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); if (attribute != null) { return taskData.getAttributeMapper().getValueLabels(attribute); @@ -164,27 +281,39 @@ public class TaskMapper implements ITaskMapping { return null; } - protected boolean hasTaskPropertyChanged(Object existingProperty, Object newProperty) { - // the query hit does not have this property - if (newProperty == null) { - return false; - } - return (existingProperty == null) ? true : !existingProperty.equals(newProperty); + public boolean hasChanges(ITask task) { + boolean changed = false; + changed |= hasChanges(task.getCompletionDate(), TaskAttribute.DATE_COMPLETION); + changed |= hasChanges(task.getCreationDate(), TaskAttribute.DATE_CREATION); + changed |= hasChanges(task.getModificationDate(), TaskAttribute.DATE_MODIFICATION); + changed |= hasChanges(task.getDueDate(), TaskAttribute.DATE_DUE); + changed |= hasChanges(task.getOwner(), TaskAttribute.USER_ASSIGNED); + changed |= hasChanges(task.getPriority(), TaskAttribute.PRIORITY); + changed |= hasChanges(task.getSummary(), TaskAttribute.SUMMARY); + changed |= hasChanges(task.getTaskKey(), TaskAttribute.TASK_KEY); + changed |= hasChanges(task.getTaskKind(), TaskAttribute.TASK_KIND); + changed |= hasChanges(task.getUrl(), TaskAttribute.TASK_URL); + return changed; } - public TaskAttribute setBooleanValue(String attributeKey, boolean value) { + private boolean hasChanges(Object value, String attributeKey) { TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); - if (attribute == null) { - attribute = createAttribute(attributeKey); + if (attribute != null) { + if (TaskAttribute.TYPE_BOOLEAN.equals(attribute.getMetaData().getType())) { + return areEquals(value, taskData.getAttributeMapper().getBooleanValue(attribute)); + } else if (TaskAttribute.TYPE_DATE.equals(attribute.getMetaData().getType())) { + return areEquals(value, taskData.getAttributeMapper().getDateValue(attribute)); + } else if (TaskAttribute.TYPE_INTEGER.equals(attribute.getMetaData().getType())) { + return areEquals(value, taskData.getAttributeMapper().getIntegerValue(attribute)); + } else { + return areEquals(value, taskData.getAttributeMapper().getValue(attribute)); + } } - taskData.getAttributeMapper().setBooleanValue(attribute, value); - return attribute; + return false; } - private TaskAttribute createAttribute(String attributeKey) { - attributeKey = taskData.getAttributeMapper().mapToRepositoryKey(taskData.getRoot(), attributeKey); - TaskAttribute attribute = taskData.getRoot().createAttribute(attributeKey); - return attribute; + public void setCc(List<String> cc) { + setValues(TaskAttribute.USER_CC, cc); } public void setCompletionDate(Date dateCompleted) { @@ -199,12 +328,11 @@ public class TaskMapper implements ITaskMapping { setDateValue(TaskAttribute.DATE_CREATION, dateCreated); } - protected TaskAttribute setDateValue(String attributeKey, Date value) { - TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); - if (attribute == null) { - attribute = createAttribute(attributeKey); + private TaskAttribute setDateValue(String attributeKey, Date value) { + TaskAttribute attribute = getMappedAttribute(attributeKey); + if (attribute != null) { + taskData.getAttributeMapper().setDateValue(attribute, value); } - taskData.getAttributeMapper().setDateValue(attribute, value); return attribute; } @@ -216,6 +344,10 @@ public class TaskMapper implements ITaskMapping { setDateValue(TaskAttribute.DATE_DUE, value); } + public void setKeywords(List<String> keywords) { + setValues(TaskAttribute.KEYWORDS, keywords); + } + public void setModificationDate(Date dateModified) { setDateValue(TaskAttribute.DATE_MODIFICATION, dateModified); } @@ -250,116 +382,21 @@ public class TaskMapper implements ITaskMapping { setValue(TaskAttribute.TASK_URL, taskUrl); } - protected TaskAttribute setValue(String attributeKey, String value) { - TaskAttribute attribute = taskData.getRoot().getMappedAttribute(attributeKey); - if (attribute == null) { - attribute = createAttribute(attributeKey); + private TaskAttribute setValue(String attributeKey, String value) { + TaskAttribute attribute = getMappedAttribute(attributeKey); + if (attribute != null) { + taskData.getAttributeMapper().setValue(attribute, value); } - taskData.getAttributeMapper().setValue(attribute, value); return attribute; - } - /** - * TODO update comment - * - * Sets attribute values from <code>sourceTaskData</code> on <code>targetTaskData</code>. Sets the following - * attributes: - * <ul> - * <li>summary - * <li>description - * </ul> - * Other attribute values are only set if they exist on <code>sourceTaskData</code> and <code>targetTaskData</code>. - * - * @param sourceTaskData - * the source task data values are copied from, the connector kind of repository of - * <code>sourceTaskData</code> can be different from <code>targetTaskData</code> - * @param targetTaskData - * the target task data values are copied to, the connector kind matches the one of this task data - * handler - * @since 2.2 - */ - public void copyFrom(ITaskMapping source) { - if (source.getTaskData() != null && this.getTaskData() != null - && source.getTaskData().equals(this.getTaskData().getConnectorKind())) { - // task data objects are from the same connector, copy all attributes - for (TaskAttribute sourceAttribute : source.getTaskData().getRoot().getAttributes().values()) { - copyAttributeValue(sourceAttribute, this.getTaskData().getRoot().getAttribute(sourceAttribute.getId())); - } - } else { - if (source.getDescription() != null) { - setDescription(source.getDescription()); - } - if (source.getSummary() != null) { - setSummary(source.getSummary()); - } - if (source.getPriority() != null) { - setPriority(source.getPriority()); - } - if (source.getProduct() != null) { - setProduct(source.getProduct()); - } - } -// targetTaskData.setSummary(sourceTaskData.getSummary()); -// targetTaskData.setDescription(sourceTaskData.getDescription()); -// if (sourceTaskData.getConnectorKind().equals(targetTaskData.getConnectorKind()) -// && sourceTaskData.getTaskKind().equals(targetTaskData.getTaskKind())) { -// } else { -// // map attributes from common schema -// String[] commonAttributeKeys = new String[] { RepositoryTaskAttribute.KEYWORDS, -// RepositoryTaskAttribute.PRIORITY, RepositoryTaskAttribute.PRODUCT, -// RepositoryTaskAttribute.COMPONENT, RepositoryTaskAttribute.RESOLUTION, -// RepositoryTaskAttribute.USER_ASSIGNED, RepositoryTaskAttribute.USER_CC, }; -// for (String key : commonAttributeKeys) { -// RepositoryTaskAttribute sourceAttribute = sourceTaskData.getAttribute(key); -// if (sourceAttribute != null) { -// copyAttributeValue(sourceAttribute, targetTaskData.getAttribute(key)); -// } -// } -// } } - private void copyAttributeValue(TaskAttribute sourceAttribute, TaskAttribute targetAttribute) { - if (targetAttribute == null) { - return; - } - if (!sourceAttribute.getMetaData().isReadOnly() && !targetAttribute.getMetaData().isReadOnly()) { - targetAttribute.clearValues(); - if (targetAttribute.getOptions().size() > 0) { - List<String> values = sourceAttribute.getValues(); - for (String value : values) { - if (targetAttribute.getOptions().containsValue(value)) { - targetAttribute.addValue(value); - } - } - } else { - List<String> values = sourceAttribute.getValues(); - for (String value : values) { - targetAttribute.addValue(value); - } - } + private TaskAttribute setValues(String attributeKey, List<String> values) { + TaskAttribute attribute = getMappedAttribute(attributeKey); + if (attribute != null) { + taskData.getAttributeMapper().setValues(attribute, values); } - } - - public String[] getCc() { - // ignore - return null; - } - - public String[] getKeywords() { - // ignore - return null; - } - - public String getReporter() { - return getValue(TaskAttribute.USER_REPORTER); - } - - public String getResolution() { - return getValue(TaskAttribute.RESOLUTION); - } - - public String getTaskStatus() { - return getValue(TaskAttribute.STATUS); + return attribute; } } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java index 1c22e6409..6f32c5f6c 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/AttachmentUtil.java @@ -151,7 +151,7 @@ public class AttachmentUtil { return contextAttachments; } if (taskData != null) { - TaskAttribute[] taskAttachments = taskData.getAttributeMapper().getAttributesByType(taskData, + List<TaskAttribute> taskAttachments = taskData.getAttributeMapper().getAttributesByType(taskData, TaskAttribute.TYPE_ATTACHMENT); for (TaskAttribute attribute : taskAttachments) { TaskAttachment taskAttachment = new TaskAttachment(repository, task, attribute); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/MultiSelectionAttributeEditor.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/MultiSelectionAttributeEditor.java index dad2ec2ee..5bbc685fe 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/MultiSelectionAttributeEditor.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/MultiSelectionAttributeEditor.java @@ -80,11 +80,11 @@ public class MultiSelectionAttributeEditor extends AbstractAttributeEditor { } public String[] getValues() { - return getAttributeMapper().getValues(getTaskAttribute()); + return getAttributeMapper().getValues(getTaskAttribute()).toArray(new String[0]); } public String[] getValuesLabels() { - return getAttributeMapper().getValueLabels(getTaskAttribute()); + return getAttributeMapper().getValueLabels(getTaskAttribute()).toArray(new String[0]); } private void select(String[] values, String[] labels) { @@ -103,7 +103,7 @@ public class MultiSelectionAttributeEditor extends AbstractAttributeEditor { } public void setValues(String[] values) { - getAttributeMapper().setValues(getTaskAttribute(), values); + getAttributeMapper().setValues(getTaskAttribute(), Arrays.asList(values)); attributeChanged(); } diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionPart.java index 2dcfd8466..02a32b977 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionPart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorActionPart.java @@ -243,8 +243,9 @@ public class TaskEditorActionPart extends AbstractTaskEditorPart { } private void createRadioButtons(Composite buttonComposite, FormToolkit toolkit, TaskOperation selectedOperation) { - TaskOperation[] operations = getTaskData().getAttributeMapper().getTaskOperations(selectedOperationAttribute); - if (operations.length > 0) { + List<TaskOperation> operations = getTaskData().getAttributeMapper().getTaskOperations( + selectedOperationAttribute); + if (operations.size() > 0) { operationButtons = new ArrayList<Button>(); Button selectedButton = null; for (TaskOperation operation : operations) { diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java index 291bbc27c..dc19d00da 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorAttachmentPart.java @@ -102,7 +102,7 @@ public class TaskEditorAttachmentPart extends AbstractTaskEditorPart { // // private TableViewer attachmentsTableViewer; - private TaskAttribute[] attachments; + private List<TaskAttribute> attachments; private boolean hasIncoming; @@ -153,7 +153,7 @@ public class TaskEditorAttachmentPart extends AbstractTaskEditorPart { } }); - List<ITaskAttachment> attachmentList = new ArrayList<ITaskAttachment>(attachments.length); + List<ITaskAttachment> attachmentList = new ArrayList<ITaskAttachment>(attachments.size()); for (TaskAttribute attribute : attachments) { TaskAttachment taskAttachment = new TaskAttachment(getModel().getTaskRepository(), getModel().getTask(), attribute); @@ -375,7 +375,7 @@ public class TaskEditorAttachmentPart extends AbstractTaskEditorPart { initialize(); Section section = createSection(parent, toolkit, hasIncoming); - section.setText(getPartName() + " (" + attachments.length + ")"); + section.setText(getPartName() + " (" + attachments.size() + ")"); final Composite attachmentsComposite = toolkit.createComposite(section); attachmentsComposite.setLayout(new GridLayout(1, false)); @@ -384,7 +384,7 @@ public class TaskEditorAttachmentPart extends AbstractTaskEditorPart { dropListener = new TaskAttachmentDropListener(); registerDropListener(section, dropListener); - if (attachments.length > 0) { + if (attachments.size() > 0) { createAttachmentTable(toolkit, attachmentsComposite); } else { toolkit.createLabel(attachmentsComposite, "No attachments"); diff --git a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorCommentPart.java b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorCommentPart.java index ea4761304..315aeb1cc 100644 --- a/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorCommentPart.java +++ b/org.eclipse.mylyn.tasks.ui/src/org/eclipse/mylyn/internal/tasks/ui/editors/TaskEditorCommentPart.java @@ -9,8 +9,6 @@ package org.eclipse.mylyn.internal.tasks.ui.editors; import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; import java.util.List; import org.eclipse.jface.action.Action; @@ -101,18 +99,14 @@ public class TaskEditorCommentPart extends AbstractTaskEditorPart { } private void initialize() { - TaskAttribute[] attributes = getTaskData().getAttributeMapper().getAttributesByType(getTaskData(), - TaskAttribute.TYPE_COMMENT); - if (attributes.length > 0) { - comments = new ArrayList<TaskAttribute>(Arrays.asList(attributes)); + comments = getTaskData().getAttributeMapper().getAttributesByType(getTaskData(), TaskAttribute.TYPE_COMMENT); + if (comments.size() > 0) { for (TaskAttribute commentAttribute : comments) { if (getModel().hasIncomingChanges(commentAttribute)) { hasIncoming = true; break; } } - } else { - comments = Collections.emptyList(); } } |