/*******************************************************************************
- * Copyright (c) 2010, 2015 Ericsson
+ * Copyright (c) 2010, 2016 Ericsson
*
* All rights reserved. This program and the accompanying materials are
* made available under the terms of the Eclipse Public License v1.0 which
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
+import java.util.Map.Entry;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.tracecompass.internal.tmf.ui.Messages;
import org.eclipse.tracecompass.tmf.core.exceptions.TmfTraceException;
import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTraceDefinition.OutputColumn;
+import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTraceDefinition.Tag;
import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTrace;
import org.eclipse.tracecompass.tmf.core.parsers.custom.CustomTxtTraceDefinition;
import org.eclipse.tracecompass.tmf.core.timestamp.TmfTimeRange;
private void loadDefinition(final CustomTxtTraceDefinition def) {
for (final OutputColumn outputColumn : def.outputs) {
- final Output output = new Output(outputsContainer, outputColumn.name);
+ final Output output = new Output(outputsContainer, outputColumn.tag, outputColumn.name);
outputs.add(output);
}
}
public void setVisible(final boolean visible) {
if (visible) {
this.definition = wizard.inputPage.getDefinition();
- final List<String> outputNames = wizard.inputPage.getInputNames();
+ final List<Entry<Tag, String>> inputs = wizard.inputPage.getInputs();
// dispose outputs that have been removed in the input page
final Iterator<Output> iter = outputs.iterator();
while (iter.hasNext()) {
final Output output = iter.next();
boolean found = false;
- for (final String name : outputNames) {
- if (output.name.equals(name)) {
+ for (final Entry<Tag, String> input : inputs) {
+ if (output.tag.equals(input.getKey()) &&
+ output.name.equals(input.getValue())) {
found = true;
break;
}
}
// create outputs that have been added in the input page
- for (final String name : outputNames) {
+ for (final Entry<Tag, String> input : inputs) {
boolean found = false;
for (final Output output : outputs) {
- if (output.name.equals(name)) {
+ if (output.tag.equals(input.getKey()) &&
+ output.name.equals(input.getValue())) {
found = true;
break;
}
}
if (!found) {
- outputs.add(new Output(outputsContainer, name));
+ outputs.add(new Output(outputsContainer, input.getKey(), input.getValue()));
}
}
* @return The output columns
*/
public List<OutputColumn> extractOutputs() {
- int numColumns = 0;
- for (int i = 0; i < outputs.size(); i++) {
- if (outputs.get(i).enabledButton.getSelection()) {
- numColumns++;
- }
- }
- final List<OutputColumn> outputColumns = new ArrayList<>(numColumns);
- numColumns = 0;
- for (int i = 0; i < outputs.size(); i++) {
- final Output output = outputs.get(i);
+ final List<OutputColumn> outputColumns = new ArrayList<>();
+ for (Output output : outputs) {
if (output.enabledButton.getSelection()) {
- final OutputColumn column = new OutputColumn();
- column.name = checkNotNull(output.nameLabel.getText());
+ final OutputColumn column = new OutputColumn(checkNotNull(output.tag), checkNotNull(output.name));
outputColumns.add(column);
}
}
}
private class Output {
+ Tag tag;
String name;
Button enabledButton;
Text nameLabel;
Button upButton;
Button downButton;
- public Output(final Composite parent, final String name) {
+ public Output(final Composite parent, final Tag tag, final String name) {
+ this.tag = tag;
this.name = name;
enabledButton = new Button(parent, SWT.CHECK);