From 468e437c25c30db2125f05cc75de25253ca5b2a7 Mon Sep 17 00:00:00 2001 From: Sylwester Zielinski Date: Fri, 27 Jan 2023 13:20:48 +0100 Subject: [PATCH] Revert migration to Kotlin of simpleframework classes as kt version doesn't work. --- ...Configuration.kt => XmlConfiguration.java} | 82 ++++++----- .../nordicsemi/android/uart/db/XmlMacro.java | 127 ++++++++++++++++++ .../no/nordicsemi/android/uart/db/XmlMacro.kt | 102 -------------- 3 files changed, 176 insertions(+), 135 deletions(-) rename profile_uart/src/main/java/no/nordicsemi/android/uart/db/{XmlConfiguration.kt => XmlConfiguration.java} (56%) create mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.java delete mode 100644 profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.kt diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlConfiguration.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlConfiguration.java similarity index 56% rename from profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlConfiguration.kt rename to profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlConfiguration.java index c8742848..1691252e 100644 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlConfiguration.kt +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlConfiguration.java @@ -28,41 +28,57 @@ * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -package no.nordicsemi.android.uart.db -import org.simpleframework.xml.Attribute -import org.simpleframework.xml.ElementArray -import org.simpleframework.xml.Root -import org.simpleframework.xml.core.PersistenceException -import org.simpleframework.xml.core.Validate +package no.nordicsemi.android.uart.db; + +import org.simpleframework.xml.Attribute; +import org.simpleframework.xml.ElementArray; +import org.simpleframework.xml.Root; +import org.simpleframework.xml.core.PersistenceException; +import org.simpleframework.xml.core.Validate; @Root -class XmlConfiguration { - /** - * Returns the field name - * - * @return optional name - */ - /** - * Sets the name to specified value - * @param name the new name - */ - @field:Attribute(required = false, empty = "Unnamed") - var name: String? = null +public class XmlConfiguration { + public static final int COMMANDS_COUNT = 9; - /** - * Returns the array of commands. There is always 9 of them. - * @return the commands array - */ - @field:ElementArray - var commands: Array = arrayOfNulls(COMMANDS_COUNT) - @Validate - @Throws(PersistenceException::class) - private fun validate() { - if (commands.size != COMMANDS_COUNT) throw PersistenceException("There must be always $COMMANDS_COUNT commands in a configuration.") - } + @Attribute(required = false, empty = "Unnamed") + private String name; - companion object { - const val COMMANDS_COUNT = 9 - } -} \ No newline at end of file + @ElementArray + private XmlMacro[] commands = new XmlMacro[COMMANDS_COUNT]; + + /** + * Returns the field name + * + * @return optional name + */ + public String getName() { + return name; + } + + /** + * Sets the name to specified value + * @param name the new name + */ + public void setName(final String name) { + this.name = name; + } + + /** + * Returns the array of commands. There is always 9 of them. + * @return the commands array + */ + public XmlMacro[] getCommands() { + return commands; + } + + public void setCommands(XmlMacro[] commands) { + this.commands = commands; + } + + @Validate + private void validate() throws PersistenceException{ + if (commands == null || commands.length != COMMANDS_COUNT) + throw new PersistenceException("There must be always " + COMMANDS_COUNT + " commands in a configuration."); + } +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.java b/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.java new file mode 100644 index 00000000..202097bd --- /dev/null +++ b/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.java @@ -0,0 +1,127 @@ +/* + * Copyright (c) 2022, Nordic Semiconductor + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without modification, are + * permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this list of + * conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, this list + * of conditions and the following disclaimer in the documentation and/or other materials + * provided with the distribution. + * + * 3. Neither the name of the copyright holder nor the names of its contributors may be + * used to endorse or promote products derived from this software without specific prior + * written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED + * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A + * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT + * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT + * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, + * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY + * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, + * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +package no.nordicsemi.android.uart.db; + +import org.simpleframework.xml.Attribute; +import org.simpleframework.xml.Root; +import org.simpleframework.xml.Text; + +//import no.nordicsemi.android.uart.data.MacroEol; +//import no.nordicsemi.android.uart.data.MacroIcon; +import no.nordicsemi.android.uart.data.*; + +@Root +public class XmlMacro { + + @Text(required = false) + private String command; + + @Attribute(required = false) + private boolean active = false; + + @Attribute(required = false) + private MacroEol eol = MacroEol.LF; + + @Attribute(required = false) + private MacroIcon icon = MacroIcon.LEFT; + + /** + * Sets the command. + * @param command the command that will be sent to UART device + */ + public void setCommand(final String command) { + this.command = command; + } + + /** + * Sets whether the command is active. + * @param active true to make it active + */ + public void setActive(final boolean active) { + this.active = active; + } + + /** + * Sets the new line type. + * @param eol end of line terminator + */ + public void setEol(final int eol) { + this.eol = MacroEol.values()[eol]; + } + + /** + * Sets the icon index. + * @param index index of the icon. + */ + public void setIconIndex(final int index) { + this.icon = MacroIcon.values()[index]; + } + + /** + * Returns the command that will be sent to UART device. + * @return the command + */ + public String getCommand() { + return command; + } + + /** + * Returns whether the icon is active. + * @return true if it's active + */ + public boolean isActive() { + return active; + } + + /** + * Returns the new line type. + * @return end of line terminator + */ + public MacroEol getEol() { + return eol; + } + + /** + * Returns the icon index. + * @return the icon index + */ + public int getIconIndex() { + return icon.getIndex(); + } + /** + * Returns the EOL index. + * @return the EOL index + */ + public int getEolIndex() { + return eol.getIndex(); + } +} diff --git a/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.kt b/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.kt deleted file mode 100644 index 010c807c..00000000 --- a/profile_uart/src/main/java/no/nordicsemi/android/uart/db/XmlMacro.kt +++ /dev/null @@ -1,102 +0,0 @@ -/* - * Copyright (c) 2022, Nordic Semiconductor - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without modification, are - * permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this list of - * conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright notice, this list - * of conditions and the following disclaimer in the documentation and/or other materials - * provided with the distribution. - * - * 3. Neither the name of the copyright holder nor the names of its contributors may be - * used to endorse or promote products derived from this software without specific prior - * written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED - * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A - * PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT - * HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT - * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, - * OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY - * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, - * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package no.nordicsemi.android.uart.db - -import no.nordicsemi.android.uart.data.MacroEol -import no.nordicsemi.android.uart.data.MacroIcon -import org.simpleframework.xml.Attribute -import org.simpleframework.xml.Root -import org.simpleframework.xml.Text - -//import no.nordicsemi.android.uart.data.MacroEol; -//import no.nordicsemi.android.uart.data.MacroIcon; -@Root -class XmlMacro { - /** - * Returns the command that will be sent to UART device. - * @return the command - */ - /** - * Sets the command. - * @param command the command that will be sent to UART device - */ - @field:Text(required = false) - var command: String? = null - /** - * Returns whether the icon is active. - * @return true if it's active - */ - /** - * Sets whether the command is active. - * @param active true to make it active - */ - @field:Attribute(required = false) - var isActive = false - - /** - * Returns the new line type. - * @return end of line terminator - */ - @field:Attribute(required = false) - var eol = MacroEol.LF - private set - - @field:Attribute(required = false) - private var icon = MacroIcon.LEFT - - /** - * Sets the new line type. - * @param eol end of line terminator - */ - fun setEol(eol: Int) { - this.eol = MacroEol.values()[eol] - } - /** - * Returns the icon index. - * @return the icon index - */ - /** - * Sets the icon index. - * @param index index of the icon. - */ - var iconIndex: Int - get() = icon.index - set(index) { - icon = MacroIcon.values()[index] - } - - /** - * Returns the EOL index. - * @return the EOL index - */ - val eolIndex: Int - get() = eol.index -} \ No newline at end of file