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 [Mon, 17 Jul 2017 10:21:31 +0000 (12:21 +0200)]
Please cherry-pick:
- added missing converter for land-line and fax numbers
- renamed converter after naming-convetion, see below
Convention:
A converter converts mobile number instances from their corresponding
id numbers and vise versa, so it should be called MobileNumberConverter
for FacesConverter annotation and <Project>MobileNumberConverter for
class name.
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 [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:34 +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
Roland Häder [Thu, 22 Jun 2017 20:52:09 +0000 (22:52 +0200)]
Please cherry-pick:
- New feature to allow users on registration entering no password. The
application will then generate a random password for the user and also sends
it in clear-text to the EJB (HTTPS is not meant here) so the bean can deliver
it to the user.
- user registration page will now show proper messages for above feature
- removed obsolete template (seems to be still around?)
- ifBothPasswordsEmptyAllowed() implemented
- added missing i18n strings
Roland Häder [Sun, 11 Jun 2017 11:38:16 +0000 (13:38 +0200)]
Please cherry-pick:
- h:outputText was wrong where it should be h:panelGroup, now the guest menue is being shown again
- feature controller is no longer causing and then catching NPE (bad code style)
- sorted web.xml
- reformated some files
Roland Häder [Sat, 3 Jun 2017 16:25:26 +0000 (18:25 +0200)]
Continued a bit:
- remote interface for resending confirmation link is now genweric in juser-lib
- updated method as checked exceptions are thrown
- updated copyright
- updated jar(s)
Roland Häder [Tue, 25 Apr 2017 11:59:38 +0000 (13:59 +0200)]
Please cherry-pick:
- renamed cellphone -> mobile
- renamed carrier -> provider
- renamed phone* -> landLine*
- all more common over all (other) projects
Roland Häder [Tue, 25 Apr 2017 11:59:23 +0000 (13:59 +0200)]
Please cherry-pick:
- WARNING: You have to update project name, maybe one day this will be moved out
to properties file?
- updated templates as they are long out-dated
- added missing templates, a lot new has been added
Roland Häder [Sat, 22 Apr 2017 20:04:26 +0000 (22:04 +0200)]
Please cherry-pick:
- Let's always call super constructor (not the default one, of course), maybe
one day there will be something added
- sorted members a bit
- some constructors still contain EJB-lookup code, moved to init()
(@PostConstruct) method
Roland Häder [Fri, 21 Apr 2017 20:17:19 +0000 (22:17 +0200)]
Please cherry-pick:
- let's move EJB-lookup into post-construct method and out of constructors as
this seems to tricker a bug in Glassfish:
https://github.com/payara/Payara/issues/1035
Roland Häder [Thu, 20 Apr 2017 19:58:46 +0000 (21:58 +0200)]
Please cherry-pick:
- passwords for account creation are now optional as random passwords can be
generated
- added required-message for email-address and user name to not have such
"strange" messages for the user