/** * Constructor * * @param mapper * The mapper to used * @param converterProvider * The atomic type converter provider * */ public ObjectConverterImpl(Mapper mapper, AtomicTypeConverterProvider converterProvider) { this.mapper = mapper; this.atomicTypeConverterProvider = converterProvider; this.proxyManager = new ProxyManagerImpl(); this.simpleFieldsHelp = new SimpleFieldsHelper(atomicTypeConverterProvider); this.requestObjectCache = new RequestObjectCacheImpl(); }
/** * @see org.apache.jackrabbit.ocm.manager.objectconverter.ProxyManager#createCollectionProxy(javax.jcr.Session, * org.apache.jackrabbit.ocm.manager.collectionconverter.CollectionConverter, * javax.jcr.Node, * org.apache.jackrabbit.ocm.mapper.model.CollectionDescriptor, * java.lang.Class) */ public Object createCollectionProxy(Session session, CollectionConverter collectionConverter, Node parentNode, CollectionDescriptor collectionDescriptor, Class collectionFieldClass) { if (collectionConverter.isNull(session, parentNode, collectionDescriptor, collectionFieldClass)) { return null; } Callback loader = new CollectionLazyLoader(collectionConverter, session, parentNode, collectionDescriptor, collectionFieldClass); return Enhancer.create(collectionFieldClass, getInterfaces(collectionFieldClass), loader); }
/** * Constructor * * @param mapper * The mapper to used * @param converterProvider * The atomic type converter provider * */ public ObjectConverterImpl(Mapper mapper, AtomicTypeConverterProvider converterProvider) { this.mapper = mapper; this.atomicTypeConverterProvider = converterProvider; this.proxyManager = new ProxyManagerImpl(); this.simpleFieldsHelp = new SimpleFieldsHelper(atomicTypeConverterProvider); this.requestObjectCache = new RequestObjectCacheImpl(); }
/** * @see org.apache.jackrabbit.ocm.manager.objectconverter.ProxyManager#createCollectionProxy(javax.jcr.Session, * org.apache.jackrabbit.ocm.manager.collectionconverter.CollectionConverter, * javax.jcr.Node, * org.apache.jackrabbit.ocm.mapper.model.CollectionDescriptor, * java.lang.Class) */ public Object createCollectionProxy(Session session, CollectionConverter collectionConverter, Node parentNode, CollectionDescriptor collectionDescriptor, Class collectionFieldClass) { if (collectionConverter.isNull(session, parentNode, collectionDescriptor, collectionFieldClass)) { return null; } Callback loader = new CollectionLazyLoader(collectionConverter, session, parentNode, collectionDescriptor, collectionFieldClass); return Enhancer.create(collectionFieldClass, getInterfaces(collectionFieldClass), loader); }
/** * @see org.apache.sling.jcr.ocm.ObjectContentManagerFactory#getObjectContentManager(javax.jcr.Session) */ public ObjectContentManager getObjectContentManager(Session session) { ValueFactory valueFactory; try { valueFactory = session.getValueFactory(); } catch (RepositoryException re) { log.info( "getObjectContentManager: Cannot get ValueFactory from Session (" + session.getUserID() + "), using default factory", re); valueFactory = ValueFactoryImpl.getInstance(); } ObjectCache objectCache = new ObservingObjectCache(session); QueryManager queryManager = new QueryManagerImpl(mapper, converterProvider.getAtomicTypeConverters(), valueFactory); ObjectConverter objectConverter = new ObjectConverterImpl(mapper, converterProvider, new ProxyManagerImpl(), objectCache); return new ObjectContentManagerImpl(mapper, objectConverter, queryManager, objectCache, session); }
/** * @see org.apache.jackrabbit.ocm.manager.objectconverter.ProxyManager#createBeanProxy(javax.jcr.Session, * org.apache.jackrabbit.ocm.manager.objectconverter.ObjectConverter, * java.lang.Class, java.lang.String) */ public Object createBeanProxy(BeanConverter beanConverter, String path, Session session, Node parentNode, BeanDescriptor beanDescriptor, ClassDescriptor beanClassDescriptor, Class beanClass, Object parent) { try { if (path == null || !session.itemExists(path)) { return null; } } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to check,if the object exits on " + path, e); } Callback loader = new BeanLazyLoader(beanConverter, session, parentNode, beanDescriptor, beanClassDescriptor, beanClass, parent); return Enhancer.create(beanClass, getInterfaces(beanClass), loader); }
public static ObjectContentManager createObjectContentManager(Session session, Mapper mapper, ObjectCache requestObjectCache) { try { DefaultAtomicTypeConverterProvider converterProvider = new DefaultAtomicTypeConverterProvider(); Map atomicTypeConverters = converterProvider.getAtomicTypeConverters(); QueryManager queryManager = new HstQueryManagerImpl(mapper, atomicTypeConverters, session.getValueFactory()); ProxyManager proxyManager = new ProxyManagerImpl(); if (requestObjectCache == null) { requestObjectCache = new NOOPObjectCache(); } ObjectConverter objectConverter = new HstObjectConverterImpl(mapper, converterProvider, proxyManager, requestObjectCache); return new ObjectContentManagerImpl(mapper, objectConverter, queryManager, requestObjectCache, session); } catch (UnsupportedRepositoryOperationException e) { throw new RuntimeException(e); } catch (RepositoryException e) { throw new RuntimeException(e); } }
/** * @see org.apache.jackrabbit.ocm.manager.objectconverter.ProxyManager#createBeanProxy(javax.jcr.Session, * org.apache.jackrabbit.ocm.manager.objectconverter.ObjectConverter, * java.lang.Class, java.lang.String) */ public Object createBeanProxy(BeanConverter beanConverter, String path, Session session, Node parentNode, BeanDescriptor beanDescriptor, ClassDescriptor beanClassDescriptor, Class beanClass, Object parent) { try { if (path == null || !session.itemExists(path)) { return null; } } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to check,if the object exits on " + path, e); } Callback loader = new BeanLazyLoader(beanConverter, session, parentNode, beanDescriptor, beanClassDescriptor, beanClass, parent); return Enhancer.create(beanClass, getInterfaces(beanClass), loader); }
/** * Creates a new <code>ObjectContentManager</code> that uses the passed in * <code>Mapper</code>, and a <code>Session</code> * * @param mapper * the Mapper component * @param session * The JCR session */ public ObjectContentManagerImpl(Session session, Mapper mapper) { try { this.session = session; this.mapper = mapper; // Use default setting for the following dependencies DefaultAtomicTypeConverterProvider converterProvider = new DefaultAtomicTypeConverterProvider(); Map atomicTypeConverters = converterProvider.getAtomicTypeConverters(); this.queryManager = new QueryManagerImpl(mapper, atomicTypeConverters, session.getValueFactory()); this.requestObjectCache = new RequestObjectCacheImpl(); this.objectConverter = new ObjectConverterImpl(mapper, converterProvider, new ProxyManagerImpl(), requestObjectCache); } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to instantiate the object content manager", e); } }
/** * Creates a new <code>ObjectContentManager</code> that uses the passed in * <code>Mapper</code>, and a <code>Session</code> * * @param mapper * the Mapper component * @param session * The JCR session */ public ObjectContentManagerImpl(Session session, Mapper mapper) { try { this.session = session; this.mapper = mapper; // Use default setting for the following dependencies DefaultAtomicTypeConverterProvider converterProvider = new DefaultAtomicTypeConverterProvider(); Map atomicTypeConverters = converterProvider.getAtomicTypeConverters(); this.queryManager = new QueryManagerImpl(mapper, atomicTypeConverters, session.getValueFactory()); this.requestObjectCache = new RequestObjectCacheImpl(); this.objectConverter = new ObjectConverterImpl(mapper, converterProvider, new ProxyManagerImpl(), requestObjectCache); } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to instantiate the object content manager", e); } }
/** * Creates a new <code>ObjectContentManager</code> based on a JCR session * and some xml mapping files. * * @param session * The JCR session * @param xmlMappingFiles * the JCR mapping files used mainly to create the * <code>Mapper</code> component */ public ObjectContentManagerImpl(Session session, InputStream[] xmlMappingFiles) { try { this.session = session; this.mapper = new DigesterMapperImpl(xmlMappingFiles); DefaultAtomicTypeConverterProvider converterProvider = new DefaultAtomicTypeConverterProvider(); Map atomicTypeConverters = converterProvider.getAtomicTypeConverters(); this.queryManager = new QueryManagerImpl(mapper, atomicTypeConverters, session.getValueFactory()); this.requestObjectCache = new RequestObjectCacheImpl(); this.objectConverter = new ObjectConverterImpl(mapper, converterProvider, new ProxyManagerImpl(), requestObjectCache); } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to instantiate the object content manager", e); } }
/** * Creates a new <code>ObjectContentManager</code> based on a JCR session * and some xml mapping files. * * @param session * The JCR session * @param xmlMappingFiles * the JCR mapping files used mainly to create the * <code>Mapper</code> component */ public ObjectContentManagerImpl(Session session, InputStream[] xmlMappingFiles) { try { this.session = session; this.mapper = new DigesterMapperImpl(xmlMappingFiles); DefaultAtomicTypeConverterProvider converterProvider = new DefaultAtomicTypeConverterProvider(); Map atomicTypeConverters = converterProvider.getAtomicTypeConverters(); this.queryManager = new QueryManagerImpl(mapper, atomicTypeConverters, session.getValueFactory()); this.requestObjectCache = new RequestObjectCacheImpl(); this.objectConverter = new ObjectConverterImpl(mapper, converterProvider, new ProxyManagerImpl(), requestObjectCache); } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to instantiate the object content manager", e); } }
/** * Creates a new <code>ObjectContentManager</code> based on a JCR session * and some xml mapping files. * * @param session * The JCR session * @param xmlMappingFiles * the JCR mapping files used mainly to create the * <code>Mapper</code> component */ public ObjectContentManagerImpl(Session session, String[] xmlMappingFiles) { try { this.session = session; this.mapper = new DigesterMapperImpl(xmlMappingFiles); DefaultAtomicTypeConverterProvider converterProvider = new DefaultAtomicTypeConverterProvider(); Map atomicTypeConverters = converterProvider.getAtomicTypeConverters(); this.queryManager = new QueryManagerImpl(mapper, atomicTypeConverters, session.getValueFactory()); this.requestObjectCache = new RequestObjectCacheImpl(); this.objectConverter = new ObjectConverterImpl(mapper, converterProvider, new ProxyManagerImpl(), requestObjectCache); } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to instantiate the object content manager", e); } }
/** * Creates a new <code>ObjectContentManager</code> based on a JCR session * and some xml mapping files. * * @param session * The JCR session * @param xmlMappingFiles * the JCR mapping files used mainly to create the * <code>Mapper</code> component */ public ObjectContentManagerImpl(Session session, String[] xmlMappingFiles) { try { this.session = session; this.mapper = new DigesterMapperImpl(xmlMappingFiles); DefaultAtomicTypeConverterProvider converterProvider = new DefaultAtomicTypeConverterProvider(); Map atomicTypeConverters = converterProvider.getAtomicTypeConverters(); this.queryManager = new QueryManagerImpl(mapper, atomicTypeConverters, session.getValueFactory()); this.requestObjectCache = new RequestObjectCacheImpl(); this.objectConverter = new ObjectConverterImpl(mapper, converterProvider, new ProxyManagerImpl(), requestObjectCache); } catch (RepositoryException e) { throw new org.apache.jackrabbit.ocm.exception.RepositoryException("Impossible to instantiate the object content manager", e); } }