Response r = umClient.sendMessage(new ObjectMapper().writeValueAsString(uMessage));
// TODO: Handle result
String result = r.readEntity(String.class);
System.out.println(result);
}
catch(JsonProcessingException ex)
{
// Handle error
}
}
else
{
System.out.println("Messaging system disabled. This message was not sent: " + uMessage.toString());
}
*/
// TODO Handle errors better!
// TODO Handle errors better!
try
try
...
@@ -167,7 +129,7 @@ public class MessagingBean {
...
@@ -167,7 +129,7 @@ public class MessagingBean {
}
}
else
else
{
{
System.out.println("Messaging system disabled. This message was not sent: "+uMessage.toString());
LOGGER.debug("Messaging system disabled. This message was not sent: "+uMessage.toString());
}
}
}
}
catch(Exceptionex)
catch(Exceptionex)
...
@@ -203,11 +165,12 @@ public class MessagingBean {
...
@@ -203,11 +165,12 @@ public class MessagingBean {
"AND u.user_id IN ( \n"+
"AND u.user_id IN ( \n"+
" SELECT mns.user_id FROM messaging.message_notification_subscription mns, public.vips_logic_user u \n"+
" SELECT mns.user_id FROM messaging.message_notification_subscription mns, public.vips_logic_user u \n"+
" WHERE mns.user_id = u.user_id \n"+
" WHERE mns.user_id = u.user_id \n"+
" and u.organization_id = "+message.getOrganizationId()+
(message.getCropCategoryIds()!=null&&message.getCropCategoryIds().length!=0?" AND mns.crop_category_ids && ARRAY"+Arrays.asList(message.getCropCategoryIds()).toString()+" \n":"")+
(message.getCropCategoryIds()!=null&&message.getCropCategoryIds().length!=0?" AND mns.crop_category_ids && ARRAY"+Arrays.asList(message.getCropCategoryIds()).toString()+" \n":"")+
(message.getMessageTagIds()!=null&&!message.getMessageTagIds().isEmpty()?" AND mns.message_tag_ids && ARRAY"+message.getMessageTagIds().toString()+" \n":"")+// && is the array_overlaps operator
(message.getMessageTagIds()!=null&&!message.getMessageTagIds().isEmpty()?" AND mns.message_tag_ids && ARRAY"+message.getMessageTagIds().toString()+" \n":"")+// && is the array_overlaps operator
" AND (mns.universal_message_format_id <> "+UniversalMessageFormat.FORMAT_SMS+" OR (mns.universal_message_format_id = "+UniversalMessageFormat.FORMAT_SMS+" AND u.approves_sms_billing IS TRUE))"+
" AND (mns.universal_message_format_id <> "+UniversalMessageFormat.FORMAT_SMS+" OR (mns.universal_message_format_id = "+UniversalMessageFormat.FORMAT_SMS+" AND u.approves_sms_billing IS TRUE))"+
"); \n";
"); \n";
//System.out.println(sql);
LOGGER.debug(sql);
Queryq=em.createNativeQuery(sql,
Queryq=em.createNativeQuery(sql,
MessageRecipient.class);
MessageRecipient.class);
...
@@ -409,6 +372,7 @@ public class MessagingBean {
...
@@ -409,6 +372,7 @@ public class MessagingBean {
" WHERE :weatherStationId = ANY(fens.weather_station_ids) \n"+
" WHERE :weatherStationId = ANY(fens.weather_station_ids) \n"+
" AND fens.crop_category_ids && ARRAY(SELECT crop_category_id FROM public.crop_category WHERE :cropOrganismId = ANY(crop_organism_ids))"+
" AND fens.crop_category_ids && ARRAY(SELECT crop_category_id FROM public.crop_category WHERE :cropOrganismId = ANY(crop_organism_ids))"+
" AND fens.user_id = u.user_id \n"+
" AND fens.user_id = u.user_id \n"+
" AND u.organization_id = "+config.getVipsLogicUserId().getOrganizationId().getOrganizationId()+
" AND (fens.universal_message_format_id <> "+UniversalMessageFormat.FORMAT_SMS+" OR (fens.universal_message_format_id = "+UniversalMessageFormat.FORMAT_SMS+" AND u.approves_sms_billing IS TRUE))"+
" AND (fens.universal_message_format_id <> "+UniversalMessageFormat.FORMAT_SMS+" OR (fens.universal_message_format_id = "+UniversalMessageFormat.FORMAT_SMS+" AND u.approves_sms_billing IS TRUE))"+
@@ -499,11 +463,15 @@ public class MessagingBean {
...
@@ -499,11 +463,15 @@ public class MessagingBean {
" SELECT ons.user_id FROM messaging.observation_notification_subscription ons, public.vips_logic_user u \n"+
" SELECT ons.user_id FROM messaging.observation_notification_subscription ons, public.vips_logic_user u \n"+
" WHERE ons.crop_category_ids && ARRAY(SELECT crop_category_id FROM public.crop_category WHERE :cropOrganismId = ANY(crop_organism_ids)) \n"+
" WHERE ons.crop_category_ids && ARRAY(SELECT crop_category_id FROM public.crop_category WHERE :cropOrganismId = ANY(crop_organism_ids)) \n"+
" AND ons.user_id = u.user_id \n"+
" AND ons.user_id = u.user_id \n"+
" and u.organization_id = "+observer.getOrganizationId().getOrganizationId()+
" AND (ons.universal_message_format_id <> "+UniversalMessageFormat.FORMAT_SMS+" OR (ons.universal_message_format_id = "+UniversalMessageFormat.FORMAT_SMS+" AND u.approves_sms_billing IS TRUE))"+
" AND (ons.universal_message_format_id <> "+UniversalMessageFormat.FORMAT_SMS+" OR (ons.universal_message_format_id = "+UniversalMessageFormat.FORMAT_SMS+" AND u.approves_sms_billing IS TRUE))"+