Roland Häder [Sat, 19 Aug 2017 16:24:32 +0000 (18:24 +0200)]
Please cherry-pick:
- renamed business_data -> business_basic_data
- renamed CONTACT_BUSINESS -> BUSINESS_BASIC_DATA and prevented double _DATA
- need to check on value, not converted email address: if e.g. an empty email
address is submitted, JSF seem to handle it as NULL, not empty, which makes
sense here at the converter, as 'value' is of type Object and not String
Roland Häder [Sat, 19 Aug 2017 15:07:03 +0000 (17:07 +0200)]
Please cherry-pick:
- removed debug lines, were to noisy and the localization bug has been fixed
- company name and legal status are no longer separated, some other i18n
strings may still write about it
Roland Häder [Sat, 19 Aug 2017 14:11:42 +0000 (16:11 +0200)]
Please cherry-pick:
- renamed JSF views with "contact_business" to "business_data"
- moved selection boxes to own template folder "selection_boxes"
- renamed + moved locale_selection_box.tpl to widgets/locale_change_widget.tpl
- renamed "generic" templates folder to "messages"
- TODO: moving out "country selection box" to a template can be done:
+ for each type, land-line and fax number have a separate template
+ the target controllers must all then have same naming, e.g. landLineCountry
Roland Häder [Sat, 19 Aug 2017 13:19:25 +0000 (15:19 +0200)]
Please cherry-pick:
- notifying a RequestScoped (partly including ViewScoped) bean about a locale
change will not last long, better is to get the then changed locale from the
view root again
Roland Häder [Sat, 19 Aug 2017 12:06:13 +0000 (14:06 +0200)]
Please cherry-pick:
- added missing event observing methods and fixed error to them
- well, in a RequestScoped-annotated bean, this won't help, which means won't work
- which needs rewrite again ... :-/
Roland Häder [Sat, 19 Aug 2017 11:18:04 +0000 (13:18 +0200)]
Please cherry-pick:
- changed List to Map to have locale name (e.g. de_DE) as key and the locale
itself as value stored in a map for a quick lookup
- this map is also being used to handle browser's language-only locales, like
"de" and not "de_AT" or other equivalents
- there is now a submit button for JS-less users to change locale
Roland Häder [Sat, 19 Aug 2017 11:14:32 +0000 (13:14 +0200)]
Please cherry-pick:
- used h:outputText (component) instead of (plain) text in view which is then
controlled by the component
- do *always* remember that JSF and all of its expansions are component
frameworks, rendering a WUI (Web User Interface) and not yet-another
template language
Roland Häder [Sat, 5 Aug 2017 13:39:42 +0000 (15:39 +0200)]
Please cherry-pick:
- renamed copySomeFooToController() to notifyControllerSomeFooConverted()
as this reflects more what it now does
- added missing notify calls (see above)
- added missing onPostback attribute
Roland Häder [Thu, 3 Aug 2017 19:43:01 +0000 (21:43 +0200)]
WIP: Please cherry-pick:
- renamed methods to make them more clear (current fax/land-line/mobile number)
- these methods and also getter/setter in bean helper are for JSF views only and
should not be callable by other beans
- so this change breaks a lot again and I again need to rewrite it
- so more controller interfaces are now empty, maybe one day some methods will
come back, but ...
- anyway, doing a lot CDI calls (in some methods +10 calls each) is really not
good as CDI does take some time
- better reimplement it in CDI events which are more flexible as more beans can
be reached than only those which are hard-coded in
- sorted members again
Roland Häder [Sun, 30 Jul 2017 20:03:49 +0000 (22:03 +0200)]
Please cherry-pick:
- rewrite of almost all beans towards more cleanness
- now fields in backing beans can be "only" be set by JSF views or observer
methods
- removed @Local from interfaces, they are already local and maybe that
annotation is for EJBs only?
- passing beanHelper.fooBar over a JSF view to a backing bean is not needed,
the bean can do it by itself, by CDI
Roland Häder [Sat, 29 Jul 2017 21:47:34 +0000 (23:47 +0200)]
Please cherry-pick:
- seems to longer work with newer Majarra (2.3.2) and it was a bad idea
anyway, as you can have simple space characters in surrounding h:outputText's
values
- fixed EL backing bean method call
Roland Häder [Sat, 29 Jul 2017 19:55:18 +0000 (21:55 +0200)]
Please cherry-pick:
- allBusinessContacts() is now no longer in admin bean (request-scoped) but in
generic business "contacts" bean (session-scoped)
- has caused error message, let's use a space here directly
Roland Häder [Sat, 29 Jul 2017 16:33:43 +0000 (18:33 +0200)]
Please cherry-pick:
- let's show general error messages below footer and not within content's div
- still this may need to be hidden on prod servers (see project stage in web.xml)
Roland Häder [Fri, 28 Jul 2017 23:21:02 +0000 (01:21 +0200)]
Please cherry-pick:
- all outside ui:composition is being *IGNORED* (maybe only the XML header by
NetBeans IDE is used)
- so you have to move your DOCTYPE and html tag to
Roland Häder [Thu, 27 Jul 2017 20:39:58 +0000 (22:39 +0200)]
Please cherry-pick:
- improved exception message when the expected interface is not implemented
(meaning wrong call)
- now the value's simple class name is being included
Roland Häder [Thu, 27 Jul 2017 21:08:59 +0000 (23:08 +0200)]
Please repeat:
- renamed package to businessdata (not just contact, okay, still the newly added depdencies are named like that)
- renamed classes/interfaces accordingly
- removed Local annotation as this is for local EJBs (?)
Roland Häder [Tue, 25 Jul 2017 19:11:05 +0000 (21:11 +0200)]
Please cherry-pick:
- fixed id, should be form-specific
- added more missing i18n strings
- legal status can be now optional for supporting single-person
companies (how do you call this in English?)
Roland Häder [Mon, 24 Jul 2017 21:20:36 +0000 (23:20 +0200)]
Please cherry-pick (Massive rewrite):
Only jcontacts-business-core:
- added administrative session-scoped bean (aka. "controller") for business
data
- added initial JSF view and template for above bean, added also first form
fields
- added option to enable (default) or disable business contacts in admin
menu
In general:
- removed h:outputText where it was not needed as the parent JSF tag can
do it, too
- still I'm a bit undecided about where the attribute styleClass is used
- fixed i18n key, was a copy-paste mistake
- added missing for-attribute
- phoneId was long time ago valid, now that there are 2 numbers,
land-line and fax, the ids should be named accordingly
- added validator for email address validation
- removed id-attribute where it was not really needed or might cause
harm to the rendering engine (?)
- h:message should be always outside, h:panelGroup, not really required
by JSF but by design (consistency)
- added validatorMessage-attribute for email address fields
- added context parameter (thanks to BalusC for the idea) for making all
empty strings being interpreted as null
- added missing i18n strings
Performance rewrites:
- rewrote converters and validators, they seem to be re-instanciated after
each use, so the set EJB instances must be static to be loaded and set
on-demand
- still this may ask for a lot room for improvement as the EJB is still called
each time the converter/validator is being used
- also the Pattern instance for email validator should be "static cached"
because it will use a lot CPU cycles and will then slow-down the application
Roland Häder [Mon, 17 Jul 2017 14:37:31 +0000 (16:37 +0200)]
Please cherry-pick:
- internationalized "Administration" so it can be translated in many
other languages
- put ui:insert for "metadata" into f:view, still broken!
- no need for "id-ing" h:body/head as they should occur once anyway
- moved f:metadata back into ui:component, still broken and expection
Roland Häder [Sun, 9 Jul 2017 10:53:03 +0000 (12:53 +0200)]
Please cherry-pick:
- renamed bean to userConfirmationLinkController
- always handle returned (mostly updated/managed) entities, then the updated
data is being handled
Roland Häder [Fri, 7 Jul 2017 22:49:34 +0000 (00:49 +0200)]
Please cherry-pick:
- "cached" beanHelper.contact locally so such "expensive" calls are reduced
- and the instance has not changed between two calls anyway
Roland Häder [Fri, 7 Jul 2017 22:49:34 +0000 (00:49 +0200)]
Please cherry-pick:
- "cached" beanHelper.contact locally so such "expensive" calls are reduced
- and the instance has not changed between two calls anyway
Roland Häder [Wed, 5 Jul 2017 22:05:13 +0000 (00:05 +0200)]
Please cherry-pick:
- rendered-attribute allows expression code, so optionally required password
fields can be done on JSF side and not just on bean side.
Roland Häder [Sat, 1 Jul 2017 10:12:15 +0000 (12:12 +0200)]
Please cherry-pick:
- don't have observer methods in interfaces around as interfaces on web beans
(aka. controllers) are for direct method calls, not for CDI events
- added missing @Observes annotation
Roland Häder [Mon, 26 Jun 2017 21:43:27 +0000 (23:43 +0200)]
Rewrite continued:
- Now all project-specific abstract web beans (controllers) inherit from BaseFacesBean to have these nice showFacesMessage() methods.
- Also all project-specific abstract EJBs inherit now only BaseDataBean (one was missing in an old project)
- So, if you have a WAR project, inherit from BaseFacesBean, if you have an EJB project, inherit from BaseDatabaseBean