Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 356904

Summary: RUIHandler containing Dojo widgets cannot generated correct HTML
Product: z_Archived Reporter: Huang Ji Yong <hjiyong>
Component: EDTAssignee: Huang Ji Yong <hjiyong>
Status: CLOSED FIXED QA Contact: Yun Feng Ma <mayunf>
Severity: major    
Priority: P3    
Version: unspecified   
Target Milestone: ---   
Hardware: PC   
OS: Linux   
Whiteboard:
Attachments:
Description Flags
Add includeFile generation
none
Fix a bug: when there is no includeFile, generation is incorret none

Description Huang Ji Yong CLA 2011-09-07 05:41:47 EDT
Create a RUIHandler, Drag DojoButton into the VE.
The following exception is thrown in the VE design/preview pane

[CRRUI2085E] Internal Error: While defining widget dojo.widgets.DojoButton as a subclass of dojo.widgets.DojoBase

      ("dojo.widgets","DojoButton","dojo.widgets","DojoBase","div",[object Object])
      egl.js:732
      DojoButton.js:81 


superPkg[superClassName] is not a constructor
[CRRUI2094E] Here are the EGL function calls leading to this error:

    Internal error while defining RUIHandler client.testDojoButton() [native JavaScript]

    Internal error while defining RUIHandler client.testDojoButton() at line 732
syntax error
testDojoWidget/dojo/widgets/DojoBase.js:12
[CRRUI2095E] Could not find the EGL function calls leading to this error

Could not render UI

      ()
      testDojoButton.js:16 ()
      testDojoButton.js:5 ()
      egl.js:800 ()
      testDojoButton.html?contextKey=28:75 ([object Array],(function () {egl.localeInfo = {locale: "en_US", nlsCode: "ENU", shortMask: "MM/dd/yyyy", mediumMask: "MM-dd-yyyy", longMask: "MM-dd-yyyy", currencySymbol: "$", decimalSeparator: ".", groupingSeparator: ","};try {egl.rootHandler = new (egl.client.testDojoButton);if (egl.rootHandler.targetWidget || !egl.rootHandler.egl$isWidget) {egl.rootHandler.setParent(egl.Document);} else {var package = egl.rootHandler.eze$$package;var typename = egl.rootHandler.eze$$typename;egl.rootHandler = egl.Document;egl.rootHandler.eze$$package = package;egl.rootHandler.eze$$typename = typename;}egl.startup();} catch (e) {if (e instanceof egl.egl.debug.DebugTermination) {if (e.msg) {egl.println(e.msg);}} else {egl.crashTerminateSession();if (!egl.client.testDojoButton) {egl.println("Internal generation error. Found no definition for fvt.primitives.TestDeclarations. Try Project > Clean...", e);} else {egl.printError("Could not render UI", e);throw e;}}}}))
      testDojoButton.html?contextKey=28:51 ()
      testDojoButton.html?contextKey=28:49 ([object Event])
      testDojoButton.html?contextKey=28:37 


egl.dojo.widgets.DojoButton is not a constructor
[CRRUI2094E] Here are the EGL function calls leading to this error:

    client/testDojoButton.egl() at line 11
    testDojoButton.<init>() [native JavaScript]

    () at line 16
egl.dojo.widgets.DojoButton is not a constructor
testDojoWidget/client/testDojoButton.js:16
[CRRUI2095E] Could not find the EGL function calls leading to this error


The error is caused because the includeFile in the ExternalType does not included in the generated HTML.
Comment 1 Huang Ji Yong CLA 2011-09-09 01:10:49 EDT
Created attachment 203038 [details]
Add includeFile generation
Comment 2 Huang Ji Yong CLA 2011-09-09 01:13:17 EDT
Changes made to html generator and Dojo widget projects.
Comment 3 Huang Ji Yong CLA 2011-09-09 02:53:31 EDT
Created attachment 203040 [details]
Fix a bug: when there is no includeFile, generation is incorret
Comment 4 Huang Ji Yong CLA 2011-10-09 02:35:47 EDT
Verified in 201110082101