We will be storing data source information in the project as well as the server.
This causes potential for conflict when the project changes servers or the
project is used on a different machine. We need to make sure these conflicts
are well handled.
There are three types of conflicts:
* A data source exists in the server with the same JNDI name, JDBC URL and
connection parameter as the data source defined in the proejct. In this case we
just use the data source in the server
* A data source exists in the server with the same JNDI name and the
database vendor is the same, but the connection parameters or other parts of the
URL differ. We use the data source and generate a warning. The warning contains
detailed information about the conflict and instructions as to how the user can
change data sources if they so desire. - Question: How does the user create a
new data source on the server and map it to the data source defined in the
project, if that's what they want to do?
* A data source exists in the server with the same JNDI name but different
JDBC URL. What we had discussed in this case is that the project is marked as
"broken" and a "broken" indicator is displayed by the data source showing that
it could not be mapped to a data source in the server, and the user has to
manually fix this before the project will work. However, it seems to me an
alternative would be to create a new data source in the server with a different
JNDI name that has the correct URL and connection parameters for VWP to work. Is
Reassigning to sherold, marcow no longer works on NB server plugin apis
Assigning to Libor.
Storing of DS information in the project is a matter of implementation of 'Add
Data Source Reference' dialog.
For more info see http://wiki.netbeans.org/wiki/view/ResourceReferenceBinding
and the related UI spec.
Has this preventing-conflicts task been resolved by 93815 ?
I don't see conflict prevention mentioned in this spec :
Well, the "conflict prevention" is a general concept that does not really
translate into concrete user features. When this issue was filed some time, a
certain UI and particular APIs were assumed, however these have changed since
then. The UI spec was circulated a while ago and no major comments were raised
during the review. So I would consider this issue resolved, and if we see any
particular problems with the new design, let's file new bug/enhancement reports
with exact steps to reproduce and exact description of user impact. So for now I
would close this issue as FIXED, and separately discuss any potential
outstanding issues that need to be addressed in addition to what has already
been implemented. Agreed?
Marking as fixed.