diff --git a/hibernate-core/src/main/java/org/hibernate/collection/internal/PersistentElementHolder.java b/hibernate-core/src/main/java/org/hibernate/collection/internal/PersistentElementHolder.java deleted file mode 100755 index ac17c05815..0000000000 --- a/hibernate-core/src/main/java/org/hibernate/collection/internal/PersistentElementHolder.java +++ /dev/null @@ -1,261 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * License: GNU Lesser General Public License (LGPL), version 2.1 or later. - * See the lgpl.txt file in the root directory or . - */ -package org.hibernate.collection.internal; - -import java.io.Serializable; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.Iterator; -import java.util.List; - -import org.hibernate.AssertionFailure; -import org.hibernate.HibernateException; -import org.hibernate.engine.spi.SessionImplementor; -import org.hibernate.loader.CollectionAliases; -import org.hibernate.persister.collection.CollectionPersister; -import org.hibernate.type.Type; - -import org.dom4j.Element; - -/** - * A persistent wrapper for an XML element - * - * @author Gavin King - * - * - * @deprecated To be removed in 5. Removed as part of removing the notion of DOM entity-mode. See Jira issues - * HHH-7782 and - * HHH-7783 for more information. - */ -@Deprecated -@SuppressWarnings("UnusedDeclaration") -public class PersistentElementHolder extends AbstractPersistentCollection { - protected Element element; - - /** - * Constructs a PersistentElementHolder - * - * @param session The session - * @param element The DOM element - */ - @SuppressWarnings("UnusedDeclaration") - public PersistentElementHolder(SessionImplementor session, Element element) { - super( session ); - this.element = element; - setInitialized(); - } - - /** - * Constructs a PersistentElementHolder - * - * @param session The session - * @param persister The collection persister - * @param key The collection key (the fk value) - */ - @SuppressWarnings("UnusedDeclaration") - public PersistentElementHolder(SessionImplementor session, CollectionPersister persister, Serializable key) { - super( session ); - final Element owner = (Element) session.getPersistenceContext().getCollectionOwner( key, persister ); - if ( owner == null ) { - throw new AssertionFailure("null owner"); - } - - final String nodeName = persister.getNodeName(); - if ( ".".equals( nodeName ) ) { - element = owner; - } - else { - element = owner.element( nodeName ); - if ( element == null ) { - element = owner.addElement( nodeName ); - } - } - } - - @Override - @SuppressWarnings({"unchecked", "deprecation"}) - public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { - final Type elementType = persister.getElementType(); - final List subElements = element.elements( persister.getElementNodeName() ); - final ArrayList snapshot = new ArrayList( subElements.size() ); - for ( Object subElement : subElements ) { - final Element element = (Element) subElement; - final Object value = elementType.fromXMLNode( element, persister.getFactory() ); - final Object copy = elementType.deepCopy( value, persister.getFactory() ); - snapshot.add( copy ); - } - return snapshot; - - } - - @Override - public Collection getOrphans(Serializable snapshot, String entityName) { - //orphan delete not supported for EntityMode.DOM4J - return Collections.EMPTY_LIST; - } - - @Override - public boolean isWrapper(Object collection) { - return element == collection; - } - - @Override - @SuppressWarnings("deprecation") - public boolean equalsSnapshot(CollectionPersister persister) throws HibernateException { - final Type elementType = persister.getElementType(); - final ArrayList snapshot = (ArrayList) getSnapshot(); - final List elements = element.elements( persister.getElementNodeName() ); - if ( snapshot.size() != elements.size() ) { - return false; - } - for ( int i=0; i= elements.size() ) { - result.add( old ); - } - else { - final Element elem = (Element) elements.get( i ); - final Object object = elementType.fromXMLNode( elem, persister.getFactory() ); - if ( elementType.isDirty( old, object, getSession() ) ) { - result.add( old ); - } - } - } - return result.iterator(); - } - - @Override - public boolean needsInserting(Object entry, int i, Type elementType) throws HibernateException { - final ArrayList snapshot = (ArrayList) getSnapshot(); - return i >= snapshot.size() - || elementType.isDirty( snapshot.get( i ), entry, getSession() ); - } - - @Override - public boolean needsUpdating(Object entry, int i, Type elementType) throws HibernateException { - return false; - } - - @Override - public Object getIndex(Object entry, int i, CollectionPersister persister) { - throw new UnsupportedOperationException(); - } - - @Override - public Object getElement(Object entry) { - return entry; - } - - @Override - public Object getSnapshotElement(Object entry, int i) { - throw new UnsupportedOperationException(); - } - - @Override - public boolean entryExists(Object entry, int i) { - return entry!=null; - } -} diff --git a/hibernate-core/src/main/java/org/hibernate/collection/internal/PersistentIndexedElementHolder.java b/hibernate-core/src/main/java/org/hibernate/collection/internal/PersistentIndexedElementHolder.java deleted file mode 100755 index 0fbeae3165..0000000000 --- a/hibernate-core/src/main/java/org/hibernate/collection/internal/PersistentIndexedElementHolder.java +++ /dev/null @@ -1,283 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * License: GNU Lesser General Public License (LGPL), version 2.1 or later. - * See the lgpl.txt file in the root directory or . - */ -package org.hibernate.collection.internal; - -import java.io.Serializable; -import java.sql.ResultSet; -import java.sql.SQLException; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Collections; -import java.util.HashMap; -import java.util.Iterator; -import java.util.List; -import java.util.Map; - -import org.hibernate.AssertionFailure; -import org.hibernate.HibernateException; -import org.hibernate.engine.spi.SessionFactoryImplementor; -import org.hibernate.engine.spi.SessionImplementor; -import org.hibernate.loader.CollectionAliases; -import org.hibernate.persister.collection.CollectionPersister; -import org.hibernate.type.StringRepresentableType; -import org.hibernate.type.Type; - -import org.dom4j.Element; - -/** - * A persistent wrapper for an XML element - * - * @author Gavin King - * - * @deprecated To be removed in 5. Removed as part of removing the notion of DOM entity-mode. See Jira issues - * HHH-7782 and - * HHH-7783 for more information. - */ -@Deprecated -public abstract class PersistentIndexedElementHolder extends AbstractPersistentCollection { - protected Element element; - - /** - * Constructs a PersistentIndexedElementHolder. - * - * @param session The session - * @param element The DOM element being wrapped - */ - public PersistentIndexedElementHolder(SessionImplementor session, Element element) { - super( session ); - this.element = element; - setInitialized(); - } - - /** - * Constructs a PersistentIndexedElementHolder. - * - * @param session The session - * @param persister The collection persister - * @param key The collection key (fk value)@throws HibernateException - */ - public PersistentIndexedElementHolder(SessionImplementor session, CollectionPersister persister, Serializable key) { - super( session ); - final Element owner = (Element) session.getPersistenceContext().getCollectionOwner( key, persister ); - if ( owner == null ) { - throw new AssertionFailure( "null owner" ); - } - - final String nodeName = persister.getNodeName(); - if ( ".".equals( nodeName ) ) { - element = owner; - } - else { - element = owner.element( nodeName ); - if ( element == null ) { - element = owner.addElement( nodeName ); - } - } - } - - /** - * A struct representing the index/value pair. - */ - public static final class IndexedValue { - final String index; - final Object value; - - IndexedValue(String index, Object value) { - this.index = index; - this.value = value; - } - } - - protected static String getIndex(Element element, String indexNodeName, int i) { - if ( indexNodeName != null ) { - return element.attributeValue( indexNodeName ); - } - else { - return Integer.toString( i ); - } - } - - protected static void setIndex(Element element, String indexNodeName, String index) { - if ( indexNodeName != null ) { - element.addAttribute( indexNodeName, index ); - } - } - - protected static String getIndexAttributeName(CollectionPersister persister) { - final String node = persister.getIndexNodeName(); - return node == null ? null : node.substring( 1 ); - } - - @Override - @SuppressWarnings({"unchecked", "deprecation"}) - public Serializable getSnapshot(CollectionPersister persister) throws HibernateException { - final Type elementType = persister.getElementType(); - final String indexNode = getIndexAttributeName( persister ); - final List elements = element.elements( persister.getElementNodeName() ); - final HashMap snapshot = new HashMap( elements.size() ); - for ( int i=0; i. - */ -package org.hibernate.collection.internal; - -import java.io.Serializable; -import java.util.List; - -import org.hibernate.HibernateException; -import org.hibernate.engine.spi.SessionImplementor; -import org.hibernate.persister.collection.CollectionPersister; -import org.hibernate.type.IntegerType; -import org.hibernate.type.Type; - -import org.dom4j.Element; - -/** - * Wraps a collection of DOM sub-elements as a List - * - * @author Gavin King - * - * @deprecated To be removed in 5. Removed as part of removing the notion of DOM entity-mode. See Jira issues - * HHH-7782 and - * HHH-7783 for more information. - */ -@Deprecated -@SuppressWarnings({"UnusedDeclaration", "deprecation"}) -public class PersistentListElementHolder extends PersistentIndexedElementHolder { - - /** - * Constructs a PersistentListElementHolder. - * - * @param session The session - * @param element The owning DOM element - */ - @SuppressWarnings("UnusedDeclaration") - public PersistentListElementHolder(SessionImplementor session, Element element) { - super( session, element ); - } - - /** - * Constructs a PersistentListElementHolder. - * - * @param session The session - * @param persister The collection persister - * @param key The collection key (fk value) - */ - @SuppressWarnings("UnusedDeclaration") - public PersistentListElementHolder(SessionImplementor session, CollectionPersister persister, Serializable key) { - super( session, persister, key ); - } - - @Override - @SuppressWarnings("deprecation") - public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) - throws HibernateException { - final Type elementType = persister.getElementType(); - final String indexNodeName = getIndexAttributeName( persister ); - final Serializable[] cached = (Serializable[]) disassembled; - for ( int i=0; i. - */ -package org.hibernate.collection.internal; - -import java.io.Serializable; -import java.util.List; - -import org.hibernate.HibernateException; -import org.hibernate.engine.spi.SessionImplementor; -import org.hibernate.persister.collection.CollectionPersister; -import org.hibernate.type.StringRepresentableType; -import org.hibernate.type.Type; - -import org.dom4j.Element; - -/** - * Wraps a collection of DOM sub-elements as a Map - * - * @author Gavin King - * - * @deprecated To be removed in 5. Removed as part of removing the notion of DOM entity-mode. See Jira issues - * HHH-7782 and - * HHH-7783 for more information. - */ -@SuppressWarnings({"UnusedDeclaration", "deprecation"}) -@Deprecated -public class PersistentMapElementHolder extends PersistentIndexedElementHolder { - - /** - * Constructs a PersistentMapElementHolder. - * - * @param session The session - * @param element The owning DOM element - */ - public PersistentMapElementHolder(SessionImplementor session, Element element) { - super( session, element ); - } - - /** - * Constructs a PersistentMapElementHolder. - * - * @param session The session - * @param persister The collection persister - * @param key The collection key (fk value) - */ - public PersistentMapElementHolder(SessionImplementor session, CollectionPersister persister, Serializable key) { - super( session, persister, key ); - } - - @Override - @SuppressWarnings("unchecked") - public void initializeFromCache(CollectionPersister persister, Serializable disassembled, Object owner) { - final Type elementType = persister.getElementType(); - final Type indexType = persister.getIndexType(); - final String indexNodeName = getIndexAttributeName( persister ); - - final Serializable[] cached = (Serializable[]) disassembled; - int i = 0; - while ( i < cached.length ) { - final Object index = indexType.assemble( cached[i++], getSession(), owner ); - final Object object = elementType.assemble( cached[i++], getSession(), owner ); - - final Element subElement = element.addElement( persister.getElementNodeName() ); - elementType.setToXMLNode( subElement, object, persister.getFactory() ); - - final String indexString = ( (StringRepresentableType) indexType ).toString( index ); - setIndex( subElement, indexNodeName, indexString ); - } - } - - @Override - @SuppressWarnings("unchecked") - public Serializable disassemble(CollectionPersister persister) throws HibernateException { - final Type elementType = persister.getElementType(); - final Type indexType = persister.getIndexType(); - final String indexNodeName = getIndexAttributeName( persister ); - - final List elements = element.elements( persister.getElementNodeName() ); - final int length = elements.size(); - final Serializable[] result = new Serializable[length*2]; - int i = 0; - while ( i < length*2 ) { - final Element elem = (Element) elements.get( i/2 ); - final Object object = elementType.fromXMLNode( elem, persister.getFactory() ); - final String indexString = getIndex( elem, indexNodeName, i ); - final Object index = ( (StringRepresentableType) indexType ).fromStringValue( indexString ); - result[i++] = indexType.disassemble( index, getSession(), null ); - result[i++] = elementType.disassemble( object, getSession(), null ); - } - return result; - } -}