You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by to...@apache.org on 2008/03/04 09:02:45 UTC

svn commit: r633384 [3/15] - in /harmony/enhanced/classlib/branches/java6: depends/build/platform/ depends/files/ depends/files/bcprov/ doc/ doc/classlib/ make/ make/linux.ia64/ make/linux.ppc32/ make/linux.ppc64/ make/linux.x86.libstdc++6/ make/linux....

Modified: harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/javax/security/auth/kerberos/KerberosKey.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/javax/security/auth/kerberos/KerberosKey.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/javax/security/auth/kerberos/KerberosKey.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/auth/src/main/java/common/javax/security/auth/kerberos/KerberosKey.java Tue Mar  4 00:02:13 2008
@@ -24,7 +24,7 @@
 import org.apache.harmony.auth.internal.nls.Messages;
 
 /**
- * @see http://www.ietf.org/rfc/rfc3961.txt
+ * See <a href="http://www.ietf.org/rfc/rfc3961.txt">RFC3961</a>
  */
 public class KerberosKey implements SecretKey, Destroyable {
 

Modified: harmony/enhanced/classlib/branches/java6/modules/awt/.classpath
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/awt/.classpath?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/awt/.classpath (original)
+++ harmony/enhanced/classlib/branches/java6/modules/awt/.classpath Tue Mar  4 00:02:13 2008
@@ -1,12 +1,14 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <classpath>
-	<classpathentry output="bin/main/common" kind="src" path="src/main/java/common"/>
-	<classpathentry output="bin/main/windows" kind="src" path="src/main/java/windows"/>
-	<classpathentry output="bin/main/linux" kind="src" path="src/main/java/unix"/>
-	<classpathentry output="bin/test/common" kind="src" path="src/test/api/java/common"/>
-	<classpathentry output="bin/test/windows" kind="src" path="src/test/api/java/windows"/>	
-	<classpathentry output="bin/test/linux" kind="src" path="src/test/api/java/unix"/>		
+	<classpathentry kind="src" output="bin/main/common" path="src/main/java/common"/>
+	<classpathentry kind="src" output="bin/test/api" path="src/test/api/java"/>
+	<classpathentry kind="src" output="bin/test/unix" path="src/test/impl/unix"/>
+	<classpathentry kind="src" output="bin/test/windows" path="src/test/impl/windows"/>
+	<classpathentry kind="src" output="bin/test/boot" path="src/test/impl/boot"/>
+	<classpathentry kind="src" output="bin/main/windows" path="src/main/java/windows"/>
+	<classpathentry kind="src" output="bin/main/linux" path="src/main/java/unix"/>
+	<classpathentry exported="true" kind="lib" path="src/test/api/resources"/>
 	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
-	<classpathentry sourcepath="JUNIT_SRC_HOME/junitsrc.zip" kind="var" path="JUNIT_HOME/junit.jar"/>
+	<classpathentry kind="var" path="JUNIT_HOME/junit.jar" sourcepath="JUNIT_SRC_HOME/junitsrc.zip"/>
 	<classpathentry kind="output" path="bin/main/common"/>
 </classpath>

Modified: harmony/enhanced/classlib/branches/java6/modules/awt/build.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/awt/build.xml?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/awt/build.xml (original)
+++ harmony/enhanced/classlib/branches/java6/modules/awt/build.xml Tue Mar  4 00:02:13 2008
@@ -29,8 +29,8 @@
     <property name="hy.awt.src.main.java.platform"
               value="${hy.awt.src.main.java}/../${hy.os.family}" />
 
-    <property name="hy.awt.src.test.api.java.platform"
-              value="${hy.awt.src.test.api}/java/${hy.os.family}" />
+    <property name="hy.awt.src.test.impl.platform"
+              value="${hy.awt.src.test.impl}/${hy.os.family}" />
 
     <fileset id="classes" dir="${hy.build}">
         <or>
@@ -109,11 +109,6 @@
 
     <target name="copy-resources" depends="-copy-win-resources">
         <mkdir dir="${hy.build}" />
-        <copy todir="${hy.build}" includeemptydirs="false">
-            <fileset dir="${hy.awt.src.main.java}">
-                <exclude name="**/*.java" />
-            </fileset>
-        </copy>
 
         <mkdir dir="${hy.jdk}/jre/lib/cmm" />
         <copy todir="${hy.jdk}/jre/lib/cmm">
@@ -317,9 +312,31 @@
     <target name="compile-tests" depends="copy-test-resources">
         <echo message="Compiling AWT tests" />
 
-        <mkdir dir="${hy.awt.bin.test}" />
+        <mkdir dir="${hy.awt.bin.test.boot}" />
+        <javac destdir="${hy.awt.bin.test.boot}"
+               sourcepath=""
+               compiler="${hy.javac.compiler}"
+               memoryMaximumSize="${hy.javac.maxmem}"
+               source="${hy.javac.source}" 
+               target="${hy.javac.target}"
+               debug="${hy.javac.debug}">
+
+            <compilerarg line="${build.compilerarg}" />
 
-        <javac destdir="${hy.awt.bin.test}"
+            <src>
+                <pathelement location="${hy.awt.src.test.impl.boot}" />
+            </src>
+               
+            <bootclasspath>
+                <fileset dir="${hy.jdk}/jre/lib/boot">
+                    <include name="**/*.jar" />
+                </fileset>
+            </bootclasspath>
+            <classpath location="${basedir}/../../${junit.jar}" />
+        </javac>
+
+        <mkdir dir="${hy.awt.bin.test.classes}" />
+        <javac destdir="${hy.awt.bin.test.classes}"
                sourcepath=""
                compiler="${hy.javac.compiler}"
                memoryMaximumSize="${hy.javac.maxmem}"
@@ -330,8 +347,8 @@
             <compilerarg line="${build.compilerarg}" />
 
             <src>
-                <pathelement location="${hy.awt.src.test.api}/java/common" />
-                <pathelement location="${hy.awt.src.test.api.java.platform}" />
+                <pathelement location="${hy.awt.src.test.api.java}" />
+                <pathelement location="${hy.awt.src.test.impl.platform}" />
             </src>
                
             <bootclasspath>
@@ -339,36 +356,15 @@
                     <include name="**/*.jar" />
                 </fileset>
             </bootclasspath>
-            <classpath location="../../build/tests" />
+            <classpath location="${basedir}/../../${junit.jar}" />
         </javac>
-        <!--mkdir dir="${hy.awt.src.test.api}/java/common/java/awt/geom/shapes" />
-        <copy todir="${hy.awt.bin.test}/java/awt/geom/shapes" overwrite="yes">
-            <fileset dir="${hy.awt.src.test.api}/java/common/java/awt/geom/shapes" />
-        </copy>
-        <mkdir dir="${hy.awt.src.test.api}/java/common/java/awt/geom/serialization" />
-        <copy todir="${hy.awt.bin.test}/java/awt/geom/serialization" overwrite="yes">
-            <fileset dir="${hy.awt.src.test.api}/java/common/java/awt/geom/serialization" />
-        </copy>
-        <mkdir dir="${hy.awt.src.test.api}/java/common/java/awt/shapes" />
-        <copy todir="${hy.awt.bin.test}/java/awt/shapes" overwrite="yes">
-            <fileset dir="${hy.awt.src.test.api}/java/common/java/awt/shapes" />
-        </copy>
-        <mkdir dir="${hy.awt.src.test.api}/java/common/java/java/serialization" />
-        <copy todir="${hy.awt.bin.test}/java/awt/serialization" overwrite="yes">
-            <fileset dir="${hy.awt.src.test.api}/java/common/java/awt/serialization" />
-        </copy>    
-        <mkdir dir="${hy.awt.src.test.api}/java/common/org/apache/harmony/awt/gl/resources" />
-        <copy todir="${hy.awt.bin.test}/org/apache/harmony/awt/gl/resources" overwrite="yes">
-            <fileset dir="${hy.awt.src.test.api}/java/common/org/apache/harmony/awt/gl/resources" />
-        </copy-->    
+
     </target>
 
     <target name="copy-test-resources">
-        <mkdir dir="${hy.awt.bin.test}" />
-        <copy todir="${hy.awt.bin.test}" includeemptydirs="false">
-            <fileset dir="${hy.awt.src.test.resources}">
-                <exclude name="**/*.java" />
-            </fileset>
+        <mkdir dir="${hy.awt.bin.test.resources}" />
+        <copy todir="${hy.awt.bin.test.resources}" includeemptydirs="false">
+            <fileset dir="${hy.awt.src.test.api.resources}" />
         </copy>
     </target>
 
@@ -378,11 +374,10 @@
     </target>
 
     <target name="run-tests">
-
         <mkdir dir="${hy.tests.reports}" />
-
         <property name="test.jre.home" value="${hy.jdk}/jre" />
 
+        <!-- bootclasspath tests -->
         <junit fork="yes"
                forkmode="${hy.test.forkmode}"
                timeout="${hy.test.timeout}"
@@ -394,36 +389,53 @@
                jvm="${test.jre.home}/bin/java">
 
             <jvmarg line="${hy.test.vmargs}" />
-
-            <jvmarg value="-DTEST_SRC_DIR=${hy.awt.bin.test}"/>
-<!--            <jvmarg value="-Djava2d.opengl=true"/> -->
-            <jvmarg value="-Xbootclasspath/a:${hy.awt.bin.test}${path.separator}${basedir}/../../${junit.jar}"/>
+            <jvmarg value="-Xbootclasspath/a:${hy.awt.bin.test.boot}${path.separator}${basedir}/../../${junit.jar}"/>
 
             <formatter type="xml" />
 
-            <batchtest todir="${hy.tests.reports}" haltonfailure="no" >
-
-                <!-- if ${test.case} -->
-                <fileset dir="${hy.awt.src.test.api}/java/common">
+            <batchtest todir="${hy.tests.reports}" haltonfailure="no">
+                <fileset dir="${hy.awt.src.test.impl.boot}">
                     <include name="${converted.tc}" if="test.case" />
+                    <include name="**/*Test.java" unless="test.case" />
+                    <excludesfile name="${awt.exclude.file}" unless="test.case" />
+                    <exclude name="**/*Headless*Test.java" />
                 </fileset>
-                <fileset dir="${hy.awt.src.test.api.java.platform}">
+            </batchtest>
+        </junit>
+
+        <!-- classpath tests -->
+        <junit fork="yes"
+               forkmode="${hy.test.forkmode}"
+               timeout="${hy.test.timeout}"
+               printsummary="withOutAndErr"
+               errorproperty="test.errors"
+               failureproperty="test.failures"
+               showoutput="on"
+               dir="${basedir}"
+               jvm="${test.jre.home}/bin/java">
+
+            <jvmarg line="${hy.test.vmargs}" />
+            <classpath location="${hy.awt.bin.test.classes}" />
+
+            <formatter type="xml" />
+
+            <batchtest todir="${hy.tests.reports}">
+                <fileset dir="${hy.awt.src.test.api.java}">
                     <include name="${converted.tc}" if="test.case" />
-                </fileset>
-                <!-- unless ${test.case} -->
-                <fileset dir="${hy.awt.src.test.api}/java/common">
                     <include name="**/*Test.java" unless="test.case" />
+                    <exclude name="**/*Headless*Test.java" unless="test.case" />
                     <excludesfile name="${awt.exclude.file}" unless="test.case"/>
-                    <exclude name="**/*Headless*Test.java"/>
                 </fileset>
-                <fileset dir="${hy.awt.src.test.api.java.platform}">
+                <fileset dir="${hy.awt.src.test.impl.platform}">
+                    <include name="${converted.tc}" if="test.case" />
                     <include name="**/*Test.java" unless="test.case" />
+                    <exclude name="**/*Headless*Test.java" unless="test.case" />
                     <excludesfile name="${awt.exclude.file}" unless="test.case"/>
-                    <exclude name="**/*Headless*Test.java"/>
                 </fileset>
             </batchtest>  
         </junit>
 
+        <!-- headless tests, should be moved to classpath -->
         <junit fork="yes"
                forkmode="${hy.test.forkmode}"
                timeout="${hy.test.timeout}"
@@ -435,20 +447,19 @@
                jvm="${test.jre.home}/bin/java">
 
             <jvmarg line="${hy.test.vmargs}" />
-
-            <jvmarg value="-DTEST_SRC_DIR=${hy.awt.bin.test}"/>
             <jvmarg value="-Djava.awt.headless=true"/>
-            <jvmarg value="-Xbootclasspath/a:${hy.awt.bin.test}${path.separator}${basedir}/../../${junit.jar}"/>
+            <jvmarg value="-Xbootclasspath/a:${hy.awt.bin.test.boot}${path.separator}${basedir}/../../${junit.jar}"/>
 
             <formatter type="xml" />
 
             <batchtest todir="${hy.tests.reports}" haltonfailure="no" >
-
-                <fileset dir="${hy.awt.src.test.api}/java/common">
+                <fileset dir="${hy.awt.src.test.impl.boot}">
+                    <include name="${converted.tc}" if="test.case" />
                     <include name="**/*Headless*Test.java" unless="test.case" />
                     <excludesfile name="${awt.exclude.file}" unless="test.case"/>
                 </fileset>
-                <fileset dir="${hy.awt.src.test.api.java.platform}">
+                <fileset dir="${hy.awt.src.test.impl.platform}">
+                    <include name="${converted.tc}" if="test.case" />
                     <include name="**/*Headless*Test.java" unless="test.case" />
                     <excludesfile name="${awt.exclude.file}" unless="test.case"/>
                 </fileset>

Modified: harmony/enhanced/classlib/branches/java6/modules/awt/make/hyproperties.xml
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/awt/make/hyproperties.xml?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/awt/make/hyproperties.xml (original)
+++ harmony/enhanced/classlib/branches/java6/modules/awt/make/hyproperties.xml Tue Mar  4 00:02:13 2008
@@ -17,32 +17,42 @@
 -->
 
 <hy>
-   <awt location=".">
-      <src>
-         <main>
-            <java location="src/main/java/common" />
-            <native location="src/main/native" />
-            <resources location="src/main/resources" />
-         </main>
-         <test>
-            <api location="src/test/api" />
-            <resources location="src/test/api/resources" />
-         </test>
-         <natives location="src/natives" />
-      </src>
-      <bin>
-        <main location="bin/main" />
-        <test location="bin/test" />
-      </bin>
-      <packaging>
-      </packaging>
-   </awt>
-
-   <hdk location="../../deploy" />
-   <jdk location="../../deploy/jdk" />
-   <build location="../../build/classes" />
-
-   <tests>
-      <reports location="../../build/test_report" />
-   </tests>
+    <awt location=".">
+        <src>
+            <main>
+                <java location="src/main/java/common"/>
+                <native location="src/main/native"/>
+                <resources location="src/main/resources"/>
+            </main>
+            <test>
+                <api>
+                    <java location="src/test/api/java"/>
+                    <resources location="src/test/api/resources"/>
+                </api>
+                <impl location="src/test/impl">
+                    <boot location="src/test/impl/boot"/>
+                    <resources location="src/test/impl/resources"/>
+                    <native location="src/test/impl/native"/>
+                </impl>
+            </test>
+        </src>
+        <bin>
+            <main location="bin/main"/>
+            <test>
+                <resources location="bin/test/resources"/>
+                <classes location="bin/test/classes"/>
+                <boot location="bin/test/boot"/>
+            </test>
+        </bin>
+        <packaging>
+        </packaging>
+    </awt>
+    
+    <hdk location="../../deploy"/>
+    <jdk location="../../deploy/jdk"/>
+    <build location="../../build/classes"/>
+    
+    <tests>
+        <reports location="../../build/test_report"/>
+    </tests>
 </hy>

Modified: harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/java/awt/Component.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/java/awt/Component.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/java/awt/Component.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/java/awt/Component.java Tue Mar  4 00:02:13 2008
@@ -3695,7 +3695,7 @@
     }
 
     private void processPaintEvent(PaintEvent event) {
-        if (redrawManager == null) {
+        if (redrawManager == null || getIgnoreRepaint()) {
             return;
         }
         Rectangle clipRect = event.getUpdateRect();
@@ -3706,13 +3706,13 @@
         if (g == null) {
             return;
         }
-        if (!getIgnoreRepaint()) {
-            if (event.getID() == PaintEvent.PAINT) {
-                initGraphics(g, event);
-                paint(g);
-            } else {
-                update(g);
-            }
+
+        initGraphics(g, event);
+
+        if (event.getID() == PaintEvent.PAINT) {
+            paint(g);
+        } else {
+            update(g);
         }
         g.dispose();
     }

Modified: harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/GifDecoder.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/GifDecoder.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/GifDecoder.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/GifDecoder.java Tue Mar  4 00:02:13 2008
@@ -14,13 +14,7 @@
  *  See the License for the specific language governing permissions and
  *  limitations under the License.
  */
-/**
- * @author Oleg V. Khaschansky
- * @version $Revision$
- */
-/*
-* Created on 27.01.2005
-*/
+
 package org.apache.harmony.awt.gl.image;
 
 import java.awt.image.ColorModel;
@@ -79,6 +73,8 @@
     private byte screenBuffer[];
     private int screenRGBBuffer[];
 
+    ColorModel gcm;
+
     public GifDecoder(DecodingImageSource src, InputStream is) {
         super(src, is);
         try {
@@ -140,7 +136,8 @@
         if (forceRGB) {
             setColorModel(ColorModel.getRGBdefault());
         } else {
-            setColorModel(gls.globalColorTable.getColorModel(currBlock.transparentColor));
+            gcm = gls.globalColorTable.getColorModel(currBlock.transparentColor);
+            setColorModel(gcm);
         }
 
         // Fill screen buffer with the background or transparent color
@@ -298,7 +295,7 @@
                                 gb.imageTop,
                                 gb.imageWidth,
                                 gb.imageHeight,
-                                null,
+                                gcm, 
                                 gb.imageData,
                                 0,
                                 gb.imageWidth
@@ -463,7 +460,7 @@
                         imageTop + currY,
                         imageWidth,
                         numLines,
-                        null,
+                        gcm, 
                         imageData,
                         currY*imageWidth,
                         imageWidth
@@ -546,7 +543,7 @@
                                 imageTop,
                                 imageWidth,
                                 imageHeight,
-                                null,
+                                gcm, 
                                 data,
                                 0,
                                 imageWidth
@@ -664,7 +661,7 @@
                         imageTop,
                         imageWidth,
                         imageHeight,
-                        null,
+                        gcm, 
                         (byte [])toSend,
                         offset,
                         imageWidth

Modified: harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/OffscreenImage.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/OffscreenImage.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/OffscreenImage.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/awt/src/main/java/common/org/apache/harmony/awt/gl/image/OffscreenImage.java Tue Mar  4 00:02:13 2008
@@ -238,7 +238,6 @@
 
     public void setPixels(int x, int y, int w, int h, ColorModel model,
             byte[] pixels, int off, int scansize) {
-
         if(raster == null){
             if(cm == null){
                 if(model == null) {
@@ -252,7 +251,7 @@
         if(model == null) {
             model = cm;
         }
-        if(model != cm){
+        if(model != cm && cm != rgbCM){
             forceToIntARGB();
         }
 
@@ -262,14 +261,15 @@
         synchronized(surfData){
             if(isIntRGB){
                 int buff[] = new int[w];
-                IndexColorModel icm = (IndexColorModel) model;
-                int colorMap[] = new int[icm.getMapSize()];
-                icm.getRGBs(colorMap);
                 int data[] = (int[])surfData;
                 int scanline = raster.getWidth();
                 DataBufferInt dbi = (DataBufferInt) db;
                 int rof = dbi.getOffset() + y * scanline + x;
                 if(model instanceof IndexColorModel){
+
+                    IndexColorModel icm = (IndexColorModel) model;
+                    int colorMap[] = new int[icm.getMapSize()];
+                    icm.getRGBs(colorMap);
 
                     for (int sy = y, sOff = off; sy < y + h; sy++, sOff += scansize,
                         rof += scanline) {

Modified: harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/PropertyEditorManager.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/PropertyEditorManager.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/PropertyEditorManager.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/beans/src/main/java/java/beans/PropertyEditorManager.java Tue Mar  4 00:02:13 2008
@@ -24,7 +24,8 @@
 
     private static String[] path = { "org.apache.harmony.beans.editors" }; //$NON-NLS-1$
 
-    private static final Map<Class<?>, Class<?>> registeredEditors = new HashMap<Class<?>, Class<?>>();
+    private static final Map<Class<?>, Class<?>> registeredEditors
+               = new HashMap<Class<?>, Class<?>>();
 
     public PropertyEditorManager() {
         // expected
@@ -34,11 +35,12 @@
         if (targetType == null) {
             throw new NullPointerException();
         }
-
         SecurityManager sm = System.getSecurityManager();
+
         if (sm != null) {
             sm.checkPropertiesAccess();
         }
+
         if (editorClass != null) {
             registeredEditors.put(targetType, editorClass);
         } else {
@@ -46,70 +48,68 @@
         }
     }
 
+    private static PropertyEditor loadEditor(Class<?> targetType, String className)
+            throws ClassNotFoundException, IllegalAccessException,
+                   InstantiationException {
+        ClassLoader loader = targetType.getClassLoader();
+        Class<?> editorClass = null;
+
+        try {
+            if (loader != null) {
+                editorClass = loader.loadClass(className);
+            } else {
+                loader = ClassLoader.getSystemClassLoader();
+
+                if (loader != null) {
+                    editorClass = loader.loadClass(className);
+                }
+            }
+        } catch (ClassNotFoundException e) {
+            // expected
+        }
+
+        if (editorClass == null) {
+            loader = Thread.currentThread().getContextClassLoader();
+            editorClass = loader.loadClass(className);
+        }
+        return (PropertyEditor) editorClass.newInstance();
+    }
+
     public static synchronized PropertyEditor findEditor(Class<?> targetType) {
         if (targetType == null) {
             throw new NullPointerException();
         }
+        Class<?> editorClass = registeredEditors.get(targetType);
 
-        Class<?> editorClass = null;
-        PropertyEditor editor = null;
-
-        editorClass = registeredEditors.get(targetType);
         if (editorClass != null) {
             try {
-                editor = (PropertyEditor) editorClass.newInstance();
+                return (PropertyEditor) editorClass.newInstance();
             } catch (Exception e) {
                 // expected
             }
         }
-        
-        if (editor == null) {
-            String editorClassName = targetType.getName() + "Editor"; //$NON-NLS-1$
-            ClassLoader loader = targetType.getClassLoader();
+        String editorClassName = targetType.getName() + "Editor"; //$NON-NLS-1$
 
-            if (loader == null) {
-                loader = Thread.currentThread().getContextClassLoader();
-            }
+        try {
+            return loadEditor(targetType, editorClassName);
+        } catch (Exception exception) {
+            // expected
+        }
+        String shortEditorClassName = (targetType.isPrimitive()
+                ? (editorClassName.substring(0, 1).toUpperCase()
+                        + editorClassName.substring(1))
+                : editorClassName.substring(
+                        editorClassName.lastIndexOf('.') + 1));
 
+        for (String element : path) {
             try {
-                editorClass = Class.forName(editorClassName, true, loader);
-                return (PropertyEditor) editorClass.newInstance();
-            } catch (ClassNotFoundException cnfe) {
-                String shortEditorClassName = editorClassName
-                        .substring(editorClassName.lastIndexOf(".") + 1); //$NON-NLS-1$
-
-                if (targetType.isPrimitive()) {
-                    shortEditorClassName = shortEditorClassName.substring(0, 1)
-                            .toUpperCase()
-                            + shortEditorClassName.substring(1);
-                }
-                
-                for (String element : path) {
-                    editorClassName = element + "." + shortEditorClassName; //$NON-NLS-1$
-
-                    try {
-                        editorClass = Class.forName(editorClassName, true,
-                                loader);
-                        editorClass.asSubclass(PropertyEditorSupport.class);
-                        break;
-                    } catch (Exception e) {
-                        // expected
-                    }
-                }
+                editorClassName = element + '.' + shortEditorClassName;
+                return loadEditor(targetType, editorClassName);
             } catch (Exception e) {
                 // expected
             }
-            if(editorClass != null){
-                try {
-                    //FIXME: cache is still needed, but need more investigation to make tests pass
-//                    registeredEditors.put(targetType, editorClass);
-                    editor = (PropertyEditor) editorClass.newInstance();
-                } catch (Exception e) {
-                    // expected
-                }    
-            }
         }
-        return editor;
+        return null;
     }
 
     public static void setEditorSearchPath(String[] apath) {

Modified: harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/PropertyEditorManagerRegressionTest.java Tue Mar  4 00:02:13 2008
@@ -20,6 +20,8 @@
 import java.awt.Color;
 import java.beans.PropertyEditor;
 import java.beans.PropertyEditorManager;
+import java.io.InputStream;
+import java.io.IOException;
 
 import junit.framework.TestCase;
 
@@ -30,6 +32,11 @@
 
     static String origPath[] = PropertyEditorManager.getEditorSearchPath();
 
+    private final String MOCK_TEST_CLASS_EDITOR = "testPackage.TestClassEditor";
+
+    private final String MOCK_TEST_CLASS_EDITOR_FILE
+            = "binary/java/beans/mock/TestClassEditor.bin";
+
     public void testFindEditorAccordingPath_1() throws Exception {
         // Regression Harmony-1205
         String newPath[] = new String[origPath.length + 1];
@@ -64,6 +71,42 @@
                 editor.getClass());
     }
 
+    public void testFindEditorAccordingPath_3() throws Exception {
+        // Regression Harmony-5477
+        class TestClassLoader extends ClassLoader {
+            protected Class<?> findClass(String name) throws ClassNotFoundException {
+                if (!MOCK_TEST_CLASS_EDITOR.equals(name)) {
+                    throw new ClassNotFoundException(name);
+                }
+
+                try {
+                    byte[] buf = new byte[1024];
+                    InputStream in = getResourceAsStream(MOCK_TEST_CLASS_EDITOR_FILE);
+                    int sz = 0;
+                    int read;
+
+                    while ((read = in.read(buf, sz, buf.length - sz)) >= 0) {
+                        sz += read;
+                    }
+                    return defineClass(MOCK_TEST_CLASS_EDITOR, buf, 0, sz);
+                } catch (IOException e) {
+                    throw (ClassNotFoundException) new ClassNotFoundException(
+                            e.getMessage()).initCause(e);
+                }
+            }
+        }
+        PropertyEditorManager.setEditorSearchPath(new String[] { "testPackage" });
+        ClassLoader oldLoader = Thread.currentThread().getContextClassLoader();
+
+        try {
+            Thread.currentThread().setContextClassLoader(new TestClassLoader());
+            PropertyEditor editor = PropertyEditorManager.findEditor(TestClass.class);
+            assertEquals(MOCK_TEST_CLASS_EDITOR, editor.getClass().getName());
+        } finally {
+            Thread.currentThread().setContextClassLoader(oldLoader);
+        }
+    }
+
     public void testStringEditor() throws Exception {
         // Regression Harmony-1199
         PropertyEditorManager.setEditorSearchPath(origPath);
@@ -75,7 +118,7 @@
         assertEquals(text, editor.getAsText());
     }
     
-    // Regression for HARMONY-4062
+    // Regression Harmony-4062
     public void testColorEditor() {
         PropertyEditor propertyEditor = PropertyEditorManager
                 .findEditor(Color.class);
@@ -105,6 +148,7 @@
             //expected.
         }
     }
+
     String[] defaultSearchPath;
     
     public void setUp(){
@@ -115,3 +159,5 @@
         PropertyEditorManager.setEditorSearchPath(defaultSearchPath);
     }
 }
+
+class TestClass {}

Modified: harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/beans/src/test/java/org/apache/harmony/beans/tests/java/beans/beancontext/BeanContextSupportTest.java Tue Mar  4 00:02:13 2008
@@ -1838,7 +1838,19 @@
     }
 
     public void testSize() {
-        // covered by other testcases
+        @SuppressWarnings("serial")
+        class TestBean extends Component implements BeanContextProxy {
+            public BeanContextChildSupport childSupport = new BeanContextChildSupport();
+
+            public BeanContextChild getBeanContextProxy() {
+                return childSupport;
+            }
+        }
+        
+        // Regression test for HARMONY-1829
+        BeanContextSupport obj = new BeanContextSupport();
+        obj.add(new TestBean());
+        assertEquals(2, obj.size());
     }
 
     /*

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/javax/imageio/spi/IIORegistry.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/javax/imageio/spi/IIORegistry.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/javax/imageio/spi/IIORegistry.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/javax/imageio/spi/IIORegistry.java Tue Mar  4 00:02:13 2008
@@ -22,6 +22,7 @@
 
 import java.util.Arrays;
 
+import org.apache.harmony.x.imageio.plugins.gif.GIFImageReaderSpi;
 import org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageReaderSpi;
 import org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageWriterSpi;
 import org.apache.harmony.x.imageio.plugins.png.PNGImageReaderSpi;
@@ -33,24 +34,19 @@
 import org.apache.harmony.x.imageio.spi.RAFIISSpi;
 import org.apache.harmony.x.imageio.spi.RAFIOSSpi;
 
-/**
- * @author Rustem V. Rafikov, Viskov Nikolay
- * @version $Revision: 1.3 $
- */
 public final class IIORegistry extends ServiceRegistry {
 
-    private static IIORegistry instance;
+    private static IIORegistry   instance;
 
     private static final Class[] CATEGORIES = new Class[] {
-        javax.imageio.spi.ImageWriterSpi.class,
-        javax.imageio.spi.ImageReaderSpi.class,
-        javax.imageio.spi.ImageInputStreamSpi.class,
-        //javax.imageio.spi.ImageTranscoderSpi.class,
-        javax.imageio.spi.ImageOutputStreamSpi.class
-    };
+                    javax.imageio.spi.ImageWriterSpi.class,
+                    javax.imageio.spi.ImageReaderSpi.class,
+                    javax.imageio.spi.ImageInputStreamSpi.class,
+                    // javax.imageio.spi.ImageTranscoderSpi.class,
+                    javax.imageio.spi.ImageOutputStreamSpi.class };
 
     private IIORegistry() {
-        super(Arrays.<Class<?>>asList(CATEGORIES).iterator());
+        super(Arrays.<Class<?>> asList(CATEGORIES).iterator());
         registerBuiltinSpis();
         registerApplicationClasspathSpis();
     }
@@ -60,17 +56,18 @@
         registerServiceProvider(new JPEGImageReaderSpi());
         registerServiceProvider(new PNGImageReaderSpi());
         registerServiceProvider(new PNGImageWriterSpi());
+        registerServiceProvider(new GIFImageReaderSpi());
         registerServiceProvider(new FileIOSSpi());
         registerServiceProvider(new FileIISSpi());
         registerServiceProvider(new RAFIOSSpi());
         registerServiceProvider(new RAFIISSpi());
-        registerServiceProvider(new OutputStreamIOSSpi());        
+        registerServiceProvider(new OutputStreamIOSSpi());
         registerServiceProvider(new InputStreamIISSpi());
-        //-- TODO implement
     }
 
     public static IIORegistry getDefaultInstance() {
-        // TODO implement own instance for each ThreadGroup (see also ThreadLocal)
+        // TODO implement own instance for each ThreadGroup (see also
+        // ThreadLocal)
         synchronized (IIORegistry.class) {
             if (instance == null) {
                 instance = new IIORegistry();
@@ -80,6 +77,6 @@
     }
 
     public void registerApplicationClasspathSpis() {
-        //-- TODO implement for non-builtin plugins
+        // -- TODO implement for non-builtin plugins
     }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReader.java Tue Mar  4 00:02:13 2008
@@ -16,127 +16,20 @@
  */
 package org.apache.harmony.x.imageio.plugins.jpeg;
 
-import java.awt.Image;
-import java.awt.image.BufferedImage;
-import java.awt.image.ColorModel;
-import java.awt.image.ImageObserver;
-import java.io.IOException;
-import java.util.Arrays;
-import java.util.Iterator;
-
 import javax.imageio.ImageReadParam;
-import javax.imageio.ImageReader;
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.metadata.IIOMetadata;
 import javax.imageio.plugins.jpeg.JPEGImageReadParam;
 import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.stream.ImageInputStream;
-
-import org.apache.harmony.awt.gl.image.DecodingImageSource;
-import org.apache.harmony.awt.gl.image.OffscreenImage;
-import org.apache.harmony.x.imageio.internal.nls.Messages;
 
-/**
- * This implementation uses org.apache.harmony.awt.gl.image.JpegDecoder to read
- * an image. 
- * 
- * TODO: Implement generic decoder to be used by javad2 and imageio
- * 
- * @see org.apache.harmony.awt.gl.image.JpegDecoder
- * @see org.apache.harmony.x.imageio.plugins.jpeg.IISDecodingImageSource
- */
-public class JPEGImageReader extends ImageReader {
+import org.apache.harmony.x.imageio.plugins.AwtImageReader;
 
-    private ImageInputStream iis;
-    private OffscreenImage   image;
+public class JPEGImageReader extends AwtImageReader {
 
     public JPEGImageReader(final ImageReaderSpi imageReaderSpi) {
         super(imageReaderSpi);
     }
 
     @Override
-    public int getHeight(final int i) throws IOException {
-        return getImage(i).getHeight(new ImageObserver() {
-            public boolean imageUpdate(final Image img, final int infoflags,
-                            final int x, final int y, final int width,
-                            final int height) {
-                return (infoflags & HEIGHT) == 0;
-            }
-        });
-    }
-
-    @Override
-    public int getWidth(final int i) throws IOException {
-        return getImage(i).getWidth(new ImageObserver() {
-            public boolean imageUpdate(final Image img, final int infoflags,
-                            final int x, final int y, final int width,
-                            final int height) {
-                return (infoflags & WIDTH) == 0;
-            }
-        });
-    }
-
-    @Override
-    public int getNumImages(final boolean b) throws IOException {
-        return 1;
-    }
-
-    @Override
-    public Iterator<ImageTypeSpecifier> getImageTypes(final int i)
-                    throws IOException {
-        final ColorModel model = getImage(i).getColorModel();
-        final ImageTypeSpecifier[] spec = { new ImageTypeSpecifier(model,
-                        model.createCompatibleSampleModel(1, 1)) };
-        return Arrays.asList(spec).iterator();
-    }
-
-    @Override
-    public IIOMetadata getStreamMetadata() throws IOException {
-        return null;
-    }
-
-    @Override
-    public IIOMetadata getImageMetadata(final int i) throws IOException {
-        return null;
-    }
-
-    @Override
-    public BufferedImage read(final int i, final ImageReadParam imageReadParam)
-                    throws IOException {
-        return getImage(i).getBufferedImage();
-    }
-
-    @Override
-    public void setInput(final Object input, final boolean seekForwardOnly,
-                    final boolean ignoreMetadata) {
-        super.setInput(input, seekForwardOnly, ignoreMetadata);
-        iis = (ImageInputStream) input;
-        image = null;
-    }
-
-    @Override
     public ImageReadParam getDefaultReadParam() {
         return new JPEGImageReadParam();
-    }
-
-    private OffscreenImage getImage(final int index) throws IOException {
-        if (index >= getNumImages(false)) {
-            throw new IndexOutOfBoundsException("index >= getNumImages()"); //$NON-NLS-1$
-        }
-
-        if (image == null) {
-            if (iis == null) {
-                throw new IllegalArgumentException(Messages.getString(
-                    "imageio.2", //$NON-NLS-1$
-                    "input")); //$NON-NLS-1$
-            }
-
-            final DecodingImageSource source = new IISDecodingImageSource(iis);
-            image = new OffscreenImage(source);
-            source.addConsumer(image);
-            source.load();
-        }
-
-        return image;
     }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageReaderSpi.java Tue Mar  4 00:02:13 2008
@@ -22,65 +22,48 @@
 
 import java.io.IOException;
 import java.util.Locale;
+
 import javax.imageio.ImageReader;
 import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.spi.ServiceRegistry;
-import javax.imageio.stream.ImageInputStream;
+
+import org.apache.harmony.x.imageio.plugins.ImageSignature;
+import org.apache.harmony.x.imageio.plugins.ImageType;
+import org.apache.harmony.x.imageio.plugins.PluginUtils;
 
 public class JPEGImageReaderSpi extends ImageReaderSpi {
 
     public JPEGImageReaderSpi() {
-        super(JPEGSpiConsts.vendorName, JPEGSpiConsts.version,
-                JPEGSpiConsts.names, JPEGSpiConsts.suffixes,
-                JPEGSpiConsts.MIMETypes, JPEGSpiConsts.readerClassName,
-                STANDARD_INPUT_TYPE, JPEGSpiConsts.writerSpiNames,
-                JPEGSpiConsts.supportsStandardStreamMetadataFormat,
-                JPEGSpiConsts.nativeStreamMetadataFormatName,
-                JPEGSpiConsts.nativeStreamMetadataFormatClassName,
-                JPEGSpiConsts.extraStreamMetadataFormatNames,
-                JPEGSpiConsts.extraStreamMetadataFormatClassNames,
-                JPEGSpiConsts.supportsStandardImageMetadataFormat,
-                JPEGSpiConsts.nativeImageMetadataFormatName,
-                JPEGSpiConsts.nativeImageMetadataFormatClassName,
-                JPEGSpiConsts.extraImageMetadataFormatNames,
-                JPEGSpiConsts.extraImageMetadataFormatClassNames);
+        super(PluginUtils.VENDOR_NAME, PluginUtils.DEFAULT_VERSION,
+                        ImageType.JPEG.getNames(),
+                        ImageType.JPEG.getSuffixes(),
+                        ImageType.JPEG.getMimeTypes(),
+                        JPEGImageReader.class.getName(), STANDARD_INPUT_TYPE,
+                        JPEGSpiConsts.writerSpiNames,
+                        JPEGSpiConsts.supportsStandardStreamMetadataFormat,
+                        JPEGSpiConsts.nativeStreamMetadataFormatName,
+                        JPEGSpiConsts.nativeStreamMetadataFormatClassName,
+                        JPEGSpiConsts.extraStreamMetadataFormatNames,
+                        JPEGSpiConsts.extraStreamMetadataFormatClassNames,
+                        JPEGSpiConsts.supportsStandardImageMetadataFormat,
+                        JPEGSpiConsts.nativeImageMetadataFormatName,
+                        JPEGSpiConsts.nativeImageMetadataFormatClassName,
+                        JPEGSpiConsts.extraImageMetadataFormatNames,
+                        JPEGSpiConsts.extraImageMetadataFormatClassNames);
     }
 
-
     @Override
     public boolean canDecodeInput(Object source) throws IOException {
-        ImageInputStream markable = (ImageInputStream) source;
-        try {
-            markable.mark();
-
-            byte[] signature = new byte[3];
-            markable.seek(0);
-            markable.read(signature, 0, 3);
-            markable.reset();
-
-            if ((signature[0] & 0xFF) == 0xFF &&
-                    (signature[1] & 0xFF) == JPEGConsts.SOI &&
-                    (signature[2] & 0xFF) == 0xFF) { // JPEG
-                return true;
-            }
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-        return false;
+        return ImageSignature.JPEG.verify(source);
     }
 
     @Override
-    public ImageReader createReaderInstance(Object extension) throws IOException {
+    public ImageReader createReaderInstance(Object extension)
+                    throws IOException {
         return new JPEGImageReader(this);
     }
 
     @Override
     public String getDescription(Locale locale) {
-        return "DRL JPEG decoder";
-    }
-
-    @Override
-    public void onRegistration(ServiceRegistry registry, Class<?> category) {
-        // super.onRegistration(registry, category);
+        return "JPEG image decoder"; //$NON-NLS-1$
     }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGImageWriterSpi.java Tue Mar  4 00:02:13 2008
@@ -20,23 +20,36 @@
  */
 package org.apache.harmony.x.imageio.plugins.jpeg;
 
-import javax.imageio.spi.ImageWriterSpi;
-import javax.imageio.ImageWriter;
-import javax.imageio.ImageTypeSpecifier;
 import java.io.IOException;
 import java.util.Locale;
 
+import javax.imageio.ImageTypeSpecifier;
+import javax.imageio.ImageWriter;
+import javax.imageio.spi.ImageWriterSpi;
+
+import org.apache.harmony.x.imageio.plugins.ImageType;
+import org.apache.harmony.x.imageio.plugins.PluginUtils;
+
 public class JPEGImageWriterSpi extends ImageWriterSpi {
 
     public JPEGImageWriterSpi() {
-        super(JPEGSpiConsts.vendorName, JPEGSpiConsts.version,
-                JPEGSpiConsts.names, JPEGSpiConsts.suffixes, JPEGSpiConsts.MIMETypes,
-                JPEGSpiConsts.writerClassName, STANDARD_OUTPUT_TYPE,
-                JPEGSpiConsts.readerSpiNames, JPEGSpiConsts.supportsStandardStreamMetadataFormat /*TODO: support st. metadata format*/,
-                JPEGSpiConsts.nativeStreamMetadataFormatName, JPEGSpiConsts.nativeStreamMetadataFormatClassName,
-                JPEGSpiConsts.extraStreamMetadataFormatNames, JPEGSpiConsts.extraStreamMetadataFormatClassNames,
-                JPEGSpiConsts.supportsStandardImageMetadataFormat, JPEGSpiConsts.nativeImageMetadataFormatName, JPEGSpiConsts.nativeImageMetadataFormatClassName,
-                JPEGSpiConsts.extraImageMetadataFormatNames, JPEGSpiConsts.extraImageMetadataFormatClassNames);
+        /* TODO: support st. metadata format */
+        super(PluginUtils.VENDOR_NAME, PluginUtils.DEFAULT_VERSION,
+                        ImageType.JPEG.getNames(),
+                        ImageType.JPEG.getSuffixes(),
+                        ImageType.JPEG.getMimeTypes(),
+                        JPEGImageWriter.class.getName(), STANDARD_OUTPUT_TYPE,
+                        JPEGSpiConsts.readerSpiNames,
+                        JPEGSpiConsts.supportsStandardStreamMetadataFormat,
+                        JPEGSpiConsts.nativeStreamMetadataFormatName,
+                        JPEGSpiConsts.nativeStreamMetadataFormatClassName,
+                        JPEGSpiConsts.extraStreamMetadataFormatNames,
+                        JPEGSpiConsts.extraStreamMetadataFormatClassNames,
+                        JPEGSpiConsts.supportsStandardImageMetadataFormat,
+                        JPEGSpiConsts.nativeImageMetadataFormatName,
+                        JPEGSpiConsts.nativeImageMetadataFormatClassName,
+                        JPEGSpiConsts.extraImageMetadataFormatNames,
+                        JPEGSpiConsts.extraImageMetadataFormatClassNames);
     }
 
     @Override
@@ -51,6 +64,6 @@
 
     @Override
     public String getDescription(Locale locale) {
-        return "DRL JPEG Encoder";
+        return "JPEG image Encoder"; //$NON-NLS-1$
     }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/jpeg/JPEGSpiConsts.java Tue Mar  4 00:02:13 2008
@@ -20,38 +20,22 @@
  */
 package org.apache.harmony.x.imageio.plugins.jpeg;
 
-/**
- * @author Rustem V. Rafikov
- * @version $Revision: 1.2 $
- */
 public class JPEGSpiConsts {
-    private JPEGSpiConsts() {}
+    private JPEGSpiConsts() {
+    }
 
-    public static final String vendorName = "Intel Corporation";
-    public static final String version = "0.1 beta";
-
-    static final String readerClassName = "org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageReader";
-    static final String writerClassName = "org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageWriter";
-
-    static final String[] names = {"jpeg", "jpg", "JPEG", "JPG"};
-    static final String[] suffixes = {"jpeg", "jpg"};
-    static final String[] MIMETypes = {"image/jpeg"};
-
-    static final String[] writerSpiNames = {"org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageWriterSpi"};
-    static final String[] readerSpiNames = {"org.apache.harmony.x.imageio.plugins.jpeg.JPEGImageReaderSpi"};
-
-    //-- TODO fill this stuff with correct data
-    static final boolean supportsStandardStreamMetadataFormat = false;
-    static final String nativeStreamMetadataFormatName = null;
-    static final String nativeStreamMetadataFormatClassName = null;
-    static final String[] extraStreamMetadataFormatNames = null;
-    static final String[] extraStreamMetadataFormatClassNames = null;
-    static final boolean supportsStandardImageMetadataFormat = false;
-    static final String nativeImageMetadataFormatName =
-            "org.apache.harmony.x.imageio.plugins.jpeg.MyFormatMetadata_1.0";
-    static final String nativeImageMetadataFormatClassName =
-            "org.apache.harmony.x.imageio.plugins.jpeg.MyFormatMetadata";
-    static final String[] extraImageMetadataFormatNames = null;
-    static final String[] extraImageMetadataFormatClassNames = null;
+    static final String[] writerSpiNames                       = { JPEGImageWriterSpi.class.getName() };
+    static final String[] readerSpiNames                       = { JPEGImageReaderSpi.class.getName() };
 
+    // -- TODO fill this stuff with correct data
+    static final boolean  supportsStandardStreamMetadataFormat = false;
+    static final String   nativeStreamMetadataFormatName       = null;
+    static final String   nativeStreamMetadataFormatClassName  = null;
+    static final String[] extraStreamMetadataFormatNames       = null;
+    static final String[] extraStreamMetadataFormatClassNames  = null;
+    static final boolean  supportsStandardImageMetadataFormat  = false;
+    static final String   nativeImageMetadataFormatName        = null;
+    static final String   nativeImageMetadataFormatClassName   = null;
+    static final String[] extraImageMetadataFormatNames        = null;
+    static final String[] extraImageMetadataFormatClassNames   = null;
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReader.java Tue Mar  4 00:02:13 2008
@@ -15,93 +15,15 @@
  *  limitations under the License.
  */
 
-
 package org.apache.harmony.x.imageio.plugins.png;
 
-import org.apache.harmony.awt.gl.image.DecodingImageSource;
-import org.apache.harmony.awt.gl.image.OffscreenImage;
-import org.apache.harmony.luni.util.NotImplementedException;
-import org.apache.harmony.x.imageio.plugins.jpeg.IISDecodingImageSource;
-
-import javax.imageio.ImageReader;
-import javax.imageio.ImageTypeSpecifier;
-import javax.imageio.ImageReadParam;
-import javax.imageio.plugins.jpeg.JPEGImageReadParam;
 import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.stream.ImageInputStream;
-import javax.imageio.metadata.IIOMetadata;
-import java.io.IOException;
-import java.util.Iterator;
-import java.awt.image.BufferedImage;
 
-public class PNGImageReader  extends ImageReader {
-    ImageInputStream iis;
+import org.apache.harmony.x.imageio.plugins.AwtImageReader;
+
+public class PNGImageReader extends AwtImageReader {
 
     public PNGImageReader(ImageReaderSpi imageReaderSpi) {
         super(imageReaderSpi);
-    }
-
-    public int getNumImages(boolean allowSearch) throws IOException, NotImplementedException {
-        // TODO: implement
-        throw new NotImplementedException();
-    }
-
-    public int getWidth(int imageIndex) throws IOException, NotImplementedException {
-        // TODO: implement
-        throw new NotImplementedException();
-    }
-
-    public int getHeight(int imageIndex) throws IOException, NotImplementedException {
-        // TODO: implement
-        throw new NotImplementedException();
-    }
-
-    public Iterator<ImageTypeSpecifier> getImageTypes(int imageIndex) throws IOException, NotImplementedException {
-        // TODO: implement
-        throw new NotImplementedException();
-    }
-
-    @Override
-    public IIOMetadata getStreamMetadata() throws IOException, NotImplementedException {
-        // TODO: implement
-        throw new NotImplementedException();
-    }
-
-    @Override
-    public IIOMetadata getImageMetadata(int imageIndex) throws IOException, NotImplementedException {
-        // TODO: implement
-        throw new NotImplementedException();
-    }
-
-    @Override
-    public BufferedImage read(int i, ImageReadParam imageReadParam) throws IOException {
-        if (iis == null) {
-            throw new IllegalArgumentException("input stream == null");
-        }
-
-        DecodingImageSource source = new IISDecodingImageSource(iis);
-        OffscreenImage image = new OffscreenImage(source);
-        source.addConsumer(image);
-        source.load();
-        // The interrupted flag should be cleared because ImageDecoder interrupts
-        // current thread while decoding (due its architecture).
-        Thread.interrupted();
-        return image.getBufferedImage();
-    }
-
-    @Override
-    public BufferedImage read(int i) throws IOException {
-        return read(i, null);
-    }
-
-    @Override
-    public void setInput(Object input, boolean seekForwardOnly, boolean ignoreMetadata) {
-        super.setInput(input, seekForwardOnly, ignoreMetadata);
-        iis = (ImageInputStream) input;
-    }
-
-    @Override
-    public ImageReadParam getDefaultReadParam() {
-        return new ImageReadParam();
     }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageReaderSpi.java Tue Mar  4 00:02:13 2008
@@ -15,74 +15,43 @@
  *  limitations under the License.
  */
 
-
 package org.apache.harmony.x.imageio.plugins.png;
 
-import org.apache.harmony.x.imageio.plugins.jpeg.JPEGSpiConsts;
-
-import javax.imageio.spi.ImageReaderSpi;
-import javax.imageio.spi.ServiceRegistry;
-import javax.imageio.ImageReader;
-import javax.imageio.stream.ImageInputStream;
 import java.io.IOException;
 import java.util.Locale;
 
+import javax.imageio.ImageReader;
+import javax.imageio.spi.ImageReaderSpi;
+
+import org.apache.harmony.x.imageio.plugins.ImageSignature;
+import org.apache.harmony.x.imageio.plugins.ImageType;
+import org.apache.harmony.x.imageio.plugins.PluginUtils;
+
 public class PNGImageReaderSpi extends ImageReaderSpi {
-    static final String PNG_NAMES[] = new String[] {"png", "PNG"};
-    static final String PNG_SUFFIXES[] = new String[] {"png"};
-    static final String PNG_MIME_TYPES[] = new String[] {"image/png"};
-    static final String PNG_READER_CLASS_NAME = "org.apache.harmony.x.imageio.plugins.png.PNGImageReader";
-    static final String PNG_READER_SPI_NAMES[] = {"org.apache.harmony.x.imageio.plugins.png.PNGImageReaderSpi"};
 
     public PNGImageReaderSpi() {
-        super(
-                JPEGSpiConsts.vendorName, JPEGSpiConsts.version,
-                PNG_NAMES, PNG_SUFFIXES,
-                PNG_MIME_TYPES, PNG_READER_CLASS_NAME,
-                STANDARD_INPUT_TYPE, null,
-                false, null,
-                null, null,
-                null, false, 
-                null, null,
-                null, null
-        );
+        super(PluginUtils.VENDOR_NAME, PluginUtils.DEFAULT_VERSION,
+                        ImageType.PNG.getNames(), ImageType.PNG.getSuffixes(),
+                        ImageType.PNG.getMimeTypes(),
+                        PNGImageReader.class.getName(), STANDARD_INPUT_TYPE,
+                        new String[] { PNGImageWriterSpi.class.getName() },
+                        false, null, null, null, null, false, null, null, null,
+                        null);
     }
 
     @Override
-    public boolean canDecodeInput(Object source) throws IOException {
-        ImageInputStream markable = (ImageInputStream) source;
-        markable.mark();
-
-        byte[] signature = new byte[8];
-        markable.seek(0);
-
-        int nBytes = markable.read(signature, 0, 8);
-        if(nBytes != 8) markable.read(signature, nBytes, 8-nBytes);
-        markable.reset();
-
-        // PNG signature: 137 80 78 71 13 10 26 10
-        return  (signature[0] & 0xFF) == 137 &&
-                (signature[1] & 0xFF) == 80 &&
-                (signature[2] & 0xFF) == 78 &&
-                (signature[3] & 0xFF) == 71 &&
-                (signature[4] & 0xFF) == 13 &&
-                (signature[5] & 0xFF) == 10 &&
-                (signature[6] & 0xFF) == 26 &&
-                (signature[7] & 0xFF) == 10;
+    public boolean canDecodeInput(final Object source) throws IOException {
+        return ImageSignature.PNG.verify(source);
     }
 
     @Override
-    public ImageReader createReaderInstance(Object extension) throws IOException {
+    public ImageReader createReaderInstance(Object extension)
+                    throws IOException {
         return new PNGImageReader(this);
     }
 
     @Override
     public String getDescription(Locale locale) {
-        return "DRL PNG decoder";
-    }
-
-    @Override
-    public void onRegistration(ServiceRegistry registry, Class<?> category) {
-        super.onRegistration(registry, category);
+        return "PNG image decoder"; //$NON-NLS-1$
     }
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/imageio/src/main/java/org/apache/harmony/x/imageio/plugins/png/PNGImageWriterSpi.java Tue Mar  4 00:02:13 2008
@@ -21,7 +21,6 @@
 package org.apache.harmony.x.imageio.plugins.png;
 
 import java.awt.image.ColorModel;
-import java.awt.image.DataBufferByte;
 import java.awt.image.IndexColorModel;
 import java.io.IOException;
 import java.util.Locale;
@@ -30,31 +29,27 @@
 import javax.imageio.ImageWriter;
 import javax.imageio.spi.ImageWriterSpi;
 
+import org.apache.harmony.x.imageio.plugins.ImageType;
+import org.apache.harmony.x.imageio.plugins.PluginUtils;
+
 public class PNGImageWriterSpi extends ImageWriterSpi {
 
     public PNGImageWriterSpi() {
-        super("Intel Corporation",// vendorName
-                "1.0",// version
-                new String[] {
-                        "png", "PNG" },// names
-                new String[] {
-                        "png", "PNG" },// suffixes
-                new String[] {
-                    "image/png" },// MIMETypes
-                "org.apache.harmony.x.imageio.plugins.png.PNGImageWriter",// writerClassName
-                STANDARD_OUTPUT_TYPE,// outputTypes
-                new String[] {
-                    "org.apache.harmony.x.imageio.plugins.png.PNGImageWriterSpi" },// readerSpiNames
-                false,// supportsStandardStreamMetadataFormat
-                null,// nativeStreamMetadataFormatName
-                null,// nativeStreamMetadataFormatClassName
-                null,// extraStreamMetadataFormatNames
-                null,// extraStreamMetadataFormatClassNames
-                false,// supportsStandardImageMetadataFormat
-                null,// nativeImageMetadataFormatName
-                null,// nativeImageMetadataFormatClassName
-                null,// extraImageMetadataFormatNames
-                null// extraImageMetadataFormatClassNames
+        super(PluginUtils.VENDOR_NAME, PluginUtils.DEFAULT_VERSION,
+                        ImageType.PNG.getNames(), ImageType.PNG.getSuffixes(),
+                        ImageType.PNG.getMimeTypes(),
+                        PNGImageWriter.class.getName(), STANDARD_OUTPUT_TYPE,
+                        new String[] { PNGImageReaderSpi.class.getName() },
+                        false,// supportsStandardStreamMetadataFormat
+                        null,// nativeStreamMetadataFormatName
+                        null,// nativeStreamMetadataFormatClassName
+                        null,// extraStreamMetadataFormatNames
+                        null,// extraStreamMetadataFormatClassNames
+                        false,// supportsStandardImageMetadataFormat
+                        null,// nativeImageMetadataFormatName
+                        null,// nativeImageMetadataFormatClassName
+                        null,// extraImageMetadataFormatNames
+                        null// extraImageMetadataFormatClassNames
         );
     }
 
@@ -69,29 +64,27 @@
         int bitDepth = colorModel.getPixelSize() / numBands;
 
         if (colorModel instanceof IndexColorModel) {
-            if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4 && bitDepth != 8) {
+            if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4
+                && bitDepth != 8) {
                 canEncode = false;
             }
             if (numBands != 1) {
                 canEncode = false;
             }
-        }
-        else if (numBands == 1) {
-            if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4 && bitDepth != 8 && bitDepth != 16) {
+        } else if (numBands == 1) {
+            if (bitDepth != 1 && bitDepth != 2 && bitDepth != 4
+                && bitDepth != 8 && bitDepth != 16) {
                 canEncode = false;
             }
-        }
-        else if (numBands == 2) {
+        } else if (numBands == 2) {
             if (bitDepth != 8 && bitDepth != 16) {
                 canEncode = false;
             }
-        }
-        else if (numBands == 3) {
+        } else if (numBands == 3) {
             if (bitDepth != 8 && bitDepth != 16) {
                 canEncode = false;
             }
-        }
-        else if (numBands == 4) {
+        } else if (numBands == 4) {
             if (bitDepth != 8 && bitDepth != 16) {
                 canEncode = false;
             }
@@ -107,7 +100,7 @@
 
     @Override
     public String getDescription(Locale arg0) {
-        return "DRL PNG encoder";
+        return "PNG image encoder"; //$NON-NLS-1$
     }
 
 }

Modified: harmony/enhanced/classlib/branches/java6/modules/instrument/src/main/native/instrument/shared/inst_agt.c
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/instrument/src/main/native/instrument/shared/inst_agt.c?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/instrument/src/main/native/instrument/shared/inst_agt.c (original)
+++ harmony/enhanced/classlib/branches/java6/modules/instrument/src/main/native/instrument/shared/inst_agt.c Tue Mar  4 00:02:13 2008
@@ -24,7 +24,7 @@
 #ifndef HY_ZIP_API
 #include <zipsup.h>
 #else /* HY_ZIP_API */
-#include <hyzip.h>
+#include <vmizip.h>
 #endif /* HY_ZIP_API */
 #include <jni.h>
 #include <vmi.h>
@@ -154,8 +154,13 @@
 
 char* Read_Manifest(JavaVM *vm, JNIEnv *env,const char *jar_name){
 	I_32 retval;
+#ifndef HY_ZIP_API
 	HyZipFile zipFile;
 	HyZipEntry zipEntry;
+#else
+	VMIZipFile zipFile;
+	VMIZipEntry zipEntry;
+#endif
 	char *result;
 	int size = 0;
 	char errorMessage[1024];
@@ -165,14 +170,14 @@
 	PORT_ACCESS_FROM_JAVAVM(vm);
 
 #ifdef HY_ZIP_API
-	HyZipFunctionTable *zipFuncs = (*VMI)->GetZipFunctions(VMI);
+	VMIZipFunctionTable *zipFuncs = (*VMI)->GetZipFunctions(VMI);
 
 #endif /* HY_ZIP_API */
 	/* open zip file */
 #ifndef HY_ZIP_API
 	retval = zip_openZipFile(privatePortLibrary, (char *)jar_name, &zipFile, NULL);
 #else /* HY_ZIP_API */
-	retval = zipFuncs->zip_openZipFile(VMI, (char *)jar_name, &zipFile);
+	retval = zipFuncs->zip_openZipFile(VMI, (char *)jar_name, &zipFile, 0);
 #endif /* HY_ZIP_API */
 	if(retval){
 		sprintf(errorMessage,"failed to open file:%s, %d\n", jar_name, retval);

Modified: harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/OperatingSystemMXBean.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/OperatingSystemMXBean.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/OperatingSystemMXBean.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/OperatingSystemMXBean.java Tue Mar  4 00:02:13 2008
@@ -37,7 +37,7 @@
      * 
      * @return The underlying architecture of the operating system.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getArch();
@@ -60,7 +60,7 @@
      * 
      * @return The name of the operating system.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getName();
@@ -73,7 +73,7 @@
      * 
      * @return The version of the operating system.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getVersion();

Modified: harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/RuntimeMXBean.java
URL: http://svn.apache.org/viewvc/harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/RuntimeMXBean.java?rev=633384&r1=633383&r2=633384&view=diff
==============================================================================
--- harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/RuntimeMXBean.java (original)
+++ harmony/enhanced/classlib/branches/java6/modules/lang-management/src/main/java/java/lang/management/RuntimeMXBean.java Tue Mar  4 00:02:13 2008
@@ -54,7 +54,7 @@
      * 
      * @return The class path.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getClassPath();
@@ -79,7 +79,7 @@
      * 
      * @return The library path.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getLibraryPath();
@@ -110,7 +110,7 @@
      * 
      * @return The JVM specification name.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getSpecName();
@@ -123,7 +123,7 @@
      * 
      * @return The JVM specification vendor.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getSpecVendor();
@@ -136,7 +136,7 @@
      * 
      * @return The JVM specification version.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getSpecVersion();
@@ -160,7 +160,7 @@
      * 
      * @return The library path.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     Map<String, String> getSystemProperties();
@@ -182,7 +182,7 @@
      * 
      * @return The JVM name.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getVmName();
@@ -195,7 +195,7 @@
      * 
      * @return The JVM vendor.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getVmVendor();
@@ -208,7 +208,7 @@
      * 
      * @return The JVM version.
      * @throws SecurityException if the
-     *         {@link SecurityManager#checkPropertiesAccess(String)} doesn't
+     *         {@link SecurityManager#checkPropertyAccess(String)} doesn't
      *         allow access.
      */
     String getVmVersion();