|
From: Benoit X. <bx...@ob...> - 2008-01-30 23:39:57
|
Hi
I'm very happy to see the activity, the fixes and the blog!
As Spring-RC moves towards version 1.0; I wonder whether I will be able to
use it as a "jar", ie without a couple of modifications here and there.
Our application is using MDI and, may be due to that choice, we have some
small modifications that we have to carry from one release to the next.
It is not much but. So I thought that I may make a couple of suggestions
here and if positive, create a JIRA to include them in Spring-RC. None of
these changes break existing code.
1/ For instance, we have found the need to create a form based on an object
and modify that object (via a few events) but we need to clear the "dirty"
flag at that point.
I think it would be good to add a clearDirty method on AbstractFormModel,
why not providing a mechanism for a developer to take control?
It can be implement as simply as this:
AbstractFormModel
public void clearDirty() {
dirtyValueAndFormModels.clear();
dirtyUpdated();
}
Ideally it could be added to the FormModel interface.
2/ BigDecimalTextField is a great class but we need to be able to add some
shortcuts (like "k" for 1,000; "m" for 1,000,000; our traders want to be
able to type "3m" and get 3,000,000 or "50b" if you work for Societe
Generale). Unfortunately, BigDecimalTextField is explicitly instantiated in
several places, making it impossible to extend. I'm more than willing to
provide the code if interested.
3/ InputApplicationDialogue make the method getValidationReporter public
rather than protected
(this helps when someone attempt to create a new object but we want to
verify that it can be done, ie that it does not already exist), the reporter
of the form needs to be accessible to the verifier class.
4/ ComboBoxBinding, provide a mechanism/option whereby it should be possible
to have auto-select if the list contains only 1 element (the only choice for
the user is to select it. so why not do it for him/her)
5/ AbstractDialogExceptionHandler had some strange issues
See
http://www.nabble.com/MessagesDialogExceptionHandler-does-not-seem-to-replac
e-placeholders.-to6962200.html#a6962200
There was no alternative to the small "hack" suggested
6/ DesktopApplicationPage, in order to add a little stretch corner on MDI
frames, we needed to extend the DesktopApplicationPage; unfortunately it is
not possible to give details of a new 'wrapped' frame to the
DesktopApplicationPage. Creating a small protected method like this solves
the issue:
// BX Method
protected void keepFrameDetails(final PageComponent pageComponent,
JInternalFrame internalFrame) {
frames.put(pageComponent, internalFrame);
}
This method is also used in DesktopApplicationPage
7/ AbstractTableMasterForm, we found in all cases we wanted to create a
sorted list, even if no comparator was given. has anyone a valid reason why
a SortedList should not be created?
Unfortunately the existing code makes it impossible to override that
functionality in createForm(). May be there is an easy way to define a
Comparator by default???
We have also experienced a lot of issues regarding space between the
"master" and the "detail" forms and had to modify/hack the spliter between
the two. May be some kind of overridable "offset" could be created (eg a
addDetailForm(JSplitPane splitPane) could do it if it was created and
protected).
8/ On DefaultFormModel, if the setValueSilently throws an exception, it is
raised as a debug. I know we've talked about this a lot. but I think it is
an error. One should not "dismiss" that error
I think that is it.
It would be a tremendous relief for us if we could simply "use" the Spring
RC jar. so if you are willing to consider a few patch to make it possible in
our reasonable scenarios, we would be delighted to help.
Thanks a lot,
Best regards from London
Benoit.
PS: My company is going to be recruiting a Swing developer; Spring RC will
be a massive advantage; based in London, exciting project and great
opportunity!
------------------------------
IMPORTANT NOTICE
This communication contains information that is considered confidential and
may also be privileged . It is for the exclusive use of the intended
recipient(s). If you are not the intended recipient(s) please note that any
form of distribution, copying or use of this communication or the
information in it is strictly prohibited and may be unlawful. If you have
received this communication in error please return it to the sender and
delete the original.
|