Skip to content

Commit

Permalink
#1983 Reverts aliasing of fully qualified identifiers against locally…
Browse files Browse the repository at this point in the history
… assign ID or address values - must be an exact match to the fully qualified identifier. (#1984)

Co-authored-by: Dennis Sheirer <[email protected]>
  • Loading branch information
DSheirer and Dennis Sheirer authored Sep 18, 2024
1 parent 6f05db7 commit 9474d53
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 26 deletions.
26 changes: 8 additions & 18 deletions src/main/java/io/github/dsheirer/alias/AliasList.java
Original file line number Diff line number Diff line change
Expand Up @@ -663,18 +663,13 @@ public TalkgroupAliasList()

public Alias getAlias(TalkgroupIdentifier identifier)
{
//Attempt to do a fully qualified identifier match first.
//Attempt to do a fully qualified identifier match only
if(identifier instanceof FullyQualifiedTalkgroupIdentifier fqti)
{
Alias fullyQualifiedAlias = mFullyQualifiedTalkgroupAliasMap.get(fqti.getFullyQualifiedTalkgroupAddress());

if(fullyQualifiedAlias != null)
{
return fullyQualifiedAlias;
}
return mFullyQualifiedTalkgroupAliasMap.get(fqti.getFullyQualifiedTalkgroupAddress());
}

//Next, attempt to match against the locally assigned (temporary) address
//Attempt to match the talkgroup value
int value = identifier.getValue();

Alias mapValue = mTalkgroupAliasMap.get(value);
Expand All @@ -683,7 +678,7 @@ public Alias getAlias(TalkgroupIdentifier identifier)
return mapValue;
}

//Finally, match the locally assigned address against any talkgroup ranges
//Alternatively, match the talkgroup to any talkgroup ranges
for(Map.Entry<TalkgroupRange, Alias> entry : mTalkgroupRangeAliasMap.entrySet())
{
if(entry.getKey().contains(value))
Expand Down Expand Up @@ -788,18 +783,13 @@ public RadioAliasList()

public Alias getAlias(RadioIdentifier identifier)
{
//Attempt to do a fully qualified identifier match first.
//Match fully qualified identifier only.
if(identifier instanceof FullyQualifiedRadioIdentifier fqri)
{
Alias fullyQualifiedRadioAlias = mFullyQualifiedRadioAliasMap.get(fqri.getFullyQualifiedRadioAddress());

if(fullyQualifiedRadioAlias != null)
{
return fullyQualifiedRadioAlias;
}
return mFullyQualifiedRadioAliasMap.get(fqri.getFullyQualifiedRadioAddress());
}

//Next, attempt to match against the locally assigned (temporary) address
//Attempt to match against the radio identifier
int value = identifier.getValue();

Alias mapValue = mRadioAliasMap.get(value);
Expand All @@ -808,7 +798,7 @@ public Alias getAlias(RadioIdentifier identifier)
return mapValue;
}

//Finally, attempt to match the locally assigned (temporary) address against any radio ranges.
//Alternatively, attempt to match the radio address against any radio ranges.
for(Map.Entry<RadioRange, Alias> entry : mRadioRangeAliasMap.entrySet())
{
if(entry.getKey().contains(value))
Expand Down
12 changes: 4 additions & 8 deletions src/test/java/io/github/dsheirer/alias/P25AliasTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -120,8 +120,7 @@ void aliasP25FullyQualifiedTalkgroupToBasicTalkgroupAlias()
APCO25FullyQualifiedTalkgroupIdentifier p25FQTG1 = APCO25FullyQualifiedTalkgroupIdentifier.createTo(aliasGroup, wacn, system, originalGroup);

List<Alias> aliases = aliasList.getAliases(p25FQTG1);
assertEquals(1, aliases.size(), "Expected 1 matching alias");
assertEquals(correctAliasName, aliases.getFirst().getName(), "Unexpected alias name");
assertEquals(0, aliases.size(), "Expected 0 matching alias");
}

/**
Expand All @@ -148,8 +147,7 @@ void aliasP25FullyQualifiedTalkgroupToTalkgroupRangeAlias()
APCO25FullyQualifiedTalkgroupIdentifier p25FQTG1 = APCO25FullyQualifiedTalkgroupIdentifier.createTo(aliasGroup, wacn, system, originalGroup);

List<Alias> aliases = aliasList.getAliases(p25FQTG1);
assertEquals(1, aliases.size(), "Expected 1 matching alias");
assertEquals(correctAliasName, aliases.getFirst().getName(), "Unexpected alias name");
assertEquals(0, aliases.size(), "Expected 0 matching aliases");
}

@Test
Expand Down Expand Up @@ -233,8 +231,7 @@ void aliasP25FullyQualifiedRadioToBasicRadioAlias()
APCO25FullyQualifiedRadioIdentifier p25FQTG1 = APCO25FullyQualifiedRadioIdentifier.createFrom(aliasRadio, wacn, system, originalRadio);

List<Alias> aliases = aliasList.getAliases(p25FQTG1);
assertEquals(1, aliases.size(), "Expected 1 matching alias");
assertEquals(correctAliasName, aliases.getFirst().getName(), "Unexpected alias name");
assertEquals(0, aliases.size(), "Expected 0 matching aliases");
}

/**
Expand All @@ -261,7 +258,6 @@ void aliasP25FullyQualifiedRadioToRadioRangeAlias()
APCO25FullyQualifiedRadioIdentifier p25FQTG1 = APCO25FullyQualifiedRadioIdentifier.createFrom(aliasRadio, wacn, system, originalRadio);

List<Alias> aliases = aliasList.getAliases(p25FQTG1);
assertEquals(1, aliases.size(), "Expected 1 matching alias");
assertEquals(correctAliasName, aliases.getFirst().getName(), "Unexpected alias name");
assertEquals(0, aliases.size(), "Expected 0 matching aliases");
}
}

0 comments on commit 9474d53

Please sign in to comment.