Issue #2453 - Notification Center refactor
Former-commit-id:61c57d2254
[formerlyeeb78f7f20
] [formerly61c57d2254
[formerlyeeb78f7f20
] [formerly2c9d603e50
[formerly f570a3945ad8e9e8bc4f88989a0ec10da191856a]]] Former-commit-id:2c9d603e50
Former-commit-id:7535b51fe7
[formerly4a87525df0
] Former-commit-id:f005aa3d8d
This commit is contained in:
parent
a8256a5202
commit
a87ce0b532
7 changed files with 302 additions and 768 deletions
|
@ -19,6 +19,10 @@
|
|||
**/
|
||||
package com.raytheon.uf.viz.datadelivery.common.ui;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import com.raytheon.uf.viz.datadelivery.notification.NotificationRowData;
|
||||
|
||||
/**
|
||||
* Table find interface.
|
||||
*
|
||||
|
@ -30,6 +34,7 @@ package com.raytheon.uf.viz.datadelivery.common.ui;
|
|||
* ------------ ---------- ----------- --------------------------
|
||||
* May 7, 2012 jpiatt Initial creation.
|
||||
* Sep 26, 2013 2417 mpduff Add clearSelection method.
|
||||
* Feb 07, 2014 2453 mpduff Added getCurrentSelectionIndex method.
|
||||
* </pre>
|
||||
*
|
||||
* @author jpiatt
|
||||
|
@ -38,26 +43,34 @@ package com.raytheon.uf.viz.datadelivery.common.ui;
|
|||
|
||||
public interface ITableFind {
|
||||
/**
|
||||
* handleFind call
|
||||
* handle page selection
|
||||
*/
|
||||
void handlePageSelection();
|
||||
|
||||
/**
|
||||
* handleFind call
|
||||
* select a row
|
||||
*
|
||||
* @param index
|
||||
*/
|
||||
void selectIndex(int index);
|
||||
void selectRow(NotificationRowData row);
|
||||
|
||||
/**
|
||||
* handleFind call
|
||||
* handle multiple rows
|
||||
*
|
||||
* @param indices
|
||||
*/
|
||||
void selectIndices(int[] indices);
|
||||
void selectRows(List<NotificationRowData> rows);
|
||||
|
||||
/**
|
||||
* Clear any table selections.
|
||||
*/
|
||||
void clearSelections();
|
||||
|
||||
/**
|
||||
* Get the currently selected index within the data array, not the visible
|
||||
* table.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
int getCurrentSelectionIndex();
|
||||
}
|
||||
|
|
|
@ -29,7 +29,8 @@ package com.raytheon.uf.viz.datadelivery.common.ui;
|
|||
* Date Ticket# Engineer Description
|
||||
* ------------ ---------- ----------- --------------------------
|
||||
* Jun 06, 2012 lvenable Initial creation
|
||||
* Apr 10, 2013 1891 djohnson Declare variable as List.
|
||||
* Apr 10, 2013 1891 djohnson Declare variable as List.
|
||||
* Feb 07, 2014 2453 mpduff Added getSize().
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -132,8 +133,7 @@ public class TableDataManager<T extends ITableData<T>> implements ISortTable {
|
|||
public T getDataRow(int index) {
|
||||
if (index >= 0 && index < tableData.size()) {
|
||||
return tableData.get(index);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
return tableData.get(0);
|
||||
}
|
||||
}
|
||||
|
@ -187,4 +187,13 @@ public class TableDataManager<T extends ITableData<T>> implements ISortTable {
|
|||
public SortDirection getSortDirection() {
|
||||
return currentSortDirection;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the size of the data array.
|
||||
*
|
||||
* @return The size
|
||||
*/
|
||||
public int getSize() {
|
||||
return this.tableData.size();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -20,21 +20,18 @@
|
|||
package com.raytheon.uf.viz.datadelivery.notification;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import org.eclipse.swt.SWT;
|
||||
import org.eclipse.swt.events.KeyAdapter;
|
||||
import org.eclipse.swt.events.KeyEvent;
|
||||
import org.eclipse.swt.events.SelectionAdapter;
|
||||
import org.eclipse.swt.events.SelectionEvent;
|
||||
import org.eclipse.swt.layout.GridData;
|
||||
import org.eclipse.swt.layout.GridLayout;
|
||||
import org.eclipse.swt.widgets.Button;
|
||||
import org.eclipse.swt.widgets.Composite;
|
||||
import org.eclipse.swt.widgets.Event;
|
||||
import org.eclipse.swt.widgets.Group;
|
||||
import org.eclipse.swt.widgets.Label;
|
||||
import org.eclipse.swt.widgets.Layout;
|
||||
import org.eclipse.swt.widgets.Listener;
|
||||
import org.eclipse.swt.widgets.MessageBox;
|
||||
import org.eclipse.swt.widgets.Shell;
|
||||
import org.eclipse.swt.widgets.Text;
|
||||
|
@ -59,6 +56,7 @@ import com.raytheon.viz.ui.dialogs.CaveSWTDialog;
|
|||
* Dec 12. 2012 1418 mpduff Change label.
|
||||
* Aug 30, 2013 2314 mpduff Fixed find, filter, and various other bugs.
|
||||
* Sep 26, 2013 2417 mpduff Reset the highlight all indices on close.
|
||||
* Feb 07, 2014 2453 mpduff Refactored dialog.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -95,41 +93,20 @@ public class FindDlg extends CaveSWTDialog {
|
|||
/** ITableFind callback */
|
||||
private final ITableFind callback;
|
||||
|
||||
/** Table row Index */
|
||||
int tableIndex = -1;
|
||||
|
||||
/** Table row start Index */
|
||||
int startIndex = 0;
|
||||
|
||||
/** Table row end Index */
|
||||
int endIndex = 0;
|
||||
|
||||
/** Table row selected Index */
|
||||
int selectedIndex = 0;
|
||||
private int selectedIndex = 0;
|
||||
|
||||
/** Message Checkbox flag */
|
||||
boolean msgFlag = false;
|
||||
private boolean msgFlag = false;
|
||||
|
||||
/** Category Checkbox flag */
|
||||
boolean categoryFlag = false;
|
||||
private boolean categoryFlag = false;
|
||||
|
||||
/** Case Sensitive flag */
|
||||
boolean caseFlag = false;
|
||||
|
||||
/** Yes continue search flag */
|
||||
boolean yesFlag = false;
|
||||
|
||||
/** Found Item flag */
|
||||
boolean exists = false;
|
||||
private boolean caseFlag = false;
|
||||
|
||||
/** Exclude search flag */
|
||||
boolean excludeFlag = false;
|
||||
|
||||
/** Message string */
|
||||
String msg = null;
|
||||
|
||||
/** Subscription string */
|
||||
String sub = null;
|
||||
private boolean excludeFlag = false;
|
||||
|
||||
/**
|
||||
* Constructor.
|
||||
|
@ -150,13 +127,11 @@ public class FindDlg extends CaveSWTDialog {
|
|||
*/
|
||||
public FindDlg(Shell parent,
|
||||
TableDataManager<NotificationRowData> filteredTableList,
|
||||
int sIndex, int eIndex, int selected, ITableFind callback) {
|
||||
int selected, ITableFind callback) {
|
||||
super(parent, SWT.DIALOG_TRIM, CAVE.NONE | CAVE.DO_NOT_BLOCK);
|
||||
this.setText("Find");
|
||||
|
||||
this.filteredTableList = filteredTableList;
|
||||
sIndex = startIndex;
|
||||
eIndex = endIndex;
|
||||
selectedIndex = selected;
|
||||
this.callback = callback;
|
||||
}
|
||||
|
@ -185,12 +160,6 @@ public class FindDlg extends CaveSWTDialog {
|
|||
*/
|
||||
@Override
|
||||
protected void initializeComponents(Shell shell) {
|
||||
shell.addListener(SWT.Close, new Listener() {
|
||||
@Override
|
||||
public void handleEvent(Event event) {
|
||||
callback.selectIndices(null);
|
||||
}
|
||||
});
|
||||
createFindLayout();
|
||||
createBottomButtons();
|
||||
}
|
||||
|
@ -219,12 +188,6 @@ public class FindDlg extends CaveSWTDialog {
|
|||
findTxt.setLayoutData(gd);
|
||||
findTxt.selectAll();
|
||||
findTxt.setLayoutData(gd);
|
||||
findTxt.addKeyListener(new KeyAdapter() {
|
||||
@Override
|
||||
public void keyReleased(KeyEvent e) {
|
||||
findText();
|
||||
}
|
||||
});
|
||||
|
||||
gl = new GridLayout(2, false);
|
||||
gd = new GridData(SWT.CENTER, SWT.DEFAULT, true, false);
|
||||
|
@ -314,89 +277,16 @@ public class FindDlg extends CaveSWTDialog {
|
|||
closeBtn.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
callback.selectIndices(null);
|
||||
close();
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Find text on key release. Check all pages of filtered list. Stop when
|
||||
* match is found and don't move to the next.
|
||||
*/
|
||||
private void findText() {
|
||||
|
||||
// Text in the find text box
|
||||
String text = findTxt.getText();
|
||||
|
||||
// Get button selections
|
||||
msgFlag = msgBtn.getSelection();
|
||||
categoryFlag = categoryBtn.getSelection();
|
||||
caseFlag = caseBtn.getSelection();
|
||||
excludeFlag = exclusionBtn.getSelection();
|
||||
|
||||
int itemCount = filteredTableList.getDataArray().size();
|
||||
tableIndex = 0;
|
||||
|
||||
if (filteredTableList != null) {
|
||||
|
||||
// Check rows in the entire filtered list - all pages
|
||||
for (NotificationRowData row : filteredTableList.getDataArray()) {
|
||||
|
||||
// Column data
|
||||
msg = row.getMessage();
|
||||
sub = row.getCategory();
|
||||
|
||||
if (tableIndex <= itemCount) {
|
||||
tableIndex++;
|
||||
|
||||
if (caseFlag) {
|
||||
if (excludeFlag) {
|
||||
// Select index if does not match message or
|
||||
// subscription
|
||||
if ((!msg.contains(text) && msgFlag)
|
||||
|| (!sub.contains(text) && categoryFlag)) {
|
||||
exists = true;
|
||||
callback.selectIndex(tableIndex);
|
||||
break;
|
||||
}
|
||||
// Select index if matches message or subscription
|
||||
} else if ((msg.contains(text) && msgFlag)
|
||||
|| (sub.contains(text) && categoryFlag)) {
|
||||
exists = true;
|
||||
callback.selectIndex(tableIndex);
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
if (excludeFlag) {
|
||||
// Select index if matches non case sensitive
|
||||
// message or subscription
|
||||
if ((!msg.toUpperCase()
|
||||
.contains(text.toUpperCase()) && msgFlag)
|
||||
|| (!sub.toLowerCase().contains(
|
||||
text.toLowerCase()) && categoryFlag)) {
|
||||
exists = true;
|
||||
callback.selectIndex(tableIndex);
|
||||
break;
|
||||
}
|
||||
} else if ((msg.toUpperCase().contains(
|
||||
text.toUpperCase()) && msgFlag)
|
||||
|| (sub.toLowerCase().contains(
|
||||
text.toLowerCase()) && categoryFlag)) {
|
||||
exists = true;
|
||||
callback.selectIndex(tableIndex);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Find Button action handler. Find the next matching row upon button click.
|
||||
*/
|
||||
private void handleFindBtn() {
|
||||
int prevSelectedIndex = selectedIndex;
|
||||
|
||||
// Text in the find text box
|
||||
String text = findTxt.getText();
|
||||
|
@ -420,56 +310,20 @@ public class FindDlg extends CaveSWTDialog {
|
|||
boolean continueSearch = true;
|
||||
boolean exists = false;
|
||||
boolean hitEnd = false;
|
||||
selectedIndex = selectedIndex + 1;
|
||||
selectedIndex = callback.getCurrentSelectionIndex() + 1;
|
||||
|
||||
while (continueSearch) {
|
||||
if (tableIndex < itemCount) {
|
||||
// Get the row data starting at the currently highlighted row
|
||||
if (selectedIndex < itemCount) {
|
||||
NotificationRowData row = filteredTableList.getDataArray().get(
|
||||
tableIndex);
|
||||
selectedIndex);
|
||||
|
||||
// Column data
|
||||
msg = row.getMessage();
|
||||
sub = row.getCategory();
|
||||
|
||||
tableIndex++;
|
||||
|
||||
if (caseFlag) {
|
||||
if (excludeFlag) {
|
||||
// Select index if does not match message or
|
||||
// subscription
|
||||
if ((!msg.contains(text) && msgFlag)
|
||||
|| (!sub.contains(text) && categoryFlag)) {
|
||||
continueSearch = false;
|
||||
callback.selectIndex(tableIndex);
|
||||
}
|
||||
} else if ((msg.contains(text) && msgFlag)
|
||||
|| (sub.contains(text) && categoryFlag)) {
|
||||
// Select index if matches message or subscription
|
||||
continueSearch = false;
|
||||
callback.selectIndex(tableIndex);
|
||||
}
|
||||
} else {
|
||||
if (excludeFlag) {
|
||||
// Select index if matches non case sensitive message or
|
||||
// subscription
|
||||
if ((!msg.toUpperCase().contains(text.toUpperCase()) && msgFlag)
|
||||
|| (!sub.toLowerCase().contains(
|
||||
text.toLowerCase()) && categoryFlag)) {
|
||||
continueSearch = false;
|
||||
callback.selectIndex(tableIndex);
|
||||
}
|
||||
} else if ((msg.toUpperCase().contains(text.toUpperCase()) && msgFlag)
|
||||
|| (sub.toLowerCase().contains(text.toLowerCase()) && categoryFlag)) {
|
||||
continueSearch = false;
|
||||
callback.selectIndex(tableIndex);
|
||||
}
|
||||
}
|
||||
|
||||
// If the item was found set exists to true
|
||||
if (!continueSearch) {
|
||||
boolean matchFound = checkForMatch(text, row);
|
||||
if (matchFound) {
|
||||
continueSearch = false;
|
||||
exists = true;
|
||||
callback.selectRow(row);
|
||||
}
|
||||
selectedIndex++;
|
||||
} else {
|
||||
if (!hitEnd) {
|
||||
int answer = DataDeliveryUtils
|
||||
|
@ -480,10 +334,11 @@ public class FindDlg extends CaveSWTDialog {
|
|||
"The end of the table has been reached. Would you like to search from the beginning of the table?");
|
||||
if (answer == SWT.NO) {
|
||||
exists = true;
|
||||
selectedIndex = prevSelectedIndex;
|
||||
break;
|
||||
// Start search over at beginning of table
|
||||
} else if (answer == SWT.YES) {
|
||||
tableIndex = 0;
|
||||
// Start search over at beginning of table
|
||||
selectedIndex = 0;
|
||||
continueSearch = true;
|
||||
}
|
||||
hitEnd = true;
|
||||
|
@ -499,7 +354,7 @@ public class FindDlg extends CaveSWTDialog {
|
|||
mb.setText("Find Warning");
|
||||
mb.setMessage("No item matching your search was found.");
|
||||
mb.open();
|
||||
tableIndex = 0;
|
||||
selectedIndex = prevSelectedIndex;
|
||||
callback.clearSelections();
|
||||
}
|
||||
}
|
||||
|
@ -509,7 +364,6 @@ public class FindDlg extends CaveSWTDialog {
|
|||
* text.
|
||||
*/
|
||||
private void handleHighlightBtn() {
|
||||
|
||||
// Text in the find text box
|
||||
String text = findTxt.getText();
|
||||
|
||||
|
@ -519,61 +373,54 @@ public class FindDlg extends CaveSWTDialog {
|
|||
caseFlag = caseBtn.getSelection();
|
||||
excludeFlag = exclusionBtn.getSelection();
|
||||
|
||||
ArrayList<Integer> items = new ArrayList<Integer>();
|
||||
int[] indices = new int[0];
|
||||
|
||||
// Start search at beginning of table
|
||||
tableIndex = 0;
|
||||
List<NotificationRowData> items = new ArrayList<NotificationRowData>();
|
||||
|
||||
if (filteredTableList != null) {
|
||||
for (int i = 0; i < filteredTableList.getDataArray().size(); i++) {
|
||||
for (int i = 0; i < filteredTableList.getSize(); i++) {
|
||||
NotificationRowData row = filteredTableList.getDataArray().get(
|
||||
i);
|
||||
// Message Column
|
||||
msg = row.getMessage();
|
||||
// Subscription Name column
|
||||
sub = row.getCategory();
|
||||
|
||||
if (caseFlag) {
|
||||
if (excludeFlag) {
|
||||
// Select index if does not match message or
|
||||
// subscription
|
||||
if ((!msg.contains(text) && msgFlag)
|
||||
|| (!sub.contains(text) && categoryFlag)) {
|
||||
items.add(i);
|
||||
}
|
||||
} else if ((msg.contains(text) && msgFlag)
|
||||
|| (sub.contains(text) && categoryFlag)) {
|
||||
// Select index if matches message or subscription
|
||||
items.add(i);
|
||||
}
|
||||
|
||||
} else {
|
||||
if (excludeFlag) {
|
||||
// Select index if matches non case sensitive message or
|
||||
// subscription
|
||||
if ((!msg.toUpperCase().contains(text.toUpperCase()) && msgFlag)
|
||||
|| (!sub.toLowerCase().contains(
|
||||
text.toLowerCase()) && categoryFlag)) {
|
||||
items.add(i);
|
||||
}
|
||||
} else if ((msg.toUpperCase().contains(text.toUpperCase()) && msgFlag)
|
||||
|| (sub.toLowerCase().contains(text.toLowerCase()) && categoryFlag)) {
|
||||
items.add(i);
|
||||
}
|
||||
boolean matchFound = checkForMatch(text, row);
|
||||
if (matchFound) {
|
||||
items.add(row);
|
||||
}
|
||||
|
||||
tableIndex++;
|
||||
}
|
||||
|
||||
indices = new int[items.size()];
|
||||
|
||||
// Create an int array of the rows to highlight
|
||||
for (int i = 0; i < items.size(); i++) {
|
||||
indices[i] = items.get(i);
|
||||
}
|
||||
|
||||
callback.selectIndices(indices);
|
||||
callback.selectRows(items);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if the matchText matches the row.
|
||||
*
|
||||
* @param matchText
|
||||
* The text to match
|
||||
* @param row
|
||||
* The row to check
|
||||
* @return true if matches
|
||||
*/
|
||||
private boolean checkForMatch(String matchText, NotificationRowData row) {
|
||||
boolean matchFound = false;
|
||||
String msg = row.getMessage();
|
||||
String sub = row.getCategory();
|
||||
|
||||
if (!caseFlag) {
|
||||
msg = msg.toUpperCase();
|
||||
sub = sub.toUpperCase();
|
||||
matchText = matchText.toUpperCase();
|
||||
}
|
||||
|
||||
if (excludeFlag) {
|
||||
if ((!msg.contains(matchText) && msgFlag)
|
||||
|| (!sub.contains(matchText) && categoryFlag)) {
|
||||
matchFound = true;
|
||||
}
|
||||
} else {
|
||||
if ((msg.contains(matchText) && msgFlag)
|
||||
|| (sub.contains(matchText) && categoryFlag)) {
|
||||
matchFound = true;
|
||||
}
|
||||
}
|
||||
return matchFound;
|
||||
}
|
||||
}
|
|
@ -104,6 +104,7 @@ import com.raytheon.viz.ui.dialogs.ICloseCallback;
|
|||
* Aug 30, 2013 2314 mpduff Change the reading of the xml. Make load config dlg non-blocking.
|
||||
* Sep 25, 2013 2408 mpduff Added a restore hidden notifications menu.
|
||||
* Sep 25, 2013 2410 mpduff Check type of localization file.
|
||||
* Feb 07, 2013 2453 mpduff Support find dialog refactor..
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -394,7 +395,7 @@ public class NotificationDlg extends CaveSWTDialog implements ITableChange,
|
|||
hideOlderMI.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
tableComp.handleDeleteOlderThan();
|
||||
tableComp.handleHideOlderThan();
|
||||
}
|
||||
|
||||
});
|
||||
|
@ -405,7 +406,7 @@ public class NotificationDlg extends CaveSWTDialog implements ITableChange,
|
|||
hideMI.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent event) {
|
||||
tableComp.handleDeleteNotification();
|
||||
tableComp.handleHideNotification();
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -493,7 +494,7 @@ public class NotificationDlg extends CaveSWTDialog implements ITableChange,
|
|||
mi.addSelectionListener(new SelectionAdapter() {
|
||||
@Override
|
||||
public void widgetSelected(SelectionEvent e) {
|
||||
tableComp.handleDeleteByPriority((Integer) ((MenuItem) e
|
||||
tableComp.handleHideByPriority((Integer) ((MenuItem) e
|
||||
.getSource()).getData());
|
||||
}
|
||||
});
|
||||
|
@ -572,8 +573,7 @@ public class NotificationDlg extends CaveSWTDialog implements ITableChange,
|
|||
private void handleFind() {
|
||||
if (fnd == null || fnd.isDisposed()) {
|
||||
fnd = new FindDlg(shell, tableComp.getFilteredTableList(),
|
||||
tableComp.getStartIndex(), tableComp.getEndIndex(),
|
||||
tableComp.getSelectedIndex(), tableComp);
|
||||
tableComp.getTable().getSelectionIndex(), tableComp);
|
||||
fnd.open();
|
||||
} else {
|
||||
fnd.bringToTop();
|
||||
|
@ -839,7 +839,7 @@ public class NotificationDlg extends CaveSWTDialog implements ITableChange,
|
|||
if (isDisposed() == false && tableComp.passesFilter(records)) {
|
||||
tableComp.populateTableDataRows(records);
|
||||
tableComp.populateTable();
|
||||
|
||||
tableComp.handlePageSelection();
|
||||
// update title display......
|
||||
if (tableComp.isLocked()) {
|
||||
setText(TITLE_TEXT + tableComp.getPauseCountLabel());
|
||||
|
|
|
@ -40,6 +40,7 @@ import com.raytheon.uf.viz.datadelivery.utils.DataDeliveryUtils.TABLE_TYPE;
|
|||
* Jun 07, 2012 687 lvenable Table data refactor.
|
||||
* Aug 30, 2013 2314 mpduff Fix formatting.
|
||||
* Sep 16, 2013 2375 mpduff Change date sort order.
|
||||
* Feb 07, 2014 2453 mpduff Added toString()
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -299,4 +300,8 @@ public class NotificationRowData implements ITableData<NotificationRowData> {
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.date.toString() + " - " + this.message;
|
||||
}
|
||||
}
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -31,6 +31,7 @@ import com.raytheon.uf.viz.datadelivery.notification.xml.MessageLoadXML;
|
|||
* Mar 12, 2012 jsanchez Initial creation
|
||||
* Jan 22, 2013 1501 djohnson Route requests to datadelivery.
|
||||
* Sep 05, 2013 2314 mpduff support the load all messages option.
|
||||
* Feb 07, 2014 2453 mpduff Remove username query param.
|
||||
*
|
||||
* </pre>
|
||||
*
|
||||
|
@ -84,10 +85,9 @@ public class NotificationHandler implements INotificationObserver {
|
|||
public List<NotificationRecord> intialLoad(MessageLoadXML messageLoad,
|
||||
ArrayList<String> users) {
|
||||
int loadAmount;
|
||||
String username = null;
|
||||
Integer hours = null;
|
||||
Integer maxResults = null;
|
||||
Boolean loadAll = false;
|
||||
boolean loadAll = false;
|
||||
// Retrieve the message load configuration
|
||||
if (messageLoad != null) {
|
||||
loadAll = messageLoad.isLoadAllMessages();
|
||||
|
@ -100,22 +100,11 @@ public class NotificationHandler implements INotificationObserver {
|
|||
}
|
||||
}
|
||||
|
||||
// Set usernames from filter
|
||||
if (users != null && users.isEmpty() == false) {
|
||||
StringBuffer sb = new StringBuffer();
|
||||
for (String user : users) {
|
||||
if (sb.length() > 0) {
|
||||
sb.append(",");
|
||||
}
|
||||
sb.append(user);
|
||||
}
|
||||
username = sb.toString();
|
||||
}
|
||||
|
||||
// Request data from the notification table.
|
||||
// Note: Removing username query parameter for front end label
|
||||
// consistency
|
||||
try {
|
||||
GetNotificationRequest request = new GetNotificationRequest();
|
||||
request.setUsername(username);
|
||||
request.setHours(hours);
|
||||
request.setMaxResults(maxResults);
|
||||
request.setLoadAll(loadAll);
|
||||
|
|
Loading…
Add table
Reference in a new issue