/*
* Created on May 15, 2005 by Michael Spiegel
*
*/
package net.sf.cvschangelog.view;
import java.util.Collection;
import net.sf.cvschangelog.CVSChangeLogPlugin;
import net.sf.cvschangelog.model.ChangeLogMap;
import net.sf.cvschangelog.model.ChangeLogRepositoryMap;
import org.eclipse.core.resources.IProject;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.eclipse.team.internal.ccvs.core.CVSException;
import org.eclipse.team.internal.ccvs.core.ICVSRemoteResource;
import org.eclipse.team.internal.ccvs.core.ICVSRepositoryLocation;
import org.eclipse.team.internal.ccvs.core.resources.CVSWorkspaceRoot;
/**
* @author Michael Spiegel
*
*/
public class ChangeLogViewContentProvider implements IStructuredContentProvider {
private CVSChangeLogPlugin plugin;
private ChangeLogMap changeLogMap;
public ChangeLogViewContentProvider() {
plugin = CVSChangeLogPlugin.getDefault();
changeLogMap = plugin.getChangeLogMap();
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
public void dispose() {
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
* java.lang.Object, java.lang.Object)
*/
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
/*
* (non-Javadoc)
*
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
public Object[] getElements(Object inputElement) {
try {
if (inputElement instanceof IProject) {
IProject project = (IProject) inputElement;
ICVSRemoteResource remoteProject;
remoteProject = CVSWorkspaceRoot.getRemoteResourceFor(project);
ICVSRepositoryLocation location = remoteProject.getRepository();
ChangeLogRepositoryMap repository = changeLogMap
.getRepository(location);
Collection entries = repository.getChangeLogEntries();
return(entries.toArray());
}
} catch (CVSException e) {
e.printStackTrace();
}
return new Object[0];
}
}