This patch makes the Notification and MBeanFeature/AttributeInfo classes serialization compatible with Sun's JDK.
Changelog: 2007-04-06 Andrew John Hughes <[EMAIL PROTECTED]> * javax/management/MBeanAttributeInfo.java: (serialVersionUID): Added. * javax/management/MBeanFeatureInfo.java: (writeObject(ObjectOutputStream)): Added for later 1.6 support. * javax/management/Notification.java: (serialVersionUID): Added. (Notification(String,Object,long,long)): Make default message the empty string not null. (Notification(String,Object,long,long,String)): Set source explicitly. (writeObject(ObjectOutputStream)): Added to match Sun -- Andrew :-) Escape the Java Trap with GNU Classpath! http://www.gnu.org/philosophy/java-trap.html public class gcj extends Freedom implements Java { ... }
Index: javax/management/MBeanAttributeInfo.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/management/MBeanAttributeInfo.java,v retrieving revision 1.4 diff -u -3 -p -u -r1.4 MBeanAttributeInfo.java --- javax/management/MBeanAttributeInfo.java 11 Dec 2006 01:54:39 -0000 1.4 +++ javax/management/MBeanAttributeInfo.java 6 Apr 2007 20:57:49 -0000 @@ -55,6 +55,11 @@ public class MBeanAttributeInfo { /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = 8644704819898565848L; + + /** * The type of the attribute. * * @serial the attribute type. Index: javax/management/MBeanFeatureInfo.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/management/MBeanFeatureInfo.java,v retrieving revision 1.5 diff -u -3 -p -u -r1.5 MBeanFeatureInfo.java --- javax/management/MBeanFeatureInfo.java 5 Aug 2006 12:25:51 -0000 1.5 +++ javax/management/MBeanFeatureInfo.java 6 Apr 2007 20:57:49 -0000 @@ -37,6 +37,8 @@ exception statement from your version. * package javax.management; +import java.io.IOException; +import java.io.ObjectOutputStream; import java.io.Serializable; /** @@ -183,4 +185,17 @@ public class MBeanFeatureInfo return string; } + /** + * Serialize the [EMAIL PROTECTED] MBeanFeatureInfo}. + * + * @param out the output stream to write to. + * @throws IOException if an I/O error occurs. + */ + private void writeObject(ObjectOutputStream out) + throws IOException + { + out.defaultWriteObject(); + /* FIXME: Handle extra 1.6 descriptor stuff */ + } + } Index: javax/management/Notification.java =================================================================== RCS file: /cvsroot/classpath/classpath/javax/management/Notification.java,v retrieving revision 1.1 diff -u -3 -p -u -r1.1 Notification.java --- javax/management/Notification.java 16 Jul 2006 14:35:38 -0000 1.1 +++ javax/management/Notification.java 6 Apr 2007 20:57:49 -0000 @@ -37,6 +37,9 @@ exception statement from your version. * package javax.management; +import java.io.IOException; +import java.io.ObjectOutputStream; + import java.util.Date; import java.util.EventObject; @@ -66,6 +69,11 @@ public class Notification { /** + * Compatible with JDK 1.6 + */ + private static final long serialVersionUID = -7516092053498031989L; + + /** * The notification message. * * @serial the notification message. @@ -141,7 +149,7 @@ public class Notification public Notification(String type, Object source, long sequenceNumber, long timeStamp) { - this(type, source, sequenceNumber, timeStamp, null); + this(type, source, sequenceNumber, timeStamp, ""); } /** @@ -159,6 +167,7 @@ public class Notification { super(source); this.type = type; + this.source = source; this.sequenceNumber = sequenceNumber; this.timeStamp = timeStamp; this.message = message; @@ -310,5 +319,17 @@ public class Notification + "]"; } + /** + * Serialize the [EMAIL PROTECTED] Notification}. + * + * @param out the output stream to write to. + * @throws IOException if an I/O error occurs. + */ + private void writeObject(ObjectOutputStream out) + throws IOException + { + out.defaultWriteObject(); + } + }
signature.asc
Description: Digital signature