X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2Fjava%2Forg%2Fmxchange%2Fjusercore%2Fmodel%2Fuser%2Factivity%2FJobsUserActivityLogMessageBean.java;h=192b0e7b868b0404fb911e4dde28715a702e97cc;hb=fd9f43656662a0daa2ef447061f4120b53d16dfe;hp=555871764a4e6a72bc7f6f0a079752301c648cc8;hpb=73025a275b535b47e09dc8ddf2387fdb5dec3793;p=jjobs-ejb.git diff --git a/src/java/org/mxchange/jusercore/model/user/activity/JobsUserActivityLogMessageBean.java b/src/java/org/mxchange/jusercore/model/user/activity/JobsUserActivityLogMessageBean.java index 5558717..192b0e7 100644 --- a/src/java/org/mxchange/jusercore/model/user/activity/JobsUserActivityLogMessageBean.java +++ b/src/java/org/mxchange/jusercore/model/user/activity/JobsUserActivityLogMessageBean.java @@ -1,5 +1,5 @@ /* - * Copyright (C) 2016 Cho-Time GmbH + * Copyright (C) 2016, 2017 Roland Häder * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as @@ -25,11 +25,12 @@ import javax.jms.Message; import javax.jms.MessageListener; import javax.jms.ObjectMessage; import org.mxchange.jjobs.database.BaseJobsDatabaseBean; +import org.mxchange.jusercore.model.user.User; /** * A message-driven bean for adding user activity log *

- * @author Roland Haeder + * @author Roland Häder */ @MessageDriven ( name = "userActivityLog", @@ -37,7 +38,7 @@ import org.mxchange.jjobs.database.BaseJobsDatabaseBean; activationConfig = { @ActivationConfigProperty ( propertyName = "destinationLookup", - propertyValue = "jms/jlanding-user-activity-log" + propertyValue = "jms/jjobs-user-activity-log" ), @ActivationConfigProperty ( propertyName = "destinationType", @@ -56,6 +57,8 @@ public class JobsUserActivityLogMessageBean extends BaseJobsDatabaseBean impleme * Default constructor */ public JobsUserActivityLogMessageBean () { + // Call super constructor + super(); } @Override @@ -73,10 +76,10 @@ public class JobsUserActivityLogMessageBean extends BaseJobsDatabaseBean impleme } // Securely cast it - ObjectMessage objectMessage = (ObjectMessage) message; + final ObjectMessage objectMessage = (ObjectMessage) message; // Init variable - Serializable serializable; + final Serializable serializable; try { // Get object from message @@ -100,7 +103,7 @@ public class JobsUserActivityLogMessageBean extends BaseJobsDatabaseBean impleme } // Securely cast it - LogableUserActivity userActivity = (LogableUserActivity) serializable; + final LogableUserActivity userActivity = (LogableUserActivity) serializable; // Should be valid if (null == userActivity) { @@ -112,20 +115,32 @@ public class JobsUserActivityLogMessageBean extends BaseJobsDatabaseBean impleme } else if (userActivity.getActivityUser() == null) { // Throw NPE again throw new NullPointerException("userActivity.activityUser is null"); //NOI18N + } else if (userActivity.getActivityUser().getUserId() == null) { + // Throw NPE again + throw new NullPointerException("userActivity.activityUser.userId is null"); //NOI18N + } else if (userActivity.getActivityUser().getUserId() < 1) { + // Throw NPE again + throw new IllegalArgumentException(MessageFormat.format("userActivity.activityUser.userId={0} is not valid", userActivity.getActivityUser().getUserId())); //NOI18N } else if (userActivity.getActivityType() == null) { // Throw again ... throw new NullPointerException("userActivity.activityType is null"); //NOI18N } else if (userActivity.getActivityType().isEmpty()) { // Empty type - throw new NullPointerException("userActivity.activityType is empty"); //NOI18N + throw new IllegalArgumentException("userActivity.activityType is empty"); //NOI18N } else if ((userActivity.getActivityMessage() instanceof String) && (userActivity.getActivityMessage().isEmpty())) { // Set but empty message - throw new NullPointerException("userActivity.activityMessage is empty"); //NOI18N + throw new IllegalArgumentException("userActivity.activityMessage is empty"); //NOI18N } else if (userActivity.getActivityTimestamp() == null) { // Throw NPE again throw new NullPointerException("userActivity.activityTimestamp is null"); //NOI18N } + // Make user instance managed + final User managedUser = this.createManaged(userActivity.getActivityUser()); + + // Set it back + userActivity.setActivityUser(managedUser); + // All fine, persist it this.getEntityManager().persist(userActivity);