Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Refactor of JavaFirst"

(2. New Solution for Java First)
(2. New Solution for Java First Programming Model)
Line 31: Line 31:
 
----
 
----
  
5). If start from SEI, what will happen?(TBD)
+
5). If start from a SEI, what will happen?(TBD)
  
 
----
 
----
  
6). If start from IMPL, what will happen?(TBD)
+
6). If start from an IMPL, what will happen?(TBD)
  
 
= 3. GUI =
 
= 3. GUI =

Revision as of 05:32, 21 September 2007

1. Problems of Current Solution

1). There are two steps for user to do his jobs. First is java2wsdl and second is wsdl2java. It’s too “complicated” for user. Actually, from user’s point of view, he does not care what the wsdl file looks like. He only and should only care about the SEI/IMPL. The wsdl file should be transparent for user. So, it needs to generate all artifacts including wsdl file and source codes from SEI/IMPL directly.


2). Further more; it is very possible that user will modify the generated wsdl file after java2wsdl step. Then, the source codes generated by wsdl2java tool from this modified wsdl file may not match the original SEI/IMPL. As the result of this, the service may not work. So, if the wsdl and source codes are generated in only one step, user will have no chance to modify the wsdl file and the problem will not occur.


3). The java2wsdl generator will be invoked each time when building the project. Actually, at most of time, user does not want to invoke the generator. They just only want to modify his SEI/IMPL. And when they think the SEI/IMPL is finished they would want to use the generator to generate other artifacts. So, it needs to provide a selection for user to choose whether build process will invoke the generator or not.


4). Which class (SEI/IMPL) will be chose to start the java2wsdl generator? In current solution, system will go through all the source codes and choose some of them to start the generator. It may be useful for user. But it is very possible that the system chooses a “wrong” class that the user does not want to choose. Actually, user knows his SEI/IMPL very clearly. And it is very easy for user to specify the java class to start the generator. So, why not let user point out which class to be start with?

2. New Solution for Java First Programming Model

1). Use one step to generate all artifacts from SEI/IMPL. User does can modify the generated wsdl file, but all the modifications to this file will be ignored. And the menu [Generate Code] for wsdl file will be disabled for Java-First projects. The SEI/IMPL will be the only input for the generator tool.


2). Add a selection for user to switch on/off the generator when building the project. The default value for this selection is false.


3). When starting the generator, user should provide the input class which can be specified in project property page by user.


4). Add a new action (menu) for user to invoke the generator manually.


5). If start from a SEI, what will happen?(TBD)


6). If start from an IMPL, what will happen?(TBD)

3. GUI

Project Wizard

A new wizard page on which generator parameters can be set will be added as an extension point. Different runtime type will have different page. And the selection for “Invoke generator when building project” will be set false as default value.

Preference Page

No change compared with current solution.(TBD)

Project Property Page

Property-page.JPG

Java2ws Generator Wizard

This wizard will not display if the user has specified the “Start Point” in project property page.

Generator-wizard.JPG

Java2ws Generator Menu

This popup menu will be enabled on the selection of java-first project or the java file of the project in Package Viewer. And if click this menu item, generator wizard may display as described in section above.

Popup-menu.JPG

4. CXF Specific Generator Parameters

All the following generator parameters can be specified in project wizard page and project property page.

-databinding
-frontend
-soap
-verbose
-createxsdimport
-wsdl
-server
-client

Project Wizard Page for CXF

Cxf-project-wizard.JPG

Project Property Page for CXF

Cxf-project-property.JPG

5. JAXWS-RI Specific Generator Parameters

No change compared with current solution. (TBD)

Back to the top