/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.gui.log.internal;
import java.util.ArrayList;
import java.util.List;
import java.util.SortedSet;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.Viewer;
import org.osgi.service.log.LogService;
import de.rcenvironment.core.log.SerializableLogEntry;
/**
* Take the whole content to structured pieces.
*
* @author Enrico Tappert
*/
public class LogContentProvider implements IStructuredContentProvider {
/**
* {@inheritDoc}
*
* Splits the whole content into structured logging elements object array.
*
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
@Override
public Object[] getElements(final Object inputElement) {
if (!(inputElement instanceof LogModel)) {
throw new IllegalArgumentException();
}
List<SerializableLogEntry> removeObjectsList = new ArrayList<SerializableLogEntry>();
final LogModel logModel = (LogModel) inputElement;
final SortedSet<SerializableLogEntry> logEntries = logModel.getLogEntries();
for (SerializableLogEntry entry : logEntries) {
if (entry.getLevel() == LogService.LOG_DEBUG) {
removeObjectsList.add(entry);
}
}
logEntries.removeAll(removeObjectsList);
return logEntries.toArray();
}
@Override
public void dispose() {
// do nothing
}
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
// do nothing
}
}