diff --git a/src/main/java/io/github/dsheirer/gui/SDRTrunk.java b/src/main/java/io/github/dsheirer/gui/SDRTrunk.java index 37c9a8a0..7711d59f 100644 --- a/src/main/java/io/github/dsheirer/gui/SDRTrunk.java +++ b/src/main/java/io/github/dsheirer/gui/SDRTrunk.java @@ -178,7 +178,7 @@ public class SDRTrunk implements Listener ChannelMapModel channelMapModel = new ChannelMapModel(); - EventLogManager eventLogManager = new EventLogManager(mUserPreferences); + EventLogManager eventLogManager = new EventLogManager(aliasModel, mUserPreferences); RecorderManager recorderManager = new RecorderManager(aliasModel, mUserPreferences); diff --git a/src/main/java/io/github/dsheirer/module/log/DecodeEventLogger.java b/src/main/java/io/github/dsheirer/module/log/DecodeEventLogger.java index a04a4889..c5fb54f1 100644 --- a/src/main/java/io/github/dsheirer/module/log/DecodeEventLogger.java +++ b/src/main/java/io/github/dsheirer/module/log/DecodeEventLogger.java @@ -20,12 +20,14 @@ * */ package io.github.dsheirer.module.log; - +import io.github.dsheirer.alias.AliasList; +import io.github.dsheirer.alias.AliasModel; import io.github.dsheirer.channel.IChannelDescriptor; import io.github.dsheirer.identifier.Form; import io.github.dsheirer.identifier.Identifier; import io.github.dsheirer.identifier.IdentifierClass; import io.github.dsheirer.identifier.Role; +import io.github.dsheirer.identifier.configuration.AliasListConfigurationIdentifier; import io.github.dsheirer.identifier.configuration.FrequencyConfigurationIdentifier; import io.github.dsheirer.module.decode.event.IDecodeEvent; import io.github.dsheirer.module.decode.event.IDecodeEventListener; @@ -42,16 +44,19 @@ public class DecodeEventLogger extends EventLogger implements IDecodeEventListen { private SimpleDateFormat mTimestampFormat = TimestampFormat.TIMESTAMP_COLONS.getFormatter(); private DecimalFormat mFrequencyFormat = new DecimalFormat("0.000000"); + private AliasList mAliasList; + private AliasModel mAliasModel; - public DecodeEventLogger(Path logDirectory, String fileNameSuffix, long frequency) + public DecodeEventLogger(AliasModel aliasModel, Path logDirectory, String fileNameSuffix, long frequency) { super(logDirectory, fileNameSuffix, frequency); + mAliasModel = aliasModel; } @Override public void receive(IDecodeEvent decodeEvent) { - write(toCSV(decodeEvent)); + write(toCSV(decodeEvent)); } @Override @@ -84,6 +89,7 @@ public class DecodeEventLogger extends EventLogger implements IDecodeEventListen private String toCSV(IDecodeEvent event) { + StringBuilder sb = new StringBuilder(); sb.append("\"").append(mTimestampFormat.format(new Date(event.getTimeStart()))).append("\""); @@ -105,9 +111,14 @@ public class DecodeEventLogger extends EventLogger implements IDecodeEventListen } List toIdentifiers = event.getIdentifierCollection().getIdentifiers(Role.TO); + if(toIdentifiers != null && !toIdentifiers.isEmpty()) { - sb.append(",\"").append(toIdentifiers.get(0)).append("\""); + Identifier identifier = event.getIdentifierCollection().getIdentifier(IdentifierClass.CONFIGURATION,Form.ALIAS_LIST,Role.ANY); + mAliasList = mAliasModel.getAliasList((AliasListConfigurationIdentifier)identifier); + + String mystring = (!mAliasList.getAliases(toIdentifiers.get(0)).isEmpty()) ? mAliasList.getAliases(toIdentifiers.get(0)).get(0).toString() : ""; + sb.append(",\"").append(mystring).append(" (").append(toIdentifiers.get(0)).append(")\""); } else { diff --git a/src/main/java/io/github/dsheirer/module/log/EventLogManager.java b/src/main/java/io/github/dsheirer/module/log/EventLogManager.java index 5eaf099d..4896d858 100644 --- a/src/main/java/io/github/dsheirer/module/log/EventLogManager.java +++ b/src/main/java/io/github/dsheirer/module/log/EventLogManager.java @@ -19,6 +19,7 @@ */ package io.github.dsheirer.module.log; +import io.github.dsheirer.alias.AliasModel; import io.github.dsheirer.controller.channel.Channel; import io.github.dsheirer.module.Module; import io.github.dsheirer.module.log.config.EventLogConfiguration; @@ -37,9 +38,11 @@ public class EventLogManager private final static Logger mLog = LoggerFactory.getLogger(EventLogManager.class); private UserPreferences mUserPreferences; + private AliasModel mAliasModel; - public EventLogManager(UserPreferences userPreferences) + public EventLogManager(AliasModel aliasModel, UserPreferences userPreferences) { + mAliasModel = aliasModel; mUserPreferences = userPreferences; } @@ -93,11 +96,11 @@ public class EventLogManager switch(eventLogType) { case CALL_EVENT: - return new DecodeEventLogger(eventLogDirectory, sb.toString(), frequency); + return new DecodeEventLogger(mAliasModel, eventLogDirectory, sb.toString(), frequency); case DECODED_MESSAGE: return new MessageEventLogger(eventLogDirectory, sb.toString(), MessageEventLogger.Type.DECODED, frequency); case TRAFFIC_CALL_EVENT: - return new DecodeEventLogger(eventLogDirectory, sb.toString(), frequency); + return new DecodeEventLogger(mAliasModel, eventLogDirectory, sb.toString(), frequency); case TRAFFIC_DECODED_MESSAGE: return new MessageEventLogger(eventLogDirectory, sb.toString(), MessageEventLogger.Type.DECODED, frequency); default: