Title: [2157] trunk: We have Java 1.4 as minimum.
Revision
2157
Author
joehni
Date
2013-11-26 19:19:35 -0600 (Tue, 26 Nov 2013)

Log Message

We have Java 1.4 as minimum. No need for reflection in StackTraceElementFactory anymore.

Modified Paths

Diff

Modified: trunk/xstream/src/java/com/thoughtworks/xstream/converters/extended/StackTraceElementFactory.java (2156 => 2157)


--- trunk/xstream/src/java/com/thoughtworks/xstream/converters/extended/StackTraceElementFactory.java	2013-11-26 23:02:56 UTC (rev 2156)
+++ trunk/xstream/src/java/com/thoughtworks/xstream/converters/extended/StackTraceElementFactory.java	2013-11-27 01:19:35 UTC (rev 2157)
@@ -1,6 +1,6 @@
 /*
  * Copyright (C) 2004 Joe Walnes.
- * Copyright (C) 2006, 2007 XStream Committers.
+ * Copyright (C) 2006, 2007, 2013 XStream Committers.
  * All rights reserved.
  *
  * The software in this package is published under the terms of the BSD
@@ -11,13 +11,8 @@
  */
 package com.thoughtworks.xstream.converters.extended;
 
-import com.thoughtworks.xstream.converters.ConversionException;
-
-import java.lang.reflect.Field;
-
 /**
  * Factory for creating StackTraceElements.
- * Factory for creating StackTraceElements.
  *
  * @author <a href="" K. Oxley (binkley)</a>
  * @author Joe Walnes
@@ -41,22 +36,6 @@
     }
 
     private StackTraceElement create(String declaringClass, String methodName, String fileName, int lineNumber) {
-        StackTraceElement result = new Throwable().getStackTrace()[0];
-        setField(result, "declaringClass", declaringClass);
-        setField(result, "methodName", methodName);
-        setField(result, "fileName", fileName);
-        setField(result, "lineNumber", new Integer(lineNumber));
-        return result;
+        return new StackTraceElement(declaringClass, methodName, fileName, lineNumber);
     }
-
-    private void setField(StackTraceElement element, String fieldName, Object value) {
-        try {
-            final Field field = StackTraceElement.class.getDeclaredField(fieldName);
-            field.setAccessible(true);
-            field.set(element, value);
-        } catch (Exception e) {
-            throw new ConversionException(e);
-        }
-    }
-
 }

Modified: trunk/xstream-distribution/src/content/changes.html (2156 => 2157)


--- trunk/xstream-distribution/src/content/changes.html	2013-11-26 23:02:56 UTC (rev 2156)
+++ trunk/xstream-distribution/src/content/changes.html	2013-11-27 01:19:35 UTC (rev 2157)
@@ -47,6 +47,7 @@
     <ul>
     	<li>JIRA:XSTR-739 and JIRA:XSTR-746: OrderRetainingMap fails if HashMap.putAll(Map) of Java Runtime is not
     	implemented calling put for every element within the map.</li>
+    	<li>No need for reflection in StackTraceElementFactory anymore. Avoids problems with SecurityManager and GAE.</li>
     </ul>
 
     <h1 id="1.4.5">1.4.5</h1>

To unsubscribe from this list please visit:

http://xircles.codehaus.org/manage_email

Reply via email to