public Object updateEntity(AttributedType attributedType, EntityManager entityManager) { Object entityInstance = getEntityInstance(attributedType, entityManager); if (entityInstance != null) { if (List.class.isInstance(entityInstance)) { List attributes = (List) entityInstance; if (AttributeList.class.isInstance(entityInstance)) { Iterator originalIterator = ((AttributeList) attributes).getOriginalList().iterator(); while (originalIterator.hasNext()) { Object attribute = originalIterator.next(); if (!attributes.contains(attribute)) { entityManager.remove(attribute); } } } Iterator iterator = attributes.iterator(); while (iterator.hasNext()) { updateEntity(attributedType, iterator.next(), entityManager); } } else { updateEntity(attributedType, entityInstance, entityManager); } } return entityInstance; }
instances = new AttributeList();
instances = new AttributeList();
public Object updateEntity(AttributedType attributedType, EntityManager entityManager) { Object entityInstance = getEntityInstance(attributedType, entityManager); if (entityInstance != null) { if (List.class.isInstance(entityInstance)) { List attributes = (List) entityInstance; if (AttributeList.class.isInstance(entityInstance)) { Iterator originalIterator = ((AttributeList) attributes).getOriginalList().iterator(); while (originalIterator.hasNext()) { Object attribute = originalIterator.next(); if (!attributes.contains(attribute)) { entityManager.remove(attribute); } } } Iterator iterator = attributes.iterator(); while (iterator.hasNext()) { updateEntity(attributedType, iterator.next(), entityManager); } } else { updateEntity(attributedType, entityInstance, entityManager); } } return entityInstance; }