package org.codemap.tasks;
import java.io.InputStream;
import java.util.Collection;
import org.codemap.util.Resources;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.CoreException;
import ch.akuhn.hapax.CorpusBuilder;
import ch.akuhn.values.Value;
public class ComputeEclipseIndexTask extends ComputeIndexTask {
public ComputeEclipseIndexTask(Value<Collection<String>> elements) {
super(elements);
}
@Override
protected void parseElement(CorpusBuilder builder, String path) {
try {
IResource resource = Resources.asResource(path);
if (resource.getType() != IResource.FILE) return;
InputStream stream = ((IFile) resource).getContents();
builder.addDocument(path, stream);
} catch (CoreException ex) {
throw new RuntimeException(ex);
}
}
}