Return-Path: X-Original-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Delivered-To: apmail-jackrabbit-oak-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 9D811E94D for ; Thu, 14 Feb 2013 13:04:26 +0000 (UTC) Received: (qmail 62941 invoked by uid 500); 14 Feb 2013 13:04:26 -0000 Delivered-To: apmail-jackrabbit-oak-dev-archive@jackrabbit.apache.org Received: (qmail 62832 invoked by uid 500); 14 Feb 2013 13:04:26 -0000 Mailing-List: contact oak-dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: oak-dev@jackrabbit.apache.org Delivered-To: mailing list oak-dev@jackrabbit.apache.org Received: (qmail 62821 invoked by uid 99); 14 Feb 2013 13:04:26 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Feb 2013 13:04:26 +0000 X-ASF-Spam-Status: No, hits=-0.7 required=5.0 tests=RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of jukka.zitting@gmail.com designates 209.85.214.178 as permitted sender) Received: from [209.85.214.178] (HELO mail-ob0-f178.google.com) (209.85.214.178) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 14 Feb 2013 13:04:19 +0000 Received: by mail-ob0-f178.google.com with SMTP id wd20so2343070obb.23 for ; Thu, 14 Feb 2013 05:03:58 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=x-received:mime-version:in-reply-to:references:from:date:message-id :subject:to:content-type; bh=RMyi2WDUrVtFvabaLYgGjo0xqfjAK0So2yCOJ2wpRPc=; b=BjSVQCy/OYXmPMWO4pBRGhA0aO5njHLL8JVsSdA7eLQ7DALz/SHMh3s4T/nlTY+C72 BlyJNK4lAYt4TzL9/pYETYmqmTq4CbtzsIF/X5BXeC8UIA0LmtyrU7CVsMTWcwFi+s/M /F6BreE7gRp24yYAbjQF8ZmQS/4E7Z5EYm18tte1jU6EVUDG7SaDSLS75V3JsEyHupkA uyDFv23hdzqftg908N67ngpJtRNzXDy/yCK6xlc/QO0idSmd7H9cRqxIkuwIuxDZ9fEc eQ4qpYBVc77G/56ZPLCvW8g9RrgisGuvK0LEASMuQ1PtVfhRWUMW1RRnCUs86yD5Y2U/ L+Kw== X-Received: by 10.60.20.7 with SMTP id j7mr19641103oee.40.1360847038853; Thu, 14 Feb 2013 05:03:58 -0800 (PST) MIME-Version: 1.0 Received: by 10.182.80.102 with HTTP; Thu, 14 Feb 2013 05:03:38 -0800 (PST) In-Reply-To: References: From: Jukka Zitting Date: Thu, 14 Feb 2013 15:03:38 +0200 Message-ID: Subject: Re: Add the #setHook method to the NodeStore? To: Oak devs Content-Type: text/plain; charset=ISO-8859-1 X-Virus-Checked: Checked by ClamAV on apache.org Hi, On Thu, Feb 14, 2013 at 1:13 PM, Alex Parvulescu wrote: > I'm wondering if we could promote the #setHook method to the NodeStore api? The intention so far has been to keep NodeStore functionally equivalent to the MicroKernel, i.e. just a higher-level wrapper that hides details like caching, JSOP processing and revision/path tracking. Adding commit hooks would notably change that. Ideally I'd see RootImpl instead of the underlying NodeStore applying the commit hooks. The implementation dependency to KernelNodeStore.setHook() is a hacky solution as you noticed. So until we figure out how to move hooks away from the NodeStore implementation, it probably does make sense to reflect that in the interface. However, instead of a setHook() method, I'd rather do this with an additional CommitHook argument to the merge() command, as that'll make it easier to later move the hook processing to RootImpl. BR, Jukka Zitting