private void insertBeanFields()

in src/main/java/org/apache/jackrabbit/ocm/manager/objectconverter/impl/ObjectConverterImpl.java [762:790]


	private void insertBeanFields(Session session, Object object, ClassDescriptor classDescriptor, Node objectNode) {
		Iterator beanDescriptorIterator = classDescriptor.getBeanDescriptors().iterator();
		while (beanDescriptorIterator.hasNext()) {
			BeanDescriptor beanDescriptor = (BeanDescriptor) beanDescriptorIterator.next();

			if (!beanDescriptor.isAutoInsert()) {
				continue;
			}

			Object bean = ReflectionUtils.getNestedProperty(object, beanDescriptor.getFieldName());
			if (bean != null)
			{
				String converterClassName = null;

				if (null == beanDescriptor.getConverter() || "".equals(beanDescriptor.getConverter()))
				{
					converterClassName = DEFAULT_BEAN_CONVERTER;
				}
				else
				{
					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);
			}
		}
	}