Относительный новичок здесь.Подсчет объектов в приложении J2EE
Я пытаюсь подсчитать вхождения объектов в веб-приложение J2EE. Очень просто.
У меня есть база данных Oracle со таблицей «Предупреждения». Каждое предупреждение может иметь один из трех статусов:
- ACTIVE
- AUTOCLEARED
- CLEARED
У меня есть WARNING_SUPPRESSED и столбец WARNING_SUPERSEDED в моей таблице. Значения, используемые этими столбцами, затем используются для определения состояния предупреждения. Столбец warning_status отсутствует, поэтому состояние предупреждения выдается следующим образом:
NB - Я хотел бы указать, что в настоящее время у меня есть 5 предупреждающих объектов, один из которых очищается. Итак, у меня есть 4 активных и 1 очищенного предупреждения.
У меня есть какая-то логика в сервлет:
for (Warning warning : warnings)
{
// logic to check and count occurrences of each type of warning
int activeCount = 0;
int clearedCount = 0;
int autoclearedCount = 0;
// warning is active if it is not superseded and not suppressed
if(((warning.getWarningSuperseded() != null && warning.getWarningSuperseded().equals("N"))
&& ((warning.getWarningSuppressed() != null && warning.getWarningSuppressed().equals("N")))))
{
activeCount++;
}
// warning is cleared if it is superseded
if(warning.getWarningSuperseded() != null && warning.getWarningSuperseded().equals("Y"))
{
clearedCount++;
}
// warning is autocleared if it is suppressed
else if (warning.getWarningSuppressed() != null && warning.getWarningSuppressed().equals("Y"))
{
autoclearedCount++;
}
}
Итак, что я думаю, что я пытаюсь сделать здесь, в псевдокоде:
if warning not superseded and warning not suppressed
then increment activeCount;
if warning is superseded
then increment clearedCount;
if warning is suppressed
then increment autoclearedCount;
При отладке это в Eclipse, я получить activeCount, чтобы быть 8, clearedCount быть 3 и autoclearedCount быть 1. Я не совсем понимаю, почему это так, потому что, насколько мне известно, у меня есть только 5 предупреждающих объектов, 4 активных и 1 очищенных.
То, что я тогда делал, просто чтобы проверить, что у меня есть количество предупреждений, я думаю, у меня есть:
warningCount = warningServices.getWarningCount(MyServletHelper.getCurrentSchema(request));
Это возвращает 4 - метод getWarningCount() возвращает только количество предупреждений, которые являются активными ,
Я могу только предположить, что в моей логике есть какой-то недостаток - я не знаю, было ли это просто потому, что у меня был длинный день или что-то, но это не имеет смысла для меня!
Иногда все, что нужно для свежей пары глаз, чтобы увидеть, что я делаю неправильно ...
Я инициализировал переменные на уровне метода - почему я помещаю их в цикл, я понятия не имею. Тем не менее, он по-прежнему возвращает абсолютную бессмыслицу ... –