From bd09911e687961865d1f84c59f93b8bbc1bb94b9 Mon Sep 17 00:00:00 2001 From: denny Date: Sun, 21 Feb 2016 05:45:54 -0500 Subject: [PATCH] Alias updates to allow JAXB persistence --- src/alias/Alias.java | 10 ++++++++-- src/alias/AliasID.java | 23 ++++++++++++++++++++++- src/alias/action/AliasAction.java | 25 +++++++++++++++++++++++++ 3 files changed, 55 insertions(+), 3 deletions(-) diff --git a/src/alias/Alias.java b/src/alias/Alias.java index 7def2d64..d455b2de 100644 --- a/src/alias/Alias.java +++ b/src/alias/Alias.java @@ -1,6 +1,6 @@ /******************************************************************************* * SDR Trunk - * Copyright (C) 2014 Dennis Sheirer + * Copyright (C) 2014-2016 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,11 +22,15 @@ import java.util.ArrayList; import java.util.List; import javax.xml.bind.annotation.XmlAttribute; +import javax.xml.bind.annotation.XmlElement; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlSeeAlso; import alias.action.AliasAction; import alias.priority.Priority; -import audio.inverted.AudioType; +@XmlSeeAlso( { AliasID.class, AliasAction.class } ) +@XmlRootElement( name = "alias" ) public class Alias { private String mList; @@ -121,6 +125,7 @@ public class Alias mIconName = iconName; } + @XmlElement( name="id" ) public List getId() { return mAliasIDs; @@ -141,6 +146,7 @@ public class Alias mAliasIDs.remove( id ); } + @XmlElement( name="action" ) public List getAction() { return mAliasActions; diff --git a/src/alias/AliasID.java b/src/alias/AliasID.java index 27b84f2d..83a6c360 100644 --- a/src/alias/AliasID.java +++ b/src/alias/AliasID.java @@ -1,6 +1,6 @@ /******************************************************************************* * SDR Trunk - * Copyright (C) 2014 Dennis Sheirer + * Copyright (C) 2014-2016 Dennis Sheirer * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,6 +17,27 @@ ******************************************************************************/ package alias; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlSeeAlso; + +import alias.id.esn.Esn; +import alias.id.fleetsync.FleetsyncID; +import alias.id.fleetsync.StatusID; +import alias.id.lojack.LoJackFunctionAndID; +import alias.id.mdc.MDC1200ID; +import alias.id.mobileID.Min; +import alias.id.mpt1327.MPT1327ID; +import alias.id.siteID.SiteID; +import alias.id.talkgroup.TalkgroupID; +import alias.id.uniqueID.UniqueID; +import alias.priority.Priority; +import alias.record.NonRecordable; + +@XmlSeeAlso( { Esn.class, FleetsyncID.class, Group.class, LoJackFunctionAndID.class, + MDC1200ID.class, Min.class, MPT1327ID.class, NonRecordable.class, + Priority.class, SiteID.class, StatusID.class, TalkgroupID.class, + UniqueID.class } ) +@XmlRootElement( name = "id" ) public abstract class AliasID { public AliasID() diff --git a/src/alias/action/AliasAction.java b/src/alias/action/AliasAction.java index 08308c82..b2d409b2 100644 --- a/src/alias/action/AliasAction.java +++ b/src/alias/action/AliasAction.java @@ -1,12 +1,37 @@ +/******************************************************************************* + * SDR Trunk + * Copyright (C) 2014-2016 Dennis Sheirer + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see + ******************************************************************************/ package alias.action; +import javax.xml.bind.annotation.XmlRootElement; +import javax.xml.bind.annotation.XmlSeeAlso; + import message.Message; import alias.Alias; +import alias.action.beep.BeepAction; +import alias.action.clip.ClipAction; +import alias.action.script.ScriptAction; import controller.ThreadPoolManager; /** * Alias action defines an action to execute when an alias is detected active. */ +@XmlSeeAlso( { BeepAction.class, ClipAction.class, ScriptAction.class } ) +@XmlRootElement( name = "action" ) public abstract class AliasAction { public AliasAction()