From eddc2c4fb19259fea63ae48febe0453d86333db2 Mon Sep 17 00:00:00 2001 From: markt Date: Thu, 19 May 2011 16:27:42 +0000 Subject: [PATCH] More prep for BZ 33453. Include a comment header in generated Java files git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@1124987 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/jasper/compiler/Generator.java | 18 ++++++++++++++++++ webapps/docs/changelog.xml | 4 ++++ 2 files changed, 22 insertions(+) diff --git a/java/org/apache/jasper/compiler/Generator.java b/java/org/apache/jasper/compiler/Generator.java index ff11e41d3..115327948 100644 --- a/java/org/apache/jasper/compiler/Generator.java +++ b/java/org/apache/jasper/compiler/Generator.java @@ -23,15 +23,19 @@ import java.beans.Introspector; import java.beans.PropertyDescriptor; import java.lang.reflect.Method; import java.lang.reflect.Modifier; +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Arrays; import java.util.Collections; +import java.util.Date; import java.util.Enumeration; import java.util.HashMap; import java.util.Hashtable; import java.util.Iterator; import java.util.List; import java.util.Set; +import java.util.TimeZone; import java.util.Vector; import javax.el.MethodExpression; @@ -116,6 +120,8 @@ class Generator { private Vector tagHandlerPoolNames; private GenBuffer charArrayBuffer; + + private DateFormat timestampFormat; /** * @param s @@ -3436,6 +3442,8 @@ class Generator { if (isPoolingEnabled) { tagHandlerPoolNames = new Vector(); } + timestampFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + timestampFormat.setTimeZone(TimeZone.getTimeZone("UTC")); } /** @@ -3456,6 +3464,7 @@ class Generator { if (gen.isPoolingEnabled) { gen.compileTagHandlerPoolList(page); } + gen.generateCommentHeader(); if (gen.ctxt.isTagFile()) { JasperTagInfo tagInfo = (JasperTagInfo) gen.ctxt.getTagInfo(); gen.generateTagHandlerPreamble(tagInfo, page); @@ -3479,6 +3488,15 @@ class Generator { } } + private void generateCommentHeader() { + out.println("/*"); + out.println(" * Generated by the Jasper component of Apache Tomcat"); + out.println(" * Version: " + ctxt.getServletContext().getServerInfo()); + out.println(" * Generated at: " + timestampFormat.format(new Date()) + + " UTC"); + out.println(" */"); + } + /* * Generates tag handler preamble. */ diff --git a/webapps/docs/changelog.xml b/webapps/docs/changelog.xml index 35520ba6d..6d03d81c3 100644 --- a/webapps/docs/changelog.xml +++ b/webapps/docs/changelog.xml @@ -68,6 +68,10 @@ 51220: Add a system property to enable tag pooling with JSPs that use a custom base class. Based on a patch by Dan Mikusa. (markt) + + Include a comment header in generated java files that indicates when the + file was generated and which version of Tomcat generated it. (markt) + -- 2.11.0