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);