]> git.mxchange.org Git - pizzaservice-ejb.git/log
pizzaservice-ejb.git
7 years agoPlease cherry-pick:
Roland Häder [Fri, 23 Jun 2017 21:57:52 +0000 (23:57 +0200)]
Please cherry-pick:
- EJB name is now "userRegistration"

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated JNDI names
Roland Häder [Fri, 23 Jun 2017 21:50:11 +0000 (23:50 +0200)]
updated JNDI names

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Fri, 23 Jun 2017 21:49:31 +0000 (23:49 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Fri, 23 Jun 2017 20:32:01 +0000 (22:32 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoPlease cherry-pick:
Roland Häder [Fri, 23 Jun 2017 18:23:39 +0000 (20:23 +0200)]
Please cherry-pick:
- rewrote to new copyAll() methods as having them in POJOs is no good idea
  anyway as you should keep those objects as simple as possible.

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Fri, 23 Jun 2017 18:19:03 +0000 (20:19 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoPlease cherry-pick:
Roland Häder [Thu, 22 Jun 2017 20:55:38 +0000 (22:55 +0200)]
Please cherry-pick:
- moved EJBs to proper package as they are user-related beans
- handled over randomPassword parameter to sendEmail()
- or null if not possible/wanted

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Thu, 22 Jun 2017 20:57:33 +0000 (22:57 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoPlease cherry-pick:
Roland Häder [Sat, 10 Jun 2017 21:23:48 +0000 (23:23 +0200)]
Please cherry-pick:
- really have to call super(), else anything there, like logger bean, will not
  be initialized

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Sat, 10 Jun 2017 20:47:49 +0000 (22:47 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoPlease cherry-pick:
Roland Häder [Sat, 10 Jun 2017 19:59:04 +0000 (21:59 +0200)]
Please cherry-pick:
- gender -> personalData changed

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoPlease cherry-pick:
Roland Häder [Sat, 10 Jun 2017 19:51:54 +0000 (21:51 +0200)]
Please cherry-pick:
- no gender, there is "personal title" for Mr./Mrs.

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Sat, 10 Jun 2017 12:45:56 +0000 (14:45 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Fri, 9 Jun 2017 22:47:11 +0000 (00:47 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Thu, 8 Jun 2017 20:39:50 +0000 (22:39 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Wed, 7 Jun 2017 20:44:44 +0000 (22:44 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoContinued:
Roland Häder [Tue, 6 Jun 2017 20:59:20 +0000 (22:59 +0200)]
Continued:
- moved generic code to jcoree

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Tue, 6 Jun 2017 20:44:00 +0000 (22:44 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoContinued a bit:
Roland Häder [Sat, 3 Jun 2017 16:24:32 +0000 (18:24 +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)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Thu, 27 Apr 2017 12:38:00 +0000 (14:38 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Thu, 27 Apr 2017 11:17:02 +0000 (13:17 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Tue, 25 Apr 2017 13:16:48 +0000 (15:16 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Tue, 25 Apr 2017 11:38:24 +0000 (13:38 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoContinued:
Roland Häder [Sat, 22 Apr 2017 19:38:37 +0000 (21:38 +0200)]
Continued:
- no need to double-include footer, was an old left-over
- 'session-scoped' is better wording

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agounencrypted ... better clear-text ...
Roland Häder [Thu, 20 Apr 2017 18:16:54 +0000 (20:16 +0200)]
unencrypted ... better clear-text ...

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Thu, 20 Apr 2017 00:17:20 +0000 (02:17 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agouse ShopCustomerUtils ...
Roland Häder [Thu, 20 Apr 2017 00:13:35 +0000 (02:13 +0200)]
use ShopCustomerUtils ...

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Thu, 20 Apr 2017 00:12:57 +0000 (02:12 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Wed, 19 Apr 2017 23:03:41 +0000 (01:03 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Wed, 19 Apr 2017 22:23:13 +0000 (00:23 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Wed, 19 Apr 2017 19:17:15 +0000 (21:17 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Wed, 19 Apr 2017 18:55:57 +0000 (20:55 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Wed, 19 Apr 2017 17:46:08 +0000 (19:46 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years ago@TODO is better than only 'TODO'
Roland Häder [Wed, 19 Apr 2017 17:26:34 +0000 (19:26 +0200)]
@TODO is better than only 'TODO'

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoinitial implementation, not much
Roland Häder [Wed, 19 Apr 2017 17:23:21 +0000 (19:23 +0200)]
initial implementation, not much

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Wed, 19 Apr 2017 17:23:14 +0000 (19:23 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agonope, 'src/' must be present, then the IDE (NetBeans at least) can find it
Roland Häder [Wed, 19 Apr 2017 16:40:26 +0000 (18:40 +0200)]
nope, 'src/' must be present, then the IDE (NetBeans at least) can find it

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated persistence unit
Roland Häder [Sun, 16 Apr 2017 09:56:52 +0000 (11:56 +0200)]
updated persistence unit

7 years agoremoved navdata as it will be regenerated and ignored it as it always caused merge...
Roland Häder [Sun, 16 Apr 2017 09:52:09 +0000 (11:52 +0200)]
removed navdata as it will be regenerated and ignored it as it always caused merge conflicts

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Sat, 15 Apr 2017 22:13:58 +0000 (00:13 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated source references, how does '/src/' come in everywhere?
Roland Häder [Sat, 15 Apr 2017 22:05:33 +0000 (00:05 +0200)]
updated source references, how does '/src/' come in everywhere?

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoNot to be confused with services ... better rename it
Roland Häder [Sat, 15 Apr 2017 22:00:52 +0000 (00:00 +0200)]
Not to be confused with services ... better rename it

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoContinued and discontinued:
Roland Häder [Sat, 15 Apr 2017 21:57:41 +0000 (23:57 +0200)]
Continued and discontinued:
- jshop-ejb and jshop-receipt-ejb had persistence unit files which would make
  it impossible to have two shops at the same system. Well, mostly not what you
  want because you want performance, but who knows?

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Häder [Sat, 15 Apr 2017 19:29:33 +0000 (21:29 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoContinued:
Roland Häder [Sat, 15 Apr 2017 19:10:57 +0000 (21:10 +0200)]
Continued:
- pizzaservice-core/mailer are now referenced as projects as they are
  application-specific projects and not libraries (like e.g. juser-core is)
- updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Haeder [Thu, 13 Apr 2017 19:22:40 +0000 (21:22 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Haeder [Wed, 12 Apr 2017 22:34:16 +0000 (00:34 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoUpdatede jar(s) + fixed some names + fixed some imports
Roland Haeder [Mon, 10 Apr 2017 22:09:40 +0000 (00:09 +0200)]
Updatede jar(s) + fixed some names + fixed some imports

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated own name and resources
Roland Haeder [Mon, 10 Apr 2017 21:55:11 +0000 (23:55 +0200)]
updated own name and resources

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoadded missing build variable
Roland Haeder [Mon, 10 Apr 2017 20:16:27 +0000 (22:16 +0200)]
added missing build variable

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agonew naming-convention
Roland Haeder [Mon, 10 Apr 2017 20:14:45 +0000 (22:14 +0200)]
new naming-convention

7 years agoupdated jar(s)
Roland Haeder [Mon, 10 Apr 2017 20:13:25 +0000 (22:13 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
7 years agoupdated jar(s)
Roland Haeder [Mon, 10 Apr 2017 20:04:57 +0000 (22:04 +0200)]
updated jar(s)

7 years agoupdated jar(s)
Roland Haeder [Mon, 10 Apr 2017 18:03:26 +0000 (20:03 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoPlease cherry-pick:
Roland Häder [Wed, 7 Sep 2016 15:44:58 +0000 (17:44 +0200)]
Please cherry-pick:
- fixed comment (minor)

8 years agoPlease cherry-pick:
Roland Häder [Tue, 6 Sep 2016 09:21:08 +0000 (11:21 +0200)]
Please cherry-pick:
- added API URL for javadoc

Signed-off-by: Roland Häder <roland@haeder.net>
8 years agoupdated jar(s)
Roland Haeder [Sat, 3 Sep 2016 12:19:20 +0000 (14:19 +0200)]
updated jar(s)

8 years agoupdated jar(s)
Roland Haeder [Fri, 2 Sep 2016 20:21:01 +0000 (22:21 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoPlease cherry-pick:
Roland Häder [Fri, 2 Sep 2016 10:34:50 +0000 (12:34 +0200)]
Please cherry-pick:
- is already done by juser-activity-log

8 years agoupdated jar(s)
Roland Haeder [Thu, 1 Sep 2016 21:00:36 +0000 (23:00 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoContinued a bit:
Roland Häder [Thu, 1 Sep 2016 15:34:20 +0000 (17:34 +0200)]
Continued a bit:
- close internal TODO as the user-actiity-log can be used for this
- for this making easily to work, 2 new business methods have been added
- fetchAllUsersActivityLogByType() for a single type per user
- fetchAllUsersActivityLogByMultipleType() for multiple types per user

8 years agoupdated jar(s)
Roland Haeder [Wed, 31 Aug 2016 20:22:25 +0000 (22:22 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoPlease cherry-pick:
Roland Häder [Wed, 31 Aug 2016 14:45:52 +0000 (16:45 +0200)]
Please cherry-pick:
- the user instance needs to be merged into current persience context, else some of its child entities will be persisted (inserted) again

8 years agoPlease cherry-pick:
Roland Häder [Wed, 31 Aug 2016 14:15:02 +0000 (16:15 +0200)]
Please cherry-pick:
- maybe use getManagedUser() ?

8 years agoPlease cherry-pick:
Roland Häder [Wed, 31 Aug 2016 13:32:16 +0000 (15:32 +0200)]
Please cherry-pick:
- renamed updatedUser -> managedUser
- better set all data in EJB to avoid managedUser become detached (as the scope is not EJB anymore)

8 years agoPlease cherry-pick:
Roland Häder [Tue, 30 Aug 2016 10:32:32 +0000 (12:32 +0200)]
Please cherry-pick:
- test on template variables add, can be none set, but should not be null

8 years agoPlease cherry-pick:
Roland Häder [Tue, 30 Aug 2016 10:22:13 +0000 (12:22 +0200)]
Please cherry-pick:
- unsetting contact is no longer needed, make it managed and then it should be fine ... :-)

8 years agoPlease cherry-pick:
Roland Häder [Tue, 30 Aug 2016 10:09:56 +0000 (12:09 +0200)]
Please cherry-pick:
- more tests added on user instance (may prevent message-less NPE somewhere else which is harder to debug)

Signed-off-by: Roland Häder <roland@haeder.net>
8 years agoupdated jar(s)
Roland Haeder [Tue, 30 Aug 2016 17:46:37 +0000 (19:46 +0200)]
updated jar(s)

8 years agoupdated jar(s)
Roland Haeder [Mon, 29 Aug 2016 19:55:20 +0000 (21:55 +0200)]
updated jar(s)

8 years agoPlease cherry-pick:
Roland Häder [Mon, 29 Aug 2016 15:51:00 +0000 (17:51 +0200)]
Please cherry-pick:
- added base URL parameter + email delivery

8 years agoPlease cherry-pick:
Roland Häder [Mon, 29 Aug 2016 11:00:58 +0000 (13:00 +0200)]
Please cherry-pick:
- opps, remove()

8 years agoPlease cherry-pick:
Roland Häder [Mon, 29 Aug 2016 10:49:11 +0000 (12:49 +0200)]
Please cherry-pick:
- wrong bait, wrong fish, wrong test ...

8 years agoPlease cherry-pick:
Roland Häder [Mon, 29 Aug 2016 10:22:00 +0000 (12:22 +0200)]
Please cherry-pick:
- implemented business method for deleting user accounts

8 years agoupdated jar(s)
Roland Haeder [Sun, 28 Aug 2016 18:58:02 +0000 (20:58 +0200)]
updated jar(s)

8 years agoPlease cherry-pick:
Roland Häder [Fri, 26 Aug 2016 15:08:26 +0000 (17:08 +0200)]
Please cherry-pick:
- renamed variables as they hold a JPA-managed entity

8 years agoPlease cherry-pick:
Roland Häder [Thu, 25 Aug 2016 13:54:23 +0000 (15:54 +0200)]
Please cherry-pick:
- made user instance managed which causes not persisting it all over again
- renamed variable

8 years agoPlease cherry-pick:
Roland Häder [Thu, 25 Aug 2016 13:40:13 +0000 (15:40 +0200)]
Please cherry-pick:
- closed internal TODO: update new confirmation key in database + user instance

8 years agoPlease cherry-pick:
Roland Häder [Thu, 25 Aug 2016 12:23:11 +0000 (14:23 +0200)]
Please cherry-pick:
- first the user instance must become managed, then persist log entry ...
- better check for Long, and not != null test (very lazy)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoPlease cherry-pick: (be careful with project-specific names!)
Roland Häder [Thu, 25 Aug 2016 10:34:53 +0000 (12:34 +0200)]
Please cherry-pick: (be careful with project-specific names!)
- <Project>UserActivitySessionBean should better extend BaseDatabaseBean as no mail is being sent from this type of EJB
- added activity JMS queue
- implemented it in message-driven bean
- this whole thing may be shortened to only the EJB but then it is synchronous and people then will experience a slow down on heavy load

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoPlease cherry-pick:
Roland Häder [Thu, 25 Aug 2016 09:44:37 +0000 (11:44 +0200)]
Please cherry-pick:
- added message-driven bean (unfinished) for adding user activity log
- this is asynchronous and won't cause application freezes if inserting takes some time

8 years agoimplemented business method for fetching all user activity log
Roland Häder [Thu, 25 Aug 2016 07:31:17 +0000 (09:31 +0200)]
implemented business method for fetching all user activity log

8 years agoupdated jar(s)
Roland Haeder [Thu, 25 Aug 2016 20:12:30 +0000 (22:12 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoupdated jar(s)
Roland Haeder [Wed, 24 Aug 2016 20:21:56 +0000 (22:21 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoPlease cherry-pick:
Roland Häder [Wed, 24 Aug 2016 15:52:34 +0000 (17:52 +0200)]
Please cherry-pick:
- added EJB for user activity log
- opps, missed this file updating ...

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoadded juser-activity to persistence unit and both projects (core/lib)
Roland Häder [Wed, 24 Aug 2016 14:59:51 +0000 (16:59 +0200)]
added juser-activity to persistence unit and both projects (core/lib)

Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoPlease cherry-pick:
Roland Häder [Wed, 24 Aug 2016 12:27:44 +0000 (14:27 +0200)]
Please cherry-pick:
- added assert
- renamed variables to managed user/contact as this reflects the correct JPA state

8 years agoPlease cherry-pick:
Roland Häder [Wed, 24 Aug 2016 11:09:01 +0000 (13:09 +0200)]
Please cherry-pick:
- sadly all getReference() + merge() was based on wrong assumption, now find() returns a managed entity where all setter calls leads to an update
- used getManaged() of repeating code (DRY)

8 years agoPlease cherry-pick:
Roland Häder [Wed, 24 Aug 2016 09:08:21 +0000 (11:08 +0200)]
Please cherry-pick:
- unsetting all phone numbers make them disconnected from the contact instance, better is to make them managed (merge)

8 years agoPlease cherry-pick:
Roland Häder [Tue, 23 Aug 2016 15:50:42 +0000 (17:50 +0200)]
Please cherry-pick:
- if you don't want to have redundant entries (=objects aka. entities) in database of referenced entities, first you need to merge it as it is detached
- then you have a managed instance which you can set in the referencing entity back
- if you don't do this, the entity manager will "think" it is a new instance and persists + relinks it
- maybe some implementations don't do this, but the JPA standard (generic) seems to want to have this way
- do never implement for only one JPA implementation! Do always follow the generic JPA way

8 years agoPlease cherry-pick:
Roland Häder [Tue, 23 Aug 2016 15:09:52 +0000 (17:09 +0200)]
Please cherry-pick:
- explicitly flush after persisting to get id number in entity set

8 years agoPlease cherry-pick:
Roland Häder [Tue, 23 Aug 2016 13:03:00 +0000 (15:03 +0200)]
Please cherry-pick:
- copy all data from detached to managed instance before updating it
- this needs to be done before the updated timestamp is being set to make sure it is not overwritten by old value (as copyAll() may do it)

8 years agoPlease cherry-pick:
Roland Häder [Tue, 23 Aug 2016 12:13:53 +0000 (14:13 +0200)]
Please cherry-pick:
- implemented business methods for deleting/updating fax/land-line numbers
- better this way: managedBla = em.find(Bla.class, bla.getBlaId()); and then managedBla.setBlaSomeFoo(someFooValue);

8 years agoPlease cherry-pick:
Roland Häder [Tue, 23 Aug 2016 09:52:28 +0000 (11:52 +0200)]
Please cherry-pick:
- unset mobile number, not land-line

8 years agoPlease cherry-pick:
Roland Häder [Tue, 23 Aug 2016 09:33:14 +0000 (11:33 +0200)]
Please cherry-pick:
- detachAllContactPhoneEntries() was a bad idea, beter do it the old way.
- The returned instance was a managed instance that have been updated. First find it with find() then you have a managed instanced. Now simply update the fields you want and you are done.

8 years agoPlease cherry-pick:
Roland Häder [Mon, 22 Aug 2016 15:42:54 +0000 (17:42 +0200)]
Please cherry-pick:
- when updating contact data, detach all other referenced instances, else new entries are being created each update-time

8 years agoPlease cherry-pick:
Roland Häder [Mon, 22 Aug 2016 14:38:32 +0000 (16:38 +0200)]
Please cherry-pick:
- set "phone entry updated" timestamp
- included class name in logger message

8 years agoPlease cherry-pick:
Roland Häder [Mon, 22 Aug 2016 10:57:16 +0000 (12:57 +0200)]
Please cherry-pick:
- renamed cellphone -> mobile

8 years agoignored + removed (will be re-generated) genfiles.properties as this caused update...
Roland Häder [Mon, 22 Aug 2016 07:49:22 +0000 (09:49 +0200)]
ignored + removed (will be re-generated) genfiles.properties as this caused update problems

Signed-off-by: Roland Häder <roland@haeder.net>
Signed-off-by: Roland Häder <roland@mxchange.org>
8 years agoupdated jar(s)
Roland Haeder [Tue, 23 Aug 2016 17:47:16 +0000 (19:47 +0200)]
updated jar(s)

Signed-off-by: Roland Häder <roland@mxchange.org>