package rtt.ui.content.logging;
import java.util.List;
import rtt.core.archive.Archive;
import rtt.core.archive.logging.Entry;
import rtt.core.archive.logging.EntryType;
import rtt.core.manager.Manager;
import rtt.core.manager.data.LogManager;
import rtt.ui.content.ReloadInfo;
import rtt.ui.content.main.AbstractContent;
import rtt.ui.content.main.ContentIcon;
import rtt.ui.content.main.EmptyContent;
import rtt.ui.content.main.ProjectContent;
public class LogDirectory extends AbstractContent {
private boolean isEmpty = false;
public LogDirectory(ProjectContent parent) {
super(parent);
}
private void loadContents(Archive archive) {
LogManager logManager = archive.getLogManager();
List<Entry> entries = logManager.getLogEntries();
if (entries == null || entries.isEmpty()) {
isEmpty = true;
childs.add(new EmptyContent("No log entries found."));
} else {
for (Entry entry : entries) {
if (entry.getType() == EntryType.TESTRUN) {
childs.add(new TestrunContent(this, entry));
} else {
childs.add(new LogEntryContent(this, entry));
}
}
}
}
public void reload(ReloadInfo info, Manager manager) {
childs.clear();
loadContents(manager.getArchive());
// TODO nur entsprechende Elemente updaten, statt alles
// if (info.contains(Content.TESTRUN) || info.contains(Content.DETAIL)) {
// for (IContent content : childs) {
// content.reload(info);
// }
// } else {
// childs.clear();
// loadContents();
// }
}
public boolean isEmpty() {
return isEmpty;
}
@Override
public String getText() {
return "LogDirectory";
}
@Override
protected ContentIcon getIcon() {
return ContentIcon.PLACEHOLDER;
}
}