diff --git a/.hgtags b/.hgtags index 6755b5eabc39790f5a6ca6251fca0bba52cf7d01..b9aaf72db37dc3d008844cb52dddd13dbda6c758 100644 --- a/.hgtags +++ b/.hgtags @@ -415,6 +415,29 @@ dba5c9ee56abce73e1f6ed99a36a99d6907266c6 jdk8u51-b06 b9e5fa1d3f251d5cce02d1e7ff97279064aecdb1 jdk8u51-b09 0011162b38bf4dab36c72bf25640c59d7128274a jdk8u51-b10 4d59046bdb8a05cfb9e07d8e18d44956f700fe29 jdk8u51-b11 +e51a2deadf774452d98b339d65d33c72a466a453 jdk8u51-b12 +4886143e8749caf2ec42a6e77c70a98516e140a3 jdk8u51-b13 +1fbfa02e524872a75e98ee3a80e2472fa7012fde jdk8u51-b14 +d6e1f914c954f98caa31edd0037837830774dfb6 jdk8u51-b15 +8bbc2bb414b7e9331c2014c230553d72c9d161c5 jdk8u60-b00 +15ae8298b34beb30f2bd7baa7ff895af2bec13f6 jdk8u60-b01 +a98524c04cbd24bbc3029b21c033abf9108e92b4 jdk8u60-b02 +50cef81aa68539d0af7c5c48e370108a5b0d5a4f jdk8u60-b03 +d0e7c0ba4671c6a20ba5885e075ffa7196b738a1 jdk8u60-b04 +983825f6835055c24ed7580b6d4bd2f4e17e5425 jdk8u60-b05 +587b011966468537b1ff40a007aa51e52c823bc8 jdk8u60-b06 +058a6dd8d04cbb3d3bcc0b9d60dd05111fb37b22 jdk8u60-b07 +b184ceca742eb1a6469442af91f918ac1e1cf95c jdk8u60-b08 +e8af97f98cad81672e713c1af68d9059792a4ef2 jdk8u60-b09 +bd691208dfd6c97ffd10e2314f457d7badc47dab jdk8u60-b10 +43892f96d79eea91e67c193141f76ec31eb351d8 jdk8u60-b11 +449f9a900771900310a3f49e034c4cca478c6aff jdk8u60-b12 +b4e22b44d44664a3aa4fc2737cd63115328084b1 jdk8u60-b13 +c4108e15fbde9c67f5085aa60cd9f03e69d245dd jdk8u60-b14 +68b50073c52a2c77aa35f90d6cfdec966effc4ef jdk8u60-b15 +3b19c17ea11c3831a8a0099d6d7a1a3c7e4897c4 jdk8u60-b16 +7ef66778231f234b69515202b2dc2287143ecb49 jdk8u60-b17 +cf83b578af1935db8474d01b8642e4803a534d3a jdk8u60-b18 8e247b5216a5a4623c1bef7331585d78e7c0fb15 jdk8u52-b06 974e2fd9b5b3cec38cceb35c93bcc3b5bedbe91c jdk8u52-b07 8e247b5216a5a4623c1bef7331585d78e7c0fb15 jdk8u65-b00 diff --git a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java index 624e3e182f1d9518ca6f3a3796afd9e9ae296a4d..0c3ff08a7adc1be2bbf6087dd4c5ddc0a546b113 100644 --- a/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java +++ b/src/share/classes/com/sun/corba/se/impl/io/IIOPInputStream.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1998, 2013, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1998, 2015, Oracle and/or its affiliates. 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 @@ -1768,43 +1768,59 @@ public class IIOPInputStream switch (field.getTypeCode()) { case 'B': byte byteValue = orbStream.read_octet(); - bridge.putByte( o, field.getFieldID(), byteValue ) ; - //reflective code: field.getField().setByte( o, byteValue ) ; + if (field.getField() != null) { + bridge.putByte( o, field.getFieldID(), byteValue ) ; + //reflective code: field.getField().setByte( o, byteValue ) ; + } break; case 'Z': boolean booleanValue = orbStream.read_boolean(); - bridge.putBoolean( o, field.getFieldID(), booleanValue ) ; - //reflective code: field.getField().setBoolean( o, booleanValue ) ; + if (field.getField() != null) { + bridge.putBoolean( o, field.getFieldID(), booleanValue ) ; + //reflective code: field.getField().setBoolean( o, booleanValue ) ; + } break; case 'C': char charValue = orbStream.read_wchar(); - bridge.putChar( o, field.getFieldID(), charValue ) ; - //reflective code: field.getField().setChar( o, charValue ) ; + if (field.getField() != null) { + bridge.putChar( o, field.getFieldID(), charValue ) ; + //reflective code: field.getField().setChar( o, charValue ) ; + } break; case 'S': short shortValue = orbStream.read_short(); - bridge.putShort( o, field.getFieldID(), shortValue ) ; - //reflective code: field.getField().setShort( o, shortValue ) ; + if (field.getField() != null) { + bridge.putShort( o, field.getFieldID(), shortValue ) ; + //reflective code: field.getField().setShort( o, shortValue ) ; + } break; case 'I': int intValue = orbStream.read_long(); - bridge.putInt( o, field.getFieldID(), intValue ) ; - //reflective code: field.getField().setInt( o, intValue ) ; + if (field.getField() != null) { + bridge.putInt( o, field.getFieldID(), intValue ) ; + //reflective code: field.getField().setInt( o, intValue ) ; + } break; case 'J': long longValue = orbStream.read_longlong(); - bridge.putLong( o, field.getFieldID(), longValue ) ; - //reflective code: field.getField().setLong( o, longValue ) ; + if (field.getField() != null) { + bridge.putLong( o, field.getFieldID(), longValue ) ; + //reflective code: field.getField().setLong( o, longValue ) ; + } break; case 'F' : float floatValue = orbStream.read_float(); - bridge.putFloat( o, field.getFieldID(), floatValue ) ; - //reflective code: field.getField().setFloat( o, floatValue ) ; + if (field.getField() != null) { + bridge.putFloat( o, field.getFieldID(), floatValue ) ; + //reflective code: field.getField().setFloat( o, floatValue ) ; + } break; case 'D' : double doubleValue = orbStream.read_double(); - bridge.putDouble( o, field.getFieldID(), doubleValue ) ; - //reflective code: field.getField().setDouble( o, doubleValue ) ; + if (field.getField() != null) { + bridge.putDouble( o, field.getFieldID(), doubleValue ) ; + //reflective code: field.getField().setDouble( o, doubleValue ) ; + } break; default: // XXX I18N, logging needed. @@ -2217,9 +2233,6 @@ public class IIOPInputStream if (o != null) { for (int i = 0; i < primFields; ++i) { - if (fields[i].getField() == null) - continue; - inputPrimitiveField(o, cl, fields[i]); } } diff --git a/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java b/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java index 6908cad9a83a2d5c550407a43e1a4c5ffb166bcb..79ef01e876595e0a77a03570dfff0a70119022ea 100644 --- a/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java +++ b/src/share/classes/com/sun/corba/se/impl/io/OutputStreamHook.java @@ -1,5 +1,5 @@ /* - * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1999, 2015, Oracle and/or its affiliates. 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 @@ -32,6 +32,7 @@ package com.sun.corba.se.impl.io; import java.io.IOException; +import java.io.NotActiveException; import java.io.OutputStream; import java.io.ObjectOutputStream; import java.io.ObjectOutput; @@ -154,7 +155,9 @@ public abstract class OutputStreamHook extends ObjectOutputStream public ObjectOutputStream.PutField putFields() throws IOException { - putFields = new HookPutFields(); + if (putFields == null) { + putFields = new HookPutFields(); + } return putFields; } @@ -175,8 +178,11 @@ public abstract class OutputStreamHook extends ObjectOutputStream throws IOException { writeObjectState.defaultWriteObject(this); - - putFields.write(this); + if (putFields != null) { + putFields.write(this); + } else { + throw new NotActiveException("no current PutField object"); + } } abstract org.omg.CORBA_2_3.portable.OutputStream getOrbStream(); diff --git a/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java b/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java index 90d9ea65286bbe601fafb0293909cce0a91cf6fe..dd32dfdaac6ed649704c839d3be305046a54b19a 100644 --- a/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java +++ b/src/share/classes/org/omg/CORBA_2_3/portable/InputStream.java @@ -77,7 +77,7 @@ public abstract class InputStream extends org.omg.CORBA.portable.InputStream { * * throw SecurityException if SecurityManager is installed and * enableSubclassImplementation SerializablePermission - * is not granted or jdk.corba.allowOutputStreamSubclass system + * is not granted or jdk.corba.allowInputStreamSubclass system * property is either not set or is set to 'false' */ public InputStream() {