Return-Path: X-Original-To: apmail-jackrabbit-commits-archive@www.apache.org Delivered-To: apmail-jackrabbit-commits-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 0A7E08829 for ; Thu, 1 Sep 2011 12:59:20 +0000 (UTC) Received: (qmail 86740 invoked by uid 500); 1 Sep 2011 12:59:19 -0000 Delivered-To: apmail-jackrabbit-commits-archive@jackrabbit.apache.org Received: (qmail 86639 invoked by uid 500); 1 Sep 2011 12:59:18 -0000 Mailing-List: contact commits-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list commits@jackrabbit.apache.org Received: (qmail 86632 invoked by uid 99); 1 Sep 2011 12:59:18 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Sep 2011 12:59:18 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=5.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO eris.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 01 Sep 2011 12:59:16 +0000 Received: from eris.apache.org (localhost [127.0.0.1]) by eris.apache.org (Postfix) with ESMTP id 053C3238888F; Thu, 1 Sep 2011 12:58:56 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1164057 - /jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java Date: Thu, 01 Sep 2011 12:58:55 -0000 To: commits@jackrabbit.apache.org From: mduerig@apache.org X-Mailer: svnmailer-1.0.8 Message-Id: <20110901125856.053C3238888F@eris.apache.org> Author: mduerig Date: Thu Sep 1 12:58:55 2011 New Revision: 1164057 URL: http://svn.apache.org/viewvc?rev=1164057&view=rev Log: Microkernel based Jackrabbit prototype (WIP) observation: correctly handle non local events Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java Modified: jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java URL: http://svn.apache.org/viewvc/jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java?rev=1164057&r1=1164056&r2=1164057&view=diff ============================================================================== --- jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java (original) +++ jackrabbit/sandbox/jackrabbit-mk/jackrabbit-spi2microkernel/src/main/java/org/apache/jackrabbit/spi2microkernel/SubscriptionImpl.java Thu Sep 1 12:58:55 2011 @@ -233,19 +233,16 @@ public class SubscriptionImpl implements private class EventSource { private final EventFilter[] eventFilters; - private final List commitLog; - private final String startRevision; public EventSource(EventFilter[] eventFilters, SessionState sessionState) { this.eventFilters = eventFilters; - commitLog = sessionState.getCommitLog(); + List commitLog = sessionState.getCommitLog(); startRevision = commitLog.get(commitLog.size() - 1); } - public EventSource(EventFilter[] eventFilters, List commitLog, String startRevision) { + public EventSource(EventFilter[] eventFilters, String startRevision) { this.eventFilters = eventFilters; - this.commitLog = commitLog; this.startRevision = startRevision; } @@ -283,7 +280,7 @@ public class SubscriptionImpl implements } public EventSource update(String startRevision) { - return new EventSource(eventFilters, commitLog, startRevision); + return new EventSource(eventFilters, startRevision); } //------------------------------------------< private >--- @@ -308,7 +305,8 @@ public class SubscriptionImpl implements Collection events = getEvents(changes, eventTemplate); - boolean isLocal = commitLog.contains(revisionId); // todo performance: this does a linear search on the list + // todo performance: this does a linear search on the list + boolean isLocal = sessionState.getCommitLog().contains(revisionId); // events.filter(event => eventFilters.any(_.accept(event, isLocal)) for (Iterator it = events.iterator(); it.hasNext(); ) {