| Summary: | Basic Java EE 7 support | ||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Product: | [WebTools] WTP Java EE Tools | Reporter: | Chuck Bridgham <cbridgha> | ||||||||||||||||||||||||||||||||||||||
| Component: | jst.j2ee | Assignee: | Konstantin Komissarchik <konstantin> | ||||||||||||||||||||||||||||||||||||||
| Status: | RESOLVED FIXED | QA Contact: | Chuck Bridgham <cbridgha> | ||||||||||||||||||||||||||||||||||||||
| Severity: | enhancement | ||||||||||||||||||||||||||||||||||||||||
| Priority: | P3 | CC: | cameron.bateman, ccc, gregory.amerson, konstantin, nsand.dev, shr31223, wayne.beaton | ||||||||||||||||||||||||||||||||||||||
| Version: | 3.5 | ||||||||||||||||||||||||||||||||||||||||
| Target Milestone: | 3.5 M6 | ||||||||||||||||||||||||||||||||||||||||
| Hardware: | All | ||||||||||||||||||||||||||||||||||||||||
| OS: | All | ||||||||||||||||||||||||||||||||||||||||
| Whiteboard: | JavaEE7 | ||||||||||||||||||||||||||||||||||||||||
| Bug Depends on: | |||||||||||||||||||||||||||||||||||||||||
| Bug Blocks: | 400481, 400487, 400488, 422195 | ||||||||||||||||||||||||||||||||||||||||
| Attachments: |
|
||||||||||||||||||||||||||||||||||||||||
|
Description
Chuck Bridgham
I will volunteer to take this on. Created attachment 226470 [details]
SourceEditing Tools Patch v1 (b72)
This patch includes Java EE schemas of interest to core Java EE support. The schemas are from b72 GlassFish 4.0 build.
application_7.xsd
application-client_7.xsd
ejb-jar_3_2.xsd
javaee_7.xsd
jsp_2_3.xsd
web-app_3_1.xsd
web-common_3_1.xsd
The following schemas have not revved for Java EE 7.
connector_1_6.xsd
javaee_web_services_1_3.xsd
javaee_web_services_client_1_3.xsd
web-fragment_3_0.xsd
I am in the process of ascertaining the completion status on these schemas. Will update this bug with info that I find out. One big change that's still outstanding is the namespace change. It is likely that java.sun.com will not be used for Java EE 7. I don't have any further technical or timing details on this.
Created attachment 226472 [details]
Schemas (b72)
Created attachment 226473 [details]
Java EE Tools Patch v1
Created attachment 226474 [details]
EJB Tools Patch v1
I've attached my current work-in-progress. I believe that I made all the necessary changes to make core facets aware of new Java EE 7 versions. EAR 7 App Client 7 Servlet 3.1 EJB 3.2 Note that connector doesn't appear to be revving for Java EE 7. Right now, the obstacle is updating EMF models for these descriptors. Creating a web project with Servlet 3.1 fails like so: Caused by: java.lang.IllegalArgumentException: The value '3.1' is not a valid enumerator of 'WebAppVersionType' at org.eclipse.jst.javaee.web.internal.impl.WebFactoryImpl.createWebAppVersionTypeFromString(WebFactoryImpl.java:598) at org.eclipse.jst.javaee.web.internal.impl.WebFactoryImpl.createFromString(WebFactoryImpl.java:128) at org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.createFromString(XMLHelperImpl.java:1615) at org.eclipse.emf.ecore.xmi.impl.XMLHelperImpl.setValue(XMLHelperImpl.java:1156) at org.eclipse.emf.ecore.xmi.impl.XMLHandler.setFeatureValue(XMLHandler.java:2660) ... 64 more Could someone more familiar with WTP's usage of EMF for deployment descriptors take on the task of updating the models? The necessary schema files are attached. If someone attaches a patch with model changes, I can complete the verification. Please ignore the JDT pref changes in the attached patches. These changes will not be included in the next revision. I made these changes locally since the current Kepler JDT doesn't seem happy with prefs in some of our projects. Created attachment 226543 [details]
SourceEditing Tools Patch v2 (b72)
The v2 of this patch fixes incorrect registration of jsp schema.
Created attachment 226544 [details]
SourceEditing Tools Patch v3 (b72)
v2 includes an unrelated incorrect change
Carl, Chuck, et. al., would one of you be able to give me a hand with the EMF model portion of this task next week? I'd like to move forward with testing this functionality so that everything is solid well in time for EclipseCon.
> Could someone more familiar with WTP's usage of EMF for deployment descriptors
> take on the task of updating the models? The necessary schema files are
> attached. If someone attaches a patch with model changes, I can complete the
> verification.
Would it be possible to keep this work concentrated in this bug and as few patches as possible? We (Oracle) will need to create a patch for Juno SR2 based on this effort. This would be easier if the changes aren't spread out. Thanks. Hi, We can add links to all the work to this bug(use as parent).. Carl and I are making sure we describe all the work involved here. Especially for models / content types etc... We are resource constrained at the moment, so planning as much as we can to see what we can contain in the short term. The main obstacle right now is regenerating the EMF models (Bug 400481). If you guys can take care of that one, I can take care of the rest of basic enablement under this bug. That will keep the changes concentrated and be easier on everyone. Any update on regenerating the EMF models? I'd like to proceed with finishing this feature. This is in plan, and Carl has started looking at models.. I expect some movement next week on this. Note that I am about to attach the refreshed schemas. The most significant change is the new namespace, which is now approved/final. Created attachment 227758 [details]
SourceEditing Tools Patch v4 (based on 2013-02-15 draft)
New patch for the common schemas plugin based on the 2013-02-15 spec draft. The most significant change is the new namespace. Note that this is missing the beans_1_1.xsd schema that is supposed to be part of the spec. I am working on locating it. This should not impact the tooling work that needs to happen.
Created attachment 227759 [details]
SourceEditing Tools Patch v5 (based on 2013-02-15 draft)
Same as v4, but rebased to head.
Created attachment 227761 [details]
Schemas (based on 2013-02-15 draft)
All schemas changes as of 2013-02-15 draft, minus the missing beans_1_1.xsd schema.
Note that there are more schemas in this draft than in the last draft due to the namespace change.
Created attachment 227762 [details]
Java EE Tools Patch v2
Changes for the new namespace.
Created attachment 227763 [details]
EJB Tools Patch v2
Changes for the new namespace.
Created attachment 227764 [details]
EJB Tools Patch r1 v2
Excluded unnecessary preference changes.
Created attachment 227770 [details] Schemas (2013-02-15) Found the missing beans_1_1.xsd schema. The latest draft comes from here: https://github.com/jboss/cdi/blob/master/api/src/main/resources/beans_1_1.xsd Created attachment 227772 [details]
SourceEditing Tools Patch r1 v6
Now with beans.
Nick, Could you or another committer on the source editing project release the attached patch to the common schemas plugin that includes the most recent draft of all Java EE 7 schemas? The two CQs covering these schemas have been given preliminary approval under the parallel IP process. Hi Konstantin, I've pushed and released the changes. http://git.eclipse.org/c/sourceediting/webtools.sourceediting.git/commit/?id=851f28e8cd21b19788b3097c59436b5662c78ce6 Konstantin, One thing I learned recently is that any schemas added to org.eclipse.jst.standard.schemas needs to be listed in the about.html file, just as the current ones are listed. Nick has already committed the SourceEditing Tools patch v6, so can you provide a separate patch with the about.html updates? > can you provide a separate patch with the about.html updates
Will do. Thanks for pointing this out.
Created attachment 228033 [details] SourceEditing Tools Patch r2 v1 Second round of changes for the common schemas bundle. Includes the following changes: 1. About.html references the added schemas. In fact, I re-wrote the file to better organize the listings. Now, all files are presented in a simple list organized by license and revision. All listings are linked to source. 2. Re-organized the catalog registrations in plugin.xml to group all by schema revisions and list schemas alphabetically. This makes verification of completeness and updating easier. 3. Fixed several typos that resulted in incorrect schema registrations. 4. Added secondary listings for all previous schema revisions pointing to "http://xmlns.jcp.org". While we will obviously continue to see "http://java.sun.com", I would be surprised if we don't see new pre-JavaEE7 applications referencing the new URLs. Nick, could you do the honors again and release this patch? Thanks. Konstantin, there is no jst.connector 1.7 facet defined in all of this. We'll need new facets for all of the versions that are now in the xsds. (And the 1.7 connector facet is listed in IJ2EEFacetConstants- that causes an initialization error). It looks like adding in jst.connector 1.7 and jst.webfragment 3.1 were enough to get the JUnits running, but we should have facets defined for all of the Java EE 7 that we are supporting. (And there were a lot of new versions added in the latest XSDs.) The other versions should already be there. The webfragment was an oversight in the initial patch. The connector was missed in the last update. Initially, connector schema didn't rev. There could be other gotchas, since I wasn't able to actually run and test any of these changes without the model changes. If model changes are ready, could you attach a patch and I will help with testing. (In reply to comment #30) > Created attachment 228033 [details] > SourceEditing Tools Patch r2 v1 > > ... Hey Konstantin, Sorry for the delay. I wasn't able to apply this patch cleanly. The patch to plugin.xml has some conflicts that caused problems. I can go ahead and update the about.html for now, and we can work on cleaning up the plugin.xml in another patch, if you'd like. Created attachment 228379 [details]
SourceEditing Tools Patch r2 v2
Try this one. I didn't see any merge conflicts in the file, but I fetched, rebased and generated a new patch.
(In reply to comment #35) > Created attachment 228379 [details] > SourceEditing Tools Patch r2 v2 > > Try this one. I didn't see any merge conflicts in the file, but I fetched, > rebased and generated a new patch. Weird, it still doesn't apply cleanly either through command-line or the eGit UI. I'm not sure if there's something else we can try. Maybe create a patch through git format-patch? I pushed the changes for the about.html http://git.eclipse.org/c/sourceediting/webtools.sourceediting.git/commit/?id=f2a3503e375c46ec3171304dfd00ab405ecdb27b Created attachment 228382 [details]
SourceEditing Tools Patch r2 v2 (plugin.xml)
How about I just attach the file I have.
(In reply to comment #37) > Created attachment 228382 [details] > SourceEditing Tools Patch r2 v2 (plugin.xml) > > How about I just attach the file I have. That works for me. Thanks! http://git.eclipse.org/c/sourceediting/webtools.sourceediting.git/commit/?id=fccc47df725ab9ee2a44a52cad93dbd61c9f72f2 Committed to master for WTP 3.5.0 M6 Note that there were additional changes made to jst.connector and jst.webfragment above and beyond the contents of Java EE Tools Patch v2 Created attachment 228456 [details]
EJB Tools Patch r2 v1
A few facet fixes on top of the first round of changes to EJB Tools.
Re-opening to track applying the remaining patch. Committed EJB Tools Patch r1 v1 (which really was part of the fix for bug 400488 ) http://git.eclipse.org/c/jeetools/webtools.javaee.git/commit/?id=bf11650f409a4e21e763e31f32aecda1fe43b1bd The moduleFactories were not updated, so "Run on Server" and related actions aren't available on Java EE 7 projects. Could someone tag and release these changes into the build? I am not quite sure how that is supposed to work with Git these days. *** Bug 400487 has been marked as a duplicate of this bug. *** |