mirror of
https://github.com/DSheirer/sdrtrunk.git
synced 2026-11-12 16:47:31 -05:00
Updates PlaylistManager to use faster jackson XML serialization.
Removes native xml.bind serialization for improved compatibility with Java 9. Global optimize imports on the entire project.
This commit is contained in:
@@ -1,74 +1,78 @@
|
||||
/*******************************************************************************
|
||||
* SDR Trunk
|
||||
* Copyright (C) 2014 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 <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
package io.github.dsheirer.source.config;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import io.github.dsheirer.source.SourceType;
|
||||
import io.github.dsheirer.source.mixer.MixerChannel;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
@JsonSubTypes.Type(value = SourceConfigMixer.class, name = "sourceConfigMixer")
|
||||
public class SourceConfigMixer extends SourceConfiguration
|
||||
{
|
||||
protected String mMixer;
|
||||
protected MixerChannel mChannel = MixerChannel.LEFT; //default
|
||||
|
||||
public SourceConfigMixer()
|
||||
protected String mMixer;
|
||||
protected MixerChannel mChannel = MixerChannel.LEFT; //default
|
||||
|
||||
public SourceConfigMixer()
|
||||
{
|
||||
super( SourceType.MIXER );
|
||||
super(SourceType.MIXER);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@JsonIgnore
|
||||
@Override
|
||||
public String getDescription()
|
||||
{
|
||||
return getName();
|
||||
return getName();
|
||||
}
|
||||
|
||||
public String getName()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
sb.append( "Mixer: " );
|
||||
sb.append( mMixer );
|
||||
sb.append( "-" );
|
||||
sb.append( mChannel.toString() );
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@XmlAttribute( name= "mixer" )
|
||||
public String getMixer()
|
||||
{
|
||||
return mMixer;
|
||||
}
|
||||
|
||||
public void setMixer( String mixer )
|
||||
{
|
||||
mMixer = mixer;
|
||||
}
|
||||
@JsonIgnore
|
||||
public String getName()
|
||||
{
|
||||
StringBuilder sb = new StringBuilder();
|
||||
|
||||
@XmlAttribute( name = "channel")
|
||||
public MixerChannel getChannel()
|
||||
{
|
||||
return mChannel;
|
||||
}
|
||||
|
||||
public void setChannel( MixerChannel channel )
|
||||
{
|
||||
mChannel = channel;
|
||||
}
|
||||
sb.append("Mixer: ");
|
||||
sb.append(mMixer);
|
||||
sb.append("-");
|
||||
sb.append(mChannel.toString());
|
||||
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true, localName = "mixer")
|
||||
public String getMixer()
|
||||
{
|
||||
return mMixer;
|
||||
}
|
||||
|
||||
public void setMixer(String mixer)
|
||||
{
|
||||
mMixer = mixer;
|
||||
}
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true, localName = "channel")
|
||||
public MixerChannel getChannel()
|
||||
{
|
||||
return mChannel;
|
||||
}
|
||||
|
||||
public void setChannel(MixerChannel channel)
|
||||
{
|
||||
mChannel = channel;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,34 +1,38 @@
|
||||
/*******************************************************************************
|
||||
* SDR Trunk
|
||||
* Copyright (C) 2014 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 <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
package io.github.dsheirer.source.config;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import io.github.dsheirer.source.SourceType;
|
||||
|
||||
@JsonSubTypes.Type(value = SourceConfigNone.class, name = "sourceConfigNone")
|
||||
public class SourceConfigNone extends SourceConfiguration
|
||||
{
|
||||
public SourceConfigNone()
|
||||
public SourceConfigNone()
|
||||
{
|
||||
super( SourceType.NONE );
|
||||
super(SourceType.NONE);
|
||||
}
|
||||
|
||||
@Override
|
||||
@JsonIgnore
|
||||
@Override
|
||||
public String getDescription()
|
||||
{
|
||||
return "No Source";
|
||||
return "No Source";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,12 +17,11 @@
|
||||
******************************************************************************/
|
||||
package io.github.dsheirer.source.config;
|
||||
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import io.github.dsheirer.source.SourceType;
|
||||
import io.github.dsheirer.source.tuner.TunerChannel;
|
||||
import io.github.dsheirer.source.tuner.TunerChannel.Type;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
|
||||
public class SourceConfigRecording extends SourceConfiguration
|
||||
{
|
||||
private String mRecordingAlias;
|
||||
@@ -32,8 +31,8 @@ public class SourceConfigRecording extends SourceConfiguration
|
||||
{
|
||||
super( SourceType.RECORDING );
|
||||
}
|
||||
|
||||
@XmlAttribute( name = "recording_alias" )
|
||||
|
||||
@JacksonXmlProperty(isAttribute=true,localName= "recording_alias" )
|
||||
public String getRecordingAlias()
|
||||
{
|
||||
return mRecordingAlias;
|
||||
@@ -44,7 +43,7 @@ public class SourceConfigRecording extends SourceConfiguration
|
||||
mRecordingAlias = alias;
|
||||
}
|
||||
|
||||
@XmlAttribute( name = "frequency" )
|
||||
@JacksonXmlProperty(isAttribute=true,localName= "frequency" )
|
||||
public long getFrequency()
|
||||
{
|
||||
return mFrequency;
|
||||
|
||||
@@ -1,68 +1,73 @@
|
||||
/*******************************************************************************
|
||||
* 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 <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
package io.github.dsheirer.source.config;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import io.github.dsheirer.source.SourceType;
|
||||
import io.github.dsheirer.source.tuner.TunerChannel;
|
||||
import io.github.dsheirer.source.tuner.TunerChannel.Type;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import java.text.DecimalFormat;
|
||||
|
||||
@JsonSubTypes.Type(value = SourceConfigTuner.class, name = "sourceConfigTuner")
|
||||
public class SourceConfigTuner extends SourceConfiguration
|
||||
{
|
||||
private static DecimalFormat sFORMAT = new DecimalFormat( "0.00000" );
|
||||
private static DecimalFormat sFORMAT = new DecimalFormat("0.00000");
|
||||
|
||||
private long mFrequency = 0;
|
||||
private int mBandwidth = 12500;
|
||||
|
||||
public SourceConfigTuner()
|
||||
private long mFrequency = 0;
|
||||
private int mBandwidth = 12500;
|
||||
|
||||
public SourceConfigTuner()
|
||||
{
|
||||
super( SourceType.TUNER );
|
||||
super(SourceType.TUNER);
|
||||
}
|
||||
|
||||
public SourceConfigTuner( TunerChannel tunerChannel )
|
||||
{
|
||||
this();
|
||||
|
||||
mFrequency = tunerChannel.getFrequency();
|
||||
mBandwidth = tunerChannel.getBandwidth();
|
||||
}
|
||||
|
||||
@XmlAttribute( name = "frequency" )
|
||||
public long getFrequency()
|
||||
{
|
||||
return mFrequency;
|
||||
}
|
||||
|
||||
public void setFrequency( long frequency )
|
||||
{
|
||||
mFrequency = frequency;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SourceConfigTuner(TunerChannel tunerChannel)
|
||||
{
|
||||
this();
|
||||
|
||||
mFrequency = tunerChannel.getFrequency();
|
||||
mBandwidth = tunerChannel.getBandwidth();
|
||||
}
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true, localName = "frequency")
|
||||
public long getFrequency()
|
||||
{
|
||||
return mFrequency;
|
||||
}
|
||||
|
||||
public void setFrequency(long frequency)
|
||||
{
|
||||
mFrequency = frequency;
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
@Override
|
||||
public String getDescription()
|
||||
{
|
||||
return sFORMAT.format( (double)mFrequency / 1000000.0d ) + " MHz";
|
||||
return sFORMAT.format((double)mFrequency / 1000000.0d) + " MHz";
|
||||
}
|
||||
|
||||
@JsonIgnore
|
||||
public TunerChannel getTunerChannel()
|
||||
{
|
||||
return new TunerChannel(Type.LOCKED, mFrequency, mBandwidth);
|
||||
}
|
||||
|
||||
public TunerChannel getTunerChannel()
|
||||
{
|
||||
return new TunerChannel( Type.LOCKED, mFrequency, mBandwidth );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,59 +1,74 @@
|
||||
/*******************************************************************************
|
||||
* SDR Trunk
|
||||
* Copyright (C) 2014 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 <http://www.gnu.org/licenses/>
|
||||
******************************************************************************/
|
||||
package io.github.dsheirer.source.config;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonSubTypes;
|
||||
import com.fasterxml.jackson.annotation.JsonTypeInfo;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlProperty;
|
||||
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
|
||||
import io.github.dsheirer.controller.config.Configuration;
|
||||
import io.github.dsheirer.source.SourceType;
|
||||
|
||||
import javax.xml.bind.annotation.XmlAttribute;
|
||||
import javax.xml.bind.annotation.XmlRootElement;
|
||||
import javax.xml.bind.annotation.XmlSeeAlso;
|
||||
|
||||
@XmlSeeAlso( { SourceConfigMixer.class, SourceConfigNone.class,
|
||||
SourceConfigTuner.class } )
|
||||
@XmlRootElement( name = "source_configuration" )
|
||||
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, include = JsonTypeInfo.As.PROPERTY, property = "type")
|
||||
@JsonSubTypes({
|
||||
@JsonSubTypes.Type(value = SourceConfigMixer.class, name = "sourceConfigMixer"),
|
||||
@JsonSubTypes.Type(value = SourceConfigNone.class, name = "sourceConfigNone"),
|
||||
@JsonSubTypes.Type(value = SourceConfigRecording.class, name = "sourceConfigRecording"),
|
||||
@JsonSubTypes.Type(value = SourceConfigTuner.class, name = "sourceConfigTuner"),
|
||||
})
|
||||
@JacksonXmlRootElement(localName = "source_configuration")
|
||||
public class SourceConfiguration extends Configuration
|
||||
{
|
||||
protected SourceType mSourceType;
|
||||
protected SourceType mSourceType;
|
||||
|
||||
public SourceConfiguration()
|
||||
{
|
||||
this( SourceType.NONE );
|
||||
}
|
||||
|
||||
public SourceConfiguration( SourceType source )
|
||||
{
|
||||
mSourceType = source;
|
||||
}
|
||||
public SourceConfiguration()
|
||||
{
|
||||
this(SourceType.NONE);
|
||||
}
|
||||
|
||||
@XmlAttribute( name = "source_type" )
|
||||
public SourceType getSourceType()
|
||||
{
|
||||
return mSourceType;
|
||||
}
|
||||
|
||||
public void setSourceType( SourceType source )
|
||||
{
|
||||
mSourceType = source;
|
||||
}
|
||||
|
||||
public String getDescription()
|
||||
{
|
||||
return "No Source";
|
||||
}
|
||||
public SourceConfiguration(SourceType source)
|
||||
{
|
||||
mSourceType = source;
|
||||
}
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true, localName = "source_type")
|
||||
public SourceType getSourceType()
|
||||
{
|
||||
return mSourceType;
|
||||
}
|
||||
|
||||
public void setSourceType(SourceType source)
|
||||
{
|
||||
mSourceType = source;
|
||||
}
|
||||
|
||||
@JacksonXmlProperty(isAttribute = true, localName = "type", namespace = "http://www.w3.org/2001/XMLSchema-instance")
|
||||
private String getType()
|
||||
{
|
||||
return null;
|
||||
}
|
||||
|
||||
private void setType(String type)
|
||||
{
|
||||
}
|
||||
|
||||
public String getDescription()
|
||||
{
|
||||
return "No Source";
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user