From 87b547743c31709225f10b2a5f547314c91b6778 Mon Sep 17 00:00:00 2001 From: Michael Bayne Date: Thu, 8 Jan 2009 02:31:28 +0000 Subject: [PATCH] Moved some implemention detail clauses into impl.claus. I'd like to move SelectClause in there as well, but peskily two things on MSOY are using it to do subselects. I'd prefer there was some less "reaching into the internals" way to do subselects. --- .../com/samskivert/depot/DepotRepository.java | 5 +++-- .../com/samskivert/depot/impl/BindVisitor.java | 18 +++++++++++------- .../samskivert/depot/impl/BuildVisitor.java | 12 +++++++----- .../samskivert/depot/impl/DepotMarshaller.java | 14 ++++++++------ .../depot/impl/ExpressionVisitor.java | 10 ++++++---- .../com/samskivert/depot/impl/HSQLBuilder.java | 3 ++- .../samskivert/depot/impl/MySQLBuilder.java | 9 +++++---- .../{ => impl}/clause/CreateIndexClause.java | 7 +++++-- .../depot/{ => impl}/clause/DeleteClause.java | 8 ++++++-- .../{ => impl}/clause/DropIndexClause.java | 7 +++++-- .../depot/{ => impl}/clause/UpdateClause.java | 8 ++++++-- 11 files changed, 64 insertions(+), 37 deletions(-) rename src/java/com/samskivert/depot/{ => impl}/clause/CreateIndexClause.java (96%) rename src/java/com/samskivert/depot/{ => impl}/clause/DeleteClause.java (90%) rename src/java/com/samskivert/depot/{ => impl}/clause/DropIndexClause.java (90%) rename src/java/com/samskivert/depot/{ => impl}/clause/UpdateClause.java (93%) diff --git a/src/java/com/samskivert/depot/DepotRepository.java b/src/java/com/samskivert/depot/DepotRepository.java index a43cac4..0cbc65e 100644 --- a/src/java/com/samskivert/depot/DepotRepository.java +++ b/src/java/com/samskivert/depot/DepotRepository.java @@ -41,15 +41,14 @@ import com.samskivert.jdbc.ConnectionProvider; import com.samskivert.jdbc.DatabaseLiaison; import com.samskivert.jdbc.JDBCUtil; -import com.samskivert.depot.clause.DeleteClause; import com.samskivert.depot.clause.FieldOverride; import com.samskivert.depot.clause.InsertClause; import com.samskivert.depot.clause.QueryClause; -import com.samskivert.depot.clause.UpdateClause; import com.samskivert.depot.clause.WhereClause; import com.samskivert.depot.expression.ColumnExp; import com.samskivert.depot.expression.SQLExpression; import com.samskivert.depot.expression.ValueExp; + import com.samskivert.depot.impl.DepotMarshaller; import com.samskivert.depot.impl.DepotMigrationHistoryRecord; import com.samskivert.depot.impl.DepotTypes; @@ -59,6 +58,8 @@ import com.samskivert.depot.impl.FindOneQuery; import com.samskivert.depot.impl.Modifier.*; import com.samskivert.depot.impl.Modifier; import com.samskivert.depot.impl.SQLBuilder; +import com.samskivert.depot.impl.clause.DeleteClause; +import com.samskivert.depot.impl.clause.UpdateClause; import static com.samskivert.depot.Log.log; diff --git a/src/java/com/samskivert/depot/impl/BindVisitor.java b/src/java/com/samskivert/depot/impl/BindVisitor.java index 24dc2f3..decbd65 100644 --- a/src/java/com/samskivert/depot/impl/BindVisitor.java +++ b/src/java/com/samskivert/depot/impl/BindVisitor.java @@ -27,14 +27,15 @@ import java.sql.SQLException; import java.util.Map; import java.util.Set; +import com.samskivert.util.StringUtil; +import com.samskivert.util.Tuple; + import com.samskivert.depot.ByteEnum; import com.samskivert.depot.DatabaseException; import com.samskivert.depot.Key; import com.samskivert.depot.MultiKey; import com.samskivert.depot.PersistentRecord; -import com.samskivert.depot.clause.CreateIndexClause; -import com.samskivert.depot.clause.DeleteClause; -import com.samskivert.depot.clause.DropIndexClause; + import com.samskivert.depot.clause.FieldDefinition; import com.samskivert.depot.clause.ForUpdate; import com.samskivert.depot.clause.FromOverride; @@ -42,17 +43,18 @@ import com.samskivert.depot.clause.GroupBy; import com.samskivert.depot.clause.InsertClause; import com.samskivert.depot.clause.Join; import com.samskivert.depot.clause.Limit; -import com.samskivert.depot.clause.OrderBy; import com.samskivert.depot.clause.OrderBy.Order; +import com.samskivert.depot.clause.OrderBy; import com.samskivert.depot.clause.SelectClause; -import com.samskivert.depot.clause.UpdateClause; import com.samskivert.depot.clause.WhereClause; + import com.samskivert.depot.expression.ColumnExp; import com.samskivert.depot.expression.EpochSeconds; import com.samskivert.depot.expression.FunctionExp; import com.samskivert.depot.expression.LiteralExp; import com.samskivert.depot.expression.SQLExpression; import com.samskivert.depot.expression.ValueExp; + import com.samskivert.depot.operator.Conditionals.Exists; import com.samskivert.depot.operator.Conditionals.FullTextMatch; import com.samskivert.depot.operator.Conditionals.In; @@ -61,8 +63,10 @@ import com.samskivert.depot.operator.Logic.Not; import com.samskivert.depot.operator.SQLOperator.BinaryOperator; import com.samskivert.depot.operator.SQLOperator.MultiOperator; -import com.samskivert.util.StringUtil; -import com.samskivert.util.Tuple; +import com.samskivert.depot.impl.clause.CreateIndexClause; +import com.samskivert.depot.impl.clause.DeleteClause; +import com.samskivert.depot.impl.clause.DropIndexClause; +import com.samskivert.depot.impl.clause.UpdateClause; /** * Implements the base functionality of the argument-binding pass of {@link SQLBuilder}. Dialectal diff --git a/src/java/com/samskivert/depot/impl/BuildVisitor.java b/src/java/com/samskivert/depot/impl/BuildVisitor.java index 67c20cd..0a029ae 100644 --- a/src/java/com/samskivert/depot/impl/BuildVisitor.java +++ b/src/java/com/samskivert/depot/impl/BuildVisitor.java @@ -26,13 +26,12 @@ import java.util.Set; import com.google.common.collect.Maps; +import com.samskivert.util.Tuple; + import com.samskivert.depot.Key; import com.samskivert.depot.MultiKey; import com.samskivert.depot.PersistentRecord; import com.samskivert.depot.annotation.Computed; -import com.samskivert.depot.clause.CreateIndexClause; -import com.samskivert.depot.clause.DeleteClause; -import com.samskivert.depot.clause.DropIndexClause; import com.samskivert.depot.clause.FieldDefinition; import com.samskivert.depot.clause.FieldOverride; import com.samskivert.depot.clause.ForUpdate; @@ -43,7 +42,6 @@ import com.samskivert.depot.clause.Join; import com.samskivert.depot.clause.Limit; import com.samskivert.depot.clause.OrderBy; import com.samskivert.depot.clause.SelectClause; -import com.samskivert.depot.clause.UpdateClause; import com.samskivert.depot.clause.WhereClause; import com.samskivert.depot.clause.OrderBy.Order; import com.samskivert.depot.expression.ColumnExp; @@ -59,7 +57,11 @@ import com.samskivert.depot.operator.Conditionals.IsNull; import com.samskivert.depot.operator.Logic.Not; import com.samskivert.depot.operator.SQLOperator.BinaryOperator; import com.samskivert.depot.operator.SQLOperator.MultiOperator; -import com.samskivert.util.Tuple; + +import com.samskivert.depot.impl.clause.CreateIndexClause; +import com.samskivert.depot.impl.clause.DeleteClause; +import com.samskivert.depot.impl.clause.DropIndexClause; +import com.samskivert.depot.impl.clause.UpdateClause; /** * Implements the base functionality of the SQL-building pass of {@link SQLBuilder}. Dialectal diff --git a/src/java/com/samskivert/depot/impl/DepotMarshaller.java b/src/java/com/samskivert/depot/impl/DepotMarshaller.java index 829f403..d954031 100644 --- a/src/java/com/samskivert/depot/impl/DepotMarshaller.java +++ b/src/java/com/samskivert/depot/impl/DepotMarshaller.java @@ -41,6 +41,13 @@ import com.google.common.collect.Lists; import com.google.common.collect.Maps; import com.google.common.collect.Sets; +import com.samskivert.util.ArrayUtil; +import com.samskivert.util.Tuple; + +import com.samskivert.jdbc.ColumnDefinition; +import com.samskivert.jdbc.DatabaseLiaison; +import com.samskivert.jdbc.JDBCUtil; + import com.samskivert.depot.DatabaseException; import com.samskivert.depot.Key; import com.samskivert.depot.PersistenceContext; @@ -57,17 +64,12 @@ import com.samskivert.depot.annotation.Index; import com.samskivert.depot.annotation.TableGenerator; import com.samskivert.depot.annotation.Transient; import com.samskivert.depot.annotation.UniqueConstraint; -import com.samskivert.depot.clause.CreateIndexClause; import com.samskivert.depot.clause.OrderBy.Order; import com.samskivert.depot.clause.QueryClause; import com.samskivert.depot.expression.ColumnExp; import com.samskivert.depot.expression.SQLExpression; -import com.samskivert.jdbc.ColumnDefinition; -import com.samskivert.jdbc.DatabaseLiaison; -import com.samskivert.jdbc.JDBCUtil; -import com.samskivert.util.ArrayUtil; -import com.samskivert.util.Tuple; +import com.samskivert.depot.impl.clause.CreateIndexClause; import static com.samskivert.depot.Log.log; diff --git a/src/java/com/samskivert/depot/impl/ExpressionVisitor.java b/src/java/com/samskivert/depot/impl/ExpressionVisitor.java index 525da56..a8f0547 100644 --- a/src/java/com/samskivert/depot/impl/ExpressionVisitor.java +++ b/src/java/com/samskivert/depot/impl/ExpressionVisitor.java @@ -24,9 +24,6 @@ import com.samskivert.depot.Key; import com.samskivert.depot.MultiKey; import com.samskivert.depot.PersistentRecord; -import com.samskivert.depot.clause.CreateIndexClause; -import com.samskivert.depot.clause.DeleteClause; -import com.samskivert.depot.clause.DropIndexClause; import com.samskivert.depot.clause.FieldDefinition; import com.samskivert.depot.clause.ForUpdate; import com.samskivert.depot.clause.FromOverride; @@ -36,8 +33,8 @@ import com.samskivert.depot.clause.Join; import com.samskivert.depot.clause.Limit; import com.samskivert.depot.clause.OrderBy; import com.samskivert.depot.clause.SelectClause; -import com.samskivert.depot.clause.UpdateClause; import com.samskivert.depot.clause.WhereClause; + import com.samskivert.depot.expression.ColumnExp; import com.samskivert.depot.expression.EpochSeconds; import com.samskivert.depot.expression.FunctionExp; @@ -52,6 +49,11 @@ import com.samskivert.depot.operator.Logic.Not; import com.samskivert.depot.operator.SQLOperator.BinaryOperator; import com.samskivert.depot.operator.SQLOperator.MultiOperator; +import com.samskivert.depot.impl.clause.CreateIndexClause; +import com.samskivert.depot.impl.clause.DeleteClause; +import com.samskivert.depot.impl.clause.DropIndexClause; +import com.samskivert.depot.impl.clause.UpdateClause; + /** * Enumerates visitation methods for every possible SQL expression type. */ diff --git a/src/java/com/samskivert/depot/impl/HSQLBuilder.java b/src/java/com/samskivert/depot/impl/HSQLBuilder.java index b922279..e004b20 100644 --- a/src/java/com/samskivert/depot/impl/HSQLBuilder.java +++ b/src/java/com/samskivert/depot/impl/HSQLBuilder.java @@ -43,7 +43,6 @@ import com.samskivert.util.Tuple; import com.samskivert.depot.PersistentRecord; import com.samskivert.depot.annotation.FullTextIndex; import com.samskivert.depot.annotation.GeneratedValue; -import com.samskivert.depot.clause.CreateIndexClause; import com.samskivert.depot.clause.OrderBy.Order; import com.samskivert.depot.expression.ColumnExp; import com.samskivert.depot.expression.EpochSeconds; @@ -56,6 +55,8 @@ import com.samskivert.depot.operator.Conditionals.Like; import com.samskivert.depot.operator.Logic.Or; import com.samskivert.depot.operator.SQLOperator.BinaryOperator; +import com.samskivert.depot.impl.clause.CreateIndexClause; + public class HSQLBuilder extends SQLBuilder { diff --git a/src/java/com/samskivert/depot/impl/MySQLBuilder.java b/src/java/com/samskivert/depot/impl/MySQLBuilder.java index 7bd6815..c6a3730 100644 --- a/src/java/com/samskivert/depot/impl/MySQLBuilder.java +++ b/src/java/com/samskivert/depot/impl/MySQLBuilder.java @@ -37,13 +37,12 @@ import com.samskivert.util.Tuple; import com.samskivert.depot.DatabaseException; import com.samskivert.depot.PersistentRecord; import com.samskivert.depot.annotation.FullTextIndex; -import com.samskivert.depot.clause.CreateIndexClause; -import com.samskivert.depot.clause.DeleteClause; -import com.samskivert.depot.clause.DropIndexClause; import com.samskivert.depot.clause.OrderBy.Order; import com.samskivert.depot.expression.ColumnExp; import com.samskivert.depot.expression.EpochSeconds; import com.samskivert.depot.expression.SQLExpression; +import com.samskivert.depot.operator.Conditionals.FullTextMatch; + import com.samskivert.depot.impl.FieldMarshaller.BooleanMarshaller; import com.samskivert.depot.impl.FieldMarshaller.ByteArrayMarshaller; import com.samskivert.depot.impl.FieldMarshaller.ByteEnumMarshaller; @@ -55,7 +54,9 @@ import com.samskivert.depot.impl.FieldMarshaller.IntMarshaller; import com.samskivert.depot.impl.FieldMarshaller.LongMarshaller; import com.samskivert.depot.impl.FieldMarshaller.ObjectMarshaller; import com.samskivert.depot.impl.FieldMarshaller.ShortMarshaller; -import com.samskivert.depot.operator.Conditionals.FullTextMatch; +import com.samskivert.depot.impl.clause.CreateIndexClause; +import com.samskivert.depot.impl.clause.DeleteClause; +import com.samskivert.depot.impl.clause.DropIndexClause; import static com.samskivert.Log.log; diff --git a/src/java/com/samskivert/depot/clause/CreateIndexClause.java b/src/java/com/samskivert/depot/impl/clause/CreateIndexClause.java similarity index 96% rename from src/java/com/samskivert/depot/clause/CreateIndexClause.java rename to src/java/com/samskivert/depot/impl/clause/CreateIndexClause.java index 7925f9f..ec32a36 100644 --- a/src/java/com/samskivert/depot/clause/CreateIndexClause.java +++ b/src/java/com/samskivert/depot/impl/clause/CreateIndexClause.java @@ -18,16 +18,19 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.depot.clause; +package com.samskivert.depot.impl.clause; import java.util.Collection; import java.util.List; +import com.samskivert.util.Tuple; + import com.samskivert.depot.PersistentRecord; import com.samskivert.depot.clause.OrderBy.Order; +import com.samskivert.depot.clause.QueryClause; import com.samskivert.depot.expression.SQLExpression; + import com.samskivert.depot.impl.ExpressionVisitor; -import com.samskivert.util.Tuple; /** * Represents an CREATE INDEX instruction to the database. diff --git a/src/java/com/samskivert/depot/clause/DeleteClause.java b/src/java/com/samskivert/depot/impl/clause/DeleteClause.java similarity index 90% rename from src/java/com/samskivert/depot/clause/DeleteClause.java rename to src/java/com/samskivert/depot/impl/clause/DeleteClause.java index c0aa60d..915023e 100644 --- a/src/java/com/samskivert/depot/clause/DeleteClause.java +++ b/src/java/com/samskivert/depot/impl/clause/DeleteClause.java @@ -18,17 +18,21 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.depot.clause; +package com.samskivert.depot.impl.clause; import java.util.Collection; import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.clause.QueryClause; +import com.samskivert.depot.clause.WhereClause; + import com.samskivert.depot.impl.ExpressionVisitor; /** * Builds actual SQL given a main persistent type and some {@link QueryClause} objects. */ -public class DeleteClause implements QueryClause +public class DeleteClause + implements QueryClause { public DeleteClause (Class pClass, WhereClause where) { diff --git a/src/java/com/samskivert/depot/clause/DropIndexClause.java b/src/java/com/samskivert/depot/impl/clause/DropIndexClause.java similarity index 90% rename from src/java/com/samskivert/depot/clause/DropIndexClause.java rename to src/java/com/samskivert/depot/impl/clause/DropIndexClause.java index 05b1ced..cfc1acc 100644 --- a/src/java/com/samskivert/depot/clause/DropIndexClause.java +++ b/src/java/com/samskivert/depot/impl/clause/DropIndexClause.java @@ -18,17 +18,20 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.depot.clause; +package com.samskivert.depot.impl.clause; import java.util.Collection; import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.clause.QueryClause; + import com.samskivert.depot.impl.ExpressionVisitor; /** * Represents an DROP INDEX instruction to the database. */ -public class DropIndexClause implements QueryClause +public class DropIndexClause + implements QueryClause { public DropIndexClause (Class pClass, String name) { diff --git a/src/java/com/samskivert/depot/clause/UpdateClause.java b/src/java/com/samskivert/depot/impl/clause/UpdateClause.java similarity index 93% rename from src/java/com/samskivert/depot/clause/UpdateClause.java rename to src/java/com/samskivert/depot/impl/clause/UpdateClause.java index b05087b..21097d8 100644 --- a/src/java/com/samskivert/depot/clause/UpdateClause.java +++ b/src/java/com/samskivert/depot/impl/clause/UpdateClause.java @@ -18,19 +18,23 @@ // License along with this library; if not, write to the Free Software // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -package com.samskivert.depot.clause; +package com.samskivert.depot.impl.clause; import java.util.Collection; import com.samskivert.depot.PersistentRecord; +import com.samskivert.depot.clause.QueryClause; +import com.samskivert.depot.clause.WhereClause; import com.samskivert.depot.expression.ColumnExp; import com.samskivert.depot.expression.SQLExpression; + import com.samskivert.depot.impl.ExpressionVisitor; /** * Builds actual SQL given a main persistent type and some {@link QueryClause} objects. */ -public class UpdateClause implements QueryClause +public class UpdateClause + implements QueryClause { public UpdateClause (Class pClass, WhereClause where, String[] fields, T pojo)