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 93596 - Please provide API for UI of external wsdl/schema import chooser
Summary: Please provide API for UI of external wsdl/schema import chooser
Status: CLOSED WONTFIX
Alias: None
Product: xml
Classification: Unclassified
Component: Code (show other bugs)
Version: 5.x
Hardware: All All
: P1 blocker (vote)
Assignee: issues@xml
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-01-30 16:32 UTC by Vladimir Yaroslavskiy
Modified: 2007-04-02 08:48 UTC (History)
2 users (show)

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 Vladimir Yaroslavskiy 2007-01-30 16:32:31 UTC
Please provide API for UI of external wsdl/schema import chooser.
The suggested scenarion should be:

Project project = ...;
[WSDL|Schema]Model model = new ExternalModelImportChooser(project).show();

if (model == null) {
  ... // user canceled dialog
}
else {
  ... // enjoy it
}

The UI can be the same as in wizard for new external wsdl/schema file.
This API is necessary for xstl wizard.
Comment 1 Nam Nguyen 2007-02-02 07:09:55 UTC
This is duplicate of 91437.
The common chooser is customizable for each domain editor needs.  Note that
XAMUI ExternalReferenceCustomizer allow choosing one referenced file, while
ExternalReferenceCreator allows choosing multiple files.
Also, the chooser does not load the referenced models as this issue suggested. 
This is more efficient.


*** This issue has been marked as a duplicate of 91437 ***
Comment 2 Vladimir Yaroslavskiy 2007-02-02 07:41:13 UTC
It is not duplicate of 91437. Reason: requested chooser should allow user to
select a wsdl/schema file from any folder of local file system and/or set URL to
external file from the internet (such as http://...).
ExternalReferenceCustomizer or ExternalReferenceCreator doesn't allow to do it.

The appropriate UI exists: see wizard for New | File/Folder | XML | External XML
Schema Document(s) or External WSDL Document(s). My request is to provie API fro
using this UI. I don't wish to copy/paste the source code of the UI.
Comment 3 Vladimir Yaroslavskiy 2007-02-02 07:44:31 UTC
Classes to be reused:
org.netbeans.modules.xml.schema.ui.retriever.RetrieveXMLResourceWizardPanel1*.java
Comment 4 Chris Webster 2007-02-06 17:49:21 UTC
Seems like the import wizard could be launched here without any public expose of
UI. Please take a look at
http://www.netbeans.org/download/dev/javadoc/org-openide-loaders/org/openide/loaders/TemplateWizard.Iterator.html
for how to launch the wizard. 
Comment 5 Vladimir Yaroslavskiy 2007-02-07 15:36:43 UTC
The using of the wizard is not acceptable: there are 3 classes used by NetBeans
to show wizard - iterator, panel and ui. The ui is just JPanel
(RetrieveXMLResourceVisualPanel1) and doesn't provide requested functionality.
The iterator and panel (RetrieveXMLResourceWizardIterator and
RetrieveXMLResourceWizardPanel1) are configuration files and have specific api
used by NetBeans wizard framework.

What I want to see is a dialog (let it be called ExternalModelImportChooser)
with two buttons Ok and Cancel. It must be one constructor with one parameter -
project - where dialog is called on, and one public method show() which opens
the dialog and returns a {WSDL|Schema}model selected by user or null if user
presses cancel.

The internal panel should be the same as RetrieveXMLResourceVisualPanel1, reuse
the code. There shouldn't be any wizard/iterator, it doesn't have required api
and ui. Now import wizard can't be used.

And the last: package org.netbeans.modules.xml.schema.ui.retriever must be
public to be used.
Comment 6 Nam Nguyen 2007-02-09 08:35:15 UTC
To remove the last minute dependencies, I suggest that you go ahead copy over
the 1-2 needed files and customize any way you want.  Later, if there are more
of similar usages in the future, we will have better idea what is the common
UI/API should be.

(IMO, exposing the direct copying of wsdl files - instead of referencing, is out
of line with the integrated user experience we want to achieve.  User can always
do direct retrievals of remote files through the New File wizards. This way we
have less exposure for a less-than-optimal practice and also make user conscious
about the fact that retrieved files should be version control).
Comment 7 Vladimir Yaroslavskiy 2007-04-02 08:48:06 UTC
verified.