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
Roland Häder [Sun, 25 Jun 2017 17:25:35 +0000 (19:25 +0200)]
Please cherry-pick:
- sadly, Glassfish and Payara are both not so super-flexible to allow JNDI
lookups in constructors. You have to either move that code to a @PostConstruct
annotated method in bean (=controller) classes or do it on-demand.
- @PostConstruct, @Observes and so on are not processed outside beans, next
"limitation" (or not wanted/intended/possible?).
Roland Häder [Sun, 25 Jun 2017 11:10:34 +0000 (13:10 +0200)]
Please cherry-pick:
- converted another div (class=table_row) to h:panelGroup
- well, I wanted here a "h:tableRow" or something, maybe one day I rewrite this