Uploaded image for project: 'Apache Flex'
  1. Apache Flex
  2. FLEX-35190

[FlexJS] DataItemRenderer breaks if extends as MXML file

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • Apache FlexJS 0.8.0
    • Apache FalconJX 0.8.0
    • None
    • None

    Description

      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:

      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

      The MXML custom renderer class was simple:

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

      Attachments

        1. devsena.patch
          0.7 kB
          Devsena

        Activity

          People

            aharui Alex Harui
            santanu4ver Devsena
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: