Alon Bar-Lev has uploaded a new change for review.

Change subject: compat: remove unsafe and unneeded Encoding class
......................................................................

compat: remove unsafe and unneeded Encoding class

Left over from legacy code.

Base64 usage is thread unsafe.

String usage is not required.

Change-Id: Ie7a540d9c69b55ce8431839c1164927024161d30
Signed-off-by: Alon Bar-Lev <alo...@redhat.com>
---
M backend/manager/modules/compat/pom.xml
D 
backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/Encoding.java
M 
backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlTextWriter.java
D 
backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/EncodingTest.java
M backend/manager/modules/engineencryptutils/pom.xml
M 
backend/manager/modules/engineencryptutils/src/main/java/org/ovirt/engine/core/engineencryptutils/EncryptionUtils.java
M backend/manager/modules/utils/pom.xml
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/Ticketing.java
M 
backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java
9 files changed, 23 insertions(+), 110 deletions(-)


  git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/31/11531/1

diff --git a/backend/manager/modules/compat/pom.xml 
b/backend/manager/modules/compat/pom.xml
index cbe0fde..406ebed 100644
--- a/backend/manager/modules/compat/pom.xml
+++ b/backend/manager/modules/compat/pom.xml
@@ -12,13 +12,6 @@
 
   <name>CSharp Compatibility</name>
 
-  <dependencies>
-    <dependency>
-      <groupId>commons-codec</groupId>
-      <artifactId>commons-codec</artifactId>
-    </dependency>
-  </dependencies>
-
   <build>
     <plugins>
       <plugin>
diff --git 
a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/Encoding.java
 
b/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/Encoding.java
deleted file mode 100644
index 480abf0..0000000
--- 
a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/Encoding.java
+++ /dev/null
@@ -1,47 +0,0 @@
-package org.ovirt.engine.core.compat;
-
-import java.nio.charset.Charset;
-
-import org.apache.commons.codec.binary.Base64;
-
-public enum Encoding {
-    ASCII("US-ASCII"),
-    UTF8("UTF-8"),
-    Unicode("UTF-16"),
-    Base64("Base64");
-
-    private Charset charset;
-    private Base64 codec;
-
-    private Encoding(String encoding) {
-        if ("Base64".equals(encoding)) {
-            codec = new Base64();
-        } else {
-            charset = Charset.forName(encoding);
-        }
-    }
-
-    public byte[] getBytes(String plainText) {
-        if (this != Base64) {
-            return plainText.getBytes(charset);
-        } else {
-            try {
-                return codec.decode(plainText.getBytes("US-ASCII"));
-            } catch (Exception e) {
-                throw new CompatException(e);
-            }
-        }
-    }
-
-    public String getString(byte[] decrypt) {
-        if (this != Base64) {
-            try {
-                return new String(decrypt, charset.displayName());
-            } catch (Exception e) {
-                throw new CompatException(e);
-            }
-        } else {
-            return new String(codec.encode(decrypt)).trim();
-        }
-    }
-}
diff --git 
a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlTextWriter.java
 
b/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlTextWriter.java
index 9e62815..d5ae4e0 100644
--- 
a/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlTextWriter.java
+++ 
b/backend/manager/modules/compat/src/main/java/org/ovirt/engine/core/compat/backendcompat/XmlTextWriter.java
@@ -8,8 +8,6 @@
 import javax.xml.stream.XMLStreamException;
 import javax.xml.stream.XMLStreamWriter;
 
-import org.ovirt.engine.core.compat.Encoding;
-
 public class XmlTextWriter {
 
     public Object Formatting;
@@ -17,7 +15,7 @@
 
     XMLStreamWriter writer;
 
-    public XmlTextWriter(String name, Encoding utf8) {
+    public XmlTextWriter(String name) {
         try {
             XMLOutputFactory factory = XMLOutputFactory.newInstance();
             writer = factory.createXMLStreamWriter(new FileOutputStream(name), 
"UTF-8");
diff --git 
a/backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/EncodingTest.java
 
b/backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/EncodingTest.java
deleted file mode 100644
index f7cb2a9..0000000
--- 
a/backend/manager/modules/compat/src/test/java/org/ovirt/engine/core/compat/EncodingTest.java
+++ /dev/null
@@ -1,40 +0,0 @@
-package org.ovirt.engine.core.compat;
-
-import java.io.UnsupportedEncodingException;
-
-import junit.framework.TestCase;
-
-public class EncodingTest extends TestCase {
-    public void testAscii() {
-        Encoding enc = Encoding.ASCII;
-        final String source = "8278473247 237429 3i21h31uyt4 3 \t \n";
-        byte[] bytes = enc.getBytes(source);
-        assertEquals(source, enc.getString(bytes));
-    }
-
-    public void testUTF8() {
-        Encoding enc = Encoding.UTF8;
-        final String source = "8278473247 237429 3i21h31uyt4 3 \t \n";
-        byte[] bytes = enc.getBytes(source);
-        assertEquals(source, enc.getString(bytes));
-    }
-
-    public void testBothWithBytes() {
-        Encoding enc = Encoding.Base64;
-        final String source = "dlkjslfjds reiwur 3\t \n dskjlfsjd lkjs lkfj";
-        String base64String = enc.getString(source.getBytes());
-        assertEquals(source, new String(enc.getBytes(base64String)));
-    }
-
-    public void testFrom64() {
-        Encoding enc = Encoding.Base64;
-        assertEquals("My name is Jar Jar Binks.",
-                new 
String(enc.getBytes("TXkgbmFtZSBpcyBKYXIgSmFyIEJpbmtzLg==")));
-    }
-
-    public void testTo64() throws UnsupportedEncodingException {
-        Encoding enc = Encoding.Base64;
-        final byte[] byteArray = "My name is Jar Jar Binks.".getBytes();
-        assertEquals("TXkgbmFtZSBpcyBKYXIgSmFyIEJpbmtzLg==", 
enc.getString(byteArray));
-    }
-}
diff --git a/backend/manager/modules/engineencryptutils/pom.xml 
b/backend/manager/modules/engineencryptutils/pom.xml
index 20b7821..27d5a86 100644
--- a/backend/manager/modules/engineencryptutils/pom.xml
+++ b/backend/manager/modules/engineencryptutils/pom.xml
@@ -14,6 +14,10 @@
 
   <dependencies>
     <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+    </dependency>
+    <dependency>
       <groupId>${engine.groupId}</groupId>
       <artifactId>compat</artifactId>
       <version>${engine.version}</version>
diff --git 
a/backend/manager/modules/engineencryptutils/src/main/java/org/ovirt/engine/core/engineencryptutils/EncryptionUtils.java
 
b/backend/manager/modules/engineencryptutils/src/main/java/org/ovirt/engine/core/engineencryptutils/EncryptionUtils.java
index 6cf8d10..f0b83d1 100644
--- 
a/backend/manager/modules/engineencryptutils/src/main/java/org/ovirt/engine/core/engineencryptutils/EncryptionUtils.java
+++ 
b/backend/manager/modules/engineencryptutils/src/main/java/org/ovirt/engine/core/engineencryptutils/EncryptionUtils.java
@@ -4,6 +4,7 @@
 import java.io.FileInputStream;
 import java.io.IOException;
 import java.io.InputStream;
+import java.io.UnsupportedEncodingException;
 import java.math.BigInteger;
 import java.security.GeneralSecurityException;
 import java.security.InvalidKeyException;
@@ -19,9 +20,9 @@
 import javax.crypto.NoSuchPaddingException;
 import javax.crypto.spec.SecretKeySpec;
 
+import org.apache.commons.codec.binary.Base64;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
-import org.ovirt.engine.core.compat.Encoding;
 import org.ovirt.engine.core.compat.RefObject;
 import org.ovirt.engine.core.compat.StringHelper;
 
@@ -39,13 +40,13 @@
      *            The cert.
      * @return base64 encoded result.
      */
-    private static String encrypt(String source, Certificate cert) throws 
GeneralSecurityException {
+    private static String encrypt(String source, Certificate cert) throws 
GeneralSecurityException, UnsupportedEncodingException {
         String result = null;
-        byte[] cipherbytes = Encoding.UTF8.getBytes(source.trim());
+        byte[] cipherbytes = source.trim().getBytes("UTF-8");
         Cipher rsa = Cipher.getInstance(algo);
         rsa.init(Cipher.ENCRYPT_MODE, cert.getPublicKey());
         byte[] cipher = rsa.doFinal(cipherbytes);
-        result = Encoding.Base64.getString(cipher);
+        result = Base64.encodeBase64String(cipher);
         return result;
     }
 
@@ -65,13 +66,13 @@
         String result = "";
         try {
             {
-                byte[] cipherbytes = Encoding.Base64.getBytes(source);
+                byte[] cipherbytes = Base64.decodeBase64(source);
                 {
                     Cipher rsa = Cipher.getInstance(algo);
                     rsa.init(Cipher.DECRYPT_MODE, key);
                     {
                         byte[] plainbytes = rsa.doFinal(cipherbytes);
-                        result = Encoding.ASCII.getString(plainbytes);
+                        result = new String(plainbytes, "US-ASCII");
                     }
                 }
             }
@@ -149,13 +150,13 @@
     }
 
     private static String decrypt(String source, Key key) throws 
NoSuchAlgorithmException, NoSuchPaddingException,
-            InvalidKeyException, IllegalBlockSizeException, 
BadPaddingException {
+            InvalidKeyException, IllegalBlockSizeException, 
BadPaddingException, UnsupportedEncodingException {
         String result = "";
-        byte[] cipherbytes = Encoding.Base64.getBytes(source);
+        byte[] cipherbytes = Base64.decodeBase64(source);
         Cipher rsa = Cipher.getInstance(algo);
         rsa.init(Cipher.DECRYPT_MODE, key);
         byte[] plainbytes = rsa.doFinal(cipherbytes);
-        result = Encoding.UTF8.getString(plainbytes);
+        result = new String(plainbytes, "UTF-8");
         return result;
     }
 
diff --git a/backend/manager/modules/utils/pom.xml 
b/backend/manager/modules/utils/pom.xml
index 7509de3..014f0d6 100644
--- a/backend/manager/modules/utils/pom.xml
+++ b/backend/manager/modules/utils/pom.xml
@@ -93,6 +93,11 @@
     </dependency>
 
     <dependency>
+      <groupId>commons-codec</groupId>
+      <artifactId>commons-codec</artifactId>
+    </dependency>
+
+    <dependency>
       <groupId>org.apache.xmlrpc</groupId>
       <artifactId>xmlrpc-client</artifactId>
     </dependency>
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/Ticketing.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/Ticketing.java
index 4742c99..d9a1ca2 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/Ticketing.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/Ticketing.java
@@ -2,7 +2,7 @@
 
 import java.security.SecureRandom;
 
-import org.ovirt.engine.core.compat.Encoding;
+import org.apache.commons.codec.binary.Base64;
 
 public final class Ticketing {
     public static String GenerateOTP() {
@@ -10,6 +10,6 @@
         byte[] arrRandom = new byte[9];
         secr.nextBytes(arrRandom);
         // encode password into Base64 text:
-        return Encoding.Base64.getString(arrRandom);
+        return Base64.encodeBase64String(arrRandom);
     }
 }
diff --git 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java
 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java
index 1442b02..e30e0d1 100644
--- 
a/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java
+++ 
b/backend/manager/modules/utils/src/main/java/org/ovirt/engine/core/utils/ovf/OvfWriter.java
@@ -15,7 +15,6 @@
 import org.ovirt.engine.core.common.config.ConfigValues;
 import org.ovirt.engine.core.common.utils.VmDeviceCommonUtils;
 import org.ovirt.engine.core.common.utils.VmDeviceType;
-import org.ovirt.engine.core.compat.Encoding;
 import org.ovirt.engine.core.compat.Formatting;
 import org.ovirt.engine.core.compat.Guid;
 import org.ovirt.engine.core.compat.StringHelper;
@@ -36,7 +35,7 @@
         _fileName = Path.GetTempFileName();
         _document = document;
         _images = images;
-        _writer = new XmlTextWriter(_fileName, Encoding.UTF8);
+        _writer = new XmlTextWriter(_fileName);
         this.vmBase = vmBase;
         WriteHeader();
     }


--
To view, visit http://gerrit.ovirt.org/11531
To unsubscribe, visit http://gerrit.ovirt.org/settings

Gerrit-MessageType: newchange
Gerrit-Change-Id: Ie7a540d9c69b55ce8431839c1164927024161d30
Gerrit-PatchSet: 1
Gerrit-Project: ovirt-engine
Gerrit-Branch: engine_3.2
Gerrit-Owner: Alon Bar-Lev <alo...@redhat.com>
_______________________________________________
Engine-patches mailing list
Engine-patches@ovirt.org
http://lists.ovirt.org/mailman/listinfo/engine-patches

Reply via email to