Author: twerner Date: 2010-08-04 01:53:34 +0000 (Wed, 04 Aug 2010) New Revision: 12848
Added: trunk/libfreemarker-java/debian/patches/disable-jython-extension.patch Modified: trunk/libfreemarker-java/debian/changelog trunk/libfreemarker-java/debian/patches/series Log: Disable jython support because it is broken with jython >= 2.5. (Closes: #591109) Modified: trunk/libfreemarker-java/debian/changelog =================================================================== --- trunk/libfreemarker-java/debian/changelog 2010-08-03 10:33:28 UTC (rev 12847) +++ trunk/libfreemarker-java/debian/changelog 2010-08-04 01:53:34 UTC (rev 12848) @@ -1,3 +1,10 @@ +libfreemarker-java (2.3.16-3) unstable; urgency=low + + * Disable jython support because it is broken with jython >= 2.5. + (Closes: #591109) + + -- Torsten Werner <[email protected]> Wed, 04 Aug 2010 03:52:11 +0200 + libfreemarker-java (2.3.16-2) unstable; urgency=low [ Niels Thykier ] Added: trunk/libfreemarker-java/debian/patches/disable-jython-extension.patch =================================================================== --- trunk/libfreemarker-java/debian/patches/disable-jython-extension.patch (rev 0) +++ trunk/libfreemarker-java/debian/patches/disable-jython-extension.patch 2010-08-04 01:53:34 UTC (rev 12848) @@ -0,0 +1,113 @@ +From ecec63b55bf12bef19b2b316071d065b068746ea Mon Sep 17 00:00:00 2001 +From: Torsten Werner <[email protected]> +Date: Wed, 4 Aug 2010 03:02:05 +0200 +Subject: [PATCH] disable jython extension + +Freemarker 2.3.16 fails to build against jython 2.5 because the PyJavaInstance +class has been removed. See +<https://sourceforge.net/tracker/index.php?func=detail&aid=2831150&group_id=794&atid=100794> +for the upstream bug. +--- + build.xml | 1 - + src/freemarker/ext/jython/JythonHashModel.java | 4 +- + src/freemarker/ext/jython/JythonModelCache.java | 45 +---------------------- + 3 files changed, 3 insertions(+), 47 deletions(-) + +diff --git a/build.xml b/build.xml +index 25c5328..bb5631a 100644 +--- a/build.xml ++++ b/build.xml +@@ -513,7 +513,6 @@ Version: $Id: build.xml,v 1.138.2.4 2006/12/27 16:11:23 szegedia Exp $ + <antcall target="compile-logkit"/> + <antcall target="compile-jdk14"/> + <antcall target="compile-jdk15"/> +- <antcall target="compile-jython"/> + <antcall target="compile-dom4j"/> + <antcall target="compile-jdom"/> + <antcall target="compile-xalan"/> +diff --git a/src/freemarker/ext/jython/JythonHashModel.java b/src/freemarker/ext/jython/JythonHashModel.java +index f6ea9d3..1104bb8 100644 +--- a/src/freemarker/ext/jython/JythonHashModel.java ++++ b/src/freemarker/ext/jython/JythonHashModel.java +@@ -137,7 +137,7 @@ implements + { + throw new TemplateModelException(e); + } +- throw new TemplateModelException("'?keys' is not supported as there is no 'keys' nor 'keySet' attribute on an instance of " + object.getType().getFullName()); ++ throw new TemplateModelException("'?keys' is not supported as there is no 'keys' nor 'keySet' attribute"); + } + + /** +@@ -157,6 +157,6 @@ implements + { + throw new TemplateModelException(e); + } +- throw new TemplateModelException("'?values' is not supported as there is no 'values' attribute on an instance of " + object.getType().getFullName()); ++ throw new TemplateModelException("'?values' is not supported as there is no 'values' attribute"); + } + } +diff --git a/src/freemarker/ext/jython/JythonModelCache.java b/src/freemarker/ext/jython/JythonModelCache.java +index 9d29ca5..e506e9f 100644 +--- a/src/freemarker/ext/jython/JythonModelCache.java ++++ b/src/freemarker/ext/jython/JythonModelCache.java +@@ -10,7 +10,6 @@ import org.python.core.Py; + import org.python.core.PyDictionary; + import org.python.core.PyFloat; + import org.python.core.PyInteger; +-import org.python.core.PyJavaInstance; + import org.python.core.PyLong; + import org.python.core.PyNone; + import org.python.core.PyObject; +@@ -35,48 +34,6 @@ class JythonModelCache extends ModelCache + } + + protected TemplateModel create(Object obj) { +- boolean asHash = false; +- boolean asSequence = false; +- if(obj instanceof PyJavaInstance) { +- Object jobj = ((PyJavaInstance)obj).__tojava__(java.lang.Object.class); +- // FreeMarker-aware, Jython-wrapped Java objects are left intact +- if(jobj instanceof TemplateModel) { +- return (TemplateModel)jobj; +- } +- if(jobj instanceof Map) { +- asHash = true; +- } +- if (jobj instanceof Date) { +- return new DateModel((Date) jobj, BeansWrapper.getDefaultInstance()); +- } +- else if(jobj instanceof Collection) { +- asSequence = true; +- // FIXME: This is an ugly hack, but AFAIK, there's no better +- // solution if we want to have Sets and other non-List +- // collections managed by this layer, as Jython quite clearly +- // doesn't support sets. +- if(!(jobj instanceof List)) { +- obj = new ArrayList((Collection)jobj); +- } +- } +- } +- +- // If it's not a PyObject, first make a PyObject out of it. +- if(!(obj instanceof PyObject)) { +- obj = Py.java2py(obj); +- } +- if(asHash || obj instanceof PyDictionary || obj instanceof PyStringMap) { +- return JythonHashModel.FACTORY.create(obj, wrapper); +- } +- if(asSequence || obj instanceof PySequence) { +- return JythonSequenceModel.FACTORY.create(obj, wrapper); +- } +- if(obj instanceof PyInteger || obj instanceof PyLong || obj instanceof PyFloat) { +- return JythonNumberModel.FACTORY.create(obj, wrapper); +- } +- if(obj instanceof PyNone) { +- return null; +- } +- return JythonModel.FACTORY.create(obj, wrapper); ++ throw new RuntimeException("Jython support is broken!"); + } + } +-- +1.7.1 + Modified: trunk/libfreemarker-java/debian/patches/series =================================================================== --- trunk/libfreemarker-java/debian/patches/series 2010-08-03 10:33:28 UTC (rev 12847) +++ trunk/libfreemarker-java/debian/patches/series 2010-08-04 01:53:34 UTC (rev 12848) @@ -4,3 +4,4 @@ javacc.diff jsp_api.diff def-jdk-doc.patch +disable-jython-extension.patch _______________________________________________ pkg-java-commits mailing list [email protected] http://lists.alioth.debian.org/mailman/listinfo/pkg-java-commits

