Initial load
diff --git a/test/java/beans/XMLDecoder/4676532/Test4676532.java b/test/java/beans/XMLDecoder/4676532/Test4676532.java
new file mode 100644
index 0000000..9263c2a
--- /dev/null
+++ b/test/java/beans/XMLDecoder/4676532/Test4676532.java
@@ -0,0 +1,87 @@
+/*
+ * Copyright 2003-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 4676532
+ * @summary Tests XMLDecoder.setClassLoader()
+ * @author Mark Davidson
+ */
+
+import java.beans.ExceptionListener;
+import java.beans.XMLDecoder;
+import java.io.ByteArrayInputStream;
+import java.io.File;
+import java.io.InputStream;
+import java.net.URL;
+import java.net.URLClassLoader;
+
+/**
+ * Tests the XMLDecoder with an alternative classloader.
+ * Specicifically, the URLClassLoader.
+ * The test.jar file should be in the same directory as the classes.
+ * The Encode class will create the test.xml test file.
+ */
+public class Test4676532 {
+    private static final String DATA
+            = "<java>\n"
+            + " <object class=\"test.Test\">\n"
+            + "  <void property=\"message\">\n"
+            + "   <string>Hello, world</string>\n"
+            + "  </void>\n"
+            + " </object>\n"
+            + "</java> ";
+
+    public static void main(String[] args) throws Exception {
+        StringBuilder sb = new StringBuilder(256);
+        sb.append("file:");
+        sb.append(System.getProperty("test.src", "."));
+        sb.append(File.separatorChar);
+        sb.append("test.jar");
+
+        URL[] url = {new URL(sb.toString())};
+        URLClassLoader cl = new URLClassLoader(url);
+
+        Class type = cl.loadClass("test.Test");
+        if (type == null) {
+            throw new Error("could not find class test.Test");
+        }
+
+
+        InputStream stream = new ByteArrayInputStream(DATA.getBytes());
+
+        ExceptionListener el = new ExceptionListener() {
+            public void exceptionThrown(Exception exception) {
+                throw new Error("unexpected exception", exception);
+            }
+        };
+
+        XMLDecoder decoder = new XMLDecoder(stream, null, el, cl);
+        Object object = decoder.readObject();
+        decoder.close();
+
+        if (!type.equals(object.getClass())) {
+            throw new Error("unexpected " + object.getClass());
+        }
+    }
+}
diff --git a/test/java/beans/XMLDecoder/4676532/test.jar b/test/java/beans/XMLDecoder/4676532/test.jar
new file mode 100644
index 0000000..7516a33
--- /dev/null
+++ b/test/java/beans/XMLDecoder/4676532/test.jar
Binary files differ
diff --git a/test/java/beans/XMLDecoder/Test6338070.java b/test/java/beans/XMLDecoder/Test6338070.java
new file mode 100644
index 0000000..1f1c04b
--- /dev/null
+++ b/test/java/beans/XMLDecoder/Test6338070.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2005-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6338070
+ * @summary Tests that parsing is performed even if readObject() is not called
+ * @author Sergey Malenkov
+ */
+
+import java.beans.XMLDecoder;
+
+import java.io.ByteArrayInputStream;
+import java.io.InputStream;
+
+public class Test6338070 {
+    private static final String DATA
+            = "<java>\n"
+            + " <void property=\"owner\">\n"
+            + "  <void method=\"init\">\n"
+            + "   <string>Hello, world</string>\n"
+            + "  </void>\n"
+            + " </void>\n"
+            + "</java> ";
+
+    public static void main(String[] args) {
+        Test6338070 test = new Test6338070();
+        InputStream stream = new ByteArrayInputStream(DATA.getBytes());
+        new XMLDecoder(stream, test).close();
+        if (test.message == null) {
+            throw new Error("owner's method is not called");
+        }
+    }
+
+    private String message;
+
+    public void init(String message) {
+        this.message = message;
+    }
+}
diff --git a/test/java/beans/XMLDecoder/Test6341798.java b/test/java/beans/XMLDecoder/Test6341798.java
new file mode 100644
index 0000000..2bc43e8
--- /dev/null
+++ b/test/java/beans/XMLDecoder/Test6341798.java
@@ -0,0 +1,81 @@
+/*
+ * Copyright 2005-2007 Sun Microsystems, Inc.  All Rights Reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ */
+
+/*
+ * @test
+ * @bug 6341798
+ * @summary Tests name generation for turkish locale
+ * @author Sergey Malenkov
+ */
+
+import java.beans.XMLDecoder;
+import java.io.ByteArrayInputStream;
+import java.util.Locale;
+
+import static java.util.Locale.ENGLISH;
+
+public class Test6341798 {
+    private static final Locale TURKISH = new Locale("tr");
+
+    private static final String DATA
+            = "<java>\n"
+            + " <object class=\"TestTurkishLocale$DataBean\">\n"
+            + "  <void property=\"illegal\">\n"
+            + "   <boolean>true</boolean>\n"
+            + "  </void>\n"
+            + " </object>\n"
+            + "</java> ";
+
+    public static void main(String[] args) {
+        test(ENGLISH, DATA.getBytes());
+        test(TURKISH, DATA.getBytes());
+    }
+
+    private static void test(Locale locale, byte[] data) {
+        Locale.setDefault(locale);
+        System.out.println("locale = " + locale);
+
+        XMLDecoder decoder = new XMLDecoder(new ByteArrayInputStream(data));
+        System.out.println("object = " + decoder.readObject());
+        decoder.close();
+    }
+
+    public static class DataBean {
+        private boolean illegal;
+
+        public boolean isIllegal() {
+            return this.illegal;
+        }
+
+        public void setIllegal(boolean illegal) {
+            this.illegal = illegal;
+        }
+
+        public String toString() {
+            if (this.illegal) {
+                return "property is set";
+            }
+            throw new Error("property is not set");
+        }
+    }
+}