This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 225554 - Java EE Javadoc must be updated to Java EE 7
Summary: Java EE Javadoc must be updated to Java EE 7
Status: VERIFIED FIXED
Alias: None
Product: serverplugins
Classification: Unclassified
Component: Infrastructure (show other bugs)
Version: 7.3.1
Hardware: All All
: P2 normal (vote)
Assignee: Martin Janicek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-30 17:09 UTC by Petr Jiricka
Modified: 2013-02-13 01:52 UTC (History)
5 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
Grep of javaee-api-6.0 across the repository (3.98 KB, text/plain)
2013-02-03 21:18 UTC, Petr Jiricka
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Petr Jiricka 2013-01-30 17:09:39 UTC
1. Register GlassFish 4
2. Create a Java EE 7 web project
3. Create a servlet
4. Press Ctrl+Space on HttpServlet

=> The documentation window says Javadoc not found. For Maven project there is a similar problem.

What needs to be done:
i. The Javadoc is bundled in NetBeans as enterprise/docs/javaee6-doc-api.zip. This must be updated to Java EE 7 (draft for now).
ii. Server plugins (and I suspect all plugins, not just GlassFish) will need to refer to this jar file when providing Java EE APIs (all versions, not just EE 7) to the project.
iii. Maven EE projects need to point to this file as the Javadoc for Java EE APIs (all versions, not just EE 7)

Recorded in http://wiki.netbeans.org/JavaEE7 as task EE.10.
Comment 1 Petr Hejl 2013-02-01 14:40:55 UTC
Fixed in web-main 00bad3f713b4. All references have been updated though there might two issues.

1) javaee.api seems to be Java EE 6 library. Should it be updated or should there be a new module for Java EE 7?
2) gfLibsDefault.xml is pointing to a javaee6-doc-api.zip. Not sure whether this should be updated. Is this pointing to a GF installation? Is this ok Tomasi?
Comment 2 Petr Hejl 2013-02-01 14:41:22 UTC
(In reply to comment #1)
> 2) gfLibsDefault.xml is pointing to a javaee6-doc-api.zip. Not sure whether
> this should be updated. Is this pointing to a GF installation? Is this ok
> Tomasi?
in glassfish.cloud...
Comment 3 Petr Jiricka 2013-02-01 15:08:24 UTC
> 1) javaee.api seems to be Java EE 6 library. Should it be updated or should
> there be a new module for Java EE 7?

I'd say it should be updated. Hope noone depends on it being EE 6.
Comment 4 Petr Hejl 2013-02-01 17:09:12 UTC
Unfortunately it looks like GF regressed once again - see issue 225645. There is no javadoc for Java EE. I'll try to quickfix it.
Comment 5 Petr Jiricka 2013-02-03 21:18:40 UTC
Created attachment 130969 [details]
Grep of javaee-api-6.0 across the repository

More about question 1 - this is the Java EE 6 library that no module directly depend on (according to http://deadlock.netbeans.org/hudson/job/nbms-and-javadoc/lastSuccessfulBuild/artifact/nbbuild/build/generated/deps.txt), but a few modules depend on it indirectly, by referring to the library. I did a grep of javaee-api-6.0 across the repository, the result is attached. The "highlights" are below - basically it's Amazon Cloud, EJB, Maven and JSF modules. David, Martin and Martin, can you comment? Should javaee-api-6.0 be upgraded to 7.0?

./cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2eePlatformImpl2.java:        Library l = LibraryManager.getDefault().getLibrary("javaee-api-6.0");
./cloud.amazon/src/org/netbeans/modules/cloud/amazon/serverplugin/AmazonJ2eePlatformImpl2.java://        Library l = LibraryManager.getDefault().getLibrary("javaee-api-6.0");
./j2ee.ejbcore/src/org/netbeans/modules/j2ee/ejbcore/api/codegeneration/SessionGenerator.java:        assert LibraryManager.getDefault().getLibrary("javaee-api-6.0") != null;
./j2ee.ejbcore/src/org/netbeans/modules/j2ee/ejbcore/api/codegeneration/SessionGenerator.java:                ProjectClassPathModifier.addLibraries(new Library[]{LibraryManager.getDefault().getLibrary("javaee-api-6.0")}, remotePkg, JavaClassPathConstants.COMPILE_ONLY);
./j2ee.ejbcore/src/org/netbeans/modules/j2ee/ejbcore/api/codegeneration/SessionGenerator.java:                ProjectClassPathModifier.addLibraries(new Library[]{LibraryManager.getDefault().getLibrary("javaee-api-6.0")}, remotePkg, ClassPath.COMPILE);
./maven/src/org/netbeans/modules/maven/queries/RepositoryForBinaryQueryImpl.java:        if (binRoot.getPath().endsWith("/javax/javaee-api/6.0/javaee-api-6.0.jar")
./maven.j2ee/src/org/netbeans/modules/maven/j2ee/MissingJavaEEForUnitTestExecutionHint.java:                    fo.getNameExt().toLowerCase().contains("javaee-api-6.0")) { // NOI18N
./web.jsf/src/org/netbeans/modules/web/jsf/wizards/JSFConfigurationPanelVisual.java:            "javaee-api-6.0", //NOI18N
Comment 6 Martin Fousek 2013-02-03 22:02:26 UTC
> Should javaee-api-6.0 be upgraded to 7.0?

About usages in my modules:
> ./j2ee.ejbcore/src/org/netbeans/modules/j2ee/ejbcore/api/codegeneration
> /SessionGenerator.java:
>        assert LibraryManager.getDefault().getLibrary("javaee-api-6.0") != 
> null;
- can be updated but mustn't

> ./j2ee.ejbcore/src/org/netbeans/modules/j2ee/ejbcore/api/codegeneration
> /SessionGenerator.java:
>                ProjectClassPathModifier.addLibraries(new
> Library[]{LibraryManager.getDefault().getLibrary("javaee-api-6.0")}, 
> remotePkg,
> JavaClassPathConstants.COMPILE_ONLY);
> ./j2ee.ejbcore/src/org/netbeans/modules/j2ee/ejbcore/api/codegeneration
> /SessionGenerator.java:
>                ProjectClassPathModifier.addLibraries(new
> Library[]{LibraryManager.getDefault().getLibrary("javaee-api-6.0")}, 
> remotePkg,
> ClassPath.COMPILE);
- Both of tem includes the Java EE 6 library on the JavaSE project CP if it's not available there by Remote Interfaces generation. From my point of view would be optimal to include into the JavaSE project version of the EE API corresponding to the EJB/WEB EE platform level. So for this piece of code are ideal bundled both libraries - EE6, EE7.

If you would agreed on including EE7 library also into EE6 projects it's OK then. But my vote is for bundling both of them.

> ./web.jsf/src/org/netbeans/modules/web/jsf/wizards
> /JSFConfigurationPanelVisual.java:
>            "javaee-api-6.0", //NOI18N
- can be updated but mustn't
Comment 7 TomasKraus 2013-02-04 00:29:23 UTC
I'll update Java EE library in GF plugin to point to current JavaEE 7 URLs for all included modules when GF4 is registered. It may work as a quick fix for 7.3.1.

We also have some plans to generate modules + javadocs + sources for every single GF 3 and 4 release to point to correct version in maven repository in 8.0.
Comment 8 Petr Jiricka 2013-02-04 09:54:42 UTC
Tomas, I am not sure I understand your comment - are you referring to bug 225645?

Regarding the javaee.api library update, this is really a separate question - I filed a new bug 225689 for that. Let's continue the discussion in that issue.

I believe the one remaining thing for this issue is to update Maven project to use Java EE 7 javadoc, correct? Assigning to Martin.
Comment 9 Martin Janicek 2013-02-04 12:26:13 UTC
Ok, Maven part should be fixed in: web-main #d6e3be94fb16
So as I understand it, we can close this ticket, right? And the rest will be solved in issue 225689..
Comment 10 Petr Jiricka 2013-02-05 14:56:12 UTC
Yes, I think that's all - thanks everyone. Works fine for me now.
Comment 11 Quality Engineering 2013-02-13 01:52:24 UTC
Integrated into 'main-golden', will be available in build *201302122300* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
Changeset: http://hg.netbeans.org/main-golden/rev/00bad3f713b4
User: Petr Hejl <phejl@netbeans.org>
Log: #225554 - Java EE Javadoc must be updated to Java EE 7