Jump to: navigation, search

Difference between revisions of "EDT:v07 green threads"

m (add edt category)
 
(8 intermediate revisions by 3 users not shown)
Line 3: Line 3:
 
'''Note''': By default, I use the P2 installable build to test the green thread.<br>  
 
'''Note''': By default, I use the P2 installable build to test the green thread.<br>  
  
{| width="100%" cellspacing="0" cellpadding="0" border="1"
+
{| cellspacing="0" cellpadding="0" border="1" width="100%"
 
|-
 
|-
 
| align="center" | '''Last run'''<br>  
 
| align="center" | '''Last run'''<br>  
Line 10: Line 10:
 
| align="center" | '''Defects'''<br>
 
| align="center" | '''Defects'''<br>
 
|-
 
|-
| JQ on build 201110030901<br>  
+
| JQ on build 20111024_1434<br>  
 
|  
 
|  
 
0. Run EUnit test framework<br>  
 
0. Run EUnit test framework<br>  
  
 
| bgcolor="#00ff00" | Successful <br>  
 
| bgcolor="#00ff00" | Successful <br>  
| The lateset successful for both java and javascript are run on build 20090923_0902<br>
+
| The lateset successful for both java and javascript<br>
 
|-
 
|-
 
| <br>  
 
| <br>  
Line 26: Line 26:
 
| Many cirtical defects are opened<br>
 
| Many cirtical defects are opened<br>
 
|-
 
|-
| rowspan="10" | Rocky on build 201110172101<br>  
+
| rowspan="10" | Rocky on build 201110241434<br>  
 
| 1. Create EGL web client with service project.<br>  
 
| 1. Create EGL web client with service project.<br>  
 
| bgcolor="#00ff00" | Successful  
 
| bgcolor="#00ff00" | Successful  
Line 69: Line 69:
 
| <br>
 
| <br>
 
|-
 
|-
| BS on build<br>201110170901<br>  
+
| BS on build<br>20111031_2100<br>  
 
| 11. RUI Technical sample runs in preview and deployed mode <br>(org.eclipse.edt.rui.samples_0.7.0 in the kan-cvs repository)<br>  
 
| 11. RUI Technical sample runs in preview and deployed mode <br>(org.eclipse.edt.rui.samples_0.7.0 in the kan-cvs repository)<br>  
 
| bgcolor="#ff0066" | Failed<br><br>  
 
| bgcolor="#ff0066" | Failed<br><br>  
 
|  
 
|  
Working Samples (Preview Mode, possibly with modifications for the defects listed below):<br><br>* HelloWorld<br>* RSSDemo<br>* ServiceDemo<br>* Welcome<br>  
+
Working Samples (Preview Mode, possibly with modifications for the defects listed below):<br><br>* HelloWorld<br>* RSSDemo<br>* ServiceDemo<br>  
  
Defects:<br>* DataDisplayDemo- [Defect to be opened]<br>* TicTacToe - 357974 <br>* Contents - [Defect to be opened]<br>* EventDemo - [Defect to be opened]<br><br>Issues:<br>* At some point, none of the handlers appear to be rendering in the Design or Preview pane.&nbsp; They are rendering in an external browser.<br>* Defect 362251 - Error: invalid to assign null to non-nullable fields<br>* RUIPropertiesLib is not supported yet, so many strings are missing from the samples<br>* The Rich UI Visual Editor did not reliably render HelloWorld and RSSDemo in the Design or Preview tabs (no defects have been opened) <br>* IE is still the default browser<br>* Occasionally, after making changes to the source of a RUIHandler, the Preview Pane showed an IE Debug dialog  
+
Defects:<br>* DataDisplayDemo- 361262<br>* TicTacToe - 357974; DND not working [Defect to be opened]<br>* Contents - 361865<br>* EventDemo - [Defect to be opened]<br>* Welcome<br><br>Issues:<br>*[as of&nbsp; 20111031] Samples are rendering slowly in IE8.<br>*[as of&nbsp; 20111031] RUIProperties Libraries are not working [Defect to be opened]<br>*[as of&nbsp; 20111024] Occasionally, after making changes to the source of a RUIHandler, the Preview Pane showed an IE Debug dialog  
  
 
|-
 
|-
| bgcolor="#ffffff" | <br>  
+
| bgcolor="#ffffff" | Rocky on build 201110241434<br>  
 
| bgcolor="#ffffff" | 12. The service call with database<br>  
 
| bgcolor="#ffffff" | 12. The service call with database<br>  
| bgcolor="#ff0066" | Blocked<br>  
+
| bgcolor="#66ff00" | Successful<br>  
| bgcolor="#ffffff" |  
+
| bgcolor="#ffffff" | <br>
The SQL function is still under development,I need do a couple of workarounds to make a very simple scenario work fine.
+
 
+
I'm not sure if the function is ready for test or not.
+
 
+
The simple scenario is:
+
 
+
#Define a SQL resource Derby binding in the workspace
+
#Define a service and try to get one string field from db, and return to client.
+
#Create an RUIHandler &amp; display it in a text field.
+
 
+
 
|-
 
|-
| bgcolor="#ffffff" | Brian on build<br>201110170901
+
| bgcolor="#ffffff" | Brian on build<br>20111031_2100
 
| bgcolor="#ffffff" |  
 
| bgcolor="#ffffff" |  
 
13. EGL Dojo Sample runs in preview and deployed mode<br>(org.eclipse.edt.rui.dojo.samples_0.7.0)  
 
13. EGL Dojo Sample runs in preview and deployed mode<br>(org.eclipse.edt.rui.dojo.samples_0.7.0)  
Line 106: Line 96:
 
*DojoButtonSample.egl  
 
*DojoButtonSample.egl  
 
*DojoCalendarSample.egl  
 
*DojoCalendarSample.egl  
 +
*DojoCheckboxSample.egl
 
*DojoColorPaletteSample.egl  
 
*DojoColorPaletteSample.egl  
 
*DojoComboBoxSample.egl  
 
*DojoComboBoxSample.egl  
*DojoContextMenuSample.egl  
+
*DojoContextMenuSample.egl
 
*DojoCurrencyTextBoxSample.egl  
 
*DojoCurrencyTextBoxSample.egl  
 
*DojoDateTextBoxSample.egl  
 
*DojoDateTextBoxSample.egl  
Line 115: Line 106:
 
*DojoHorizontalSliderSample.egl  
 
*DojoHorizontalSliderSample.egl  
 
*DojoLineGraphSample.egl  
 
*DojoLineGraphSample.egl  
*DojoMenuSample.egl  
+
*DojoMenuSample.egl<br>
*DojoPieChartSample.egl  
+
*DojoPieChartSample.egl
 
*DojoProgressBarSample.egl  
 
*DojoProgressBarSample.egl  
 
*DojoRadioGroupSample.egl  
 
*DojoRadioGroupSample.egl  
 
*DojoStackContainerSample.egl  
 
*DojoStackContainerSample.egl  
 +
*DojoTabContainerSample.egl
 +
*DojoTextAreaSample.egl
 
*DojoTitlePaneSample.egl  
 
*DojoTitlePaneSample.egl  
 
*DojoToggleButtonSample.egl  
 
*DojoToggleButtonSample.egl  
*DojoToolTipSample.egl  
+
*DojoTooltipDialogSample.egl  
*DojoTreeSample.egl  
+
*DojoToolTipSample.egl<br>
 
*DojoDialogLibSample.egl
 
*DojoDialogLibSample.egl
  
Line 130: Line 123:
 
*ServiceMonitor.egl
 
*ServiceMonitor.egl
  
Significant Runtime Errors:  
+
Significant Runtime Errors:<br>
  
*Gallery.egl
 
 
*GraphSample.egl  
 
*GraphSample.egl  
 
*ServiceSample.egl  
 
*ServiceSample.egl  
 
*DojoAccordionSample.egl<br>  
 
*DojoAccordionSample.egl<br>  
*DojoCheckBoxSample.egl  
+
*DojoGridSample.egl - Sorting a column changes checkboxes to text
*DojoTitlePaneSample.egl
+
*DojoTreeSample.egl - Hide/Show Root not working
  
Minor Runtime Errors:  
+
Minor Runtime Errors:<br>
  
*DojoTabContainerSample.egl
+
*Gallery.egl [Can't view source; some samples not working when they work on their own]
*DojoTextAreaSample.egl
+
*DojoTextFieldSample.egl
+
  
 
|}
 
|}
Line 166: Line 156:
 
*Testing Generating test driver for Java and JavaScript<br>
 
*Testing Generating test driver for Java and JavaScript<br>
  
&nbsp;&nbsp; 0. Create an EGL basic project (myProj)<br>
+
&nbsp;&nbsp; 1. check out the EDT project from eclipse cvs org.eclipse.edt tests/smoketest&nbsp;
  
&nbsp;&nbsp; 1. create a library (myLib) under a package (a), copy the following content<br>
 
<pre>package a;
 
 
// basic library
 
 
library myLib
 
 
// Function Declarations
 
function functionName() {@Test}
 
LogResult.assertTrue("test fail", false);
 
end
 
 
 
function functionName1() {@Test}
 
LogResult.assertTrue("test success", true);
 
end
 
 
end
 
</pre>
 
 
&nbsp; 2. Right click on the project you just created, Choose Generate EGL Test Driver =&gt; Java to create the java test driver<br>  
 
&nbsp; 2. Right click on the project you just created, Choose Generate EGL Test Driver =&gt; Java to create the java test driver<br>  
  
Line 195: Line 166:
 
&nbsp; 5. Refresh project myProj.eunit.java, you should see a new folder&nbsp; "ResultRoot", expand its subfolder (name is in current timestamp yyyymmdd_hhmmss), till you see file "ResultSummary.trs", double click to open this file.&nbsp; <br>  
 
&nbsp; 5. Refresh project myProj.eunit.java, you should see a new folder&nbsp; "ResultRoot", expand its subfolder (name is in current timestamp yyyymmdd_hhmmss), till you see file "ResultSummary.trs", double click to open this file.&nbsp; <br>  
  
&nbsp;&nbsp;&nbsp;&nbsp; You should see one successful and one failed results<br>  
+
&nbsp;&nbsp;&nbsp;&nbsp; You should see <span style="background: none repeat scroll 0% 0% rgb(0, 255, 0);">'''13 out of 26 passed''', <span style="background: none repeat scroll 0% 0% rgb(255, 0, 102);">'''13 out of 26 failed'''.
 +
</span></span><br>  
  
 
&nbsp; 6. '''Execute javascript''' test driver in '''preview pane''', go to project myProj.eunit.javascript =&gt; EGLSource =&gt; eunitgen.RunAllTests_rui.egl, open in EGL Rich UI editor's preview pane, execute it<br>  
 
&nbsp; 6. '''Execute javascript''' test driver in '''preview pane''', go to project myProj.eunit.javascript =&gt; EGLSource =&gt; eunitgen.RunAllTests_rui.egl, open in EGL Rich UI editor's preview pane, execute it<br>  
Line 201: Line 173:
 
&nbsp; 7. Refresh project myProj.eunit.javascript, you should see a new folder "ResultRoot", expand its subfolder (name is in current timestamp yyyymmdd_hhmmss), till you see file "ResultSummary.trs", double click to open this file. <br>  
 
&nbsp; 7. Refresh project myProj.eunit.javascript, you should see a new folder "ResultRoot", expand its subfolder (name is in current timestamp yyyymmdd_hhmmss), till you see file "ResultSummary.trs", double click to open this file. <br>  
  
&nbsp;&nbsp;&nbsp;&nbsp; You should see one successful and one failed results. <br>  
+
&nbsp;&nbsp;&nbsp;&nbsp; You should see <span style="background: none repeat scroll 0% 0% rgb(0, 255, 0);">'''13 out of 26 passed''', <span style="background: none repeat scroll 0% 0% rgb(255, 0, 102);">'''13 out of 26 failed'''.  
 +
</span></span><br>  
  
 
&nbsp; 8 '''Execute javascript''' test driver in '''deployed application'''. go to project myProj.eunit.javascript =&gt; EGLSource =&gt; deploye myProj.eunit.javascript.egldd file<br>  
 
&nbsp; 8 '''Execute javascript''' test driver in '''deployed application'''. go to project myProj.eunit.javascript =&gt; EGLSource =&gt; deploye myProj.eunit.javascript.egldd file<br>  
Line 249: Line 222:
 
&nbsp;&nbsp; 3. deploy the application  
 
&nbsp;&nbsp; 3. deploy the application  
  
&nbsp;&nbsp; 4. run the deployed application
+
&nbsp;&nbsp; 4. run the deployed application  
 +
 
 +
12.&nbsp;The simple SQL access scenario,
 +
 
 +
&nbsp;&nbsp; 1. Define a SQL resource Derby binding in the workspace<br>&nbsp;&nbsp; 2. Define a service and try to get one string field from db, and return to client.<br>&nbsp;&nbsp; 3. Create an RUIHandler &amp; display it in a text field. <br>
 +
 
 +
[[Category: EDT]]

Latest revision as of 15:31, 7 November 2011

Overview

Note: By default, I use the P2 installable build to test the green thread.

Last run
Capability
Status
Defects
JQ on build 20111024_1434

0. Run EUnit test framework

Successful
The lateset successful for both java and javascript

0.5 Get language test project, there should be NO compilation/validation/generation errors

(check out org.eclipse.edt.eunit.test from kan-cvs repository, then add java generator to the project)

Blocked
Many cirtical defects are opened
Rocky on build 201110241434
1. Create EGL web client with service project.
Successful
2. Create RUI handler and the default handler created by the wizard can be opened successfully by VE.
Successful
Bug 360348 - Very poor performance after using VE for some time
3. The button, input box & grid can be drag/drop in VE.
Successful

4. The properties, outline, data view etc can be used.
Successful

5. Create interface, service part & set binding information in the dd file.
Successful


6. Run service call in preview mode.
Successful

7. Debug RUI handler & service (step over & into etc)
Successful

8. Deploy the RUI handler to the Tomcat
Successful

9. Deploy the service to the Tomcat
Successful

10. Run the application
Successful

BS on build
20111031_2100
11. RUI Technical sample runs in preview and deployed mode
(org.eclipse.edt.rui.samples_0.7.0 in the kan-cvs repository)
Failed

Working Samples (Preview Mode, possibly with modifications for the defects listed below):

* HelloWorld
* RSSDemo
* ServiceDemo

Defects:
* DataDisplayDemo- 361262
* TicTacToe - 357974; DND not working [Defect to be opened]
* Contents - 361865
* EventDemo - [Defect to be opened]
* Welcome

Issues:
*[as of  20111031] Samples are rendering slowly in IE8.
*[as of  20111031] RUIProperties Libraries are not working [Defect to be opened]
*[as of  20111024] Occasionally, after making changes to the source of a RUIHandler, the Preview Pane showed an IE Debug dialog

Rocky on build 201110241434
12. The service call with database
Successful

Brian on build
20111031_2100

13. EGL Dojo Sample runs in preview and deployed mode
(org.eclipse.edt.rui.dojo.samples_0.7.0)

Failed

Success:

  • DojoBarGraphSample.egl
  • DojoBorderContainerSample.egl
  • DojoBubbleChartSample.egl
  • DojoButtonSample.egl
  • DojoCalendarSample.egl
  • DojoCheckboxSample.egl
  • DojoColorPaletteSample.egl
  • DojoComboBoxSample.egl
  • DojoContextMenuSample.egl
  • DojoCurrencyTextBoxSample.egl
  • DojoDateTextBoxSample.egl
  • DojoDialogSample.egl
  • DojoEditorSample.egl
  • DojoHorizontalSliderSample.egl
  • DojoLineGraphSample.egl
  • DojoMenuSample.egl
  • DojoPieChartSample.egl
  • DojoProgressBarSample.egl
  • DojoRadioGroupSample.egl
  • DojoStackContainerSample.egl
  • DojoTabContainerSample.egl
  • DojoTextAreaSample.egl
  • DojoTitlePaneSample.egl
  • DojoToggleButtonSample.egl
  • DojoTooltipDialogSample.egl
  • DojoToolTipSample.egl
  • DojoDialogLibSample.egl

Compile Errors:

  • ServiceMonitor.egl

Significant Runtime Errors:

  • GraphSample.egl
  • ServiceSample.egl
  • DojoAccordionSample.egl
  • DojoGridSample.egl - Sorting a column changes checkboxes to text
  • DojoTreeSample.egl - Hide/Show Root not working

Minor Runtime Errors:

  • Gallery.egl [Can't view source; some samples not working when they work on their own]


Green thread scenario

0. Run EUnit test framework

  • For Java (when generating test driver for Java fails)

check out the EDT project from eclipse cvs org.eclipse.edt   tests/smoketest.eunit.java
modify src/rununit.properties file, change the Result root directory to be the project directory on your specific machine

Execute the RunAllTest_pgm.egl as Java Main application.

Refresh project "smoketest.eunit.java", you should see a folder ResultRoot, and today's date and time, double click to open ResultSummary.trs (should by default open with Test Result Viewer)

select the root node, you should see 2 out of 4 passed, 2 out of 4 failed.

  • Testing Generating test driver for Java and JavaScript

   1. check out the EDT project from eclipse cvs org.eclipse.edt tests/smoketest 

  2. Right click on the project you just created, Choose Generate EGL Test Driver => Java to create the java test driver

  3. Right click on the project you just created, Choose Generate EGL Test Driver => JavaScript to create the java script test driver.

  4. Execute java test driver, go to project myProj.eunit.java => folder generatedJava => Run eunitgen.RunAllTests_pgm as Java application.

  5. Refresh project myProj.eunit.java, you should see a new folder  "ResultRoot", expand its subfolder (name is in current timestamp yyyymmdd_hhmmss), till you see file "ResultSummary.trs", double click to open this file. 

     You should see 13 out of 26 passed, 13 out of 26 failed.

  6. Execute javascript test driver in preview pane, go to project myProj.eunit.javascript => EGLSource => eunitgen.RunAllTests_rui.egl, open in EGL Rich UI editor's preview pane, execute it

  7. Refresh project myProj.eunit.javascript, you should see a new folder "ResultRoot", expand its subfolder (name is in current timestamp yyyymmdd_hhmmss), till you see file "ResultSummary.trs", double click to open this file.

     You should see 13 out of 26 passed, 13 out of 26 failed.

  8 Execute javascript test driver in deployed application. go to project myProj.eunit.javascript => EGLSource => deploye myProj.eunit.javascript.egldd file

1. Create EGL web client with service project

   1. Create an EGL Project
   2. type base package "org.eclipse.edt.greenthread.helloworld"
   3. Select "Web Client With Service Project" as the project template
   4. Add "Dojo Widget" (dojotoolkit.org) and RUI UI widgets (0.7.0) into the RUI widget libraries list
   5. Press "Finish"
   6. There should be a directory whose structure as follows
    [base package name].client (configured for JavaScript gen)
    [base package name].server (configured for Java gen)
    [base package name].common (configured for both JavaScript and Java gen)"

2. Create RUI handler and the default handler created by the wizard can be opened successfully by VE

   1. User enters name and package for a new RUIHandler.
   2. System creates the EGL part and then opens it in the Rich UI Editor
   3. Switch to Design, Source and preview tab to check if editor shows the proper content

3. The button, input box & grid can be drag/drop in VE

   1. Drag a Button in the grid layout from palette, Set the text to "Call Service" in properties view
   2. Use the EGL Source editor to instantiate a Dialog whose children include a Box named "content".
   3. Drag an input box and set the properties

4. The properties, outline, data view etc can be used

   1. In properties view, add a click event process function for the button we created above.
   2. Show the dialog in the click event function above.
   3. Check outline and preview view

5. Create service part & set binding information in the dd file.

   1. Create an interface
   2. Create a new service and implement the interface created in previous step, specifying package and part name.
   3. Use the EGL editor to implement a function that returns a string by concatenating Hello, to whatever is passed in.
   4. Extract EGL Service interface
   5. Add a service client binding in egl dd file

6. Run service call in preview mode.

   1. Open RUI handler, in the event handler function (created above), use code completion to instantiate the service.
   2. Use EGL's call statement to invoke the service, specifying that it returns to a callback function that does not yet exist.
   3. Use the EGL Editor's Quick Fix to automatically define the callback function.
   4. Implement the callback function to instantiate a textfield containing the service result and programmatically add it to the children of the dialog's UI (which again is a Box named content)
   5. switch back to preview tab to exercise a running instance of their UI.

7. Debug RUI handler & service (step over) & (step into) etc.

   1. In the EGL Editor, the User sets breakpoints on both the service invocation as well as the function that implements the service.
   2. With focus given to the editor, the user hits the Debug button from the main toolbar to launch the UI in an external instance of their system browser.
   3. exercise Step into/step return/step over feature
   4. exercise resume/suspend/terminate feature
   5. verify the debug call stack tree, variables, breakpoints and expression view for the above debug operation

8. Deploy the RUI handler/service to the Tomcat

   1. User right clicks on the egl dd file and chooses "Deploy".
   2. System responds that there is no target (project), and prompts user to create one. From the deployment descriptor, the user specifies the target project by creating a new Dynamic Web Project and chooses Tomcat 6.0 as their target runtime.
   3. User clicks on the Deploy button in the descriptor to deploy the project to the target Dynamic Web Project.

9. Run the application

   1. User right-clicks on the UI HTML file that was generated in the target project, and chooses Run as... Run on Server.
   2. System gives the user a choice of web servers on which to run, and then publishes to that server and launches the HTML in a browser.

11. RUI Technical sample runs in preview and deployed mode

   1. import the RUI technical sample from IBM CVS repository "org.eclipse.edt.rui.samples_0.7.0"

   2. view the RUIHandler in preview mode successfully

   3. deploy the application

   4. run the deployed application

12. The simple SQL access scenario,

   1. Define a SQL resource Derby binding in the workspace
   2. Define a service and try to get one string field from db, and return to client.
   3. Create an RUIHandler & display it in a text field.