blob: f42a2e4f37c61863389ab6ae0152c5d7e81181e0 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2013 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
*
* Description:
* This class implements the implementation of the review table view information.
*
* Contributors:
* Jacques Bouthillier - Initial Implementation of the table view information
******************************************************************************/
package org.eclipse.mylyn.reviews.r4e_gerrit.ui.internal.model;
import java.util.HashMap;
import java.util.Map;
import org.eclipse.mylyn.reviews.r4e_gerrit.core.R4EGerritTask;
import org.eclipse.mylyn.tasks.core.TaskRepository;
/**
* @author Jacques Bouthillier
* @version $Revision: 1.0 $
*/
public class ReviewTableData {
// ------------------------------------------------------------------------
// Member variables
// ------------------------------------------------------------------------
// The list of reviews indexed by the SHORT_CHANGE_ID
private Map<String, R4EGerritTask> fReviewList;
private TaskRepository fTaskRepo = null;
private String fQuery = null;
/**
* Create a new review entry to insert to the list of reviews
*
* @param Object
*/
@SuppressWarnings("restriction")
public void createReviewItem(R4EGerritTask[] aList, String aQuery,
TaskRepository aTaskRepo) {
// Create the new object
// if (fQuery != aQuery) {
fReviewList = new HashMap<String, R4EGerritTask>();
for (R4EGerritTask review : aList) {
fReviewList.put(
review.getAttribute(R4EGerritTask.SHORT_CHANGE_ID),
review);
}
fTaskRepo = aTaskRepo;
fQuery = aQuery;
// } else {
// //Need to reset the list, we just created a null entry
// reset();
// }
}
/**
* Provide the list of review available for the table list
*
* @return the list of gerrit reviews
*/
public R4EGerritTask[] getReviews() {
if (fReviewList == null) {
fReviewList = new HashMap<String, R4EGerritTask>();
}
return fReviewList.values().toArray(new R4EGerritTask[0]);
}
/**
* Provide the review with the specified ID
*
* @param id
* the requested ID (SHORT_CHANGE_ID)
* @return the requested review (or null)
*/
public R4EGerritTask getReview(String id) {
if (id != null && fReviewList.containsKey(id)) {
return fReviewList.get(id);
}
return null;
}
/**
* Get the current TaskRepo populating the table list view
*
* @return TaskRepository
*/
public TaskRepository getCurrentTaskRepo() {
return fTaskRepo;
}
/**
* Return the query information used to populate the review table
*
* @return String
*/
public String getQueryInfo() {
return fQuery;
}
// private void reset() {
// if (fReviewList != null) {
// fReviewList = new HashMap<String, R4EGerritReviewData>();
// }
// }
}