From 8b7091e1c74b233d8bafdc961c501857de26df77 Mon Sep 17 00:00:00 2001 From: Steve Ebersole Date: Tue, 12 Mar 2013 10:57:25 -0500 Subject: [PATCH] HHH-7841 - Redesign Loader --- .../internal/ResultSetProcessorImpl.java | 8 +++++--- ...a => ScrollableResultSetProcessorImpl.java} | 8 ++++---- .../loader/spi/ResultSetProcessor.java | 2 +- ....java => ScrollableResultSetProcessor.java} | 18 +++++++++--------- 4 files changed, 19 insertions(+), 17 deletions(-) rename hibernate-core/src/main/java/org/hibernate/loader/internal/{OnDemandResultSetProcessorImpl.java => ScrollableResultSetProcessorImpl.java} (88%) rename hibernate-core/src/main/java/org/hibernate/loader/spi/{OnDemandResultSetProcessor.java => ScrollableResultSetProcessor.java} (82%) diff --git a/hibernate-core/src/main/java/org/hibernate/loader/internal/ResultSetProcessorImpl.java b/hibernate-core/src/main/java/org/hibernate/loader/internal/ResultSetProcessorImpl.java index d31278e5f5..b97b55f62f 100644 --- a/hibernate-core/src/main/java/org/hibernate/loader/internal/ResultSetProcessorImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/loader/internal/ResultSetProcessorImpl.java @@ -31,6 +31,7 @@ import java.util.List; import org.jboss.logging.Logger; +import org.hibernate.cfg.NotYetImplementedException; import org.hibernate.dialect.pagination.LimitHelper; import org.hibernate.engine.FetchStyle; import org.hibernate.engine.spi.QueryParameters; @@ -45,7 +46,7 @@ import org.hibernate.loader.plan.spi.LoadPlanVisitor; import org.hibernate.loader.plan.spi.Return; import org.hibernate.loader.spi.AfterLoadAction; import org.hibernate.loader.spi.NamedParameterContext; -import org.hibernate.loader.spi.OnDemandResultSetProcessor; +import org.hibernate.loader.spi.ScrollableResultSetProcessor; import org.hibernate.loader.spi.ResultSetProcessor; import org.hibernate.persister.collection.CollectionPersister; import org.hibernate.pretty.MessageHelper; @@ -70,8 +71,9 @@ public class ResultSetProcessorImpl implements ResultSetProcessor { } @Override - public OnDemandResultSetProcessor toOnDemandForm() { - return null; //To change body of implemented methods use File | Settings | File Templates. + public ScrollableResultSetProcessor toOnDemandForm() { + // todo : implement + throw new NotYetImplementedException(); } @Override diff --git a/hibernate-core/src/main/java/org/hibernate/loader/internal/OnDemandResultSetProcessorImpl.java b/hibernate-core/src/main/java/org/hibernate/loader/internal/ScrollableResultSetProcessorImpl.java similarity index 88% rename from hibernate-core/src/main/java/org/hibernate/loader/internal/OnDemandResultSetProcessorImpl.java rename to hibernate-core/src/main/java/org/hibernate/loader/internal/ScrollableResultSetProcessorImpl.java index 8fc816c9e6..5e2d06104e 100644 --- a/hibernate-core/src/main/java/org/hibernate/loader/internal/OnDemandResultSetProcessorImpl.java +++ b/hibernate-core/src/main/java/org/hibernate/loader/internal/ScrollableResultSetProcessorImpl.java @@ -27,12 +27,12 @@ import java.sql.ResultSet; import org.hibernate.engine.spi.QueryParameters; import org.hibernate.engine.spi.SessionImplementor; -import org.hibernate.loader.spi.OnDemandResultSetProcessor; +import org.hibernate.loader.spi.ScrollableResultSetProcessor; /** * @author Steve Ebersole */ -public class OnDemandResultSetProcessorImpl implements OnDemandResultSetProcessor { +public class ScrollableResultSetProcessorImpl implements ScrollableResultSetProcessor { @Override public Object extractSingleRow( ResultSet resultSet, @@ -42,13 +42,13 @@ public class OnDemandResultSetProcessorImpl implements OnDemandResultSetProcesso } @Override - public Object extractSequentialRowsForward( + public Object extractLogicalRowForward( ResultSet resultSet, SessionImplementor session, QueryParameters queryParameters) { return null; //To change body of implemented methods use File | Settings | File Templates. } @Override - public Object extractSequentialRowsReverse( + public Object extractLogicalRowReverse( ResultSet resultSet, SessionImplementor session, QueryParameters queryParameters, diff --git a/hibernate-core/src/main/java/org/hibernate/loader/spi/ResultSetProcessor.java b/hibernate-core/src/main/java/org/hibernate/loader/spi/ResultSetProcessor.java index 4dc630c469..89c439dc94 100644 --- a/hibernate-core/src/main/java/org/hibernate/loader/spi/ResultSetProcessor.java +++ b/hibernate-core/src/main/java/org/hibernate/loader/spi/ResultSetProcessor.java @@ -41,7 +41,7 @@ import org.hibernate.transform.ResultTransformer; */ public interface ResultSetProcessor { - public OnDemandResultSetProcessor toOnDemandForm(); + public ScrollableResultSetProcessor toOnDemandForm(); /** * Process an entire ResultSet, performing all extractions. diff --git a/hibernate-core/src/main/java/org/hibernate/loader/spi/OnDemandResultSetProcessor.java b/hibernate-core/src/main/java/org/hibernate/loader/spi/ScrollableResultSetProcessor.java similarity index 82% rename from hibernate-core/src/main/java/org/hibernate/loader/spi/OnDemandResultSetProcessor.java rename to hibernate-core/src/main/java/org/hibernate/loader/spi/ScrollableResultSetProcessor.java index 27ba73b5a6..3892bba3f5 100644 --- a/hibernate-core/src/main/java/org/hibernate/loader/spi/OnDemandResultSetProcessor.java +++ b/hibernate-core/src/main/java/org/hibernate/loader/spi/ScrollableResultSetProcessor.java @@ -37,12 +37,12 @@ import org.hibernate.engine.spi.SessionImplementor; * * @author Steve Ebersole */ -public interface OnDemandResultSetProcessor { +public interface ScrollableResultSetProcessor { /** * Give a ResultSet, extract just a single result row. * - * Copy of {@link org.hibernate.loader.Loader#loadSingleRow(java.sql.ResultSet, org.hibernate.engine.spi.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean)} + * Copy of {@link org.hibernate.loader.Loader#loadSingleRow(ResultSet, SessionImplementor, QueryParameters, boolean)} * but dropping the 'returnProxies' (that method has only one use in the entire codebase and it always passes in * false...) * @@ -60,11 +60,11 @@ public interface OnDemandResultSetProcessor { QueryParameters queryParameters); /** - * Given a ResultSet extract "sequential rows". This is used in cases where we have multi-row fetches that - * are sequential within the ResultSet due to ordering. Multiple ResultSet rows are read into a single query + * Given a scrollable ResultSet, extract a logical row. The assumption here is that the ResultSet is already + * properly ordered to account for any to-many fetches. Multiple ResultSet rows are read into a single query * result "row". * - * Copy of {@link org.hibernate.loader.Loader#loadSequentialRowsForward(java.sql.ResultSet, org.hibernate.engine.spi.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean)} + * Copy of {@link org.hibernate.loader.Loader#loadSequentialRowsForward(ResultSet, SessionImplementor, QueryParameters, boolean)} * but dropping the 'returnProxies' (that method has only one use in the entire codebase and it always passes in * false...) * @@ -76,15 +76,15 @@ public interface OnDemandResultSetProcessor { * * @throws org.hibernate.HibernateException Indicates a problem extracting values from the result set. */ - public Object extractSequentialRowsForward( + public Object extractLogicalRowForward( final ResultSet resultSet, final SessionImplementor session, final QueryParameters queryParameters); /** - * Like {@link #extractSequentialRowsForward} but here moving back through the ResultSet. + * Like {@link #extractLogicalRowForward} but here moving through the ResultSet in reverse. * - * Copy of {@link org.hibernate.loader.Loader#loadSequentialRowsReverse(java.sql.ResultSet, org.hibernate.engine.spi.SessionImplementor, org.hibernate.engine.spi.QueryParameters, boolean, boolean)} + * Copy of {@link org.hibernate.loader.Loader#loadSequentialRowsReverse(ResultSet, SessionImplementor, QueryParameters, boolean, boolean)} * but dropping the 'returnProxies' (that method has only one use in the entire codebase and it always passes in * false...). * @@ -99,7 +99,7 @@ public interface OnDemandResultSetProcessor { * * @throws org.hibernate.HibernateException Indicates a problem extracting values from the result set. */ - public Object extractSequentialRowsReverse( + public Object extractLogicalRowReverse( ResultSet resultSet, SessionImplementor session, QueryParameters queryParameters,