Roland Häder [Tue, 29 Aug 2017 20:32:55 +0000 (22:32 +0200)]
Please cherry-pick:
- rewrote initializeList() a bit to become PostConstruct as the injection is
already done early
- remote more JNDI lookups from PostConstruct-annotated method to @EJB
annotation
Roland Häder [Tue, 29 Aug 2017 19:34:12 +0000 (21:34 +0200)]
Please cherry-pick:
- removed many PostConstruct methods as this was a bad idea anyway as it
confuses the container while it is wrapping the managed beans into proxy
objects. @EJB(lookup="full-JNDI-name") does fully replace this many code
- still I kept some there and may have to re-rename the now private method
- removed some JSF-only and some obsolete methods from interface and/or bean
- added GNU header to beans.xml
Roland Häder [Sun, 27 Aug 2017 13:21:06 +0000 (15:21 +0200)]
Please cherry-pick:
- converted administrative fax, land-line and mobile number data templates as
custom JSF tags, having again more type-safe tags instead of outputting
messages on missing bean properties
Roland Häder [Sun, 27 Aug 2017 13:02:11 +0000 (15:02 +0200)]
Please cherry-pick:
- rewrote templates (ui:include with unsafe ui:param) to custom JSF tags (
type-safe parameter, including required parameter)
- also the as type set interfaces are being considered by NetBeans auto-complete
and matching elements are sorted up and marked bold, very nice!
- remove no longer needed i18n strings ("targetController not set" + "mode")
Roland Häder [Sat, 26 Aug 2017 22:56:30 +0000 (00:56 +0200)]
Please cherry-pick:
- converted template to custom JSF tag widgets:outputAdminContactDataFormFields
and replaced all occurrences, 2 optional parameter "formMode" (ex. "mode" and
"allowEmptyRequiredData" are accepted
Roland Häder [Sat, 26 Aug 2017 20:42:41 +0000 (22:42 +0200)]
Please cherry-pick:
- rewrote message-box tag to have 2 CSS classes, one for the whole (alert) box,
one for the message itself
- renamed a lot CSS classes/ids to more common naming covention: foo-bar and
not foo_bar
- renamed i18n string to ADMIN_FEATURE_UNFINISHED_WARNING as this can be generic
- other small CSS rewrites
Roland Häder [Sat, 26 Aug 2017 10:41:21 +0000 (12:41 +0200)]
Please cherry-pick:
- added converter for headquarters data (please rename + fix JNDI)
- added validator for URLs (please rename)
- renamed allowEmptyEmail to allowEmptyValue and used it more as this is generic
- fixed mixture of headquarters and company founder (my mistake)
- added form elements to set company-contact and owning user instance
- added navigation rules for links from business-contact list to sub pages
(still some missing)
- added missing i18n strings
Roland Häder [Fri, 25 Aug 2017 21:29:57 +0000 (23:29 +0200)]
Please cherry-pick:
- need to set over-flow: auto for #menu_content, else the footer will "float"
above the website
- all ::after pseudo CSS classes are now on end of file
- one day, I will rewrite this to PrimeFaces theme!
Roland Häder [Thu, 24 Aug 2017 20:56:39 +0000 (22:56 +0200)]
Please cherry-pick:
- got rid of CSS class 'clear' in favour of pseudo class ::after which does the
same thing with much lesser HTML code
- very nice thing!
Roland Häder [Thu, 24 Aug 2017 19:40:00 +0000 (21:40 +0200)]
Please cherry-pick:
- converted div (no JSF component, not controlled by JSF engine) to h:panelGroup
- got rid of some ui:fragment in favour of h:panelGroup and div tag
- added some missing container (h:panelGroup again) around some ui:include
Roland Häder [Thu, 24 Aug 2017 18:12:50 +0000 (20:12 +0200)]
Please cherry-pick:
- tax nunber and website URL of a company is not required, was a copy-paste
mistake anyway
- fixed other i18n strings in same template
- added missing i18n strings
- minor: removed double space
Roland Häder [Sun, 20 Aug 2017 21:26:56 +0000 (23:26 +0200)]
Please cherry-pick:
- renamed generic -> widgets
- changed namespace http://mxchange.org/jsf/core to http://mxchange.org/jsf/core/widgets
- I think, this is more clear than before ...
Roland Häder [Sun, 20 Aug 2017 18:29:37 +0000 (20:29 +0200)]
MOJARRA - Please cherry-pick:
- introduced own (still project-local) taglib for message template replacement
- now this is much shorter, down to only one JSF tag instead of 2-3 minimum
Roland Häder [Sun, 20 Aug 2017 19:49:49 +0000 (21:49 +0200)]
Please cherry-pick:
- throwing a ConverterException in a validator is wrong, maybe copy-paste did it?
- added TODO for getting rid of wrong constructor in birthday validator
- renamed variable
Roland Häder [Sun, 20 Aug 2017 12:00:21 +0000 (14:00 +0200)]
Please cherry-pick:
- re-added (huh? was somehow lost?) user data form with user name and password
- moved notice from user (old place) to contact ("new" place) as it was
previously double and in user obsolete, let all contacts have at least one
email address
- renamed i18n string accordingly (naming-convention)
Roland Häder [Sat, 19 Aug 2017 19:56:42 +0000 (21:56 +0200)]
Please cherry-pick:
- this method is also only called from JSF views, no place in an interface
which is for CDI bean -> bean calls
- this is mostly already deprecated but the interface shall remain
Roland Häder [Sat, 19 Aug 2017 18:53:28 +0000 (20:53 +0200)]
Please cherry-pick:
- added administrative and general backing bean for company employees + added
JNDI lookup, still at wrong place
- Employees have an instance back to business basic data which makes it
impossible for creation (no fancy AJAX stuff now) of business basic data
with founder and/or contact person
- separated package of businessdata to business/basicdata so above
business/company_employee package is nicely possible
Roland Häder [Sat, 19 Aug 2017 17:56:35 +0000 (19:56 +0200)]
Please cherry-pick:
- expanded business "contact"-s basic_data with all missing fields from entity
- added some fields, like contact person and company founder to backing bean
- added converter for company employees
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