Przeglądaj źródła

* wyłączenie testu, xml używa FileHelper, dodano collection.map.CompositeKey

Ranides Atterwim 13 lat temu
rodzic
commit
138a555ace

+ 1 - 1
pom.xml

@@ -4,7 +4,7 @@
 
     <groupId>net.ranides</groupId>
     <artifactId>assira</artifactId>
-    <version>0.47</version>
+    <version>0.48</version>
     <packaging>jar</packaging>
 
     <name>assira</name>

+ 34 - 0
src/main/java/net/ranides/assira/collection/map/CompositeKey.java

@@ -0,0 +1,34 @@
+/*
+ * @author Ranides Atterwim <ranides@gmail.com>
+ * @copyright Ranides Atterwim
+ * @license WTFPL
+ * @url http://ranides.net/projects/assira
+ */
+package net.ranides.assira.collection.map;
+
+import java.util.Arrays;
+import net.ranides.assira.collection.ArrayUtils;
+
+/**
+ *
+ * @author ranides
+ */
+public class CompositeKey {
+    
+    private final Object[] keys;
+
+    public CompositeKey(Object... keys) {
+        this.keys = ArrayUtils.arraycopy(keys);
+    }
+
+    @Override
+    public boolean equals(Object value) {
+        return (value instanceof CompositeKey) && Arrays.equals(keys, ((CompositeKey) value).keys);
+    }
+
+    @Override
+    public int hashCode() {
+        return Arrays.deepHashCode(this.keys);
+    }
+
+}

+ 7 - 14
src/main/java/net/ranides/assira/xml/XMLTransform.java

@@ -15,6 +15,7 @@ import javax.xml.transform.TransformerException;
 import javax.xml.transform.TransformerFactory;
 import javax.xml.transform.dom.DOMSource;
 import javax.xml.transform.stream.StreamResult;
+import net.ranides.assira.io.FileHelper;
 import org.w3c.dom.Document;
 import org.w3c.dom.Node;
 import org.xml.sax.InputSource;
@@ -89,7 +90,7 @@ public final class XMLTransform {
         try {
             Transformer transformer = TransformerFactory.newInstance().newTransformer();
             transformer.transform(new DOMSource(doc), stream);
-        return stream;
+            return stream;
         } catch (TransformerException cause) {
             throw new IllegalArgumentException(cause);
         }
@@ -102,12 +103,8 @@ public final class XMLTransform {
      * @throws IllegalArgumentException jeśli konwersja niemożliwa
      */
     public static void source(OutputStream stream, Node doc) {
-        try {
-            source(new StreamResult(stream), doc);
-            stream.close();
-        } catch (IOException cause) {
-            throw new IllegalArgumentException(cause);
-        }
+        source(new StreamResult(stream), doc);
+        FileHelper.close(stream);
     }
 
     /**
@@ -117,12 +114,8 @@ public final class XMLTransform {
      * @throws IllegalArgumentException jeśli konwersja niemożliwa
      */
     public static void source(Writer writer, Node doc) {
-        try {
-            source(new StreamResult(writer), doc);
-            writer.close();
-        } catch (IOException cause) {
-            throw new IllegalArgumentException(cause);
-        }
+        source(new StreamResult(writer), doc);
+        FileHelper.close(writer);
     }
 
     /**
@@ -146,5 +139,5 @@ public final class XMLTransform {
         source(new StreamResult(writer), doc);
         return writer.toString();
     }
-
+    
 }

+ 2 - 0
src/test/java/net/ranides/assira/asm/AsmifierTest.java

@@ -13,6 +13,7 @@ import net.ranides.assira.collection.ArrayUtils;
 import net.ranides.assira.trace.LoggerUtils;
 import org.junit.Test;
 import static org.junit.Assert.*;
+import org.junit.Ignore;
 
 /**
  *
@@ -25,6 +26,7 @@ public class AsmifierTest {
 
     @Test
     @SuppressWarnings("DM_DEFAULT_ENCODING")
+    @Ignore
     public void testTreeMap() throws IOException {
         LoggerUtils.dump("\n\n\n\n\n\n\n\n");