Tiles
  1. Tiles
  2. TILES-276

tiles:putListAttribute - PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0.5, 2.0.6
    • Fix Version/s: 2.0.7
    • Labels:
      None
    • Environment:

      Description

      'PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods'

      i am getting 'PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods'
      exception in <tiles:putListAttribute name="list">

      <%@ taglib uri="http://tiles.apache.org/tags-tiles" prefix="tiles" %>

      <tiles:insertTemplate template="/putattributeslayout.jsp">
      <tiles:putAttribute name="stringTest" value="This is a string" type="string" />
      <tiles:putListAttribute name="list">
      <tiles:addAttribute value="valueOne" type="string" />
      <tiles:addAttribute value="valueTwo" type="string" />
      <tiles:addAttribute value="valueThree" type="string" />
      </tiles:putListAttribute>
      </tiles:insertTemplate>

      i included
      backport-util-concurrent-3.0.jar
      commons-beanutils-1.7.0.jar
      commons-digester-1.8.jar
      commons-logging-api-1.1.jar
      freemarker-2.3.10.jar
      jstl-1.1.2.jar
      retrotranslator-runtime-1.2.1.jar
      standard-1.1.2.jar
      tiles-api-2.0.6-j4.jar
      tiles-core-2.0.6-j4.jar
      tiles-jsp-2.0.6-j4.jar
      xalan.jar
      xercesImpl.jar
      xml-apis.jar

      Caused by: java.lang.Error: PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods
      at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java(Compiled Code))
      at java.beans.Introspector.processPropertyDescriptors(Introspector.java(Compiled Code))
      at java.beans.Introspector.getTargetPropertyInfo(Introspector.java(Compiled Code))
      at java.beans.Introspector.getBeanInfo(Introspector.java(Inlined Compiled Code))
      at java.beans.Introspector.getBeanInfo(Introspector.java(Compiled Code))
      at freemarker.ext.jsp.TagTransformModel.<init>(TagTransformModel.java:116)
      at freemarker.ext.jsp.TaglibFactory$TldParser.endElement(TaglibFactory.java:581)
      at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
      at org.apache.xerces.impl.dtd.XMLDTDValidator.endNamespaceScope(Unknown Source)
      at org.apache.xerces.impl.dtd.XMLDTDValidator.handleEndElement(Unknown Source)
      at org.apache.xerces.impl.dtd.XMLDTDValidator.endElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
      at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
      at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
      at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
      at freemarker.ext.jsp.TaglibFactory.parseXml(TaglibFactory.java:368)
      at freemarker.ext.jsp.TaglibFactory.loadTaglib(TaglibFactory.java:437)
      at freemarker.ext.jsp.TaglibFactory.access$300(TaglibFactory.java:105)
      at freemarker.ext.jsp.TaglibFactory$Taglib.load(TaglibFactory.java:401)
      at freemarker.ext.jsp.TaglibFactory.get(TaglibFactory.java:158)
      at freemarker.core.DynamicKeyName.dealWithStringKey(DynamicKeyName.java:136)
      at freemarker.core.DynamicKeyName._getAsTemplateModel(DynamicKeyName.java:94)
      at freemarker.core.Expression.getAsTemplateModel(Expression.java:89)
      at freemarker.core.Assignment.accept(Assignment.java:90)
      at freemarker.core.Environment.visit(Environment.java:196)
      at freemarker.core.MixedContent.accept(MixedContent.java:92)
      at freemarker.core.Environment.visit(Environment.java:196)
      at freemarker.core.Environment.process(Environment.java:176)
      at freemarker.template.Template.process(Template.java:232)
      at freemarker.ext.servlet.FreemarkerServlet.process(FreemarkerServlet.java:427)
      at freemarker.ext.servlet.FreemarkerServlet.doGet(FreemarkerServlet.java:366)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1572)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1521)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:113)
      at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:82)
      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:759)
      at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.include(WebAppRequestDispatcher.java:633)
      at org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:1034)
      at org.apache.jasper.runtime.PageContextImpl.include(PageContextImpl.java:490)
      at org.apache.tiles.jsp.context.JspTilesRequestContext.include(JspTilesRequestContext.java:80)
      ... 37 more

      1. tiles-test-j4.zip
        2.09 MB
        Dev Naga
      2. tiles2testEAR.ear
        4.89 MB
        Dev Naga
      3. tiles2.0-antonio.zip
        406 kB
        Dev Naga
      4. tiles2_test_wksp.zip
        4.91 MB
        Dev Naga
      5. tiles2_test_wksp.zip
        4.98 MB
        Dev Naga
      6. TestPutListAttribute.java
        0.7 kB
        Antonio Petrelli
      7. pom_build_succ with error.txt
        18 kB
        Dev Naga

        Activity

        Hide
        Antonio Petrelli added a comment -

        It seems that it is a problem with FreeMarker.
        Try downloading the latest versions of FreeMarker.

        Show
        Antonio Petrelli added a comment - It seems that it is a problem with FreeMarker. Try downloading the latest versions of FreeMarker.
        Hide
        Dev Naga added a comment -

        'PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods'

        Still I face the same exception in <tiles:putListAttribute name="list"> without using code for freemarker in my project.

        Its true that I face the same error while running freemarker sample code in websphere 6 & jdk1.4 with tiles2.0.5 or above. Here I am using freemarker-2.3.10.jar.

        When I try to download FreeMarker from http://freemarker.sourceforge.net/freemarkerdownload.html, I got the got warning as below

        "WARNING! Currently, releases with different second version number (as 2.2.x and 2.3.x) are not compatible; please check the release notes in the Manual if you must update freemarker.jar in a project. Releases where only the third version number differs (as 2.2, 2.2.1 and 2.2.8) are compatible. "

        Show
        Dev Naga added a comment - 'PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods' Still I face the same exception in <tiles:putListAttribute name="list"> without using code for freemarker in my project. Its true that I face the same error while running freemarker sample code in websphere 6 & jdk1.4 with tiles2.0.5 or above. Here I am using freemarker-2.3.10.jar. When I try to download FreeMarker from http://freemarker.sourceforge.net/freemarkerdownload.html , I got the got warning as below "WARNING! Currently, releases with different second version number (as 2.2.x and 2.3.x) are not compatible; please check the release notes in the Manual if you must update freemarker.jar in a project. Releases where only the third version number differs (as 2.2, 2.2.1 and 2.2.8) are compatible. "
        Hide
        Antonio Petrelli added a comment -

        So you can safely update from FreeMarker 2.3.10 to 2.3.13.

        Can I see the stack trace without the use of FreeMarker?

        What version of Xerces are you using?

        Show
        Antonio Petrelli added a comment - So you can safely update from FreeMarker 2.3.10 to 2.3.13. Can I see the stack trace without the use of FreeMarker? What version of Xerces are you using?
        Hide
        Dev Naga added a comment -

        I get the same error message mentioned below with or without

        xalan.jar
        xercesImpl.jar
        xml-apis.jar

        along with other libraries

        backport-util-concurrent-3.0.jar
        retrotranslator-runtime-1.2.1.jar

        commons-beanutils-1.7.0.jar
        commons-digester-1.8.jar
        commons-logging-api-1.1.jar

        jstl-1.1.2.jar
        standard-1.1.2.jar

        tiles-api-2.0.6-j4.jar
        tiles-core-2.0.6-j4.jar
        tiles-jsp-2.0.6-j4.jar

        [6/5/08 10:11:18:624 PDT] 00000068 WebApp E SRVE0026E: [Servlet Error]-[PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods]: java.lang.Error: PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods
        at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java(Compiled Code))
        at java.beans.Introspector.processPropertyDescriptors(Introspector.java(Compiled Code))
        at java.beans.Introspector.getTargetPropertyInfo(Introspector.java(Compiled Code))
        at java.beans.Introspector.getBeanInfo(Introspector.java(Inlined Compiled Code))
        at java.beans.Introspector.getBeanInfo(Introspector.java(Compiled Code))
        at com.ibm.ws.jsp.taglib.TagClassInfo.getParameterClassName(TagClassInfo.java:153)
        at com.ibm.ws.jsp.translator.visitor.generator.BaseTagGenerator.evaluateAttribute(BaseTagGenerator.java:331)
        at com.ibm.ws.jsp.translator.visitor.generator.BaseTagGenerator.generateSetters(BaseTagGenerator.java:220)
        at com.ibm.ws.jsp.translator.visitor.generator.CustomTagGenerator.startGeneration(CustomTagGenerator.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.generator.GenerateVisitor.startGeneration(GenerateVisitor.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.generator.GenerateVisitor.visitCustomTagStart(GenerateVisitor.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java(Compiled Code))
        at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:110)
        at com.ibm.ws.jsp.translator.visitor.generator.GenerateJspVisitor.visit(GenerateJspVisitor.java:136)
        at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:121)
        at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:169)
        at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:82)
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.translateJsp(JSPExtensionServletWrapper.java:386)
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper._checkForTranslation(JSPExtensionServletWrapper.java:355)
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.checkForTranslation(JSPExtensionServletWrapper.java:263)
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:150)
        at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254)
        at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071)
        at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236)
        at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
        at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958)
        at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:89)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411)
        at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
        at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207)
        at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952)
        at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039)
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))

        Show
        Dev Naga added a comment - I get the same error message mentioned below with or without xalan.jar xercesImpl.jar xml-apis.jar along with other libraries backport-util-concurrent-3.0.jar retrotranslator-runtime-1.2.1.jar commons-beanutils-1.7.0.jar commons-digester-1.8.jar commons-logging-api-1.1.jar jstl-1.1.2.jar standard-1.1.2.jar tiles-api-2.0.6-j4.jar tiles-core-2.0.6-j4.jar tiles-jsp-2.0.6-j4.jar [6/5/08 10:11:18:624 PDT] 00000068 WebApp E SRVE0026E: [Servlet Error] - [PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods] : java.lang.Error: PropertyDescriptor: internal error while merging PDs: type mismatch between read and write methods at java.beans.PropertyDescriptor.<init>(PropertyDescriptor.java(Compiled Code)) at java.beans.Introspector.processPropertyDescriptors(Introspector.java(Compiled Code)) at java.beans.Introspector.getTargetPropertyInfo(Introspector.java(Compiled Code)) at java.beans.Introspector.getBeanInfo(Introspector.java(Inlined Compiled Code)) at java.beans.Introspector.getBeanInfo(Introspector.java(Compiled Code)) at com.ibm.ws.jsp.taglib.TagClassInfo.getParameterClassName(TagClassInfo.java:153) at com.ibm.ws.jsp.translator.visitor.generator.BaseTagGenerator.evaluateAttribute(BaseTagGenerator.java:331) at com.ibm.ws.jsp.translator.visitor.generator.BaseTagGenerator.generateSetters(BaseTagGenerator.java:220) at com.ibm.ws.jsp.translator.visitor.generator.CustomTagGenerator.startGeneration(CustomTagGenerator.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.generator.GenerateVisitor.startGeneration(GenerateVisitor.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.generator.GenerateVisitor.visitCustomTagStart(GenerateVisitor.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processChildren(JspVisitor.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.JspVisitor.visit(JspVisitor.java:110) at com.ibm.ws.jsp.translator.visitor.generator.GenerateJspVisitor.visit(GenerateJspVisitor.java:136) at com.ibm.ws.jsp.translator.JspTranslator.processVisitors(JspTranslator.java:121) at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJsp(JspTranslatorUtil.java:169) at com.ibm.ws.jsp.translator.utils.JspTranslatorUtil.translateJspAndCompile(JspTranslatorUtil.java:82) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.translateJsp(JSPExtensionServletWrapper.java:386) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper._checkForTranslation(JSPExtensionServletWrapper.java:355) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.checkForTranslation(JSPExtensionServletWrapper.java:263) at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java:150) at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:254) at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3071) at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:236) at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1958) at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:89) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:472) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:411) at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:207) at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:109) at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:566) at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:619) at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:952) at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1039) at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
        Hide
        Antonio Petrelli added a comment -

        Ok I think I've found the problem.
        It seems that Java 1.4 added a stricter check in the introspector. The problem is the "getValue" method of the PutListAttributeTag class, that overrides the "getValue" method of "PutAttributeTag", but with a different return value.
        Now I am guessing if it is a bug of an old version of JDK 1.4.

        What version of Websphere are you using? And version/manufacturer of the JVM?

        Show
        Antonio Petrelli added a comment - Ok I think I've found the problem. It seems that Java 1.4 added a stricter check in the introspector. The problem is the "getValue" method of the PutListAttributeTag class, that overrides the "getValue" method of "PutAttributeTag", but with a different return value. Now I am guessing if it is a bug of an old version of JDK 1.4. What version of Websphere are you using? And version/manufacturer of the JVM?
        Hide
        Dev Naga added a comment -

        WebSphere Platform 6.0 [BASE 6.0.2.15 cf150636.04] running with process name MD010AD3162125Node01Cell\MD010AD3162125Node01\server1 and process id 3492
        Host Operating System is Windows XP, version 5.1
        Java version = J2RE 1.4.2 IBM Windows 32 build cn142-20060421 (SR5) (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM

        Show
        Dev Naga added a comment - WebSphere Platform 6.0 [BASE 6.0.2.15 cf150636.04] running with process name MD010AD3162125Node01Cell\MD010AD3162125Node01\server1 and process id 3492 Host Operating System is Windows XP, version 5.1 Java version = J2RE 1.4.2 IBM Windows 32 build cn142-20060421 (SR5) (JIT enabled: jitc), Java Compiler = jitc, Java VM name = Classic VM
        Hide
        Antonio Petrelli added a comment -

        There was a similar bug in Sun's JDK:
        http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4492258

        Try updating Websphere and the JRE to the latest version:
        http://www-1.ibm.com/support/docview.wss?uid=swg27004980#ver60

        Good luck!

        Show
        Antonio Petrelli added a comment - There was a similar bug in Sun's JDK: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4492258 Try updating Websphere and the JRE to the latest version: http://www-1.ibm.com/support/docview.wss?uid=swg27004980#ver60 Good luck!
        Hide
        Dev Naga added a comment - - edited

        I have the following link

        http://en.wikipedia.org/wiki/Comparison_of_backporting_tools
        http://retrotranslator.sourceforge.net/

        talks about retrotranslator and "How to produce a jar file compatible with Java 1.4?"

        We are also using the same

        backport-util-concurrent-3.0.jar
        retrotranslator-runtime-1.2.1.jar

        to support transparent bytecode enhancement which allows to develop against 1.5 and seamlessly deploy on 1.4.

        Wont it support for covariant return types?

        I need the solution in this way, as it seems to be not possible to upgrade the server or jre which results some tedious process.

        Show
        Dev Naga added a comment - - edited I have the following link http://en.wikipedia.org/wiki/Comparison_of_backporting_tools http://retrotranslator.sourceforge.net/ talks about retrotranslator and "How to produce a jar file compatible with Java 1.4?" We are also using the same backport-util-concurrent-3.0.jar retrotranslator-runtime-1.2.1.jar to support transparent bytecode enhancement which allows to develop against 1.5 and seamlessly deploy on 1.4. Wont it support for covariant return types? I need the solution in this way, as it seems to be not possible to upgrade the server or jre which results some tedious process.
        Hide
        Antonio Petrelli added a comment -

        Ok, I have a WebSphere environment ready here (with 6.0.2.27 version). Can you attach a small package (ear or war, preferably with source) to this issue that shows the bug?

        Thanks

        Show
        Antonio Petrelli added a comment - Ok, I have a WebSphere environment ready here (with 6.0.2.27 version). Can you attach a small package (ear or war, preferably with source) to this issue that shows the bug? Thanks
        Hide
        Dev Naga added a comment -

        file is attahed for debugging property descriptor error

        I have attached the websphere6.0 workspace folder contains war & ear for tiles2.0.6 examples (downloaded from apache tiles). here i have the latest version of freemarker-2.3.13. Added related src & some extra lib from tiles2.0.5.

        i marked the not working links as red in the index.jsp

        Show
        Dev Naga added a comment - file is attahed for debugging property descriptor error I have attached the websphere6.0 workspace folder contains war & ear for tiles2.0.6 examples (downloaded from apache tiles). here i have the latest version of freemarker-2.3.13. Added related src & some extra lib from tiles2.0.5. i marked the not working links as red in the index.jsp
        Hide
        Antonio Petrelli added a comment -

        I have problems seeing your projects, since I use RAD 6.0.1.2.
        Can you export it as an EAR file?

        I found a glitch in your project, it seems that it is bound to Websphere 6.1 runtime, instead of 6.0.

        Thanks.

        Show
        Antonio Petrelli added a comment - I have problems seeing your projects, since I use RAD 6.0.1.2. Can you export it as an EAR file? I found a glitch in your project, it seems that it is bound to Websphere 6.1 runtime, instead of 6.0. Thanks.
        Hide
        Dev Naga added a comment -

        Herewith i have attached tiles2testEAR.ear file.

        i agree that I have two environments for websphere 6.0 & websphere 6.1. But I am using the websphere6.0 server to run my application.

        Show
        Dev Naga added a comment - Herewith i have attached tiles2testEAR.ear file. i agree that I have two environments for websphere 6.0 & websphere 6.1. But I am using the websphere6.0 server to run my application.
        Hide
        Antonio Petrelli added a comment -

        I am sorry that, to test on a Websphere environment, I have to wait Monday (I have Websphere at work, but not at home).

        Anyway, I tried with Tomcat 5.5.26 + Sun's JDK 1.4.2_17 under Linux and the test webapp works (I had to copy the retrotranslator packages manually), in particular the "testputlist.jsp" test works (that uses the <tiles:putListAttribute>).

        Show
        Antonio Petrelli added a comment - I am sorry that, to test on a Websphere environment, I have to wait Monday (I have Websphere at work, but not at home). Anyway, I tried with Tomcat 5.5.26 + Sun's JDK 1.4.2_17 under Linux and the test webapp works (I had to copy the retrotranslator packages manually), in particular the "testputlist.jsp" test works (that uses the <tiles:putListAttribute>).
        Hide
        Dev Naga added a comment - - edited

        Great!

        I have time till comming tuesday to resolve the tiles2 issue working along with websphere 6.0 & jdk1.4.

        Thanks!

        p.s. I m thinking to change the code manually & rebuild the tiles-jsp.jar again and test it, to work it out, in the worst case.

        Show
        Dev Naga added a comment - - edited Great! I have time till comming tuesday to resolve the tiles2 issue working along with websphere 6.0 & jdk1.4. Thanks! p.s. I m thinking to change the code manually & rebuild the tiles-jsp.jar again and test it, to work it out, in the worst case.
        Hide
        Antonio Petrelli added a comment -

        Added a JUnit test case that shows how the introspector works with PutListAttributeTag.
        It seems to work with JDK 1.4.2_17 from Sun. Can you try it with the Websphere one?

        Libs:
        tiles-api-2.0.6-j4.jar
        tiles-core-2.0.6-j4.jar
        tiles-jsp-2.0.6-j4.jar
        commons-logging
        jsp-api.jar

        Show
        Antonio Petrelli added a comment - Added a JUnit test case that shows how the introspector works with PutListAttributeTag. It seems to work with JDK 1.4.2_17 from Sun. Can you try it with the Websphere one? Libs: tiles-api-2.0.6-j4.jar tiles-core-2.0.6-j4.jar tiles-jsp-2.0.6-j4.jar commons-logging jsp-api.jar
        Hide
        Dev Naga added a comment -

        Same problem persists.

        Verfied that the java build path is pointing to jdk1.4.2_17 and jdk compiler compliance level as 1.4.

        And included jsp-api.jar along with the existing libs (i have attached the latest modified project file)

        Now the runtime environment is pointing to websphere 6.0

        WebSphere Platform 6.0 [BASE 6.0.2.15 cf150636.04] running with process name MD010AD3162125Node01Cell\MD010AD3162125Node01\server1 and process id 2104
        Host Operating System is Windows XP, version 5.1
        Java version = J2RE 1.4.2 IBM Windows 32 build cn142-20060421 (SR5) (JIT enabled: jitc), Java Compiler = jitc, Java VM name =

        Show
        Dev Naga added a comment - Same problem persists. Verfied that the java build path is pointing to jdk1.4.2_17 and jdk compiler compliance level as 1.4. And included jsp-api.jar along with the existing libs (i have attached the latest modified project file) Now the runtime environment is pointing to websphere 6.0 WebSphere Platform 6.0 [BASE 6.0.2.15 cf150636.04] running with process name MD010AD3162125Node01Cell\MD010AD3162125Node01\server1 and process id 2104 Host Operating System is Windows XP, version 5.1 Java version = J2RE 1.4.2 IBM Windows 32 build cn142-20060421 (SR5) (JIT enabled: jitc), Java Compiler = jitc, Java VM name =
        Hide
        Antonio Petrelli added a comment -

        Maybe I have not been clear.
        You have to run that JUnit test case, using Websphere runtime environment (JVM and runtime libraries).
        I think that there is a problem in the J2RE distributed by IBM.

        Show
        Antonio Petrelli added a comment - Maybe I have not been clear. You have to run that JUnit test case, using Websphere runtime environment (JVM and runtime libraries). I think that there is a problem in the J2RE distributed by IBM.
        Hide
        Dev Naga added a comment -

        I would like to know where can I find Junit test case for tiles2.

        I could see the selenium tiles-2.0.6\src\tiles-test\src\test\selenium\PutListTagTest.html

        Show
        Dev Naga added a comment - I would like to know where can I find Junit test case for tiles2. I could see the selenium tiles-2.0.6\src\tiles-test\src\test\selenium\PutListTagTest.html
        Hide
        Antonio Petrelli added a comment -

        Test cases are under src/test/java of every module (tiles-core, tiles-api, etc.). Currently there is no test case for PutListAttributeTag. But that's not important (at the moment).
        You can create a project under RAD and run that class as a JUnit test case.

        Show
        Antonio Petrelli added a comment - Test cases are under src/test/java of every module (tiles-core, tiles-api, etc.). Currently there is no test case for PutListAttributeTag. But that's not important (at the moment). You can create a project under RAD and run that class as a JUnit test case.
        Hide
        Antonio Petrelli added a comment -

        Ok confirmed, I have Websphere 6.0.2.27 and IT DOES NOT WORK!
        Now it is time to investigate what does not work (I think that there is a problem with Retrotranslator).
        I wish not to touch Tiles sources, since it is an external bug. Anyway Tiles is open source, so you can change your code at your side

        Show
        Antonio Petrelli added a comment - Ok confirmed, I have Websphere 6.0.2.27 and IT DOES NOT WORK! Now it is time to investigate what does not work (I think that there is a problem with Retrotranslator). I wish not to touch Tiles sources, since it is an external bug. Anyway Tiles is open source, so you can change your code at your side
        Hide
        Dev Naga added a comment - - edited

        I have little concern about the freemarker also. The same 'PropertyDescriptor' problem persists in it even though including the latest version of freemarker-2.3.13.jar.

        Show
        Dev Naga added a comment - - edited I have little concern about the freemarker also. The same 'PropertyDescriptor' problem persists in it even though including the latest version of freemarker-2.3.13.jar.
        Hide
        Antonio Petrelli added a comment -

        I committed some modifications to AddListAttributeTag and PutListAttributeTag, now it should work.
        You have to check out the TILES_2_0_X branch:
        http://svn.apache.org/repos/asf/tiles/framework/branches/TILES_2_0_X/
        Let me know if it works.

        Show
        Antonio Petrelli added a comment - I committed some modifications to AddListAttributeTag and PutListAttributeTag, now it should work. You have to check out the TILES_2_0_X branch: http://svn.apache.org/repos/asf/tiles/framework/branches/TILES_2_0_X/ Let me know if it works.
        Hide
        Dev Naga added a comment -

        Thank you so much Antonio.

        I have downloaded the AddListAttributeTag and PutListAttributeTag java files from svn and compiled it using Java5(by changing the project facets in preferences) and copied the compiled version of those files into the classes folder under its corresponding package. I got the following unsupported version error occurs. Did i do anything wrong in it? Wont retrotranslator help here. And I feel difficult to checkout each file from the svn repository. Can I have the compiled version of jar file, please?

        Error 500: LinkageError while defining class: org.apache.tiles.jsp.taglib.PutListAttributeTag Could not be defined due to: org/apache/tiles/jsp/taglib/PutListAttributeTag (Unsupported major.minor version 49.0) This is often caused by having a class defined at multiple locations within the classloader hierarchy. Other potential causes include compiling against an older or newer version of the class that has an incompatible method signature. Dumping the current context classloader hierarchy: ==> indicates defining classloader [0] com.ibm.ws.bootstrap.ExtClassLoader@7b6487a0 [1] sun.misc.Launcher$AppClassLoader@7b7607a0 [2] sun.misc.Launcher$ExtClassLoader@7b7207a0 --Original exception-- java.lang.UnsupportedClassVersionError: org/apache/tiles/jsp/taglib/PutListAttributeTag (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code)) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code)) at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java(Compiled Code)) at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java(Compiled Code)) at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java(Compiled Code)) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitCustomTagStart(ValidateVisitor.java:396) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:253) at ........

        Show
        Dev Naga added a comment - Thank you so much Antonio. I have downloaded the AddListAttributeTag and PutListAttributeTag java files from svn and compiled it using Java5(by changing the project facets in preferences) and copied the compiled version of those files into the classes folder under its corresponding package. I got the following unsupported version error occurs. Did i do anything wrong in it? Wont retrotranslator help here. And I feel difficult to checkout each file from the svn repository. Can I have the compiled version of jar file, please? Error 500: LinkageError while defining class: org.apache.tiles.jsp.taglib.PutListAttributeTag Could not be defined due to: org/apache/tiles/jsp/taglib/PutListAttributeTag (Unsupported major.minor version 49.0) This is often caused by having a class defined at multiple locations within the classloader hierarchy. Other potential causes include compiling against an older or newer version of the class that has an incompatible method signature. Dumping the current context classloader hierarchy: ==> indicates defining classloader [0] com.ibm.ws.bootstrap.ExtClassLoader@7b6487a0 [1] sun.misc.Launcher$AppClassLoader@7b7607a0 [2] sun.misc.Launcher$ExtClassLoader@7b7207a0 -- Original exception -- java.lang.UnsupportedClassVersionError: org/apache/tiles/jsp/taglib/PutListAttributeTag (Unsupported major.minor version 49.0) at java.lang.ClassLoader.defineClass0(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java(Compiled Code)) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java(Compiled Code)) at com.ibm.ws.classloader.CompoundClassLoader._defineClass(CompoundClassLoader.java(Compiled Code)) at com.ibm.ws.classloader.CompoundClassLoader.findClass(CompoundClassLoader.java(Compiled Code)) at com.ibm.ws.classloader.CompoundClassLoader.loadClass(CompoundClassLoader.java(Compiled Code)) at java.lang.ClassLoader.loadClass(ClassLoader.java(Compiled Code)) at com.ibm.ws.jsp.translator.visitor.validator.ValidateVisitor.visitCustomTagStart(ValidateVisitor.java:396) at com.ibm.ws.jsp.translator.visitor.JspVisitor.processJspElement(JspVisitor.java:253) at ........
        Hide
        Antonio Petrelli added a comment - - edited

        First of all, check out completely the project. Then install Maven and run:
        mvn -Pj4 package

        You will find the Java 1.4-compatible package in:
        <tiles-checkout>/tiles-jsp/target/tiles-2.0.7-SNAPSHOT-j4.jar

        Show
        Antonio Petrelli added a comment - - edited First of all, check out completely the project. Then install Maven and run: mvn -Pj4 package You will find the Java 1.4-compatible package in: <tiles-checkout>/tiles-jsp/target/tiles-2.0.7-SNAPSHOT-j4.jar
        Hide
        Dev Naga added a comment -

        Checked out all the files from tiles 2.0.X from the svn repository and build the project successfully (with some errors & warnings - please find the attached txt file) using maven and Java5.

        deployed tiles-test-j4 war file and replaced with <tiles-checkout>/tiles-jsp/target/tiles-2.0.7-SNAPSHOT-j4.jar & other relative jar files. Added retrotranslator & backport jar files.

        When run, I am getting the "Unable to locate tag library for uri http://tiles.apache.org/tags-tiles " jspexception.

        Please find the attached compressed file of the downloaded files & tiles-test-j4 project file.

        Show
        Dev Naga added a comment - Checked out all the files from tiles 2.0.X from the svn repository and build the project successfully (with some errors & warnings - please find the attached txt file) using maven and Java5. deployed tiles-test-j4 war file and replaced with <tiles-checkout>/tiles-jsp/target/tiles-2.0.7-SNAPSHOT-j4.jar & other relative jar files. Added retrotranslator & backport jar files. When run, I am getting the "Unable to locate tag library for uri http://tiles.apache.org/tags-tiles " jspexception. Please find the attached compressed file of the downloaded files & tiles-test-j4 project file.
        Hide
        Antonio Petrelli added a comment -

        How odd, strangely the "tiles-jsp-2.0.7-SNAPSHOT-j4.jar" package in your sample project has a "tiles-jsp.tld.xml" file, instead of the correct "tiles-jsp.tld".
        How did you build it?

        Show
        Antonio Petrelli added a comment - How odd, strangely the "tiles-jsp-2.0.7-SNAPSHOT-j4.jar" package in your sample project has a "tiles-jsp.tld.xml" file, instead of the correct "tiles-jsp.tld". How did you build it?
        Hide
        Dev Naga added a comment -

        Woo hooo!

        Great Antonio!

        <tiles:putListAttribute /> is working good.

        Thank you so much.

        I have no words how to greet you.

        Thanks a lot.

        p.s. when I downloaded the tiles-jsp.tld file unfortunately it was stored as .xml

        Show
        Dev Naga added a comment - Woo hooo! Great Antonio! <tiles:putListAttribute /> is working good. Thank you so much. I have no words how to greet you. Thanks a lot. p.s. when I downloaded the tiles-jsp.tld file unfortunately it was stored as .xml
        Hide
        Dev Naga added a comment -

        In the mean time I am placing another request for freemarker. When I run it, I am getting like "Error 404: Error reported: 404"

        Show
        Dev Naga added a comment - In the mean time I am placing another request for freemarker. When I run it, I am getting like "Error 404: Error reported: 404"
        Hide
        Antonio Petrelli added a comment -

        Ok. since this is not related to this bug, please ask questions to the Tiles Users mailing list:
        http://tiles.apache.org/mail.html

        Show
        Antonio Petrelli added a comment - Ok. since this is not related to this bug, please ask questions to the Tiles Users mailing list: http://tiles.apache.org/mail.html
        Hide
        Antonio Petrelli added a comment -

        Closed due to the release of Tiles 2.0.7.

        Show
        Antonio Petrelli added a comment - Closed due to the release of Tiles 2.0.7.

          People

          • Assignee:
            Antonio Petrelli
            Reporter:
            Dev Naga
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development