/******************************************************************************* * Copyright (c) 2012 Tasktop Technologies and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Tasktop Technologies - initial API and implementation *******************************************************************************/ package org.eclipse.mylyn.tasks.tests.connector; import java.util.Date; import java.util.Set; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IProgressMonitor; import org.eclipse.mylyn.tasks.core.ITaskMapping; import org.eclipse.mylyn.tasks.core.RepositoryResponse; import org.eclipse.mylyn.tasks.core.RepositoryResponse.ResponseKind; import org.eclipse.mylyn.tasks.core.TaskRepository; import org.eclipse.mylyn.tasks.core.data.AbstractTaskDataHandler; import org.eclipse.mylyn.tasks.core.data.TaskAttribute; import org.eclipse.mylyn.tasks.core.data.TaskAttributeMapper; import org.eclipse.mylyn.tasks.core.data.TaskData; import org.eclipse.mylyn.tasks.core.data.TaskMapper; /** * @author Frank Becker * @author Benjamin Muskalla */ public class MockTaskDataHandler extends AbstractTaskDataHandler { private final MockRepositoryConnectorWithTaskDataHandler connector; public MockTaskDataHandler(MockRepositoryConnectorWithTaskDataHandler connector) { this.connector = connector; } @Override public RepositoryResponse postTaskData(TaskRepository repository, TaskData taskData, Set<TaskAttribute> oldAttributes, IProgressMonitor monitor) throws CoreException { if (taskData.getTaskId() == null || taskData.getTaskId().length() == 0) { return new RepositoryResponse(ResponseKind.TASK_UPDATED, String.valueOf(this.connector.idSeed.incrementAndGet())); } else { return new RepositoryResponse(ResponseKind.TASK_UPDATED, taskData.getTaskId()); } } @Override public boolean initializeTaskData(TaskRepository repository, TaskData data, ITaskMapping initializationData, IProgressMonitor monitor) throws CoreException { TaskMapper mapper = this.connector.getTaskMapping(data); mapper.setCreationDate(new Date()); mapper.setDescription(""); mapper.setModificationDate(mapper.getCreationDate()); mapper.setOwner(""); mapper.setProduct("Product1"); mapper.setReporter(""); mapper.setStatus("NEW"); mapper.setSummary(""); mapper.setTaskKey(""); return true; } @Override public TaskAttributeMapper getAttributeMapper(TaskRepository repository) { return new TaskAttributeMapper(repository); } }