Return-Path: Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: (qmail 29701 invoked from network); 13 Aug 2007 08:22:38 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 13 Aug 2007 08:22:38 -0000 Received: (qmail 66729 invoked by uid 500); 13 Aug 2007 08:22:35 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 66695 invoked by uid 500); 13 Aug 2007 08:22:35 -0000 Mailing-List: contact dev-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 dev@jackrabbit.apache.org Received: (qmail 66686 invoked by uid 99); 13 Aug 2007 08:22:35 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Aug 2007 01:22:35 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of fmeschbe@gmail.com designates 64.233.182.185 as permitted sender) Received: from [64.233.182.185] (HELO nf-out-0910.google.com) (64.233.182.185) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 13 Aug 2007 08:22:32 +0000 Received: by nf-out-0910.google.com with SMTP id g16so483227nfd for ; Mon, 13 Aug 2007 01:22:11 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:subject:from:to:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=U6rWGbYXDAFjD1cH/sx03OiNP0nx8/KGsXuE5cxtxS/kLY7Juxz2eIsdpRELR10LOF9n/2dyN0tHHm3GGJij0u0QKRzHj3cVCj0/hWQlOv/qSELGUrUSIYgJazx/hY0Ypyp9J7SG/rsmZBKAQZRGUkF1QEYzcSitoiFWZmCGDoo= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:subject:from:to:in-reply-to:references:content-type:date:message-id:mime-version:x-mailer:content-transfer-encoding; b=FFOo31WiDSj3ZWrlvXApDCbKAnt5xw7IlHcmq5HgT5XfLJKy9Yel35fXYOWINlnY6v8HG3x4qfEr416FWiQDPhPxdOkypFwz5yXv+JxHIiJK3FTphm7+zBLToPmq40LcW8k3LLxXphZ5kyKUIvLYFpsvWxYSd0gLrmtOo8lUCek= Received: by 10.86.49.13 with SMTP id w13mr4545970fgw.1186993331455; Mon, 13 Aug 2007 01:22:11 -0700 (PDT) Received: from ?10.0.0.73? ( [62.192.10.254]) by mx.google.com with ESMTPS id e32sm10910255fke.2007.08.13.01.22.08 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 13 Aug 2007 01:22:09 -0700 (PDT) Subject: Re: Nodetype reregistration and JackrabbitNodeTypeManager From: Felix Meschberger To: dev@jackrabbit.apache.org In-Reply-To: References: Content-Type: text/plain Date: Mon, 13 Aug 2007 10:22:00 +0200 Message-Id: <1186993320.3283.31.camel@bslm-046.corp.day.com> Mime-Version: 1.0 X-Mailer: Evolution 2.10.3 (2.10.3-2.fc7) Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked by ClamAV on apache.org Hi, I favour neither of both :-) I would favor a real node type management API, which would allow more fine grained control over the node type registration process (such an API will be coming with JCR 2). The Stream based (CND or XML) API is too clunky: I registers all or part or whatever node types in the file, it throws an exception, whose message must be decoded to try to find out what is actually going on. As a result, I like this method for simple first-time node type registration, but it does not suffice it for real-world node type management. So, I would rather like to see some transitional Jackrabbit API, which mimicks, what is currently proposed for JCR 2.0 and may later be easily migrated. Yes, I am in desperate need for real node type management, too :-) Regards Felix Am Samstag, den 11.08.2007, 22:06 +0200 schrieb Christoph Kiehl: > Hi, > > on the user list the question arose whether it is possible to reregister > node types via RMI. Currently JackrabbitNodeTypeManager doesn't expose > NodeTypeManagerImpl.registerNodeTypes(InputStream, String, boolean) > which allows to enable reregistration. > There are two options to implement this feature: > > 1. Extend JackrabbitNodeTypeManager with another method (might be the > signature from above or a "reregister()" methode) > 2. Change the default behaviour of > NodeTypeManagerImpl.registerNodeTypes(InputStream, String) to always try > to reregister node types. > > I'm in favour of option two because > > a) I don't want to add more methods to JackrabbitNodeTypeManager if > avoidable because node type registration will change anyway with JCR 2.0. > b) I think it's more natural. If I try to register a node type I do this > because I want this node type to be registered and not because I want to > check if it is already registered and get an exception back if it is. > There are other ways to find out if a node type is registered. Is there > any reason not just try to reregister existing nodetypes by default? > > Cheers, > Christoph >