Roland Häder [Mon, 4 Sep 2017 22:27:47 +0000 (00:27 +0200)]
Please cherry-pick:
- added backing bean for general and administrative purposes for branch offices
- added template + JSF page for branch offices
- renamed business_contacts -> basic_company_data, more declarative
- including JSF page and folder
- all h:commandButton ids are now prefixed with "button_"
- TitleUtils.allPersonalTitlesAsList() is now deprecated as it does the same as
invoking Arrays.asList()
- used more 'final' where possible, to prevent accidently assigned new values
also known as "side effects"
- renaming season has started again: now renamed some i18n strings to become
generalized
- removed noisy debug lines that are really no longer needed
- some lesser local variables
Roland Häder [Sun, 3 Sep 2017 15:50:06 +0000 (17:50 +0200)]
Please cherry-pick:
- removed not needed constructor from converter/validator
- reverted `@EJB` annotation in mobile-provider converter as it was not working
Roland Häder [Sun, 3 Sep 2017 02:40:58 +0000 (04:40 +0200)]
Please cherry-pick:
- if you get something about non-serializable injection, strange things happen,
sometimes it works here, sometimes not ... :-(
- had to go back to programatic JNDI lookup in converters/validators as the JSF
2.3 version + xsd reference did mess around with faces-config.xml
auto-complete (NetBeans) and it looks like that context parameters are not
loaded
- this way, some lookup() calls are not saved (unmanaged by container) but at
least it works
Roland Häder [Sun, 3 Sep 2017 01:31:36 +0000 (03:31 +0200)]
Please cherry-pick:
- no more fully container-independency in favour of caching
- removed gf-client (no more Glassfish for already a long time)
- used `@NamedCache` (Payara-specific) for annotating fields, very nice, should
become generic one day
Roland Häder [Sat, 2 Sep 2017 21:16:53 +0000 (23:16 +0200)]
Please cherry-pick:
- Ops, the license was GPLv3, not AGPLv3 which is now fixed (entirely replaced)
- in PostConstruct methods should no "complex" thing run, including not firing
events which was needless here anyway
- if a company entry has no web site URL entered, display the company's name
with no name under it but show a title message about this
- removed some left-over from old i18n strings
Roland Häder [Sat, 2 Sep 2017 19:59:31 +0000 (21:59 +0200)]
Please repeat/cherry-pick:
- added new dependency to JCache API which aims the right way, away from
previously said and more "persistent" cache (on each reboot for now, but that
is okay)
- there was no Javadoc Online available, so I added the Offline JAR version,
sorry for one more binary!
Roland Häder [Sat, 2 Sep 2017 19:52:41 +0000 (21:52 +0200)]
Please rename/cherry-pick:
- having to much session-scoped beans was a bad design idea anyway
- on each new session, "tons" of EJB (JNDI lookup + business method invocation)
will occur which will overrun the EJB container soon or later
- also having JNDI lookup in PostConstruct-annotated methods was bad, too
because it "confuses" the web container
- while it is building proxy objects arround every managed class (like also now
converters, JSF 2.3.x only) especially backing beans, there should be no JNDI
lookup hapening
- but initializing some lists for performance reasons is the right thing to do
- maybe later some other annotation will be used instead, but for now it is fine
- so let's make this painless and rename all session-scoped backing beans and
re-annotate them with RequestScoped for now as this is also reduces memory
foot-print
Roland Häder [Fri, 1 Sep 2017 22:22:54 +0000 (00:22 +0200)]
Please cherry-pick:
- I accidently (oversaw it) used Converter<MyPoji> which is JSF 2.3 (beta
currently) way, now I could revert it, but better is to stay.
- made all converters/validators that invoke business methods (EJB) managed
so the annotation EJB will work again.
Roland Häder [Fri, 1 Sep 2017 22:06:40 +0000 (00:06 +0200)]
Please cherry-pick:
- added wrong navigation rules, ops
- added noisy debug lines, somehow f:attribute is not ending up in validator
- removed rendered attribute from same JSF tag
Roland Häder [Tue, 29 Aug 2017 21:53:20 +0000 (23:53 +0200)]
Please cherry-pick:
- added optional parameter "contact" to many custom JSF tags
- removed no longer needed error messages as the template has become a custom
JSF tag
- still having some StackoverflowError e.g. in view admin_landline_show.xhtml
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:25:21 +0000 (20:25 +0200)]
Must be RequestScoped annotated as it is an administrative bean (project
convention). Only the "regular" (non-administrative) beans (except bean helper)
may be annotated with SessionScoped.
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 [Sun, 6 Aug 2017 19:37:03 +0000 (21:37 +0200)]
Continued a bit with fixing:
- added missing method isRequiredPersonalDataSet() to administrative contact
controller
- removed more methods from interfaces which are for JSF views only
- moved JNDI lookup into PostConstruct-annotated method, still not really
fixing it as this will be invoked on construction of bean instances (in web
container). This later really needs to be rewritten to a service-locator
approach
- added observer method afterCustomerCreatedEvent() which will wait for events
being fired when a customer instance has been created
- JSF views should normally not have HTML declaration, but Mojarra has a long
outstanding bug that will not render doctype when the declaration is in the
"master" template (see WEB-INF/templates/base.tpl)
Roland Häder [Sat, 5 Aug 2017 19:11:00 +0000 (21:11 +0200)]
Please maybe cherry-pick:
- added missing backing bean + interface for user acitity
- added dependency to juser-acitivty-core|lib
- with my ultimate daugher-fix applied! ;-)
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