Closes #72 - updates alias list to maintain a map of alias id to alias and separate lists for wildcard alias id values. Alias lookup logic is changed to first look for in the alias map for a concrete match to the alias identifier. If an alias is not found, then the list of wildcard alias identifier values is iterated looking for a matching wildcard. If the wildcard is found, then the matching alias is returned from the map.

This commit is contained in:
Denny
2016-07-31 09:18:25 -04:00
parent b19bfb400e
commit 6af24ffa38
16 changed files with 496 additions and 423 deletions

View File

@@ -19,6 +19,7 @@ package alias.id;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.bind.annotation.XmlTransient;
import playlist.version1.Group;
import alias.id.esn.Esn;
@@ -49,4 +50,7 @@ public abstract class AliasID
public abstract AliasIDType getType();
public abstract boolean matches( AliasID id );
@XmlTransient
public abstract boolean isValid();
}

View File

@@ -36,7 +36,13 @@ public class Esn extends AliasID
return mEsn;
}
public void setEsn( String esn )
@Override
public boolean isValid()
{
return mEsn != null;
}
public void setEsn(String esn )
{
mEsn = esn;
}

View File

@@ -42,6 +42,12 @@ public class FleetsyncID extends AliasID
mID = ident;
}
@Override
public boolean isValid()
{
return mID != null;
}
public String toString()
{
return "Fleetsync: " + mID;

View File

@@ -55,6 +55,12 @@ public class LoJackFunctionAndID extends AliasID
mFunction = function;
}
@Override
public boolean isValid()
{
return mFunction != null && mID != null;
}
public String toString()
{
return "LoJack FUNC: " + mFunction.getLabel() + " ID:" + ( mID == null ? "" : mID );

View File

@@ -42,6 +42,12 @@ public class MDC1200ID extends AliasID
mID = ident;
}
@Override
public boolean isValid()
{
return mID != null;
}
public String toString()
{
return "MDC-1200: " + mID;

View File

@@ -43,7 +43,13 @@ public class Min extends AliasID
{
mMin = min;
}
@Override
public boolean isValid()
{
return mMin != null;
}
public String toString()
{
return "MIN: " + mMin;

View File

@@ -41,6 +41,12 @@ public class MPT1327ID extends AliasID
mID = ident;
}
@Override
public boolean isValid()
{
return mID != null;
}
public String toString()
{
return "MPT-1327: " + mID;

View File

@@ -11,6 +11,12 @@ public class NonRecordable extends AliasID
return AliasIDType.NonRecordable;
}
@Override
public boolean isValid()
{
return true;
}
@Override
public boolean matches( AliasID id )
{

View File

@@ -39,6 +39,12 @@ public class Priority extends AliasID
{
}
@Override
public boolean isValid()
{
return true;
}
/**
* Indicates the associated alias should not be monitored or tracked.
*/

View File

@@ -40,7 +40,13 @@ public class SiteID extends AliasID
{
mSite = site;
}
@Override
public boolean isValid()
{
return mSite != null;
}
public String toString()
{
return "Site: " + mSite;

View File

@@ -40,7 +40,13 @@ public class StatusID extends AliasID
{
this.mStatus = status;
}
@Override
public boolean isValid()
{
return true;
}
public String toString()
{
return "Status: " + String.format( "%03d", mStatus );

View File

@@ -42,6 +42,12 @@ public class TalkgroupID extends AliasID
mTalkgroup = talkgroup;
}
@Override
public boolean isValid()
{
return mTalkgroup != null;
}
public String toString()
{
StringBuilder sb = new StringBuilder();

View File

@@ -41,6 +41,12 @@ public class UniqueID extends AliasID
this.mUid = uid;
}
@Override
public boolean isValid()
{
return true;
}
public String toString()
{
return "UniqueID: " + mUid;