Difference between revisions of "EDT:v07 green threads"

From Eclipsepedia

Jump to: navigation, search
Line 9: Line 9:
 
| align="center" | '''Capability<br>'''  
 
| align="center" | '''Capability<br>'''  
 
| align="center" | '''Status'''<br>  
 
| align="center" | '''Status'''<br>  
| align="center" | '''Development Owner'''
+
| align="center" | '''Development Owner'''  
 
| align="center" | '''Defects'''<br>
 
| align="center" | '''Defects'''<br>
 
|-
 
|-
 
| 0. Run EUnit test framework <br>  
 
| 0. Run EUnit test framework <br>  
 
| bgcolor="#ff0066" | Blocked <br>  
 
| bgcolor="#ff0066" | Blocked <br>  
| <br>
+
| <br>  
 
| <br>
 
| <br>
 
|-
 
|-
 
| 1. Create EGL web client with service project.<br>  
 
| 1. Create EGL web client with service project.<br>  
 
| bgcolor="#00ff00" | Successful<br>  
 
| bgcolor="#00ff00" | Successful<br>  
|  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
 
| 2. Create RUI handler and the default handler created by the wizard can be opened successfully by VE.<br>  
 
| 2. Create RUI handler and the default handler created by the wizard can be opened successfully by VE.<br>  
 
| bgcolor="#00ff00" | Successful<br>  
 
| bgcolor="#00ff00" | Successful<br>  
|  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
 
| 3. The button, input box &amp; grid can be drag/drop in VE.<br>  
 
| 3. The button, input box &amp; grid can be drag/drop in VE.<br>  
 
| bgcolor="#ff0066" | Blocked<br>  
 
| bgcolor="#ff0066" | Blocked<br>  
|  
+
| <br>
 
| '''MAJOR''': Bug 356429 - The children widgets which are defined after their container can not be displayed - Scott<br>'''MAJOR''': Still have lots of widget do not work, probably in JS generation etc. Forest will perform a full test to open the relevant defects. - Forest/Jiyong  
 
| '''MAJOR''': Bug 356429 - The children widgets which are defined after their container can not be displayed - Scott<br>'''MAJOR''': Still have lots of widget do not work, probably in JS generation etc. Forest will perform a full test to open the relevant defects. - Forest/Jiyong  
 
MIDDLE: Bug 356039 - VE prints 'document.write("could not open&nbsp;%handler_name%");' when opening the RUI handlers - Forest<br>  
 
MIDDLE: Bug 356039 - VE prints 'document.write("could not open&nbsp;%handler_name%");' when opening the RUI handlers - Forest<br>  
Line 36: Line 36:
 
| 4. The properties, outline, data view etc can be used.<br>  
 
| 4. The properties, outline, data view etc can be used.<br>  
 
| bgcolor="#ccff00" | Failed<br>  
 
| bgcolor="#ccff00" | Failed<br>  
|  
+
| <br>
 
| The block issues were just removed for 'EGL Data' view, Forest &amp; Jiyong will do detailed FVT before attempting to test the data view green thread.<br>
 
| The block issues were just removed for 'EGL Data' view, Forest &amp; Jiyong will do detailed FVT before attempting to test the data view green thread.<br>
 
|-
 
|-
 
| 5. Create interface, service part &amp; set binding information in the dd file. <br>  
 
| 5. Create interface, service part &amp; set binding information in the dd file. <br>  
 
| bgcolor="#66ff00" | Successful  
 
| bgcolor="#66ff00" | Successful  
|  
+
| <br>
 
|  
 
|  
 
<br>  
 
<br>  
Line 48: Line 48:
 
| 6. Run service call in preview mode.<br>  
 
| 6. Run service call in preview mode.<br>  
 
| bgcolor="#ff0066" | Blocked<br>  
 
| bgcolor="#ff0066" | Blocked<br>  
|  
+
| <br>
 
| The code is still in IBM CVS, not checked in Eclipse yet.- Justin<br>
 
| The code is still in IBM CVS, not checked in Eclipse yet.- Justin<br>
 
|-
 
|-
 
| 7. Debug RUI handler &amp; service (step over &amp; into etc)<br>  
 
| 7. Debug RUI handler &amp; service (step over &amp; into etc)<br>  
 
| bgcolor="#ff0066" | Blocked<br>  
 
| bgcolor="#ff0066" | Blocked<br>  
|  
+
| <br>
 
| The code is still in IBM CVS, not checked in Eclipse yet.- Justin<br>
 
| The code is still in IBM CVS, not checked in Eclipse yet.- Justin<br>
 
|-
 
|-
 
| 8. Deploy the RUI handler to the Tomcat<br>  
 
| 8. Deploy the RUI handler to the Tomcat<br>  
 
| bgcolor="#00ff00" | Successful<br>  
 
| bgcolor="#00ff00" | Successful<br>  
|  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
 
| 9. Deploy the service to the Tomcat<br>  
 
| 9. Deploy the service to the Tomcat<br>  
 
| bgcolor="#00ff00" | Successful<br>  
 
| bgcolor="#00ff00" | Successful<br>  
|  
+
| <br>
 
| Minor: Bug 356141 - The contents of web.xml is not correct if no RUIHandler is configured in the DD file - Jimmy<br>
 
| Minor: Bug 356141 - The contents of web.xml is not correct if no RUIHandler is configured in the DD file - Jimmy<br>
 
|-
 
|-
 
| 10. Run the application<br>  
 
| 10. Run the application<br>  
 
| bgcolor="#00ff00" | Successful<br>  
 
| bgcolor="#00ff00" | Successful<br>  
|  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
 
| 11. RUI Technical sample runs in preview and deployed mode<br>  
 
| 11. RUI Technical sample runs in preview and deployed mode<br>  
 
| bgcolor="#ff0066" | Blocked <br>  
 
| bgcolor="#ff0066" | Blocked <br>  
|  
+
| <br>
 
| <br>
 
| <br>
 
|-
 
|-
 
| bgcolor="#cccccc" | 12. The service call with database<br>  
 
| bgcolor="#cccccc" | 12. The service call with database<br>  
 
| bgcolor="#cccccc" | Blocked<br>  
 
| bgcolor="#cccccc" | Blocked<br>  
| bgcolor="#cccccc" |  
+
| bgcolor="#cccccc" | <br>
 
| bgcolor="#cccccc" | Function is not ready for testing - Tony/Zhi<br>
 
| bgcolor="#cccccc" | Function is not ready for testing - Tony/Zhi<br>
 
|}
 
|}
Line 96: Line 96:
  
 
library myLib
 
library myLib
 
  
 
// Function Declarations
 
// Function Declarations
Line 107: Line 106:
 
LogResult.assertTrue("test success", true);
 
LogResult.assertTrue("test success", true);
 
end
 
end
 
  
 
end
 
end
 
 
</pre>  
 
</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>  

Revision as of 16:27, 13 September 2011

Last update: 2011/9/7, run in 0.7.0.v201109061723, By Rocky

Overview

Note: By default, I use the P2 installable build to test the green thread. However, if the defects marked with * mean tested by development workspace.

Capability
Status
Development Owner Defects
0. Run EUnit test framework
Blocked


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


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

MAJOR: Bug 356429 - The children widgets which are defined after their container can not be displayed - Scott
MAJOR: Still have lots of widget do not work, probably in JS generation etc. Forest will perform a full test to open the relevant defects. - Forest/Jiyong

MIDDLE: Bug 356039 - VE prints 'document.write("could not open %handler_name%");' when opening the RUI handlers - Forest

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

The block issues were just removed for 'EGL Data' view, Forest & Jiyong will do detailed FVT before attempting to test the data view green thread.
5. Create interface, service part & set binding information in the dd file.
Successful


6. Run service call in preview mode.
Blocked

The code is still in IBM CVS, not checked in Eclipse yet.- Justin
7. Debug RUI handler & service (step over & into etc)
Blocked

The code is still in IBM CVS, not checked in Eclipse yet.- Justin
8. Deploy the RUI handler to the Tomcat
Successful


9. Deploy the service to the Tomcat
Successful

Minor: Bug 356141 - The contents of web.xml is not correct if no RUIHandler is configured in the DD file - Jimmy
10. Run the application
Successful


11. RUI Technical sample runs in preview and deployed mode
Blocked


12. The service call with database
Blocked

Function is not ready for testing - Tony/Zhi


Green thread scenario

0. Run EUnit test framework

   0. Create an EGL basic project (myProj)

   1. create a library (myLib) under a package (a), copy the following content

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

  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 one successful and one failed results

  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 one successful and one failed results.

  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. From the preview pane, the user hits the Debug button 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