|
From: <fab...@us...> - 2010-07-28 19:38:19
|
Revision: 5068
http://nhibernate.svn.sourceforge.net/nhibernate/?rev=5068&view=rev
Author: fabiomaulo
Date: 2010-07-28 19:38:13 +0000 (Wed, 28 Jul 2010)
Log Message:
-----------
Refactoring
Modified Paths:
--------------
trunk/nhibernate/src/NHibernate/Linq/Functions/FunctionRegistry.cs
trunk/nhibernate/src/NHibernate/Linq/Visitors/HqlGeneratorExpressionTreeVisitor.cs
trunk/nhibernate/src/NHibernate/Linq/Visitors/SelectClauseVisitor.cs
Modified: trunk/nhibernate/src/NHibernate/Linq/Functions/FunctionRegistry.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Linq/Functions/FunctionRegistry.cs 2010-07-28 19:23:54 UTC (rev 5067)
+++ trunk/nhibernate/src/NHibernate/Linq/Functions/FunctionRegistry.cs 2010-07-28 19:38:13 UTC (rev 5068)
@@ -10,7 +10,7 @@
{
public class FunctionRegistry : ILinqToHqlGeneratorsRegistry
{
- public static readonly FunctionRegistry Instance = new FunctionRegistry();
+ public static readonly ILinqToHqlGeneratorsRegistry Instance = new FunctionRegistry();
private readonly Dictionary<MethodInfo, IHqlGeneratorForMethod> registeredMethods = new Dictionary<MethodInfo, IHqlGeneratorForMethod>();
private readonly Dictionary<MemberInfo, IHqlGeneratorForProperty> registeredProperties = new Dictionary<MemberInfo, IHqlGeneratorForProperty>();
Modified: trunk/nhibernate/src/NHibernate/Linq/Visitors/HqlGeneratorExpressionTreeVisitor.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Linq/Visitors/HqlGeneratorExpressionTreeVisitor.cs 2010-07-28 19:23:54 UTC (rev 5067)
+++ trunk/nhibernate/src/NHibernate/Linq/Visitors/HqlGeneratorExpressionTreeVisitor.cs 2010-07-28 19:38:13 UTC (rev 5068)
@@ -12,7 +12,7 @@
{
private readonly HqlTreeBuilder _hqlTreeBuilder;
private readonly VisitorParameters _parameters;
- static private readonly FunctionRegistry FunctionRegistry = FunctionRegistry.Instance;
+ private readonly ILinqToHqlGeneratorsRegistry functionRegistry;
public static HqlTreeNode Visit(Expression expression, VisitorParameters parameters)
{
@@ -23,7 +23,8 @@
public HqlGeneratorExpressionTreeVisitor(VisitorParameters parameters)
{
- _parameters = parameters;
+ functionRegistry = FunctionRegistry.Instance;
+ _parameters = parameters;
_hqlTreeBuilder = new HqlTreeBuilder();
}
@@ -352,9 +353,8 @@
// Look for "special" properties (DateTime.Month etc)
IHqlGeneratorForProperty generator;
- generator = FunctionRegistry.GetGenerator(expression.Member);
- if (generator != null)
+ if (functionRegistry.TryGetGenerator(expression.Member, out generator))
{
return generator.BuildHql(expression.Member, expression.Expression, _hqlTreeBuilder, this);
}
@@ -398,7 +398,7 @@
IHqlGeneratorForMethod generator;
var method = expression.Method;
- if (!FunctionRegistry.TryGetGenerator(method, out generator))
+ if (!functionRegistry.TryGetGenerator(method, out generator))
{
throw new NotSupportedException(method.ToString());
}
Modified: trunk/nhibernate/src/NHibernate/Linq/Visitors/SelectClauseVisitor.cs
===================================================================
--- trunk/nhibernate/src/NHibernate/Linq/Visitors/SelectClauseVisitor.cs 2010-07-28 19:23:54 UTC (rev 5067)
+++ trunk/nhibernate/src/NHibernate/Linq/Visitors/SelectClauseVisitor.cs 2010-07-28 19:38:13 UTC (rev 5068)
@@ -10,7 +10,7 @@
{
public class SelectClauseVisitor : ExpressionTreeVisitor
{
- static private readonly FunctionRegistry FunctionRegistry = FunctionRegistry.Instance;
+ private readonly ILinqToHqlGeneratorsRegistry functionRegistry;
private HashSet<Expression> _hqlNodes;
private readonly ParameterExpression _inputParameter;
@@ -20,7 +20,8 @@
public SelectClauseVisitor(System.Type inputType, VisitorParameters parameters)
{
- _inputParameter = Expression.Parameter(inputType, "input");
+ functionRegistry = FunctionRegistry.Instance;
+ _inputParameter = Expression.Parameter(inputType, "input");
_parameters = parameters;
}
@@ -82,7 +83,7 @@
{
// Depends if it's in the function registry
IHqlGeneratorForMethod methodGenerator;
- if (!FunctionRegistry.TryGetGenerator(((MethodCallExpression) expression).Method, out methodGenerator))
+ if (!functionRegistry.TryGetGenerator(((MethodCallExpression) expression).Method, out methodGenerator))
{
return false;
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|