summaryrefslogtreecommitdiffstats
path: root/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/BroadcastServiceImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/BroadcastServiceImpl.java')
-rw-r--r--ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/BroadcastServiceImpl.java388
1 files changed, 196 insertions, 192 deletions
diff --git a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/BroadcastServiceImpl.java b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/BroadcastServiceImpl.java
index 19803d94..5d14ee47 100644
--- a/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/BroadcastServiceImpl.java
+++ b/ecomp-sdk/epsdk-core/src/main/java/org/onap/portalsdk/core/service/BroadcastServiceImpl.java
@@ -6,7 +6,7 @@
* ===================================================================
*
* Unless otherwise specified, all software contained herein is licensed
- * under the Apache License, Version 2.0 (the “License”);
+ * under the Apache License, Version 2.0 (the "License");
* you may not use this software except in compliance with the License.
* You may obtain a copy of the License at
*
@@ -19,7 +19,7 @@
* limitations under the License.
*
* Unless otherwise specified, all documentation contained herein is licensed
- * under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
+ * under the Creative Commons License, Attribution 4.0 Intl. (the "License");
* you may not use this documentation except in compliance with the License.
* You may obtain a copy of the License at
*
@@ -42,6 +42,7 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.TreeSet;
@@ -49,6 +50,7 @@ import javax.servlet.http.HttpServletRequest;
import org.onap.portalsdk.core.domain.BroadcastMessage;
import org.onap.portalsdk.core.domain.Lookup;
+import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import org.onap.portalsdk.core.service.support.FusionService;
import org.onap.portalsdk.core.util.SystemProperties;
import org.onap.portalsdk.core.web.support.AppUtils;
@@ -62,199 +64,201 @@ import org.springframework.web.bind.ServletRequestUtils;
@Service("broadcastService")
@Transactional
public class BroadcastServiceImpl extends FusionService implements BroadcastService {
-
- public BroadcastServiceImpl() {
- }
+
+ private static final EELFLoggerDelegate logger = EELFLoggerDelegate.getLogger(BroadcastServiceImpl.class);
@Autowired
- private DataAccessService dataAccessService;
- private static Hashtable broadcastMessages = new Hashtable();
-
- @SuppressWarnings("unchecked")
- public void loadMessages() {
- List messageLocations = AppUtils.getLookupListNoCache("fn_lu_message_location", "message_location_id", "message_location_descr", "", "message_location_id");
-
- for (int i=0; i < messageLocations.size(); i++) {
- Lookup location = (Lookup)messageLocations.get(i);
- String locationId = location.getValue();
-
- broadcastMessages.put(locationId, getPersistedBroadcastMessages(locationId));
- }
- }
-
- public HashMap getBcModel(HttpServletRequest request){
- HashMap bcModel = new HashMap();
-
- List items = null;
- int messageId = ServletRequestUtils.getIntParameter(request, "message_id", 0);
- String task = ServletRequestUtils.getStringParameter(request, "task", "get");
-
- // delete or toggle activation on the selected record (if applicable)
- if (messageId != 0 && (task.equals("delete") || task.equals("toggleActive"))) {
- BroadcastMessage message = (BroadcastMessage)getDataAccessService().getDomainObject(BroadcastMessage.class, new Long(messageId), null);
-
- if (task.equals("delete")) {
- getDataAccessService().deleteDomainObject(message, null);
- }
- else if (task.equals("toggleActive")) {
- HashMap additionalParams = new HashMap();
- additionalParams.put(Parameters.PARAM_HTTP_REQUEST, request);
-
- message.setActive(new Boolean(!message.getActive().booleanValue()));
- getDataAccessService().saveDomainObject(message, additionalParams);
- }
- loadMessages();
- }
-
- items = getDataAccessService().getList(BroadcastMessage.class, null);
- Collections.sort(items);
- bcModel.put("messagesList", packageMessages(items));
-
- List locations = AppUtils.getLookupList("fn_lu_message_location", "message_location_id", "message_location_descr", "", "message_location_id");
- bcModel.put("messageLocations", locations);
-
- if ("true".equals(SystemProperties.getProperty(SystemProperties.CLUSTERED))) {
- List sites = AppUtils.getLookupList("fn_lu_broadcast_site", "broadcast_site_cd", "broadcast_site_descr", "", "broadcast_site_descr");
- bcModel.put("broadcastSites", sites);
- }
-
- return bcModel;
- }
-
- @SuppressWarnings("unchecked")
- private HashMap packageMessages(List messages) {
- HashMap messagesList = new HashMap();
- Set locationMessages = null;
-
- Integer previousLocationId = null;
-
- for (int i=0; i < messages.size(); i++) {
- BroadcastMessage message = (BroadcastMessage)messages.get(i);
-
- if (!message.getLocationId().equals(previousLocationId)) {
- if (previousLocationId != null) {
- messagesList.put(previousLocationId.toString(), locationMessages);
- }
-
- locationMessages = new TreeSet();
- previousLocationId = message.getLocationId();
- }
-
- locationMessages.add(message);
- }
-
- if (previousLocationId != null) {
- messagesList.put(previousLocationId.toString(), locationMessages);
- }
-
- return messagesList;
- }
-
-
- @SuppressWarnings("unchecked")
- private List getPersistedBroadcastMessages(String locationId) {
- HashMap params = new HashMap();
-
-
-
- params.put("location_id", new Integer(locationId));
-
- Calendar calInstanceToday = Calendar.getInstance();
- calInstanceToday.set(Calendar.HOUR, 0);
- calInstanceToday.set(Calendar.MINUTE, 0);
- calInstanceToday.set(Calendar.SECOND, 0);
- params.put("today_date", calInstanceToday.getTime());
-
- return getDataAccessService().executeNamedQuery("broadcastMessages", params, null);
- }
-
- public Hashtable getBroadcastMessages() {
- return broadcastMessages;
- }
-
- public static List getBroadcastMessages(String locationId) {
- return (List)broadcastMessages.get(locationId);
- }
-
- public static String displayMessages(String locationId) {
- return displayServerMessages(locationId, null);
- }
-
- public static String displayServerMessages(String locationId, String siteCd) {
- StringBuffer html = new StringBuffer();
-
- List messages = getBroadcastMessages(locationId);
-
- for (int i=0; i < messages.size(); i++) {
- BroadcastMessage message = (BroadcastMessage)messages.get(i);
-
- if ((message.getSiteCd() == null) || ((message.getSiteCd() != null) && message.getSiteCd().equals(siteCd))) {
- html.append("<li class=\"broadcastMessage\">")
- .append(message.getMessageText());
- }
- }
-
- if (html.length() > 0) {
- html.insert(0, "<ul class=\"broadcastMessageList\">");
- html.append("</ul>");
- }
-
- return html.toString();
- }
-
- public static boolean hasMessages(String locationId) {
- return hasServerMessages(locationId, null);
- }
-
- public static boolean hasServerMessages(String locationId, String siteCd) {
- List messages = getBroadcastMessages(locationId);
- boolean messagesExist = !((messages == null) || messages.size() == 0);
- if (!messagesExist)
- return false;
-
- if (siteCd == null) {
- return messagesExist;
- }
- else {
- for (int i=0; i < messages.size(); i++) {
- BroadcastMessage message = (BroadcastMessage)messages.get(i);
-
- if ((message.getSiteCd() == null) || message.getSiteCd().equals(siteCd)) {
- return true;
- }
- }
- return false;
- }
- }
-
- public DataAccessService getDataAccessService() {
- return dataAccessService;
- }
-
- public void setDataAccessService(DataAccessService dataAccessService) {
- dataAccessService = dataAccessService;
- }
-
- public BroadcastMessage getBroadcastMessage(HttpServletRequest request) {
- long messageId = ServletRequestUtils.getLongParameter(request, "message_id", 0);
-
- BroadcastMessage message = new BroadcastMessage();
- if(messageId!=0)
- message = (BroadcastMessage)getDataAccessService().getDomainObject(BroadcastMessage.class, new Long(messageId), null);
-
- if (message.getLocationId() == null) {
- try {
- message.setLocationId(new Integer(ServletRequestUtils.getStringParameter(request, "message_location_id")));
- } catch (NumberFormatException e) {
- e.printStackTrace();
- } catch (ServletRequestBindingException e) {
- e.printStackTrace();
+ private DataAccessService dataAccessService;
+
+ private static Hashtable broadcastMessages = new Hashtable();
+
+ public BroadcastServiceImpl() {
+ super();
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public void loadMessages() {
+ List messageLocations = AppUtils.getLookupListNoCache("fn_lu_message_location", "message_location_id",
+ "message_location_descr", "", "message_location_id");
+
+ for (int i = 0; i < messageLocations.size(); i++) {
+ Lookup location = (Lookup) messageLocations.get(i);
+ String locationId = location.getValue();
+
+ broadcastMessages.put(locationId, getPersistedBroadcastMessages(locationId));
+ }
+ }
+
+ @Override
+ @SuppressWarnings("unchecked")
+ public Map getBcModel(HttpServletRequest request) {
+ HashMap bcModel = new HashMap();
+
+ int messageId = ServletRequestUtils.getIntParameter(request, "message_id", 0);
+ String task = ServletRequestUtils.getStringParameter(request, "task", "get");
+
+ // delete or toggle activation on the selected record (if applicable)
+ if (messageId != 0 && ("delete".equals(task) || "toggleActive".equals(task))) {
+ BroadcastMessage message = (BroadcastMessage) getDataAccessService().getDomainObject(BroadcastMessage.class,
+ new Long(messageId), null);
+
+ if ("delete".equals(task)) {
+ getDataAccessService().deleteDomainObject(message, null);
+ } else if ("toggleActive".equals(task)) {
+ HashMap additionalParams = new HashMap();
+ additionalParams.put(Parameters.PARAM_HTTP_REQUEST, request);
+
+ message.setActive(new Boolean(!message.getActive().booleanValue()));
+ getDataAccessService().saveDomainObject(message, additionalParams);
+ }
+ loadMessages();
+ }
+
+ List items = getDataAccessService().getList(BroadcastMessage.class, null);
+ Collections.sort(items);
+ bcModel.put("messagesList", packageMessages(items));
+
+ List locations = AppUtils.getLookupList("fn_lu_message_location", "message_location_id",
+ "message_location_descr", "", "message_location_id");
+ bcModel.put("messageLocations", locations);
+
+ if ("true".equals(SystemProperties.getProperty(SystemProperties.CLUSTERED))) {
+ List sites = AppUtils.getLookupList("fn_lu_broadcast_site", "broadcast_site_cd", "broadcast_site_descr", "",
+ "broadcast_site_descr");
+ bcModel.put("broadcastSites", sites);
}
- message.setActive(Boolean.TRUE);
- }
- return message;
- }
+ return bcModel;
+ }
+
+ @SuppressWarnings("unchecked")
+ private HashMap packageMessages(List messages) {
+ HashMap messagesList = new HashMap();
+ Set locationMessages = null;
+
+ Integer previousLocationId = null;
+
+ for (int i = 0; i < messages.size(); i++) {
+ BroadcastMessage message = (BroadcastMessage) messages.get(i);
+
+ if (!message.getLocationId().equals(previousLocationId)) {
+ if (previousLocationId != null) {
+ messagesList.put(previousLocationId.toString(), locationMessages);
+ }
+
+ locationMessages = new TreeSet();
+ previousLocationId = message.getLocationId();
+ }
+
+ locationMessages.add(message);
+ }
+
+ if (previousLocationId != null) {
+ messagesList.put(previousLocationId.toString(), locationMessages);
+ }
+
+ return messagesList;
+ }
+
+ @SuppressWarnings("unchecked")
+ private List getPersistedBroadcastMessages(String locationId) {
+ HashMap params = new HashMap();
+
+ params.put("location_id", new Integer(locationId));
+
+ Calendar calInstanceToday = Calendar.getInstance();
+ calInstanceToday.set(Calendar.HOUR, 0);
+ calInstanceToday.set(Calendar.MINUTE, 0);
+ calInstanceToday.set(Calendar.SECOND, 0);
+ params.put("today_date", calInstanceToday.getTime());
+
+ return getDataAccessService().executeNamedQuery("broadcastMessages", params, null);
+ }
+
+ @Override
+ public Map getBroadcastMessages() {
+ return broadcastMessages;
+ }
+
+ public static List getBroadcastMessages(String locationId) {
+ return (List) broadcastMessages.get(locationId);
+ }
+
+ public static String displayMessages(String locationId) {
+ return displayServerMessages(locationId, null);
+ }
+
+ public static String displayServerMessages(String locationId, String siteCd) {
+ StringBuilder html = new StringBuilder();
+ List messages = getBroadcastMessages(locationId);
+ for (int i = 0; i < messages.size(); i++) {
+ BroadcastMessage message = (BroadcastMessage) messages.get(i);
+ if ((message.getSiteCd() == null)
+ || ((message.getSiteCd() != null) && message.getSiteCd().equals(siteCd))) {
+ html.append("<li class=\"broadcastMessage\">").append(message.getMessageText());
+ }
+ }
+ if (html.length() > 0) {
+ html.insert(0, "<ul class=\"broadcastMessageList\">");
+ html.append("</ul>");
+ }
+ return html.toString();
+ }
+
+ public static boolean hasMessages(String locationId) {
+ return hasServerMessages(locationId, null);
+ }
+
+ public static boolean hasServerMessages(String locationId, String siteCd) {
+ List messages = getBroadcastMessages(locationId);
+ boolean messagesExist = !((messages == null) || messages.isEmpty());
+ if (!messagesExist)
+ return false;
+
+ if (siteCd == null) {
+ return messagesExist;
+ } else {
+ for (int i = 0; i < messages.size(); i++) {
+ BroadcastMessage message = (BroadcastMessage) messages.get(i);
+
+ if ((message.getSiteCd() == null) || message.getSiteCd().equals(siteCd)) {
+ return true;
+ }
+ }
+ return false;
+ }
+ }
+
+ @Override
+ public BroadcastMessage getBroadcastMessage(HttpServletRequest request) {
+ long messageId = ServletRequestUtils.getLongParameter(request, "message_id", 0);
+
+ BroadcastMessage message = new BroadcastMessage();
+ if (messageId != 0)
+ message = (BroadcastMessage) getDataAccessService().getDomainObject(BroadcastMessage.class,
+ new Long(messageId), null);
+
+ if (message.getLocationId() == null) {
+ try {
+ message.setLocationId(
+ new Integer(ServletRequestUtils.getStringParameter(request, "message_location_id")));
+ } catch (NumberFormatException | ServletRequestBindingException e) {
+ logger.error(EELFLoggerDelegate.errorLogger, "getBroadcastMessage failed", e);
+ }
+ message.setActive(Boolean.TRUE);
+ }
+
+ return message;
+ }
+
+ public DataAccessService getDataAccessService() {
+ return dataAccessService;
+ }
+
+ public void setDataAccessService(final DataAccessService dataAccessService) {
+ this.dataAccessService = dataAccessService;
+ }
@Override
public void saveBroadcastMessage(BroadcastMessage broadcastMessage) {
@@ -265,5 +269,5 @@ public class BroadcastServiceImpl extends FusionService implements BroadcastServ
public void removeBroadcastMessage(BroadcastMessage broadcastMessage) {
dataAccessService.deleteDomainObject(broadcastMessage, null);
}
-
+
}