[ https://issues.apache.org/jira/browse/FLEX-35190?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15724494#comment-15724494 ]
Santanu Karar commented on FLEX-35190: -------------------------------------- I would like to propose a fix that I tested locally. Please, check attached herewith devsena.patch file for more details. The relevant area to fix is as this: {panel} -#Mon Jun 08 13:23:50 PDT 2015 -eclipse.preferences.version=1 -encoding/<project>=utf-8 diff --git a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as index 7de2389..815f40a 100644 --- a/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as +++ b/frameworks/projects/HTML/src/main/flex/org/apache/flex/html/supportClasses/DataItemRenderer.as @@ -28,6 +28,7 @@ package org.apache.flex.html.supportClasses import org.apache.flex.html.beads.controllers.ItemRendererMouseController; } import org.apache.flex.core.ValuesManager; + [DefaultProperty("mxmlContent")] /** * The DataItemRenderer class is the base class for most itemRenderers. This class diff --git a/frameworks/projects/HTML/src/test/flex/build.xml b/frameworks/projects/HTML/src/test/flex/build.xml index 2b6e1af..e5a0628 100644 {panel} Let me know if I can propose a pull request. > [FlexJS] DataItemRenderer breaks if extends as MXML file > -------------------------------------------------------- > > Key: FLEX-35190 > URL: https://issues.apache.org/jira/browse/FLEX-35190 > Project: Apache Flex > Issue Type: Bug > Affects Versions: Apache FlexJS 0.8.0 > Reporter: Santanu Karar > > I took a nightly build of Apache FlexJS and tried by it's supplied > *DataGridExample* example project. The example used a custom DataItemRenderer > class, but it was an ActionScript implementation. > When I tried to create MXML file extending same DataItemRenderer class, when > used to DataGrid component, I couldn't even able to build but thrown by > compiler error: > *1551: Internal error in ABC generator subsystem, when generating code for: > E:\apache-flex-flexjs-0.8.0-bin\examples\flexjs\DataGridExample\src\products\ProductItemRendererMXML.mxml: > java.lang.NullPointerException* > I'm attaching herewith the full error details for your review: > {panel} > Description Resource Path Location Type > 1551: Internal error in ABC generator subsystem, when generating code for: > E:\apache-flex-flexjs-0.8.0-bin\examples\flexjs\DataGridExample\src\products\ProductItemRendererMXML.mxml: > java.lang.NullPointerException > at > org.apache.flex.compiler.internal.codegen.databinding.BindingInfo.analyzeExpression(BindingInfo.java:488) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingInfo.finishInit(BindingInfo.java:171) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingInfo.<init>(BindingInfo.java:115) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingAnalyzer.analyze(BindingAnalyzer.java:56) > at > org.apache.flex.compiler.internal.codegen.databinding.BindingDatabase.analyze(BindingDatabase.java:122) > at > org.apache.flex.compiler.internal.codegen.databinding.MXMLBindingDirectiveHelper.visitNode(MXMLBindingDirectiveHelper.java:116) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLDataBinding(MXMLClassDirectiveProcessor.java:4797) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLPropertySpecifier(MXMLClassDirectiveProcessor.java:3696) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:962) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLInstance(MXMLClassDirectiveProcessor.java:3349) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:939) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLArray(MXMLClassDirectiveProcessor.java:3088) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:926) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLPropertySpecifier(MXMLClassDirectiveProcessor.java:3605) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:962) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLInstance(MXMLClassDirectiveProcessor.java:3349) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:939) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLArray(MXMLClassDirectiveProcessor.java:3088) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:926) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMXMLPropertySpecifier(MXMLClassDirectiveProcessor.java:3605) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processNode(MXMLClassDirectiveProcessor.java:962) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:861) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.traverse(MXMLClassDirectiveProcessor.java:831) > at > org.apache.flex.compiler.internal.as.codegen.MXMLClassDirectiveProcessor.processMainClassDefinitionNode(MXMLClassDirectiveProcessor.java:653) > at > org.apache.flex.compiler.internal.as.codegen.GlobalDirectiveProcessor.declareMXMLDocument(GlobalDirectiveProcessor.java:518) > at > org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.processNode(DirectiveProcessor.java:232) > at > org.apache.flex.compiler.internal.as.codegen.DirectiveProcessor.traverse(DirectiveProcessor.java:188) > at > org.apache.flex.compiler.internal.as.codegen.ABCGenerator.generate(ABCGenerator.java:122) > at > org.apache.flex.compiler.internal.units.MXMLCompilationUnit.handleABCBytesRequest(MXMLCompilationUnit.java:199) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase.processABCBytesRequest(CompilationUnitBase.java:866) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase.access$300(CompilationUnitBase.java:107) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:309) > at > org.apache.flex.compiler.internal.units.CompilationUnitBase$4$1.call(CompilationUnitBase.java:305) > at > org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:228) > at > org.apache.flex.compiler.internal.units.requests.RequestMaker$1.call(RequestMaker.java:222) > at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) > at java.util.concurrent.FutureTask.run(Unknown Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown > Source) > at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) > at java.lang.Thread.run(Unknown Source) ProductItemRendererMXML.mxml > /DataGridExample/src/products line 0 Flex Problem > {panel} > The MXML custom renderer class was simple: > {code} > <js:DataItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009" > xmlns:js="library://ns.apache.org/flexjs/basic"> > <fx:Script> > <![CDATA[ > import org.apache.flex.html.Label; > import > org.apache.flex.html.supportClasses.DataItemRenderer; > ]]> > </fx:Script> > <js:Container width="100%" height="100%"> > <js:Label id="output" width="100" text="{data.image}" /> > </js:Container> > </js:DataItemRenderer> > {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)