From graffito-commits-return-795-apmail-incubator-graffito-commits-archive=www.apache.org@incubator.apache.org Wed Oct 18 22:01:36 2006 Return-Path: Delivered-To: apmail-incubator-graffito-commits-archive@www.apache.org Received: (qmail 42009 invoked from network); 18 Oct 2006 22:01:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 18 Oct 2006 22:01:35 -0000 Received: (qmail 41640 invoked by uid 500); 18 Oct 2006 22:01:35 -0000 Mailing-List: contact graffito-commits-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: graffito-dev@incubator.apache.org Delivered-To: mailing list graffito-commits@incubator.apache.org Received: (qmail 41628 invoked by uid 99); 18 Oct 2006 22:01:35 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (140.211.166.49) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Oct 2006 15:01:35 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [140.211.166.113] (HELO eris.apache.org) (140.211.166.113) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Oct 2006 15:01:34 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id A4DF71A981D; Wed, 18 Oct 2006 15:01:14 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r465390 - in /incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter: ProxyManager.java impl/ObjectConverterImpl.java impl/ProxyManager.java impl/ProxyManagerImpl.java Date: Wed, 18 Oct 2006 22:01:14 -0000 To: graffito-commits@incubator.apache.org From: clombart@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20061018220114.A4DF71A981D@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: clombart Date: Wed Oct 18 15:01:13 2006 New Revision: 465390 URL: http://svn.apache.org/viewvc?view=rev&rev=465390 Log: Give the possibility to replace the proxy manager (see GRFT-105) Added: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/ProxyManager.java (contents, props changed) - copied, changed from r448321, incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManagerImpl.java - copied, changed from r448321, incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java Removed: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java Modified: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ObjectConverterImpl.java Copied: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/ProxyManager.java (from r448321, incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java) URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/ProxyManager.java?view=diff&rev=465390&p1=incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java&r1=448321&p2=incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/ProxyManager.java&r2=465390 ============================================================================== --- incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java (original) +++ incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/ProxyManager.java Wed Oct 18 15:01:13 2006 @@ -1,67 +1,19 @@ -/* - * Copyright 2000-2005 The Apache Software Foundation. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package org.apache.portals.graffito.jcr.persistence.objectconverter.impl; +package org.apache.portals.graffito.jcr.persistence.objectconverter; import javax.jcr.Node; -import javax.jcr.RepositoryException; import javax.jcr.Session; -import net.sf.cglib.proxy.Enhancer; -import net.sf.cglib.proxy.LazyLoader; - -import org.apache.commons.logging.Log; -import org.apache.commons.logging.LogFactory; import org.apache.portals.graffito.jcr.mapper.model.CollectionDescriptor; import org.apache.portals.graffito.jcr.persistence.collectionconverter.CollectionConverter; -import org.apache.portals.graffito.jcr.persistence.collectionconverter.ManageableCollection; -import org.apache.portals.graffito.jcr.persistence.collectionconverter.ManageableCollectionUtil; -import org.apache.portals.graffito.jcr.persistence.objectconverter.ObjectConverter; - -public class ProxyManager { - - private final static Log log = LogFactory.getLog(ProxyManager.class); - - - public Object createBeanProxy(Session session, ObjectConverter objectConverter, Class beanClass, String path) - { - - try { - if (!session.itemExists(path)) { - return null; - } - } catch (RepositoryException e) { - throw new org.apache.portals.graffito.jcr.exception.RepositoryException( "Impossible to check,if the object exits on " + path, e); - } - - LazyLoader loader = new BeanLazyLoader(objectConverter, session, beanClass, path) ; - return Enhancer.create(beanClass, loader); - } - - - public Object createCollectionProxy(Session session, CollectionConverter collectionConverter, Node parentNode, CollectionDescriptor collectionDescriptor, Class collectionFieldClass) - { - - if (collectionConverter.isNull(session, parentNode, collectionDescriptor, collectionFieldClass)) { - return null; - } - - ManageableCollection manageableCollection = ManageableCollectionUtil.getManageableCollection(collectionFieldClass); - - LazyLoader loader = new CollectionLazyLoader(collectionConverter, session, parentNode, collectionDescriptor, collectionFieldClass); - return Enhancer.create(manageableCollection.getClass(), loader); - } -} + +public interface ProxyManager { + + public abstract Object createBeanProxy(Session session, + ObjectConverter objectConverter, Class beanClass, String path); + + public abstract Object createCollectionProxy(Session session, + CollectionConverter collectionConverter, Node parentNode, + CollectionDescriptor collectionDescriptor, + Class collectionFieldClass); + +} \ No newline at end of file Propchange: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/ProxyManager.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ObjectConverterImpl.java URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ObjectConverterImpl.java?view=diff&rev=465390&r1=465389&r2=465390 ============================================================================== --- incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ObjectConverterImpl.java (original) +++ incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ObjectConverterImpl.java Wed Oct 18 15:01:13 2006 @@ -52,6 +52,7 @@ import org.apache.portals.graffito.jcr.persistence.collectionconverter.impl.DefaultCollectionConverterImpl; import org.apache.portals.graffito.jcr.persistence.objectconverter.BeanConverter; import org.apache.portals.graffito.jcr.persistence.objectconverter.ObjectConverter; +import org.apache.portals.graffito.jcr.persistence.objectconverter.ProxyManager; import org.apache.portals.graffito.jcr.reflection.ReflectionUtils; import org.apache.portals.graffito.jcr.repository.RepositoryUtil; @@ -91,9 +92,23 @@ public ObjectConverterImpl(Mapper mapper, AtomicTypeConverterProvider converterProvider) { this.mapper = mapper; this.atomicTypeConverterProvider = converterProvider; - this.proxyManager = new ProxyManager(); + this.proxyManager = new ProxyManagerImpl(); } + /** + * Constructor + * + * @param mapper + * The mapper to used + * @param converterProvider + * The atomic type converter provider + * + */ + public ObjectConverterImpl(Mapper mapper, AtomicTypeConverterProvider converterProvider, ProxyManager proxyManager) { + this.mapper = mapper; + this.atomicTypeConverterProvider = converterProvider; + this.proxyManager = proxyManager; + } /** * Set the Mapper used to solve mappings. * Copied: incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManagerImpl.java (from r448321, incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java) URL: http://svn.apache.org/viewvc/incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManagerImpl.java?view=diff&rev=465390&p1=incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java&r1=448321&p2=incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManagerImpl.java&r2=465390 ============================================================================== --- incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManager.java (original) +++ incubator/graffito/trunk/jcr/jcr-mapping/src/java/org/apache/portals/graffito/jcr/persistence/objectconverter/impl/ProxyManagerImpl.java Wed Oct 18 15:01:13 2006 @@ -30,12 +30,17 @@ import org.apache.portals.graffito.jcr.persistence.collectionconverter.ManageableCollection; import org.apache.portals.graffito.jcr.persistence.collectionconverter.ManageableCollectionUtil; import org.apache.portals.graffito.jcr.persistence.objectconverter.ObjectConverter; +import org.apache.portals.graffito.jcr.persistence.objectconverter.ProxyManager; -public class ProxyManager { +public class ProxyManagerImpl implements ProxyManager +{ - private final static Log log = LogFactory.getLog(ProxyManager.class); + private final static Log log = LogFactory.getLog(ProxyManagerImpl.class); + /* (non-Javadoc) + * @see org.apache.portals.graffito.jcr.persistence.objectconverter.impl.ProxyManager#createBeanProxy(javax.jcr.Session, org.apache.portals.graffito.jcr.persistence.objectconverter.ObjectConverter, java.lang.Class, java.lang.String) + */ public Object createBeanProxy(Session session, ObjectConverter objectConverter, Class beanClass, String path) { @@ -52,6 +57,9 @@ } + /* (non-Javadoc) + * @see org.apache.portals.graffito.jcr.persistence.objectconverter.impl.ProxyManager#createCollectionProxy(javax.jcr.Session, org.apache.portals.graffito.jcr.persistence.collectionconverter.CollectionConverter, javax.jcr.Node, org.apache.portals.graffito.jcr.mapper.model.CollectionDescriptor, java.lang.Class) + */ public Object createCollectionProxy(Session session, CollectionConverter collectionConverter, Node parentNode, CollectionDescriptor collectionDescriptor, Class collectionFieldClass) {