/*******************************************************************************
* Copyright (c) 2013, 2014 Ericsson
*
* 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:
* Francois Chouinard - Initial implementation
******************************************************************************/
package org.eclipse.mylyn.gerrit.dashboard.core;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.mylyn.tasks.core.data.TaskData;
import org.eclipse.mylyn.tasks.core.data.TaskDataCollector;
/**
* A minimal list implementation of TaskDataCollector for Dashboard Gerrit queries.
*
* @author Francois Chouinard
* @version 0.1
*/
public class GerritTaskDataCollector extends TaskDataCollector {
//-------------------------------------------------------------------------
// Attributes
//-------------------------------------------------------------------------
private final Map<String, IStatus> fFailureByTaskId;
private final List<TaskData> fResults;
//-------------------------------------------------------------------------
// Constructor
//-------------------------------------------------------------------------
/**
* Default constructor
*/
public GerritTaskDataCollector() {
fResults = new ArrayList<TaskData>();
fFailureByTaskId = new HashMap<String, IStatus>();
}
//-------------------------------------------------------------------------
// Getters
//-------------------------------------------------------------------------
/**
* @return the query failures
*/
public Map<String, IStatus> getFailureByTaskId() {
return fFailureByTaskId;
}
/**
* @return the query results
*/
public List<TaskData> getResults() {
return fResults;
}
//-------------------------------------------------------------------------
// TaskDataCollector
//-------------------------------------------------------------------------
/* (non-Javadoc)
* @see org.eclipse.mylyn.tasks.core.data.TaskDataCollector#accept(org.eclipse.mylyn.tasks.core.data.TaskData)
*/
@Override
public void accept(TaskData taskData) {
fResults.add(taskData);
}
/* (non-Javadoc)
* @see org.eclipse.mylyn.tasks.core.data.TaskDataCollector#failed(java.lang.String, org.eclipse.core.runtime.IStatus)
*/
@Override
public void failed(String taskId, IStatus status) {
fFailureByTaskId.put(taskId, status);
}
}