Hi

Please could you share a working example of a code for NHibernate Validator 
1.3.2.4000 without using NHibernate ORM (currently in my code 4.0.4.4000 as 
a dependency)?
I've been able to create a working solution in java and and now I'm stuck 
with configuration for validator in C#. For my PoC I'm using mono 4.6.
We need data validation across our pipeline (mixed C3 and scala environment 
- spark) and hibernate validator looks solid. We do not want to use 
Hibernate ORM.

I'm trying to use code mappings like this:
namespace nhcar
 {
     public class Car
     {
         [NotNull]
         private string manufacturer
         {
             get { return manufacturer; }
             set { manufacturer = value; }
         }
 
         [NotNull]
         [Length(Min = 2, Max = 14)]
         private string licensePlate
         {
             get { return licensePlate; }
             set { licensePlate = value; }
         }
 
         [Min(2)]
         private int seatCount
         {
             get { return seatCount; }
             set { seatCount = value; }
         }
 
         public Car(string manufacturer, string licensePlate, int seatCount)
         {
             this.manufacturer = manufacturer;
             this.licensePlate = licensePlate;
             this.seatCount = seatCount;
         }
 
         public Car()
         {
         }
     }
 } 


And this is my main:
public static void Main(string[] args)
         {
             var cfg = new NHibernate.Cfg.Configuration();
             cfg.Configure();
             Fluently.Configure()
                 .Mappings(m =>
                           m.FluentMappings
                           .AddFromAssemblyOf<Car>())
                 .BuildConfiguration();
 
             var validatorEngine = new ValidatorEngine();
             cfg.Initialize(validatorEngine);
             validatorEngine.Configure();
 
             Console.WriteLine("Hello World!");
             Car c = new Car(null, "DD-AB-123", 4);
             InvalidValue[] invalidValues = validatorEngine.Validate(c);
            foreach (InvalidValue value in invalidValues)
             {
                 Console.WriteLine("\t-Invalid Property: {0}. Error 
Message: {1}", value.PropertyName, value.Message);
             }
         }  


 
I also have file hibernate.cfg.xml
<?xml version="1.0" encoding="UTF-8"?>
 <hibernate-configuration xmlns="urn:nhibernate-configuration-2.2">
   <session-factory name="NHibernate.Test">
     <property name="connection.driver_class">
NHibernate.Driver.MySqlDataDriver</property>
     <property 
name="connection.connection_string">Server=localhost;Database=test;User 
ID=test;Password=test;</property>
     <property name="dialect">NHibernate.Dialect.MySQL5Dialect</property>
     <property name="show_sql">true</property>
   </session-factory>
 </hibernate-configuration> 


And I'm using it  just for a workaround for System I/O exception when this 
file is missing.

But it throws exceptions like:

Unhandled Exception:
StackOverflowException
Stack overflow in unmanaged: IP: 0x10ef2f4a2, fault addr: 0x7fff505a9ef0


Unhandled Exception:
StackOverflowException
Stack overflow in unmanaged: IP: 0x7fff89c365ed, fault addr: 0x7fff505a8ff8
[ERROR] FATAL UNHANDLED EXCEPTION: Nested exception detected.
Original Exception: at (wrapper managed-to-native) 
System.RuntimeType.getFullName 
(System.RuntimeType,bool,bool) <IL 0x00033, 0x000ae>
at System.RuntimeType.ToString () [0x00000] in /private/tmp/source-mono-4.6.
0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-x86/
mcs/class/corlib/ReferenceSources/RuntimeType.cs:599
at System.Exception.GetClassName () [0x0000b] in /private/tmp/source-mono-
4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-
x86/mcs/class/referencesource/mscorlib/system/exception.cs:257
at System.Exception.ToString (bool,bool) [0x00031] in /private/tmp/source-
mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/
mono-x86/mcs/class/referencesource/mscorlib/system/exception.cs:480
at System.Exception.ToString () [0x00000] in /private/tmp/source-mono-4.6.0/
bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-x86/
mcs/class/referencesource/mscorlib/system/exception.cs:466


Nested exception:at string.FillStringChecked (string,int,string) [0x00000] 
in /private/tmp/source-mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-
mac-xamarin/build-root/mono-x86/mcs/class/referencesource/mscorlib/system/
string.cs:1499
at string.Concat (string,string,string) [0x0005b] in /private/tmp/source-
mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/
mono-x86/mcs/class/referencesource/mscorlib/system/string.cs:3201
at System.Exception.ToString (bool,bool) [0x00031] in /private/tmp/source-
mono-4.6.0/bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/
mono-x86/mcs/class/referencesource/mscorlib/system/exception.cs:480
at System.Exception.ToString () [0x00000] in /private/tmp/source-mono-4.6.0/
bockbuild-mono-4.6.0-branch/profiles/mono-mac-xamarin/build-root/mono-x86/
mcs/class/referencesource/mscorlib/system/exception.cs:466


Could someone point me to doc which explain Configuration model in 
Hibernate? Why I need Configuration with any valid database for validator?

Best

Mikolaj

-- 
You received this message because you are subscribed to the Google Groups 
"nhusers" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/nhusers.
For more options, visit https://groups.google.com/d/optout.

Reply via email to