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 172604 - JAXB binding generates a copy of the original file
Summary: JAXB binding generates a copy of the original file
Status: RESOLVED DUPLICATE of bug 123998
Alias: None
Product: xml
Classification: Unclassified
Component: Code (show other bugs)
Version: 6.x
Hardware: All Windows Vista
: P3 blocker (vote)
Assignee: _ gmpatil
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-19 16:46 UTC by janir
Modified: 2009-10-21 18:51 UTC (History)
0 users

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description janir 2009-09-19 16:46:35 UTC
I create a xsd schema file from which I want to generate the java classes with the JAXB wizard. I create a schema
directory to my project and put the file there.
In the wizard I choose the file from the created schema directory. I click finish and it creates the java files.

At the same time it copies the schema file from my schema directory to:
NetBeansProjects67\MESQueryToolSrv\src\conf\xml-resources\jaxb\MESQueryToolSrv\

This results in that there are 2 schema files

Now when I go to the JAXB wizard node in the IDE and open the schema to edit the file it seems that it does not edit the
file in schema directory but the one that that it copied to the "src\conf\xml-resources\jaxb\MESQueryToolSrv\" directory

This results in that the 2 files are out of sync. The edited one with the new elements in
src\conf\xml-resources\jaxb\MESQueryToolSrv\" directory and the old one (=original) in the schema directory

It is a bit misleading that when I edit the file from the JAXB Binding node in the IDE it does not edit the file in the
schema directory eventhough when I open the dialog it says that the file used is in the schema directory

Change it so when you edit the file though the JAXB wizard it edits the file in the schema directory (=the original
file) not the copy in src\conf\xml-resources\jaxb\MESQueryToolSrv\"  directory

Or then change it so that it does not copy the schema file to the src\conf\xml-resources\jaxb\MESQueryToolSrv\" 
directory at all
Comment 1 _ gmpatil 2009-10-15 19:14:19 UTC
Did you try "refresh" action on the Schema/WSDL file node under JAXB binding node?

That should copy the original Schema/WSDL into src\conf\xml-resources. 
It was originally developed to import Schema/WSDL from external sources. It can be enhanced, as there is already issue
for it #123998 [1].


[1] http://www.netbeans.org/issues/show_bug.cgi?id=123998

*** This issue has been marked as a duplicate of 123998 ***
Comment 2 janir 2009-10-16 07:01:42 UTC
Hi!

I tried the refresh
The situation is that the current on is on folder:
C:\Users\ruohomaa\Documents\NetBeansProjects67\MESQueryTool\src\conf\xml-resources\jaxb\MESQueryTool\MESQueryTool.xsd.
This is the one I am editing all the time.

but when I started this whole thing, I made a directory schema under the project directory where I created the xsd file.
The first time I compiled it it copied it to the location "src\conf\xml-resources\jaxb\MESQueryTool\"
Now we 2 copies of the file. Everytime I edit it through the IDE it edits it in
"src\conf\xml-resources\jaxb\MESQueryTool\" directory not the schema directory. This leads to the situation that I have
in the schema directory always an outdated version
Now when I choose refresh from the IDE in the JAXB Bindings node it overwrites the NEW one with the OLD one 

See: 

16.10.2009 8:48:33 : Retrieving Location:
file:/C:/Users/ruohomaa/Documents/NetBeansProjects67/MESQueryTool/schema/MESQueryTool.xsd 

(This is the old file which is never edited) Retrieved :   
file:/C:/Users/ruohomaa/Documents/NetBeansProjects67/MESQueryTool/schema/MESQueryTool.xsd 
(and this is the new one which is edited when I edit it in the IDE) Saved at:
C:\Users\ruohomaa\Documents\NetBeansProjects67\MESQueryTool\src\conf\xml-resources\jaxb\MESQueryTool\MESQueryTool.xsd

The whole thing would work if it would edit the original file in the schema directory instead of the one in
"src\conf\xml-resources\jaxb\MESQueryTool\MESQueryTool.xsd" then the refresh would work as intended.

Better yet, change it so that you don't have 2 copies of the file.


Comment 3 _ gmpatil 2009-10-16 22:50:17 UTC
Idea of refresh is to update ..\src\conf\xml-resources\jaxb\.. one in with original file, not the the other way around.

Issue #123998 is to allow user to select and use schema/wsdl file from the same or different project, implicitly not to
store additional copy of the same file. Is this issue is not the same?



Comment 4 janir 2009-10-19 06:59:04 UTC
I guess it is the same. How is the JAXB wizard suppose to work with the schema file ?
If issue #123998 creates the feature that allows user to select and use schema/wsdl file from the same or different
project, how is it suppose to work now (without issue #123998)
Is it so now that the schema file cannot be part of a Netbeans project (if issue #123998 fixes the problem that it can be)
Comment 5 _ gmpatil 2009-10-20 02:16:05 UTC
Issue #123998 can be implemented in a such way that when user selects WSDL/Schema file from within the project, then
Wizard should use the same file instead making a copy at ..\src\conf\xml-resources\jaxb\.. .

Without the issue #123998 implemented, Wizard currently assumes, original source is outside the project source root even
if it inside.  If schema file at external source is still actively being developed, user should use "refresh" synch with
it. 

Once #123998 is implemented, "refresh" action is not required for a scenario where original/source Schema/WSDL file in
inside same project source root, additional copy at ..\src\conf\xml-resources\jaxb\.. is not made.
Comment 6 _ gmpatil 2009-10-21 18:51:19 UTC

*** This issue has been marked as a duplicate of 123998 ***