Search in sources :

Example 6 with TaskAttributeMapper

use of org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper in project linuxtools by eclipse.

the class TestOSIORestGetTaskLinks method testGetTaskLinks.

@Test
public void testGetTaskLinks() throws Exception {
    TestData testData = new TestData();
    TestUtils.initSpaces(requestProvider, testData);
    OSIORestClient client = connector.getClient(repository, requestProvider);
    AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
    TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
    TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
    OSIORestTaskSchema.getDefault().initialize(taskData);
    OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
    config.setSpaces(testData.spaceMap);
    connector.setConfiguration(config);
    RepositoryLocation location = client.getClient().getLocation();
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
    WorkItem workitem = initWorkItem("1", "WORKITEM-0001", "SPACE-0001", "Task 1");
    WorkItem workitem2 = initWorkItem("2", "WORKITEM-0002", "SPACE-0001", "Task 2");
    WorkItem workitem3 = initWorkItem("3", "WORKITEM-0003", "SPACE-0001", "Task 3");
    requestProvider.addGetRequest("/workitems/WORKITEM-0001", workitem);
    requestProvider.addGetRequest("/workitems/WORKITEM-0002", workitem2);
    requestProvider.addGetRequest("/workitems/WORKITEM-0003", workitem3);
    taskData.getRoot().getAttribute(OSIORestTaskSchema.getDefault().UUID.getKey()).setValue("WORKITEM-0001");
    OSIORestGetTaskLinks data = new OSIORestGetTaskLinks(client.getClient(), client, testData.spaceMap.get("mywork"), taskData, config);
    String bundleLocation = Activator.getContext().getBundle().getLocation();
    int index = bundleLocation.indexOf('/');
    String fileName = bundleLocation.substring(index) + "/testjson/links.data";
    FileReader in = new FileReader(fileName);
    TaskAttribute original = taskData.getRoot().getAttribute(OSIORestTaskSchema.getDefault().LINKS.getKey());
    assertTrue(original == null || original.getValues().isEmpty());
    TaskAttribute attribute = data.testParseFromJson(in);
    assertEquals(2, attribute.getValues().size());
    List<String> values = attribute.getValues();
    assertEquals("blocks Task 2 [user/mywork#2]", values.get(0));
    assertEquals("is blocked by Task 3 [user/mywork#3]", values.get(1));
}
Also used : TaskAttribute(org.eclipse.mylyn.tasks.core.data.TaskAttribute) TestData(org.eclipse.linuxtools.mylyn.osio.rest.test.support.TestData) OSIORestConfiguration(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestConfiguration) AbstractTaskDataHandler(org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler) WorkItem(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.response.data.WorkItem) RepositoryLocation(org.eclipse.mylyn.commons.repositories.core.RepositoryLocation) TaskData(org.eclipse.mylyn.tasks.core.data.TaskData) OSIORestGetTaskLinks(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestGetTaskLinks) OSIORestClient(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestClient) FileReader(java.io.FileReader) TaskAttributeMapper(org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper) NullOperationMonitor(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.NullOperationMonitor) Test(org.junit.Test)

Example 7 with TaskAttributeMapper

use of org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper in project linuxtools by eclipse.

the class TestOSIORestPatchUpdateTask method testPatchUpdateTask.

@Test
public void testPatchUpdateTask() throws Exception {
    TestData testData = new TestData();
    TestUtils.initSpaces(requestProvider, testData);
    OSIORestClient client = connector.getClient(repository, requestProvider);
    OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
    config.setSpaces(testData.spaceMap);
    connector.setConfiguration(config);
    RepositoryLocation location = client.getClient().getLocation();
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
    AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
    TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
    TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
    OSIORestTaskSchema.getDefault().initialize(taskData);
    Set<TaskAttribute> attributes = new LinkedHashSet<>();
    TaskAttribute newComment = taskData.getRoot().getAttribute(OSIORestTaskSchema.getDefault().NEW_COMMENT.getKey());
    newComment.setValue("This is a test comment");
    attributes.add(newComment);
    OSIORestTaskSchema taskSchema = OSIORestTaskSchema.getDefault();
    TaskAttribute root = taskData.getRoot();
    TaskAttribute description = root.getAttribute(taskSchema.DESCRIPTION.getKey());
    description.setValue("This is a test bug");
    TaskAttribute operation = root.createAttribute(TaskAttribute.OPERATION);
    operation.setValue("in progress");
    TaskAttribute status = root.getAttribute(taskSchema.STATUS.getKey());
    status.setValue("open");
    TaskAttribute uuid = root.getAttribute(taskSchema.UUID.getKey());
    uuid.setValue("WORKITEM-0001");
    TaskAttribute summary = root.getAttribute(taskSchema.SUMMARY.getKey());
    summary.setValue("Bug0001");
    TaskAttribute version = root.getAttribute(taskSchema.VERSION.getKey());
    version.setValue("11");
    TaskAttribute area = root.getAttribute(taskSchema.AREA.getKey());
    area.setValue("mywork");
    TaskAttribute iteration = root.getAttribute(taskSchema.ITERATION.getKey());
    iteration.setValue("mywork");
    TaskAttribute labels = root.getAttribute(taskSchema.LABELS.getKey());
    labels.addValue("label1");
    labels.addValue("label3");
    TaskAttribute addLabels = root.getAttribute(taskSchema.ADD_LABEL.getKey());
    addLabels.addValue("label2");
    TaskAttribute removeLabels = root.getAttribute(taskSchema.REMOVE_LABEL.getKey());
    removeLabels.addValue("label3");
    TaskAttribute assignees = root.getAttribute(taskSchema.ASSIGNEES.getKey());
    assignees.addValue("user3");
    TaskAttribute addAssignees = root.getAttribute(taskSchema.ADD_ASSIGNEE.getKey());
    addAssignees.addValue("user");
    TaskAttribute removeAssignees = root.getAttribute(taskSchema.REMOVE_ASSIGNEE.getKey());
    removeAssignees.addValue("user3");
    OSIORestPatchUpdateTask data = new OSIORestPatchUpdateTask(client.getClient(), taskData, attributes, testData.spaceMap.get("mywork"));
    OSIORestPatchUpdateTask.TaskAttributeTypeAdapter adapter = data.new TaskAttributeTypeAdapter(location);
    OSIORestPatchUpdateTask.OldAttributes oldAttributes = data.new OldAttributes(attributes);
    StringWriter s = new StringWriter();
    JsonWriter writer = new JsonWriter(s);
    adapter.write(writer, oldAttributes);
    assertEquals("{\"data\":{\"attributes\":{\"system.description\":\"This is a test bug\",\"system.state\":\"in progress\",\"system.title\":\"Bug0001\",\"version\":\"11\"}," + "\"id\":\"WORKITEM-0001\",\"relationships\":{\"space\":{\"data\":{\"id\":\"SPACE-0001\",\"type\":\"spaces\"}},\"area\":{\"data\":{\"id\":\"AREA-0001\",\"type\":\"areas\"}}," + "\"iteration\":{\"data\":{\"id\":\"ITERATION-0001\",\"type\":\"iterations\"}},\"assignees\":{\"data\":[{\"id\":\"USER-0001\",\"type\":\"users\"}]}," + "\"labels\":{\"data\":[{\"id\":\"LABEL-0001\",\"type\":\"labels\"},{\"id\":\"LABEL-0002\",\"type\":\"labels\"}]}},\"type\":\"workitems\"},\"included\":[true]}", s.getBuffer().toString());
    StringWriter s2 = new StringWriter();
    JsonWriter writer2 = new JsonWriter(s2);
    root.removeAttribute(TaskAttribute.OPERATION);
    adapter.write(writer2, oldAttributes);
    assertEquals("{\"data\":{\"attributes\":{\"system.description\":\"This is a test bug\",\"system.state\":\"open\",\"system.title\":\"Bug0001\",\"version\":\"11\"}," + "\"id\":\"WORKITEM-0001\",\"relationships\":{\"space\":{\"data\":{\"id\":\"SPACE-0001\",\"type\":\"spaces\"}},\"area\":{\"data\":{\"id\":\"AREA-0001\",\"type\":\"areas\"}}," + "\"iteration\":{\"data\":{\"id\":\"ITERATION-0001\",\"type\":\"iterations\"}},\"assignees\":{\"data\":[{\"id\":\"USER-0001\",\"type\":\"users\"}]}," + "\"labels\":{\"data\":[{\"id\":\"LABEL-0001\",\"type\":\"labels\"},{\"id\":\"LABEL-0002\",\"type\":\"labels\"}]}},\"type\":\"workitems\"},\"included\":[true]}", s2.getBuffer().toString());
}
Also used : LinkedHashSet(java.util.LinkedHashSet) TaskAttribute(org.eclipse.mylyn.tasks.core.data.TaskAttribute) TestData(org.eclipse.linuxtools.mylyn.osio.rest.test.support.TestData) OSIORestConfiguration(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestConfiguration) AbstractTaskDataHandler(org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler) JsonWriter(com.google.gson.stream.JsonWriter) RepositoryLocation(org.eclipse.mylyn.commons.repositories.core.RepositoryLocation) TaskData(org.eclipse.mylyn.tasks.core.data.TaskData) StringWriter(java.io.StringWriter) OSIORestClient(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestClient) OSIORestTaskSchema(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestTaskSchema) TaskAttributeMapper(org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper) OSIORestPatchUpdateTask(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestPatchUpdateTask) NullOperationMonitor(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.NullOperationMonitor) Test(org.junit.Test)

Example 8 with TaskAttributeMapper

use of org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper in project linuxtools by eclipse.

the class TestOSIORestPostNewLink method testPostNewLink.

@Test
public void testPostNewLink() throws Exception {
    TestData testData = new TestData();
    TestUtils.initSpaces(requestProvider, testData);
    OSIORestClient client = connector.getClient(repository, requestProvider);
    OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
    config.setSpaces(testData.spaceMap);
    connector.setConfiguration(config);
    RepositoryLocation location = client.getClient().getLocation();
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
    AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
    TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
    TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
    OSIORestTaskSchema.getDefault().initialize(taskData);
    OSIORestPostNewLink data = new OSIORestPostNewLink(client.getClient(), "LINKTYPE-0001", "WORKITEM-0001", "WORKITEM-0002", false);
    OSIORestPostNewLink.TaskAttributeTypeAdapter adapter = data.new TaskAttributeTypeAdapter();
    StringWriter s = new StringWriter();
    JsonWriter writer = new JsonWriter(s);
    adapter.write(writer, "");
    assertEquals("{\"data\":{\"relationships\":{\"link_type\":{\"data\":{\"id\":\"LINKTYPE-0001\",\"type\":\"workitemlinktypes\"}}," + "\"source\":{\"data\":{\"id\":\"WORKITEM-0002\",\"type\":\"workitems\"}},\"target\":{\"data\":{\"id\":\"WORKITEM-0001\",\"type\":\"workitems\"}}}," + "\"type\":\"workitemlinks\"},\"included\":[false,false,false]}", s.toString());
}
Also used : OSIORestPostNewLink(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestPostNewLink) TestData(org.eclipse.linuxtools.mylyn.osio.rest.test.support.TestData) OSIORestConfiguration(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestConfiguration) AbstractTaskDataHandler(org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler) JsonWriter(com.google.gson.stream.JsonWriter) RepositoryLocation(org.eclipse.mylyn.commons.repositories.core.RepositoryLocation) TaskData(org.eclipse.mylyn.tasks.core.data.TaskData) StringWriter(java.io.StringWriter) OSIORestClient(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestClient) TaskAttributeMapper(org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper) NullOperationMonitor(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.NullOperationMonitor) Test(org.junit.Test)

Example 9 with TaskAttributeMapper

use of org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper in project linuxtools by eclipse.

the class TestOSIORestPostNewTask method testPostNewTask.

@Test
public void testPostNewTask() throws Exception {
    TestData testData = new TestData();
    TestUtils.initSpaces(requestProvider, testData);
    OSIORestClient client = connector.getClient(repository, requestProvider);
    OSIORestConfiguration config = client.getConfiguration(repository, new NullOperationMonitor());
    config.setSpaces(testData.spaceMap);
    connector.setConfiguration(config);
    RepositoryLocation location = client.getClient().getLocation();
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_ID, "user");
    location.setProperty(IOSIORestConstants.REPOSITORY_AUTH_TOKEN, "xxxxxxTokenxxxxxx");
    AbstractTaskDataHandler taskDataHandler = connector.getTaskDataHandler();
    TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository);
    TaskData taskData = new TaskData(mapper, repository.getConnectorKind(), repository.getRepositoryUrl(), "");
    OSIORestTaskSchema.getDefault().initialize(taskData);
    TaskAttribute root = taskData.getRoot();
    OSIORestTaskSchema taskSchema = OSIORestTaskSchema.getDefault();
    TaskAttribute summary = root.getAttribute(taskSchema.SUMMARY.getKey());
    summary.setValue("Bug0001");
    TaskAttribute description = root.getAttribute(taskSchema.DESCRIPTION.getKey());
    description.setValue("This is a bug");
    TaskAttribute workitemtype = root.getAttribute(taskSchema.WORKITEM_TYPE.getKey());
    workitemtype.setValue("bug");
    OSIORestPostNewTask data = new OSIORestPostNewTask(client.getClient(), taskData, testData.spaceMap.get("mywork"), connector, repository);
    OSIORestPostNewTask.TaskAttributeTypeAdapter adapter = data.new TaskAttributeTypeAdapter(location);
    StringWriter s = new StringWriter();
    JsonWriter writer = new JsonWriter(s);
    adapter.write(writer, taskData);
    assertEquals("{\"data\":{\"attributes\":{\"system.state\":\"new\",\"system.title\":\"Bug0001\",\"version\":\"1\",\"system.description\":\"This is a bug\"},\"relationships\":{\"baseType\":{\"data\":{\"id\":\"WORKITEMTYPE-0001\",\"type\":\"workitemtypes\"}},\"space\":{\"data\":{\"id\":\"SPACE-0001\",\"type\":\"spaces\"}}},\"type\":\"workitems\"},\"included\":[true]}", s.toString());
}
Also used : TaskAttribute(org.eclipse.mylyn.tasks.core.data.TaskAttribute) TestData(org.eclipse.linuxtools.mylyn.osio.rest.test.support.TestData) OSIORestPostNewTask(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestPostNewTask) OSIORestConfiguration(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestConfiguration) AbstractTaskDataHandler(org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler) JsonWriter(com.google.gson.stream.JsonWriter) RepositoryLocation(org.eclipse.mylyn.commons.repositories.core.RepositoryLocation) TaskData(org.eclipse.mylyn.tasks.core.data.TaskData) StringWriter(java.io.StringWriter) OSIORestClient(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestClient) OSIORestTaskSchema(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestTaskSchema) TaskAttributeMapper(org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper) NullOperationMonitor(org.eclipse.linuxtools.internal.mylyn.osio.rest.core.NullOperationMonitor) Test(org.junit.Test)

Example 10 with TaskAttributeMapper

use of org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper in project linuxtools by eclipse.

the class OSIORestHarness method createTaskData.

public TaskData createTaskData(ITaskMapping initializationData, ITaskMapping selectionData, IProgressMonitor monitor) throws CoreException {
    AbstractTaskDataHandler taskDataHandler = connector().getTaskDataHandler();
    TaskAttributeMapper mapper = taskDataHandler.getAttributeMapper(repository());
    // $NON-NLS-1$
    TaskData taskData = new TaskData(mapper, repository().getConnectorKind(), repository().getRepositoryUrl(), "");
    boolean result = taskDataHandler.initializeTaskData(repository(), taskData, initializationData, monitor);
    if (!result) {
        throw new CoreException(new Status(IStatus.ERROR, OSIORestCore.ID_PLUGIN, // $NON-NLS-1$
        "Initialization of task failed. The provided data is insufficient."));
    }
    if (selectionData != null) {
        connector().getTaskMapping(taskData).merge(selectionData);
    }
    return taskData;
}
Also used : IStatus(org.eclipse.core.runtime.IStatus) Status(org.eclipse.core.runtime.Status) CoreException(org.eclipse.core.runtime.CoreException) TaskAttributeMapper(org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper) AbstractTaskDataHandler(org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler) TaskData(org.eclipse.mylyn.tasks.core.data.TaskData)

Aggregations

AbstractTaskDataHandler (org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler)15 TaskAttributeMapper (org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper)15 TaskData (org.eclipse.mylyn.tasks.core.data.TaskData)15 OSIORestClient (org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestClient)14 TestData (org.eclipse.linuxtools.mylyn.osio.rest.test.support.TestData)13 Test (org.junit.Test)13 OSIORestConfiguration (org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestConfiguration)11 RepositoryLocation (org.eclipse.mylyn.commons.repositories.core.RepositoryLocation)11 TaskAttribute (org.eclipse.mylyn.tasks.core.data.TaskAttribute)11 NullOperationMonitor (org.eclipse.linuxtools.internal.mylyn.osio.rest.core.NullOperationMonitor)10 JsonWriter (com.google.gson.stream.JsonWriter)5 FileReader (java.io.FileReader)5 StringWriter (java.io.StringWriter)5 OSIORestTaskSchema (org.eclipse.linuxtools.internal.mylyn.osio.rest.core.OSIORestTaskSchema)3 TaskCommentMapper (org.eclipse.mylyn.tasks.core.data.TaskCommentMapper)3 ArrayList (java.util.ArrayList)2 LinkedHashSet (java.util.LinkedHashSet)2 IStatus (org.eclipse.core.runtime.IStatus)2 NullOperationMonitor (org.eclipse.mylyn.internal.commons.core.operations.NullOperationMonitor)2 IRepositoryPerson (org.eclipse.mylyn.tasks.core.IRepositoryPerson)2