Return-Path: Delivered-To: apmail-avalon-dev-archive@www.apache.org Received: (qmail 24364 invoked from network); 15 Feb 2004 14:35:39 -0000 Received: from daedalus.apache.org (HELO mail.apache.org) (208.185.179.12) by minotaur-2.apache.org with SMTP; 15 Feb 2004 14:35:39 -0000 Received: (qmail 69749 invoked by uid 500); 15 Feb 2004 14:35:33 -0000 Delivered-To: apmail-avalon-dev-archive@avalon.apache.org Received: (qmail 69714 invoked by uid 500); 15 Feb 2004 14:35:33 -0000 Mailing-List: contact dev-help@avalon.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Avalon Developers List" Reply-To: "Avalon Developers List" Delivered-To: mailing list dev@avalon.apache.org Received: (qmail 69696 invoked from network); 15 Feb 2004 14:35:33 -0000 Received: from unknown (HELO moutng.kundenserver.de) (212.227.126.187) by daedalus.apache.org with SMTP; 15 Feb 2004 14:35:33 -0000 Received: from [212.227.126.162] (helo=mrelayng.kundenserver.de) by moutng.kundenserver.de with esmtp (Exim 3.35 #1) id 1AsNMs-0000Yr-00 for dev@avalon.apache.org; Sun, 15 Feb 2004 15:35:34 +0100 Received: from [80.128.225.36] (helo=lappydevelop) by mrelayng.kundenserver.de with asmtp (Exim 3.35 #1) id 1AsNMr-0000f4-00 for dev@avalon.apache.org; Sun, 15 Feb 2004 15:35:34 +0100 Reply-To: From: "andreas oberhack" To: "'Avalon Developers List'" Subject: RE: DefaultCriteria Date: Sun, 15 Feb 2004 15:35:25 +0100 Organization: Softwarefabrik GmbH Message-ID: <011f01c3f3d0$f9069090$0200a8c0@lappydevelop> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Priority: 3 (Normal) X-MSMail-Priority: Normal X-Mailer: Microsoft Outlook, Build 10.0.2616 In-Reply-To: <402F5D2A.3010607@apache.org> Importance: Normal X-MimeOLE: Produced By Microsoft MimeOLE V6.00.2600.0000 X-Provags-ID: kundenserver.de abuse@kundenserver.de auth:5102b73a86b6706ccde2d2543a8a3759 X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: minotaur-2.apache.org 1.6.2 0/1000/N Wow!! Thanks for the very detailed answer! > > Multipart answer ... > > First off - kernel.xml versus a chain of property files. The reason is > that the properties model and the kernel configuration are dealing with > two different abstractions. > ok. > > However - some comments on the current implementation: > > * currently we have avalon.properties in use by repo and > merlin.properties in use by merlin - these need to be > consolidated down to a single chain which in turn will > simplify code dealing with property aggregation > > * currently we have multiple install locations - avalon > repo uses ${avalon.home} and merlin uses ${merlin.home} > - this needs to be refactored such that we have a single > install home - which in turn means a single anchor to > the property chain (which is partly in place under 3.3) > > * code dealing with property aggregation is based on the > avalon util defaults package - however lots of bits of > code exist in different systems doing higher level > chain building - in effect a higher level properties builder > needs to be added to the defaults package that specifically > deals with chain building relative to the following: > > I think that within an IDE the default property values need to be > consolidated down to the presentation of the following views: > > * installation (taking into account static properties, env > symbol resolution and the root application properties file) > > * user properties (located in ${user.dir} and overriding > definitions from the installation) > > * dir properties (located in an application defined working > directory - e.g. ${merlin.dir} and overriding user properties > > * system properties (from the jvm representing properties that > exists relative to an instance of the application and override > the dir properties) > > Anyway - the important thing is that both the IDE and the Merlin factory > criteria code are using the same mechanisms to establish values. This is what I have already done. I'm using Merlins code to resolve all the properties - which works fine. The problem here is, that within MerlinDeveloper I'm not only reading the properties but also updating them. That means, that I have to match back changed values to the appropriate property files, which is not done right now by the code. > I > think we achieve this with the following: > > * a generalized installation properties builder > * a generalized property chain builder > > From here - the existing criteria/factory classes in merlin, repo, > logging, and runtime can be refactored to use these utilities and we can > apply the same solutions inside the IDE. > > How does this sound? Great! We should integrate "write/update" capabilities to those builders too. But how to go from here? On one side, I would like to get the functionality in MerlinDeveloper as fast as possible done and on the other hand I would like to see this area worked out cleanly. Hm - What is your priority on this item? Would you go with me through the requirements and design so that I could implement the stuff? Thanks again for your detailed answer! Andreas --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscribe@avalon.apache.org For additional commands, e-mail: dev-help@avalon.apache.org