Return-Path: X-Original-To: archive-asf-public-internal@cust-asf2.ponee.io Delivered-To: archive-asf-public-internal@cust-asf2.ponee.io Received: from cust-asf.ponee.io (cust-asf.ponee.io [163.172.22.183]) by cust-asf2.ponee.io (Postfix) with ESMTP id C3A2E200BBB for ; Thu, 10 Nov 2016 09:15:10 +0100 (CET) Received: by cust-asf.ponee.io (Postfix) id C0C05160B01; Thu, 10 Nov 2016 08:15:10 +0000 (UTC) Delivered-To: archive-asf-public@cust-asf.ponee.io Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by cust-asf.ponee.io (Postfix) with SMTP id BBB1D160AF6 for ; Thu, 10 Nov 2016 09:15:09 +0100 (CET) Received: (qmail 69945 invoked by uid 500); 10 Nov 2016 08:15:09 -0000 Mailing-List: contact commits-help@eagle.incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@eagle.incubator.apache.org Delivered-To: mailing list commits@eagle.incubator.apache.org Received: (qmail 69936 invoked by uid 99); 10 Nov 2016 08:15:08 -0000 Received: from pnap-us-west-generic-nat.apache.org (HELO spamd4-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 Nov 2016 08:15:08 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd4-us-west.apache.org (ASF Mail Server at spamd4-us-west.apache.org) with ESMTP id 79B56C00B6 for ; Thu, 10 Nov 2016 08:15:08 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd4-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: -6.219 X-Spam-Level: X-Spam-Status: No, score=-6.219 tagged_above=-999 required=6.31 tests=[KAM_ASCII_DIVIDERS=0.8, KAM_LAZY_DOMAIN_SECURITY=1, RCVD_IN_DNSWL_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-2.999] autolearn=disabled Received: from mx1-lw-eu.apache.org ([10.40.0.8]) by localhost (spamd4-us-west.apache.org [10.40.0.11]) (amavisd-new, port 10024) with ESMTP id 4EhpDfkg72yV for ; Thu, 10 Nov 2016 08:15:06 +0000 (UTC) Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by mx1-lw-eu.apache.org (ASF Mail Server at mx1-lw-eu.apache.org) with SMTP id 0E4655F3BE for ; Thu, 10 Nov 2016 08:15:04 +0000 (UTC) Received: (qmail 69720 invoked by uid 99); 10 Nov 2016 08:15:04 -0000 Received: from git1-us-west.apache.org (HELO git1-us-west.apache.org) (140.211.11.23) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 10 Nov 2016 08:15:04 +0000 Received: by git1-us-west.apache.org (ASF Mail Server at git1-us-west.apache.org, from userid 33) id 1DC83E098A; Thu, 10 Nov 2016 08:15:04 +0000 (UTC) Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit From: qingwzhao@apache.org To: commits@eagle.incubator.apache.org Message-Id: <016fdcd5294a47a0835519b1a4566da8@git.apache.org> X-Mailer: ASF-Git Admin Mailer Subject: incubator-eagle git commit: [EAGLE-760] add size limit in the alert list APIs Date: Thu, 10 Nov 2016 08:15:04 +0000 (UTC) archived-at: Thu, 10 Nov 2016 08:15:10 -0000 Repository: incubator-eagle Updated Branches: refs/heads/master 8f8fe57e6 -> 0a0d1f6ee [EAGLE-760] add size limit in the alert list APIs https://issues.apache.org/jira/browse/EAGLE-760 Author: Zhao, Qingwen Closes #644 from qingwen220/EAGLE-760. Project: http://git-wip-us.apache.org/repos/asf/incubator-eagle/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-eagle/commit/0a0d1f6e Tree: http://git-wip-us.apache.org/repos/asf/incubator-eagle/tree/0a0d1f6e Diff: http://git-wip-us.apache.org/repos/asf/incubator-eagle/diff/0a0d1f6e Branch: refs/heads/master Commit: 0a0d1f6ee9dcb36ca96721a90392a676b2652d28 Parents: 8f8fe57 Author: Zhao, Qingwen Authored: Thu Nov 10 16:14:56 2016 +0800 Committer: Zhao, Qingwen Committed: Thu Nov 10 16:14:56 2016 +0800 ---------------------------------------------------------------------- .../metadata/resource/MetadataResource.java | 5 +++-- .../apache/eagle/alert/metadata/IMetadataDao.java | 2 +- .../alert/metadata/impl/InMemMetadataDaoImpl.java | 9 ++++++--- .../alert/metadata/impl/JdbcMetadataDaoImpl.java | 15 +++++++++------ .../alert/metadata/impl/MongoMetadataDaoImpl.java | 17 ++++++++++++----- 5 files changed, 31 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0a0d1f6e/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java index a658933..fc4a2bd 100644 --- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java +++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata-service/src/main/java/org/apache/eagle/service/metadata/resource/MetadataResource.java @@ -244,8 +244,9 @@ public class MetadataResource { @Path("/policies/{policyId}/alerts") @GET - public List getAlertPublishEventByPolicyId(@PathParam("policyId") String policyId) { - return dao.getAlertPublishEventByPolicyId(policyId); + public List getAlertPublishEventByPolicyId(@PathParam("policyId") String policyId, + @QueryParam("size") int size) { + return dao.getAlertPublishEventByPolicyId(policyId, size); } @Path("/policies/{policyId}/publishments") http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0a0d1f6e/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/IMetadataDao.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/IMetadataDao.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/IMetadataDao.java index 4321796..19d2b31 100644 --- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/IMetadataDao.java +++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/IMetadataDao.java @@ -82,7 +82,7 @@ public interface IMetadataDao extends Closeable { AlertPublishEvent getAlertPublishEvent(String alertId); - List getAlertPublishEventByPolicyId(String policyId); + List getAlertPublishEventByPolicyId(String policyId, int size); OpResult addAlertPublishEvent(AlertPublishEvent event); http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0a0d1f6e/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/InMemMetadataDaoImpl.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/InMemMetadataDaoImpl.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/InMemMetadataDaoImpl.java index 03dad05..96cb20e 100644 --- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/InMemMetadataDaoImpl.java +++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/InMemMetadataDaoImpl.java @@ -202,7 +202,7 @@ public class InMemMetadataDaoImpl implements IMetadataDao { @Override public List listAlertPublishEvent(int size) { if (size > 0 && size <= alerts.size()) { - return alerts.subList(0, size); + return alerts.subList(alerts.size() - size, alerts.size()); } return alerts; } @@ -218,9 +218,12 @@ public class InMemMetadataDaoImpl implements IMetadataDao { } @Override - public List getAlertPublishEventByPolicyId(String policyId) { + public List getAlertPublishEventByPolicyId(String policyId, int size) { + if (size < 0 || size > alerts.size()) { + size = alerts.size(); + } List result = alerts.stream().filter(alert -> alert.getPolicyId().equals(policyId)).collect(Collectors.toList()); - return result; + return result.subList(result.size() - size, result.size()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0a0d1f6e/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/JdbcMetadataDaoImpl.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/JdbcMetadataDaoImpl.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/JdbcMetadataDaoImpl.java index c540b52..d748ed1 100644 --- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/JdbcMetadataDaoImpl.java +++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/JdbcMetadataDaoImpl.java @@ -75,11 +75,11 @@ public class JdbcMetadataDaoImpl implements IMetadataDao { @Override public List listAlertPublishEvent(int size) { - if (size <= 0) { - return handler.list(AlertPublishEvent.class); - } else { - return handler.listSubset(AlertPublishEvent.class, size); + List result = handler.list(AlertPublishEvent.class); + if (size < 0 || size > result.size()) { + size = result.size(); } + return result.subList(result.size() - size, result.size()); } @Override @@ -88,10 +88,13 @@ public class JdbcMetadataDaoImpl implements IMetadataDao { } @Override - public List getAlertPublishEventByPolicyId(String policyId) { + public List getAlertPublishEventByPolicyId(String policyId, int size) { List alerts = handler.list(AlertPublishEvent.class); + if (size < 0 || size > alerts.size()) { + size = alerts.size(); + } List result = alerts.stream().filter(alert -> alert.getPolicyId().equals(policyId)).collect(Collectors.toList()); - return result; + return result.subList(result.size() - size, result.size()); } @Override http://git-wip-us.apache.org/repos/asf/incubator-eagle/blob/0a0d1f6e/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/MongoMetadataDaoImpl.java ---------------------------------------------------------------------- diff --git a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/MongoMetadataDaoImpl.java b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/MongoMetadataDaoImpl.java index dd1e586..498f540 100644 --- a/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/MongoMetadataDaoImpl.java +++ b/eagle-core/eagle-alert-parent/eagle-alert/alert-metadata-parent/alert-metadata/src/main/java/org/apache/eagle/alert/metadata/impl/MongoMetadataDaoImpl.java @@ -354,7 +354,11 @@ public class MongoMetadataDaoImpl implements IMetadataDao { @Override public List listAlertPublishEvent(int size) { - return list(alerts, AlertPublishEvent.class); + List result = list(alerts, AlertPublishEvent.class); + if (size < 0 || size > result.size()) { + size = result.size(); + } + return result.subList(result.size() - size, result.size()); } @Override @@ -368,10 +372,13 @@ public class MongoMetadataDaoImpl implements IMetadataDao { } @Override - public List getAlertPublishEventByPolicyId(String policyId) { - List results = list(alerts, AlertPublishEvent.class); - List ret = results.stream().filter(alert -> alert.getPolicyId().equals(policyId)).collect(Collectors.toList()); - return ret; + public List getAlertPublishEventByPolicyId(String policyId, int size) { + List events = list(alerts, AlertPublishEvent.class); + if (size < 0 || size > events.size()) { + size = events.size(); + } + List result = events.stream().filter(alert -> alert.getPolicyId().equals(policyId)).collect(Collectors.toList()); + return events.subList(result.size() - size, result.size()); } @Override