[
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)