[JAVAEETUTORIAL-107] serializable class does not define serialVersionUID Created: 24/Jun/12  Updated: 05/Feb/13  Resolved: 05/Feb/13

Status: Closed
Project: javaeetutorial
Component/s: doc, examples
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6, 6.0.8

Type: Improvement Priority: Minor
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0 minutes
Time Spent: Not Specified
Original Estimate: 0 minutes


 Description   

The managed bean described at http://docs.oracle.com/javaee/6/tutorial/doc/gipob.html is marked as Serializable but does not define a serialVersionUID. While not technically necessary, I believe it is best practice to define it since different JVMs will generate different default serialVersionUIDs so retroactively setting a compatible serialVersionUID may not be easy.



 Comments   
Comment by Ian Evans [ 14/Aug/12 ]

There also is the issue that NetBeans adds serialVersionUID as an editor hint, but defaults the value to 1L for every class. So, we need to sweep through our sources to make sure that we have unique IDs for our serializable classes.

Comment by Kim Haase [ 14/Aug/12 ]

Yes.

A few other chapters in the book contain code with the 1L assignment. I am fixing the CDI one. It occurs in a couple of persistence chapters also.

Comment by Kim Haase [ 15/Aug/12 ]

Checked in code and book fixes for web/guessnumber and cdi/guessnumber examples.

Comment by Ian Evans [ 15/Aug/12 ]

Revision: 984
Author: ievans
Date: 2012-08-15 09:47
Message: Replaced all serialVersionUID fields with unique values; general code cleanup (added @Override annotation, StringBuilder, improved logging syntax, etc.)
Issue #JAVAEETUTORIAL-107 - serializable class does not define serialVersionUID

Comment by Kim Haase [ 16/Aug/12 ]

Checked in code fixes for mailconnector example (revisions 988 and 989).

Comment by Kim Haase [ 17/Aug/12 ]

Committed more bookstore example classes that needed a serialVersionUID, at revision 992.

Comment by Kim Haase [ 20/Sep/12 ]

Committed cleaned-up code in cdi/decorators, including serialVersionUID, at revision 996.

Comment by Kim Haase [ 20/Sep/12 ]

Committed cleaned-up code in cdi/billpayment, including serialVersionUID, at revision 997.

Comment by Kim Haase [ 20/Sep/12 ]

Committed cleaned-up code in cdi/producerfields, including serialVersionUID, at revisions 998 and 1001.

Comment by Kim Haase [ 20/Sep/12 ]

Committed cleaned-up code in jms/clientmdbentity, including serialVersionUID, at revision 1000.

Comment by Kim Haase [ 20/Sep/12 ]

Committed cleaned-up code in Duke's Forest projects, including serialVersionUID, at revision 1002.

Comment by jendrock [ 05/Feb/13 ]

This issue has been fixed. Depending to whom you talk, this issue is either trivial or irrelevant. The 1L value, generated and inserted by the IDE is sufficient for the examples. In a real world production environment, a unique, generated UID would be a necessity, but not here. The change has been made to all or almost all of the examples already. Enough has been done to close the issue.





[JAVAEETUTORIAL-43] Create a composite component example that shows how to use an action listener Created: 15/Jul/11  Updated: 05/Feb/13  Due: 15/Aug/11  Resolved: 05/Feb/13

Status: Closed
Project: javaeetutorial
Component/s: doc, examples
Affects Version/s: 6.0.7
Fix Version/s: 6.0.7-6

Type: Task Priority: Major
Reporter: jendrock Assignee: chinmayee_srivathsa
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 4 weeks
Time Spent: Not Specified
Original Estimate: 4 weeks


 Description   

Create an additional composite component example that shows how to use an action listener. This requires a new example, not a mere rewrite of the customary composite component login example. Then, document how to build, deploy, and run the new example in the Advanced Composite Components chapter and also add a section that explains when to use "action" vs. "action listener".



 Comments   
Comment by jendrock [ 05/Feb/13 ]

We already have a composite component example. Although a better example could be created, we do not plan to do so in the forseeable future.





[JAVAEETUTORIAL-46] Add database schema graphic to JPA example apps Created: 19/Aug/11  Updated: 05/Feb/13  Resolved: 05/Feb/13

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7
Fix Version/s: 6.0.7-6

Type: Task Priority: Minor
Reporter: Ian Evans Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

We used to have graphics that showed the database schema of the JPA examples.

I'll send some sketches to Jordan so the graphics team can clean them up.



 Comments   
Comment by jendrock [ 05/Feb/13 ]

Jordan created two illustrations, one for roster and the other for order. Both figures have been included in the 6.0.7 IPS package and are available online. See the fix for order here: http://docs.oracle.com/javaee/6/tutorial/doc/giqst.html and the fix for roster here: http://docs.oracle.com/javaee/6/tutorial/doc/giqsq.html.





[JAVAEETUTORIAL-145] Error in example Created: 29/Dec/12  Updated: 04/Jan/13  Resolved: 04/Jan/13

Status: Resolved
Project: javaeetutorial
Component/s: doc
Affects Version/s: None
Fix Version/s: 6.0.7-6

Type: Bug Priority: Minor
Reporter: clogs Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

In the example shown in chapter: Developing with JavaServer Faces Technology->Writing Managed Bean Methods->Writing a Method to Handle Navigation, there is a typo in the shown example:

cart().getTotal() > 100.00

I think this should be cart.getTotal()

In the PDF manual this is on page 203.



 Comments   
Comment by Kim Haase [ 04/Jan/13 ]

Thanks for pointing out this error. The correction will appear in the next online version of the Java EE 6 tutorial.





[JAVAEETUTORIAL-144] Error in required attribute of <h:inputText> and <h:inputSecret> Created: 20/Dec/12  Updated: 20/Dec/12  Resolved: 20/Dec/12

Status: Closed
Project: javaeetutorial
Component/s: None
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Trivial
Reporter: winechess Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Now:
<h:outputLabel for="usernameInput">#{bundle['login.username']</h:outputLabel>
<h:inputText id="usernameInput" value="#

{loginBean.username}" require="true" />
<br />
<h:outputLabel for="passwordInput">#{bundle['login.password]</h:outputLabel>
<h:inputSecret id="passwordInput" value="#{loginBean.password}" require="true" />

Must be:
<h:outputLabel for="usernameInput">#{bundle['login.username']</h:outputLabel>
<h:inputText id="usernameInput" value="#{loginBean.username}

" required="true" />
<br />
<h:outputLabel for="passwordInput">#{bundle['login.password]</h:outputLabel>
<h:inputSecret id="passwordInput" value="#

{loginBean.password}

" required="true" />



 Comments   
Comment by Kim Haase [ 20/Dec/12 ]

Thank you for pointing this out. The error is fixed, and the correction will appear in the next version of the tutorial.





[JAVAEETUTORIAL-136] Duke's Forest validation messages not found Created: 20/Sep/12  Updated: 09/Nov/12  Resolved: 09/Nov/12

Status: Closed
Project: javaeetutorial
Component/s: examples
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Kim Haase Assignee: William Markito
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Today I tried to create a new customer/user for Duke's Forest, for the first time in quite a while, and typed a password that was too short. Instead of an error message in the little square I got

{person.password}

I tried using incorrect values for some of the other fields and got the same problem – all that was displayed was

{person.email}

or

{person.firstname}

Apparently the validation messages, which are in dukes-resources.jar, are not being found even though dukes-resources.jar is bundled in dukes-store.war.

In the dukes-resources.jar file the messages are in java/ValidationMessages.properties and java/ValidationMessages_es.properties.

In dukes-tutoring, the messages are in dukes-tutoring-war/src/java and are built into the WAR file, in WEB-INF/classes/ValidationMessages.properties etc.

So Eric and I copied the validation messages into dukes-store/src/java, and after redeployment the messages appear just fine.

Are the validation messages needed anywhere besides dukes-store? I don't believe any entities are created in dukes-shipment, so removing them from dukes-resources and putting them into just dukes-store might be sufficient.

I am about to check in some fixes for serialVersionUID (JAVAEETUTORIAL-107) and other cosmetic changes (changing StringBuffer to StringBuilder, adding @Override, line breaks, other NetBeans nits) and was checking to see if I had broken anything. But the same thing happens with the existing version on my other machine, so those fixes I am making haven't changed any behavior.



 Comments   
Comment by William Markito [ 11/Oct/12 ]

That's right Kim, I've run a couple of tests here and that's the same behavior I'm experiencing.

Also, this issue happened with other bundle messages (Bundle_en.properties...) and that's the reason the file is copied into dukes-store and dukes-shipment, so they can share the same labels for form fields. For some reason, I thought that using the resources project to share the Validation messages were working despite my experience with Bundle.properties.

So we can remove them from the dukes resources project.

Thanks for catching that.

Comment by Kim Haase [ 09/Nov/12 ]

Committed changes at revision 1040.





[JAVAEETUTORIAL-133] Tag terminology needs definitions and other fixes Created: 20/Aug/12  Updated: 06/Nov/12  Resolved: 06/Nov/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Kim Haase Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

The section "Immediate Evaluation" in the Expression Language chapter (http://docs.oracle.com/javaee/6/tutorial/doc/bnahr.html#bnahs) mentions a tag handler, a concept not previously introduced.

The problem goes back as far as the section on the hello1 example in "Getting Started with Web Applications" chapter (http://docs.oracle.com/javaee/6/tutorial/doc/bnadx.html), which has a bullet that mentions the tags directory, tag files, and tag libraries without explaining what they are. In fact, the tags directory is no longer mentioned in the Java EE 6 platform spec and is associated with JavaServer Pages (JSP) technology; it is not in the illustration "Web Module Structure".

So this bullet item should be removed, and the terms "tag", "tag handler", and "tag library" need to be defined at appropriate points in the documentation.



 Comments   
Comment by Kim Haase [ 20/Aug/12 ]

Changes needed to Chapter 3:

Remove bullet item on "tags" directory in web applications, and remove mention of it from figure's alt description

Declaring Resource References section (http://docs.oracle.com/javaee/6/tutorial/doc/bnaeo.html#bnaeu): add CDI managed beans to last sentence of paragraph 2 (they accept resource injections), add a cross-reference to the "Resources and Resource Adapters" chapter (these aren't really related to this issue but should be done)

Remove taglib listeners and taglib tag handlers from table "Web Components That Accept Resource Injections" (they're still in the EE 5 tutorial, which covers JSP)

Changes needed to Chapter 4:

Introduce concept of tag handlers underlying component tags by adding a sentence near the beginning: "The tag libraries contain tag handlers that implement the component tags."

Comment by Kim Haase [ 16/Oct/12 ]

These fixes were checked in to SCCS on 9/21 but have not yet been put back to the tutorial workspace.

Comment by Kim Haase [ 06/Nov/12 ]

Changes have been put back to tutorial workspace.





[JAVAEETUTORIAL-102] sequencing seems wrong Created: 24/Jun/12  Updated: 06/Nov/12  Resolved: 06/Nov/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Improvement Priority: Minor
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This issue occurs on the "Configuring Web Applications: The hello2 Example" page at http://docs.oracle.com/javaee/6/tutorial/doc/bnaeo.html. This is under the "Setting Context and Initialization Parameters" contents item. The sequencing is wrong for the "To Add a Context Parameter Using NetBeans IDE" section relative to "To Create a web.xml File Using NetBeans IDE". At this point in the tutorial, no web.xml file has been created and the tutorial specifically points out that hello2 does not need one to run out of the box. In that context, the web.xml file needs created first so that section should come prior to adding the context parameter.
In the current situation, you have to click the link within the "To Add a Context Parameter Using NetBeans IDE" section that goes to the "To Create a web.xml File Using NetBeans IDE" section which takes you away from the sequence of tutorial steps.



 Comments   
Comment by Kim Haase [ 26/Jun/12 ]

Thank you for your careful reading of this chapter. This fix should probably be made in conjunction with implementing your equally valid suggestions in JAVAEETUTORIAL-106.

Comment by Kim Haase [ 16/Oct/12 ]

I have removed the information about setting initialization parameters, since this task is almost never done and is too advanced for the introductory chapter. I did not change the location of the web.xml creation task, because this rarely has to be done for JavaServer Faces applications – NetBeans creates the web.xml file automatically.

Comment by Kim Haase [ 06/Nov/12 ]

Closing after putting back fix.





[JAVAEETUTORIAL-135] Circular definition of a persistent field Created: 29/Aug/12  Updated: 11/Oct/12  Resolved: 11/Oct/12

Status: Resolved
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Minor
Reporter: Ian Evans Assignee: Unassigned
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

http://docs.oracle.com/javaee/6/tutorial/doc/bnbth.html



 Description   

The definition of a persistent field in the JPQL chapter is as follows:
Relationship field: A persistent relationship field of an entity whose type is the abstract schema type of the related entity.

It should read:
Relationship field: A persistent field of an entity whose type is the abstract schema type of the related entity.



 Comments   
Comment by Ian Evans [ 11/Oct/12 ]

Fixed in documentation source. Will appear in the next update to the EE 6 Tutorial.





[JAVAEETUTORIAL-138] HelloWorldApplication has unresolved dependencies in NB 7.2 w/ GF 3.1.2 Created: 10/Oct/12  Updated: 11/Oct/12  Resolved: 11/Oct/12

Status: Resolved
Project: javaeetutorial
Component/s: examples
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: rcervera Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0 minutes
Time Spent: Not Specified
Original Estimate: 0 minutes
Environment:

NetBeans 7.2, Glassfish 3.1.2



 Description   

When you open the project on NetBeans, it shows unresolved dependencies (web service APIs). The project deploys fine if you go to the Properties page, then to the Libraries section, and you remove this library dependency.



 Comments   
Comment by Ian Evans [ 11/Oct/12 ]

Revision: 1022
Author: ievans
Date: 2012-10-10 17:31
Message: Removed outdated library reference.
Issue #JAVAEETUTORIAL-138 - HelloWorldApplication has unresolved dependencies in NB 7.2 w/ GF 3.1.2





[JAVAEETUTORIAL-139] Criteria query code snippets use untype-safe metamodel classes Created: 11/Oct/12  Updated: 11/Oct/12  Resolved: 11/Oct/12

Status: Resolved
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Ian Evans Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

From the feedback alias:
I've got a question about an example on creating criteria queries in Part VI Chapter 35 of the Java EE 6 tutorial. Link: http://docs.oracle.com/javaee/6/tutorial/doc/gjivm.html
In the "Querying Relationships Using Joins" section of the chapter, there is an example code that doesn't work for me.

CriteriaQuery<Pet> cq = cb.createQuery(Pet.class);
Metamodel m = em.getMetamodel();
EntityType<Pet> Pet_ = m.entity(Pet.class);

Root<Pet> pet = cq.from(Pet.class);
Join<Pet, Owner> owner = pet.join(Pet_.owners);

Since Pet_ is an instance of class EntityType, it doesn't define any attributes named "owners", which is why Pet_.owners gives an error. Is that a mistake?
Searching through forums I found a thread discussing this problem here http://stackoverflow.com/questions/3879743/jpa-metamodel-strange-inconsistent-example-in-sun-docs
If this is indeed a mistake, could you please correct the code.

The code snippets used dynamic metamodel classes for clarity on where, e.g., Pet_ comes from. But in practice, it gives the impression that this is a good practice for creating queries, which is not the case. The metamodel classes should be statically generated by an annotation processor at development time to make the code compilable and type-safe.



 Comments   
Comment by Ian Evans [ 11/Oct/12 ]

Fixed the code snippets to implicitly use static metamodel classes. The documentation will be updated in the next release of the Tutorial bundle.

Comment by Ian Evans [ 11/Oct/12 ]

And just for clarity, if you're using an annotation processor to statically generate your metamodel classes, the following type-safe query should compile:

CriteriaQuery<Pet> cq = cb.createQuery(Pet.class);
Root<Pet> pet = cq.from(Pet.class);
Join<Pet, Owner> owner = pet.join(Pet_.owners);




[JAVAEETUTORIAL-134] information directory not included in IPS package Created: 24/Aug/12  Updated: 24/Aug/12  Due: 04/Oct/12  Resolved: 24/Aug/12

Status: Resolved
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Critical
Reporter: Ian Evans Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0 minutes
Time Spent: Not Specified
Original Estimate: 0 minutes


 Description   

The information directory isn't copied to the package root, so the FAQ and Download links don't work in the IPS package.



 Comments   
Comment by Ian Evans [ 24/Aug/12 ]

Revision: 993
Author: ievans
Date: 2012-08-24 11:38
Message: Updated targets to add information to the package root.
Issue #JAVAEETUTORIAL-134 - information directory not included in IPS package





[JAVAEETUTORIAL-112] link to ActionSource documentation Created: 28/Jun/12  Updated: 17/Aug/12  Resolved: 17/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Improvement Priority: Minor
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This issue occurs on the page entitled "Adding Components to a Page Using HTML Tags" at http://docs.oracle.com/javaee/6/tutorial/doc/bnarf.html. In the section about "The immediate Attribute", it mentions the ActionSource interface. I expect a link to a page about the ActionSource interface such as the API documentation for it.



 Comments   
Comment by Kim Haase [ 06/Jul/12 ]

Thank you. We don't usually link directly to a page of the API documentation, but we should include the full package name to make it easy to look up (javax.faces.component.ActionSource, in this case).

Comment by Kim Haase [ 17/Aug/12 ]

This issue is larger than just the one change. We have not been consistent in providing package names in the JSF chapters, so I'm making numerous fixes of this nature.

Comment by Kim Haase [ 17/Aug/12 ]

I have committed fixes to all the JSF chapters. I think writers have been more careful with most other technologies, but it's worth keeping an eye on.





[JAVAEETUTORIAL-111] sentence is wrong and links to incorrect place Created: 28/Jun/12  Updated: 16/Aug/12  Resolved: 16/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This issue occurs on the page entitled "Adding Components to a Page Using HTML Tags" at http://docs.oracle.com/javaee/6/tutorial/doc/bnarf.html. The second to last sentence under "The id Attribute" indicates "Unlike most other JavaServer Faces tag attributes, the id attribute takes expressions using only the evaluation syntax described in The immediate Attribute, which uses the ${} delimiters." The part about "The immediate Attribute" including where that text links is incorrect. I believe that is supposed to refer to the immediately evaluated EL expressions as opposed to the deferred evaluation EL expressions and should link to an appropriate location on the "Value and Method Expressions" page at http://docs.oracle.com/javaee/6/tutorial/doc/bnahu.htm.



 Comments   
Comment by Kim Haase [ 06/Jul/12 ]

Good catch. I think it needs to refer to http://docs.oracle.com/javaee/6/tutorial/doc/bnahr.html#bnahs, actually. Thank you.

Comment by Kim Haase [ 16/Aug/12 ]

Corrected the cross-reference to the expression language section.





[JAVAEETUTORIAL-110] incorrect XML syntax in rendered as list Created: 28/Jun/12  Updated: 16/Aug/12  Resolved: 16/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This issue occurs in a few places on http://docs.oracle.com/javaee/6/tutorial/doc/bnarf.html entitled "Adding Components to a Page Using HTML Tags". This issue is in the third column of "Table 7-1 The Component Tags"

There are examples of renderings such as <input type=type>. However, these are actually output as quoted attributes so <input type="type"> is more accurate. Unquoted attributes are only valid in regular SGML-based HTML, not the more modern XHTML where it isn't even considered well-formed XML and would cause a parse error if it were actually rendered that way and processed through an XML parser.



 Comments   
Comment by Kim Haase [ 06/Jul/12 ]

Thanks for pointing this out. The problem's been there since EE 5.

Comment by Kim Haase [ 16/Aug/12 ]

Checked in fix to numerous rows in table that did not quote HTML tag attribute values.





[JAVAEETUTORIAL-94] Problems with Duke's Tutoring admin interface Created: 05/Jun/12  Updated: 16/Aug/12  Resolved: 16/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: examples
Affects Version/s: 6.0.7-3
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Kim Haase Assignee: jendrock
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: 0 minutes
Time Spent: Not Specified
Original Estimate: 0 minutes


 Description   

Problem 1:

When I try to add a student (createStudent.xhtml) and I enter the phone number

111-222-3333

I get an error message:

Phone numbers should be of the form (xxx) xxx-xxxx or xxx-xxx-xxxx.

It appears that in Person.java the only allowed format is (xxx) xxx-xxxx. Either Person.java or the error message needs to be fixed.

Problem 2:

When I try to create a new guardian, it doesn't "take" – I click Submit, but the new person is not added to the selection list, or to the database. What is supposed to happen here? Creating a new student works all right (except for the phone glitch).

Interestingly, I don't get the phone validation error on the createGuardian page, only on the createStudent page. It's as if it doesn't even get as far as validating it against the Person entity.



 Comments   
Comment by Kim Haase [ 11/Jun/12 ]

Problem 3:

On the Create Student form, there is a field for "Country". However, if I try to create a student whose address is in a foreign country, I find that the fields "State" and "Zip" may not be null.

Why even have a Country field if only addresses in the US are permitted?

Comment by Kim Haase [ 11/Jun/12 ]

Problem 4:

On the main administration page, if I click the Remove button for a student, I get an error 500 with a stack trace that begins as follows:

WARNING: StandardWrapperValve[Faces Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw exception
javax.faces.view.facelets.FaceletException: Error Parsing /admin/student/deleteStudent.xhtml: Error Traced[line: 39] XML document structures must start and end within the same entity.
at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:425)
at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:399)
at com.sun.faces.facelets.compiler.Compiler.compile(Compiler.java:124)

This one is easy: the deleteStudent.xhtml page doesn't have a closing </ui:composition> tag. I'll check in a fix for this.

Comment by Kim Haase [ 11/Jun/12 ]

Problem 5:

If I create a new student and then click Add Guardian for that student on the main administration page, I arrive on the createGuardian page. If I select an existing guardian in the list box (the addExistingGuardian component) and click the "Add guardian" button, I get a validation error: Value is not valid.

This will take a while to figure out.

Comment by Kim Haase [ 11/Jun/12 ]

Another note on Problem 1: You can submit the Create Guardian form (to create a guardian for a student) without filling in any of the fields. (The guardian is not stored in the database anyway, no matter what fields you fill in.)

Supposedly, when you click Submit on the form, the following method call happens:

<h:commandButton id="submit"
action="#

{adminBean.createGuardian(guardianManager.newGuardian, adminManager.currentStudent)}

"
value="#

{bundle['action.submit']}

" />

The createGuardian method is never called (the log message for it is never displayed).

I put logging code for the GuardianManager constructor and for the newGuardian and currentStudent setters and getters. The constructor and getCurrentStudent seem to be called by Submit, but the newGuardian setter/getter are not; getNewGuardian is called for the display of each form field, but not on Submit.

Comment by jendrock [ 13/Jun/12 ]

For Ian when he returns.

Comment by Ian Evans [ 15/Aug/12 ]

Guardian creation works now.

Figuring out the phone number issue is complicated, due to the interaction between validators and converters. The easiest thing to do is to just update the validation message to only allow (xxx) xxx-xxxx phone numbers.

Comment by Ian Evans [ 15/Aug/12 ]

Revision: 986
Author: ievans
Date: 2012-08-15 10:59
Message: Modified validation messages to remove xxx-xxx-xxxx phone numbers as valid patterns. Still need to update the Chinese localized string.
Issue #JAVAEETUTORIAL-94 - Problems with Duke's Tutoring admin interface

Comment by Ian Evans [ 15/Aug/12 ]

Reassigning to Eric for checking in the Chinese locale validation messages.

Comment by jendrock [ 16/Aug/12 ]

Checked in the updated Simplified Chinese validation messages properties file (Revision 991) 2012-08-16 18:58:42 UTC.

Comment by jendrock [ 16/Aug/12 ]

All the fixes for this issue are now checked in. The fixed case study will be included in the 6.0.7-6 release.





[JAVAEETUTORIAL-39] New chapters must be indexed Created: 14/Jul/11  Updated: 16/Aug/12  Due: 15/Aug/11  Resolved: 16/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Task Priority: Major
Reporter: jendrock Assignee: jendrock
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

All new chapters need to be indexed, following the indexing format, terminology, conventions, and consistency that are present in the original chapters. Chapters that need to be indexed include the following: ajax.sgm, bean-validation-advanced.sgm, cdi-adv.sgm, cdi-adv-examples.sgm, dukes-tutoring.sgm, ejb-async.sgm, ejb-embedded, interceptors.sgm, jaxrs-advanced.sgm, jaxrs-advanced-examples.sgm, jsfconfigure.sgm, jsfcustom.sgm, jsflifecycle.sgm, jsfmodels.sgm, persistence-cache.sgm, persistence-locking.sgm, persistence-string-queries.sgm, and webi18n.sgm. Additional chapters will be added to this list as they are completed.



 Comments   
Comment by Kim Haase [ 25/May/12 ]

Most of these have been indexed already; added index entries to persistence-cache.sgm, persistence-locking.sgm, and persistence-string-queries.sgm.

Comment by Kim Haase [ 06/Jun/12 ]

I believe all the indexing is done except for the content we are still waiting for (servlet, CDI).

Comment by Ian Evans [ 16/Aug/12 ]

Kim: is this issue still open?

Comment by Kim Haase [ 16/Aug/12 ]

Thanks for checking, Ian – we did finish the indexing, possibly even before the respin, but I'm leaving the release as 6.0.7-6 just in case.





[JAVAEETUTORIAL-132] Confusing concept in EJB introduction: 32-bit methods Created: 15/Aug/12  Updated: 16/Aug/12  Resolved: 15/Aug/12

Status: Resolved
Project: javaeetutorial
Component/s: None
Affects Version/s: 6.0.4
Fix Version/s: 6.0.7-6

Type: Bug Priority: Minor
Reporter: kombatkuehn Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

http://docs.oracle.com/javaee/6/tutorial/doc/gipmb.html



 Description   

In [Part IV Enterprise Beans > 22. Enterprise Beans > What Is an Enterprise Bean?], I do not get the meaning of "32-bit methods" in the sentence "By invoking these 32-bit methods, clients can access the inventory services provided by the application."
There are methods returning 32-bit integers but this is probably not meant here and also irrelevant to a very basic introductory paragraph. I am sure the sentence would be more correct and easier to understand if "32-bit" was omitted.



 Comments   
Comment by Ian Evans [ 15/Aug/12 ]

I agree. There's no reason to include "32-bit" as a qualifier here, and 64-bit JVMs make this potentially inaccurate now, whatever the original motivation.

Comment by Ian Evans [ 15/Aug/12 ]

Fixed in source. Will appear in the next published update.





[JAVAEETUTORIAL-105] exception and throwable are confused Created: 24/Jun/12  Updated: 16/Aug/12  Resolved: 14/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This issue occurs on the page at http://docs.oracle.com/javaee/6/tutorial/doc/bnaeo.html. Under step 10 of the "To Set Up Error Mapping Using NetBeans IDE" section, it states "To specify all exceptions, type java.lang.Throwable." java.lang.Throwable encompasses both errors and exceptions. To make this statement correct, I suggest either "To specify all exceptions, type java.lang.Exception," or "To specify all throwable errors and exceptions, type java.lang.Throwable," depending on what is meant to be conveyed.



 Comments   
Comment by Kim Haase [ 14/Aug/12 ]

Committed fix that changes the language in accordance with the second suggestion and also clarifies that you can specify either an Error Code or an Exception Type, but not both.





[JAVAEETUTORIAL-91] Reviewer remarks in chapters should be resolved and/or removed Created: 25/May/12  Updated: 16/Aug/12  Resolved: 15/Aug/12

Status: Resolved
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Task Priority: Minor
Reporter: Kim Haase Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

Several chapters still have substantive reviewer remarks – can these be resolved in some way?

ejb-intro.sgm
ejb-basicexamples.sgm
persistence-intro.sgm

ejb-async.sgm
interceptors.sgm
persistence-string-queries.sgm

I have some in a couple of JSF chapters that I need to fix, too.



 Comments   
Comment by Ian Evans [ 15/Aug/12 ]

Checked into source. This issue is not user-visible, but it's still fixed. 8^)





[JAVAEETUTORIAL-104] Conditionally dependent step is missing Created: 24/Jun/12  Updated: 16/Aug/12  Resolved: 13/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: PNG File lack of initialization parameters section.PNG    

 Description   

This issue occurs on http://docs.oracle.com/javaee/6/tutorial/doc/bnaeo.html. There is a sequence of steps under "To Add an Initialization Parameter Using NetBeans IDE" that assumes a servlet element is in the web.xml file. If there is no servlet, there is no initialization parameters section on the Servlets screen. I have attached a screenshot demonstrating the lack of initialization parameters when there is no servlet section.



 Comments   
Comment by Kim Haase [ 13/Aug/12 ]

This task is too advanced for the introductory chapter on web applications. Init params (unlike context params) are, as you note, specific to servlets. They are described in the Java Servlet Technology chapter and should not be mentioned in this one, so we will remove that section and make a few changes in the servlet chapter.

Comment by Kim Haase [ 13/Aug/12 ]

Checked in fixes to webapp and servlets chapters.





[JAVAEETUTORIAL-103] Incorrect description of what gets created Created: 24/Jun/12  Updated: 16/Aug/12  Resolved: 13/Aug/12

Status: Closed
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Trivial
Reporter: Brant Gurganus Assignee: Kim Haase
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

This issue occurs on the "Configuring Web Applications: The hello2 Example" page at http://docs.oracle.com/javaee/6/tutorial/doc/bnaeo.html. In the paragraph following step 4 under "To Create a web.xml File Using NetBeans IDE" it indicates that "An empty web.xml file appears in web/WEB-INF/." The file that is created is not empty. More correct verbiage might be "A boilerplate web.xml file appears in web/WEB-INF/."



 Comments   
Comment by Kim Haase [ 13/Aug/12 ]

Good catch; I think "basic" would perhaps be less colloquial than "boilerplate".

Comment by Kim Haase [ 13/Aug/12 ]

Checked in fix that changes "empty" to "basic" in webapp.sgm.





[JAVAEETUTORIAL-131] Web Services | JAX-RS: Advanced Topics and Example | Runtime Content Negotiation is misleading and contains errors Created: 14/Aug/12  Updated: 14/Aug/12  Resolved: 14/Aug/12

Status: Resolved
Project: javaeetutorial
Component/s: None
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: kombatkuehn Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

http://docs.oracle.com/javaee/6/tutorial/doc/gkqbq.html



 Description   

The section on "Runtime Content Negotiation" contains an example where the resource class level @Produces annotation sets a default MIME type of text/plain. The method getEmployeeAddressXml has a @Produces annotation which makes the method listen to requests asking for a text/xml MIME type.
From my understanding, the subsequent sections make false statements:

The getEmployeeAddressText method is called for an HTTP request that looks as follows:

GET /employee
content-type: text/plain
500 Oracle Parkway, Redwood Shores, CA
The getEmployeeAddressXml method is called for an HTTP request that looks as follows:

GET /employee
content-type: text/xml
<address street="500 Oracle Parkway, Redwood Shores, CA" country="USA"/>

First, it is at least misleading to have a GET request containing a message body. Worse though, from my understanding, it should be the "Accept" header content that will be matched against the @Produces annotation value. The "Content-type" header should be matched against the @Consumes annotation.

If I should be wrong, the explanation of @Produces and @Consumes earlier in the chapter is very misleading.



 Comments   
Comment by Ian Evans [ 14/Aug/12 ]

You are right, the example HTTP request should use an Accept header, not Content-type.

The examples aren't intended to show a message body, although I agree that's what it looks like. It would be more clear to separate out the HTTP request fragment from the body of the response. E.g.
Request:

GET /employee
Accept: text/plain

Response:

500 Oracle Parkway, Redwood Shores, CA

Request:

GET /employee
Accept: text/xml

Response:

<address street="500 Oracle Parkway, Redwood Shores, CA" country="USA"/>
Comment by Ian Evans [ 14/Aug/12 ]

Fixed in source. Will be available in next published update.





[JAVAEETUTORIAL-130] Incorrect description in example of orphanRemoval in entity relationships Created: 13/Aug/12  Updated: 13/Aug/12  Resolved: 13/Aug/12

Status: Resolved
Project: javaeetutorial
Component/s: doc
Affects Version/s: 6.0.7-5
Fix Version/s: 6.0.7-6

Type: Bug Priority: Major
Reporter: Ian Evans Assignee: Ian Evans
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   

at the url below (Orphan Removal in Relationships):
http://docs.oracle.com/javaee/6/tutorial/doc/bnbqa.html#giqxy

i believe there may be a mistake in the tutorial text below. In the
below tutorial text, I believe the remove operation would be cascaded
to the orphaned order entity, not the customer entity.



 Comments   
Comment by Ian Evans [ 13/Aug/12 ]

Fixed in source. Will appear in the next published update.





Generated at Tue Jun 02 13:59:27 UTC 2015 using JIRA 6.2.3#6260-sha1:63ef1d6dac3f4f4d7db4c1effd405ba38ccdc558.