river-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dre...@apache.org
Subject svn commit: r1444164 - /river/jtsk/trunk/src/com/sun/jini/logging/Levels.java
Date Fri, 08 Feb 2013 17:30:48 GMT
Author: dreedy
Date: Fri Feb  8 17:30:47 2013
New Revision: 1444164

URL: http://svn.apache.org/r1444164
Log:
RIVER-416: Fix com.sun.jini.logging.Levels

Modified:
    river/jtsk/trunk/src/com/sun/jini/logging/Levels.java

Modified: river/jtsk/trunk/src/com/sun/jini/logging/Levels.java
URL: http://svn.apache.org/viewvc/river/jtsk/trunk/src/com/sun/jini/logging/Levels.java?rev=1444164&r1=1444163&r2=1444164&view=diff
==============================================================================
--- river/jtsk/trunk/src/com/sun/jini/logging/Levels.java (original)
+++ river/jtsk/trunk/src/com/sun/jini/logging/Levels.java Fri Feb  8 17:30:47 2013
@@ -49,7 +49,7 @@ public class Levels {
      * assist with debugging problems in systems with multiple components. This
      * level is initialized to <code>600</code>.
      */
-    public static final Level FAILED = createLevel("FAILED", 600, null);
+    public static final Level FAILED = new CustomLevel("FAILED", 600, null);
 
     /**
      * <code>HANDLED</code> is a message level indicating that a facility has
@@ -61,85 +61,18 @@ public class Levels {
      * assist with debugging problems in systems with multiple components. This
      * level is initialized to <code>550</code>.
      */
-    public static final Level HANDLED = createLevel("HANDLED", 550, null);
+    public static final Level HANDLED = new CustomLevel("HANDLED", 550, null);
 
     /** This class cannot be instantiated. */
     private Levels() {
-	throw new AssertionError("This class cannot be instantiated");
+	    throw new AssertionError("This class cannot be instantiated");
     }
 
-    /**
-     * Defines a class that has the same data format as the Level class, to
-     * permit creating the serialized form of a Level instance.
-     */
-    private static final class LevelData implements Serializable {
-	private static final long serialVersionUID = -8176160795706313070L;
-	private final String name;
-	private final int value;
-	private final String resourceBundleName;
-	LevelData(String name, int value, String resourceBundleName) {
-	    this.name = name;
-	    this.value = value;
-	    this.resourceBundleName = resourceBundleName;
-	}
-    }
-
-    /**
-     * Defines an object output stream that allows the data for one class to be
-     * interpreted as the data for another class.  This class is useful in
-     * creating serialization data for a class when access to an appropriate
-     * constructor is not available.
-     */
-    private static final class ClassReplacingObjectOutputStream
-	extends ObjectOutputStream
-    {
-	private final ObjectStreamClass from;
-	private final ObjectStreamClass to;
-
-	ClassReplacingObjectOutputStream(OutputStream out,
-					 Class from,
-					 Class to)
-	    throws IOException
-	{
-	    super(out);
-	    this.from = ObjectStreamClass.lookup(from);
-	    this.to = ObjectStreamClass.lookup(to);
-	}
-
-	protected void writeClassDescriptor(ObjectStreamClass desc)
-	    throws IOException
-	{
-	    if (from.equals(desc)) {
-		desc = to;
+    static class CustomLevel extends Level {
+	    CustomLevel(String name, int value, String resourceBundleName) {
+	        super(name, value, resourceBundleName);
 	    }
-	    super.writeClassDescriptor(desc);
 	}
-    }
 
-    /**
-     * Creates an instance of the Level class.  This method works around the
-     * fact that there is no public constructor for the Level class by
-     * constructing the serialized form for an instance with the specified
-     * field values and deserializing it.
-     */
-    private static Level createLevel(String name,
-				     int value,
-				     String resourceBundleName)
-    {
-	try {
-	    ByteArrayOutputStream bytes = new ByteArrayOutputStream();
-	    ObjectOutputStream out =
-		new ClassReplacingObjectOutputStream(
-		    bytes, LevelData.class, Level.class);
-	    out.writeObject(new LevelData(name, value, resourceBundleName));
-	    out.close();
-	    ObjectInputStream in = new ObjectInputStream(
-		new ByteArrayInputStream(bytes.toByteArray()));
-	    Level result = (Level) in.readObject();
-	    in.close();
-	    return result;
-	} catch (Exception e) {
-	    throw new RuntimeException("Unexpected exception", e);
-	}
-    }
+    
 }



Mime
View raw message