From 833578b0e91c186e7b5e8c0471fe87803f2e6ee2 Mon Sep 17 00:00:00 2001 From: lsiepel Date: Sun, 19 Feb 2023 20:42:01 +0100 Subject: [PATCH] [upnpcontrol] Remove org.apache.common (#14439) Signed-off-by: lsiepel --- .../upnpcontrol/internal/queue/UpnpEntry.java | 4 +- .../internal/util/StringUtils.java | 57 +++++++++++++++++++ .../internal/util/UpnpXMLParser.java | 13 ++--- 3 files changed, 65 insertions(+), 9 deletions(-) create mode 100644 bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/StringUtils.java diff --git a/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntry.java b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntry.java index e3ff96c2738..2c25cd8a63b 100644 --- a/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntry.java +++ b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/queue/UpnpEntry.java @@ -18,9 +18,9 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; -import org.apache.commons.lang3.StringEscapeUtils; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; +import org.openhab.binding.upnpcontrol.internal.util.StringUtils; /** * @@ -178,7 +178,7 @@ public class UpnpEntry { * @return the URI for the album art. */ public String getAlbumArtUri() { - return StringEscapeUtils.unescapeXml(albumArtUri); + return StringUtils.unEscapeXml(albumArtUri); } /** diff --git a/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/StringUtils.java b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/StringUtils.java new file mode 100644 index 00000000000..2ebb8b8ebc8 --- /dev/null +++ b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/StringUtils.java @@ -0,0 +1,57 @@ +/** + * Copyright (c) 2010-2023 Contributors to the openHAB project + * + * See the NOTICE file(s) distributed with this work for additional + * information. + * + * This program and the accompanying materials are made available under the + * terms of the Eclipse Public License 2.0 which is available at + * http://www.eclipse.org/legal/epl-2.0 + * + * SPDX-License-Identifier: EPL-2.0 + */ +package org.openhab.binding.upnpcontrol.internal.util; + +/** + * The {@link StringUtils} class defines some static string utility methods + * + * @author Leo Siepel - Initial contribution + */ +public class StringUtils { + + /** + * Simple method to escape XML special characters in String. + * There are five XML Special characters which needs to be escaped : + * & - & + * < - < + * > - > + * " - " + * ' - ' + */ + public static String escapeXml(String xml) { + xml = xml.replaceAll("&", "&"); + xml = xml.replaceAll("<", "<"); + xml = xml.replaceAll(">", ">"); + xml = xml.replaceAll("\"", """); + xml = xml.replaceAll("'", "'"); + return xml; + } + + /** + * Simple method to un escape XML special characters in String. + * There are five XML Special characters which needs to be escaped : + * & - & + * < - < + * > - > + * " - " + * ' - ' + */ + public static String unEscapeXml(String xml) { + xml = xml.replaceAll("&", "&"); + xml = xml.replaceAll("<", "<"); + xml = xml.replaceAll(">", ">"); + xml = xml.replaceAll(""", "\""); + xml = xml.replaceAll("'", "'"); + return xml; + } +} diff --git a/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/UpnpXMLParser.java b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/UpnpXMLParser.java index 27b86add791..89983602f10 100644 --- a/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/UpnpXMLParser.java +++ b/bundles/org.openhab.binding.upnpcontrol/src/main/java/org/openhab/binding/upnpcontrol/internal/util/UpnpXMLParser.java @@ -25,7 +25,6 @@ import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; -import org.apache.commons.lang3.StringEscapeUtils; import org.eclipse.jdt.annotation.NonNullByDefault; import org.eclipse.jdt.annotation.Nullable; import org.openhab.binding.upnpcontrol.internal.queue.UpnpEntry; @@ -406,14 +405,14 @@ public class UpnpXMLParser { public static String compileMetadataString(UpnpEntry entry) { String id = entry.getId(); String parentId = entry.getParentId(); - String title = StringEscapeUtils.escapeXml(entry.getTitle()); + String title = StringUtils.escapeXml(entry.getTitle()); String upnpClass = entry.getUpnpClass(); - String album = StringEscapeUtils.escapeXml(entry.getAlbum()); + String album = StringUtils.escapeXml(entry.getAlbum()); String albumArtUri = entry.getAlbumArtUri(); - String creator = StringEscapeUtils.escapeXml(entry.getCreator()); - String artist = StringEscapeUtils.escapeXml(entry.getArtist()); - String publisher = StringEscapeUtils.escapeXml(entry.getPublisher()); - String genre = StringEscapeUtils.escapeXml(entry.getGenre()); + String creator = StringUtils.escapeXml(entry.getCreator()); + String artist = StringUtils.escapeXml(entry.getArtist()); + String publisher = StringUtils.escapeXml(entry.getPublisher()); + String genre = StringUtils.escapeXml(entry.getGenre()); Integer trackNumber = entry.getOriginalTrackNumber(); final MessageFormat messageFormat = new MessageFormat(METADATA_PATTERN);