- public static @NonNull Iterable<ITmfEventAspect> generateAspects(CustomTraceDefinition definition) {
- ImmutableList.Builder<ITmfEventAspect> builder = new ImmutableList.Builder<>();
- List<OutputColumn> outputs = definition.outputs;
- for (int i = 0; i < outputs.size(); i++) {
- String name = outputs.get(i).name;
- builder.add(new CustomEventFieldAspect(name, i));
+ public static @NonNull Iterable<ITmfEventAspect<?>> generateAspects(CustomTraceDefinition definition) {
+ List<String> fieldNames = new ArrayList<>();
+ ImmutableList.Builder<ITmfEventAspect<?>> builder = new ImmutableList.Builder<>();
+ for (OutputColumn output : definition.outputs) {
+
+ if (output.tag.equals(Tag.TIMESTAMP) &&
+ (definition.timeStampOutputFormat == null || definition.timeStampOutputFormat.isEmpty())) {
+ builder.add(TmfBaseAspects.getTimestampAspect());
+ fieldNames.add(output.name);
+ } else if (output.tag.equals(Tag.EVENT_TYPE)) {
+ builder.add(TmfBaseAspects.getEventTypeAspect());
+ fieldNames.add(output.name);
+ } else if (output.tag.equals(Tag.EXTRA_FIELD_NAME) || output.tag.equals(Tag.EXTRA_FIELD_VALUE)) {
+ // These tags should have been substituted with Tag.EXTRA_FIELDS
+ continue;
+ } else if (output.tag.equals(Tag.EXTRA_FIELDS)) {
+ builder.add(new CustomExtraFieldsAspect());
+ } else {
+ builder.add(new TmfContentFieldAspect(output.name, output.name));
+ fieldNames.add(output.name);
+ }