You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@velocity.apache.org by wg...@apache.org on 2007/10/17 06:59:46 UTC
svn commit: r585372 - in /velocity/texen/trunk: build/build.xml
src/java/org/apache/texen/Generator.java
src/test/org/apache/texen/test/ExtendedTexenTask.java
Author: wglass
Date: Tue Oct 16 21:59:46 2007
New Revision: 585372
URL: http://svn.apache.org/viewvc?rev=585372&view=rev
Log:
change Generator so it can be subclassed
Added:
velocity/texen/trunk/src/test/org/apache/texen/test/ExtendedTexenTask.java (with props)
Modified:
velocity/texen/trunk/build/build.xml
velocity/texen/trunk/src/java/org/apache/texen/Generator.java
Modified: velocity/texen/trunk/build/build.xml
URL: http://svn.apache.org/viewvc/velocity/texen/trunk/build/build.xml?rev=585372&r1=585371&r2=585372&view=diff
==============================================================================
--- velocity/texen/trunk/build/build.xml (original)
+++ velocity/texen/trunk/build/build.xml Tue Oct 16 21:59:46 2007
@@ -510,7 +510,7 @@
<target name="test"
- depends="build-prepare,compile-test,test-texen,test-texen-classpath,test-manyfiles"/>
+ depends="build-prepare,compile-test,test-texen,test-texen-classpath,test-manyfiles,test-texen-extendedGenerator"/>
<!-- ================================================================ -->
<!-- T E X E N T E S T -->
@@ -537,6 +537,26 @@
</java>
</target>
+
+ <target name="test-texen-extendedGenerator">
+
+ <taskdef name="texen" classname="org.apache.texen.test.ExtendedTexenTask"
+ classpathref="test.classpath"/>
+
+ <texen
+ contextProperties="${test.dir}/texen/service.props,${test.dir}/texen/additional.props"
+ controlTemplate="Control.vm"
+ outputDirectory="${build.test}/texen"
+ templatePath="${test.dir}/texen/templates"
+ outputFile="report"
+ />
+
+ <java classname="${test.runner}" fork="yes" dir="${app.dir}" failonerror="${test.haltonerror}"
+ classpathref="test.classpath">
+ <arg value="org.apache.texen.TexenTestCase"/>
+ </java>
+
+ </target>
<!-- ================================================================ -->
<!-- T E S T M A N Y F I L E S -->
Modified: velocity/texen/trunk/src/java/org/apache/texen/Generator.java
URL: http://svn.apache.org/viewvc/velocity/texen/trunk/src/java/org/apache/texen/Generator.java?rev=585372&r1=585371&r2=585372&view=diff
==============================================================================
--- velocity/texen/trunk/src/java/org/apache/texen/Generator.java (original)
+++ velocity/texen/trunk/src/java/org/apache/texen/Generator.java Tue Oct 16 21:59:46 2007
@@ -19,24 +19,6 @@
* under the License.
*/
-import java.io.BufferedInputStream;
-import java.io.BufferedWriter;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.FileWriter;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStreamWriter;
-import java.io.StringWriter;
-import java.io.Writer;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Hashtable;
-import java.util.Iterator;
-import java.util.Properties;
-import java.util.Set;
-
import org.apache.commons.collections.map.AbstractLinkedMap;
import org.apache.commons.collections.map.LRUMap;
import org.apache.velocity.Template;
@@ -45,6 +27,14 @@
import org.apache.velocity.context.Context;
import org.apache.velocity.util.ClassUtils;
+import java.io.*;
+import java.util.Enumeration;
+import java.util.HashSet;
+import java.util.Hashtable;
+import java.util.Iterator;
+import java.util.Properties;
+import java.util.Set;
+
/**
* A text/code generator class
*
@@ -105,7 +95,7 @@
* output withing the control template. This could
* use some cleaning up.
*/
- private static Generator instance = new Generator();
+ private static Generator instance;
/**
* This is the encoding for the output file(s).
@@ -126,8 +116,11 @@
/**
* Default constructor.
*/
- private Generator()
+ protected Generator()
{
+ if (instance!=null)
+ throw new IllegalStateException("Generator.instance!=null");
+ instance = this;
setDefaultProps();
}
@@ -138,6 +131,8 @@
*/
public static Generator getInstance()
{
+ if (instance==null)
+ new Generator();
return instance;
}
@@ -160,6 +155,12 @@
*/
public Generator (String propFile)
{
+ if (instance!=null)
+ {
+ throw new IllegalStateException("Generator.instance!=null");
+ }
+
+ instance = this;
try
{
BufferedInputStream bi = null;
@@ -196,6 +197,11 @@
*/
public Generator (Properties props)
{
+ if (instance!=null)
+ {
+ throw new IllegalStateException("Generator.instance!=null");
+ }
+ instance = this;
this.props = (Properties)props.clone();
}
Added: velocity/texen/trunk/src/test/org/apache/texen/test/ExtendedTexenTask.java
URL: http://svn.apache.org/viewvc/velocity/texen/trunk/src/test/org/apache/texen/test/ExtendedTexenTask.java?rev=585372&view=auto
==============================================================================
--- velocity/texen/trunk/src/test/org/apache/texen/test/ExtendedTexenTask.java (added)
+++ velocity/texen/trunk/src/test/org/apache/texen/test/ExtendedTexenTask.java Tue Oct 16 21:59:46 2007
@@ -0,0 +1,26 @@
+package org.apache.texen.test;
+
+import org.apache.texen.ant.TexenTask;
+import org.apache.texen.Generator;
+
+/**
+ * @author SZarnekow
+ * @author
+ * @version $Id$
+ */
+public class ExtendedTexenTask extends TexenTask
+{
+
+ protected Generator createGenerator()
+ {
+ return new ExtendedGenerator();
+ }
+
+ public static class ExtendedGenerator extends Generator
+ {
+ public ExtendedGenerator()
+ {
+ super();
+ }
+ }
+}
Propchange: velocity/texen/trunk/src/test/org/apache/texen/test/ExtendedTexenTask.java
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: velocity/texen/trunk/src/test/org/apache/texen/test/ExtendedTexenTask.java
------------------------------------------------------------------------------
svn:keywords = Id Author Date Revision