diff --git a/.github/workflows/maven-install.yml b/.github/workflows/maven-install.yml new file mode 100644 index 0000000..edde7f2 --- /dev/null +++ b/.github/workflows/maven-install.yml @@ -0,0 +1,19 @@ +# General maven install to check everything compiles + +name: Maven Install + +on: push + +jobs: + build: + + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v1 + - name: Set up JDK 8 + uses: actions/setup-java@v1 + with: + java-version: 8.0.252 + - name: Build with Maven + run: mvn install diff --git a/.gitignore b/.gitignore index 762f6e9..8e7ef3e 100644 --- a/.gitignore +++ b/.gitignore @@ -7,3 +7,7 @@ /bin /target /java-xmlbuilder + +# ignore IDEA project/module files +/.idea/ +*.iml diff --git a/pom.xml b/pom.xml index 88d5285..e822e9b 100644 --- a/pom.xml +++ b/pom.xml @@ -35,14 +35,11 @@ - - - net.iharder - base64 - 2.3.8 - compile - + + 8 + + junit junit @@ -59,6 +56,16 @@ + + + org.apache.maven.plugins + maven-compiler-plugin + 3.8.1 + + ${java.version} + ${java.version} + + org.apache.maven.plugins diff --git a/src/main/java/com/jamesmurty/utils/BaseXMLBuilder.java b/src/main/java/com/jamesmurty/utils/BaseXMLBuilder.java index c9466f7..cb88356 100644 --- a/src/main/java/com/jamesmurty/utils/BaseXMLBuilder.java +++ b/src/main/java/com/jamesmurty/utils/BaseXMLBuilder.java @@ -22,6 +22,7 @@ import java.io.IOException; import java.io.StringWriter; import java.io.Writer; +import java.util.Base64; import java.util.Map.Entry; import java.util.Properties; @@ -42,8 +43,6 @@ import javax.xml.xpath.XPathExpressionException; import javax.xml.xpath.XPathFactory; -import net.iharder.Base64; - import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.Node; @@ -857,7 +856,7 @@ protected void cdataImpl(String data) { protected void cdataImpl(byte[] data) { xmlNode.appendChild( getDocument().createCDATASection( - Base64.encodeBytes(data))); + Base64.getEncoder().encodeToString(data))); } /** diff --git a/src/test/java/com/jamesmurty/utils/BaseXMLBuilderTests.java b/src/test/java/com/jamesmurty/utils/BaseXMLBuilderTests.java index ca8876f..2795281 100644 --- a/src/test/java/com/jamesmurty/utils/BaseXMLBuilderTests.java +++ b/src/test/java/com/jamesmurty/utils/BaseXMLBuilderTests.java @@ -4,15 +4,15 @@ import java.io.FileWriter; import java.io.StringReader; import java.io.StringWriter; +import java.nio.charset.StandardCharsets; +import java.util.Base64; import java.util.Properties; -import javax.annotation.Resource; import javax.xml.transform.OutputKeys; import javax.xml.xpath.XPathConstants; import javax.xml.xpath.XPathExpressionException; import junit.framework.TestCase; -import net.iharder.Base64; import org.w3c.dom.Node; import org.w3c.dom.NodeList; @@ -332,14 +332,14 @@ public void testImport() throws Exception { public void testCDataNodes() throws Exception { String text = "Text data -- left as it is"; String textForBytes = "Byte data is automatically base64-encoded"; - String textEncoded = Base64.encodeBytes(textForBytes.getBytes("UTF-8")); + String textEncoded = Base64.getEncoder().encodeToString(textForBytes.getBytes(StandardCharsets.UTF_8)); BaseXMLBuilder builder = XMLBuilder_create("TestCDataNodes") .elem("CDataTextElem") .cdata(text) .up() .elem("CDataBytesElem") - .cdata(textForBytes.getBytes("UTF-8")); + .cdata(textForBytes.getBytes(StandardCharsets.UTF_8)); Node cdataTextNode = builder.xpathFind("//CDataTextElem") .getElement().getChildNodes().item(0); @@ -350,7 +350,7 @@ public void testCDataNodes() throws Exception { .getElement().getChildNodes().item(0); assertEquals(Node.CDATA_SECTION_NODE, cdataBytesNode.getNodeType()); assertEquals(textEncoded, cdataBytesNode.getNodeValue()); - String base64Decoded = new String(Base64.decode(cdataBytesNode.getNodeValue())); + String base64Decoded = new String(Base64.getDecoder().decode(cdataBytesNode.getNodeValue())); assertEquals(textForBytes, base64Decoded); }