Package org.apache.jackrabbit.ocm.manager.beanconverter

Examples of org.apache.jackrabbit.ocm.manager.beanconverter.BeanConverter


      {
        converterClassName = beanDescriptor.getConverter();
      }

      Object[] param = {this.mapper, this, this.atomicTypeConverterProvider};
      BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
      if (beanDescriptor.isProxy())
      {
        bean = proxyManager.createBeanProxy(session, this, beanClass, beanConverter.getPath(session, beanDescriptor, node));
      }
      else
      {
        bean = beanConverter.getObject(session, node, beanDescriptor,  mapper.getClassDescriptorByClass(beanClass), beanClass, bean);
      }
      requestObjectCache.cache(beanPath, bean);
      ReflectionUtils.setNestedProperty(object, beanName, bean);
    }
  }
View Full Code Here


        {
          converterClassName = beanDescriptor.getConverter();
        }

        Object[] param = {this.mapper, this, this.atomicTypeConverterProvider};
        BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
        beanConverter.insert(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(bean.getClass()), bean, classDescriptor, object);
      }
    }
  }
View Full Code Here

      {
        converterClassName = beanDescriptor.getConverter();
      }

      Object[] param = {this.mapper, this, this.atomicTypeConverterProvider };
      BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
      Class beanClass = ReflectionUtils.getPropertyType(object, beanDescriptor.getFieldName());
      // if the bean is null, remove existing node
      if ((bean == null))
      {

        beanConverter.remove(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(beanClass), bean, classDescriptor, object);

      } else
      {
        beanConverter.update(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(beanClass), bean, classDescriptor, object);
      }

    }
  }
View Full Code Here

      {
        converterClassName = beanDescriptor.getConverter();
      }

      Object[] param = {this.mapper, this, this.atomicTypeConverterProvider};
      BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
      if (beanDescriptor.isProxy())
      {
        if (beanDescriptor.getJcrType() != null && !"".equals(beanDescriptor.getJcrType())) {
          // If a mapped jcrType has been set, use it as proxy parent class instead of the bean property type.
          // This way, we can handle proxies when bean property type is an interface.
          try {
            String className = mapper.getClassDescriptorByNodeType(beanDescriptor.getJcrType()).getClassName();
            if (log.isDebugEnabled()) {
              log.debug("a mapped jcrType has been specified, switching from <" + beanClass + "> to <" + ReflectionUtils.forName(className));
            }
            beanClass = ReflectionUtils.forName(className);
         
          } catch (IncorrectPersistentClassException e) {
            if (log.isDebugEnabled()) {
              log.debug(beanDescriptor.getClassDescriptor().getJcrType() + " is not mapped");
            }
          }         
        }

        bean = proxyManager.createBeanProxy(beanConverter, beanConverter.getPath(session, beanDescriptor, node), session, node, beanDescriptor,  mapper.getClassDescriptorByClass(beanClass), beanClass, bean);
      }
      else
      {
        bean = beanConverter.getObject(session, node, beanDescriptor,  mapper.getClassDescriptorByClass(beanClass), beanClass, bean);
      }
      requestObjectCache.cache(beanPath, bean);
      ReflectionUtils.setNestedProperty(object, beanName, bean);
    }
  }
View Full Code Here

        {
          converterClassName = beanDescriptor.getConverter();
        }

        Object[] param = {this.mapper, this, this.atomicTypeConverterProvider};
        BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
        beanConverter.insert(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(bean.getClass()), bean, classDescriptor, object);
      }
    }
  }
View Full Code Here

      {
        converterClassName = beanDescriptor.getConverter();
      }

      Object[] param = {this.mapper, this, this.atomicTypeConverterProvider };
      BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
      Class beanClass = ReflectionUtils.getPropertyType(object, beanDescriptor.getFieldName());
      // if the bean is null, remove existing node
      if ((bean == null))
      {

        beanConverter.remove(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(beanClass), bean, classDescriptor, object);

      } else
      {
        beanConverter.update(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(beanClass), bean, classDescriptor, object);
      }

    }
  }
View Full Code Here

      {
        converterClassName = beanDescriptor.getConverter();
      }

      Object[] param = {this.mapper, this, this.atomicTypeConverterProvider};
      BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
      if (beanDescriptor.isProxy())
      {
        if (beanDescriptor.getJcrType() != null && !"".equals(beanDescriptor.getJcrType())) {
          // If a mapped jcrType has been set, use it as proxy parent class instead of the bean property type.
          // This way, we can handle proxies when bean property type is an interface.
          try {
            String className = mapper.getClassDescriptorByNodeType(beanDescriptor.getJcrType()).getClassName();
            if (log.isDebugEnabled()) {
              log.debug("a mapped jcrType has been specified, switching from <" + beanClass + "> to <" + ReflectionUtils.forName(className));
            }
            beanClass = ReflectionUtils.forName(className);
         
          } catch (IncorrectPersistentClassException e) {
            if (log.isDebugEnabled()) {
              log.debug(beanDescriptor.getClassDescriptor().getJcrType() + " is not mapped");
            }
          }         
        }

        bean = proxyManager.createBeanProxy(beanConverter, beanConverter.getPath(session, beanDescriptor, node), session, node, beanDescriptor,  mapper.getClassDescriptorByClass(beanClass), beanClass, bean);
      }
      else
      {
        bean = beanConverter.getObject(session, node, beanDescriptor,  mapper.getClassDescriptorByClass(beanClass), beanClass, bean);
      }
      requestObjectCache.cache(beanPath, bean);
      ReflectionUtils.setNestedProperty(object, beanName, bean);
    }
  }
View Full Code Here

        {
          converterClassName = beanDescriptor.getConverter();
        }

        Object[] param = {this.mapper, this, this.atomicTypeConverterProvider};
        BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
        beanConverter.insert(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(bean.getClass()), bean, classDescriptor, object);
      }
    }
  }
View Full Code Here

      {
        converterClassName = beanDescriptor.getConverter();
      }

      Object[] param = {this.mapper, this, this.atomicTypeConverterProvider };
      BeanConverter beanConverter = (BeanConverter) ReflectionUtils.invokeConstructor(converterClassName, param);
      Class beanClass = ReflectionUtils.getPropertyType(object, beanDescriptor.getFieldName());
      // if the bean is null, remove existing node
      if ((bean == null))
      {

        beanConverter.remove(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(beanClass), bean, classDescriptor, object);

      } else
      {
        beanConverter.update(session, objectNode, beanDescriptor, mapper.getClassDescriptorByClass(beanClass), bean, classDescriptor, object);
      }

    }
  }
View Full Code Here

TOP

Related Classes of org.apache.jackrabbit.ocm.manager.beanconverter.BeanConverter

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.