Re: cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/compatJdk14Compat.java JdkCompat.java

2003-07-18 Thread Tim Funk
I have no issue with substring use for jdk1.3 getPartialServletStackTrace() 
since it should not get called often so the performance shouldn't be an issue 
(or am I missing something more subtle).

Possible alternative (for the 1.3 version).
public String getPartialServletStackTrace(Throwable t) {
StringWriter stackTrace = new StringWriter();
t.printStackTrace(new PrintWriter(stackTrace));
String st = stackTrace.toString();
int i = st.lastIndexOf(javax.servlet.);
if (i-1)
return st.substring(0, i);
else
return st;
}
-Tim

[EMAIL PROTECTED] wrote:
remm2003/07/18 15:24:38

  Modified:util/java/org/apache/tomcat/util/compat Jdk14Compat.java
JdkCompat.java
  Log:
  - Add compat code to print out partial stack traces.


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/compatJdk14Compat.java JdkCompat.java

2003-07-18 Thread Remy Maucherat
Tim Funk wrote:
I have no issue with substring use for jdk1.3 
getPartialServletStackTrace() since it should not get called often so 
the performance shouldn't be an issue (or am I missing something more 
subtle).
Yes, zero performance impact.

Possible alternative (for the 1.3 version).
public String getPartialServletStackTrace(Throwable t) {
StringWriter stackTrace = new StringWriter();
t.printStackTrace(new PrintWriter(stackTrace));
String st = stackTrace.toString();
int i = st.lastIndexOf(javax.servlet.);
if (i-1)
return st.substring(0, i);
else
return st;
}
Sounds like a good start. There should be a 	at  prefix in front of 
each line (which is something I don't like with traces, since the at 
can never be i18n ready). I'll try to hack that a little bit tomorrow, 
unless it gets automagically done while I sleep :)

Remy



-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Re: cvs commit: jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/compatJdk14Compat.java JdkCompat.java

2003-02-04 Thread Tim Funk
JdkCompat.java has two static declarations of itself, compat and 
jdkCompat. Which could be OK but getJdkCompat() returns jdkCompat while 
init() assigns a JdkCompat instance to compat. The side effect is the 
usage of JdkCompat fails and no webapps may run because of NPE.

Attached is a patch which removes all refs to compat and renames to 
jdkCompat. This patch also detabs the file.

Thanks Bill for getting this in!

-Tim

Index: JdkCompat.java
===
RCS file: 
/home/cvspublic/jakarta-tomcat-connectors/util/java/org/apache/tomcat/util/compat/JdkCompat.java,v
retrieving revision 1.2
diff -u -r1.2 JdkCompat.java
--- JdkCompat.java  4 Feb 2003 07:16:47 -   1.2
+++ JdkCompat.java  4 Feb 2003 13:47:32 -
@@ -86,10 +86,6 @@
 public static final String JDK14_CLASS = org.apache.catalina.util.Jdk14Compat;
 
 // --- Static Variables
-/**
- *  The static instance holder.
- */
-static JdkCompat jdkCompat;
 
 /**
  *  Commons logger wrapper
@@ -99,19 +95,19 @@
 /** Return java version as a string
  */
 public static String getJavaVersion() {
-   return javaVersion;
+return javaVersion;
 }
 
 public static boolean isJava2() {
-   return java2;
-} 
-   
+return java2;
+}
+
 public static boolean isJava14() {
-   return java14;
+return java14;
 }
 
 //  Implementation 
-
+
 // from ant
 public static final String JAVA_1_0 = 1.0;
 public static final String JAVA_1_1 = 1.1;
@@ -122,15 +118,15 @@
 static String javaVersion;
 static boolean java2=false;
 static boolean java14=false;
-static JdkCompat compat;
-
+static JdkCompat jdkCompat;
+
 static {
-   init();
+init();
 }
 
 // class providing java2 support
 static final String JAVA14_SUPPORT=
-   org.apache.tomcat.util.compat.Jdk14Compat;
+org.apache.tomcat.util.compat.Jdk14Compat;
 
 private static void init() {
 try {
@@ -138,27 +134,27 @@
 Class.forName(java.lang.Void);
 javaVersion = JAVA_1_1;
 Class.forName(java.lang.ThreadLocal);
-   java2=true;
+java2=true;
 javaVersion = JAVA_1_2;
 Class.forName(java.lang.StrictMath);
 javaVersion = JAVA_1_3;
-   Class.forName(java.lang.CharSequence);
-   javaVersion = JAVA_1_4;
-   java14=true;
+Class.forName(java.lang.CharSequence);
+javaVersion = JAVA_1_4;
+java14=true;
 } catch (ClassNotFoundException cnfe) {
 // swallow as we've hit the max class version that we have
 }
-   if( java14 ) {
-   try {
-   Class c=Class.forName(JAVA14_SUPPORT);
-   compat=(JdkCompat)c.newInstance();
-   } catch( Exception ex ) {
-   compat=new JdkCompat();
-   }
-   } else {
-   compat=new JdkCompat();
-   // Install jar handler if none installed
-   }
+if( java14 ) {
+try {
+Class c=Class.forName(JAVA14_SUPPORT);
+jdkCompat=(JdkCompat)c.newInstance();
+} catch( Exception ex ) {
+jdkCompat=new JdkCompat();
+}
+} else {
+jdkCompat=new JdkCompat();
+// Install jar handler if none installed
+}
 }
 
 // --- Constructors


-
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]