From hibernate-commits at lists.jboss.org Mon Dec 1 07:40:33 2008 Content-Type: multipart/mixed; boundary="===============7795582760950351029==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15629 - search/trunk/doc/reference/en/modules. Date: Mon, 01 Dec 2008 07:40:33 -0500 Message-ID: --===============7795582760950351029== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-01 07:40:33 -0500 (Mon, 01 Dec 2008) New Revision: 15629 Modified: search/trunk/doc/reference/en/modules/mapping.xml Log: reviewed mapping chapter Modified: search/trunk/doc/reference/en/modules/mapping.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/mapping.xml 2008-11-29 14:06:12 U= TC (rev 15628) +++ search/trunk/doc/reference/en/modules/mapping.xml 2008-12-01 12:40:33 U= TC (rev 15629) @@ -30,15 +30,17 @@ Mapping entities to the index structure = All the metadata information needed to index entities is described - through some Java annotations. There is no need for xml mapping files (in - fact there exists currently no xml configuration option) nor a list of - indexed entities. The list is discovered at startup time scanning the - Hibernate mapped entities. + through annotations. There is no need for xml mapping files. In fact the= re + is currently no xml configuration option available (see HSEARCH-210). + You can still use hibernate mapping files for the basic Hibernate + configuration, but the Search specific configuration has to be expressed= via + annotations. =
Mapping an entity = -
+
Basic mapping = First, we must declare a persistent class as indexable. This is @@ -53,16 +55,20 @@ } = The index attribute tells Hibernate what the - Lucene directory name is (usually a directory on your file system). = If - you wish to define a base directory for all Lucene indexes, you can = use + Lucene directory name is (usually a directory on your file system). = It + is recommended to define a base directory for all Lucene indexes usi= ng the hibernate.search.default.indexBase property in - your configuration file. Each entity instance will be represented by= a - Lucene Document inside the given index (aka + your configuration file. Alternatively you can specify a base direct= ory + per indexed entity by specifying + hibernate.search.<index>.indexBase, where + <index> is the fully qualified classname of= the + indexed entity. Each entity instance will be represented by a Lucene + Document inside the given index (aka Directory). = For each property (or attribute) of your entity, you have the - ability to describe how it will be indexed. The default (ie no - annotation) means that the property is completly ignored by the inde= xing + ability to describe how it will be indexed. The default (no annotati= on + present) means that the property is completly ignored by the indexing process. @Field does declare a property as indexe= d. When indexing an element to a Lucene document you can specify how it= is indexed: @@ -82,20 +88,20 @@ information), store it in a compressed way Store.COMPRESS (this does consume more CPU), = or avoid any storage Store.NO (this is the defau= lt - value). When a property is stored, you can retrieve it from the - Lucene Document (note that this is not related to whether the - element is indexed or not). + value). When a property is stored, you can retrieve its original + value from the Lucene Document. This is not related to whether t= he + element is indexed or not. = - index: describe how the element is indexed (ie the process - used to index the property and the type of information store). T= he - different values are Index.NO (no indexing, ie - cannot be found by a query), Index.TOKENIZED = (use - an analyzer to process the property), - Index.UN_TOKENISED (no analyzer pre processin= g), - Index.NO_NORM (do not store the normalization - data). The default value is TOKENIZED. + index: describe how the element is indexed and the type of + information store. The different values are + Index.NO (no indexing, ie cannot be found by a + query), Index.TOKENIZED (use an analyzer to + process the property), Index.UN_TOKENISED (no + analyzer pre processing), Index.NO_NORM (do n= ot + store the normalization data). The default value is + TOKENIZED. = @@ -104,12 +110,10 @@ they are available within documents. The default value is TermVector.NO. = - The different values of this attribute are + The different values of this attribute are: = - - Value @@ -165,19 +169,16 @@ = - These attributes are part of the @Field - annotation. + Whether or not you want to store the original data in the index + depends on how you wish to use the index query result. For a regular + Hibernate Search usage storing is not necessary. However you might w= ant + to store some fields to subsequently project them (see for more information). = - Whether or not you want to store the data depends on how you w= ish - to use the index query result. For a regular Hibernate Search usage, - storing is not necessary. However you might want to store some field= s to - subsequently project them (see for = more - information). - Whether or not you want to tokenize a property depends on whet= her you wish to search the element as is, or by the words it contains. It - make sense to tokenize a text field, but it does not to do it for a = date - field (or an id field). Note that fields used for sorting must not be + make sense to tokenize a text field, but tokenizing a date field + probably not. Note that fields used for sorting must not be tokenized. = Finally, the id property of an entity is a special property us= ed @@ -205,7 +206,7 @@ public String getText() { return text; } } = - These annotations define an index with three fields: + The above annotations define an index with three fields: id , Abstract and text . Note that by default the field name is decapitalized, following the JavaBean specification @@ -214,20 +215,20 @@
Mapping properties multiple times = - It is sometimes needed to map a property multiple times per in= dex, - with slightly different indexing strategies. Especially, sorting a q= uery - by field requires the field to be UN_TOKENIZED. If - one want to search by words in this property and still sort it, one = need - to index it twice, once tokenized, once untokenized. @Fields allows = to + Sometimes one has to map a property multiple times per index, = with + slightly different indexing strategies. For example, sorting a query= by + field requires the field to be UN_TOKENIZED. If o= ne + wants to search by words in this property and still sort it, one nee= d to + index it twice - once tokenized and once untokenized. @Fields allows= to achieve this goal. = @Entity @Indexed(index =3D "Book" ) public class Book { - @Fields( { + @Fields( { @Field(index =3D Index.TOKENIZED), @Field(name =3D "summary_forSort", index =3D Index.UN_TOKENIZE= D, store =3D Store.YES) - } ) + } ) public String getSummary() { return summary; } @@ -235,7 +236,7 @@ ... } = - The field summary is indexed twice, once as + The field summary is indexed twice, once as summary in a tokenized way, and once as summary_forSort in an untokenized way. @Field supports 2 attributes useful when @Fields is used: @@ -260,10 +261,10 @@ Embedded and associated objects = Associated objects as well as embedded objects can be indexed = as - part of the root entity index. It is necessary if you expect to sear= ch a - given entity based on properties of the associated object(s). In the - following example, the use case is to return the places whose city is - Atlanta (In the Lucene query parser language, it would translate into + part of the root entity index. This is ueful if you expect to search= a + given entity based on properties of associated objects. In the follo= wing + example the aim is to return places where the associated city is Atl= anta + (In the Lucene query parser language, it would translate into address.city:Atlanta). = @Entity @@ -284,11 +285,9 @@ } = @Entity -(a)Indexed public class Address { @Id @GeneratedValue - @DocumentId private Long id; = @Field(index=3DIndex.TOKENIZED) @@ -312,10 +311,12 @@ = Be careful. Because the data is denormalized in the Lucene ind= ex when using the @IndexedEmbedded technique, - Hibernate Search needs to be aware of any change in the Place object= and - any change in the Address object to keep the index up to date. To ma= ke - sure the Place Lucene document is updated when it's Address changes,= you - need to mark the other side of the birirectional relationship with + Hibernate Search needs to be aware of any change in the + Place object and any change in the + Address object to keep the index up to date. = To + make sure the Place Lucene + document is updated when it's Address changes, + you need to mark the other side of the birirectional relationship wi= th @ContainedIn. = @ContainedIn is only useful on associations @@ -342,11 +343,9 @@ } = @Entity -(a)Indexed public class Address { @Id @GeneratedValue - @DocumentId private Long id; = @Field(index=3DIndex.TOKENIZED) @@ -404,20 +403,24 @@ the prefix attribute as it is shown on the ownedBy property. = - depth is necessary when the object graph - contains a cyclic dependency of classes (not instances). For example= , if - Owner points to Place. - Hibernate Search will stop including Indexed embedded atttributes af= ter - reaching the expected depth (or the object graph boundaries are - reached). A class having a self reference is an example of cyclic - dependency. In our example, because depth is set = to - 1, any @IndexedEmbedded attribute in Owner (if an= y) - will be ignored. + + The prefix cannot be set to the empty string. + = - Such a feature (@IndexedEmbedded) is very - useful to express queries refering to associated objects, such - as: + The depth property is necessary when the ob= ject + graph contains a cyclic dependency of classes (not instances). For + example, if Owner points to + Place. Hibernate Search will stop including + Indexed embedded atttributes after reaching the expected depth (or t= he + object graph boundaries are reached). A class having a self referenc= e is + an example of cyclic dependency. In our example, because + depth is set to 1, any + @IndexedEmbedded attribute in Owner (if any) will= be + ignored. = + Using @IndexedEmbedded for object associati= ons + allows you to express queries such as: + Return places where name contains JBoss and where address = city @@ -438,7 +441,7 @@ efficient way (at the cost of data duplication). Remember that, out = of the box, Lucene indexes have no notion of association, the join operation is simply non-existent. It might help to keep the relation= al - model normalzed while benefiting from the full text index speed and + model normalized while benefiting from the full text index speed and feature richness. = @@ -456,10 +459,10 @@ = Sometimes, the object type annotated by @IndexedEmbedded is not the object type targe= ted - by Hibernate and Hibernate Search especially when interfaces are use= d in - lieu of their implementation. You can override the object type targe= ted - by Hibernate Search using the targetElement - parameter. + by Hibernate and Hibernate Search. This is especially the case when + interfaces are used in lieu of their implementation. For this reason= you + can override the object type targeted by Hibernate Search using the + targetElement parameter. = @Entity @Indexed @@ -516,9 +519,11 @@ = } = - In our example, Essay's probability to reach the top of the se= arch - list will be multiplied by 1.7. The summary - field will be 2.5 (2 * 1.5) more important than the + In our example, Essay's probability to + reach the top of the search list will be multiplied by 1.7. The + summary field will be 3.0 (2 * 1.5 - + @Field.boost and @Boost + on a property are cumulative) more important than the isbn field. The text field will be 1.2 times more important than the isbn field. Note that this explanation in @@ -526,10 +531,6 @@ reality for all practical purposes. Please check the Lucene documentation or the excellent Lucene In Action from Otis Gospodnetic and Erik Hatcher. - - @Field.boost, - @Boost on a property and - @Boost on a class are all cumulative.
=
@@ -546,7 +547,7 @@ = @Entity @Indexed -(a)Analyzer(impl =3D EntityAnalyzer.class) +@Analyzer(impl =3D EntityAnalyzer.class) public class MyEntity { @Id @GeneratedValue @@ -557,10 +558,10 @@ private String name; = @Field(index =3D Index.TOKENIZED) - @Analyzer(impl =3D PropertyAnalyzer.class) + @Analyzer(impl =3D PropertyAnalyzer.class) private String summary; = - @Field(index =3D Index.TOKENIZED, analyzer =3D @Analyzer(impl =3D Fiel= dAnalyzer.class) + @Field(index =3D Index.TOKENIZED, an= alyzer =3D @Analyzer(impl =3D FieldAnalyzer.class) private String body; = ... @@ -609,8 +610,8 @@ = This separation of tasks - a tokenizer followed by a list of - filters - allows easy reuse of each individual component and let y= ou - build your customized analyzer in a very flexible way (just like + filters - allows for easy reuse of each individual component and l= et + you build your customized analyzer in a very flexible way (just li= ke lego). Generally speaking the Tokenizer sta= rts the analysis process by turning the character input into tokens wh= ich are then further processed by the TokenFilters. @@ -644,7 +645,7 @@ building the tokenizer and using the optional list of parameters. = This example use the standard tokenizer. A filter is defined by its fac= tory which is responsible for creating the filter instance using the - opetional paramenters. In our example, the StopFilter filter is bu= ilt + optional parameters. In our example, the StopFilter filter is built reading the dedicated words property file and is expected to ignore case. The list of parameters is dependent on the tokenizer or filt= er factory. @@ -688,7 +689,7 @@ should be analyzed with the same analyzer used to index the field = so that they speak a common "language": the same tokens are reused between the query and the indexing process. This rule has some - exceptions but is true most of the time, respect it unless you know + exceptions but is true most of the time. Respect it unless you know what you are doing.
= @@ -803,7 +804,7 @@ = - Don't hesitate to check all the implementations of + We recommend to check all the implementations of org.apache.solr.analysis.TokenizerFactory a= nd org.apache.solr.analysis.TokenFilterFactory= in your IDE to see the implementations available. @@ -841,9 +842,11 @@ fullTextSession.getSearchFactory().getAnalyzer( Song.class ) ); = -org.apache.lucene.search.Query luceneQuery =3D parser.parse( "title:sky Or= title_stemmed:diamond" ); +org.apache.lucene.search.Query luceneQuery =3D = + parser.parse( "title:sky Or title_stemmed:diamond" ); = -org.hibernate.Query fullTextQuery =3D fullTextSession.createFullTextQuery(= luceneQuery, Song.class ); +org.hibernate.Query fullTextQuery =3D = + fullTextSession.createFullTextQuery( luceneQuery, Song.class ); = List result =3D fullTextQuery.list(); //return a list of managed objects = @@ -855,13 +858,6 @@ the search factory, the query uses the appropriate analyzer depend= ing on the field targeted. = - - This is true if you use the query parser which takes the - analyzer into consideration. If you do not use the Lucene query - parser, make sure to use the scoped analyzer and tokenize the qu= ery - accordingly. TODO: show an example - - If your query targets more that one query and you wish to use your standard analyzer, make sure to describe it using an analyzer definition. You can retrieve analyzers by their definition name us= ing @@ -883,9 +879,8 @@
Built-in bridges = - Hibernate Search comes bundled with a set of - built-in bridges between a Java property type and its full text - representation. + Hibernate Search comes bundled with a set of built-in bridges + between a Java property type and its full text representation. = @@ -912,13 +907,13 @@ Numbers are converted in their String representation. No= te that numbers cannot be compared by Lucene (ie used in ranged - queries) out of the box: they have to be padded + queries) out of the box: they have to be padded Using a Range query is debatable and has drawbacks, = an alternative approach is to use a Filter query which will filter the result query to the appropriate range. = Hibernate Search will support a padding mechanism - + = @@ -968,7 +963,7 @@ java.lang.Class = - Class are converted to their filly qualified class name.= The + Class are converted to their fully qualified class name.= The thread context classloader is used when the class is rehydrated @@ -988,12 +983,11 @@ StringBridge = The simplest custom solution is to give Hibernate Search an - implementation of your expected object to String - bridge. To do so you need to implements the - org.hibernate.search.bridge.StringBridge - interface. - - All implementations have to be thread-safe as they are used + implementation of your expected + Object to + String bridge. To do so you need to impleme= nts + the org.hibernate.search.bridge.StringBridge + interface. All implementations have to be thread-safe as they are = used concurrently. = /** @@ -1063,21 +1057,19 @@ The ParameterizedBridge interface can= be implemented by StringBridge , TwoWayStringBridge , - FieldBridge implementations (see - bellow). + FieldBridge implementations. = All implementations have to be thread-safe, but the paramete= rs are set during initialization and no special care is required at t= his stage. = - If you expect to use your bridge implementation on for an id + If you expect to use your bridge implementation on an id property (ie annotated with @DocumentId ), you = need to use a slightly extended version of StringBridge - named TwoWayStringBridge . Hiberna= te - Search needs to read the string representation of the - identifier and generate the object out of it. There is not differe= nce - in the way the @FieldBridge annotation is - used. + named TwoWayStringBridge. Hibernate Search + needs to read the string representation of the identifier and gene= rate + the object out of it. There is not difference in the way the + @FieldBridge annotation is used. = public class PaddedIntegerBridge implements TwoWay= StringBridge, ParameterizedBridge { = @@ -1121,17 +1113,16 @@
FieldBridge = - Some usecase requires more than a simple object to string - translation when mapping a property to a Lucene index. To give you - most of the flexibility you can also implement a bridge as a - FieldBridge . This interface give you a + Some usecases require more than a simple object to string + translation when mapping a property to a Lucene index. To give you= the + greatest possible flexibility you can also implement a bridge as a + FieldBridge. This interface gives you a property value and let you map it the way you want in your Lucene - Document .This interface is very similar in= its - concept to the Hibernate - UserType . + Document.The interface is very similar in i= ts + concept to the Hibernate UserType's. = You can for example store a given property in two different - document fields + document fields: = /** * Store the date in 3 different fields - year, month, day - to ease Range= Query per @@ -1142,7 +1133,8 @@ public class DateSplitBridge implements FieldBridge { private final static TimeZone GMT =3D TimeZone.getTimeZone("GMT"); = - public void set(String name, Object value, Doc= ument document, LuceneOptions luceneOptions) { + public void set(String name, Object value, Doc= ument document, = + LuceneOptions luceneOptions) { Date date =3D (Date) value; Calendar cal =3D GregorianCalendar.getInstance(GMT); cal.setTime(date); @@ -1189,8 +1181,8 @@ custom field bridge implementation receives the entity instance as= the value parameter instead of a particular property. Though not shown= in this example, @ClassBridge supports the - termVector attribute discussed - previously. + termVector attribute discussed in section + . = @Entity @Indexed --===============7795582760950351029==-- From hibernate-commits at lists.jboss.org Tue Dec 2 03:17:42 2008 Content-Type: multipart/mixed; boundary="===============8661659062401831884==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15630 - validator/trunk/validation-api/src/main/java/javax/validation. Date: Tue, 02 Dec 2008 03:17:41 -0500 Message-ID: --===============8661659062401831884== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-02 03:17:41 -0500 (Tue, 02 Dec 2008) New Revision: 15630 Modified: validator/trunk/validation-api/src/main/java/javax/validation/Constraint= .java validator/trunk/validation-api/src/main/java/javax/validation/Constraint= Validator.java validator/trunk/validation-api/src/main/java/javax/validation/OverridesP= arameter.java Log: Fix typos Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straint.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= t.java 2008-12-01 12:40:33 UTC (rev 15629) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= t.java 2008-12-02 08:17:41 UTC (rev 15630) @@ -37,12 +37,13 @@ void initialize(A constraintAnnotation); = /** - * Implement the validation constraint + * Implement the validation constraint. + * object state must not be changed by a Constraint implemen= tation * * @param object object to validate * @param constraintContext context in which the constraint implementatio= n is evaluated * - * @return true if object pass the constraint + * @return false if object does not pass the constraint */ boolean isValid(Object object, ConstraintContext constraintContext); } Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straintValidator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tValidator.java 2008-12-01 12:40:33 UTC (rev 15629) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tValidator.java 2008-12-02 08:17:41 UTC (rev 15630) @@ -25,7 +25,7 @@ = = /** - * Link between an constraint annotation and it's constraint validation im= plementation. + * Link between a constraint annotation and it's constraint validation imp= lementation. *

* An given constraint annotation should be annotated by a @ConstraintVali= dator * annotation which refers to its constraint validation implementation. Modified: validator/trunk/validation-api/src/main/java/javax/validation/Ove= rridesParameter.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Overrides= Parameter.java 2008-12-01 12:40:33 UTC (rev 15629) +++ validator/trunk/validation-api/src/main/java/javax/validation/Overrides= Parameter.java 2008-12-02 08:17:41 UTC (rev 15630) @@ -46,7 +46,7 @@ /** * index of the targetted constraint declaration when using * multiple constraints of the same type. - * The index represent the index of the constraint in the value() array. + * The index represents the index of the constraint in the value() array. * * By default, no index is defined and the single constraint declaration * is targeted --===============8661659062401831884==-- From hibernate-commits at lists.jboss.org Tue Dec 2 04:57:05 2008 Content-Type: multipart/mixed; boundary="===============9219522597347701168==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15631 - in validator/trunk/validation-api/src: main/java/javax/validation/spi and 7 other directories. Date: Tue, 02 Dec 2008 04:57:05 -0500 Message-ID: --===============9219522597347701168== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-02 04:57:05 -0500 (Tue, 02 Dec 2008) New Revision: 15631 Added: validator/trunk/validation-api/src/test/java/org/ validator/trunk/validation-api/src/test/java/org/hibernate/ validator/trunk/validation-api/src/test/java/org/hibernate/validator/ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s2/ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s2/s4/ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s2/s4/FineGrainedLengthConstraint.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s2/s4/Length.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s2/s4/LengthConstraint.java Modified: validator/trunk/validation-api/src/main/java/javax/validation/Constraint= Descriptor.java validator/trunk/validation-api/src/main/java/javax/validation/Validation= .java validator/trunk/validation-api/src/main/java/javax/validation/Validator.= java validator/trunk/validation-api/src/main/java/javax/validation/spi/Valida= tionProvider.java Log: Typos and add first code form spec examples Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straintDescriptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tDescriptor.java 2008-12-02 08:17:41 UTC (rev 15630) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tDescriptor.java 2008-12-02 09:57:05 UTC (rev 15631) @@ -51,19 +51,21 @@ * Returns a map containing the annotation parameter names as keys and the * annotation parameter values as value. * If this constraint is used as part of a composed constraint, parameter - * values are reflecting the overridden parameters form the main constrai= nt. + * values are reflecting the overridden parameters from the main constrai= nt. * - * @return Returns a map containing the annotation paramter names as keys= and the annotation parameter values - * as value. + * @return Returns a map containing the annotation paramter names as keys + * and the annotation parameter values as value. */ Map getParameters(); = /** - * Return a set of composing ConstraintDescriptors where eac= h descriptor describes a composing - * constraint. ConstraintDescriptor instances of composing c= onstraints reflect overridden - * parameter values in {@link #getParameters()} and {@link #getAnnotatio= n()}. + * Return a set of composing ConstraintDescriptors where each + * descriptor describes a composing constraint. ConstraintDescripto= r + * instances of composing constraints reflect overridden parameter values= in + * {@link #getParameters()} and {@link #getAnnotation()}. * - * @return a set of ConstraintDescriptor objects or an empty = set in case there are no composing constraints. + * @return a set of ConstraintDescriptor objects or an empty = set + * in case there are no composing constraints. */ Set getComposingConstraints(); = Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validatio= n.java 2008-12-02 08:17:41 UTC (rev 15630) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validatio= n.java 2008-12-02 09:57:05 UTC (rev 15631) @@ -38,7 +38,7 @@ * The chosen provider is defined as followed: *

    *
  • if the XML configuration defines a provider, this provider is used<= /li> - *
  • if the XML configuratio does not define a provider or if no XML con= figuration + *
  • if the XML configuration does not define a provider or if no XML co= nfiguration * is present the first provider returned by the ValidationProviderResolver * isntance is used.
  • *
Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-02 08:17:41 UTC (rev 15630) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-02 09:57:05 UTC (rev 15631) @@ -52,7 +52,7 @@ * * @return constraint violations or an empty Set if none * - * @throws IllegalArgumentException e if object is null + * @throws IllegalArgumentException e if object is null or if propertyNam= e is not present */ Set> validateProperty(T object, String propert= yName, String... groups); = @@ -68,6 +68,7 @@ * for validation (default to default) * * @return constraint violations or an empty Set if none + * @throws IllegalArgumentException e if propertyName is not present */ Set> validateValue(Class beanType, String p= ropertyName, Object value, String... groups); = Modified: validator/trunk/validation-api/src/main/java/javax/validation/spi= /ValidationProvider.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/spi/Valid= ationProvider.java 2008-12-02 08:17:41 UTC (rev 15630) +++ validator/trunk/validation-api/src/main/java/javax/validation/spi/Valid= ationProvider.java 2008-12-02 09:57:05 UTC (rev 15631) @@ -47,7 +47,7 @@ * to build the ValidatorFactory instance. *

* This method can only be called on providers returning true on < - * code>#issuitable(builderType) + * code>#isSuitable(builderType) * * @param builderClass the Builder class type * @param state bootstrap state Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s2/s4/FineGrainedLengthConstraint.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/FineGrainedLengthConstraint.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/FineGrainedLengthConstraint.java 2008-12-02 09:57:05 UTC (rev 1563= 1) @@ -0,0 +1,54 @@ +package org.hibernate.validator.spec.s2.s4; + +import javax.validation.ConstraintContext; +import javax.validation.Constraint; + +/** + * Check that a string length is between min and max + * Error messages are using either key: + * - error.length.min if the min limit is reached + * - error.length.max if the max limit is reached + */ +public class FineGrainedLengthConstraint implements Constraint { + private int min; + private int max; + + /** + * Configure the constraint validator based on the elements + * specified at the time it was defined. + * @param constraint the constraint definition + */ + public void initialize(Length constraint) { + min =3D constraint.min(); + max =3D constraint.max(); + } + + /** + * Validate a specified value. + * returns false if the specified value does not conform to the defini= tion + * @exception IllegalArgumentException if the object is not of type St= ring + */ + public boolean isValid(Object value, ConstraintContext constraintConte= xt) { + if ( value =3D=3D null ) return true; + if ( !( value instanceof String ) ) { + throw new IllegalArgumentException("Expected String type"); + } + String string =3D (String) value; + int length =3D string.length(); + + //remove default error + constraintContext.disableDefaultError(); + + if (length < min) { + //add min specific error + constraintContext.addError( "{error.length.min}" ); + return false; + } + if (length > max) { + //add max specific error + constraintContext.addError( "{error.length.max}" ); + return false; + } + return true; + } +} \ No newline at end of file Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s2/s4/Length.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/Length.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/Length.java 2008-12-02 09:57:05 UTC (rev 15631) @@ -0,0 +1,22 @@ +package org.hibernate.validator.spec.s2.s4; + +import java.lang.annotation.Target; +import java.lang.annotation.Retention; +import java.lang.annotation.Documented; +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.METHOD; +import static java.lang.annotation.ElementType.FIELD; +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; +import javax.validation.ConstraintValidator; + +/** + * @author Emmanuel Bernard + */ +(a)Target({ METHOD, FIELD, ANNOTATION_TYPE }) +(a)Retention(RUNTIME) +(a)Documented +(a)ConstraintValidator(LengthConstraint.class) +public @interface Length { + int min() default Integer.MIN_VALUE; + int max() default Integer.MAX_VALUE; +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s2/s4/LengthConstraint.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/LengthConstraint.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/LengthConstraint.java 2008-12-02 09:57:05 UTC (rev 15631) @@ -0,0 +1,38 @@ +package org.hibernate.validator.spec.s2.s4; + +import javax.validation.ConstraintContext; +import javax.validation.Constraint; + +/** + * Check that a string length is between min and max + * + */ +public class LengthConstraint implements Constraint { + private int min; + private int max; + + /** + * Configure the constraint validator based on the elements + * specified at the time it was defined. + * @param constraint the constraint definition + */ + public void initialize(Length constraint) { + min =3D constraint.min(); + max =3D constraint.max(); + } + + /** + * Validate a specified value. + * returns false if the specified value does not conform to the defini= tion + * @exception IllegalArgumentException if the object is not of type St= ring + */ + public boolean isValid(Object value, ConstraintContext constraintConte= xt) { + if ( value =3D=3D null ) return true; + if ( !( value instanceof String ) ) { + throw new IllegalArgumentException("Expected String type"); + } + String string =3D (String) value; + int length =3D string.length(); + return length >=3D min && length <=3D max; + } +} --===============9219522597347701168==-- From hibernate-commits at lists.jboss.org Tue Dec 2 06:03:35 2008 Content-Type: multipart/mixed; boundary="===============4727318858176584091==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15632 - in validator/trunk: hibernate-validator/src/main/java/org/hibernate/validation/impl and 2 other directories. Date: Tue, 02 Dec 2008 06:03:35 -0500 Message-ID: --===============4727318858176584091== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-02 06:03:35 -0500 (Tue, 02 Dec 2008) New Revision: 15632 Added: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/BeanDescriptorImpl.java validator/trunk/validation-api/src/main/java/javax/validation/metadata/ Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/MetaDataProviderImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/ValidatorImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ElementDescriptorImpl.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/engine/ValidatorImplTest.java validator/trunk/validation-api/src/main/java/javax/validation/BeanDescri= ptor.java validator/trunk/validation-api/src/main/java/javax/validation/Validator.= java Log: BVAL-77 move metadata methods to BeanValidation Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/MetaDataProviderImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/MetaDataProviderImpl.java 2008-12-02 09:57:05 UTC (rev 15631) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/MetaDataProviderImpl.java 2008-12-02 11:03:35 UTC (rev 15632) @@ -41,6 +41,7 @@ import org.hibernate.validation.impl.ConstraintDescriptorImpl; import org.hibernate.validation.impl.ConstraintFactoryImpl; import org.hibernate.validation.impl.ElementDescriptorImpl; +import org.hibernate.validation.impl.BeanDescriptorImpl; import org.hibernate.validation.util.LoggerFactory; import org.hibernate.validation.util.ReflectionHelper; = @@ -65,7 +66,7 @@ /** * The main element descriptor for beanClass. */ - private ElementDescriptorImpl beanDescriptor; + private BeanDescriptorImpl beanDescriptor; = /** * List of constraints. @@ -109,7 +110,7 @@ * for this validator and create meta data. */ private void createMetaData() { - beanDescriptor =3D new ElementDescriptorImpl( beanClass, false, "" ); + beanDescriptor =3D new BeanDescriptorImpl( beanClass, this ); List classes =3D new ArrayList(); computeClassHierarchy( beanClass, classes ); for ( Class current : classes ) { Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/ValidatorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-02 09:57:05 UTC (rev 15631) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-02 11:03:35 UTC (rev 15632) @@ -334,7 +334,11 @@ return new HashSet>( failingConstraintViolations = ); } = + public BeanDescriptor getConstraintsForClass(Class clazz) { + return factory.getMetadataProvider( clazz ).getBeanDescriptor(); + } = + private void validateValue(Class beanType, Object object, Property= Iterator propertyIter, List> failingConstraintVi= olations, String... groups) { ConstraintDescriptorImpl constraintDescriptor =3D getConstraintDescripto= rForPath( beanType, propertyIter ); = @@ -492,27 +496,6 @@ = = /** - * @todo add child validation - */ - public boolean hasConstraints(Class clazz) { - return factory.getMetadataProvider( clazz ).getConstraintMetaDataList().= size() > 0; - } - - public BeanDescriptor getConstraintsForClass(Class clazz) { - return factory.getMetadataProvider( clazz ).getBeanDescriptor(); - } - - public PropertyDescriptor getConstraintsForProperty(Class clazz, Strin= g propertyName) { - return factory.getMetadataProvider( clazz ).getPropertyDescriptors().get= ( propertyName ); - } - - public Set getPropertiesWithConstraints(Class clazz) { - final MetaDataProviderImpl dataProvider =3D factory.getMetadataProvid= er( clazz ); - return Collections.unmodifiableSet( dataProvider.getPropertyDescriptors(= ).keySet() ); - } - - - /** * Checks whether the provided group name is a group sequence and if so e= xpands the group name and add the expanded * groups names to expandedGroupName * Added: validator/trunk/hibernate-validator/src/main/java/org/hibernate/vali= dation/impl/BeanDescriptorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/BeanDescriptorImpl.java (rev 0) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/BeanDescriptorImpl.java 2008-12-02 11:03:35 UTC (rev 15632) @@ -0,0 +1,35 @@ +package org.hibernate.validation.impl; + +import java.util.Set; +import java.util.Collections; +import javax.validation.BeanDescriptor; +import javax.validation.PropertyDescriptor; + +import org.hibernate.validation.engine.MetaDataProvider; + +/** + * @author Emmanuel Bernard + */ +public class BeanDescriptorImpl extends ElementDescriptorImpl implement= s BeanDescriptor { + private final MetaDataProvider metadataProvider; + + public BeanDescriptorImpl(Class returnType, MetaDataProvider metada= taProvider) { + super(returnType, false, ""); + this.metadataProvider =3D metadataProvider; + } + + /** + * @todo add child validation + */ + public boolean hasConstraints() { + return metadataProvider.getConstraintMetaDataList().size() > 0; + } + + public PropertyDescriptor getConstraintsForProperty(String propertyName) { + return metadataProvider.getPropertyDescriptors().get( propertyName ); + } + + public Set getPropertiesWithConstraints() { + return Collections.unmodifiableSet( metadataProvider.getPropertyDescript= ors().keySet() ); + } +} Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/impl/ElementDescriptorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ElementDescriptorImpl.java 2008-12-02 09:57:05 UTC (rev 15631) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ElementDescriptorImpl.java 2008-12-02 11:03:35 UTC (rev 15632) @@ -35,14 +35,14 @@ * @todo Handle problem in descirbing cyclic dependecies for propertyPath */ //FIXME I implement both interfaces on the same object as a quick hack, we= need to fix that. -public class ElementDescriptorImpl implements PropertyDescriptor, BeanDesc= riptor { - private final Class returnType; +public class ElementDescriptorImpl implements PropertyDescriptor { + private final Class returnType; private final boolean cascaded; private final List constraintDescriptors =3D new Ar= rayList(); private final String propertyPath; = = - public ElementDescriptorImpl(Class returnType, boolean cascaded, String p= ropertyPath) { + public ElementDescriptorImpl(Class returnType, boolean cascaded, Strin= g propertyPath) { this.returnType =3D returnType; this.cascaded =3D cascaded; this.propertyPath =3D propertyPath; Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/engine/ValidatorImplTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-02 09:57:05 UTC (rev 15631) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-02 11:03:35 UTC (rev 15632) @@ -70,7 +70,7 @@ @Test public void testWrongMethodName() { try { - getHibernateValidator().hasConstraints( Boy.class ); + getHibernateValidator().getConstraintsForClass( Boy.class ).hasConstrai= nts(); fail(); } catch ( ValidationException e ) { @@ -85,19 +85,19 @@ = @Test(expected =3D IllegalArgumentException.class) public void testNullParamterToValidatorImplConstructor() { - getHibernateValidator().hasConstraints( null ); + getHibernateValidator().getConstraintsForClass( null ); } = @Test public void testUnconstraintClass() { Validator validator =3D getHibernateValidator(); - assertTrue( "There should be no constraints", !validator.hasConstraints(= Unconstraint.class ) ); + assertTrue( "There should be no constraints", !validator.getConstraintsF= orClass( Unconstraint.class ).hasConstraints() ); } = @Test public void testHasConstraints() { Validator validator =3D getHibernateValidator(); - assertTrue( "There should be constraints", validator.hasConstraints( Cus= tomer.class ) ); + assertTrue( "There should be constraints", validator.getConstraintsForCl= ass( Customer.class ).hasConstraints() ); } = @Test(expected =3D IllegalArgumentException.class) @@ -271,7 +271,7 @@ @Test(expected =3D ValidationException.class) public void testInvalidSequenceName() { Validator validator =3D getHibernateValidator(); - validator.hasConstraints( EnglishDictonary.class ); + validator.getConstraintsForClass( EnglishDictonary.class ).hasConstraint= s(); } = @Test Modified: validator/trunk/validation-api/src/main/java/javax/validation/Bea= nDescriptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/BeanDescr= iptor.java 2008-12-02 09:57:05 UTC (rev 15631) +++ validator/trunk/validation-api/src/main/java/javax/validation/BeanDescr= iptor.java 2008-12-02 11:03:35 UTC (rev 15632) @@ -1,9 +1,31 @@ package javax.validation; = +import java.util.Set; + /** * Describe a constrained Java Bean and the constraints associated to it. * = * @author Emmanuel Bernard */ public interface BeanDescriptor extends ElementDescriptor { + /** + * return true if at least one constraint declaration is present for the = given bean + * or if one property is marked for validation cascade + */ + boolean hasConstraints(); + + /** + * Return the property level constraints for a given propertyName + * or null if either the property does not exist or has no constraint + * The returned object (and associated objects including ConstraintDescri= ptors) + * are immutable. + * + * @param propertyName property evaludated + */ + PropertyDescriptor getConstraintsForProperty(String propertyName); + + /** + * return the property names having at least a constraint defined + */ + Set getPropertiesWithConstraints(); } Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-02 09:57:05 UTC (rev 15631) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-02 11:03:35 UTC (rev 15632) @@ -73,14 +73,6 @@ Set> validateValue(Class beanType, String p= ropertyName, Object value, String... groups); = /** - * return true if at least one constraint declaration is present for the = given bean - * or if one property is marked for validation cascade - * - * @param clazz class type evaluated - */ - boolean hasConstraints(Class clazz); - - /** * Return the class level constraints * The returned object (and associated objects including ConstraintDescri= ptors) * are immutable. @@ -88,23 +80,4 @@ * @param clazz class type evaluated */ BeanDescriptor getConstraintsForClass(Class clazz); - - /** - * Return the property level constraints for a given propertyName - * or null if either the property does not exist or has no constraint - * The returned object (and associated objects including ConstraintDescri= ptors) - * are immutable. - * - * @param clazz class type evaluated - * @param propertyName property evaludated - */ - PropertyDescriptor getConstraintsForProperty(Class clazz, String prope= rtyName); - - /** - * return the property names having at least a constraint defined - * - * @param clazz class type evaluated - */ - Set getPropertiesWithConstraints(Class clazz); - } --===============4727318858176584091==-- From hibernate-commits at lists.jboss.org Tue Dec 2 07:18:31 2008 Content-Type: multipart/mixed; boundary="===============3015963143815790733==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15633 - validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec/s2/s4. Date: Tue, 02 Dec 2008 07:18:30 -0500 Message-ID: --===============3015963143815790733== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-02 07:18:30 -0500 (Tue, 02 Dec 2008) New Revision: 15633 Modified: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s2/s4/FineGrainedLengthConstraint.java Log: typos Modified: validator/trunk/validation-api/src/test/java/org/hibernate/valida= tor/spec/s2/s4/FineGrainedLengthConstraint.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/FineGrainedLengthConstraint.java 2008-12-02 11:03:35 UTC (rev 1563= 2) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s2/s4/FineGrainedLengthConstraint.java 2008-12-02 12:18:30 UTC (rev 1563= 3) @@ -6,8 +6,8 @@ /** * Check that a string length is between min and max * Error messages are using either key: - * - error.length.min if the min limit is reached - * - error.length.max if the max limit is reached + * - constraint.length.min if the min limit is reached + * - constraint.length.max if the max limit is reached */ public class FineGrainedLengthConstraint implements Constraint { private int min; @@ -41,12 +41,12 @@ = if (length < min) { //add min specific error - constraintContext.addError( "{error.length.min}" ); + constraintContext.addError( "{constraint.length.min}" ); return false; } if (length > max) { //add max specific error - constraintContext.addError( "{error.length.max}" ); + constraintContext.addError( "{constraint.length.max}" ); return false; } return true; --===============3015963143815790733==-- From hibernate-commits at lists.jboss.org Tue Dec 2 09:05:20 2008 Content-Type: multipart/mixed; boundary="===============0288520814052510458==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15634 - validator/trunk/validation-api/src/main/java/javax/validation. Date: Tue, 02 Dec 2008 09:05:20 -0500 Message-ID: --===============0288520814052510458== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-02 09:05:20 -0500 (Tue, 02 Dec 2008) New Revision: 15634 Modified: validator/trunk/validation-api/src/main/java/javax/validation/Validator.= java Log: Remove serializability of Validator Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-02 12:18:30 UTC (rev 15633) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-02 14:05:20 UTC (rev 15634) @@ -21,14 +21,14 @@ import java.util.Set; = /** - * Validate objects + * Validate bean instances * Implementations of this interface must be thread-safe * * @author Emmanuel Bernard * @author Hardy Ferentschik * @todo Should Serializable be part of the definition? */ -public interface Validator extends Serializable { +public interface Validator { /** * validate all constraints on object * @@ -73,7 +73,7 @@ Set> validateValue(Class beanType, String p= ropertyName, Object value, String... groups); = /** - * Return the class level constraints + * Return the descriptor object describing bean constraints * The returned object (and associated objects including ConstraintDescri= ptors) * are immutable. * --===============0288520814052510458==-- From hibernate-commits at lists.jboss.org Tue Dec 2 09:18:09 2008 Content-Type: multipart/mixed; boundary="===============5400506353157756583==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15635 - search/trunk/doc/reference/en/modules. Date: Tue, 02 Dec 2008 09:18:09 -0500 Message-ID: --===============5400506353157756583== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-02 09:18:09 -0500 (Tue, 02 Dec 2008) New Revision: 15635 Modified: search/trunk/doc/reference/en/modules/query.xml Log: HSEARCH-303 Review of the query chapter. Modified: search/trunk/doc/reference/en/modules/query.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/query.xml 2008-12-02 14:05:20 UTC= (rev 15634) +++ search/trunk/doc/reference/en/modules/query.xml 2008-12-02 14:18:09 UTC= (rev 15635) @@ -31,86 +31,109 @@ = The second most important capability of Hibernate Search is the ability to execute a Lucene query and retrieve entities managed by an - Hibernate session, providing the power of Lucene without living the + Hibernate session, providing the power of Lucene without leaving the Hibernate paradigm, and giving another dimension to the Hibernate classic - search mechanisms (HQL, Criteria query, native SQL query). + search mechanisms (HQL, Criteria query, native SQL query). Preparing and + executing a query consists of four simple steps: = - To access the Hibernate Search querying - facilities, you have to use an Hibernate - FullTextSession . A Search Session wraps a regular - org.hibernate.Session to provide query and indexi= ng - capabilities. + + + Creating a FullTextSession + = - Session session =3D sessionFactory.openSession(); + + Creating a Lucene query + + + + Wrapping the Lucene query using a + org.hibernate.Query + + + + Executing the search by calling for example + list() or + scroll() + + + + To access the querying facilities, you have to use an + FullTextSession . This Search specfic session wra= ps a + regular org.hibernate.Session to provide query and + indexing capabilities. + + + Creating a FullTextSession + + Session session =3D sessionFactory.openSession(); ... FullTextSession fullTextSession =3D Search.getFullTextSession(session); = + = - The search facility is built on native Lucene queries. + The actual search facility is built on native Lucene queries which= the + following example illustrates. = - org.apache.lucene.queryParser.QueryParser parser =3D new= QueryParser("title", new StopAnalyzer() ); + + Creating a Lucene query = + org.apache.lucene.queryParser.QueryParser parser =3D = + new QueryParser("title", new StopAnalyzer() ); + org.apache.lucene.search.Query luceneQuery =3D parser.parse( "summary:Fest= ina Or brand:Seiko" ); org.hibernate.Query fullTextQuery =3D fullTextSess= ion.createFullTextQuery( luceneQuery ); - List result =3D fullTextQuery.list(); //return a list of managed objects = + = The Hibernate query built on top of the Lucene query is a regular - org.hibernate.Query , you are in the same paradigm as= the - other Hibernate query facilities (HQL, Native or Criteria). The regular - list() , uniqueResult() , - iterate() and scroll() can be + org.hibernate.Query, which means you are in the same + paradigm as the other Hibernate query facilities (HQL, Native or Criteri= a). + The regular list() , uniqueResult(), + iterate() and scroll() methods can= be used. = - For people using Java Persistence (aka EJB 3.0 Persistence) APIs of - Hibernate, the same extensions exist: + In case you are using the Java Persistence APIs of Hibernate (aka = EJB + 3.0 Persistence), the same extensions exist: = - EntityManager em =3D entityManagerFactory.createEntityMa= nager(); + + Creating a Search query using the JPA API = + EntityManager em =3D entityManagerFactory.createEntity= Manager(); + FullTextEntityManager fullTextEntityManager =3D = org.hibernate.hibernate.search.jpa.Search.getFullTextEntityManager(em); = ... -org.apache.lucene.queryParser.QueryParser parser =3D new QueryParser("titl= e", new StopAnalyzer() ); +org.apache.lucene.queryParser.QueryParser parser =3D = + new QueryParser("title", new StopAnalyzer() ); = org.apache.lucene.search.Query luceneQuery =3D parser.parse( "summary:Fest= ina Or brand:Seiko" ); javax.persistence.Query fullTextQuery =3D fullText= EntityManager.createFullTextQuery( luceneQuery ); = List result =3D fullTextQuery.getResultList(); //return a list of managed = objects + = - The following examples show the Hibernate APIs but the same example - can be easily rewritten with the Java Persistence API by just adjusting = the - way the FullTextQuery is retrieved. + The following examples we will use the Hibernate APIs but the same + example can be easily rewritten with the Java Persistence API by just + adjusting the way the FullTextQuery is + retrieved. =

Building queries = - Hibernate Search queries are built on top of Lucene queries. It - gives you a total freedom on the kind of Lucene queries you are willin= g to - execute. However, once built, Hibernate Search abstract the query - processing from your application using org.hibernate.Query as your pri= mary - query manipulation API. + Hibernate Search queries are built on top of Lucene queries which + gives you total freedom on the type of Lucene query you want to execut= e. + However, once built, Hibernate Search wraps further query processing u= sing + org.hibernate.Query as your primary query + manipulation API. =
Building a Lucene query = - This subject is generally speaking out of the scope of this - documentation. Please refer to the Lucene documentation Lucene In Ac= tion - or Hibernate Search in Action from Manning. - - It is essential to use the same analyzer when indexing a field= and - when querying that field. Hibernate Search gives you access to the - analyzers used during indexing time (see for more information). - - //retrieve an analyzer by name -Analyzer analyzer =3D fullTextSession.getSearchFactory().getAnalyzer("phon= etic-analyzer"); - -//or the scoped analyzer for a given entity -Analyzer analyzer =3D fullTextSession.getSearchFactory().getAnalyzer(Song.= class); - - Using the same analyzer at indexing and querying time is - important. See for more information. + It is out of the scope of this documentation on how to exactly + build a Lucene query. Please refer to the online Lucene documentatio= n or + get hold of a copy of either Lucene In Action or Hibernate Search in + Action.
=
@@ -122,39 +145,58 @@ Once the Lucene query is built, it needs to be wrapped into = an Hibernate Query. = - FullTextSession fullTextSession =3D Search.getFull= TextSession( session ); + + Wrapping a Lucene query into a Hibernate Query + + FullTextSession fullTextSession =3D Search.getFu= llTextSession( session ); org.hibernate.Query fullTextQuery =3D fullTextSession.createFullTextQuery(= luceneQuery ); + = If not specified otherwise, the query will be executed again= st all indexed entities, potentially returning all types of indexed classes. It is advised, from a performance point of view, to restr= ict the returned types: = - org.hibernate.Query fullTextQuery =3D fullTextSess= ion.createFullTextQuery( luceneQuery, Customer.class ); -//or + + Filtering the search result by entity type + + org.hibernate.Query fullTextQuery =3D fullTextSe= ssion.createFullTextQuery( luceneQuery, Customer.class ); +// or fullTextQuery =3D fullTextSession.createFullTextQuery( luceneQuery, Item.c= lass, Actor.class ); + = - The first example returns only matching customers, the second - returns matching actors and items. + The first example returns only matching + Customers, the second returns matching + Actors and Items. The + type restriction is fully polymorphic which means that if there are + two indexed subclasses Salesman and + Customer of the baseclass + Person, it is possible to just specify + Person.class in order to filter on result + types.
=
Pagination = - It is recommended to restrict the number of returned objects= per - query. It is a very common use case as well, the user usually navi= gate - from one page to an other. The way to define pagination is exactly= the - way you would define pagination in a plain HQL or Criteria - query. + Out of performace reasons it is recommended to restrict the + number of returned objects per query. In fact is a very common use + case anyway that the user navigates from one page to an other. The= way + to define pagination is exactly the way you would define paginatio= n in + a plain HQL or Criteria query. = - org.hibernate.Query fullTextQuery =3D fullTextSess= ion.createFullTextQuery( luceneQuery, Customer.class ); + + Defining pagination for a search query + + org.hibernate.Query fullTextQuery =3D fullTextSe= ssion.createFullTextQuery( luceneQuery, Customer.class ); fullTextQuery.setFirstResult(15); //start from the 15th element fullTextQuery.setMaxResults(10); //return 10 elements + = It is still possible to get the total number of matching - elements regardless of the pagination. See - getResultSize() below + elements regardless of the pagination via + fulltextQuery.getResultSize= ()
= @@ -163,22 +205,24 @@ = Apache Lucene provides a very flexible and powerful way to s= ort results. While the default sorting (by relevance) is appropriate m= ost - of the time, it can interesting to sort by one or several - properties. + of the time, it can be interesting to sort by one or several other + properties. In order to do so set the Lucene Sort object to apply a + Lucene sorting strategy. = - Inject the Lucene Sort object to apply a Lucene sorting stra= tegy - to an Hibernate Search. + + Specifying a Lucene <classname>Sort</classname> in order = to + sort the results = - org.hibernate.search.FullTextQuery query =3D s.cre= ateFullTextQuery( query, Book.class ); + org.hibernate.search.FullTextQuery query =3D s.c= reateFullTextQuery( query, Book.class ); org.apache.lucene.search.Sort sort =3D new Sort(new SortField("title")); query.setSort(sort); List results =3D query.list(); + = One can notice the FullTextQuery interface which is a sub interface of - org.hibernate.Query. - - Fields used for sorting must not be tokenized. + org.hibernate.Query. Be aware that fields u= sed + for sorting must not be tokenized.
=
@@ -191,8 +235,13 @@ It is often useful, however, to refine the fetching strategy= for a specific use case. = - Criteria criteria =3D s.createCriteria( Book.class= ).setFetchMode( "authors", FetchMode.JOIN ); + + Specifying <classname>FetchMode</classname> on a + query + + Criteria criteria =3D s.createCriteria( Book.cla= ss ).setFetchMode( "authors", FetchMode.JOIN ); s.createFullTextQuery( luceneQuery ).setCriteriaQuery( criteria ); + = In this example, the query will return all Books matching the luceneQuery. The authors collection will be loaded from the same q= uery @@ -215,7 +264,11 @@ overkill. Only a small subset of the properties is necessary. Hibernate Search allows you to return a subset of properties: = - org.hibernate.search.FullTextQuery query =3D s.cre= ateFullTextQuery( luceneQuery, Book.class ); + + Using projection instead of returning the full domain + object + + org.hibernate.search.FullTextQuery query =3D s.c= reateFullTextQuery( luceneQuery, Book.class ); query.setProjection( "id", "summary", "body", "mai= nAuthor.name" ); List results =3D query.list(); Object[] firstResult =3D (Object[]) results.get(0); @@ -223,6 +276,7 @@ String summary =3D firstResult[1]; String body =3D firstResult[2]; String authorName =3D firstResult[3]; + = Hibernate Search extracts the properties from the Lucene ind= ex and convert them back to their object representation, returning a = list @@ -246,6 +300,17 @@ the latter being the simpler version. All Hibernate Search built-in types are two-way. + + + you can only project simple properties of the indexed en= tity + or its embedded associations. This means you cannot project a + whole embedded entity. + + + + projection does not work on collections or maps which are + indexed via @IndexedEmbedded + = Projection is useful for another kind of usecases. Lucene @@ -253,13 +318,17 @@ using some special placeholders, the projection mechanism can retr= ieve them: = - org.hibernate.search.FullTextQuery query =3D s.cre= ateFullTextQuery( luceneQuery, Book.class ); + + Using projection in order to retrieve meta data + + org.hibernate.search.FullTextQuery query =3D s.c= reateFullTextQuery( luceneQuery, Book.class ); query.setProjection( FullTextQuery.SCORE, FullText= Query.THIS, "mainAuthor.name" ); List results =3D query.list(); Object[] firstResult =3D (Object[]) results.get(0); float score =3D firstResult[0]; Book book =3D firstResult[1]; String authorName =3D firstResult[2]; + = You can mix and match regular fields and special placeholder= s. Here is the list of available placeholders: @@ -315,7 +384,7 @@ = Once the Hibernate Search query is built, executing it is in no = way different than executing a HQL or Criteria query. The same paradigm and - object semantic apply. All the common operations are available: + object semantic applies. All the common operations are available: list(), uniqueResult(), iterate(), scroll(). @@ -338,8 +407,8 @@ scroll() is more appropriate. Don't forget = to close the ScrollableResults object when you're done, since it keeps Lucene resources. If you expect to use - scroll but wish to load objects in batch, y= ou - can use query.setFetchSize(): When an objec= t is + scroll, but wish to load objects in batch, = you + can use query.setFetchSize(). When an objec= t is accessed, and if not already loaded, Hibernate Search will load the = next fetchSize objects in one pass. = @@ -367,21 +436,23 @@ = - But it would be costly to retrieve all the matching - documents. - - Hibernate Search allows you to retrieve the total number of + Of course it would be too costly to retrieve all the matching + documents. Hibernate Search allows you to retrieve the total number = of matching documents regardless of the pagination parameters. Even more interesting, you can retrieve the number of matching elements without triggering a single object load. = - org.hibernate.search.FullTextQuery query =3D s.creat= eFullTextQuery( luceneQuery, Book.class ); + + Determining the result size of a query + + org.hibernate.search.FullTextQuery query =3D s.cre= ateFullTextQuery( luceneQuery, Book.class ); assert 3245 =3D=3D query.getResultSize(); //return the number of matching books without loading a single one = org.hibernate.search.FullTextQuery query =3D s.createFullTextQuery( lucene= Query, Book.class ); query.setMaxResult(10); List results =3D query.list(); assert 3245 =3D=3D query.getResultSize(); //return the total number of matching books regardless of pagination + = Like Google, the number of results is approximative if the i= ndex @@ -399,7 +470,10 @@ ResultTransformer operation post query to mat= ch the targeted data structure: = - org.hibernate.search.FullTextQuery query =3D s.creat= eFullTextQuery( luceneQuery, Book.class ); + + Using ResultTransformer in conjuncton with projections</tit= le> + + <programlisting>org.hibernate.search.FullTextQuery query =3D s.cre= ateFullTextQuery( luceneQuery, Book.class ); query.setProjection( "title", "mainAuthor.name" ); = <emphasis role=3D"bold">query.setResultTransformer( = @@ -409,6 +483,7 @@ for(BookView view : results) { log.info( "Book: " + view.getTitle() + ", " + view.getAuthor() ); }</programlisting> + </example> = <para>Examples of <classname>ResultTransformer</classname> implementations can be found in the Hibernate Core codebase.</para> @@ -419,12 +494,12 @@ = <para>You will find yourself sometimes puzzled by a result showing u= p in a query or a result not showing up in a query. Luke is a great tool = to - understand those mysteries. But Hibernate Search also let's you acce= ss - to the Lucene <classname>Explanation</classname> object for a given - result (in a given query). This class is considered fairly advanced = to - Lucene users but can provide a good understanding of the scoring of = an - object. You have two ways to access the Explanation object for a giv= en - result:</para> + understand those mysteries. However, Hibernate Search also gives you + access to the Lucene <classname>Explanation</classname> object for a + given result (in a given query). This class is considered fairly + advanced to Lucene users but can provide a good understanding of the + scoring of an object. You have two ways to access the Explanation ob= ject + for a given result:</para> = <itemizedlist> <listitem> @@ -443,21 +518,26 @@ constant.</para> = <warning> - <para>The Document id has nothing to do with the entity id. do not - mess up the two notions.</para> + <para>The Document id has nothing to do with the entity id. Do not + mess up these two notions.</para> </warning> = <para>The second approach let's you project the <classname>Explanation</classname> object using the <literal>FullTextQuery.EXPLANATION</literal> constant.</para> = - <programlisting>FullTextQuery ftQuery =3D s.createFullTextQuery( luc= eneQuery, Dvd.class ) + <example> + <title>Retrieving the Lucene Explanation object using + projection + + FullTextQuery ftQuery =3D s.createFullTextQuery( l= uceneQuery, Dvd.class ) .setProjection( FullTextQuery.DOCUMENT_ID, FullTextQuery.EXPLANATION, FullTextQuery.THIS ); @SuppressWarnings("unchecked") List<Object[]> results =3D ftQuery.li= st(); for (Object[] result : results) { Explanation e =3D (Explanation) result[1]; display( e.toString() ); } + = Be careful, building the explanation object is quite expensive= , it is roughly as expensive as running the Lucene query again. Don't do = it @@ -497,10 +577,14 @@ For people familiar with the notion of Hibernate Core filters, the API= is very similar: = - fullTextQuery =3D s.createFullTextQuery( query, Driver= .class ); + + Enabling fulltext filters for a given query + + fullTextQuery =3D s.createFullTextQuery( query, Driv= er.class ); fullTextQuery.enableFullTextFilter("bestDriver"); fullTextQuery.enableFullTextFilter("security").setParameter( "login", "and= re" ); fullTextQuery.list(); //returns only best drivers where andre has credenti= als + = In this example we enabled two filters on top of the query. You = can enable (or disable) as many filters as you like. @@ -515,7 +599,10 @@ are defined. Each named filter has to specify its actual filter implementation. = - @Entity + + Defining and implementing a Filter + + @Entity @Indexed @FullTextFilterDefs( { @FullTextFilterDef(name =3D "bestDriver", impl= =3D BestDriversFilter.class), = @@ -523,8 +610,8 @@ }) public class Driver { ... } = - public class BestDriversFilter extends org.apache.lucene.search.Filter { + public class BestDriversFilter extends org.apache.lucene.search.Filter { = public DocIdSet getDocIdSet(IndexReader reader) throws IOException { OpenBitSet bitSet =3D new OpenBitSet( reader.maxDoc() ); @@ -535,6 +622,7 @@ return bitSet; } } + = BestDriversFilter is an example of a simp= le Lucene filter which reduces the result set to drivers whose score is 5= . In @@ -546,7 +634,10 @@ you want to use does not have a no-arg constructor, you can use the factory pattern: = - @Entity + + Creating a filter using the factory pattern + + @Entity @Indexed @FullTextFilterDef(name =3D "bestDriver", impl =3D BestDriversFilterFactor= y.class) public class Driver { ... } @@ -560,6 +651,7 @@ return new CachingWrapperFilter(bestDriversFilter); } } + = Hibernate Search will look for a @Factory annotated method and use it to build the filter instance. The factory = must @@ -571,13 +663,20 @@ the filter. For example a security filter might want to know which security level you want to apply: = - fullTextQuery =3D s.createFullTextQuery( query, Driver= .class ); + + Passing parameters to a defined filter + + fullTextQuery =3D s.createFullTextQuery( query, Driv= er.class ); fullTextQuery.enableFullTextFilter("security").set= Parameter( "level", 5 ); + = Each parameter name should have an associated setter on either t= he filter or filter factory of the targeted named filter definition. = - public class SecurityFilterFactory { + + Using paramters in the actual filter implementation + + public class SecurityFilterFactory { private Integer level; = /** @@ -600,6 +699,7 @@ return new CachingWrapperFilter( new QueryWrapperFilter(query) ); } } + = Note the method annotated @Key returning a FilterKey object. The returned object has a spe= cial --===============5400506353157756583==-- From hibernate-commits at lists.jboss.org Tue Dec 2 09:21:38 2008 Content-Type: multipart/mixed; boundary="===============4779998189547556868==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15636 - in search/trunk/src/java/org/hibernate/search: store and 1 other directory. Date: Tue, 02 Dec 2008 09:21:38 -0500 Message-ID: --===============4779998189547556868== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-02 09:21:37 -0500 (Tue, 02 Dec 2008) New Revision: 15636 Modified: search/trunk/src/java/org/hibernate/search/annotations/Indexed.java search/trunk/src/java/org/hibernate/search/store/DirectoryProviderFactor= y.java search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvider.java Log: Javadoc changes Modified: search/trunk/src/java/org/hibernate/search/annotations/Indexed.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/annotations/Indexed.java 200= 8-12-02 14:18:09 UTC (rev 15635) +++ search/trunk/src/java/org/hibernate/search/annotations/Indexed.java 200= 8-12-02 14:21:37 UTC (rev 15636) @@ -15,7 +15,7 @@ */ public @interface Indexed { /** - * The filename of the index + * @return The filename of the index */ String index() default ""; } Modified: search/trunk/src/java/org/hibernate/search/store/DirectoryProvide= rFactory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/store/DirectoryProviderFacto= ry.java 2008-12-02 14:18:09 UTC (rev 15635) +++ search/trunk/src/java/org/hibernate/search/store/DirectoryProviderFacto= ry.java 2008-12-02 14:21:37 UTC (rev 15636) @@ -22,20 +22,16 @@ import org.hibernate.util.StringHelper; = /** - * Create a Lucene directory provider - *

- * Lucene directory providers are configured through properties + * Create a Lucene directory provider which can be configured + * through the following properties: *

    - *
  • hibernate.search.default.* and
  • - *
  • hibernate.search.<indexname>.*
  • - *
+ *
  • hibernate.search.default.*
  • + *
  • hibernate.search.<indexname>.*,
  • + * where <indexname> properties have precedence over def= ault ones. *

    - * <indexname> properties have precedence over default - *

    * The implementation is described by - * hibernate.search.[default|indexname].directory_provider - *

    - * If none is defined the default value is FSDirectory + * hibernate.search.[default|indexname].directory_provider. + * If none is defined the default value is FSDirectory. * * @author Emmanuel Bernard * @author Sylvain Vieujot Modified: search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvi= der.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvider.ja= va 2008-12-02 14:18:09 UTC (rev 15635) +++ search/trunk/src/java/org/hibernate/search/store/FSDirectoryProvider.ja= va 2008-12-02 14:21:37 UTC (rev 15636) @@ -13,9 +13,15 @@ import org.hibernate.search.util.LoggerFactory; = /** - * Use a Lucene FSDirectory - * The base directory is represented by hibernate.search..indexBase - * The index is created in / + * Use a Lucene {@link FSDirectory}. The base directory is represented by = the property hibernate.search.default.indexBase + * or hibernate.search.<index>.indexBase. The former defines = the default base directory for all indexes whereas the + * latter allows to override the base directory on a per index basis. &= lt;index> has to be replaced with the fully qualified + * classname of the indexed class or the value of the index propert= y of the @Indexed annotation. + *

    + * The actual index files are then created in <indexBase>/<ind= ex name>, <index name> is + * per default the name of the indexed entity, or the value of the inde= x property of the @Indexed or can be specified + * as property in the configuration file using hibernate.search.<ind= ex>.indexName. + *

    * * @author Emmanuel Bernard * @author Sylvain Vieujot --===============4779998189547556868==-- From hibernate-commits at lists.jboss.org Tue Dec 2 09:28:29 2008 Content-Type: multipart/mixed; boundary="===============6087784778928640725==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15637 - in search/trunk/src: java/org/hibernate/search/analyzer and 6 other directories. Date: Tue, 02 Dec 2008 09:28:29 -0500 Message-ID: --===============6087784778928640725== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-02 09:28:28 -0500 (Tue, 02 Dec 2008) New Revision: 15637 Added: search/trunk/src/java/org/hibernate/search/analyzer/ search/trunk/src/java/org/hibernate/search/analyzer/Discriminator.java search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDiscrimin= ator.java search/trunk/src/test/org/hibernate/search/test/analyzer/Article.java search/trunk/src/test/org/hibernate/search/test/analyzer/BlogEntry.java search/trunk/src/test/org/hibernate/search/test/analyzer/LanguageDiscrim= inator.java Modified: search/trunk/src/java/org/hibernate/search/backend/AddLuceneWork.java search/trunk/src/java/org/hibernate/search/backend/Workspace.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Add= WorkDelegate.java search/trunk/src/java/org/hibernate/search/engine/DocumentBuilderContain= edEntity.java search/trunk/src/java/org/hibernate/search/engine/DocumentBuilderIndexed= Entity.java search/trunk/src/java/org/hibernate/search/util/ScopedAnalyzer.java search/trunk/src/test/org/hibernate/search/test/analyzer/AnalyzerTest.ja= va Log: HSEARCH-221 Implementation of AnalyzerDiscriminator framework Added: search/trunk/src/java/org/hibernate/search/analyzer/Discriminator.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/analyzer/Discriminator.java = (rev 0) +++ search/trunk/src/java/org/hibernate/search/analyzer/Discriminator.java = 2008-12-02 14:28:28 UTC (rev 15637) @@ -0,0 +1,23 @@ +// $Id:$ +package org.hibernate.search.analyzer; + +/** + * Allows to choose a by name defines analyzer at runtime. + * + * @author Hardy Ferentschik + */ +public interface Discriminator { + + /** + * Allows to specify the analyzer to be used for the given field based on= the specified entity state. + * + * @param value The value of the field the @AnalyzerDiscriminator annotation was placed on. null + * if the annotation was placed on class level. + * @param entity The entity to be indexed. + * @param field The document field. + * @return The name of a defined analyzer to be used for the specified field or null if the + * default analyzer for this field should be used. + * @see org.hibernate.search.annotations.AnalyzerDef + */ + String getAnanyzerDefinitionName(Object value, Object entity, String fiel= d); +} Property changes on: search/trunk/src/java/org/hibernate/search/analyzer/Di= scriminator.java ___________________________________________________________________ Name: svn:keywords + Id Added: search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDiscr= iminator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDiscrimi= nator.java (rev 0) +++ search/trunk/src/java/org/hibernate/search/annotations/AnalyzerDiscrimi= nator.java 2008-12-02 14:28:28 UTC (rev 15637) @@ -0,0 +1,22 @@ +// $Id:$ +package org.hibernate.search.annotations; + +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; +import java.lang.annotation.ElementType; +import java.lang.annotation.Documented; + +import org.hibernate.search.analyzer.Discriminator; + +/** + * Allows to dynamically select a named analyzer through a Discrimin= ator implementation. + * + * @author Hardy Ferentschik + */ +(a)Retention(RetentionPolicy.RUNTIME) +(a)Target({ ElementType.TYPE, ElementType.FIELD, ElementType.METHOD }) +(a)Documented +public @interface AnalyzerDiscriminator { + public Class impl(); +} Property changes on: search/trunk/src/java/org/hibernate/search/annotations= /AnalyzerDiscriminator.java ___________________________________________________________________ Name: svn:keywords + Id Modified: search/trunk/src/java/org/hibernate/search/backend/AddLuceneWork.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/AddLuceneWork.java 2= 008-12-02 14:21:37 UTC (rev 15636) +++ search/trunk/src/java/org/hibernate/search/backend/AddLuceneWork.java 2= 008-12-02 14:28:28 UTC (rev 15637) @@ -2,6 +2,7 @@ package org.hibernate.search.backend; = import java.io.Serializable; +import java.util.Map; = import org.apache.lucene.document.Document; = @@ -12,14 +13,29 @@ = private static final long serialVersionUID =3D -2450349312813297371L; = + private final Map fieldToAnalyzerMap; + public AddLuceneWork(Serializable id, String idInString, Class entity, Do= cument document) { - super( id, idInString, entity, document, false ); + this( id, idInString, entity, document, false ); } = public AddLuceneWork(Serializable id, String idInString, Class entity, Do= cument document, boolean batch) { + this( id, idInString, entity, document, null, batch ); + } + + public AddLuceneWork(Serializable id, String idInString, Class entity, Do= cument document, Map fieldToAnalyzerMap) { + this( id, idInString, entity, document, fieldToAnalyzerMap, false ); + } + + public AddLuceneWork(Serializable id, String idInString, Class entity, Do= cument document, Map fieldToAnalyzerMap, boolean batch) { super( id, idInString, entity, document, batch ); + this.fieldToAnalyzerMap =3D fieldToAnalyzerMap; } = + public Map getFieldToAnalyzerMap() { + return fieldToAnalyzerMap; + } + @Override public T getWorkDelegate(final WorkVisitor visitor) { return visitor.getDelegate( this ); Modified: search/trunk/src/java/org/hibernate/search/backend/Workspace.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-= 12-02 14:21:37 UTC (rev 15636) +++ search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-= 12-02 14:28:28 UTC (rev 15637) @@ -81,6 +81,10 @@ return searchFactoryImplementor.getDocumentBuilderIndexedEntity( entity = ); } = + public Analyzer getAnalyzer(String name) { + return searchFactoryImplementor.getAnalyzer( name ); + } + /** * If optimization has not been forced give a change to configured Optimi= zerStrategy * to optimize the index. Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/wo= rks/AddWorkDelegate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Ad= dWorkDelegate.java 2008-12-02 14:21:37 UTC (rev 15636) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Ad= dWorkDelegate.java 2008-12-02 14:28:28 UTC (rev 15637) @@ -1,6 +1,7 @@ package org.hibernate.search.backend.impl.lucene.works; = import java.io.IOException; +import java.util.Map; = import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.index.IndexReader; @@ -9,14 +10,16 @@ import org.slf4j.Logger; = import org.hibernate.search.SearchException; +import org.hibernate.search.backend.AddLuceneWork; import org.hibernate.search.backend.LuceneWork; import org.hibernate.search.backend.Workspace; import org.hibernate.search.backend.impl.lucene.IndexInteractionType; import org.hibernate.search.engine.DocumentBuilderIndexedEntity; import org.hibernate.search.util.LoggerFactory; +import org.hibernate.search.util.ScopedAnalyzer; = /** - * Stateless implementation that performs a AddLuceneWork. + * Stateless implementation that performs a AddLuceneWork. * * @author Emmanuel Bernard * @author Hardy Ferentschik @@ -40,8 +43,11 @@ } = public void performWork(LuceneWork work, IndexWriter writer) { + @SuppressWarnings("unchecked") DocumentBuilderIndexedEntity documentBuilder =3D workspace.getDocumentBu= ilder( work.getEntityClass() ); - Analyzer analyzer =3D documentBuilder.getAnalyzer(); + Map fieldToAnalyzerMap =3D ( ( AddLuceneWork ) work ).ge= tFieldToAnalyzerMap(); + ScopedAnalyzer analyzer =3D ( ScopedAnalyzer ) documentBuilder.getAnalyz= er(); + analyzer =3D updateAnalyzerMappings( analyzer, fieldToAnalyzerMap, works= pace ); Similarity similarity =3D documentBuilder.getSimilarity(); if ( log.isTraceEnabled() ) { log.trace( @@ -64,8 +70,37 @@ } } = + /** + * Allows to override the otherwise static field to analyzer mapping in <= code>scopedAnalyzer. + * + * @param scopedAnalyzer The scoped analyzer created at startup time. + * @param fieldToAnalyzerMap A map of Document field names f= or analyzer names. This map gets creates + * when the Lucene Document gets created and uses the state = of the entiy to index to determine analyzers + * dynamically at index time. + * @param workspace The current workspace. + * @return scopedAnalyzer in case fieldToAnalyzerMap is null or empty. Otherwise + * a clone of scopedAnalyzer is created where the analyzers = get overriden according to fieldToAnalyzerMap. + */ + private ScopedAnalyzer updateAnalyzerMappings(ScopedAnalyzer scopedAnalyz= er, Map fieldToAnalyzerMap, Workspace workspace) { + // for backwards compatability + if ( fieldToAnalyzerMap =3D=3D null || fieldToAnalyzerMap.isEmpty() ) { + return scopedAnalyzer; + } + + ScopedAnalyzer analyzerClone =3D scopedAnalyzer.clone(); + for ( Map.Entry entry : fieldToAnalyzerMap.entrySet() ) { + Analyzer analyzer =3D workspace.getAnalyzer( entry.getValue() ); + if ( analyzer =3D=3D null ) { + log.warn( "Unable to retrieve named analyzer: " + entry.getValue() ); + } + else { + analyzerClone.addScopedAnalyzer( entry.getKey(), analyzer ); + } + } + return analyzerClone; + } + public void performWork(LuceneWork work, IndexReader reader) { throw new UnsupportedOperationException(); } - } Modified: search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder= ContainedEntity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/engine/DocumentBuilderContai= nedEntity.java 2008-12-02 14:21:37 UTC (rev 15636) +++ search/trunk/src/java/org/hibernate/search/engine/DocumentBuilderContai= nedEntity.java 2008-12-02 14:28:28 UTC (rev 15637) @@ -26,8 +26,10 @@ import org.hibernate.annotations.common.reflection.XProperty; import org.hibernate.annotations.common.util.StringHelper; import org.hibernate.search.SearchException; +import org.hibernate.search.analyzer.Discriminator; import org.hibernate.search.annotations.AnalyzerDef; import org.hibernate.search.annotations.AnalyzerDefs; +import org.hibernate.search.annotations.AnalyzerDiscriminator; import org.hibernate.search.annotations.Boost; import org.hibernate.search.annotations.ClassBridge; import org.hibernate.search.annotations.ClassBridges; @@ -101,7 +103,7 @@ = Set processedClasses =3D new HashSet(); processedClasses.add( clazz ); - initializeMembers( clazz, metadata, true, "", processedClasses, context = ); + initializeClass( clazz, metadata, true, "", processedClasses, context ); = this.analyzer.setGlobalAnalyzer( metadata.analyzer ); = @@ -115,8 +117,8 @@ return isRoot; } = - private void initializeMembers(XClass clazz, PropertiesMetadata propertie= sMetadata, boolean isRoot, String prefix, - Set processedClasses, InitContext context) { + private void initializeClass(XClass clazz, PropertiesMetadata propertiesM= etadata, boolean isRoot, String prefix, + Set processedClasses, InitContext context) { List hierarchy =3D new ArrayList(); for ( XClass currClass =3D clazz; currClass !=3D null; currClass =3D cur= rClass.getSuperclass() ) { hierarchy.add( currClass ); @@ -149,14 +151,24 @@ } = /** - * Checks for class level annotations. + * Check and initialize class level annotations. + * + * @param clazz The class to process. + * @param propertiesMetadata The meta data holder. + * @param isRoot Flag indicating if the specified class is a root entity,= meaning the start of a chain of indexed + * entities. + * @param prefix The current prefix used for the Document fi= eld names. + * @param context Handle to default configuration settings. */ private void initalizeClassLevelAnnotations(XClass clazz, PropertiesMetad= ata propertiesMetadata, boolean isRoot, String prefix, InitContext context)= { + + // check for a class level specified analyzer Analyzer analyzer =3D getAnalyzer( clazz, context ); - if ( analyzer !=3D null ) { propertiesMetadata.analyzer =3D analyzer; } + + // check for AnalyzerDefs annotations checkForAnalyzerDefs( clazz, context ); = // Check for any ClassBridges annotation. @@ -164,16 +176,18 @@ if ( classBridgesAnn !=3D null ) { ClassBridge[] cbs =3D classBridgesAnn.value(); for ( ClassBridge cb : cbs ) { - bindClassAnnotation( prefix, propertiesMetadata, cb, context ); + bindClassBridgeAnnotation( prefix, propertiesMetadata, cb, context ); } } = // Check for any ClassBridge style of annotations. ClassBridge classBridgeAnn =3D clazz.getAnnotation( ClassBridge.class ); if ( classBridgeAnn !=3D null ) { - bindClassAnnotation( prefix, propertiesMetadata, classBridgeAnn, contex= t ); + bindClassBridgeAnnotation( prefix, propertiesMetadata, classBridgeAnn, = context ); } = + checkForAnalyzerDiscriminator( clazz, propertiesMetadata ); + // Get similarity //TODO: similarity form @IndexedEmbedded are not taken care of. Exceptio= n?? if ( isRoot ) { @@ -190,6 +204,7 @@ checkForField( member, propertiesMetadata, prefix, context ); checkForFields( member, propertiesMetadata, prefix, context ); checkForAnalyzerDefs( member, context ); + checkForAnalyzerDiscriminator( member, propertiesMetadata ); checkForIndexedEmbedded( member, propertiesMetadata, prefix, processedCl= asses, context ); checkForContainedIn( member, propertiesMetadata ); } @@ -241,7 +256,30 @@ context.addAnalyzerDef( def ); } = + private void checkForAnalyzerDiscriminator(XAnnotatedElement annotatedEle= ment, PropertiesMetadata propertiesMetadata) { + AnalyzerDiscriminator discriminiatorAnn =3D annotatedElement.getAnnotati= on( AnalyzerDiscriminator.class ); + if ( discriminiatorAnn !=3D null ) { + if ( propertiesMetadata.discriminator !=3D null ) { + throw new SearchException( + "Multiple AnalyzerDiscriminator defined in the same class hierarchy:= " + beanClass.getName() + ); + } + = + Class discriminatorClass =3D discriminiatorAnn= .impl(); + try { + propertiesMetadata.discriminator =3D discriminatorClass.newInstance(); + } + catch ( Exception e ) { + throw new SearchException( + "Unable to instantiate analyzer discriminator implementation: " + di= scriminatorClass.getName() + ); + } = + if ( annotatedElement instanceof XMember ) { + propertiesMetadata.discriminatorGetter =3D ( XMember ) annotatedElemen= t; + } + } + } = public Similarity getSimilarity() { return similarity; @@ -333,7 +371,7 @@ Analyzer analyzer =3D getAnalyzer( member, context ); metadata.analyzer =3D analyzer !=3D null ? analyzer : propertiesMetada= ta.analyzer; String localPrefix =3D buildEmbeddedPrefix( prefix, embeddedAnn, membe= r ); - initializeMembers( elementClass, metadata, false, localPrefix, process= edClasses, context ); + initializeClass( elementClass, metadata, false, localPrefix, processed= Classes, context ); /** * We will only index the "expected" type but that's OK, HQL cannot do= downcasting either */ @@ -396,8 +434,7 @@ return ReflectionHelper.getAttributeName( member, name ); } = - private void bindClassAnnotation(String prefix, PropertiesMetadata proper= tiesMetadata, ClassBridge ann, InitContext context) { - //FIXME name should be prefixed + private void bindClassBridgeAnnotation(String prefix, PropertiesMetadata = propertiesMetadata, ClassBridge ann, InitContext context) { String fieldName =3D prefix + ann.name(); propertiesMetadata.classNames.add( fieldName ); propertiesMetadata.classStores.add( getStore( ann.store() ) ); @@ -641,6 +678,8 @@ protected static class PropertiesMetadata { public Float boost; public Analyzer analyzer; + public Discriminator discriminator; + public XMember discriminatorGetter; public final List fieldNames =3D new ArrayList(); public final List fieldGetters =3D new ArrayList(); public final List fieldBridges =3D new ArrayList(); Modified: search/trunk/src/java/org/hibernate/search/engine/DocumentBuilder= IndexedEntity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/engine/DocumentBuilderIndexe= dEntity.java 2008-12-02 14:21:37 UTC (rev 15636) +++ search/trunk/src/java/org/hibernate/search/engine/DocumentBuilderIndexe= dEntity.java 2008-12-02 14:28:28 UTC (rev 15637) @@ -7,6 +7,9 @@ import java.util.Collection; import java.util.List; import java.util.Map; +import java.util.HashMap; +import java.util.Set; +import java.util.HashSet; = import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.document.Document; @@ -23,6 +26,7 @@ import org.hibernate.annotations.common.util.ReflectHelper; import org.hibernate.proxy.HibernateProxy; import org.hibernate.search.SearchException; +import org.hibernate.search.analyzer.Discriminator; import org.hibernate.search.annotations.DocumentId; import org.hibernate.search.annotations.Index; import org.hibernate.search.annotations.ProvidedId; @@ -295,8 +299,7 @@ = String idInString =3D idBridge.objectToString( id ); if ( workType =3D=3D WorkType.ADD ) { - Document doc =3D getDocument( entity, id ); - queue.add( new AddLuceneWork( id, idInString, entityClass, doc ) ); + queue.add( createAddWork( entityClass, entity, id, idInString, false ) = ); } else if ( workType =3D=3D WorkType.DELETE || workType =3D=3D WorkType.PU= RGE ) { queue.add( new DeleteLuceneWork( id, idInString, entityClass ) ); @@ -305,7 +308,6 @@ queue.add( new PurgeAllLuceneWork( entityClass ) ); } else if ( workType =3D=3D WorkType.UPDATE || workType =3D=3D WorkType.CO= LLECTION ) { - Document doc =3D getDocument( entity, id ); /** * even with Lucene 2.1, use of indexWriter to update is not an option * We can only delete by term, and the index doesn't have a term that @@ -314,12 +316,11 @@ * double file opening. */ queue.add( new DeleteLuceneWork( id, idInString, entityClass ) ); - queue.add( new AddLuceneWork( id, idInString, entityClass, doc ) ); + queue.add( createAddWork( entityClass, entity, id, idInString, false ) = ); } else if ( workType =3D=3D WorkType.INDEX ) { - Document doc =3D getDocument( entity, id ); queue.add( new DeleteLuceneWork( id, idInString, entityClass ) ); - queue.add( new AddLuceneWork( id, idInString, entityClass, doc, true ) = ); + queue.add( createAddWork( entityClass, entity, id, idInString, true ) ); } else { throw new AssertionFailure( "Unknown WorkType: " + workType ); @@ -328,14 +329,34 @@ super.addWorkToQueue( entityClass, entity, id, workType, queue, searchFa= ctoryImplementor ); } = + private AddLuceneWork createAddWork(Class entityClass, T entity, Seria= lizable id, String idInString, boolean isBatch) { + Map fieldToAnalyzerMap =3D new HashMap(); + Document doc =3D getDocument( entity, id, fieldToAnalyzerMap ); + AddLuceneWork addWork; + if ( fieldToAnalyzerMap.isEmpty() ) { + addWork =3D new AddLuceneWork( id, idInString, entityClass, doc, isBatc= h ); + } + else { + addWork =3D new AddLuceneWork( id, idInString, entityClass, doc, fieldT= oAnalyzerMap, isBatch ); + } + return addWork; + } + /** * Builds the Lucene Document for a given entity insta= nce and its id. * * @param instance The entity for which to build the matching Lucene Document * @param id the entity id. + * @param fieldToAnalyzerMap this maps gets populated while generateing t= he Document. + * It allows to specify for any document field a named analyzer to use. T= his parameter cannot be null. + * * @return The Lucene Document for the specified entity. */ - public Document getDocument(T instance, Serializable id) { + public Document getDocument(T instance, Serializable id, Map fieldToAnalyzerMap) { + if ( fieldToAnalyzerMap =3D=3D null ) { + throw new IllegalArgumentException( "fieldToAnalyzerMap cannot be null"= ); + } + Document doc =3D new Document(); final Class entityType =3D Hibernate.getClass( instance ); if ( metadata.boost !=3D null ) { @@ -361,16 +382,21 @@ idBridge.set( idKeywordName, id, doc, luceneOptions ); = // finally add all other document fields - buildDocumentFields( instance, doc, metadata ); + Set processedFieldNames =3D new HashSet(); + buildDocumentFields( instance, doc, metadata, fieldToAnalyzerMap, proces= sedFieldNames ); return doc; } = - private void buildDocumentFields(Object instance, Document doc, Propertie= sMetadata propertiesMetadata) { + private void buildDocumentFields(Object instance, Document doc, Propertie= sMetadata propertiesMetadata, Map fieldToAnalyzerMap, + Set processedFieldNames) { if ( instance =3D=3D null ) { return; } - //needed for field access: I cannot work in the proxied version + + // needed for field access: I cannot work in the proxied version Object unproxiedInstance =3D unproxy( instance ); + + // process the class bridges for ( int i =3D 0; i < propertiesMetadata.classBridges.size(); i++ ) { FieldBridge fb =3D propertiesMetadata.classBridges.get( i ); fb.set( @@ -378,6 +404,8 @@ doc, propertiesMetadata.getClassLuceneOptions( i ) ); } + + // process the indexed fields for ( int i =3D 0; i < propertiesMetadata.fieldNames.size(); i++ ) { XMember member =3D propertiesMetadata.fieldGetters.get( i ); Object value =3D ReflectionHelper.getMemberValue( unproxiedInstance, me= mber ); @@ -386,6 +414,13 @@ propertiesMetadata.getFieldLuceneOptions( i ) ); } + + // allow analyzer override for the fields added by the class and field b= ridges + allowAnalyzerDiscriminatorOverride( + doc, propertiesMetadata, fieldToAnalyzerMap, processedFieldNames, unpr= oxiedInstance + ); + + // recursively process embedded objects for ( int i =3D 0; i < propertiesMetadata.embeddedGetters.size(); i++ ) { XMember member =3D propertiesMetadata.embeddedGetters.get( i ); Object value =3D ReflectionHelper.getMemberValue( unproxiedInstance, me= mber ); @@ -398,21 +433,27 @@ switch ( propertiesMetadata.embeddedContainers.get( i ) ) { case ARRAY: for ( Object arrayValue : ( Object[] ) value ) { - buildDocumentFields( arrayValue, doc, embeddedMetadata ); + buildDocumentFields( + arrayValue, doc, embeddedMetadata, fieldToAnalyzerMap, processedFi= eldNames + ); } break; case COLLECTION: for ( Object collectionValue : ( Collection ) value ) { - buildDocumentFields( collectionValue, doc, embeddedMetadata ); + buildDocumentFields( + collectionValue, doc, embeddedMetadata, fieldToAnalyzerMap, proces= sedFieldNames + ); } break; case MAP: for ( Object collectionValue : ( ( Map ) value ).values() ) { - buildDocumentFields( collectionValue, doc, embeddedMetadata ); + buildDocumentFields( + collectionValue, doc, embeddedMetadata, fieldToAnalyzerMap, proces= sedFieldNames + ); } break; case OBJECT: - buildDocumentFields( value, doc, embeddedMetadata ); + buildDocumentFields( value, doc, embeddedMetadata, fieldToAnalyzerMap= , processedFieldNames ); break; default: throw new AssertionFailure( @@ -423,6 +464,40 @@ } } = + /** + * Allows a analyzer discriminator to override the analyzer used for any = field in the Lucene document. + * + * @param doc The Lucene Document which shall be indexed. + * @param propertiesMetadata The metadata for the entity we currently add= to the document. + * @param fieldToAnalyzerMap This map contains the actual override data. = It is a map between document fields names and + * analyzer definition names. This map will be added to the Work instance and processed at actual indexing time. + * @param processedFieldNames A list of field names we have already proce= ssed. + * @param unproxiedInstance The entity we currently "add" to the document. + */ + private void allowAnalyzerDiscriminatorOverride(Document doc, PropertiesM= etadata propertiesMetadata, Map fieldToAnalyzerMap, Set processedFieldNames, Object unproxiedInstance) { + Discriminator discriminator =3D propertiesMetadata.discriminator; + if ( discriminator =3D=3D null ) { + return; + } + + Object value =3D null; + if ( propertiesMetadata.discriminatorGetter !=3D null ) { + value =3D ReflectionHelper.getMemberValue( unproxiedInstance, propertie= sMetadata.discriminatorGetter ); + } + + // now we give the discriminator the oppertunity to specify a analyzer p= er field level + for ( Object o : doc.getFields() ) { + Field field =3D ( Field ) o; + if ( !processedFieldNames.contains( field.name() ) ) { + String analyzerName =3D discriminator.getAnanyzerDefinitionName( value= , unproxiedInstance, field.name() ); + if ( analyzerName !=3D null ) { + fieldToAnalyzerMap.put( field.name(), analyzerName ); + } + processedFieldNames.add( field.name() ); + } + } + } + private Object unproxy(Object value) { //FIXME this service should be part of Core? if ( value instanceof HibernateProxy ) { Modified: search/trunk/src/java/org/hibernate/search/util/ScopedAnalyzer.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/util/ScopedAnalyzer.java 200= 8-12-02 14:21:37 UTC (rev 15636) +++ search/trunk/src/java/org/hibernate/search/util/ScopedAnalyzer.java 200= 8-12-02 14:28:28 UTC (rev 15637) @@ -16,11 +16,18 @@ * @author Emmanuel Bernard */ public class ScopedAnalyzer extends Analyzer { + private Analyzer globalAnalyzer; + private Map scopedAnalyzers =3D new HashMap(); + public ScopedAnalyzer() { } = - private Analyzer globalAnalyzer; - private Map scopedAnalyzers =3D new HashMap(); + private ScopedAnalyzer( Analyzer globalAnalyzer, Map sc= opedAnalyzers) { + this.globalAnalyzer =3D globalAnalyzer; + for ( Map.Entry entry : scopedAnalyzers.entrySet() ) { + addScopedAnalyzer( entry.getKey(), entry.getValue() ); + } + } = public void setGlobalAnalyzer( Analyzer globalAnalyzer ) { this.globalAnalyzer =3D globalAnalyzer; @@ -45,4 +52,9 @@ } return analyzer; } + + public ScopedAnalyzer clone() { + ScopedAnalyzer clone =3D new ScopedAnalyzer( globalAnalyzer, scopedAnaly= zers ); + return clone; + } } Modified: search/trunk/src/test/org/hibernate/search/test/analyzer/Analyzer= Test.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/analyzer/AnalyzerTest.j= ava 2008-12-02 14:21:37 UTC (rev 15636) +++ search/trunk/src/test/org/hibernate/search/test/analyzer/AnalyzerTest.j= ava 2008-12-02 14:28:28 UTC (rev 15637) @@ -1,6 +1,10 @@ // $Id$ package org.hibernate.search.test.analyzer; = +import java.util.HashSet; +import java.util.Set; +import javax.print.attribute.HashAttributeSet; + import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.Token; import org.apache.lucene.analysis.standard.StandardAnalyzer; @@ -8,94 +12,154 @@ import org.slf4j.Logger; = import org.hibernate.Transaction; +import org.hibernate.annotations.common.reflection.ReflectionManager; +import org.hibernate.annotations.common.reflection.XClass; import org.hibernate.search.FullTextQuery; import org.hibernate.search.FullTextSession; import org.hibernate.search.Search; import org.hibernate.search.SearchFactory; +import org.hibernate.search.SearchException; +import org.hibernate.search.impl.InitContext; +import org.hibernate.search.cfg.SearchConfiguration; +import org.hibernate.search.cfg.SearchConfigurationFromHibernateCore; +import org.hibernate.search.engine.DocumentBuilderContainedEntity; import org.hibernate.search.test.SearchTestCase; import org.hibernate.search.test.util.AnalyzerUtils; import org.hibernate.search.util.LoggerFactory; = /** * @author Emmanuel Bernard + * @author Hardy Ferentschik */ public class AnalyzerTest extends SearchTestCase { = public static final Logger log =3D LoggerFactory.make(); = + public void testAnalyzerDiscriminator() throws Exception { + Article germanArticle =3D new Article(); + germanArticle.setLanguage( "de" ); + germanArticle.setText( "aufeinanderschl=EF=BF=BDgen" ); + Set
    references =3D new HashSet
    (); + references.add( germanArticle ); + + + Article englishArticle =3D new Article(); + englishArticle.setLanguage( "en" ); + englishArticle.setText( "acknowledgment" ); + englishArticle.setReferences( references ); + + FullTextSession s =3D Search.getFullTextSession( openSession() ); + Transaction tx =3D s.beginTransaction(); + s.persist( englishArticle ); + tx.commit(); + + tx =3D s.beginTransaction(); + + // at query time we use a standard analyzer. We explicitly search for to= kens which can only be found if the + // right language specific stemmer was used at index time + QueryParser parser =3D new QueryParser( "references.text", new StandardA= nalyzer() ); + org.apache.lucene.search.Query luceneQuery =3D parser.parse( "aufeinande= rschlug" ); + FullTextQuery query =3D s.createFullTextQuery( luceneQuery ); + assertEquals( 1, query.getResultSize() ); + + parser =3D new QueryParser( "text", new StandardAnalyzer() ); + luceneQuery =3D parser.parse( "acknowledg" ); + query =3D s.createFullTextQuery( luceneQuery ); + assertEquals( 1, query.getResultSize() ); + + tx.commit(); + s.close(); + } + + public void testMultipleAnalyzerDiscriminatorDefinitions() throws Excepti= on { + SearchConfigurationFromHibernateCore searchConfig =3D new SearchConfigur= ationFromHibernateCore( cfg ); + ReflectionManager reflectionManager =3D searchConfig.getReflectionManage= r(); + XClass xclass =3D reflectionManager.toXClass( BlogEntry.class ); + InitContext context =3D new InitContext( searchConfig ); + try { + new DocumentBuilderContainedEntity( xclass, context, reflectionManager = ); + fail(); + } + catch ( SearchException e ) { + assertTrue( "Wrong error message", e.getMessage().startsWith( "Multiple= AnalyzerDiscriminator defined in the same class hierarchy" )); + } + } + public void testScopedAnalyzers() throws Exception { MyEntity en =3D new MyEntity(); - en.setEntity("Entity"); - en.setField("Field"); - en.setProperty("Property"); - en.setComponent(new MyComponent()); - en.getComponent().setComponentProperty("component property"); - FullTextSession s =3D Search.getFullTextSession(openSession()); + en.setEntity( "Entity" ); + en.setField( "Field" ); + en.setProperty( "Property" ); + en.setComponent( new MyComponent() ); + en.getComponent().setComponentProperty( "component property" ); + FullTextSession s =3D Search.getFullTextSession( openSession() ); Transaction tx =3D s.beginTransaction(); - s.persist(en); + s.persist( en ); tx.commit(); = tx =3D s.beginTransaction(); - QueryParser parser =3D new QueryParser("id", new StandardAnalyzer()); - org.apache.lucene.search.Query luceneQuery =3D parser.parse("entity:alar= m"); - FullTextQuery query =3D s.createFullTextQuery(luceneQuery, MyEntity.clas= s); - assertEquals(1, query.getResultSize()); + QueryParser parser =3D new QueryParser( "id", new StandardAnalyzer() ); + org.apache.lucene.search.Query luceneQuery =3D parser.parse( "entity:ala= rm" ); + FullTextQuery query =3D s.createFullTextQuery( luceneQuery, MyEntity.cla= ss ); + assertEquals( 1, query.getResultSize() ); = - luceneQuery =3D parser.parse("property:cat"); - query =3D s.createFullTextQuery(luceneQuery, MyEntity.class); - assertEquals(1, query.getResultSize()); + luceneQuery =3D parser.parse( "property:cat" ); + query =3D s.createFullTextQuery( luceneQuery, MyEntity.class ); + assertEquals( 1, query.getResultSize() ); = - luceneQuery =3D parser.parse("field:energy"); - query =3D s.createFullTextQuery(luceneQuery, MyEntity.class); - assertEquals(1, query.getResultSize()); + luceneQuery =3D parser.parse( "field:energy" ); + query =3D s.createFullTextQuery( luceneQuery, MyEntity.class ); + assertEquals( 1, query.getResultSize() ); = - luceneQuery =3D parser.parse("component.componentProperty:noise"); - query =3D s.createFullTextQuery(luceneQuery, MyEntity.class); - assertEquals(1, query.getResultSize()); + luceneQuery =3D parser.parse( "component.componentProperty:noise" ); + query =3D s.createFullTextQuery( luceneQuery, MyEntity.class ); + assertEquals( 1, query.getResultSize() ); = - s.delete(query.uniqueResult()); + s.delete( query.uniqueResult() ); tx.commit(); = s.close(); } = public void testScopedAnalyzersFromSearchFactory() throws Exception { - FullTextSession session =3D Search.getFullTextSession(openSession()); + FullTextSession session =3D Search.getFullTextSession( openSession() ); SearchFactory searchFactory =3D session.getSearchFactory(); - Analyzer analyzer =3D searchFactory.getAnalyzer(MyEntity.class); + Analyzer analyzer =3D searchFactory.getAnalyzer( MyEntity.class ); = // you can pass what so ever into the analysis since the used analyzers = are // returning the same tokens all the time. We just want to make sure that // the right analyzers are used. - Token[] tokens =3D AnalyzerUtils.tokensFromAnalysis(analyzer, "entity", = ""); - AnalyzerUtils.assertTokensEqual(tokens, new String[] { "alarm", "dog", "= performance" }); + Token[] tokens =3D AnalyzerUtils.tokensFromAnalysis( analyzer, "entity",= "" ); + AnalyzerUtils.assertTokensEqual( tokens, new String[] { "alarm", "dog", = "performance" } ); = - tokens =3D AnalyzerUtils.tokensFromAnalysis(analyzer, "property", ""); - AnalyzerUtils.assertTokensEqual(tokens, new String[] { "sound", "cat", "= speed" }); + tokens =3D AnalyzerUtils.tokensFromAnalysis( analyzer, "property", "" ); + AnalyzerUtils.assertTokensEqual( tokens, new String[] { "sound", "cat", = "speed" } ); = - tokens =3D AnalyzerUtils.tokensFromAnalysis(analyzer, "field", ""); - AnalyzerUtils.assertTokensEqual(tokens, new String[] { "music", "elephan= t", "energy" }); + tokens =3D AnalyzerUtils.tokensFromAnalysis( analyzer, "field", "" ); + AnalyzerUtils.assertTokensEqual( tokens, new String[] { "music", "elepha= nt", "energy" } ); = - tokens =3D AnalyzerUtils.tokensFromAnalysis(analyzer, "component.compone= ntProperty", ""); - AnalyzerUtils.assertTokensEqual(tokens, new String[] { "noise", "mouse",= "light" }); + tokens =3D AnalyzerUtils.tokensFromAnalysis( analyzer, "component.compon= entProperty", "" ); + AnalyzerUtils.assertTokensEqual( tokens, new String[] { "noise", "mouse"= , "light" } ); = // test border cases try { - searchFactory.getAnalyzer((Class) null); - } catch ( IllegalArgumentException iae ) { - log.debug("success"); + searchFactory.getAnalyzer( ( Class ) null ); } + catch ( IllegalArgumentException iae ) { + log.debug( "success" ); + } = try { - searchFactory.getAnalyzer(String.class); - } catch ( IllegalArgumentException iae ) { - log.debug("success"); + searchFactory.getAnalyzer( String.class ); } + catch ( IllegalArgumentException iae ) { + log.debug( "success" ); + } = session.close(); } = protected Class[] getMappings() { - return new Class[] { MyEntity.class }; + return new Class[] { MyEntity.class, Article.class }; } } Added: search/trunk/src/test/org/hibernate/search/test/analyzer/Article.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/analyzer/Article.java = (rev 0) +++ search/trunk/src/test/org/hibernate/search/test/analyzer/Article.java 2= 008-12-02 14:28:28 UTC (rev 15637) @@ -0,0 +1,94 @@ +// $Id:$ +package org.hibernate.search.test.analyzer; + +import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.OneToMany; + +import org.apache.solr.analysis.EnglishPorterFilterFactory; +import org.apache.solr.analysis.GermanStemFilterFactory; +import org.apache.solr.analysis.LowerCaseFilterFactory; +import org.apache.solr.analysis.StandardTokenizerFactory; + +import org.hibernate.search.annotations.AnalyzerDef; +import org.hibernate.search.annotations.AnalyzerDefs; +import org.hibernate.search.annotations.AnalyzerDiscriminator; +import org.hibernate.search.annotations.DocumentId; +import org.hibernate.search.annotations.Field; +import org.hibernate.search.annotations.Indexed; +import org.hibernate.search.annotations.IndexedEmbedded; +import org.hibernate.search.annotations.Store; +import org.hibernate.search.annotations.TokenFilterDef; +import org.hibernate.search.annotations.TokenizerDef; + +/** + * @author Hardy Ferentschik + */ +(a)Entity +(a)Indexed +(a)AnalyzerDefs({ + @AnalyzerDef(name =3D "en", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D EnglishPorterFilterFactory.class + ) + }), + @AnalyzerDef(name =3D "de", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D GermanStemFilterFactory.class) + }) +}) +public class Article { + + private Integer id; + private String language; + private String text; + private Set
    references; + + @Id + @GeneratedValue + @DocumentId + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id =3D id; + } + + @Field(store =3D Store.YES) + @AnalyzerDiscriminator(impl =3D LanguageDiscriminator.class) + public String getLanguage() { + return language; + } + + public void setLanguage(String language) { + this.language =3D language; + } + + @Field(store =3D Store.YES) + public String getText() { + return text; + } + + public void setText(String text) { + this.text =3D text; + } + + @OneToMany(cascade =3D CascadeType.ALL) + @IndexedEmbedded(depth =3D 1) + public Set
    getReferences() { + return references; + } + + public void setReferences(Set
    references) { + this.references =3D references; + } +} + Property changes on: search/trunk/src/test/org/hibernate/search/test/analyz= er/Article.java ___________________________________________________________________ Name: svn:keywords + Id Added: search/trunk/src/test/org/hibernate/search/test/analyzer/BlogEntry.j= ava =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/analyzer/BlogEntry.java= (rev 0) +++ search/trunk/src/test/org/hibernate/search/test/analyzer/BlogEntry.java= 2008-12-02 14:28:28 UTC (rev 15637) @@ -0,0 +1,94 @@ +// $Id:$ +package org.hibernate.search.test.analyzer; + +import java.util.Set; +import javax.persistence.CascadeType; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.Id; +import javax.persistence.OneToMany; + +import org.apache.solr.analysis.EnglishPorterFilterFactory; +import org.apache.solr.analysis.GermanStemFilterFactory; +import org.apache.solr.analysis.LowerCaseFilterFactory; +import org.apache.solr.analysis.StandardTokenizerFactory; + +import org.hibernate.search.annotations.AnalyzerDef; +import org.hibernate.search.annotations.AnalyzerDefs; +import org.hibernate.search.annotations.AnalyzerDiscriminator; +import org.hibernate.search.annotations.DocumentId; +import org.hibernate.search.annotations.Field; +import org.hibernate.search.annotations.Indexed; +import org.hibernate.search.annotations.IndexedEmbedded; +import org.hibernate.search.annotations.Store; +import org.hibernate.search.annotations.TokenFilterDef; +import org.hibernate.search.annotations.TokenizerDef; + +/** + * @author Hardy Ferentschik + */ +(a)Entity +(a)Indexed +(a)AnalyzerDefs({ + @AnalyzerDef(name =3D "en", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D EnglishPorterFilterFactory.class + ) + }), + @AnalyzerDef(name =3D "de", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D GermanStemFilterFactory.class) + }) +}) +(a)AnalyzerDiscriminator(impl =3D LanguageDiscriminator.class) +public class BlogEntry { + + private Integer id; + private String language; + private String text; + private Set references; + + @Id + @GeneratedValue + @DocumentId + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id =3D id; + } + + @Field(store =3D Store.YES) + @AnalyzerDiscriminator(impl =3D LanguageDiscriminator.class) + public String getLanguage() { + return language; + } + + public void setLanguage(String language) { + this.language =3D language; + } + + @Field(store =3D Store.YES) + public String getText() { + return text; + } + + public void setText(String text) { + this.text =3D text; + } + + @OneToMany(cascade =3D CascadeType.ALL) + @IndexedEmbedded(depth =3D 1) + public Set getReferences() { + return references; + } + + public void setReferences(Set references) { + this.references =3D references; + } +} \ No newline at end of file Property changes on: search/trunk/src/test/org/hibernate/search/test/analyz= er/BlogEntry.java ___________________________________________________________________ Name: svn:keywords + Id Added: search/trunk/src/test/org/hibernate/search/test/analyzer/LanguageDis= criminator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/analyzer/LanguageDiscri= minator.java (rev 0) +++ search/trunk/src/test/org/hibernate/search/test/analyzer/LanguageDiscri= minator.java 2008-12-02 14:28:28 UTC (rev 15637) @@ -0,0 +1,17 @@ +// $Id:$ +package org.hibernate.search.test.analyzer; + +import org.hibernate.search.analyzer.Discriminator; + +/** + * @author Hardy Ferentschik + */ +public class LanguageDiscriminator implements Discriminator { + + public String getAnanyzerDefinitionName(Object value, Object entity, Stri= ng field) { + if ( value =3D=3D null || !( entity instanceof Article ) ) { + return null; + } + return (String) value; + } +} Property changes on: search/trunk/src/test/org/hibernate/search/test/analyz= er/LanguageDiscriminator.java ___________________________________________________________________ Name: svn:keywords + Id --===============6087784778928640725==-- From hibernate-commits at lists.jboss.org Tue Dec 2 09:48:01 2008 Content-Type: multipart/mixed; boundary="===============6547406676102361884==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15638 - in validator/trunk: hibernate-validator/src/main/java/org/hibernate/validation/impl and 3 other directories. Date: Tue, 02 Dec 2008 09:47:56 -0500 Message-ID: --===============6547406676102361884== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-02 09:47:55 -0500 (Tue, 02 Dec 2008) New Revision: 15638 Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/ValidatorImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ConstraintViolationImpl.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/bootstrap/ValidationTest.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/engine/ValidatorImplTest.java validator/trunk/validation-api/src/main/java/javax/validation/Constraint= Violation.java Log: BVAL-76 add ConstraintViolation getRawMessage() and rename getMessage() to = getInterpolatedMessage() Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/ValidatorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-02 14:28:28 UTC (rev 15637) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-02 14:47:55 UTC (rev 15638) @@ -164,13 +164,15 @@ = if ( !constraintDescriptor.getConstraintImplementation().isValid( value= , contextImpl ) ) { for ( ConstraintContextImpl.ErrorMessage error : contextImpl.getErrorM= essages() ) { - String message =3D messageResolver.interpolate( - error.getMessage(), + final String message =3D error.getMessage(); + String interpolatedMessage =3D messageResolver.interpolate( + message, constraintDescriptor, leafBeanInstance ); ConstraintViolationImpl failingConstraintViolation =3D new Constra= intViolationImpl( message, + interpolatedMessage, context.getRootBean(), metaDataProvider.getBeanClass(), leafBeanInstance, @@ -299,13 +301,15 @@ if ( !wrapper.descriptor.getConstraintImplementation().isValid( wrappe= r.value, contextImpl ) ) { = for ( ConstraintContextImpl.ErrorMessage error : contextImpl.getError= Messages() ) { - String message =3D messageResolver.interpolate( - error.getMessage(), + final String message =3D error.getMessage(); + String interpolatedMessage =3D messageResolver.interpolate( + message, wrapper.descriptor, wrapper.value ); ConstraintViolationImpl failingConstraintViolation =3D new Constr= aintViolationImpl( message, + interpolatedMessage, object, beanType, object, @@ -366,13 +370,15 @@ ConstraintContextImpl contextImpl =3D new ConstraintContextImpl(constr= aintDescriptor); if ( !constraintDescriptor.getConstraintImplementation().isValid( obje= ct, contextImpl ) ) { for ( ConstraintContextImpl.ErrorMessage error : contextImpl.getError= Messages() ) { - String message =3D messageResolver.interpolate( - error.getMessage(), + final String message =3D error.getMessage(); + String interpolatedMessage =3D messageResolver.interpolate( + message, constraintDescriptor, object ); ConstraintViolationImpl failingConstraintViolation =3D new Constr= aintViolationImpl( message, + interpolatedMessage, null, null, null, Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/impl/ConstraintViolationImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintViolationImpl.java 2008-12-02 14:28:28 UTC (rev 15637) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintViolationImpl.java 2008-12-02 14:47:55 UTC (rev 15638) @@ -27,7 +27,7 @@ * @author Hardy Ferentschik */ public class ConstraintViolationImpl implements ConstraintViolation { - private String message; + private String interpolatedMessage; private T rootBean; private Class beanClass; private Object value; @@ -35,11 +35,14 @@ private HashSet groups; private Object leafBeanInstance; private final ConstraintDescriptor constraintDescriptor; + private String rawMessage; = = - public ConstraintViolationImpl(String message, T rootBean, Class beanC= lass, Object leafBeanInstance, Object value, + public ConstraintViolationImpl(String rawMessage, String interpolatedMess= age, T rootBean, Class beanClass, + Object leafBeanInstance, Object value, String propertyPath, String group, ConstraintDescriptor constra= intDescriptor) { - this.message =3D message; + this.rawMessage =3D rawMessage; + this.interpolatedMessage =3D interpolatedMessage; this.rootBean =3D rootBean; this.beanClass =3D beanClass; this.value =3D value; @@ -53,10 +56,14 @@ /** * {@inheritDoc} */ - public String getMessage() { - return message; + public String getInterpolatedMessage() { + return interpolatedMessage; } = + public String getRawMessage() { + return rawMessage; + } + /** * {@inheritDoc} */ @@ -118,7 +125,7 @@ if ( beanClass !=3D null ? !beanClass.equals( that.beanClass ) : that.be= anClass !=3D null ) { return false; } - if ( message !=3D null ? !message.equals( that.message ) : that.message = !=3D null ) { + if ( interpolatedMessage !=3D null ? !interpolatedMessage.equals( that.i= nterpolatedMessage ) : that.interpolatedMessage !=3D null ) { return false; } if ( propertyPath !=3D null ? !propertyPath.equals( that.propertyPath ) = : that.propertyPath !=3D null ) { @@ -136,7 +143,7 @@ = @Override public int hashCode() { - int result =3D message !=3D null ? message.hashCode() : 0; + int result =3D interpolatedMessage !=3D null ? interpolatedMessage.hashC= ode() : 0; result =3D 31 * result + ( rootBean !=3D null ? rootBean.hashCode() : 0 = ); result =3D 31 * result + ( beanClass !=3D null ? beanClass.hashCode() : = 0 ); result =3D 31 * result + ( value !=3D null ? value.hashCode() : 0 ); Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/bootstrap/ValidationTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/bootstrap/ValidationTest.java 2008-12-02 14:28:28 UTC (rev 15637) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/bootstrap/ValidationTest.java 2008-12-02 14:47:55 UTC (rev 15638) @@ -108,7 +108,7 @@ Set> constraintViolations =3D validator.va= lidate( customer ); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); ConstraintViolation constraintViolation =3D constraintViolatio= ns.iterator().next(); - assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tMessage() ); + assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); = //FIXME nothing guarantee that a builder can be reused // now we modify the builder, get a new factory and valiator and try aga= in @@ -128,7 +128,7 @@ constraintViolations =3D validator.validate( customer ); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); constraintViolation =3D constraintViolations.iterator().next(); - assertEquals( "Wrong message", "my custom message", constraintViolation.= getMessage() ); + assertEquals( "Wrong message", "my custom message", constraintViolation.= getInterpolatedMessage() ); } = @Test @@ -146,7 +146,7 @@ Set> constraintViolations =3D validator.va= lidate( customer ); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); ConstraintViolation constraintViolation =3D constraintViolatio= ns.iterator().next(); - assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tMessage() ); + assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); = //FIXME nothing guarantee that a builder can be reused // now we modify the builder, get a new factory and valiator and try aga= in Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/engine/ValidatorImplTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-02 14:28:28 UTC (rev 15637) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-02 14:47:55 UTC (rev 15638) @@ -132,7 +132,7 @@ constraintViolations =3D validator.validate( book, "first", "second", "l= ast" ); ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); - assertEquals( "Wrong message", "may not be empty", constraintViolation.g= etMessage() ); + assertEquals( "Wrong message", "may not be empty", constraintViolation.g= etInterpolatedMessage() ); assertEquals( "Wrong bean class", Book.class, constraintViolation.getBea= nClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", book.getTitle(), constraintViolation.getInv= alidValue() ); @@ -144,7 +144,7 @@ constraintViolations =3D validator.validate( book, "first", "second", "l= ast" ); constraintViolation =3D constraintViolations.iterator().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); - assertEquals( "Wrong message", "length must be between 0 and 30", constr= aintViolation.getMessage() ); + assertEquals( "Wrong message", "length must be between 0 and 30", constr= aintViolation.getInterpolatedMessage() ); assertEquals( "Wrong bean class", Book.class, constraintViolation.getBea= nClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", book.getSubtitle(), constraintViolation.get= InvalidValue() ); @@ -156,7 +156,7 @@ constraintViolations =3D validator.validate( book, "first", "second", "l= ast" ); constraintViolation =3D constraintViolations.iterator().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); - assertEquals( "Wrong message", "length must be between 0 and 20", constr= aintViolation.getMessage() ); + assertEquals( "Wrong message", "length must be between 0 and 20", constr= aintViolation.getInterpolatedMessage() ); assertEquals( "Wrong bean class", Author.class, constraintViolation.getB= eanClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", author.getCompany(), constraintViolation.ge= tInvalidValue() ); @@ -187,7 +187,7 @@ constraintViolations =3D validator.validate( book, "default" ); ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); - assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tMessage() ); + assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); assertEquals( "Wrong bean class", Book.class, constraintViolation.getBea= nClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", book.getTitle(), constraintViolation.getInv= alidValue() ); @@ -329,7 +329,7 @@ constraintViolations =3D validator.validate( customer ); ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); - assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tMessage() ); + assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); assertEquals( "Wrong bean class", Order.class, constraintViolation.getBe= anClass() ); assertEquals( "Wrong root entity", customer, constraintViolation.getRoot= Bean() ); assertEquals( "Wrong value", order1.getOrderNumber(), constraintViolatio= n.getInvalidValue() ); @@ -381,7 +381,7 @@ Set> constraintViolations =3D validator.valid= ate( clint ); ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); - assertEquals( "Wrong message", "may not be empty", constraintViolation.g= etMessage() ); + assertEquals( "Wrong message", "may not be empty", constraintViolation.g= etInterpolatedMessage() ); assertEquals( "Wrong bean class", Actor.class, constraintViolation.getBe= anClass() ); assertEquals( "Wrong root entity", clint, constraintViolation.getRootBea= n() ); assertEquals( "Wrong value", morgan.getLastName(), constraintViolation.g= etInvalidValue() ); @@ -401,7 +401,7 @@ = ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); - assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tMessage() ); + assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); assertEquals( "Wrong bean class", null, constraintViolation.getBeanClass= () ); assertEquals( "Wrong root entity", null, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", order.getOrderNumber(), constraintViolation= .getInvalidValue() ); Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straintViolation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-02 14:28:28 UTC (rev 15637) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-02 14:47:55 UTC (rev 15638) @@ -29,11 +29,16 @@ public interface ConstraintViolation { = /** - * @return The error message for this constraint violation. + * @return The interpolated error message for this constraint violation. */ - String getMessage(); + String getInterpolatedMessage(); = /** + * @return The non-interpolated error message for this constraint violati= on. + */ + String getRawMessage(); + + /** * @return The root bean being validated. */ T getRootBean(); --===============6547406676102361884==-- From hibernate-commits at lists.jboss.org Tue Dec 2 09:49:20 2008 Content-Type: multipart/mixed; boundary="===============7337674154414631351==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15639 - in search/trunk: doc/quickstart and 4 other directories. Date: Tue, 02 Dec 2008 09:49:20 -0500 Message-ID: --===============7337674154414631351== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-02 09:49:20 -0500 (Tue, 02 Dec 2008) New Revision: 15639 Modified: search/trunk/build.xml search/trunk/changelog.txt search/trunk/doc/quickstart/pom.xml search/trunk/doc/quickstart/src/main/resources/archetype-resources/pom.x= ml search/trunk/doc/reference/en/master.xml search/trunk/doc/reference/en/modules/getting-started.xml search/trunk/pom.xml search/trunk/readme.txt search/trunk/src/java/org/hibernate/search/Version.java Log: changed the version number from CR1 to GA Modified: search/trunk/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/build.xml 2008-12-02 14:47:55 UTC (rev 15638) +++ search/trunk/build.xml 2008-12-02 14:49:20 UTC (rev 15639) @@ -18,7 +18,7 @@ - + Modified: search/trunk/changelog.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/changelog.txt 2008-12-02 14:47:55 UTC (rev 15638) +++ search/trunk/changelog.txt 2008-12-02 14:49:20 UTC (rev 15639) @@ -1,6 +1,9 @@ Hibernate Search Changelog =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D = +3.1.0.GA (4-12-2008) +------------------------ + 3.1.0.CR1 (17-10-2008) ------------------------ = Modified: search/trunk/doc/quickstart/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/quickstart/pom.xml 2008-12-02 14:47:55 UTC (rev 15638) +++ search/trunk/doc/quickstart/pom.xml 2008-12-02 14:49:20 UTC (rev 15639) @@ -3,5 +3,5 @@ org.hibernate hibernate-search-quickstart jar - 3.1.0.CR1 + 3.1.0.GA Modified: search/trunk/doc/quickstart/src/main/resources/archetype-resource= s/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/quickstart/src/main/resources/archetype-resources/pom.= xml 2008-12-02 14:47:55 UTC (rev 15638) +++ search/trunk/doc/quickstart/src/main/resources/archetype-resources/pom.= xml 2008-12-02 14:49:20 UTC (rev 15639) @@ -11,7 +11,7 @@ org.hibernate hibernate-search - 3.1.0.CR1 + 3.1.0.GA cglib Modified: search/trunk/doc/reference/en/master.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/master.xml 2008-12-02 14:47:55 UTC (rev 1= 5638) +++ search/trunk/doc/reference/en/master.xml 2008-12-02 14:49:20 UTC (rev 1= 5639) @@ -25,7 +25,7 @@ --> + ]> Modified: search/trunk/doc/reference/en/modules/getting-started.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/getting-started.xml 2008-12-02 14= :47:55 UTC (rev 15638) +++ search/trunk/doc/reference/en/modules/getting-started.xml 2008-12-02 14= :49:20 UTC (rev 15639) @@ -119,7 +119,7 @@ <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-search</artifactId> - <version>3.1.0.CR1</version> + <version>3.1.0.GA</version> </dependency> <dependency> <groupId>org.hibernate</groupId> @@ -562,7 +562,7 @@ mvn archetype:create \ = -DarchetypeGroupId=3Dorg.hibernate \ -DarchetypeArtifactId=3Dhibernate-search-quickstart \ = - -DarchetypeVersion=3D3.1.0.CR1 \ + -DarchetypeVersion=3D3.1.0.GA \ -DgroupId=3Dmy.company -DartifactId=3DquickstartUsing= the maven project you can execute the examples, inspect the file system ba= sed index and search and retrieve a list of managed objects. Just run Modified: search/trunk/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/pom.xml 2008-12-02 14:47:55 UTC (rev 15638) +++ search/trunk/pom.xml 2008-12-02 14:49:20 UTC (rev 15639) @@ -4,7 +4,7 @@ 4.0.0 org.hibernate hibernate-search - 3.1.0.CR1 + 3.1.0.GA Hibernate Search Hibernate Search http://search.hibernate.org Modified: search/trunk/readme.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/readme.txt 2008-12-02 14:47:55 UTC (rev 15638) +++ search/trunk/readme.txt 2008-12-02 14:49:20 UTC (rev 15639) @@ -1,6 +1,6 @@ Hibernate Search =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D -Version: 3.1.0.CR1, 17.11.2008 +Version: 3.1.0.GA, 4.12.2008 = Description ----------- Modified: search/trunk/src/java/org/hibernate/search/Version.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/Version.java 2008-12-02 14:4= 7:55 UTC (rev 15638) +++ search/trunk/src/java/org/hibernate/search/Version.java 2008-12-02 14:4= 9:20 UTC (rev 15639) @@ -12,7 +12,7 @@ * @author Emmanuel Bernard */ public class Version { - public static final String VERSION =3D "3.1.0.CR1"; + public static final String VERSION =3D "3.1.0.GA"; = private static final Logger log =3D LoggerFactory.make(); = --===============7337674154414631351==-- From hibernate-commits at lists.jboss.org Tue Dec 2 10:00:09 2008 Content-Type: multipart/mixed; boundary="===============3516856067910390360==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15640 - in validator/trunk: validation-api/src/main/java/javax/validation and 1 other directory. Date: Tue, 02 Dec 2008 10:00:08 -0500 Message-ID: --===============3516856067910390360== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-02 10:00:08 -0500 (Tue, 02 Dec 2008) New Revision: 15640 Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ConstraintViolationImpl.java validator/trunk/validation-api/src/main/java/javax/validation/Constraint= Violation.java Log: BVAL-73 remove ConstraintViolation.getBeanClass Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/impl/ConstraintViolationImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintViolationImpl.java 2008-12-02 14:49:20 UTC (rev 15639) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintViolationImpl.java 2008-12-02 15:00:08 UTC (rev 15640) @@ -78,13 +78,6 @@ /** * {@inheritDoc} */ - public Class getBeanClass() { - return beanClass; - } - - /** - * {@inheritDoc} - */ public Object getInvalidValue() { return value; } Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straintViolation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-02 14:49:20 UTC (rev 15639) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-02 15:00:08 UTC (rev 15640) @@ -59,13 +59,7 @@ */ String getPropertyPath(); = - /** - * @return the type of interface or class being validated. - */ - Class getBeanClass(); - - /** * @return the value failing to pass the constraint. */ Object getInvalidValue(); --===============3516856067910390360==-- From hibernate-commits at lists.jboss.org Tue Dec 2 10:11:04 2008 Content-Type: multipart/mixed; boundary="===============4483981505164423888==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15641 - in branches/Branch_3_2/HibernateExt/tools/src: test/org/hibernate/tool/test/jdbc2cfg and 1 other directory. Date: Tue, 02 Dec 2008 10:11:04 -0500 Message-ID: --===============4483981505164423888== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: anthonyHib Date: 2008-12-02 10:11:04 -0500 (Tue, 02 Dec 2008) New Revision: 15641 Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2x= /pojo/EntityPOJOClass.java branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test/= jdbc2cfg/OneToOneTest.java Log: HBX-524 : jpa fix Modified: branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/too= l/hbm2x/pojo/EntityPOJOClass.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2= x/pojo/EntityPOJOClass.java 2008-12-02 15:00:08 UTC (rev 15640) +++ branches/Branch_3_2/HibernateExt/tools/src/java/org/hibernate/tool/hbm2= x/pojo/EntityPOJOClass.java 2008-12-02 15:11:04 UTC (rev 15641) @@ -22,6 +22,7 @@ import org.hibernate.mapping.OneToMany; import org.hibernate.mapping.OneToOne; import org.hibernate.mapping.PersistentClass; +import org.hibernate.mapping.PrimaryKey; import org.hibernate.mapping.Property; import org.hibernate.mapping.RootClass; import org.hibernate.mapping.Selectable; @@ -32,6 +33,7 @@ import org.hibernate.mapping.UniqueKey; import org.hibernate.mapping.Value; import org.hibernate.tool.hbm2x.Cfg2JavaTool; +import org.hibernate.type.ForeignKeyDirection; import org.hibernate.util.JoinedIterator; import org.hibernate.util.StringHelper; = @@ -447,16 +449,43 @@ return buffer.toString(); } = + public boolean isSharedPkBasedOneToOne(OneToOne oneToOne){ + Iterator joinColumnsIt =3D oneToOne.getColumnIterator(); + Set joinColumns =3D new HashSet(); + while ( joinColumnsIt.hasNext() ) { + joinColumns.add( joinColumnsIt.next() ); + } + = + if ( joinColumns.size() =3D=3D 0 ) + return false; + = + Iterator idColumnsIt =3D getIdentifierProperty().getColumnIterat= or(); + Set idColumns =3D new HashSet(); + while ( idColumnsIt.hasNext() ) { + if (!joinColumns.contains(idColumnsIt.next()) ) + return false; + } + = + return true; + } + = public String generateOneToOneAnnotation(Property property, Configuration= cfg) { + OneToOne oneToOne =3D (OneToOne)property.getValue(); + = + boolean pkIsAlsoFk =3D isSharedPkBasedOneToOne(oneToOne); + = AnnotationBuilder ab =3D AnnotationBuilder.createAnnotation( importType(= "javax.persistence.OneToOne") ) .addAttribute( "cascade", getCascadeTypes(property)) .addAttribute( "fetch", getFetchType(property)); - OneToOne oneToOne =3D (OneToOne)property.getValue(); - if (oneToOne.isConstrained()) + = + if ( oneToOne.getForeignKeyType().equals(ForeignKeyDirection.FOREIGN_KEY= _TO_PARENT) ){ ab.addQuotedAttribute("mappedBy", getOneToOneMappedBy(cfg, oneToOne)); + } + = StringBuffer buffer =3D new StringBuffer(ab.getResult()); buffer.append(getHibernateCascadeTypeAnnotation(property)); - if (!oneToOne.isConstrained()){ + = + if ( pkIsAlsoFk && oneToOne.getForeignKeyType().equals(ForeignKeyDirecti= on.FOREIGN_KEY_FROM_PARENT) ){ AnnotationBuilder ab1 =3D AnnotationBuilder.createAnnotation( importTyp= e("javax.persistence.PrimaryKeyJoinColumn") ); buffer.append(ab1.getResult()); } @@ -691,14 +720,20 @@ joinColumns.add( joinColumnsIt.next() ); } PersistentClass pc =3D cfg.getClassMapping( oneToOne.getReferencedEntity= Name() ); + String referencedPropertyName =3D oneToOne.getReferencedPropertyName(); + if ( referencedPropertyName !=3D null ) + return referencedPropertyName; + = Iterator properties =3D pc.getPropertyClosureIterator(); //TODO we should check the table too boolean isOtherSide =3D false; mappedBy =3D "unresolved"; + = + = while ( ! isOtherSide && properties.hasNext() ) { Property oneProperty =3D (Property) properties.next(); Value manyValue =3D oneProperty.getValue(); - if ( manyValue !=3D null && manyValue instanceof OneToOne ) { + if ( manyValue !=3D null && ( manyValue instanceof OneToOne || manyValu= e instanceof ManyToOne ) ) { if ( joinColumns.size() =3D=3D manyValue.getColumnSpan() ) { isOtherSide =3D true; Iterator it =3D manyValue.getColumnIterator(); Modified: branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/too= l/test/jdbc2cfg/OneToOneTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test= /jdbc2cfg/OneToOneTest.java 2008-12-02 15:00:08 UTC (rev 15640) +++ branches/Branch_3_2/HibernateExt/tools/src/test/org/hibernate/tool/test= /jdbc2cfg/OneToOneTest.java 2008-12-02 15:11:04 UTC (rev 15641) @@ -246,7 +246,7 @@ TestHelper.compile( getOutputDir(), getOutputDir(), TestHelper.visitAllFiles( getOutputDir= (), list ), "1.5", TestHelper.buildClasspath( jars ) - ); + ); = URL[] urls =3D new URL[] { getOutputDir().toURL() }; ClassLoader oldLoader =3D Thread.currentThread().getContextClassLo= ader(); URLClassLoader ucl =3D new URLClassLoader(urls, oldLoader ); @@ -299,6 +299,7 @@ "create table ADDRESS_PERSON ( address_id integer not null, name varcha= r(50), primary key (address_id), constraint address_person foreign key (add= ress_id) references PERSON)", = "create table MULTI_PERSON ( person_id integer not null, person_compid = integer not null, name varchar(50), primary key (person_id, person_compid) = )", "create table ADDRESS_MULTI_PERSON ( address_id integer not null, addre= ss_compid integer not null, name varchar(50), primary key (address_id, addr= ess_compid), constraint address_multi_person foreign key (address_id, addre= ss_compid) references MULTI_PERSON)", + = }; } = @@ -308,7 +309,6 @@ "drop table PERSON", "drop table ADDRESS_MULTI_PERSON", "drop table MULTI_PERSON", - = = }; } --===============4483981505164423888==-- From hibernate-commits at lists.jboss.org Tue Dec 2 11:33:47 2008 Content-Type: multipart/mixed; boundary="===============3121861744230179323==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15642 - search/trunk/doc/reference/en/modules. Date: Tue, 02 Dec 2008 11:33:47 -0500 Message-ID: --===============3121861744230179323== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-02 11:33:47 -0500 (Tue, 02 Dec 2008) New Revision: 15642 Modified: search/trunk/doc/reference/en/modules/batchindex.xml search/trunk/doc/reference/en/modules/lucene-native.xml search/trunk/doc/reference/en/modules/optimize.xml Log: HSEARCH-303 Modified: search/trunk/doc/reference/en/modules/batchindex.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/batchindex.xml 2008-12-02 15:11:0= 4 UTC (rev 15641) +++ search/trunk/doc/reference/en/modules/batchindex.xml 2008-12-02 16:33:4= 7 UTC (rev 15642) @@ -22,8 +22,8 @@ ~ 51 Franklin Street, Fifth Floor ~ Boston, MA 02110-1301 USA --> - - = + = @@ -32,37 +32,36 @@
    Indexing = - It is sometimes useful to index an object even if this object is= not - inserted nor updated to the database. This is especially true when you - want to build your index for the first time. You can achieve that goal - using the FullTextSession. + It is sometimes useful to index an entity even if this entity is= not + inserted or updated to the database. This is for example the case when= you + want to build your index for the first time. + FullTextSession.index() + allows you to do so. = - FullTextSession fullTextSession =3D Search.getFullText= Session(session); + + Indexing an entity via + <methodname>FullTextSession.index()</methodname> + + FullTextSession fullTextSession =3D Search.getFullTe= xtSession(session); Transaction tx =3D fullTextSession.beginTransaction(); for (Customer customer : customers) { fullTextSession.index(customer); } tx.commit(); //index are written at commit time + = For maximum efficiency, Hibernate Search batches index operations - and executes them at commit time (Note: you don't need to use - org.hibernate.Transaction in a JTA - environment). + and executes them at commit time. If you expect to index a lot of data, + however, you need to be careful about memory consumption since all + documents are kept in a queue until the transaction commit. You can + potentially face an OutOfMemoryException. To av= oid + this exception, you can use + fullTextSession.flushToIndexes(). Every time + fullTextSession.flushToIndexes() is called (o= r if + the transaction is committed), the batch queue is processed (freeing + memory) applying all index changes. Be aware that once flushed changes + cannot be rolled back. = - If you expect to index a lot of data, you need to be careful abo= ut - memory consumption: since all documents are kept in a queue until the - transaction commit, you can potentially face an - OutOfMemoryException. - - To avoid that, you can use - fullTextSession.flushToIndexes(): all index - operations are queued until - fullTextSession.flushToIndexes() is called. E= very - time fullTextSession.flushToIndexes() is call= ed - (or if the transaction is committed), the queue is processed (freeing - memory) and emptied. Be aware that changes made before a flush cannot = be - rollbacked. - hibernate.search.worker.batch_size has been deprecated in favor of this explicit API which provides better @@ -70,26 +69,43 @@ = Other parameters which also can affect indexing time and memory - consumption are - hibernate.search.[default|<indexname>].indexwriter.batc= h.max_buffered_docs - , - hibernate.search.[default|<indexname>].indexwriter.batc= h.max_field_length - , - hibernate.search.[default|<indexname>].indexwriter.batc= h.max_merge_docs - , - hibernate.search.[default|<indexname>].indexwriter.batc= h.merge_factor - , - hibernate.search.[default|<indexname>].indexwriter.batc= h.ram_buffer_size - and - hibernate.search.[default|<indexname>].indexwriter.batc= h.term_index_interval - . These parameters are Lucene specific and Hibernate Search is just + consumption are: + + + + hibernate.search.[default|<indexname>].indexwriter.= [batch|transaction].max_buffered_docs + + + + hibernate.search.[default|<indexname>].indexwriter.= [batch|transaction].max_field_length + + + + hibernate.search.[default|<indexname>].indexwriter.= [batch|transaction].max_merge_docs + + + + hibernate.search.[default|<indexname>].indexwriter.= [batch|transaction].merge_factor + + + + hibernate.search.[default|<indexname>].indexwriter.= [batch|transaction].ram_buffer_size + + + + hibernate.search.[default|<indexname>].indexwriter.= [batch|transaction].term_index_interval + + + + These parameters are Lucene specific and Hibernate Search is just passing these parameters through - see for more details. = - Here is an especially efficient way to index a given class (usef= ul - for index (re)initialization): + + Efficiently indexing a given class (useful for index + (re)initialization) = - fullTextSession.setFlushMode(FlushMode.MANUAL); + fullTextSession.setFlushMode(FlushMode.MANUAL); fullTextSession.setCacheMode(CacheMode.IGNORE); transaction =3D fullTextSession.beginTransaction(); //Scrollable results will avoid loading too many objects in memory @@ -106,9 +122,10 @@ } } transaction.commit(); + = - Try to use a batch size that guaranty that your application will= not - run out of memory. + Try to use a batch size that guarantees that your application wi= ll + not run out of memory.
    =
    @@ -116,29 +133,38 @@ = It is equally possible to remove an entity or all entities of a given type from a Lucene index without the need to physically remove t= hem - from the database. This operation is named purging and is done through= the - FullTextSession. + from the database. This operation is named purging and is also done + through the FullTextSession. = - FullTextSession fullTextSession =3D Search.getFullText= Session(session); + + Purging a specific instance of an entity from the index</titl= e> + + <programlisting>FullTextSession fullTextSession =3D Search.getFullTe= xtSession(session); Transaction tx =3D fullTextSession.beginTransaction(); for (Customer customer : customers) { <emphasis role=3D"bold">fullTextSession.purge( Customer.class, custome= r.getId() );</emphasis> } tx.commit(); //index are written at commit time </programlisting> + </example> = <para>Purging will remove the entity with the given id from the Lucene index but will not touch the database.</para> = <para>If you need to remove all entities of a given type, you can use = the - <methodname>purgeAll</methodname> method. This operation remove all en= tities of the type passed - as a parameter as well as all its subtypes.</para> + <methodname>purgeAll</methodname> method. This operation remove all + entities of the type passed as a parameter as well as all its + subtypes.</para> = - <programlisting>FullTextSession fullTextSession =3D Search.getFullText= Session(session); + <example> + <title>Purging all instances of an entity from the index + + FullTextSession fullTextSession =3D Search.getFullTe= xtSession(session); Transaction tx =3D fullTextSession.beginTransaction(); fullTextSession.purgeAll( Customer.class ); //optionally optimize the index //fullTextSession.getSearchFactory().optimize( Customer.class ); tx.commit(); //index are written at commit time + = It is recommended to optimize the index after such an operation. @@ -150,4 +176,4 @@ well.
    -
    \ No newline at end of file + Modified: search/trunk/doc/reference/en/modules/lucene-native.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/lucene-native.xml 2008-12-02 15:1= 1:04 UTC (rev 15641) +++ search/trunk/doc/reference/en/modules/lucene-native.xml 2008-12-02 16:3= 3:47 UTC (rev 15642) @@ -22,8 +22,8 @@ ~ 51 Franklin Street, Fifth Floor ~ Boston, MA 02110-1301 USA --> - - = + = @@ -37,8 +37,12 @@ way to access Lucene natively. The SearchFactory can be accessed from a FullTextSession:
    = - FullTextSession fullTextSession =3D Search.getFullText= Session(regularSession); + + Accessing the <classname>SearchFactory</classname> + + FullTextSession fullTextSession =3D Search.getFullTe= xtSession(regularSession); SearchFactory searchFactory =3D fullTextSession.getSearchFactory(); +
    =
    @@ -51,12 +55,16 @@ DirectoryProviders per indexed class. One direc= tory provider can be shared amongst several indexed classes if the classes share the same underlying index directory. While usually not the case,= a - given entity can have several DirectoryProvider= s is + given entity can have several DirectoryProvider= s if the index is sharded (see ). = - DirectoryProvider[] provider =3D searchFactory.getDire= ctoryProviders(Order.class); + + Accessing the Lucene <classname>Directory</classname> + + DirectoryProvider[] provider =3D searchFactory.getDi= rectoryProviders(Order.class); org.apache.lucene.store.Directory directory =3D provider[0].getDirectory()= ; + = In this example, directory points to the lucene index storing Orders information. Note that the obtained Luce= ne @@ -68,11 +76,14 @@ Using an IndexReader = Queries in Lucene are executed on an IndexReader. - Hibernate Search caches such index readers to maximize performances. Y= our - code can access such cached / shared resources. You will just have to - follow some "good citizen" rules. + Hibernate Search caches all index readers to maximize performance. Your + code can access this cached resources, but you have to follow some "go= od + citizen" rules. = - DirectoryProvider orderProvider =3D searchFactory.getD= irectoryProviders(Order.class)[0]; + + Accesing an <classname>IndexReader</classname> + + DirectoryProvider orderProvider =3D searchFactory.ge= tDirectoryProviders(Order.class)[0]; DirectoryProvider clientProvider =3D searchFactory.getDirectoryProviders(C= lient.class)[0]; = ReaderProvider readerProvider =3D searchFactory.getReaderProvider(); @@ -84,24 +95,26 @@ finally { readerProvider.closeReader(reader); } + = The ReaderProvider (described in ), will open an Index= Reader - on top of the index(es) referenced by the directory providers. This - IndexReader being shared amongst several clients, you must adhere to t= he - following rules: + on top of the index(es) referenced by the directory providers. Because + this IndexReader is shared amongst several clie= nts, + you must adhere to the following rules: = Never call indexReader.close(), but always call - readerProvider.closeReader(reader); (a finally block is the best - area). + readerProvider.closeReader(reader), preferably in a finally + block. = - This indexReader can't be used for modification operations - (you would get an exception). If you want to use a read/write inde= x reader, - open one from the Lucene Directory object. + Don't use this IndexReader for + modification operations (you would get an exception). If you want = to + use a read/write index reader, open one from the Lucene Directory + object. = @@ -156,10 +169,10 @@ = - queryNorm(q) + queryNorm(q) = Normalizing factor used to make scores between queries - comparable. + comparable. = @@ -178,7 +191,7 @@ It is beyond the scope of this manual to explain this formula in more detail. Please refer to - Similarity's Javadocs for more information. + Similarity's Javadocs for more information. = Hibernate Search provides two ways to modify Lucene's similarity calculation. First you can set the default similarity by specifying the @@ -196,6 +209,6 @@ term appears in a document. Documents with a single occurrence of the = term should be scored the same as documents with multiple occurrences. In t= his case your custom implementation of the method tf(float - freq) should return 1.0. + freq) should return 1.0.
    - \ No newline at end of file + Modified: search/trunk/doc/reference/en/modules/optimize.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/optimize.xml 2008-12-02 15:11:04 = UTC (rev 15641) +++ search/trunk/doc/reference/en/modules/optimize.xml 2008-12-02 16:33:47 = UTC (rev 15642) @@ -22,23 +22,23 @@ ~ 51 Franklin Street, Fifth Floor ~ Boston, MA 02110-1301 USA --> - - = + = Index Optimization = From time to time, the Lucene index needs to be optimized. The pro= cess - is essentially a defragmentation: until the optimization occurs deleted - documents are just marked as such, no physical deletion is applied; the - optimization can also adjust the number of files in the Lucene - Directory. + is essentially a defragmentation. Until an optimization is triggered Luc= ene + only marks deleted documents as such, no physical deletions are applied. + During the optimization process the deletions will be applied which also + effects the number of files in the Lucene Directory. = - The optimization speeds up searches but in no way speeds up indexa= tion - (update). During an optimization, searches can be performed (but will mo= st - likely be slowed down), and all index updates will be stopped. Prefer - optimizing: + Optimising the Lucene index speeds up searches but has no effect on + the indexation (update) performance. During an optimization, searches ca= n be + performed, but will most likely be slowed down. All index updates will be + stopped. It is recommended to schedule optimization: = @@ -46,40 +46,42 @@ = - after a lot of index modifications (doing so before will not s= peed - up the indexation process) + after a lot of index modifications =
    Automatic optimization = - Hibernate Search can optimize automatically an index after: + Hibernate Search can automatically optimize an index after: = - a certain amount of operations have been applied (insertion, - deletion) + a certain amount of operations (insertion, deletion) = - or a certain amout of transactions have been applied + or a certain amout of transactions = - The configuration can be global or defined at the index - level: + The configuration for automatic index optimization can be define= d on + a global level or per index: = - hibernate.search.default.optimizer.operation_limit.max= =3D 1000 + + Defining automatic optimization parameters + + hibernate.search.default.optimizer.operation_limit.m= ax =3D 1000 hibernate.search.default.optimizer.transaction_limit.max =3D 100 hibernate.search.Animal.optimizer.transaction_limit.max =3D 50 + = An optimization will be triggered to the Animal index as soon as either: = - the number of addition and deletion reaches 1000 + the number of additions and deletions reaches 1000 = @@ -100,22 +102,25 @@ You can programmatically optimize (defragment) a Lucene index fr= om Hibernate Search through the SearchFactory: = - searchFactory.optimize(Order.class); + + Programmatic index optimization = - searchFactory.optimize(); + FullTextSession fullTextSession =3D Search.getFullTe= xtSession(regularSession); +SearchFactory searchFactory =3D fullTextSession.getSearchFactory(); = +searchFactory.optimize(Order.class); +// or +searchFactory.optimize(); + + The first example optimizes the Lucene index holding Orders; the second, optimizes all indexes. = - The SearchFactory can be accessed from a - FullTextSession: - - FullTextSession fullTextSession =3D Search.getFullText= Session(regularSession); -SearchFactory searchFactory =3D fullTextSession.getSearchFactory(); - - Note that searchFactory.optimize() has no eff= ect - on a JMS backend. You must apply the optimize operation on the Master - node. + + searchFactory.optimize() has no effect on a= JMS + backend. You must apply the optimize operation on the Master + node. +
    =
    @@ -151,4 +156,4 @@ See = for more details.
    -
    \ No newline at end of file + --===============3121861744230179323==-- From hibernate-commits at lists.jboss.org Tue Dec 2 13:16:47 2008 Content-Type: multipart/mixed; boundary="===============8832432869590510353==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15643 - search/trunk/doc/reference/en/modules. Date: Tue, 02 Dec 2008 13:16:47 -0500 Message-ID: --===============8832432869590510353== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-02 13:16:46 -0500 (Tue, 02 Dec 2008) New Revision: 15643 Modified: search/trunk/doc/reference/en/modules/mapping.xml Log: added documentation for AnalyzerDiscriminator Modified: search/trunk/doc/reference/en/modules/mapping.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/mapping.xml 2008-12-02 16:33:47 U= TC (rev 15642) +++ search/trunk/doc/reference/en/modules/mapping.xml 2008-12-02 18:16:46 U= TC (rev 15643) @@ -810,6 +810,99 @@ your IDE to see the implementations available.
    = +
    + Analyzer discriminator (experimental) + + So far all the different ways to specify an analyzer were + static. However, there are usecases where it is useful to select an + analyzer depending on the current state of the entity to be indexe= d, + for example in multi language enabled applications. For an BlogEnt= ry + class for example the analyzer could depend on the language proper= ty + of the entry. Depending on this property the correct stemmer can be + chosen to index the actual text. + + To enable this dynamic analyzer selection Hibernate Search + introduces the AnalyzerDiscriminator + annotation. The following example demonstrates the usage of this + annotation: + + + Usage of @AnalyzerDiscriminator in order to select an + analyzer depending on the entity state + + @Entity +(a)Indexed +(a)AnalyzerDefs({ + @AnalyzerDef(name =3D "en", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D EnglishPorterFilterFactory.class + ) + }), + @AnalyzerDef(name =3D "de", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D GermanStemFilterFactory.class) + }) +}) +public class BlogEntry { + + @Id + @GeneratedValue + @DocumentId + private Integer id; + + @Field + @AnalyzerDiscriminator(impl =3D LanguageDiscriminator.class) + private String language; + = + @Field + private String text; + = + private Set<BlogEntry> references; + + // standard getter/setter + ... +} + + public class LanguageDiscriminator implements = Discriminator { + + public String getAnanyzerDefinitionName(Object value, Object entity, S= tring field) { + if ( value =3D=3D null || !( entity instanceof Article ) ) { + return null; + } + return (String) value; + } +} + The prerequisite for using + @AnalyzerDiscriminator is that all analyzer + which are going to be used are predefined via + @AnalyzerDef definitions. If this is the ca= se + one can place the @AnalyzerDiscriminator + annotation either on the class or on a specific property of the en= tity + for which to dynamically select an analyzer. Via the + impl parameter of the + AnalyzerDiscriminator you specify a concrete + implementation of the Discriminator interfa= ce. + It is up to you to provide an implementation for this interface. T= he + only method you have to implement is + getAnanyzerDefinitionName() which gets call= ed + for each field added to the Lucene document. The entity which is + getting indexed is also passed at each call to the interface metho= d. + The value parameter is only set if the + AnalyzerDiscriminator is placed on a proper= ty + instead of class level. In this case the value represents the curr= ent + value of this property. + + The implemention of the interface has to return the name of = an + existing analyzer definition if the analyzer should be set dynamic= ally + or null if the default analyzer should be + applied. The given example assumes that the language paramter is + either 'de' or 'en'. +
    +
    Retrieving an analyzer = --===============8832432869590510353==-- From hibernate-commits at lists.jboss.org Wed Dec 3 04:54:43 2008 Content-Type: multipart/mixed; boundary="===============3663495561995963841==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15644 - in search/trunk: src/test/org/hibernate/search/test/analyzer and 1 other directory. Date: Wed, 03 Dec 2008 04:54:33 -0500 Message-ID: --===============3663495561995963841== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-03 04:54:33 -0500 (Wed, 03 Dec 2008) New Revision: 15644 Modified: search/trunk/doc/reference/en/modules/mapping.xml search/trunk/src/test/org/hibernate/search/test/analyzer/AnalyzerTest.ja= va Log: HSEARCH-221 - changed analyzer test to use unicode escape characters. marke= d feature experimental in documentation Modified: search/trunk/doc/reference/en/modules/mapping.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/mapping.xml 2008-12-02 18:16:46 U= TC (rev 15643) +++ search/trunk/doc/reference/en/modules/mapping.xml 2008-12-03 09:54:33 U= TC (rev 15644) @@ -813,13 +813,14 @@
    Analyzer discriminator (experimental) = - So far all the different ways to specify an analyzer were + So far all the introduced ways to specify an analyzer were static. However, there are usecases where it is useful to select an analyzer depending on the current state of the entity to be indexe= d, - for example in multi language enabled applications. For an BlogEnt= ry - class for example the analyzer could depend on the language proper= ty - of the entry. Depending on this property the correct stemmer can be - chosen to index the actual text. + for example in multilingual application. For an + BlogEntry class for example the analyzer co= uld + depend on the language property of the entry. Depending on this + property the correct language specific stemmer should be chosen to + index the actual text. = To enable this dynamic analyzer selection Hibernate Search introduces the AnalyzerDiscriminator @@ -877,7 +878,7 @@ } } The prerequisite for using - @AnalyzerDiscriminator is that all analyzer + @AnalyzerDiscriminator is that all analyzers which are going to be used are predefined via @AnalyzerDef definitions. If this is the ca= se one can place the @AnalyzerDiscriminator @@ -890,17 +891,26 @@ only method you have to implement is getAnanyzerDefinitionName() which gets call= ed for each field added to the Lucene document. The entity which is - getting indexed is also passed at each call to the interface metho= d. - The value parameter is only set if the - AnalyzerDiscriminator is placed on a proper= ty - instead of class level. In this case the value represents the curr= ent - value of this property. + getting indexed is also passed to the interface method. The + value parameter is only set if the + AnalyzerDiscriminator is placed on property + level instead of class level. In this case the value represents the + current value of this property. = - The implemention of the interface has to return the name of = an - existing analyzer definition if the analyzer should be set dynamic= ally - or null if the default analyzer should be - applied. The given example assumes that the language paramter is - either 'de' or 'en'. + An implemention of the Discriminator + interface has to return the name of an existing analyzer definitio= n if + the analyzer should be set dynamically or null + if the default analyzer should not be overridden. The given example + assumes that the language paramter is either 'de' or 'en' which + matches the specified names in the + @AnalyzerDefs. + + + The @AnalyzerDiscriminator is curre= ntly + still experimental and the API might still change. We are hoping= for + some feedback from the community about the usefulness and usabil= ity + of this feature. +
    =
    Modified: search/trunk/src/test/org/hibernate/search/test/analyzer/Analyzer= Test.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/analyzer/AnalyzerTest.j= ava 2008-12-02 18:16:46 UTC (rev 15643) +++ search/trunk/src/test/org/hibernate/search/test/analyzer/AnalyzerTest.j= ava 2008-12-03 09:54:33 UTC (rev 15644) @@ -38,7 +38,7 @@ public void testAnalyzerDiscriminator() throws Exception { Article germanArticle =3D new Article(); germanArticle.setLanguage( "de" ); - germanArticle.setText( "aufeinanderschl=EF=BF=BDgen" ); + germanArticle.setText( "aufeinanderschl\u00FCgen" ); Set
    references =3D new HashSet
    (); references.add( germanArticle ); = --===============3663495561995963841==-- From hibernate-commits at lists.jboss.org Wed Dec 3 06:22:31 2008 Content-Type: multipart/mixed; boundary="===============2797178640562112270==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15645 - search/trunk/doc/reference/en/modules. Date: Wed, 03 Dec 2008 06:22:31 -0500 Message-ID: --===============2797178640562112270== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-03 06:22:31 -0500 (Wed, 03 Dec 2008) New Revision: 15645 Modified: search/trunk/doc/reference/en/modules/configuration.xml Log: HSEARCH-303 Modified: search/trunk/doc/reference/en/modules/configuration.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/configuration.xml 2008-12-03 09:5= 4:33 UTC (rev 15644) +++ search/trunk/doc/reference/en/modules/configuration.xml 2008-12-03 11:2= 2:31 UTC (rev 15645) @@ -33,14 +33,17 @@ Directory configuration = Apache Lucene has a notion of Directory to st= ore - the index files. The Directory implementation can be customized, but - Lucene comes bundled with a file system - (FSDirectoryProvider) and a in memory - (RAMDirectoryProvider) implementation. Hibernate Se= arch - has the notion of DirectoryProvider that handles the - configuration and the initialization of the Lucene Directory. + the index files. The Directory implementation c= an + be customized, but Lucene comes bundled with a file system + (FSDirectoryProvider) and an in memory + (RAMDirectoryProvider) implementation. + DirectoryProviders are the Hibernate Search abstrac= tion + around a Lucene Directory and handle the + configuration and the initialization of the underlying Lucene resource= s. + shows the list of the + directory providers bundled with Hibernate Search. = - +
    List of built-in Directory Providers = @@ -59,8 +62,7 @@ org.hibernate.search.store.FSDirectoryProvider = File system based directory. The directory used will be - <indexBase>/< @Indexed.index - > + <indexBase>/< indexName > = indexBase : Base directoryindexName: override @@ -142,7 +144,7 @@
    = - If the built-in directory providers does not fit your needs, you= can + If the built-in directory providers do not fit your needs, you c= an write your own directory provider by implementing the org.hibernate.store.DirectoryProvider interface. @@ -158,17 +160,26 @@ hibernate.search.indexname.direct= ory_provider = - hibernate.search.default.directory_provider org.hibern= ate.search.store.FSDirectoryProvider + + Configuring directory providers + + hibernate.search.default.directory_provider org.hibe= rnate.search.store.FSDirectoryProvider hibernate.search.default.indexBase=3D/usr/lucene/indexes hibernate.search.Rules.directory_provider org.hibernate.search.store.RAMDi= rectoryProvider + = applied on = - @Indexed(index=3D"Status") + + Specifying the index name using the <literal>index</literal> + parameter of <classname>@Indexed</classname> + + @Indexed(index=3D"Status") public class Status { ... } = @Indexed(index=3D"Rules") public class Rule { ... } + = will create a file system directory in /usr/lucene/indexes/Status where the Status entit= ies @@ -176,7 +187,7 @@ Rules where Rule entities will be indexed. = You can easily define common rules like the directory provider a= nd - base directory, and override those default later on on a per index + base directory, and override those defaults later on on a per index basis. = Writing your own DirectoryProvider, you c= an @@ -189,10 +200,10 @@ In some extreme cases involving huge indexes (in size), it is necessary to split (shard) the indexing data of a given entity type in= to several Lucene indexes. This solution is not recommended until you rea= ch - significant index sizes and index update time are slowing down. The ma= in - drawback of index sharding is that searches will end up being slower s= ince - more files have to be opened for a single search. In other words don't= do - it until you have problems :) + significant index sizes and index update times are slowing the applica= tion + down. The main drawback of index sharding is that searches will end up + being slower since more files have to be opened for a single search. In + other words don't do it until you have problems :) = Despite this strong warning, Hibernate Search allows you to inde= x a given entity type into several sub indexes. Data is sharded into the @@ -201,8 +212,13 @@ strategy is enabled, unless the number of shards is configured. To configure the number of shards use the following property = - hibernate.search.<indexName>.sharding_strategy.n= br_of_shards 5 + + Enabling index sharding by specifying nbr_of_shards for a + specific index = + hibernate.search.<indexName>.sharding_strategy= .nbr_of_shards 5 + + This will use 5 different shards. = The default sharding strategy, when shards are set up, splits the @@ -212,8 +228,12 @@ IndexShardingStrategy and by setting the following property = - hibernate.search.<indexName>.sharding_strategy m= y.shardingstrategy.Implementation + + Specifying a custom sharding strategy = + hibernate.search.<indexName>.sharding_strategy= my.shardingstrategy.Implementation + + Each shard has an independent directory provider configuration as described in . The DirectoryProvider default name for the previous example are @@ -222,18 +242,23 @@ name of it's owning index followed by . (dot) and= its index number. = - hibernate.search.default.indexBase /usr/lucene/indexes + + Configuring the sharding configuration for an example entity + <classname>Animal</classname> = + hibernate.search.default.indexBase /usr/lucene/index= es + hibernate.search.Animal.sharding_strategy.nbr_of_shards 5 hibernate.search.Animal.directory_provider org.hibernate.search.store.FSDi= rectoryProvider hibernate.search.Animal.0.indexName Animal00 hibernate.search.Animal.3.indexBase /usr/lucene/sharded hibernate.search.Animal.3.indexName Animal03 + = This configuration uses the default id string hashing strategy a= nd shards the Animal index into 5 subindexes. All subindexes are - FSDirectoryProvider instances and the directory where each subindex is - stored is as followed: + FSDirectoryProvider instances and the directory + where each subindex is stored is as followed: = @@ -266,29 +291,27 @@
    Sharing indexes (two entities into the same directory) = - It is possible to store more than one entity index information i= nto - a single Lucene index. - This is only presented here so that you know the option is available. There is really not much benefit in sharing indexes. = - There are actually two ways to accomplish merging an index: + It is technically possible to store the information of more than= one + entity into a single Lucene index. There are two ways to accomplish + this: = Configuring the underlying directory providers to point to t= he same physical index directory. In practice, you set the property hibernate.search.[fully qualified entity - name].indexName=3D(relative directory from indexBase) to= the - same value. + name].indexName to the same value. As an example let=E2= =80=99s use + the same index (directory) for the Furniture + and Animal entity. We just set + indexName for both entities to for example + =E2=80=9CAnimal=E2=80=9D. Both entities will then be stored in the= Animal + directory = - For example, let=E2=80=99s say that we want the Furniture en= tity to - actually be stored in the same directory as the Animal entity. We - would have the configuration setting set to =E2=80=9CAnimal=E2=80= =9D. Both entities - will then be stored in the Animal directory - hibernate.search.org.hibernate.search.= test.shards.Furniture.indexName =3D Aninal hibernate.search.org.hibernate.search.test.shards.Animal.indexName =3D Ani= nal @@ -296,10 +319,10 @@ Setting the @Indexed annotation=E2=80=99s index attribute of the entities you want = to - merge to the same value. - - If we wanted all Furniture instances to be indexed in the An= imal - index along with all instances of Animal we would specify + merge to the same value. If we again wanted all + Furniture instances to be indexed in the + Animal index along with all instances of + Animal we would specify @Indexed(index=3D=E2=80=9DAnimal=E2=80=9D) on both Animal and Furniture classes. @@ -311,7 +334,7 @@ Worker configuration = It is possible to refine how Hibernate Search interacts with Luc= ene - through the worker configuration. The work can be exected to the Lucene + through the worker configuration. The work can be executed to the Luce= ne directory or sent to a JMS queue for later processing. When processed = to the Lucene directory, the work can be processed synchronously or asynchronously to the transaction commit. @@ -399,14 +422,32 @@ This section describes in greater detail how to configure the Ma= ster / Slaves Hibernate Search architecture. = + + + + + + + + + + JMS Master/Slave architecture + overview. + +
    Slave nodes = Every index update operation is sent to a JMS queue. Index que= ring operations are executed on a local index copy. = - ### slave configuration + + JMS Slave configuration = + ### slave configuration + ## DirectoryProvider # (remote) master location hibernate.search.default.sourceBase =3D /mnt/mastervolume/lucenedirs/maste= rcopy @@ -430,6 +471,7 @@ # hibernate.search.worker.execution =3D async # hibernate.search.worker.thread_pool.size =3D 2 # hibernate.search.worker.buffer_queue.max =3D 50 + = A file system local copy is recommended for faster search results. @@ -442,10 +484,13 @@ Master node = Every index update operation is taken from a JMS queue and - executed. The master index(es) is(are) copied on a regular basis. + executed. The master index is copied on a regular basis. = - ### master configuration + + JMS Master configuration = + ### master configuration + ## DirectoryProvider # (remote) master location where information is copied to hibernate.search.default.sourceBase =3D /mnt/mastervolume/lucenedirs/maste= rcopy @@ -461,15 +506,19 @@ = ## Backend configuration #Backend is the default lucene one + = The refresh period should be higher that the expected time copy. = In addition to the Hibernate Search framework configuration, a - Message Driven Bean should be written and set up to process index wo= rks - queue through JMS. + Message Driven Bean should be written and set up to process the index + works queue through JMS. = - @MessageDriven(activationConfig =3D { + + Message Driven Bean processing the indexing queue + + @MessageDriven(activationConfig =3D { @ActivationConfigProperty(propertyName=3D"destinationType", property= Value=3D"javax.jms.Queue"), @ActivationConfigProperty(propertyName=3D"destination", propertyValu= e=3D"queue/hibernatesearch"), @ActivationConfigProperty(propertyName=3D"DLQMaxResent", propertyVal= ue=3D"1") @@ -486,22 +535,17 @@ protected void cleanSessionIfNeeded(Session session) = } } + = - This example inherit the abstract JMS controller class availab= le - and implements a JavaEE 5 MDB. This implementation is given as an - example and, while most likely more complex, can be adjusted to make= use - of non Java EE Message Driven Beans. For more information about the + This example inherits from the abstract JMS controller class + available in the Hibernate Search source code and implements a JavaE= E 5 + MDB. This implementation is given as an example and, while most like= ly + be more complex, can be adjusted to make use of non Java EE Message + Driven Beans. For more information about the getSession() and cleanSessionIfNeeded(), please check AbstractJMSHibernateSearchController's javadoc. - - - Hibernate Search test suite makes use of JBoss Embedded to t= est - the JMS integration. It allows the unit test to run both the MDB - container and JBoss Messaging (JMS provider) in a standalone way - (marketed by some as "lightweight"). -
    = @@ -550,17 +594,19 @@ Annotations or Hibernate EntityManager. If, for some reason you need= to disable it, set hibernate.search.autoregister_listeners to false. - Note that there is no performance runtime when the listeners are ena= bled - while no entity is indexable. + Note that there is no performance penalty when the listeners are ena= bled + even though no entities are indexed. = To enable Hibernate Search in Hibernate Core (ie. if you don't= use Hibernate Annotations), add the - FullTextIndexEventListener for the six Hibernate - events that occur after changes are executed to the database. Once - again, such a configuration is not useful with Hibernate Annotations= or - Hibernate EntityManager. + FullTextIndexEventListener for the following six + Hibernate events. = - <hibernate-configuration> + + Explicitly enabling Hibernate Search by configuring the + <classname>FullTextIndexEventListener</classname> + + <hibernate-configuration> <session-factory> ... <event type=3D"post-update"/> @@ -583,27 +629,7 @@ </event> </session-factory> </hibernate-configuration> - - Be sure to add the appropriate jar files in your classpath. Ch= eck - lib/README.TXT for the list of third party librar= ies. - A typical installation on top of Hibernate Annotations will add: - - - - hibernate-search.jar: the core - engine - - - - lucene-core.jar: Lucene core - engine - - - - solr-core.jar, solr-common.jar: - Additional analyzer infrastructure - - +
    =
    --===============2797178640562112270==-- From hibernate-commits at lists.jboss.org Wed Dec 3 07:26:30 2008 Content-Type: multipart/mixed; boundary="===============6978024864889837658==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15646 - in validator/trunk: hibernate-validator/src/main/java/org/hibernate/validation/constraints and 11 other directories. Date: Wed, 03 Dec 2008 07:26:30 -0500 Message-ID: --===============6978024864889837658== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-03 07:26:29 -0500 (Wed, 03 Dec 2008) New Revision: 15646 Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/All.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/DefaultAlias.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/First.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/Last.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/Second.java validator/trunk/validation-api/src/main/java/javax/validation/groups/ validator/trunk/validation-api/src/main/java/javax/validation/groups/Def= ault.java Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/ValidatorConstants.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/constraints/Length.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/constraints/NotEmpty.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/constraints/Pattern.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/MetaDataProvider.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/MetaDataProviderImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/ValidationContext.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/ValidatorImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ConstraintDescriptorImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ConstraintViolationImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/util/ReflectionHelper.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/constraints/LengthConstraintTest.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/constraints/PatternConstraintTest.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/Animal.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/Author.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/Book.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/Dictonary.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/eg/EnglishDictonary.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/engine/ValidatorImplTest.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/impl/ResourceBundleMessageResolverTest.java validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/util/ReflectionHelperTest.java validator/trunk/validation-api/src/main/java/javax/validation/Constraint= Descriptor.java validator/trunk/validation-api/src/main/java/javax/validation/Constraint= Violation.java validator/trunk/validation-api/src/main/java/javax/validation/GroupSeque= nce.java validator/trunk/validation-api/src/main/java/javax/validation/Validator.= java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/AssertFalse.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/AssertTrue.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/Digits.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/Future.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/Max.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/Min.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/NotNull.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/Null.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/Past.java validator/trunk/validation-api/src/main/java/javax/validation/constraint= s/Size.java Log: BVAL-79 Groups are now type based Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/ValidatorConstants.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/ValidatorConstants.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/ValidatorConstants.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -1,4 +1,4 @@ -// $Id:$ +// $Id$ /* * JBoss, Home of Professional Open Source * Copyright 2008, Red Hat Middleware LLC, and individual contributors @@ -19,6 +19,7 @@ = /** * @author Hardy Ferentschik + * TODO remove */ public class ValidatorConstants { = @@ -28,5 +29,5 @@ /** * The default group/sequence name used when no group parameter is pas= sed to validate(). */ - public static final String DEFAULT_GROUP_NAME =3D "default"; + //public static final String DEFAULT_GROUP_NAME =3D "default"; } Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/constraints/Length.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/constraints/Length.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/constraints/Length.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -36,11 +36,11 @@ @Target({ METHOD, FIELD, TYPE }) @Retention(RUNTIME) public @interface Length { - public abstract int min() default 0; + int min() default 0; = - public abstract int max() default Integer.MAX_VALUE; + int max() default Integer.MAX_VALUE; = - public abstract String message() default "{validator.length}"; + String message() default "{validator.length}"; = - public abstract String[] groups() default { }; + Class[] groups() default { }; } Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/constraints/NotEmpty.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/constraints/NotEmpty.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/constraints/NotEmpty.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -33,7 +33,7 @@ @Target({ METHOD, FIELD }) @Retention(RUNTIME) public @interface NotEmpty { - public abstract String message() default "{validator.notEmpty}"; + String message() default "{validator.notEmpty}"; = - public abstract String[] groups() default { }; + Class[] groups() default { }; } \ No newline at end of file Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/constraints/Pattern.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/constraints/Pattern.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/constraints/Pattern.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -33,9 +33,9 @@ @Target({ METHOD, FIELD }) @Retention(RUNTIME) public @interface Pattern { - public abstract String message() default "{validator.pattern}"; + String message() default "{validator.pattern}"; = - public abstract String[] groups() default { }; + Class[] groups() default { }; = /** * @return the regular expression the annotated string must match. Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/MetaDataProvider.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/MetaDataProvider.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/MetaDataProvider.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -59,9 +59,9 @@ List getCascadedMembers(); = /** - * @return A map mapping defined group sequence names to a list of groups. + * @return A map mapping defined group sequences to a list of groups. */ - Map> getGroupSequences(); + Map, List>> getGroupSequences(); = /** * @return A list of ValidatorMetaData instances encapsulati= ng the information of all the constraints Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/MetaDataProviderImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/MetaDataProviderImpl.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/MetaDataProviderImpl.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -95,9 +95,9 @@ private ConstraintFactory constraintFactory =3D new ConstraintFactoryImpl= (); = /** - * Maps group sequence names to the list of group/sequence names. + * Maps group sequences to the list of group/sequences. */ - private Map> groupSequences =3D new HashMap>(); + private Map, List>> groupSequences =3D new HashMap, List>>(); = public MetaDataProviderImpl(Class beanClass, ConstraintFactory constra= intFactory) { this.beanClass =3D beanClass; @@ -159,24 +159,24 @@ } } = - for ( Map.Entry> mapEntry : groupSequences.entrySet= () ) { - List groupNames =3D mapEntry.getValue(); - List expandedGroupNames =3D new ArrayList(); - for ( String groupName : groupNames ) { - expandedGroupNames.addAll( expandGroupSequenceNames( groupName ) ); + for ( Map.Entry, List>> mapEntry : groupSequences.entr= ySet() ) { + List> groups =3D mapEntry.getValue(); + List> expandedGroups =3D new ArrayList>(); + for ( Class group : groups ) { + expandedGroups.addAll( expandGroupSequences( group ) ); } - groupSequences.put( mapEntry.getKey(), expandedGroupNames ); + groupSequences.put( mapEntry.getKey(), expandedGroups ); } if ( log.isDebugEnabled() && !groupSequences.isEmpty() ) { log.debug( "Expanded groups sequences: {}", groupSequences ); } } = - private List expandGroupSequenceNames(String group) { - List groupList =3D new ArrayList(); + private List> expandGroupSequences(Class group) { + List> groupList =3D new ArrayList>(); if ( groupSequences.containsKey( group ) ) { - for ( String s : groupSequences.get( group ) ) { - groupList.addAll( expandGroupSequenceNames( s ) ); + for ( Class localGroup : groupSequences.get( group ) ) { + groupList.addAll( expandGroupSequences( localGroup ) ); } } else { @@ -275,8 +275,8 @@ = @SuppressWarnings("unchecked") private ConstraintDescriptorImpl buildConstraintDe= scriptor(A annotation, Class constraintClass) { - String[] groups =3D ReflectionHelper.getAnnotationParameter( annotation,= "groups", String[].class ); - for ( String groupName : groups ) { + Class[] groups =3D ReflectionHelper.getAnnotationParameter( annotatio= n, "groups", Class[].class ); + for ( Class groupName : groups ) { if ( groupSequences.containsKey( groupName ) ) { throw new ValidationException( groupName + " is illegally used as grou= p and sequence name." ); } @@ -414,7 +414,7 @@ return cascadedMembers; } = - public Map> getGroupSequences() { + public Map, List>> getGroupSequences() { return groupSequences; } = Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/ValidationContext.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidationContext.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidationContext.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -47,10 +47,10 @@ private final T rootBean; = /** - * Maps for each group name to an identity set to keep track of already v= alidated objects. We have to make sure + * Maps for each group to an identity set to keep track of already valida= ted objects. We have to make sure * that each object gets only validated once (per group). */ - private final Map processedObjects; + private final Map, IdentitySet> processedObjects; = /** * A list of all failing constraints so far. @@ -65,7 +65,7 @@ /** * The current group which is getting processed. */ - private String currentGroup; + private Class currentGroup; = /** * Stack for keep track of the currently validated object. @@ -80,7 +80,7 @@ public ValidationContext(T rootBean, Object object) { this.rootBean =3D rootBean; validatedobjectStack.push( new ValidatedBean(object) ); - processedObjects =3D new HashMap(); + processedObjects =3D new HashMap, IdentitySet>(); propertyPath =3D ""; failingConstraintViolations =3D new ArrayList= >(); } @@ -105,11 +105,11 @@ return rootBean; } = - public String getCurrentGroup() { + public Class getCurrentGroup() { return currentGroup; } = - public void setCurrentGroup(String currentGroup) { + public void setCurrentGroup(Class currentGroup) { this.currentGroup =3D currentGroup; } = @@ -182,7 +182,7 @@ return propertyPath; } = - public boolean needsValidation(Set groups) { + public boolean needsValidation(Set> groups) { return groups.contains( currentGroup ); } = Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/ValidatorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -31,10 +31,9 @@ import javax.validation.ConstraintDescriptor; import javax.validation.ConstraintViolation; import javax.validation.MessageResolver; -import javax.validation.PropertyDescriptor; import javax.validation.Validator; +import javax.validation.groups.Default; = -import org.hibernate.validation.ValidatorConstants; import org.hibernate.validation.Version; import org.hibernate.validation.impl.ConstraintDescriptorImpl; import org.hibernate.validation.impl.ConstraintViolationImpl; @@ -77,6 +76,7 @@ private final MessageResolver messageResolver; = private final ValidatorFactoryImplementor factory; + private static final Class[] DEFAULT_GROUP =3D new Class[] { Defaul= t.class }; = public ValidatorImpl(ValidatorFactoryImplementor factory, MessageResolver= messageResolver) { this.factory =3D factory; @@ -87,18 +87,18 @@ /** * {@inheritDoc} */ - public Set> validate(T object, String... group= s) { + public Set> validate(T object, Class... gro= ups) { if ( object =3D=3D null ) { throw new IllegalArgumentException( "Validation of a null object" ); } = ValidationContext context =3D new ValidationContext( object ); - List> list =3D validate( context, Arrays.asLi= st( groups ) ); + List> list =3D validateInContext( context, Ar= rays.asList( groups ) ); return new HashSet>( list ); } = /** - * Validates the ovject contained in context. + * Validates the object contained in context. * * @param context A context object containing the object to validate toge= ther with other state information needed * for validation. @@ -109,23 +109,23 @@ * @todo Currently we iterate the cascaded fields multiple times. Maybe w= e should change to an approach where we iterate the object graph only once. * @todo Context root bean can be a different object than the current Val= idator hence two different generics variables */ - private List> validate(ValidationContext context, List groups) { + private List> validateInContext(Validation= Context context, List> groups) { if ( context.peekValidatedObject() =3D=3D null ) { return Collections.emptyList(); } = // if no group is specified use the default if ( groups.size() =3D=3D 0 ) { - groups =3D Arrays.asList( ValidatorConstants.DEFAULT_GROUP_NAME ); + groups =3D Arrays.asList( DEFAULT_GROUP ); } = - List expandedGroups; + List> expandedGroups; boolean isGroupSequence; - for ( String group : groups ) { - expandedGroups =3D new ArrayList(); - isGroupSequence =3D expandGroupName( context.peekValidatedObjectType(),= group, expandedGroups ); + for ( Class group : groups ) { + expandedGroups =3D new ArrayList>(); + isGroupSequence =3D expandGroup( context.peekValidatedObjectType(), gro= up, expandedGroups ); = - for ( String expandedGroupName : expandedGroups ) { + for ( Class expandedGroupName : expandedGroups ) { context.setCurrentGroup( expandedGroupName ); = validateConstraints( context ); @@ -223,6 +223,7 @@ for ( Member member : cascadedMembers ) { Type type =3D ReflectionHelper.typeOf( member ); context.pushProperty( ReflectionHelper.getPropertyName( member ) ); + //FIXME change accessibility only once, that's somewhat costly. do it w= hen Member is created ReflectionHelper.setAccessibility( member ); Object value =3D ReflectionHelper.getValue( member, context.peekValidat= edObject() ); validateCascadedConstraint( context, type, value ); @@ -253,7 +254,7 @@ context.replacePropertyIndex( propertyIndex ); = context.pushValidatedObject( actualValue ); - validate( context, Arrays.asList( context.getCurrentGroup() ) ); + validateInContext( context, Arrays.asList( new Class[] { context.get= CurrentGroup() } ) ); context.popValidatedObject(); i++; } @@ -263,14 +264,15 @@ /** * {@inheritDoc} */ - public Set> validateProperty(T object, String = propertyName, String... groups) { + public Set> validateProperty(T object, String = propertyName, Class... groups) { List> failingConstraintViolations =3D new Arr= ayList>(); validateProperty( object, new PropertyIterator( propertyName ), failingC= onstraintViolations, groups ); return new HashSet>( failingConstraintViolations = ); } = = - private void validateProperty(T object, PropertyIterator propertyIter= , List> failingConstraintViolations, String... g= roups) { + private void validateProperty(T object, PropertyIterator propertyIter= , List> failingConstraintViolations, Class...= groups) { + if ( object =3D=3D null ) throw new IllegalArgumentException("Validated = object cannot be null"); @SuppressWarnings( "unchecked" ) final Class beanType =3D (Class) object.getClass(); = @@ -282,18 +284,18 @@ = // if no group is specified use the default if ( groups.length =3D=3D 0 ) { - groups =3D new String[] { ValidatorConstants.DEFAULT_GROUP_NAME }; + groups =3D DEFAULT_GROUP; } = - List expandedGroups; + List> expandedGroups; boolean isGroupSequence; - for ( String group : groups ) { - expandedGroups =3D new ArrayList(); - isGroupSequence =3D expandGroupName( beanType, group, expandedGroups ); + for ( Class group : groups ) { + expandedGroups =3D new ArrayList>(); + isGroupSequence =3D expandGroup( beanType, group, expandedGroups ); = - for ( String expandedGroupName : expandedGroups ) { + for ( Class expandedGroup : expandedGroups ) { = - if ( !wrapper.descriptor.isInGroups( expandedGroupName ) ) { + if ( !wrapper.descriptor.isInGroups( expandedGroup ) ) { continue; } = @@ -332,7 +334,7 @@ /** * {@inheritDoc} */ - public Set> validateValue(Class beanType, S= tring propertyName, Object value, String... groups) { + public Set> validateValue(Class beanType, S= tring propertyName, Object value, Class... groups) { List> failingConstraintViolations =3D new Arr= ayList>(); validateValue( beanType, value, new PropertyIterator( propertyName ), fa= ilingConstraintViolations, groups ); return new HashSet>( failingConstraintViolations = ); @@ -343,7 +345,7 @@ } = = - private void validateValue(Class beanType, Object object, Property= Iterator propertyIter, List> failingConstraintVi= olations, String... groups) { + private void validateValue(Class beanType, Object object, Property= Iterator propertyIter, List> failingConstraintVi= olations, Class... groups) { ConstraintDescriptorImpl constraintDescriptor =3D getConstraintDescripto= rForPath( beanType, propertyIter ); = if ( constraintDescriptor =3D=3D null ) { @@ -352,18 +354,18 @@ = // if no group is specified use the default if ( groups.length =3D=3D 0 ) { - groups =3D new String[] { ValidatorConstants.DEFAULT_GROUP_NAME }; + groups =3D DEFAULT_GROUP; } = - List expandedGroups; + List> expandedGroups; boolean isGroupSequence; - for ( String group : groups ) { - expandedGroups =3D new ArrayList(); - isGroupSequence =3D expandGroupName( beanType, group, expandedGroups ); + for ( Class group : groups ) { + expandedGroups =3D new ArrayList>(); + isGroupSequence =3D expandGroup( beanType, group, expandedGroups ); = - for ( String expandedGroupName : expandedGroups ) { + for ( Class expandedGroup : expandedGroups ) { = - if ( !constraintDescriptor.isInGroups( expandedGroupName ) ) { + if ( !constraintDescriptor.isInGroups( expandedGroup ) ) { continue; } = @@ -384,7 +386,7 @@ null, object, propertyIter.getOriginalProperty(), //FIXME use error.getProperty= () - "", + null, //FIXME why is this a null group!! Used to be "" string shou= ld it be Default. Looks weird constraintDescriptor ); addFailingConstraint( failingConstraintViolations, failingConstraint= Violation ); @@ -505,25 +507,25 @@ * Checks whether the provided group name is a group sequence and if so e= xpands the group name and add the expanded * groups names to expandedGroupName * - * @param groupName The group name to expand - * @param expandedGroupNames The exanded group names or just a list with = the single provided group name id the name + * @param group The group to expand + * @param expandedGroups The exanded group names or just a list with the = single provided group name id the name * was not expandable * * @return true if an expansion took place, false otherwise. */ - private boolean expandGroupName(Class beanType, String groupName, = List expandedGroupNames) { - if ( expandedGroupNames =3D=3D null ) { + private boolean expandGroup(Class beanType, Class group, List> expandedGroups) { + if ( expandedGroups =3D=3D null ) { throw new IllegalArgumentException( "List cannot be empty" ); } = boolean isGroupSequence; MetaDataProviderImpl metaDataProvider =3D factory.getMetadataProvider= ( beanType ); - if ( metaDataProvider.getGroupSequences().containsKey( groupName ) ) { - expandedGroupNames.addAll( metaDataProvider.getGroupSequences().get( gr= oupName ) ); + if ( metaDataProvider.getGroupSequences().containsKey( group ) ) { + expandedGroups.addAll( metaDataProvider.getGroupSequences().get( group = ) ); isGroupSequence =3D true; } else { - expandedGroupNames.add( groupName ); + expandedGroups.add( group ); isGroupSequence =3D false; } return isGroupSequence; Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/impl/ConstraintDescriptorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintDescriptorImpl.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintDescriptorImpl.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -30,6 +30,7 @@ import javax.validation.ConstraintDescriptor; import javax.validation.ReportAsViolationFromCompositeConstraint; import javax.validation.ValidationException; +import javax.validation.groups.Default; = /** * Describe a single constraint. @@ -41,16 +42,17 @@ private final Annotation annotation; private final Constraint constraintImplementation; private final Class constraintClass; - private final Set groups; + private final Set> groups; private final Map parameters; private final boolean isReportAsSingleInvalidConstraint; + private static final Class[] DEFAULT_GROUP =3D new Class[] { Defaul= t.class }; = - public ConstraintDescriptorImpl(Annotation annotation, String[] groups, C= onstraint validator, Class constraintClass) { + public ConstraintDescriptorImpl(Annotation annotation, Class[] groups,= Constraint validator, Class constraintClass) { this.annotation =3D annotation; if ( groups.length =3D=3D 0 ) { - groups =3D new String[] { "default" }; + groups =3D DEFAULT_GROUP; } - this.groups =3D new HashSet(); + this.groups =3D new HashSet>(); this.groups.addAll( Arrays.asList( groups ) ); this.constraintImplementation =3D validator; this.parameters =3D getAnnotationParameters( annotation ); @@ -71,7 +73,7 @@ /** * {@inheritDoc} */ - public Set getGroups() { + public Set> getGroups() { return groups; } = @@ -82,7 +84,7 @@ return constraintClass; } = - public boolean isInGroups(String group) { + public boolean isInGroups(Class group) { return groups.contains( group ); } = Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/impl/ConstraintViolationImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintViolationImpl.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ConstraintViolationImpl.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -32,7 +32,7 @@ private Class beanClass; private Object value; private String propertyPath; - private HashSet groups; + private Set> groups; private Object leafBeanInstance; private final ConstraintDescriptor constraintDescriptor; private String rawMessage; @@ -40,14 +40,14 @@ = public ConstraintViolationImpl(String rawMessage, String interpolatedMess= age, T rootBean, Class beanClass, Object leafBeanInstance, Object value, - String propertyPath, String group, ConstraintDescriptor constra= intDescriptor) { + String propertyPath, Class group, ConstraintDescriptor const= raintDescriptor) { this.rawMessage =3D rawMessage; this.interpolatedMessage =3D interpolatedMessage; this.rootBean =3D rootBean; this.beanClass =3D beanClass; this.value =3D value; this.propertyPath =3D propertyPath; - groups =3D new HashSet(); + groups =3D new HashSet>(); groups.add( group ); this.leafBeanInstance =3D leafBeanInstance; this.constraintDescriptor =3D constraintDescriptor; @@ -92,7 +92,7 @@ /** * {@inheritDoc} */ - public Set getGroups() { + public Set> getGroups() { return groups; } = @@ -100,7 +100,7 @@ return this.constraintDescriptor; } = - public void addGroups(Set groupSet) { + public void addGroups(Set> groupSet) { groups.addAll( groupSet ); } = Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/util/ReflectionHelper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/util/ReflectionHelper.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/util/ReflectionHelper.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -121,7 +121,7 @@ } = try { - getAnnotationParameter( annotation, "groups", String[].class ); + getAnnotationParameter( annotation, "groups", Class[].class ); } catch ( Exception e ) { String msg =3D annotation.annotationType().getName() + " contains Const= raintValidator annotation, but does " + Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/constraints/LengthConstraintTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/constraints/LengthConstraintTest.java 2008-12-03 11:22:31 UTC (rev 1564= 5) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/constraints/LengthConstraintTest.java 2008-12-03 12:26:29 UTC (rev 1564= 6) @@ -46,8 +46,8 @@ return "{validator.length}"; } = - public String[] groups() { - return new String[0]; + public Class[] groups() { + return new Class[0]; } = public Class annotationType() { Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/constraints/PatternConstraintTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/constraints/PatternConstraintTest.java 2008-12-03 11:22:31 UTC (rev 156= 45) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/constraints/PatternConstraintTest.java 2008-12-03 12:26:29 UTC (rev 156= 46) @@ -38,8 +38,8 @@ return "{validator.pattern}"; } = - public String[] groups() { - return new String[0]; + public Class[] groups() { + return new Class[0]; } = public String regex() { Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/vali= dation/eg/All.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/All.java (rev 0) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/All.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -0,0 +1,8 @@ +package org.hibernate.validation.eg; + +/** + * Groups including all validations + * @author Emmanuel Bernard + */ +public interface All { +} Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/eg/Animal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Animal.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Animal.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -29,10 +29,10 @@ PROKARYOTA, EUKARYOTA } = - @NotEmpty(groups =3D { "first", "second" }) + @NotEmpty(groups =3D { First.class, Second.class }) private String name; = - @NotNull(groups =3D "first") + @NotNull(groups =3D First.class) private Domain domain; = public String getName() { Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/eg/Author.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Author.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Author.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -27,14 +27,14 @@ */ public class Author { = - @NotEmpty(groups =3D "last") + @NotEmpty(groups =3D Last.class) private String firstName; = - @NotNull(groups =3D "first") - @NotEmpty(groups =3D "first") + @NotNull(groups =3D First.class) + @NotEmpty(groups =3D First.class) private String lastName; = - @Length(max =3D 20, groups =3D "last") + @Length(max =3D 20, groups =3D Last.class) private String company; = public String getFirstName() { Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/eg/Book.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Book.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Book.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -19,6 +19,7 @@ = import javax.validation.GroupSequence; import javax.validation.Valid; +import javax.validation.groups.Default; import javax.validation.constraints.NotNull; = import org.hibernate.validation.constraints.Length; @@ -27,17 +28,17 @@ /** * @author Hardy Ferentschik */ -(a)GroupSequence(name =3D "default", sequence =3D { "first", "second", "la= st" }) +(a)GroupSequence(name =3D Default.class, sequence =3D { First.class, Secon= d.class, Last.class }) public class Book { - @NotNull(groups =3D "first") - @NotEmpty(groups =3D "first") + @NotNull(groups =3D First.class) + @NotEmpty(groups =3D First.class) private String title; = - @Length(max =3D 30, groups =3D "second") + @Length(max =3D 30, groups =3D Second.class) private String subtitle; = @Valid - @NotNull(groups =3D "first") + @NotNull(groups =3D First.class) private Author author; = public String getTitle() { Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/vali= dation/eg/DefaultAlias.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/DefaultAlias.java (rev 0) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/DefaultAlias.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -0,0 +1,7 @@ +package org.hibernate.validation.eg; + +/** + * @author Emmanuel Bernard + */ +public interface DefaultAlias { +} Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/eg/Dictonary.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Dictonary.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Dictonary.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -19,6 +19,7 @@ = import javax.validation.GroupSequence; import javax.validation.GroupSequences; +import javax.validation.groups.Default; import javax.validation.constraints.NotNull; = import org.hibernate.validation.constraints.NotEmpty; @@ -27,16 +28,16 @@ * @author Hardy Ferentschik */ @GroupSequences({ - @GroupSequence(name =3D "default-alias", sequence =3D { "default" }), - @GroupSequence(name =3D "all", sequence =3D { "default", "translate" }) + @GroupSequence(name =3D DefaultAlias.class, sequence =3D { Default.class= }), + @GroupSequence(name =3D All.class, sequence =3D { Default.class, Dictona= ry.Translate.class }) }) public class Dictonary extends Book { - @NotNull(groups =3D "translate") - @NotEmpty(groups =3D "translate") + @NotNull(groups =3D Translate.class) + @NotEmpty(groups =3D Translate.class) private String translatesTo; = - @NotNull(groups =3D "translate") - @NotEmpty(groups =3D "translate") + @NotNull(groups =3D Translate.class) + @NotEmpty(groups =3D Translate.class) private String translatesFrom; = public String getTranslatesTo() { @@ -54,4 +55,10 @@ public void setTranslatesFrom(String translatesFrom) { this.translatesFrom =3D translatesFrom; } + + /** + * Translator related constraints + */ + public interface Translate { + } } Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/eg/EnglishDictonary.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/EnglishDictonary.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/EnglishDictonary.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -19,12 +19,13 @@ = import javax.validation.GroupSequence; import javax.validation.GroupSequences; +import javax.validation.groups.Default; = /** * @author Hardy Ferentschik */ @GroupSequences({ - @GroupSequence(name =3D "default", sequence =3D { "first" }) // illegal= - default is already defined in Book + @GroupSequence(name =3D Default.class, sequence =3D { First.class }) //= illegal - default is already defined in Book }) public class EnglishDictonary extends Dictonary { } \ No newline at end of file Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/vali= dation/eg/First.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/First.java (rev 0) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/First.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -0,0 +1,9 @@ +package org.hibernate.validation.eg; + +/** + * Group executed first in the validation + * = + * @author Emmanuel Bernard + */ +public interface First { +} Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/vali= dation/eg/Last.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Last.java (rev 0) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Last.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -0,0 +1,9 @@ +package org.hibernate.validation.eg; + +/** + * Group executed Last in the validation + * = + * @author Emmanuel Bernard + */ +public interface Last { +} Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/vali= dation/eg/Second.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Second.java (rev 0) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/eg/Second.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -0,0 +1,9 @@ +package org.hibernate.validation.eg; + +/** + * Group executed second during the validation + * = + * @author Emmanuel Bernard + */ +public interface Second { +} Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/engine/ValidatorImplTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -23,6 +23,7 @@ import javax.validation.ValidationException; import javax.validation.Validator; import javax.validation.Validation; +import javax.validation.groups.Default; = import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -41,6 +42,10 @@ import org.hibernate.validation.eg.EnglishDictonary; import org.hibernate.validation.eg.Order; import org.hibernate.validation.eg.Unconstraint; +import org.hibernate.validation.eg.First; +import org.hibernate.validation.eg.Second; +import org.hibernate.validation.eg.Last; +import org.hibernate.validation.eg.DefaultAlias; import org.hibernate.validation.HibernateValidatorFactoryBuilder; = /** @@ -109,7 +114,7 @@ @Test(expected =3D IllegalArgumentException.class) public void testValidateWithNullProperty() { Validator validator =3D getHibernateValidator(); - validator.validate( null, "firstName" ); + validator.validateProperty( null, "firstName" ); } = @Test @@ -123,17 +128,16 @@ book.setTitle( "" ); book.setAuthor( author ); = - Set> constraintViolations =3D validator.valida= te( book, "first", "second", "last" ); + Set> constraintViolations =3D validator.valida= te( book, First.class, Second.class, Last.class ); assertEquals( "Wrong number of constraints", 3, constraintViolations.siz= e() ); = author.setFirstName( "Gavin" ); author.setLastName( "King" ); = - constraintViolations =3D validator.validate( book, "first", "second", "l= ast" ); + constraintViolations =3D validator.validate( book, First.class, Second.c= lass, Last.class ); ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); assertEquals( "Wrong message", "may not be empty", constraintViolation.g= etInterpolatedMessage() ); - assertEquals( "Wrong bean class", Book.class, constraintViolation.getBea= nClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", book.getTitle(), constraintViolation.getInv= alidValue() ); assertEquals( "Wrong propertyName", "title", constraintViolation.getProp= ertyPath() ); @@ -141,11 +145,10 @@ book.setTitle( "Hibernate Persistence with JPA" ); book.setSubtitle( "Revised Edition of Hibernate in Action" ); = - constraintViolations =3D validator.validate( book, "first", "second", "l= ast" ); + constraintViolations =3D validator.validate( book, First.class, Second.c= lass, Last.class ); constraintViolation =3D constraintViolations.iterator().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); assertEquals( "Wrong message", "length must be between 0 and 30", constr= aintViolation.getInterpolatedMessage() ); - assertEquals( "Wrong bean class", Book.class, constraintViolation.getBea= nClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", book.getSubtitle(), constraintViolation.get= InvalidValue() ); assertEquals( "Wrong propertyName", "subtitle", constraintViolation.getP= ropertyPath() ); @@ -153,18 +156,17 @@ book.setSubtitle( "Revised Edition" ); author.setCompany( "JBoss a divison of RedHat" ); = - constraintViolations =3D validator.validate( book, "first", "second", "l= ast" ); + constraintViolations =3D validator.validate( book, First.class, Second.c= lass, Last.class ); constraintViolation =3D constraintViolations.iterator().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); assertEquals( "Wrong message", "length must be between 0 and 20", constr= aintViolation.getInterpolatedMessage() ); - assertEquals( "Wrong bean class", Author.class, constraintViolation.getB= eanClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", author.getCompany(), constraintViolation.ge= tInvalidValue() ); assertEquals( "Wrong propertyName", "author.company", constraintViolatio= n.getPropertyPath() ); = author.setCompany( "JBoss" ); = - constraintViolations =3D validator.validate( book, "first", "second", "l= ast" ); + constraintViolations =3D validator.validate( book, First.class, Second.c= lass, Last.class ); assertEquals( "Wrong number of constraints", 0, constraintViolations.siz= e() ); } = @@ -178,17 +180,16 @@ Book book =3D new Book(); book.setAuthor( author ); = - Set> constraintViolations =3D validator.valida= te( book, "default" ); + Set> constraintViolations =3D validator.valida= te( book, Default.class ); assertEquals( "Wrong number of constraints", 2, constraintViolations.siz= e() ); = author.setFirstName( "Gavin" ); author.setLastName( "King" ); = - constraintViolations =3D validator.validate( book, "default" ); + constraintViolations =3D validator.validate( book, Default.class ); ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); - assertEquals( "Wrong bean class", Book.class, constraintViolation.getBea= nClass() ); assertEquals( "Wrong root entity", book, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", book.getTitle(), constraintViolation.getInv= alidValue() ); assertEquals( "Wrong propertyName", "title", constraintViolation.getProp= ertyPath() ); @@ -196,18 +197,18 @@ book.setTitle( "Hibernate Persistence with JPA" ); book.setSubtitle( "Revised Edition of Hibernate in Action" ); = - constraintViolations =3D validator.validate( book, "default" ); + constraintViolations =3D validator.validate( book, Default.class ); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); = book.setSubtitle( "Revised Edition" ); author.setCompany( "JBoss a divison of RedHat" ); = - constraintViolations =3D validator.validate( book, "default" ); + constraintViolations =3D validator.validate( book, Default.class ); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); = author.setCompany( "JBoss" ); = - constraintViolations =3D validator.validate( book, "default" ); + constraintViolations =3D validator.validate( book, Default.class ); assertEquals( "Wrong number of constraints", 0, constraintViolations.siz= e() ); } = @@ -239,7 +240,7 @@ author.setCompany( "Langenscheidt Publ." ); dictonary.setAuthor( author ); = - Set> constraintViolations =3D validator.v= alidate( dictonary, "default-alias" ); + Set> constraintViolations =3D validator.v= alidate( dictonary, DefaultAlias.class ); assertEquals( "Wrong number of constraints", 0, constraintViolations.siz= e() ); } = @@ -250,7 +251,7 @@ elepfant.setName( "" ); elepfant.setDomain( Animal.Domain.EUKARYOTA ); = - Set> constraintViolations =3D validator.vali= date( elepfant, "first", "second" ); + Set> constraintViolations =3D validator.vali= date( elepfant, First.class, Second.class ); assertEquals( "The should be two invalid constraints since the same propertyName get= s validated in both groups", 1, @@ -258,9 +259,9 @@ ); = ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); - Set expected =3D new HashSet(); - expected.add( "first" ); - expected.add( "second" ); + Set> expected =3D new HashSet>(); + expected.add( First.class ); + expected.add( Second.class ); assertEquals( "The constraint should be invalid for both groups", expected, @@ -330,7 +331,6 @@ ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); - assertEquals( "Wrong bean class", Order.class, constraintViolation.getBe= anClass() ); assertEquals( "Wrong root entity", customer, constraintViolation.getRoot= Bean() ); assertEquals( "Wrong value", order1.getOrderNumber(), constraintViolatio= n.getInvalidValue() ); assertEquals( "Wrong propertyName", "orderList[0].orderNumber", constrai= ntViolation.getPropertyPath() ); @@ -382,7 +382,6 @@ ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); assertEquals( "Wrong message", "may not be empty", constraintViolation.g= etInterpolatedMessage() ); - assertEquals( "Wrong bean class", Actor.class, constraintViolation.getBe= anClass() ); assertEquals( "Wrong root entity", clint, constraintViolation.getRootBea= n() ); assertEquals( "Wrong value", morgan.getLastName(), constraintViolation.g= etInvalidValue() ); assertEquals( "Wrong propertyName", "playedWith[0].playedWith[1].lastNam= e", constraintViolation.getPropertyPath() ); @@ -402,7 +401,6 @@ ConstraintViolation constraintViolation =3D constraintViolations.iterato= r().next(); assertEquals( "Wrong number of constraints", 1, constraintViolations.siz= e() ); assertEquals( "Wrong message", "may not be null", constraintViolation.ge= tInterpolatedMessage() ); - assertEquals( "Wrong bean class", null, constraintViolation.getBeanClass= () ); assertEquals( "Wrong root entity", null, constraintViolation.getRootBean= () ); assertEquals( "Wrong value", order.getOrderNumber(), constraintViolation= .getInvalidValue() ); assertEquals( "Wrong propertyName", "orderList[0].orderNumber", constrai= ntViolation.getPropertyPath() ); Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/impl/ResourceBundleMessageResolverTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/impl/ResourceBundleMessageResolverTest.java 2008-12-03 11:22:31 UTC (re= v 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/impl/ResourceBundleMessageResolverTest.java 2008-12-03 12:26:29 UTC (re= v 15646) @@ -52,8 +52,8 @@ return "{validator.notNull}"; } = - public String[] groups() { - return new String[] { }; + public Class[] groups() { + return new Class[] { }; } = public Class annotationType() { @@ -74,8 +74,8 @@ return "{validator.length}"; } = - public String[] groups() { - return new String[] { }; + public Class[] groups() { + return new Class[] { }; } = public Class annotationType() { @@ -87,7 +87,7 @@ @Test public void testSuccessfulInterpolation() { ConstraintDescriptorImpl desciptor =3D new ConstraintDescriptorImpl( - notNull, new String[] { }, new NotNullConstraint(), NotNullConstraint.= class + notNull, new Class[] { }, new NotNullConstraint(), NotNullConstrain= t.class ); = String expected =3D "replacement worked"; @@ -110,7 +110,7 @@ @Test public void testUnSuccessfulInterpolation() { ConstraintDescriptorImpl desciptor =3D new ConstraintDescriptorImpl( - notNull, new String[] { }, new NotNullConstraint(), NotNullConstraint.= class + notNull, new Class[] { }, new NotNullConstraint(), NotNullConstrain= t.class ); String expected =3D "foo"; // missing {} String actual =3D resolver.interpolate( "foo", desciptor, null ); @@ -124,7 +124,7 @@ @Test public void testUnkownTokenInterpolation() { ConstraintDescriptorImpl desciptor =3D new ConstraintDescriptorImpl( - notNull, new String[] { }, new NotNullConstraint(), NotNullConstraint.= class + notNull, new Class[] { }, new NotNullConstraint(), NotNullConstrain= t.class ); String expected =3D "{bar}"; // unkown token {} String actual =3D resolver.interpolate( "{bar}", desciptor, null ); @@ -134,13 +134,13 @@ @Test public void testDefaultInterpolation() { ConstraintDescriptorImpl desciptor =3D new ConstraintDescriptorImpl( - notNull, new String[] { }, new NotNullConstraint(), NotNullConstraint.= class + notNull, new Class[] { }, new NotNullConstraint(), NotNullConstrain= t.class ); String expected =3D "may not be null"; String actual =3D resolver.interpolate( notNull.message(), desciptor, nu= ll ); assertEquals( "Wrong substitution", expected, actual ); = - desciptor =3D new ConstraintDescriptorImpl( length, new String[] { }, ne= w NotNullConstraint(), NotNullConstraint.class ); + desciptor =3D new ConstraintDescriptorImpl( length, new Class[] { }, = new NotNullConstraint(), NotNullConstraint.class ); expected =3D "length must be between 0 and 2147483647"; // unkown token= {} actual =3D resolver.interpolate( length.message(), desciptor, null ); assertEquals( "Wrong substitution", expected, actual ); Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/util/ReflectionHelperTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/util/ReflectionHelperTest.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/util/ReflectionHelperTest.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -24,6 +24,7 @@ import java.util.List; import java.util.Map; import javax.validation.ValidationException; +import javax.validation.groups.Default; import javax.validation.constraints.NotNull; = import static org.junit.Assert.assertEquals; @@ -94,8 +95,8 @@ return "test"; } = - public String[] groups() { - return new String[] { "default" }; + public Class[] groups() { + return new Class[] { Default.class }; } = public Class annotationType() { @@ -105,8 +106,8 @@ String message =3D ReflectionHelper.getAnnotationParameter( testAnnotati= on, "message", String.class ); assertEquals( "Wrong message", "test", message ); = - String[] group =3D ReflectionHelper.getAnnotationParameter( testAnnotati= on, "groups", String[].class ); - assertEquals( "Wrong message", "default", group[0] ); + Class[] group =3D ReflectionHelper.getAnnotationParameter( testAnnota= tion, "groups", Class[].class ); + assertEquals( "Wrong message", Default.class, group[0] ); = try { ReflectionHelper.getAnnotationParameter( testAnnotation, "message", Int= eger.class ); Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straintDescriptor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tDescriptor.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tDescriptor.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -40,7 +40,7 @@ /** * @return The groups the constraint is applied on. */ - Set getGroups(); + Set> getGroups(); = /** * @return the constraint implementation class Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straintViolation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -70,7 +70,7 @@ * * TODO: considering removal, if you think it's important, speak up */ - Set getGroups(); + Set> getGroups(); = /** * Constraint metadata reported to fail. Modified: validator/trunk/validation-api/src/main/java/javax/validation/Gro= upSequence.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/GroupSequ= ence.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/GroupSequ= ence.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -23,12 +23,17 @@ import java.lang.annotation.Target; = /** + * Define a group sequence + * Should be hosted by an + * + * @author Emmanuel Bernard * @author Hardy Ferentschik */ @Target({ TYPE }) @Retention(RUNTIME) public @interface GroupSequence { - String name(); + //TODO depreciate + Class name(); = - String[] sequence(); + Class[] sequence(); } Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-03 12:26:29 UTC (rev 15646) @@ -33,28 +33,28 @@ * validate all constraints on object * * @param object object to validate - * @param groups group name(s) (including group sequence names) targeted - * for validation (default to <code>default</code>) + * @param groups groups targeted for validation + * (default to {@link javax.validation.groups.Default}) * * @return constraint violations or an empty Set if none * * @throws IllegalArgumentException e if object is null */ - Set> validate(T object, String... groups); + Set> validate(T object, Class... groups); = /** * validate all constraints on <code>propertyName</code> prop= erty of object * * @param object object to validate * @param propertyName property to validate (ie field and getter constrai= nts) - * @param groups group name(s) (including group sequence names) targeted - * for validation (default to <code>default</code>) + * @param groups groups targeted for validation + * (default to {@link javax.validation.groups.Default}) * * @return constraint violations or an empty Set if none * * @throws IllegalArgumentException e if object is null or if propertyNam= e is not present */ - Set> validateProperty(T object, String propert= yName, String... groups); + Set> validateProperty(T object, String propert= yName, Class... groups); = /** * validate all constraints on propertyName property @@ -64,13 +64,14 @@ * * @param propertyName property to validate * @param value property value to validate - * @param groups group name(s) (including group sequence names) targeted - * for validation (default to default) + * @param groups groups targeted for validation + * (default to {@link javax.validation.groups.Default}) * * @return constraint violations or an empty Set if none * @throws IllegalArgumentException e if propertyName is not present */ - Set> validateValue(Class beanType, String p= ropertyName, Object value, String... groups); + Set> validateValue(Class beanType, String p= ropertyName, + Object value, Class... groups); = /** * Return the descriptor object describing bean constraints Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/AssertFalse.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/AssertFalse.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/AssertFalse.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -39,5 +39,5 @@ public @interface AssertFalse { String message() default "{validator.assertFalse}"; = - String[] groups() default { }; + Class[] groups() default { }; } \ No newline at end of file Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/AssertTrue.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/AssertTrue.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/AssertTrue.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -39,5 +39,5 @@ public @interface AssertTrue { String message() default "{validator.assertTrue}"; = - String[] groups() default { }; + Class[] groups() default { }; } \ No newline at end of file Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/Digits.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Digits.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Digits.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -49,7 +49,7 @@ public @interface Digits { String message() default "{validator.digits}"; = - String[] groups() default { }; + Class[] groups() default { }; = /** * @return maximum number of integral digits accepted for this number Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/Future.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Future.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Future.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -50,5 +50,5 @@ public @interface Future { String message() default "{validator.future}"; = - String[] groups() default { }; + Class[] groups() default { }; } \ No newline at end of file Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/Max.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Max.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Max.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -51,7 +51,7 @@ public @interface Max { String message() default "{validator.max}"; = - String[] groups() default { }; + Class[] groups() default { }; = /** * @return Value the element must be lower or equal to Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/Min.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Min.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Min.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -51,7 +51,7 @@ public @interface Min { String message() default "{validator.min}"; = - String[] groups() default { }; + Class[] groups() default { }; = /** * @return Value the element must be higher or equal to Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/NotNull.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/NotNull.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/NotNull.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -37,5 +37,5 @@ public @interface NotNull { String message() default "{validator.notNull}"; = - String[] groups() default { }; + Class[] groups() default { }; } Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/Null.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Null.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Null.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -37,6 +37,6 @@ public @interface Null { String message() default "{validator.null}"; = - String[] groups() default { }; + Class[] groups() default { }; } = Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/Past.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Past.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Past.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -50,5 +50,5 @@ public @interface Past { String message() default "{validator.past}"; = - String[] groups() default { }; + Class[] groups() default { }; } \ No newline at end of file Modified: validator/trunk/validation-api/src/main/java/javax/validation/con= straints/Size.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Size.java 2008-12-03 11:22:31 UTC (rev 15645) +++ validator/trunk/validation-api/src/main/java/javax/validation/constrain= ts/Size.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -43,7 +43,7 @@ @Documented public @interface Size { String message() default "{validator.min}"; - String[] groups() default {}; + Class[] groups() default {}; = /** * @return size the element must be higher or equal to Added: validator/trunk/validation-api/src/main/java/javax/validation/groups= /Default.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/groups/De= fault.java (rev 0) +++ validator/trunk/validation-api/src/main/java/javax/validation/groups/De= fault.java 2008-12-03 12:26:29 UTC (rev 15646) @@ -0,0 +1,10 @@ +package javax.validation.groups; + +/** + * Default Bean Validation group + * + * @author Emmanuel Bernard + * TODO should it be named DefaultGroup? + */ +public interface Default { +} --===============6978024864889837658==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:24:53 2008 Content-Type: multipart/mixed; boundary="===============3681297432257320110==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15647 - search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/reader. Date: Wed, 03 Dec 2008 08:24:53 -0500 Message-ID: --===============3681297432257320110== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:24:52 -0500 (Wed, 03 Dec 2008) New Revision: 15647 Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/reader/Rea= derPerfTestCase.java Log: HSEARCH-315 - Commited patch from JIRA Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/rea= der/ReaderPerfTestCase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/reader/Re= aderPerfTestCase.java 2008-12-03 12:26:29 UTC (rev 15646) +++ search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/reader/Re= aderPerfTestCase.java 2008-12-03 13:24:52 UTC (rev 15647) @@ -92,7 +92,7 @@ suspect.setSuspectCharge( "thief liar " ); } else { - suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system and sees in it the perf= ect underground highway for his thievery. Washington Post columnist John K= elly recommends this title for middle schoolers, especially to be read alou= d."); + suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system."); } s.persist( suspect ); } --===============3681297432257320110==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:29:15 2008 Content-Type: multipart/mixed; boundary="===============8334518193530667108==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15648 - search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bridge. Date: Wed, 03 Dec 2008 08:29:15 -0500 Message-ID: --===============8334518193530667108== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:29:15 -0500 (Wed, 03 Dec 2008) New Revision: 15648 Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bridge/Clo= ud.java Log: HSEARCH-316 - Database keywords causes tests to fail Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bri= dge/Cloud.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bridge/Cl= oud.java 2008-12-03 13:24:52 UTC (rev 15647) +++ search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bridge/Cl= oud.java 2008-12-03 13:29:15 UTC (rev 15648) @@ -2,6 +2,8 @@ package org.hibernate.search.test.bridge; = import java.util.Date; + +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -94,6 +96,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"int1x") public Integer getInt1() { return int1; } @@ -103,6 +106,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"int2x") public int getInt2() { return int2; } @@ -157,6 +161,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"xdate") public Date getDate() { return date; } --===============8334518193530667108==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:47:14 2008 Content-Type: multipart/mixed; boundary="===============3040791056965755342==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15649 - search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/embedded. Date: Wed, 03 Dec 2008 08:47:14 -0500 Message-ID: --===============3040791056965755342== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:47:14 -0500 (Wed, 03 Dec 2008) New Revision: 15649 Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/embedded/P= roduct.java Log: HSEARCH-317 - Workaround for bug JBPAPP-1071 Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/emb= edded/Product.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/embedded/= Product.java 2008-12-03 13:29:15 UTC (rev 15648) +++ search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/embedded/= Product.java 2008-12-03 13:47:14 UTC (rev 15649) @@ -33,7 +33,7 @@ @IndexedEmbedded private Set authors =3D new HashSet(); @ManyToMany(cascade =3D CascadeType.REMOVE) //just to make the test easie= r, cascade doesn't really make any business sense - @MapKey(columns =3D @Column(name=3D"CUST_NAME") ) + @MapKey(columns =3D @Column(name=3D"CUST_NAME", nullable=3Dfalse) ) @IndexedEmbedded private Map orders =3D new HashMap(); = --===============3040791056965755342==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:55:38 2008 Content-Type: multipart/mixed; boundary="===============9156433255009698184==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15650 - in search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test: embedded and 1 other directories. Date: Wed, 03 Dec 2008 08:55:38 -0500 Message-ID: --===============9156433255009698184== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:55:38 -0500 (Wed, 03 Dec 2008) New Revision: 15650 Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bridge/Clo= ud.java search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/embedded/P= roduct.java search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/reader/Rea= derPerfTestCase.java Log: HSEARCH-317 HSEARCH-318 HSEARCH-319 - Reverting from 15647 to 15649, as the= patches are supposed to be commited at branch, not tag Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bri= dge/Cloud.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bridge/Cl= oud.java 2008-12-03 13:47:14 UTC (rev 15649) +++ search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/bridge/Cl= oud.java 2008-12-03 13:55:38 UTC (rev 15650) @@ -2,8 +2,6 @@ package org.hibernate.search.test.bridge; = import java.util.Date; - -import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -96,7 +94,6 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) - @Column(name=3D"int1x") public Integer getInt1() { return int1; } @@ -106,7 +103,6 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) - @Column(name=3D"int2x") public int getInt2() { return int2; } @@ -161,7 +157,6 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) - @Column(name=3D"xdate") public Date getDate() { return date; } Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/emb= edded/Product.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/embedded/= Product.java 2008-12-03 13:47:14 UTC (rev 15649) +++ search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/embedded/= Product.java 2008-12-03 13:55:38 UTC (rev 15650) @@ -33,7 +33,7 @@ @IndexedEmbedded private Set authors =3D new HashSet(); @ManyToMany(cascade =3D CascadeType.REMOVE) //just to make the test easie= r, cascade doesn't really make any business sense - @MapKey(columns =3D @Column(name=3D"CUST_NAME", nullable=3Dfalse) ) + @MapKey(columns =3D @Column(name=3D"CUST_NAME") ) @IndexedEmbedded private Map orders =3D new HashMap(); = Modified: search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/rea= der/ReaderPerfTestCase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/reader/Re= aderPerfTestCase.java 2008-12-03 13:47:14 UTC (rev 15649) +++ search/tags/v3_0_1_GA_CP01/src/test/org/hibernate/search/test/reader/Re= aderPerfTestCase.java 2008-12-03 13:55:38 UTC (rev 15650) @@ -92,7 +92,7 @@ suspect.setSuspectCharge( "thief liar " ); } else { - suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system."); + suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system and sees in it the perf= ect underground highway for his thievery. Washington Post columnist John K= elly recommends this title for middle schoolers, especially to be read alou= d."); } s.persist( suspect ); } --===============9156433255009698184==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:56:17 2008 Content-Type: multipart/mixed; boundary="===============6141031670468050603==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15651 - in search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test: embedded and 1 other directories. Date: Wed, 03 Dec 2008 08:56:17 -0500 Message-ID: --===============6141031670468050603== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:56:17 -0500 (Wed, 03 Dec 2008) New Revision: 15651 Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/br= idge/Cloud.java search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/em= bedded/Product.java search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/re= ader/ReaderPerfTestCase.java Log: HSEARCH-317 - Workaround for JBPAPP-1071 Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/bridge/Cloud.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/b= ridge/Cloud.java 2008-12-03 13:55:38 UTC (rev 15650) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/b= ridge/Cloud.java 2008-12-03 13:56:17 UTC (rev 15651) @@ -2,6 +2,8 @@ package org.hibernate.search.test.bridge; = import java.util.Date; + +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -94,6 +96,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"int1x") public Integer getInt1() { return int1; } @@ -103,6 +106,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"int2x") public int getInt2() { return int2; } @@ -157,6 +161,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"xdate") public Date getDate() { return date; } Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/embedded/Product.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/e= mbedded/Product.java 2008-12-03 13:55:38 UTC (rev 15650) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/e= mbedded/Product.java 2008-12-03 13:56:17 UTC (rev 15651) @@ -33,7 +33,7 @@ @IndexedEmbedded private Set authors =3D new HashSet(); @ManyToMany(cascade =3D CascadeType.REMOVE) //just to make the test easie= r, cascade doesn't really make any business sense - @MapKey(columns =3D @Column(name=3D"CUST_NAME") ) + @MapKey(columns =3D @Column(name=3D"CUST_NAME", nullable=3Dfalse) ) @IndexedEmbedded private Map orders =3D new HashMap(); = Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/reader/ReaderPerfTestCase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/r= eader/ReaderPerfTestCase.java 2008-12-03 13:55:38 UTC (rev 15650) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/r= eader/ReaderPerfTestCase.java 2008-12-03 13:56:17 UTC (rev 15651) @@ -92,7 +92,7 @@ suspect.setSuspectCharge( "thief liar " ); } else { - suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system and sees in it the perf= ect underground highway for his thievery. Washington Post columnist John K= elly recommends this title for middle schoolers, especially to be read alou= d."); + suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system."); } s.persist( suspect ); } --===============6141031670468050603==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:57:56 2008 Content-Type: multipart/mixed; boundary="===============1825476437647451754==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15652 - in search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test: reader and 1 other directory. Date: Wed, 03 Dec 2008 08:57:55 -0500 Message-ID: --===============1825476437647451754== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:57:55 -0500 (Wed, 03 Dec 2008) New Revision: 15652 Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/br= idge/Cloud.java search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/re= ader/ReaderPerfTestCase.java Log: Reverting 15651, for non-related issues to HSEARCH-317. Kept the commit for= HSEARCH-317 Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/bridge/Cloud.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/b= ridge/Cloud.java 2008-12-03 13:56:17 UTC (rev 15651) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/b= ridge/Cloud.java 2008-12-03 13:57:55 UTC (rev 15652) @@ -2,8 +2,6 @@ package org.hibernate.search.test.bridge; = import java.util.Date; - -import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -96,7 +94,6 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) - @Column(name=3D"int1x") public Integer getInt1() { return int1; } @@ -106,7 +103,6 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) - @Column(name=3D"int2x") public int getInt2() { return int2; } @@ -161,7 +157,6 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) - @Column(name=3D"xdate") public Date getDate() { return date; } Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/reader/ReaderPerfTestCase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/r= eader/ReaderPerfTestCase.java 2008-12-03 13:56:17 UTC (rev 15651) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/r= eader/ReaderPerfTestCase.java 2008-12-03 13:57:55 UTC (rev 15652) @@ -92,7 +92,7 @@ suspect.setSuspectCharge( "thief liar " ); } else { - suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system."); + suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system and sees in it the perf= ect underground highway for his thievery. Washington Post columnist John K= elly recommends this title for middle schoolers, especially to be read alou= d."); } s.persist( suspect ); } --===============1825476437647451754==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:58:53 2008 Content-Type: multipart/mixed; boundary="===============4352358355517739840==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15653 - search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/reader. Date: Wed, 03 Dec 2008 08:58:53 -0500 Message-ID: --===============4352358355517739840== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:58:53 -0500 (Wed, 03 Dec 2008) New Revision: 15653 Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/re= ader/ReaderPerfTestCase.java Log: HSEARCH-315 - ReaderPerfTestCase uses a too high value for suspectCharge pr= operty Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/reader/ReaderPerfTestCase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/r= eader/ReaderPerfTestCase.java 2008-12-03 13:57:55 UTC (rev 15652) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/r= eader/ReaderPerfTestCase.java 2008-12-03 13:58:53 UTC (rev 15653) @@ -92,7 +92,7 @@ suspect.setSuspectCharge( "thief liar " ); } else { - suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system and sees in it the perf= ect underground highway for his thievery. Washington Post columnist John K= elly recommends this title for middle schoolers, especially to be read alou= d."); + suspect.setSuspectCharge( " It's 1875 in London. The police have captu= red career criminal Montmorency. In the process he has been grievously woun= ded and it is up to a young surgeon to treat his wounds. During his recover= y Montmorency learns of the city's new sewer system."); } s.persist( suspect ); } --===============4352358355517739840==-- From hibernate-commits at lists.jboss.org Wed Dec 3 08:59:44 2008 Content-Type: multipart/mixed; boundary="===============4209578821245204012==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15654 - search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/bridge. Date: Wed, 03 Dec 2008 08:59:43 -0500 Message-ID: --===============4209578821245204012== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-03 08:59:43 -0500 (Wed, 03 Dec 2008) New Revision: 15654 Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/br= idge/Cloud.java Log: HSEARCH-316 - Database keywords causes tests to fail Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/bridge/Cloud.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/b= ridge/Cloud.java 2008-12-03 13:58:53 UTC (rev 15653) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/b= ridge/Cloud.java 2008-12-03 13:59:43 UTC (rev 15654) @@ -2,6 +2,8 @@ package org.hibernate.search.test.bridge; = import java.util.Date; + +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -94,6 +96,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"int1x") public Integer getInt1() { return int1; } @@ -103,6 +106,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"int2x") public int getInt2() { return int2; } @@ -157,6 +161,7 @@ } = @Field(index=3DIndex.UN_TOKENIZED, store=3DStore.YES) + @Column(name=3D"xdate") public Date getDate() { return date; } --===============4209578821245204012==-- From hibernate-commits at lists.jboss.org Wed Dec 3 11:24:25 2008 Content-Type: multipart/mixed; boundary="===============2133783777447858070==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15655 - search/trunk/doc/reference/en/modules. Date: Wed, 03 Dec 2008 11:24:24 -0500 Message-ID: --===============2133783777447858070== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-03 11:24:24 -0500 (Wed, 03 Dec 2008) New Revision: 15655 Modified: search/trunk/doc/reference/en/modules/getting-started.xml search/trunk/doc/reference/en/modules/mapping.xml Log: HSEARCH-303 Modified: search/trunk/doc/reference/en/modules/getting-started.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/getting-started.xml 2008-12-03 13= :59:43 UTC (rev 15654) +++ search/trunk/doc/reference/en/modules/getting-started.xml 2008-12-03 16= :24:24 UTC (rev 15655) @@ -54,18 +54,20 @@ Hibernate Search = - hibernate-search.jar and all the + hibernate-search.jar and all runtime dependencies from the lib directory of the - Hibernate Search distribution, especially lucene. + Hibernate Search distribution. Please refer to + README.txt in the lib directory to unders= tand + which dependencies are required. = Hibernate Core = This instructions have been tested against Hibernate 3.= 3.x. - Next to the main hibernate3.jar you will ne= ed - all required libaries from the lib director= y of - the distribution. Refer to README.txt in the + You will need hibernate-core.jar and its + transitive dependencies from the lib direct= ory + of the distribution. Refer to README.txt in= the lib directory of the distribution to determ= ine the minimum runtime requirements. @@ -95,7 +97,7 @@
    =
    - Maven + Using Maven = Instead of managing all dependencies manually, maven users have = the possibility to use the pom.xml or settings.xml: = - + + Adding the JBoss maven repository to + <filename>settings.xml</filename> + + <repository> <id>repository.jboss.org</id> <name>JBoss Maven Repository</name> @@ -112,10 +118,14 @@ <layout>default</layout> </repository> + = Then add the following dependencies to your pom.xml: = - + + Maven dependencies for Hibernate Search + + <dependency> <groupId>org.hibernate</groupId> <artifactId>hibernate-search</artifactId> @@ -147,6 +157,7 @@ <version>2.4.0</version> </dependency> + = Not all dependencies are required. Only the hibernate-search dependeny is mandatory. This @@ -159,16 +170,17 @@ with the hibernate-search jar file, to configure your Lucene index. Currently there is no XML configuration available for Hibernate Search. hibernate-entitymanager is required if you want to - use Hibernate Search in conjunction with JPA. Finally, the Solr - dependencies are needed if you want to utilize Solr's analyzer framewo= rk. - More about this later. + use Hibernate Search in conjunction with JPA. The Solr dependencies are + needed if you want to utilize Solr's analyzer framework. More about th= is + later. And finally, the lucene-snowball dependency = is + needed if you want to utililze Lucene's snowball stemmer.
    =
    Configuration = Once you have downloaded and added all required dependencies to = your - application you have to add a few properties to your hibernate + application you have to add a couple of properties to your hibernate configuration file. If you are using Hibernate directly this can be do= ne in hibernate.properties or hibernate.cfg.xml. If you are using Hibernate via J= PA @@ -177,14 +189,23 @@ default. An example persistence.xml configuration could look like this: = - + + Basic configuration options to be added to + <literal><filename>hibernate.properties</filename></literal>, + <literal><filename>hibernate.cfg.xml</filename></literal> or + <filename>persistence.xml</filename> + + ... <property name=3D"hibernate.search.default.directory_provider" = value=3D"org.hibernate.search.store.FSDirectoryProvider"/> = = <property name=3D"hibernate.search.default.indexBase" value=3D"/var/luc= ene/indexes"/> = ... - First you have to tell Hibernate Search which + + + + First you have to tell Hibernate Search which DirectoryProvider to use. This can be achieved = by setting the hibernate.search.default.directory_provider property. Apache Lucene has the notion of a Directory @@ -207,7 +228,11 @@ capabilities to your application in order to search the books containe= d in your database. = - + + Example entities Book and Author before adding Hibernate Sear= ch + specific annotatons + + package example; ... @Entity @@ -234,7 +259,7 @@ } = = - + package example; ... @Entity @@ -253,7 +278,8 @@ ... } = - + + = To achieve this you have to add a few annotations to the Book and Author class. T= he @@ -262,7 +288,7 @@ to store an untokenized id in the index to ensure index unicity for a given entity. @DocumentId marks the property to use= for this purpose and is in most cases the same as the database primary key= . In - fact since the latest release of Hibernate Search + fact since the 3.1.0 release of Hibernate Search @DocumentId is optional in the case where an @Id annotation exists. = @@ -276,16 +302,20 @@ talk more about analyzers a little later on. The second parameter we specify within @Field, store=3DStore.NO, ensures that the actual data will not be s= tored - in the index. This is the default setting and probably a good choice - unless you want to avoid database roundtrips and retrieve the indexed = data - via projections (). Without projection= s, - Hibernate Search will per default execute the Lucene query in order to - find the database identifiers of the entities matching the query crite= ra - and use these identifiers to retrieve managed objects from the databas= e. - The decision for or against projection has to be made on a case to case - basis. The default behaviour is recommended since it returns managed - objects whereas projections only returns object arrays. + in the index. Whether this data is stored in the index or not has noth= ing + to do with the ability to search for it. From Lucene's perspective it = is + not necessary to keep the data once the index is created. The benefit = of + storing it is the ability to retrieve it via projections (). = + Without projections, Hibernate Search will per default execute a + Lucene query in order to find the database identifiers of the entities + matching the query critera and use these identifiers to retrieve manag= ed + objects from the database. The decision for or against projection has = to + be made on a case to case basis. The default behaviour - + Store.NO - is recommended since it returns managed + objects whereas projections only return object arrays. + After this short look under the hood let's go back to annotating= the Book class. Another annotation we have not yet discussed is @DateBridge. This annotation is one of= the @@ -302,7 +332,7 @@ (@ManyToMany, @*ToOne and @Embedded) as part of the owning entity. This is ne= eded since a Lucene index document is a flat data structure which does not = know - anything about object relations. To ensure that the author's name wil = be + anything about object relations. To ensure that the authors' name wil = be searchable you have to make sure that the names are indexed as part of= the book itself. On top of @IndexedEmbedded you will al= so have to mark all fields of the associated entity you want to have incl= uded @@ -312,7 +342,11 @@ These settings should be sufficient for now. For more details on entity mapping refer to . = - + + Example entities after adding Hibernate Search + annotations + + package example; ... @Entity @@ -346,7 +380,7 @@ } = - + package example; ... @Entity @@ -366,6 +400,7 @@ ... } +
    =
    @@ -379,28 +414,41 @@ achieve this by using one of the following code snipplets (see also ): = - Example using Hibernate Session: + + Using Hibernate Session to index data = - + FullTextSession fullTextSession =3D Search.getFullTextSession(session); Transaction tx =3D fullTextSession.beginTransaction(); + List books =3D session.createQuery("from Book as book").list(); for (Book book : books) { - fullTextSession.index(book); + fullTextSession.index(book); } + tx.commit(); //index is written at commit time = + = - Example using JPA: + + Using JPA to index data = - + EntityManager em =3D entityManagerFactory.createEntityManager(); FullTextEntityManager fullTextEntityManager =3D Search.getFullTextEntityMa= nager(em); +em.getTransaction().begin(); + List books =3D em.createQuery("select book from Book as book").getResultLi= st(); for (Book book : books) { - fullTextEntityManager.index(book); + fullTextEntityManager.index(book); } = + +em.getTransaction().commit(); +em.close(); + + + = After executing the above code, you should be able to see a Luce= ne index under /var/lucene/indexes/example.Book. Go ah= ead @@ -412,40 +460,62 @@
    Searching = - Now it is time to execute a first search. The following code will - prepare a query against the indexed fields, execute it and return a li= st - of Books: + Now it is time to execute a first search. The general approach i= s to + create a native Lucene query and then wrap this query into a + org.hibernate.Query in order to get all the functionality one is used = to + from the Hibernate API. The following code will prepare a query against + the indexed fields, execute it and return a list of + Books. = - Example using Hibernate Session: + + Using Hibernate Session to create and execute a search = - + FullTextSession fullTextSession =3D Search.getFullTextSession(session); - Transaction tx =3D fullTextSession.beginTransaction(); = +// create native Lucene query String[] fields =3D new String[]{"title", "subtitle", "authors.name", "pub= licationDate"}; MultiFieldQueryParser parser =3D new MultiFieldQueryParser(fields, new Sta= ndardAnalyzer()); Query query =3D parser.parse( "Java rocks!" ); + +// wrap Lucene query in a org.hibernate.Query org.hibernate.Query hibQuery =3D fullTextSession.createFullTextQuery(query= , Book.class); + +// execute search List result =3D hibQuery.list(); = tx.commit(); session.close(); = + = - Example using JPA: + + Using JPA to create and execute a search = - + EntityManager em =3D entityManagerFactory.createEntityManager(); - FullTextEntityManager fullTextEntityManager =3D = org.hibernate.hibernate.search.jpa.Search.getFullTextEntityManager(em); +em.getTransaction().begin(); + +// create native Lucene query String[] fields =3D new String[]{"title", "subtitle", "authors.name", "pub= licationDate"}; MultiFieldQueryParser parser =3D new MultiFieldQueryParser(fields, new Sta= ndardAnalyzer()); Query query =3D parser.parse( "Java rocks!" ); + +// wrap Lucene query in a org.hibernate.Query org.hibernate.Query hibQuery =3D fullTextEntityManager.createFullTextQuery= (query, Book.class); + +// execute search List result =3D hibQuery.list(); + +em.getTransaction().commit(); +em.close(); + + +
    =
    @@ -456,9 +526,9 @@ Design of Existing Code" and you want to get hits for all of the follo= wing queries: "refactor", "refactors", "refactored" and "refactoring". In Lucene this can be achieved by choosing an analyzer class which applies - word stemming during the indexing and - search process. Hibernate Search offers several ways to configure the - analyzer to use (see ): + word stemming during the indexing as well + as search process. Hibernate Search offers several ways to + configure the analyzer to use (see ): = @@ -497,15 +567,19 @@ SnowballPorterFilterFactory. The standard token= izer splits words at punctuation characters and hyphens while keeping email addresses and internet hostnames intact. It is a good general purpose - tokenizer. The lowercase filter lowercases then the letters in each to= ken - whereas the snowball filter finally applies the actual language + tokenizer. The lowercase filter lowercases the letters in each token + whereas the snowball filter finally applies language specific stemming. = Generally, when using the Solr framework you have to start with a tokenizer followed by an arbitrary number of filters. = - + + Using <classname>@AnalyzerDef</classname> and the Solr framew= ork + to define and use an analyzer = + + package example; ... @Entity @@ -549,6 +623,7 @@ } = +
    =
    @@ -559,20 +634,25 @@ command you can create an initial runnable maven project structure populated with the example code of this tutorial. = - mvn archetype:create \ = + + Using the maven achetype to create tutorial sources + + mvn archetype:create \ = -DarchetypeGroupId=3Dorg.hibernate \ -DarchetypeArtifactId=3Dhibernate-search-quickstart \ = -DarchetypeVersion=3D3.1.0.GA \ - -DgroupId=3Dmy.company -DartifactId=3DquickstartUsing= the - maven project you can execute the examples, inspect the file system ba= sed - index and search and retrieve a list of managed objects. Just run - mvn package to compile the sources and run the un= it - tests. + -DgroupId=3Dmy.company -DartifactId=3Dquickstart + = + Using the maven project you can execute the examples, inspect the + file system based index and search and retrieve a list of managed obje= cts. + Just run mvn package to compile the sources and r= un + the unit tests. + The next step after this tutorial is to get more familiar with t= he overall architecture of Hibernate Search () and explore the basic features in = more - detail. Two topics which where only briefly touched in this tutorial w= ere + detail. Two topics which were only briefly touched in this tutorial we= re analyzer configuration () and field bridg= es (), both important features required for more fine-grained indexing. More advanced topics cover Modified: search/trunk/doc/reference/en/modules/mapping.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/mapping.xml 2008-12-03 13:59:43 U= TC (rev 15654) +++ search/trunk/doc/reference/en/modules/mapping.xml 2008-12-03 16:24:24 U= TC (rev 15655) @@ -1274,7 +1274,7 @@
    =
    - @ClassBridge + ClassBridge = It is sometimes useful to combine more than one property of a given entity and index this combination in a specific way into the --===============2133783777447858070==-- From hibernate-commits at lists.jboss.org Wed Dec 3 11:41:15 2008 Content-Type: multipart/mixed; boundary="===============6962558423594873574==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15656 - search/trunk/doc/reference/en/modules. Date: Wed, 03 Dec 2008 11:41:15 -0500 Message-ID: --===============6962558423594873574== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-03 11:41:15 -0500 (Wed, 03 Dec 2008) New Revision: 15656 Modified: search/trunk/doc/reference/en/modules/architecture.xml Log: HSEARCH-303 Modified: search/trunk/doc/reference/en/modules/architecture.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/architecture.xml 2008-12-03 16:24= :24 UTC (rev 15655) +++ search/trunk/doc/reference/en/modules/architecture.xml 2008-12-03 16:41= :15 UTC (rev 15656) @@ -47,30 +47,27 @@ configure directory providers to adjust the directory target (see ). = - Hibernate Search can also use the Lucene index to search an enti= ty - and return a list of managed entities saving you the tedious object to - Lucene document mapping. The same persistence context is shared between - Hibernate and Hibernate Search; as a matter of fact, the Search Sessio= n is - built on top of the Hibernate Session. The application code use the - unified org.hibernate.Query or + Hibernate Search uses the Lucene index to search an entity and + return a list of managed entities saving you the tedious object to Luc= ene + document mapping. The same persistence context is shared between Hiber= nate + and Hibernate Search. As a matter of fact, the + FullTextSession is built on top of the Hibernate + Session. so that the application code can use the unified + org.hibernate.Query or javax.persistence.Query APIs exactly the way a = HQL, JPA-QL or native queries would do. = To be more efficient, Hibernate Search batches the write interactions with the Lucene index. There is currently two types of - batching depending on the expected scope. + batching depending on the expected scope. Outside a transaction, the i= ndex + update operation is executed right after the actual database operation. + This scope is really a no scoping setup and no batching is performed. + However, it is recommended - for both your database and Hibernate Sear= ch - + to execute your operation in a transaction be it JDBC or JTA. When in a + transaction, the index update operation is scheduled for the transacti= on + commit phase and discarded in case of transaction rollback. The batchi= ng + scope is the transaction. There are two immediate benefits: = - Outside a transaction, the index update operation is executed ri= ght - after the actual database operation. This scope is really a no scoping - setup and no batching is performed. - - It is however recommended, for both your database and Hibernate - Search, to execute your operation in a transaction be it JDBC or JTA. = When - in a transaction, the index update operation is scheduled for the - transaction commit phase and discarded in case of transaction rollback. - The batching scope is the transaction. There are two immediate - benefits: - Performance: Lucene indexing works better when operation are @@ -80,20 +77,16 @@ ACIDity: The work executed has the same scoping as the one executed by the database transaction and is executed if and only if - the transaction is committed. - - - Disclaimer, the work in not ACID in the strict sense of it, - but ACID behavior is rarely useful for full text search indexes - since they can be rebuilt from the source at any time. - + the transaction is committed. This is not ACID in the strict sense= of + it, but ACID behavior is rarely useful for full text search indexes + since they can be rebuilt from the source at any time. = You can think of those two scopes (no scope vs transactional) as= the equivalent of the (infamous) autocommit vs transactional behavior. Fro= m a performance perspective, the in transaction mode = is - recommended. The scoping choice is made transparently: Hibernate Search + recommended. The scoping choice is made transparently. Hibernate Search detects the presence of a transaction and adjust the scoping. = @@ -154,12 +147,12 @@ = All index update operations applied on a given node are sent= to a JMS queue. A unique reader will then process the queue and update - the master Lucene index. The master index is then replicated on a - regular basis to the slave copies. This is known as the master / - slaves pattern. The master is the sole responsible for updating the - Lucene index. The slaves can accept read as well as write operatio= ns. - However, they only process the read operation on their local index - copy and delegate the update operations to the master. + the master index. The master index is then replicated on a regular + basis to the slave copies. This is known as the master/slaves patt= ern. + The master is the sole responsible for updating the Lucene index. = The + slaves can accept read as well as write operations. However, they = only + process the read operation on their local index copy and delegate = the + update operations to the master. = --===============6962558423594873574==-- From hibernate-commits at lists.jboss.org Wed Dec 3 15:10:04 2008 Content-Type: multipart/mixed; boundary="===============7811668481038321611==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15657 - search/trunk/doc/reference/en/modules. Date: Wed, 03 Dec 2008 15:10:03 -0500 Message-ID: --===============7811668481038321611== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-03 15:10:03 -0500 (Wed, 03 Dec 2008) New Revision: 15657 Modified: search/trunk/doc/reference/en/modules/mapping.xml Log: doc update Modified: search/trunk/doc/reference/en/modules/mapping.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/mapping.xml 2008-12-03 16:41:15 U= TC (rev 15656) +++ search/trunk/doc/reference/en/modules/mapping.xml 2008-12-03 20:10:03 U= TC (rev 15657) @@ -48,11 +48,16 @@ entities not annotated with @Indexed will be igno= red by the indexing process): = - @Entity + + Making a class indexable using the + <classname>@Indexed</classname> annotation + + @Entity @Indexed(index=3D"indexes/essays") public class Essay { ... } + = The index attribute tells Hibernate what the Lucene directory name is (usually a directory on your file system). = It @@ -189,7 +194,11 @@ can omit @DocumentId. The chosen entity id will also be used as docu= ment id. = - @Entity + + Adding <classname>@DocumentId</classname> ad + <classname>@Field</classname> annotations to an indexed entity</ti= tle> + + <programlisting>@Entity @Indexed(index=3D"indexes/essays") public class Essay { ... @@ -205,6 +214,7 @@ <emphasis role=3D"bold">@Field(index=3DIndex.TOKENIZED)</emphasis> public String getText() { return text; } }</programlisting> + </example> = <para>The above annotations define an index with three fields: <literal>id</literal> , <literal>Abstract</literal> and @@ -222,7 +232,10 @@ index it twice - once tokenized and once untokenized. @Fields allows= to achieve this goal.</para> = - <programlisting>@Entity + <example> + <title>Using @Fields to map a property multiple times + + @Entity @Indexed(index =3D "Book" ) public class Book { @Fields( { @@ -235,6 +248,7 @@ = ... } + = The field summary is indexed twice, once as summary in a tokenized way, and once as @@ -267,7 +281,10 @@ (In the Lucene query parser language, it would translate into address.city:Atlanta). = - @Entity + + Using @IndexedEmbedded to index associations + + @Entity @Indexed public class Place { @Id @@ -301,6 +318,7 @@ private Set<Place> places; ... } + = In this example, the place fields will be indexed in the Place index. The Place index @@ -325,7 +343,11 @@ = Let's make our example a bit more complex: = - @Entity + + Nested usage of <classname>@IndexedEmbedded</classname> and + <classname>@ContainedIn</classname> + + @Entity @Indexed public class Place { @Id @@ -369,6 +391,7 @@ private String name; ... } + = Any @*ToMany, @*ToOne and @Embedded attribute can be annotated with @@ -464,7 +487,11 @@ can override the object type targeted by Hibernate Search using the targetElement parameter. = - @Entity + + Using the <literal>targetElement</literal> property of + <classname>@IndexedEmbedded</classname> + + @Entity @Indexed public class Address { @Id @@ -485,6 +512,7 @@ = @Embeddable public class Owner implements Person { ... } +
    =
    @@ -495,7 +523,11 @@ during the indexation process. You can use @Boost= at the @Field, method or class level. = - @Entity + + Using different ways of increasing the weight of an indexed + element using a boost factor + + @Entity @Indexed(index=3D"indexes/essays") @Boost(1.7f) public class Essay { @@ -506,7 +538,7 @@ public Long getId() { return id; } = @Field(name=3D"Abstract", index=3DIndex.TOKENIZED, store=3DStore.YES, = boost=3D@Boost(2f)) + role=3D"bold">@Boost(2f)) @Boost(1.5f) public String getSummary() { return summary; } = @@ -518,6 +550,7 @@ public String getISBN() { return isbn; } = } + = In our example, Essay's probability to reach the top of the search list will be multiplied by 1.7. The @@ -545,7 +578,10 @@ even per @Field (useful when multiple fields are indexed from a sing= le property). = - @Entity + + Different ways of specifying an analyzer + + @Entity @Indexed @Analyzer(impl =3D EntityAnalyzer.class) public class MyEntity { @@ -566,6 +602,7 @@ = ... } + = In this example, EntityAnalyzer is used= to index all tokenized properties (eg. name), except @@ -627,7 +664,11 @@ distribution of Hibernate Search provides these dependecies in its lib directory. = - @AnalyzerDef(name=3D"customanalyzer", + + <classname>@AnalyzerDef</classname> and the Solr + framework + + @AnalyzerDef(name=3D"customanalyzer", tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.c= lass), filters =3D { @TokenFilterDef(factory =3D ISOLatin1AccentFilterFactory.c= lass), @@ -640,6 +681,7 @@ public class Team { ... } + = A tokenizer is defined by its factory which is responsible f= or building the tokenizer and using the optional list of parameters. = This @@ -660,7 +702,10 @@ @Analyzer declaration using the definition = name rather than declaring an implementation class. = - @Entity + + Referencing an analyzer by name + + @Entity @Indexed @AnalyzerDef(name=3D"customanalyzer", ... ) public class Team { @@ -678,6 +723,7 @@ @Field @Analyzer(definition =3D "customanalyze= r") private String description; } + = Analyzer instances declared by @AnalyzerDef are available by their name in= the @@ -1093,7 +1139,11 @@ interface. All implementations have to be thread-safe as they are = used concurrently. = - /** + + Implementing your own + <classname>StringBridge</classname> + + /** * Padding Integer bridge. * All numbers will be padded with 0 to match 5 digits * @@ -1114,6 +1164,7 @@ return paddedInteger.append( rawInteger ).toString(); } } + = Then any property or field can use this bridge thanks to the @FieldBridge annotation @@ -1127,9 +1178,12 @@ parameters are passed through the @FieldBridge annotation. = - public class PaddedIntegerBridge implements String= Bridge, ParameterizedBridge { + + Passing parameters to your bridge implementation = + public class PaddedIntegerBridge implements Stri= ngBridge, ParameterizedBridge { + public static String PADDING_PROPERTY =3D "padding"; private int padding =3D 5; //default = @@ -1156,6 +1210,7 @@ params =3D @Parameter(name=3D"padding= ", value=3D"10") ) private Integer length; + = The ParameterizedBridge interface can= be implemented by StringBridge , @@ -1174,8 +1229,12 @@ the object out of it. There is not difference in the way the @FieldBridge annotation is used. = - public class PaddedIntegerBridge implements TwoWay= StringBridge, ParameterizedBridge { + + Implementing a TwoWayStringBridge which can for example be + used for id properties = + public class PaddedIntegerBridge implements TwoW= ayStringBridge, ParameterizedBridge { + public static String PADDING_PROPERTY =3D "padding"; private int padding =3D 5; //default = @@ -1207,6 +1266,7 @@ params =3D @Parameter(name=3D"padding", value=3D"10") = private Integer id; + = It is critically important for the two-way process to be idempotent (ie object =3D stringToObject( objectToString( object )= ) @@ -1227,7 +1287,11 @@ You can for example store a given property in two different document fields: = - /** + + Implementing the FieldBridge interface in order to a given + property into multiple document fields + + /** * Store the date in 3 different fields - year, month, day - to ease Range= Query per * year, month or day (eg get all the elements of December for the last 5 = years). * = @@ -1271,6 +1335,7 @@ //property @FieldBridge(impl =3D DateSplitBridge.class) private Date date; +
    =
    @@ -1287,7 +1352,10 @@ termVector attribute discussed in section . = - @Entity + + Implementing a class bridge + + @Entity @Indexed @ClassBridge(name=3D"branchnetwork", index=3DIndex.TOKENIZED, @@ -1331,6 +1399,7 @@ document.add( field ); } } + = In this example, the particular CatFieldsClassBridge is applied to the @@ -1366,13 +1435,17 @@ sure however, to not use this annotation with @DocumentId as your system will break. = - @ProvidedId (bridge =3D org.my.own.package.MyCustomB= ridge) + + Providing your own id + + @ProvidedId (bridge =3D org.my.own.package.MyCusto= mBridge) @Indexed public class MyClass{ @Field String MyString; ... } +
    --===============7811668481038321611==-- From hibernate-commits at lists.jboss.org Thu Dec 4 04:54:44 2008 Content-Type: multipart/mixed; boundary="===============0712723646791908197==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15658 - search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/directoryProvider. Date: Thu, 04 Dec 2008 04:54:44 -0500 Message-ID: --===============0712723646791908197== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-04 04:54:44 -0500 (Thu, 04 Dec 2008) New Revision: 15658 Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/di= rectoryProvider/SnowStorm.java Log: HSEARCH-319 - Added a @Column to the property date, to use a non-keyword na= me Modified: search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/= test/directoryProvider/SnowStorm.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/d= irectoryProvider/SnowStorm.java 2008-12-03 20:10:03 UTC (rev 15657) +++ search/branches/Branch_3_0_1_GA_CP/src/test/org/hibernate/search/test/d= irectoryProvider/SnowStorm.java 2008-12-04 09:54:44 UTC (rev 15658) @@ -2,15 +2,17 @@ package org.hibernate.search.test.directoryProvider; = import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; -import javax.persistence.GeneratedValue; -import javax.persistence.Entity; = -import org.hibernate.search.annotations.Indexed; +import org.hibernate.search.annotations.DateBridge; import org.hibernate.search.annotations.DocumentId; import org.hibernate.search.annotations.Field; import org.hibernate.search.annotations.Index; -import org.hibernate.search.annotations.DateBridge; +import org.hibernate.search.annotations.Indexed; import org.hibernate.search.annotations.Resolution; = /** @@ -26,6 +28,7 @@ = @Field(index =3D Index.UN_TOKENIZED) @DateBridge( resolution =3D Resolution.DAY ) + @Column(name=3D"xdate") private Date date; = @Field(index =3D Index.TOKENIZED) --===============0712723646791908197==-- From hibernate-commits at lists.jboss.org Thu Dec 4 04:55:06 2008 Content-Type: multipart/mixed; boundary="===============8249405887509978128==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15659 - search/trunk/src/test/org/hibernate/search/test/directoryProvider. Date: Thu, 04 Dec 2008 04:55:05 -0500 Message-ID: --===============8249405887509978128== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-04 04:55:05 -0500 (Thu, 04 Dec 2008) New Revision: 15659 Modified: search/trunk/src/test/org/hibernate/search/test/directoryProvider/SnowSt= orm.java Log: HSEARCH-319 - Added a @Column to the property date, to use a non-keyword na= me Modified: search/trunk/src/test/org/hibernate/search/test/directoryProvider= /SnowStorm.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/directoryProvider/SnowS= torm.java 2008-12-04 09:54:44 UTC (rev 15658) +++ search/trunk/src/test/org/hibernate/search/test/directoryProvider/SnowS= torm.java 2008-12-04 09:55:05 UTC (rev 15659) @@ -2,15 +2,17 @@ package org.hibernate.search.test.directoryProvider; = import java.util.Date; + +import javax.persistence.Column; +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; import javax.persistence.Id; -import javax.persistence.GeneratedValue; -import javax.persistence.Entity; = -import org.hibernate.search.annotations.Indexed; +import org.hibernate.search.annotations.DateBridge; import org.hibernate.search.annotations.DocumentId; import org.hibernate.search.annotations.Field; import org.hibernate.search.annotations.Index; -import org.hibernate.search.annotations.DateBridge; +import org.hibernate.search.annotations.Indexed; import org.hibernate.search.annotations.Resolution; = /** @@ -26,6 +28,7 @@ = @Field(index =3D Index.UN_TOKENIZED) @DateBridge( resolution =3D Resolution.DAY ) + @Column(name=3D"xdate") private Date date; = @Field(index =3D Index.TOKENIZED) --===============8249405887509978128==-- From hibernate-commits at lists.jboss.org Thu Dec 4 05:17:43 2008 Content-Type: multipart/mixed; boundary="===============5812528742215191090==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15660 - search/trunk/doc/reference/en. Date: Thu, 04 Dec 2008 05:17:40 -0500 Message-ID: --===============5812528742215191090== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-04 05:17:39 -0500 (Thu, 04 Dec 2008) New Revision: 15660 Modified: search/trunk/doc/reference/en/master.xml Log: HSEARCH-303 - preface changes Modified: search/trunk/doc/reference/en/master.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/master.xml 2008-12-04 09:55:05 UTC (rev 1= 5659) +++ search/trunk/doc/reference/en/master.xml 2008-12-04 10:17:39 UTC (rev 1= 5660) @@ -53,17 +53,17 @@ = Full text search engines like Apache Lucene are very powerful technologies to add efficient free text search capabilities to - applications. However, they suffer several mismatches when dealing with - object domain models. Amongst other things indexes have to be kept up = to + applications. However, Lucene suffers several mismatches when dealing = with + object domain model. Amongst other things indexes have to be kept up to date and mismatches between index structure and domain model as well as query mismatches have to be avoided. = - Hibernate Search indexes your domain model with the help of a few - annotations, takes care of database/index synchronization and brings b= ack - regular managed objects from free text queries. To achieve this Hibern= ate - Search is combining the power of Hibernate and Apache Lucene. + Hibernate Search addresses these shortcomings - it indexes your + domain model with the help of a few annotations, takes care of + database/index synchronization and brings back regular managed objects + from free text queries. To achieve this Hibernate Search is combining = the + power of Hibernate and + Apache Lucene. = --===============8951699980608346398== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-04 05:25:17 -0500 (Thu, 04 Dec 2008) New Revision: 15661 Modified: search/trunk/doc/reference/en/modules/mapping.xml Log: HSEARCH-303 Modified: search/trunk/doc/reference/en/modules/mapping.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/mapping.xml 2008-12-04 10:17:39 U= TC (rev 15660) +++ search/trunk/doc/reference/en/modules/mapping.xml 2008-12-04 10:25:17 U= TC (rev 15661) @@ -427,7 +427,7 @@ ownedBy property. = - The prefix cannot be set to the empty string. + The prefix cannot be set to the empty string. = The depth property is necessary when the ob= ject @@ -439,7 +439,7 @@ an example of cyclic dependency. In our example, because depth is set to 1, any @IndexedEmbedded attribute in Owner (if any) will= be - ignored. + ignored. = Using @IndexedEmbedded for object associati= ons allows you to express queries such as: @@ -866,7 +866,7 @@ BlogEntry class for example the analyzer co= uld depend on the language property of the entry. Depending on this property the correct language specific stemmer should be chosen to - index the actual text. + index the actual text. = To enable this dynamic analyzer selection Hibernate Search introduces the AnalyzerDiscriminator @@ -1424,7 +1424,7 @@ document id is required in the constructor. =
    - The @ProvidedId annotation + The ProvidedId annotation = Unlike conventional Hibernate Search API and @DocumentId, this annotation is used on the class and not a field. You also can provide --===============8951699980608346398==-- From hibernate-commits at lists.jboss.org Thu Dec 4 05:42:08 2008 Content-Type: multipart/mixed; boundary="===============5845961407236495074==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15662 - search/trunk. Date: Thu, 04 Dec 2008 05:42:07 -0500 Message-ID: --===============5845961407236495074== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-04 05:42:07 -0500 (Thu, 04 Dec 2008) New Revision: 15662 Modified: search/trunk/changelog.txt Log: updated changelog Modified: search/trunk/changelog.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/changelog.txt 2008-12-04 10:25:17 UTC (rev 15661) +++ search/trunk/changelog.txt 2008-12-04 10:42:07 UTC (rev 15662) @@ -4,6 +4,32 @@ 3.1.0.GA (4-12-2008) ------------------------ = +** Bug + * [HSEARCH-233] - EntityNotFoundException during indexing + * [HSEARCH-280] - Make FSSlaveAndMasterDPTest pass against postgresql + * [HSEARCH-297] - Allow PatternTokenizerFactory to be used + * [HSEARCH-309] - PurgeAllLuceneWork duplicates in work queue + +** Improvement + * [HSEARCH-221] - Get Lucene Analyzer runtime (indexing) + * [HSEARCH-265] - Raise warnings when an abstract class is marked @Ind= exed + * [HSEARCH-285] - Refactor DocumentBuilder to support containedIn only= and regular Indexed entities + * [HSEARCH-298] - Warn for dangerous IndexWriter settings + * [HSEARCH-299] - Use of faster Bit operations when possible to chain = Filters + * [HSEARCH-302] - Utilize pagination settings when retrieving TopDocs = from the Lucene query to only retrieve required TopDocs + * [HSEARCH-308] - getResultSize() implementation should not load docum= ents + * [HSEARCH-311] - Add a close() method to BackendQueueProcessorFactory + * [HSEARCH-312] - Rename hibernate.search.filter.cache_bit_results.siz= e to hibernate.search.filter.cache_docidresults.size + +** New Feature + * [HSEARCH-160] - Truly polymorphic queries + * [HSEARCH-268] - Apply changes to different indexes in parallel + * [HSEARCH-296] - Expose managed entity class via a Projection constant + +** Task + * [HSEARCH-303] - Review reference documentation + + 3.1.0.CR1 (17-10-2008) ------------------------ = --===============5845961407236495074==-- From hibernate-commits at lists.jboss.org Thu Dec 4 05:45:14 2008 Content-Type: multipart/mixed; boundary="===============3015340497264710127==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15663 - in search/tags: v3_1_0_GA and 2 other directories. Date: Thu, 04 Dec 2008 05:45:13 -0500 Message-ID: --===============3015340497264710127== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-04 05:45:13 -0500 (Thu, 04 Dec 2008) New Revision: 15663 Added: search/tags/v3_1_0_GA/ search/tags/v3_1_0_GA/changelog.txt search/tags/v3_1_0_GA/doc/reference/en/master.xml search/tags/v3_1_0_GA/doc/reference/en/modules/mapping.xml Removed: search/tags/v3_1_0_GA/changelog.txt search/tags/v3_1_0_GA/doc/reference/en/master.xml search/tags/v3_1_0_GA/doc/reference/en/modules/mapping.xml Log: Created tag v3_1_0_GA. Copied: search/tags/v3_1_0_GA (from rev 15659, search/trunk) Deleted: search/tags/v3_1_0_GA/changelog.txt =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/changelog.txt 2008-12-04 09:55:05 UTC (rev 15659) +++ search/tags/v3_1_0_GA/changelog.txt 2008-12-04 10:45:13 UTC (rev 15663) @@ -1,342 +0,0 @@ -Hibernate Search Changelog -=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D - -3.1.0.GA (4-12-2008) ------------------------- - -3.1.0.CR1 (17-10-2008) ------------------------- - -** Bug - * [HSEARCH-250] - In ReaderStrategies, ensure that the reader is curre= nt AND that the directory returned by the DirectoryProvider are the same - * [HSEARCH-293] - AddLuceneWork is not being removed from the queue wh= en DeleteLuceneWork is added for the same entity - * [HSEARCH-300] - Fix documentation on use_compound_file - -** Improvement - * [HSEARCH-213] - Use FieldSelector and doc(int, fieldSelector) to onl= y select the necessary fields - * [HSEARCH-224] - Use MultiClassesQueryLoader in ProjectionLoader - * [HSEARCH-255] - Create a extensive Analyzer testing suite - * [HSEARCH-266] - Do not switch to the current directory in FSSlaveDir= ectoryProvider if no file has been copied - * [HSEARCH-274] - Use Lucene's new readonly IndexReader - * [HSEARCH-281] - Work should be Work - * [HSEARCH-283] - Replace deprecated Classes and methods calls to Luce= ne 2.4 - -** New Feature - * [HSEARCH-104] - Make @DocumentId optional and rely on @Id - * [HSEARCH-290] - Use IndexReader =3D readonly on Reader strategies (s= ee Lucene 2.4) - * [HSEARCH-294] - Rename INSTANCE_AND_BITSETRESULTS to INSTANCE_AND_DO= CIDSETRESULTS - -** Task - * [HSEARCH-288] - Evaluate changes in Lucene 2.4.0 - * [HSEARCH-289] - Move to new Lucene Filter DocIdSet - * [HSEARCH-291] - improve documentation about thread safety requiremen= ts of Bridges. - = - -3.1.0.Beta2 (27-10-2008) ------------------------- - -** Bug - * [HSEARCH-142] - Modifications on objects indexed via @IndexedEmbedde= d not updated when not annotated @Indexed - * [HSEARCH-162] - NPE on queries when no entity is marked as @Indexed - * [HSEARCH-222] - Entities not found during concurrent update - * [HSEARCH-225] - Avoid using IndexReader.deleteDocument when index is= not shared amongst several entity types - * [HSEARCH-232] - Using SnowballPorterFilterFactory throws NoClassDefF= oundError - * [HSEARCH-237] - IdHashShardingStrategy fails on IDs having negative = hashcode - * [HSEARCH-241] - initialize methods taking Properties cannot list ava= ilable properties - * [HSEARCH-247] - Hibernate Search cannot run without apache-solr-anal= yzer.jar - * [HSEARCH-253] - Inconsistent detection of EventListeners during auto= registration into Hibernate listeners - * [HSEARCH-257] - Ignore delete operation when Core does update then d= elete on the same entity - * [HSEARCH-259] - Filter were not isolated by name in the cache - * [HSEARCH-262] - fullTextSession.purgeAll(Class) does not consider= subclasses - * [HSEARCH-263] - Wrong analyzers used in IndexWriter - * [HSEARCH-267] - Inheritance of annotations and analyzer - * [HSEARCH-271] - wrong Similarity used when sharing index among entit= ies - * [HSEARCH-287] - master.xml is mistakenly copied to the distribution - -** Deprecation - * [HSEARCH-279] - deprecate SharedReaderProvider replaced by SharingBu= fferReaderProvider as default ReaderProvider - -** Improvement - * [HSEARCH-145] - Document a configuration property - * [HSEARCH-226] - Use Lucene ability to delete by query in IndexWriter - * [HSEARCH-240] - Generify the IndexShardingStrategy - * [HSEARCH-245] - Add ReaderStratregy.destroy() method - * [HSEARCH-256] - Remove CacheBitResults.YES - * [HSEARCH-260] - Simplify the Filter Caching definition: cache=3DFilt= erCacheModeType.[MODE] - * [HSEARCH-272] - Improve contention on DirectoryProviders in lucene b= ackend - * [HSEARCH-273] - Make LuceneOptions an interface - * [HSEARCH-282] - Make the API more Generics friendly - -** New Feature - * [HSEARCH-170] - Support @Boost in @Field - * [HSEARCH-235] - provide a destroy() method in ReaderProvider - * [HSEARCH-252] - Document Solr integration - * [HSEARCH-258] - Add configuration option for Lucene's UseCompoundFile - -** Patch - * [HSEARCH-20] - Lucene extensions - -** Task - * [HSEARCH-231] - Update the getting started guide with Solr analyzers - * [HSEARCH-236] - Find whether or not indexWriter.optimize() requires = an index lock - * [HSEARCH-244] - Abiltiy to ask SearchFactory for the scoped analyzer= of a given class - * [HSEARCH-254] - Migrate to Solr 1.3 - * [HSEARCH-276] - upgrade to Lucene 2.4 - * [HSEARCH-286] - Align to GA versions of all dependencies - * [HSEARCH-292] - Document the new Filter caching approach - - -3.1.0.Beta1 (17-07-2008) ------------------------- - -** Bug - * [HSEARCH-166] - documentation error : hibernate.search.worker.batch_= size vs hibernate.worker.batch_size - * [HSEARCH-171] - Do not log missing objects when using QueryLoader - * [HSEARCH-173] - CachingWrapperFilter loses its WeakReference making = filter caching inefficient - * [HSEARCH-194] - Inconsistent performance between hibernate search an= d pure lucene access - * [HSEARCH-196] - ObjectNotFoundException not caught in FullTextSession - * [HSEARCH-198] - Documentation out of sync with implemented/released = features - * [HSEARCH-203] - Counter of index modification operations not always = incremented - * [HSEARCH-204] - Improper calls to Session during a projection not in= volving THIS - * [HSEARCH-205] - Out of Memory on copy of large indexes - * [HSEARCH-217] - Proper errors on parsing of all numeric configuratio= n parameters - * [HSEARCH-227] - Criteria based fetching is not used when objects are= loaded one by one (iterate()) - - -** Improvement - * [HSEARCH-19] - Do not filter classes on queries when we know that al= l Directories only contains the targeted classes - * [HSEARCH-156] - Retrofit FieldBridge.set lucene parameters into a Lu= ceneOptions class - * [HSEARCH-157] - Make explicit in FAQ and doc that query.list() follo= wed by query.getResultSize() triggers only one query - * [HSEARCH-163] - Enhance error messages when @FieldBridge is wrongly = used (no impl or impl not implementing the right interfaces) - * [HSEARCH-176] - Permits alignment properties to lucene default (Sann= e Grinovero) - * [HSEARCH-179] - Documentation should be explicit that @FulltextFilte= r filters every object, regardless which object is annotated - * [HSEARCH-181] - Better management of file-based index directories (S= anne Grinovero) - * [HSEARCH-189] - Thread management improvements for Master/Slave Dire= ctoryProviders - * [HSEARCH-197] - Move to slf4j - * [HSEARCH-199] - Property close Search resources on SessionFactory.cl= ose() - * [HSEARCH-202] - Avoid many maps lookup in Workspace - * [HSEARCH-207] - Make DateBridge TwoWay to facilitate projection - * [HSEARCH-208] - Raise exception on index and purge when the entity i= s not an indexed entity - * [HSEARCH-209] - merge FullTextIndexCollectionEventListener into Full= TextIndexEventListener - * [HSEARCH-215] - Rename Search.createFTS to Search.getFTS deprecating= the old method - * [HSEARCH-223] - Use multiple criteria queries rather than ObjectLoad= er in most cases - * [HSEARCH-230] - Ensure initialization safety in a multi-core machine - -** New Feature - * [HSEARCH-133] - Allow overriding DefaultSimilarity for indexing and = searching (Nick Vincent) - * [HSEARCH-141] - Allow term position information to be stored in an i= ndex - * [HSEARCH-153] - Provide the possibility to configure writer.setRAMBu= fferSizeMB() (Lucene 2.3) - * [HSEARCH-154] - Provide a facility to access Lucene query explanatio= ns - * [HSEARCH-164] - Built-in bridge to index java.lang.Class - * [HSEARCH-165] - URI and URL built-in bridges - * [HSEARCH-174] - Improve transparent filter caching by wrapping filte= rs into our own CachingWrapperFilter - * [HSEARCH-186] - Enhance analyzer to support the Solr model - * [HSEARCH-190] - Add pom - * [HSEARCH-191] - Make build independent of Hibernate Core structure - * [HSEARCH-192] - Move to Hibernate Core 3.3 - * [HSEARCH-193] - Use dependency on Solr-analyzer JAR rather than the = full Solr JAR - * [HSEARCH-195] - Expose Analyzers instance by name: searchFactory.get= Analyzer(String) - * [HSEARCH-200] - Expose IndexWriter setting MAX_FIELD_LENGTH via Inde= xWriterSetting - * [HSEARCH-212] - Added ReaderProvider strategy reusing unchanged segm= ents (using reader.reopen()) - * [HSEARCH-220] - introduce session.flushToIndexes API and deprecate b= atch_size - - -** Task - * [HSEARCH-169] - Migrate to Lucene 2.3.1 (index corruption possiblity= in 2.3.0) - * [HSEARCH-187] - Clarify which directories need read-write access, ve= rify readonly behaviour on others. - * [HSEARCH-214] - Upgrade Lucene to 2.3.2 - * [HSEARCH-229] - Deprecate FullTextQuery.BOOST - - -3.0.1.GA (20-02-2008) ---------------------- - -** Bug - * [HSEARCH-56] - Updating a collection does not reindex - * [HSEARCH-123] - Use mkdirs instead of mkdir to create necessary pare= nt directory in the DirectoryProviderHelper - * [HSEARCH-128] - Indexing embedded children's child - * [HSEARCH-136] - CachingWrapperFilter does not cache - * [HSEARCH-137] - Wrong class name in Exception when a FieldBridge doe= s not implement TwoWayFieldBridge for a document id property - * [HSEARCH-138] - JNDI Property names have first character cut off - * [HSEARCH-140] - @IndexedEmbedded default depth is effectively 1 due = to integer overflow - * [HSEARCH-146] - ObjectLoader doesn't catch javax.persistence.EntityN= otFoundException - * [HSEARCH-149] - Default FieldBridge for enums passing wrong class to= EnumBridge constructor - - -** Improvement - * [HSEARCH-125] - Add support for fields declared by interface or unma= pped superclass - * [HSEARCH-127] - Wrong prefix for worker configurations - * [HSEARCH-129] - IndexedEmbedded for Collections Documentation - * [HSEARCH-130] - Should provide better log infos (on the indexBase pa= rameter for the FSDirectoryProvider) - * [HSEARCH-144] - Keep indexer running till finished on VM shutdown - * [HSEARCH-147] - Allow projection of Lucene DocId - -** New Feature - * [HSEARCH-114] - Introduce ResultTransformer to the query API - * [HSEARCH-150] - Migrate to Lucene 2.3 - -** Patch - * [HSEARCH-126] - Better diagnostic when Search index directory cannot= be opened (Ian) - - -3.0.0.GA (23-09-2007) ---------------------- - -** Bug - * [HSEARCH-116] - FullTextEntityManager acessing getDelegate() in the = constructor leads to NPE in JBoss AS + Seam - * [HSEARCH-117] - FullTextEntityManagerImpl and others should implemen= t Serializable - -** Deprecation - * [HSEARCH-122] - Remove query.setIndexProjection (replaced by query.s= etProjection) - -** Improvement - * [HSEARCH-118] - Add ClassBridges (plural) functionality - -** New Feature - * [HSEARCH-81] - Create a @ClassBridge Annotation (John Griffin) - - -** Task - * [HSEARCH-98] - Add a Getting started section to the reference docume= ntation - - -3.0.0.CR1 (4-09-2007) ---------------------- - -** Bug - * [HSEARCH-108] - id of embedded object is not indexed when using @Ind= exedEmbedded - * [HSEARCH-109] - Lazy loaded entity could not be indexed - * [HSEARCH-110] - ScrollableResults does not obey out of bounds rules = (John Griffin) - * [HSEARCH-112] - Unkown @FullTextFilter when attempting to associate= a filter - -** Deprecation - * [HSEARCH-113] - Remove @Text, @Keyword and @Unstored (old mapping an= notations) - -** Improvement - * [HSEARCH-107] - DirectoryProvider should have a start() method - -** New Feature - * [HSEARCH-14] - introduce fetch_size for Hibernate Search scrollable = resultsets (John Griffin) - * [HSEARCH-69] - Ability to purge an index by class (John Griffin) - * [HSEARCH-111] - Ability to disable event based indexing (for read on= ly or batch based indexing) - - -3.0.0.Beta4 (1-08-2007) ------------------------ - -** Bug - * [HSEARCH-88] - Unable to update 2 entity types in the same transacti= on if they share the same index - * [HSEARCH-90] - Use of setFirstResult / setMaxResults can lead to a l= ist with negative capacity (John Griffin) - * [HSEARCH-92] - NPE for null fields on projection - * [HSEARCH-99] - Avoid returning non initialized proxies in scroll() a= nd iterate() (loader.load(EntityInfo)) - - -** Improvement - * [HSEARCH-79] - Recommend to use FlushMode.APPLICATION on massive ind= exing - * [HSEARCH-84] - Migrate to Lucene 2.2 - * [HSEARCH-91] - Avoid wrapping a Session object if the Session is alr= eady FullTextSession - * [HSEARCH-100] - Rename fullTextSession.setIndexProjection() to fullT= extSession.setProjection() - * [HSEARCH-102] - Default index operation in @Field to TOKENIZED - * [HSEARCH-106] - Use the shared reader strategy as the default strate= gy - -** New Feature - * [HSEARCH-6] - Provide access to the Hit.getScore() and potentially t= he Document on a query - * [HSEARCH-15] - Notion of Filtered Lucene queries (Hardy Ferentschik) - * [HSEARCH-41] - Allow fine grained analyzers (Entity, attribute, @Fie= ld) - * [HSEARCH-45] - Support @Fields() for multiple indexing per property = (useful for sorting) - * [HSEARCH-58] - Support named Filters (and caching) - * [HSEARCH-67] - Expose mergeFactor, maxMergeDocs and minMergeDocs (Ha= rdy Ferentschik) - * [HSEARCH-73] - IncrementalOptimizerStrategy triggered on transaction= s or operations limits - * [HSEARCH-74] - Ability to project Lucene meta information (Score, Bo= ost, Document, Id, This) (John Griffin) - * [HSEARCH-83] - Introduce OptimizerStrategy - * [HSEARCH-86] - Index sharding: multiple Lucene indexes per entity ty= pe - * [HSEARCH-89] - FullText wrapper for JPA APIs - * [HSEARCH-103] - Ability to override the indexName in the FSDirectory= Providers family - - -** Task - * [HSEARCH-94] - Deprecate ContextHelper - - -3.0.0.Beta3 (6-06-2007) ------------------------ - -** Bug - * [HSEARCH-64] - Exception Thrown If Index Directory Does Not Exist - * [HSEARCH-66] - Some results not returned in some circumstances (Bran= don Munroe) - - -** Improvement - * [HSEARCH-60] - Introduce SearchFactory / SearchFactoryImpl - * [HSEARCH-68] - Set index copy threads as daemon - * [HSEARCH-70] - Create the index base directory if it does not exists - -** New Feature - * [HSEARCH-11] - Provide access to IndexWriter.optimize() - * [HSEARCH-33] - hibernate.search.worker.batch_size to prevent OutOfMe= moryException while inserting many objects - * [HSEARCH-71] - Provide fullTextSession.getSearchFactory() - * [HSEARCH-72] - searchFactory.optimize() and searchFactory.optimize(C= lass) (Andrew Hahn) - - -3.0.0.Beta2 (31-05-2007) ------------------------- - -** Bug - * [HSEARCH-37] - Verify that Serializable return type are not resolved= by StringBridge built in type - * [HSEARCH-39] - event listener declaration example is wrong - * [HSEARCH-44] - Build the Lucene Document in the beforeComplete trans= action phase - * [HSEARCH-50] - Null Booleans lead to NPE - * [HSEARCH-59] - Unable to index @indexEmbedded object through session= .index when object is lazy and field access is used in object - - -** Improvement - * [HSEARCH-36] - Meaningful exception message when Search Listeners ar= e not initialized - * [HSEARCH-38] - Make the @IndexedEmbedded documentation example easie= r to understand - * [HSEARCH-51] - Optimization: Use a query rather than batch-size to l= oad objects when a single entity (hierarchy) is expected - * [HSEARCH-63] - rename query.resultSize() to getResultSize() - -** New Feature - * [HSEARCH-4] - Be able to use a Lucene Sort on queries (Hardy Ferents= chik) - * [HSEARCH-13] - Cache IndexReaders per SearchFactory - * [HSEARCH-40] - Be able to embed collections in lucene index (@Indexe= dEmbeddable in collections) - * [HSEARCH-43] - Expose resultSize and do not load object when only re= sultSize is retrieved - * [HSEARCH-52] - Ability to load more efficiently an object graph from= a lucene query by customizing the fetch modes - * [HSEARCH-53] - Add support for projection (ie read the data from the= index only) - * [HSEARCH-61] - Move from MultiSearcher to MultiReader - * [HSEARCH-62] - Support pluggable ReaderProvider strategies - = - -** Task - * [HSEARCH-65] - Update to JBoss Embedded beta2 - - -3.0.0.Beta1 (19-03-2007) ------------------------- - -Initial release as a standalone product (see Hibernate Annotations changel= og for previous informations) - - -Release Notes - Hibernate Search - Version 3.0.0.beta1 - -** Bug - * [HSEARCH-7] - Ignore object found in the index but no longer present= in the database (for out of date indexes) - * [HSEARCH-21] - NPE in SearchFactory while using different threads - * [HSEARCH-22] - Enum value Index.UN_TOKENISED is misspelled - * [HSEARCH-24] - Potential deadlock when using multiple DirectoryProvi= ders in a highly concurrent index update - * [HSEARCH-25] - Class cast exception in org.hibernate.search.impl.Ful= lTextSessionImpl(FullTextSessionImpl.java:54) - * [HSEARCH-28] - Wrong indexDir property in Apache Lucene Integration - - -** Improvement - * [HSEARCH-29] - Share the initialization state across all Search even= t listeners instance - * [HSEARCH-30] - @FieldBridge now use o.h.s.a.Parameter rather than o.= h.a.Parameter - * [HSEARCH-31] - Move to Lucene 2.1.0 - -** New Feature - * [HSEARCH-1] - Give access to Directory providers - * [HSEARCH-2] - Default FieldBridge for enums (Sylvain Vieujot) - * [HSEARCH-3] - Default FieldBridge for booleans (Sylvain Vieujot) - * [HSEARCH-9] - Introduce a worker factory and its configuration - * [HSEARCH-16] - Cluster capability through JMS - * [HSEARCH-23] - Support asynchronous batch worker queue - * [HSEARCH-27] - Ability to index associated / embedded objects Copied: search/tags/v3_1_0_GA/changelog.txt (from rev 15662, search/trunk/c= hangelog.txt) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_1_0_GA/changelog.txt (rev 0) +++ search/tags/v3_1_0_GA/changelog.txt 2008-12-04 10:45:13 UTC (rev 15663) @@ -0,0 +1,368 @@ +Hibernate Search Changelog +=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D + +3.1.0.GA (4-12-2008) +------------------------ + +** Bug + * [HSEARCH-233] - EntityNotFoundException during indexing + * [HSEARCH-280] - Make FSSlaveAndMasterDPTest pass against postgresql + * [HSEARCH-297] - Allow PatternTokenizerFactory to be used + * [HSEARCH-309] - PurgeAllLuceneWork duplicates in work queue + +** Improvement + * [HSEARCH-221] - Get Lucene Analyzer runtime (indexing) + * [HSEARCH-265] - Raise warnings when an abstract class is marked @Ind= exed + * [HSEARCH-285] - Refactor DocumentBuilder to support containedIn only= and regular Indexed entities + * [HSEARCH-298] - Warn for dangerous IndexWriter settings + * [HSEARCH-299] - Use of faster Bit operations when possible to chain = Filters + * [HSEARCH-302] - Utilize pagination settings when retrieving TopDocs = from the Lucene query to only retrieve required TopDocs + * [HSEARCH-308] - getResultSize() implementation should not load docum= ents + * [HSEARCH-311] - Add a close() method to BackendQueueProcessorFactory + * [HSEARCH-312] - Rename hibernate.search.filter.cache_bit_results.siz= e to hibernate.search.filter.cache_docidresults.size + +** New Feature + * [HSEARCH-160] - Truly polymorphic queries + * [HSEARCH-268] - Apply changes to different indexes in parallel + * [HSEARCH-296] - Expose managed entity class via a Projection constant + +** Task + * [HSEARCH-303] - Review reference documentation + + +3.1.0.CR1 (17-10-2008) +------------------------ + +** Bug + * [HSEARCH-250] - In ReaderStrategies, ensure that the reader is curre= nt AND that the directory returned by the DirectoryProvider are the same + * [HSEARCH-293] - AddLuceneWork is not being removed from the queue wh= en DeleteLuceneWork is added for the same entity + * [HSEARCH-300] - Fix documentation on use_compound_file + +** Improvement + * [HSEARCH-213] - Use FieldSelector and doc(int, fieldSelector) to onl= y select the necessary fields + * [HSEARCH-224] - Use MultiClassesQueryLoader in ProjectionLoader + * [HSEARCH-255] - Create a extensive Analyzer testing suite + * [HSEARCH-266] - Do not switch to the current directory in FSSlaveDir= ectoryProvider if no file has been copied + * [HSEARCH-274] - Use Lucene's new readonly IndexReader + * [HSEARCH-281] - Work should be Work + * [HSEARCH-283] - Replace deprecated Classes and methods calls to Luce= ne 2.4 + +** New Feature + * [HSEARCH-104] - Make @DocumentId optional and rely on @Id + * [HSEARCH-290] - Use IndexReader =3D readonly on Reader strategies (s= ee Lucene 2.4) + * [HSEARCH-294] - Rename INSTANCE_AND_BITSETRESULTS to INSTANCE_AND_DO= CIDSETRESULTS + +** Task + * [HSEARCH-288] - Evaluate changes in Lucene 2.4.0 + * [HSEARCH-289] - Move to new Lucene Filter DocIdSet + * [HSEARCH-291] - improve documentation about thread safety requiremen= ts of Bridges. + = + +3.1.0.Beta2 (27-10-2008) +------------------------ + +** Bug + * [HSEARCH-142] - Modifications on objects indexed via @IndexedEmbedde= d not updated when not annotated @Indexed + * [HSEARCH-162] - NPE on queries when no entity is marked as @Indexed + * [HSEARCH-222] - Entities not found during concurrent update + * [HSEARCH-225] - Avoid using IndexReader.deleteDocument when index is= not shared amongst several entity types + * [HSEARCH-232] - Using SnowballPorterFilterFactory throws NoClassDefF= oundError + * [HSEARCH-237] - IdHashShardingStrategy fails on IDs having negative = hashcode + * [HSEARCH-241] - initialize methods taking Properties cannot list ava= ilable properties + * [HSEARCH-247] - Hibernate Search cannot run without apache-solr-anal= yzer.jar + * [HSEARCH-253] - Inconsistent detection of EventListeners during auto= registration into Hibernate listeners + * [HSEARCH-257] - Ignore delete operation when Core does update then d= elete on the same entity + * [HSEARCH-259] - Filter were not isolated by name in the cache + * [HSEARCH-262] - fullTextSession.purgeAll(Class) does not consider= subclasses + * [HSEARCH-263] - Wrong analyzers used in IndexWriter + * [HSEARCH-267] - Inheritance of annotations and analyzer + * [HSEARCH-271] - wrong Similarity used when sharing index among entit= ies + * [HSEARCH-287] - master.xml is mistakenly copied to the distribution + +** Deprecation + * [HSEARCH-279] - deprecate SharedReaderProvider replaced by SharingBu= fferReaderProvider as default ReaderProvider + +** Improvement + * [HSEARCH-145] - Document a configuration property + * [HSEARCH-226] - Use Lucene ability to delete by query in IndexWriter + * [HSEARCH-240] - Generify the IndexShardingStrategy + * [HSEARCH-245] - Add ReaderStratregy.destroy() method + * [HSEARCH-256] - Remove CacheBitResults.YES + * [HSEARCH-260] - Simplify the Filter Caching definition: cache=3DFilt= erCacheModeType.[MODE] + * [HSEARCH-272] - Improve contention on DirectoryProviders in lucene b= ackend + * [HSEARCH-273] - Make LuceneOptions an interface + * [HSEARCH-282] - Make the API more Generics friendly + +** New Feature + * [HSEARCH-170] - Support @Boost in @Field + * [HSEARCH-235] - provide a destroy() method in ReaderProvider + * [HSEARCH-252] - Document Solr integration + * [HSEARCH-258] - Add configuration option for Lucene's UseCompoundFile + +** Patch + * [HSEARCH-20] - Lucene extensions + +** Task + * [HSEARCH-231] - Update the getting started guide with Solr analyzers + * [HSEARCH-236] - Find whether or not indexWriter.optimize() requires = an index lock + * [HSEARCH-244] - Abiltiy to ask SearchFactory for the scoped analyzer= of a given class + * [HSEARCH-254] - Migrate to Solr 1.3 + * [HSEARCH-276] - upgrade to Lucene 2.4 + * [HSEARCH-286] - Align to GA versions of all dependencies + * [HSEARCH-292] - Document the new Filter caching approach + + +3.1.0.Beta1 (17-07-2008) +------------------------ + +** Bug + * [HSEARCH-166] - documentation error : hibernate.search.worker.batch_= size vs hibernate.worker.batch_size + * [HSEARCH-171] - Do not log missing objects when using QueryLoader + * [HSEARCH-173] - CachingWrapperFilter loses its WeakReference making = filter caching inefficient + * [HSEARCH-194] - Inconsistent performance between hibernate search an= d pure lucene access + * [HSEARCH-196] - ObjectNotFoundException not caught in FullTextSession + * [HSEARCH-198] - Documentation out of sync with implemented/released = features + * [HSEARCH-203] - Counter of index modification operations not always = incremented + * [HSEARCH-204] - Improper calls to Session during a projection not in= volving THIS + * [HSEARCH-205] - Out of Memory on copy of large indexes + * [HSEARCH-217] - Proper errors on parsing of all numeric configuratio= n parameters + * [HSEARCH-227] - Criteria based fetching is not used when objects are= loaded one by one (iterate()) + + +** Improvement + * [HSEARCH-19] - Do not filter classes on queries when we know that al= l Directories only contains the targeted classes + * [HSEARCH-156] - Retrofit FieldBridge.set lucene parameters into a Lu= ceneOptions class + * [HSEARCH-157] - Make explicit in FAQ and doc that query.list() follo= wed by query.getResultSize() triggers only one query + * [HSEARCH-163] - Enhance error messages when @FieldBridge is wrongly = used (no impl or impl not implementing the right interfaces) + * [HSEARCH-176] - Permits alignment properties to lucene default (Sann= e Grinovero) + * [HSEARCH-179] - Documentation should be explicit that @FulltextFilte= r filters every object, regardless which object is annotated + * [HSEARCH-181] - Better management of file-based index directories (S= anne Grinovero) + * [HSEARCH-189] - Thread management improvements for Master/Slave Dire= ctoryProviders + * [HSEARCH-197] - Move to slf4j + * [HSEARCH-199] - Property close Search resources on SessionFactory.cl= ose() + * [HSEARCH-202] - Avoid many maps lookup in Workspace + * [HSEARCH-207] - Make DateBridge TwoWay to facilitate projection + * [HSEARCH-208] - Raise exception on index and purge when the entity i= s not an indexed entity + * [HSEARCH-209] - merge FullTextIndexCollectionEventListener into Full= TextIndexEventListener + * [HSEARCH-215] - Rename Search.createFTS to Search.getFTS deprecating= the old method + * [HSEARCH-223] - Use multiple criteria queries rather than ObjectLoad= er in most cases + * [HSEARCH-230] - Ensure initialization safety in a multi-core machine + +** New Feature + * [HSEARCH-133] - Allow overriding DefaultSimilarity for indexing and = searching (Nick Vincent) + * [HSEARCH-141] - Allow term position information to be stored in an i= ndex + * [HSEARCH-153] - Provide the possibility to configure writer.setRAMBu= fferSizeMB() (Lucene 2.3) + * [HSEARCH-154] - Provide a facility to access Lucene query explanatio= ns + * [HSEARCH-164] - Built-in bridge to index java.lang.Class + * [HSEARCH-165] - URI and URL built-in bridges + * [HSEARCH-174] - Improve transparent filter caching by wrapping filte= rs into our own CachingWrapperFilter + * [HSEARCH-186] - Enhance analyzer to support the Solr model + * [HSEARCH-190] - Add pom + * [HSEARCH-191] - Make build independent of Hibernate Core structure + * [HSEARCH-192] - Move to Hibernate Core 3.3 + * [HSEARCH-193] - Use dependency on Solr-analyzer JAR rather than the = full Solr JAR + * [HSEARCH-195] - Expose Analyzers instance by name: searchFactory.get= Analyzer(String) + * [HSEARCH-200] - Expose IndexWriter setting MAX_FIELD_LENGTH via Inde= xWriterSetting + * [HSEARCH-212] - Added ReaderProvider strategy reusing unchanged segm= ents (using reader.reopen()) + * [HSEARCH-220] - introduce session.flushToIndexes API and deprecate b= atch_size + + +** Task + * [HSEARCH-169] - Migrate to Lucene 2.3.1 (index corruption possiblity= in 2.3.0) + * [HSEARCH-187] - Clarify which directories need read-write access, ve= rify readonly behaviour on others. + * [HSEARCH-214] - Upgrade Lucene to 2.3.2 + * [HSEARCH-229] - Deprecate FullTextQuery.BOOST + + +3.0.1.GA (20-02-2008) +--------------------- + +** Bug + * [HSEARCH-56] - Updating a collection does not reindex + * [HSEARCH-123] - Use mkdirs instead of mkdir to create necessary pare= nt directory in the DirectoryProviderHelper + * [HSEARCH-128] - Indexing embedded children's child + * [HSEARCH-136] - CachingWrapperFilter does not cache + * [HSEARCH-137] - Wrong class name in Exception when a FieldBridge doe= s not implement TwoWayFieldBridge for a document id property + * [HSEARCH-138] - JNDI Property names have first character cut off + * [HSEARCH-140] - @IndexedEmbedded default depth is effectively 1 due = to integer overflow + * [HSEARCH-146] - ObjectLoader doesn't catch javax.persistence.EntityN= otFoundException + * [HSEARCH-149] - Default FieldBridge for enums passing wrong class to= EnumBridge constructor + + +** Improvement + * [HSEARCH-125] - Add support for fields declared by interface or unma= pped superclass + * [HSEARCH-127] - Wrong prefix for worker configurations + * [HSEARCH-129] - IndexedEmbedded for Collections Documentation + * [HSEARCH-130] - Should provide better log infos (on the indexBase pa= rameter for the FSDirectoryProvider) + * [HSEARCH-144] - Keep indexer running till finished on VM shutdown + * [HSEARCH-147] - Allow projection of Lucene DocId + +** New Feature + * [HSEARCH-114] - Introduce ResultTransformer to the query API + * [HSEARCH-150] - Migrate to Lucene 2.3 + +** Patch + * [HSEARCH-126] - Better diagnostic when Search index directory cannot= be opened (Ian) + + +3.0.0.GA (23-09-2007) +--------------------- + +** Bug + * [HSEARCH-116] - FullTextEntityManager acessing getDelegate() in the = constructor leads to NPE in JBoss AS + Seam + * [HSEARCH-117] - FullTextEntityManagerImpl and others should implemen= t Serializable + +** Deprecation + * [HSEARCH-122] - Remove query.setIndexProjection (replaced by query.s= etProjection) + +** Improvement + * [HSEARCH-118] - Add ClassBridges (plural) functionality + +** New Feature + * [HSEARCH-81] - Create a @ClassBridge Annotation (John Griffin) + + +** Task + * [HSEARCH-98] - Add a Getting started section to the reference docume= ntation + + +3.0.0.CR1 (4-09-2007) +--------------------- + +** Bug + * [HSEARCH-108] - id of embedded object is not indexed when using @Ind= exedEmbedded + * [HSEARCH-109] - Lazy loaded entity could not be indexed + * [HSEARCH-110] - ScrollableResults does not obey out of bounds rules = (John Griffin) + * [HSEARCH-112] - Unkown @FullTextFilter when attempting to associate= a filter + +** Deprecation + * [HSEARCH-113] - Remove @Text, @Keyword and @Unstored (old mapping an= notations) + +** Improvement + * [HSEARCH-107] - DirectoryProvider should have a start() method + +** New Feature + * [HSEARCH-14] - introduce fetch_size for Hibernate Search scrollable = resultsets (John Griffin) + * [HSEARCH-69] - Ability to purge an index by class (John Griffin) + * [HSEARCH-111] - Ability to disable event based indexing (for read on= ly or batch based indexing) + + +3.0.0.Beta4 (1-08-2007) +----------------------- + +** Bug + * [HSEARCH-88] - Unable to update 2 entity types in the same transacti= on if they share the same index + * [HSEARCH-90] - Use of setFirstResult / setMaxResults can lead to a l= ist with negative capacity (John Griffin) + * [HSEARCH-92] - NPE for null fields on projection + * [HSEARCH-99] - Avoid returning non initialized proxies in scroll() a= nd iterate() (loader.load(EntityInfo)) + + +** Improvement + * [HSEARCH-79] - Recommend to use FlushMode.APPLICATION on massive ind= exing + * [HSEARCH-84] - Migrate to Lucene 2.2 + * [HSEARCH-91] - Avoid wrapping a Session object if the Session is alr= eady FullTextSession + * [HSEARCH-100] - Rename fullTextSession.setIndexProjection() to fullT= extSession.setProjection() + * [HSEARCH-102] - Default index operation in @Field to TOKENIZED + * [HSEARCH-106] - Use the shared reader strategy as the default strate= gy + +** New Feature + * [HSEARCH-6] - Provide access to the Hit.getScore() and potentially t= he Document on a query + * [HSEARCH-15] - Notion of Filtered Lucene queries (Hardy Ferentschik) + * [HSEARCH-41] - Allow fine grained analyzers (Entity, attribute, @Fie= ld) + * [HSEARCH-45] - Support @Fields() for multiple indexing per property = (useful for sorting) + * [HSEARCH-58] - Support named Filters (and caching) + * [HSEARCH-67] - Expose mergeFactor, maxMergeDocs and minMergeDocs (Ha= rdy Ferentschik) + * [HSEARCH-73] - IncrementalOptimizerStrategy triggered on transaction= s or operations limits + * [HSEARCH-74] - Ability to project Lucene meta information (Score, Bo= ost, Document, Id, This) (John Griffin) + * [HSEARCH-83] - Introduce OptimizerStrategy + * [HSEARCH-86] - Index sharding: multiple Lucene indexes per entity ty= pe + * [HSEARCH-89] - FullText wrapper for JPA APIs + * [HSEARCH-103] - Ability to override the indexName in the FSDirectory= Providers family + + +** Task + * [HSEARCH-94] - Deprecate ContextHelper + + +3.0.0.Beta3 (6-06-2007) +----------------------- + +** Bug + * [HSEARCH-64] - Exception Thrown If Index Directory Does Not Exist + * [HSEARCH-66] - Some results not returned in some circumstances (Bran= don Munroe) + + +** Improvement + * [HSEARCH-60] - Introduce SearchFactory / SearchFactoryImpl + * [HSEARCH-68] - Set index copy threads as daemon + * [HSEARCH-70] - Create the index base directory if it does not exists + +** New Feature + * [HSEARCH-11] - Provide access to IndexWriter.optimize() + * [HSEARCH-33] - hibernate.search.worker.batch_size to prevent OutOfMe= moryException while inserting many objects + * [HSEARCH-71] - Provide fullTextSession.getSearchFactory() + * [HSEARCH-72] - searchFactory.optimize() and searchFactory.optimize(C= lass) (Andrew Hahn) + + +3.0.0.Beta2 (31-05-2007) +------------------------ + +** Bug + * [HSEARCH-37] - Verify that Serializable return type are not resolved= by StringBridge built in type + * [HSEARCH-39] - event listener declaration example is wrong + * [HSEARCH-44] - Build the Lucene Document in the beforeComplete trans= action phase + * [HSEARCH-50] - Null Booleans lead to NPE + * [HSEARCH-59] - Unable to index @indexEmbedded object through session= .index when object is lazy and field access is used in object + + +** Improvement + * [HSEARCH-36] - Meaningful exception message when Search Listeners ar= e not initialized + * [HSEARCH-38] - Make the @IndexedEmbedded documentation example easie= r to understand + * [HSEARCH-51] - Optimization: Use a query rather than batch-size to l= oad objects when a single entity (hierarchy) is expected + * [HSEARCH-63] - rename query.resultSize() to getResultSize() + +** New Feature + * [HSEARCH-4] - Be able to use a Lucene Sort on queries (Hardy Ferents= chik) + * [HSEARCH-13] - Cache IndexReaders per SearchFactory + * [HSEARCH-40] - Be able to embed collections in lucene index (@Indexe= dEmbeddable in collections) + * [HSEARCH-43] - Expose resultSize and do not load object when only re= sultSize is retrieved + * [HSEARCH-52] - Ability to load more efficiently an object graph from= a lucene query by customizing the fetch modes + * [HSEARCH-53] - Add support for projection (ie read the data from the= index only) + * [HSEARCH-61] - Move from MultiSearcher to MultiReader + * [HSEARCH-62] - Support pluggable ReaderProvider strategies + = + +** Task + * [HSEARCH-65] - Update to JBoss Embedded beta2 + + +3.0.0.Beta1 (19-03-2007) +------------------------ + +Initial release as a standalone product (see Hibernate Annotations changel= og for previous informations) + + +Release Notes - Hibernate Search - Version 3.0.0.beta1 + +** Bug + * [HSEARCH-7] - Ignore object found in the index but no longer present= in the database (for out of date indexes) + * [HSEARCH-21] - NPE in SearchFactory while using different threads + * [HSEARCH-22] - Enum value Index.UN_TOKENISED is misspelled + * [HSEARCH-24] - Potential deadlock when using multiple DirectoryProvi= ders in a highly concurrent index update + * [HSEARCH-25] - Class cast exception in org.hibernate.search.impl.Ful= lTextSessionImpl(FullTextSessionImpl.java:54) + * [HSEARCH-28] - Wrong indexDir property in Apache Lucene Integration + + +** Improvement + * [HSEARCH-29] - Share the initialization state across all Search even= t listeners instance + * [HSEARCH-30] - @FieldBridge now use o.h.s.a.Parameter rather than o.= h.a.Parameter + * [HSEARCH-31] - Move to Lucene 2.1.0 + +** New Feature + * [HSEARCH-1] - Give access to Directory providers + * [HSEARCH-2] - Default FieldBridge for enums (Sylvain Vieujot) + * [HSEARCH-3] - Default FieldBridge for booleans (Sylvain Vieujot) + * [HSEARCH-9] - Introduce a worker factory and its configuration + * [HSEARCH-16] - Cluster capability through JMS + * [HSEARCH-23] - Support asynchronous batch worker queue + * [HSEARCH-27] - Ability to index associated / embedded objects Deleted: search/tags/v3_1_0_GA/doc/reference/en/master.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/master.xml 2008-12-04 09:55:05 UTC (rev 1= 5659) +++ search/tags/v3_1_0_GA/doc/reference/en/master.xml 2008-12-04 10:45:13 U= TC (rev 15663) @@ -1,92 +0,0 @@ - - - - - - -]> - - - Hibernate Search - - Apache Lucene Integration - - Reference Guide - - &versionNumber; - - - - - - - - - - - - Preface - - Full text search engines like Apache Lucene are very powerful - technologies to add efficient free text search capabilities to - applications. However, they suffer several mismatches when dealing with - object domain models. Amongst other things indexes have to be kept up = to - date and mismatches between index structure and domain model as well as - query mismatches have to be avoided. - - Hibernate Search indexes your domain model with the help of a few - annotations, takes care of database/index synchronization and brings b= ack - regular managed objects from free text queries. To achieve this Hibern= ate - Search is combining the power of Hibernate and Apache Lucene. - - - - - - - - - - - - - - - - - - Copied: search/tags/v3_1_0_GA/doc/reference/en/master.xml (from rev 15660, = search/trunk/doc/reference/en/master.xml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_1_0_GA/doc/reference/en/master.xml = (rev 0) +++ search/tags/v3_1_0_GA/doc/reference/en/master.xml 2008-12-04 10:45:13 U= TC (rev 15663) @@ -0,0 +1,92 @@ + + + + + + +]> + + + Hibernate Search + + Apache Lucene Integration + + Reference Guide + + &versionNumber; + + + + + + + + + + + + Preface + + Full text search engines like Apache Lucene are very powerful + technologies to add efficient free text search capabilities to + applications. However, Lucene suffers several mismatches when dealing = with + object domain model. Amongst other things indexes have to be kept up to + date and mismatches between index structure and domain model as well as + query mismatches have to be avoided. + + Hibernate Search addresses these shortcomings - it indexes your + domain model with the help of a few annotations, takes care of + database/index synchronization and brings back regular managed objects + from free text queries. To achieve this Hibernate Search is combining = the + power of Hibernate and + Apache Lucene. + + + + + + + + + + + + + + + + + + Deleted: search/tags/v3_1_0_GA/doc/reference/en/modules/mapping.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/doc/reference/en/modules/mapping.xml 2008-12-04 09:55:05 U= TC (rev 15659) +++ search/tags/v3_1_0_GA/doc/reference/en/modules/mapping.xml 2008-12-04 1= 0:45:13 UTC (rev 15663) @@ -1,1451 +0,0 @@ - - - - - - - Mapping entities to the index structure - - All the metadata information needed to index entities is described - through annotations. There is no need for xml mapping files. In fact the= re - is currently no xml configuration option available (see HSEARCH-210). - You can still use hibernate mapping files for the basic Hibernate - configuration, but the Search specific configuration has to be expressed= via - annotations. - -
    - Mapping an entity - -
    - Basic mapping - - First, we must declare a persistent class as indexable. This is - done by annotating the class with @Indexed (all - entities not annotated with @Indexed will be igno= red - by the indexing process): - - - Making a class indexable using the - <classname>@Indexed</classname> annotation - - @Entity -@Indexed(index=3D"indexes/essays") -public class Essay { - ... -} - - - The index attribute tells Hibernate what the - Lucene directory name is (usually a directory on your file system). = It - is recommended to define a base directory for all Lucene indexes usi= ng - the hibernate.search.default.indexBase property in - your configuration file. Alternatively you can specify a base direct= ory - per indexed entity by specifying - hibernate.search.<index>.indexBase, where - <index> is the fully qualified classname of= the - indexed entity. Each entity instance will be represented by a Lucene - Document inside the given index (aka - Directory). - - For each property (or attribute) of your entity, you have the - ability to describe how it will be indexed. The default (no annotati= on - present) means that the property is completly ignored by the indexing - process. @Field does declare a property as indexe= d. - When indexing an element to a Lucene document you can specify how it= is - indexed: - - - - name : describe under which name, the - property should be stored in the Lucene Document. The default va= lue - is the property name (following the JavaBeans convention) - - - - store : describe whether or not the - property is stored in the Lucene index. You can store the value - Store.YES (comsuming more space in the index = but - allowing projection, see for mo= re - information), store it in a compressed way - Store.COMPRESS (this does consume more CPU), = or - avoid any storage Store.NO (this is the defau= lt - value). When a property is stored, you can retrieve its original - value from the Lucene Document. This is not related to whether t= he - element is indexed or not. - - - - index: describe how the element is indexed and the type of - information store. The different values are - Index.NO (no indexing, ie cannot be found by a - query), Index.TOKENIZED (use an analyzer to - process the property), Index.UN_TOKENISED (no - analyzer pre processing), Index.NO_NORM (do n= ot - store the normalization data). The default value is - TOKENIZED. - - - - termVector: describes collections of term-frequency pairs. - This attribute enables term vectors being stored during indexing= so - they are available within documents. The default value is - TermVector.NO. - - The different values of this attribute are: - - - - - - Value - - Definition - - - - - - TermVector.YES - - Store the term vectors of each document. This - produces two synchronized arrays, one contains document - terms and the other contains the term's frequency. - - - - TermVector.NO - - Do not store term vectors. - - - - TermVector.WITH_OFFSETS - - Store the term vector and token offset informatio= n. - This is the same as TermVector.YES plus it contains the - starting and ending offset position information for the - terms. - - - - TermVector.WITH_POSITIONS - - Store the term vector and token position informat= ion. - This is the same as TermVector.YES plus it contains the - ordinal positions of each occurrence of a term in a - document. - - - - TermVector.WITH_POSITIONS_OFFSETS - - Store the term vector, token position and offset - information. This is a combination of the YES, WITH_OFFS= ETS - and WITH_POSITIONS. - - - - - - - - Whether or not you want to store the original data in the index - depends on how you wish to use the index query result. For a regular - Hibernate Search usage storing is not necessary. However you might w= ant - to store some fields to subsequently project them (see for more information). - - Whether or not you want to tokenize a property depends on whet= her - you wish to search the element as is, or by the words it contains. It - make sense to tokenize a text field, but tokenizing a date field - probably not. Note that fields used for sorting must not be - tokenized. - - Finally, the id property of an entity is a special property us= ed - by Hibernate Search to ensure index unicity of a given entity. By - design, an id has to be stored and must not be tokenized. To mark a - property as index id, use the @DocumentId annotat= ion. - If you are using Hibernate Annotations and you have specified @Id you - can omit @DocumentId. The chosen entity id will also be used as docu= ment - id. - - - Adding <classname>@DocumentId</classname> ad - <classname>@Field</classname> annotations to an indexed entity</ti= tle> - - <programlisting>@Entity -(a)Indexed(index=3D"indexes/essays") -public class Essay { - ... - - @Id - <emphasis role=3D"bold">@DocumentId</emphasis> - public Long getId() { return id; } - - <emphasis role=3D"bold">@Field(name=3D"Abstract", index=3DIndex.TOKENI= ZED, store=3DStore.YES)</emphasis> - public String getSummary() { return summary; } - - @Lob - <emphasis role=3D"bold">@Field(index=3DIndex.TOKENIZED)</emphasis> - public String getText() { return text; } -}</programlisting> - </example> - - <para>The above annotations define an index with three fields: - <literal>id</literal> , <literal>Abstract</literal> and - <literal>text</literal> . Note that by default the field name is - decapitalized, following the JavaBean specification</para> - </section> - - <section> - <title>Mapping properties multiple times - - Sometimes one has to map a property multiple times per index, = with - slightly different indexing strategies. For example, sorting a query= by - field requires the field to be UN_TOKENIZED. If o= ne - wants to search by words in this property and still sort it, one nee= d to - index it twice - once tokenized and once untokenized. @Fields allows= to - achieve this goal. - - - Using @Fields to map a property multiple times - - @Entity -(a)Indexed(index =3D "Book" ) -public class Book { - @Fields( { - @Field(index =3D Index.TOKENIZED), - @Field(name =3D "summary_forSort", index =3D Index.UN_TOKENIZE= D, store =3D Store.YES) - } ) - public String getSummary() { - return summary; - } - - ... -} - - - The field summary is indexed twice, once as - summary in a tokenized way, and once as - summary_forSort in an untokenized way. @Field - supports 2 attributes useful when @Fields is used: - - - - analyzer: defines a @Analyzer annotation per field rather = than - per property - - - - bridge: defines a @FieldBridge annotation per field rather - than per property - - - - See below for more information about analyzers and field - bridges. -
    - -
    - Embedded and associated objects - - Associated objects as well as embedded objects can be indexed = as - part of the root entity index. This is ueful if you expect to search= a - given entity based on properties of associated objects. In the follo= wing - example the aim is to return places where the associated city is Atl= anta - (In the Lucene query parser language, it would translate into - address.city:Atlanta). - - - Using @IndexedEmbedded to index associations - - @Entity -(a)Indexed -public class Place { - @Id - @GeneratedValue - @DocumentId - private Long id; - - @Field( index =3D Index.TOKENIZED ) - private String name; - - @OneToOne( cascade =3D { CascadeType.PERSIST, CascadeType.REMOVE } ) - @IndexedEmbedded - private Address address; - .... -} - -(a)Entity -public class Address { - @Id - @GeneratedValue - private Long id; - - @Field(index=3DIndex.TOKENIZED) - private String street; - - @Field(index=3DIndex.TOKENIZED) - private String city; - - @ContainedIn - @OneToMany(mappedBy=3D"address") - private Set<Place> places; - ... -} - - - In this example, the place fields will be indexed in the - Place index. The Place index - documents will also contain the fields address.id, - address.street, and address.city - which you will be able to query. This is enabled by the - @IndexedEmbedded annotation. - - Be careful. Because the data is denormalized in the Lucene ind= ex - when using the @IndexedEmbedded technique, - Hibernate Search needs to be aware of any change in the - Place object and any change in the - Address object to keep the index up to date. = To - make sure the Place Lucene - document is updated when it's Address changes, - you need to mark the other side of the birirectional relationship wi= th - @ContainedIn. - - @ContainedIn is only useful on associations - pointing to entities as opposed to embedded (collection of) - objects. - - Let's make our example a bit more complex: - - - Nested usage of <classname>@IndexedEmbedded</classname> and - <classname>@ContainedIn</classname> - - @Entity -(a)Indexed -public class Place { - @Id - @GeneratedValue - @DocumentId - private Long id; - - @Field( index =3D Index.TOKENIZED ) - private String name; - - @OneToOne( cascade =3D { CascadeType.PERSIST, CascadeType.REMOVE } ) - @IndexedEmbedded - private Address address; - .... -} - -(a)Entity -public class Address { - @Id - @GeneratedValue - private Long id; - - @Field(index=3DIndex.TOKENIZED) - private String street; - - @Field(index=3DIndex.TOKENIZED) - private String city; - - @IndexedEmbedded(depth =3D 1, prefix =3D "owne= dBy_") - private Owner ownedBy; - - @ContainedIn - @OneToMany(mappedBy=3D"address") - private Set<Place> places; - ... -} - -(a)Embeddable -public class Owner { - @Field(index =3D Index.TOKENIZED) - private String name; - ... -} - - - Any @*ToMany, @*ToOne and - @Embedded attribute can be annotated with - @IndexedEmbedded. The attributes of the associated - class will then be added to the main entity index. In the previous - example, the index will contain the following fields - - - - id - - - - name - - - - address.street - - - - address.city - - - - addess.ownedBy_name - - - - The default prefix is propertyName., follow= ing - the traditional object navigation convention. You can override it us= ing - the prefix attribute as it is shown on the - ownedBy property. - - - The prefix cannot be set to the empty string. - - - The depth property is necessary when the ob= ject - graph contains a cyclic dependency of classes (not instances). For - example, if Owner points to - Place. Hibernate Search will stop including - Indexed embedded atttributes after reaching the expected depth (or t= he - object graph boundaries are reached). A class having a self referenc= e is - an example of cyclic dependency. In our example, because - depth is set to 1, any - @IndexedEmbedded attribute in Owner (if any) will= be - ignored. - - Using @IndexedEmbedded for object associati= ons - allows you to express queries such as: - - - - Return places where name contains JBoss and where address = city - is Atlanta. In Lucene query this would be - - +name:jboss +address.city:atlanta - - - - Return places where name contains JBoss and where owner's = name - contain Joe. In Lucene query this would be - - +name:jboss +address.orderBy_name:joe - - - - In a way it mimics the relational join operation in a more - efficient way (at the cost of data duplication). Remember that, out = of - the box, Lucene indexes have no notion of association, the join - operation is simply non-existent. It might help to keep the relation= al - model normalized while benefiting from the full text index speed and - feature richness. - - - An associated object can itself (but does not have to) be - @Indexed - - - When @IndexedEmbedded points to an entity, the association has= to - be directional and the other side has to be annotated - @ContainedIn (as seen in the previous example). If - not, Hibernate Search has no way to update the root index when the - associated entity is updated (in our example, a Place - index document has to be updated when the associated - Address instance is updated). - - Sometimes, the object type annotated by - @IndexedEmbedded is not the object type targe= ted - by Hibernate and Hibernate Search. This is especially the case when - interfaces are used in lieu of their implementation. For this reason= you - can override the object type targeted by Hibernate Search using the - targetElement parameter. - - - Using the <literal>targetElement</literal> property of - <classname>@IndexedEmbedded</classname> - - @Entity -(a)Indexed -public class Address { - @Id - @GeneratedValue - @DocumentId - private Long id; - - @Field(index=3D Index.TOKENIZED) - private String street; - - @IndexedEmbedded(depth =3D 1, prefix =3D "ownedBy_", targetElement =3D Owner.class) - @Target(Owner.class) - private Person ownedBy; - - - ... -} - -(a)Embeddable -public class Owner implements Person { ... } - -
    - -
    - Boost factor - - Lucene has the notion of boost factor. It= 's a - way to give more weigth to a field or to an indexed element over oth= ers - during the indexation process. You can use @Boost= at - the @Field, method or class level. - - - Using different ways of increasing the weight of an indexed - element using a boost factor - - @Entity -(a)Indexed(index=3D"indexes/essays") -@Boost(1.7f) -public class Essay { - ... - - @Id - @DocumentId - public Long getId() { return id; } - - @Field(name=3D"Abstract", index=3DIndex.TOKENIZED, store=3DStore.YES, = boost=3D@Boost(2f)) - @Boost(1.5f) - public String getSummary() { return summary; } - - @Lob - @Field(index=3DIndex.TOKENIZED, boost=3D@Boost= (1.2f)) - public String getText() { return text; } - - @Field - public String getISBN() { return isbn; } - -} - - - In our example, Essay's probability to - reach the top of the search list will be multiplied by 1.7. The - summary field will be 3.0 (2 * 1.5 - - @Field.boost and @Boost - on a property are cumulative) more important than the - isbn field. The text - field will be 1.2 times more important than the - isbn field. Note that this explanation in - strictest terms is actually wrong, but it is simple and close enough= to - reality for all practical purposes. Please check the Lucene - documentation or the excellent Lucene In Action - from Otis Gospodnetic and Erik Hatcher. -
    - -
    - Analyzer - - The default analyzer class used to index tokenized fields is - configurable through the hibernate.search.analyzer - property. The default value for this property is - org.apache.lucene.analysis.standard.StandardAnalyzer. - - You can also define the analyzer class per entity, property and - even per @Field (useful when multiple fields are indexed from a sing= le - property). - - - Different ways of specifying an analyzer - - @Entity -(a)Indexed -@Analyzer(impl =3D EntityAnalyzer.class) -public class MyEntity { - @Id - @GeneratedValue - @DocumentId - private Integer id; - - @Field(index =3D Index.TOKENIZED) - private String name; - - @Field(index =3D Index.TOKENIZED) - @Analyzer(impl =3D PropertyAnalyzer.class) - private String summary; - - @Field(index =3D Index.TOKENIZED, an= alyzer =3D @Analyzer(impl =3D FieldAnalyzer.class) - private String body; - - ... -} - - - In this example, EntityAnalyzer is used= to - index all tokenized properties (eg. name), except - summary and body which are ind= exed - with PropertyAnalyzer and - FieldAnalyzer respectively. - - - Mixing different analyzers in the same entity is most of the - time a bad practice. It makes query building more complex and resu= lts - less predictable (for the novice), especially if you are using a - QueryParser (which uses the same analyzer for the whole query). As= a - rule of thumb, for any given field the same analyzer should be used - for indexing and querying. - - -
    - Analyzer definitions - - Analyzers can become quite complex to deal with for which re= ason - Hibernate Search introduces the notion of analyzer definitions. An - analyzer definition can be reused by many - @Analyzer declarations. An analyzer definit= ion - is composed of: - - - - a name: the unique string used to refer to the - definition - - - - a tokenizer: responsible for tokenizing the input stream - into individual words - - - - a list of filters: each filter is responsible to remove, - modify or sometimes even add words into the stream provided by= the - tokenizer - - - - This separation of tasks - a tokenizer followed by a list of - filters - allows for easy reuse of each individual component and l= et - you build your customized analyzer in a very flexible way (just li= ke - lego). Generally speaking the Tokenizer sta= rts - the analysis process by turning the character input into tokens wh= ich - are then further processed by the TokenFilters. - Hibernate Search supports this infrastructure by utilizing the Solr - analyzer framework. Make sure to add solr-core.jar and - solr-common.jar to your classpath = to - use analyzer definitions. In case you also want to utilizing a - snowball stemmer also include the - lucene-snowball.jar. Other Solr analyzers mig= ht - depend on more libraries. For example, the - PhoneticFilterFactory depends on commons-codec. Your - distribution of Hibernate Search provides these dependecies in its - lib directory. - - - <classname>@AnalyzerDef</classname> and the Solr - framework - - @AnalyzerDef(name=3D"customanalyzer", - tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.c= lass), - filters =3D { - @TokenFilterDef(factory =3D ISOLatin1AccentFilterFactory.c= lass), - @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), - @TokenFilterDef(factory =3D StopFilterFactory.class, param= s =3D { - @Parameter(name=3D"words", value=3D "org/hibernate/sea= rch/test/analyzer/solr/stoplist.properties" ), - @Parameter(name=3D"ignoreCase", value=3D"true") - }) -}) -public class Team { - ... -} - - - A tokenizer is defined by its factory which is responsible f= or - building the tokenizer and using the optional list of parameters. = This - example use the standard tokenizer. A filter is defined by its fac= tory - which is responsible for creating the filter instance using the - optional parameters. In our example, the StopFilter filter is built - reading the dedicated words property file and is expected to ignore - case. The list of parameters is dependent on the tokenizer or filt= er - factory. - - - Filters are applied in the order they are defined in the - @AnalyzerDef annotation. Make sure to thi= nk - twice about this order. - - - Once defined, an analyzer definition can be reused by an - @Analyzer declaration using the definition = name - rather than declaring an implementation class. - - - Referencing an analyzer by name - - @Entity -(a)Indexed -(a)AnalyzerDef(name=3D"customanalyzer", ... ) -public class Team { - @Id - @DocumentId - @GeneratedValue - private Integer id; - - @Field - private String name; - - @Field - private String location; - - @Field @Analyzer(definition =3D "customanalyze= r") - private String description; -} - - - Analyzer instances declared by - @AnalyzerDef are available by their name in= the - SearchFactory. - - Analyzer analyzer =3D fullTextSession.getSearchFac= tory().getAnalyzer("customanalyzer"); - - This is quite useful wen building queries. Fields in queries - should be analyzed with the same analyzer used to index the field = so - that they speak a common "language": the same tokens are reused - between the query and the indexing process. This rule has some - exceptions but is true most of the time. Respect it unless you know - what you are doing. -
    - -
    - Available analyzers - - Solr and Lucene come with a lot of useful default tokenizers= and - filters. You can find a complete list of tokenizer factories and - filter factories at http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters. - Let check a few of them. - - - Some of the tokenizers avalable - - - - - Factory - - Description - - parameters - - - - - - StandardTokenizerFactory - - Use the Lucene StandardTokenizer - - none - - - - HTMLStripStandardTokenizerFactory - - Remove HTML tags, keep the text and pass it to a - StandardTokenizer - - none - - - -
    - - - Some of the filters avalable - - - - - Factory - - Description - - parameters - - - - - - StandardFilterFactory - - Remove dots from acronyms and 's from words - - none - - - - LowerCaseFilterFactory - - Lowercase words - - none - - - - StopFilterFactory - - remove words (tokens) matching a list of stop - words - - words: points to a resource - file containing the stop wordsignoreCase: tru= e if - case should be ignore when comparing st= op - words, false otherwise - - - - SnowballPorterFilterFactory - - Reduces a word to it's root in a given language. (e= g. - protect, protects, protection share the same root). Using = such - a filter allows searches matching related words. - - language: Danish, Dutch, - English, Finnish, French, German, Italian, Norwegian, - Portuguese, Russian, Spanish, Swedishand a few - more - - - - ISOLatin1AccentFilterFactory - - remove accents for languages like French - - none - - - -
    - - We recommend to check all the implementations of - org.apache.solr.analysis.TokenizerFactory a= nd - org.apache.solr.analysis.TokenFilterFactory= in - your IDE to see the implementations available. -
    - -
    - Analyzer discriminator (experimental) - - So far all the introduced ways to specify an analyzer were - static. However, there are usecases where it is useful to select an - analyzer depending on the current state of the entity to be indexe= d, - for example in multilingual application. For an - BlogEntry class for example the analyzer co= uld - depend on the language property of the entry. Depending on this - property the correct language specific stemmer should be chosen to - index the actual text. - - To enable this dynamic analyzer selection Hibernate Search - introduces the AnalyzerDiscriminator - annotation. The following example demonstrates the usage of this - annotation: - - - Usage of @AnalyzerDiscriminator in order to select an - analyzer depending on the entity state - - @Entity -(a)Indexed -(a)AnalyzerDefs({ - @AnalyzerDef(name =3D "en", - tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), - filters =3D { - @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), - @TokenFilterDef(factory =3D EnglishPorterFilterFactory.class - ) - }), - @AnalyzerDef(name =3D "de", - tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), - filters =3D { - @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), - @TokenFilterDef(factory =3D GermanStemFilterFactory.class) - }) -}) -public class BlogEntry { - - @Id - @GeneratedValue - @DocumentId - private Integer id; - - @Field - @AnalyzerDiscriminator(impl =3D LanguageDiscriminator.class) - private String language; - = - @Field - private String text; - = - private Set<BlogEntry> references; - - // standard getter/setter - ... -} - - public class LanguageDiscriminator implements = Discriminator { - - public String getAnanyzerDefinitionName(Object value, Object entity, S= tring field) { - if ( value =3D=3D null || !( entity instanceof Article ) ) { - return null; - } - return (String) value; - } -} - The prerequisite for using - @AnalyzerDiscriminator is that all analyzers - which are going to be used are predefined via - @AnalyzerDef definitions. If this is the ca= se - one can place the @AnalyzerDiscriminator - annotation either on the class or on a specific property of the en= tity - for which to dynamically select an analyzer. Via the - impl parameter of the - AnalyzerDiscriminator you specify a concrete - implementation of the Discriminator interfa= ce. - It is up to you to provide an implementation for this interface. T= he - only method you have to implement is - getAnanyzerDefinitionName() which gets call= ed - for each field added to the Lucene document. The entity which is - getting indexed is also passed to the interface method. The - value parameter is only set if the - AnalyzerDiscriminator is placed on property - level instead of class level. In this case the value represents the - current value of this property. - - An implemention of the Discriminator - interface has to return the name of an existing analyzer definitio= n if - the analyzer should be set dynamically or null - if the default analyzer should not be overridden. The given example - assumes that the language paramter is either 'de' or 'en' which - matches the specified names in the - @AnalyzerDefs. - - - The @AnalyzerDiscriminator is curre= ntly - still experimental and the API might still change. We are hoping= for - some feedback from the community about the usefulness and usabil= ity - of this feature. - -
    - -
    - Retrieving an analyzer - - During indexing time, Hibernate Search is using analyzers un= der - the hood for you. In some situations, retrieving analyzers can be - handy. If your domain model makes use of multiple analyzers (maybe= to - benefit from stemming, use phonetic approximation and so on), you = need - to make sure to use the same analyzers when you build your - query. - - - This rule can be broken but you need a good reason for it.= If - you are unsure, use the same analyzers. - - - You can retrieve the scoped analyzer for a given entity used= at - indexing time by Hibernate Search. A scoped analyzer is an analyzer - which applies the right analyzers depending on the field indexed: - multiple analyzers can be defined on a given entity each one worki= ng - on an individual field, a scoped analyzer unify all these analyzers - into a context-aware analyzer. While the theory seems a bit comple= x, - using the right analyzer in a query is very easy. - - - Using the scoped analyzer when building a full-text - query - - org.apache.lucene.queryParser.QueryParser parser= =3D new QueryParser( - "title", = - fullTextSession.getSearchFactory().getAnalyzer( Song.class ) -); - -org.apache.lucene.search.Query luceneQuery =3D = - parser.parse( "title:sky Or title_stemmed:diamond" ); - -org.hibernate.Query fullTextQuery =3D = - fullTextSession.createFullTextQuery( luceneQuery, Song.class ); - -List result =3D fullTextQuery.list(); //return a list of managed objects = - - - In the example above, the song title is indexed in two field= s: - the standard analyzer is used in the field title - and a stemming analyzer is used in the field - title_stemmed. By using the analyzer provided by - the search factory, the query uses the appropriate analyzer depend= ing - on the field targeted. - - If your query targets more that one query and you wish to use - your standard analyzer, make sure to describe it using an analyzer - definition. You can retrieve analyzers by their definition name us= ing - searchFactory.getAnalyzer(String). -
    -
    -
    - -
    - Property/Field Bridge - - In Lucene all index fields have to be represented as Strings. For - this reason all entity properties annotated with @Field - have to be indexed in a String form. For most of your properties, - Hibernate Search does the translation job for you thanks to a built-in= set - of bridges. In some cases, though you need a more fine grain control o= ver - the translation process. - -
    - Built-in bridges - - Hibernate Search comes bundled with a set of built-in bridges - between a Java property type and its full text representation. - - - - null - - - null elements are not indexed. Lucene does not support n= ull - elements and this does not make much sense either. - - - - - java.lang.String - - - String are indexed as is - - - - - short, Short, integer, Integer, long, Long, float, Float, - double, Double, BigInteger, BigDecimal - - - Numbers are converted in their String representation. No= te - that numbers cannot be compared by Lucene (ie used in ranged - queries) out of the box: they have to be padded - Using a Range query is debatable and has drawbacks, = an - alternative approach is to use a Filter query which will - filter the result query to the appropriate range. - - Hibernate Search will support a padding mechanism - - - - - - java.util.Date - - - Dates are stored as yyyyMMddHHmmssSSS in GMT time - (200611072203012 for Nov 7th of 2006 4:03PM and 12ms EST). You - shouldn't really bother with the internal format. What is - important is that when using a DateRange Query, you should know - that the dates have to be expressed in GMT time. - - Usually, storing the date up to the milisecond is not - necessary. @DateBridge defines the appropri= ate - resolution you are willing to store in the index ( - @DateBridge(resolution=3DResolution.DAY) - ). The date pattern will then be truncated - accordingly. - - @Entity = -(a)Indexed -public class Meeting { - @Field(index=3DIndex.UN_TOKENIZED) - @DateBridge(resolution=3DResolution.MINUTE) - private Date date; - ... - - - A Date whose resolution is lower than - MILLISECOND cannot be a - @DocumentId - - - - - - java.net.URI, java.net.URL - - - URI and URL are converted to their string - representation - - - - - java.lang.Class - - - Class are converted to their fully qualified class name.= The - thread context classloader is used when the class is - rehydrated - - - -
    - -
    - Custom Bridge - - Sometimes, the built-in bridges of Hibernate Search do not cov= er - some of your property types, or the String representation used by the - bridge does not meet your requirements. The following paragraphs - describe several solutions to this problem. - -
    - StringBridge - - The simplest custom solution is to give Hibernate Search an - implementation of your expected - Object to - String bridge. To do so you need to impleme= nts - the org.hibernate.search.bridge.StringBridge - interface. All implementations have to be thread-safe as they are = used - concurrently. - - - Implementing your own - <classname>StringBridge</classname> - - /** - * Padding Integer bridge. - * All numbers will be padded with 0 to match 5 digits - * - * @author Emmanuel Bernard - */ -public class PaddedIntegerBridge implements String= Bridge { - - private int PADDING =3D 5; - - public String objectToString(Object object) { - String rawInteger =3D ( (Integer) object ).toString(); - if (rawInteger.length() > PADDING) = - throw new IllegalArgumentException( "Try to pad on a number to= o big" ); - StringBuilder paddedInteger =3D new StringBuilder( ); - for ( int padIndex =3D rawInteger.length() ; padIndex < PADDING= ; padIndex++ ) { - paddedInteger.append('0'); - } - return paddedInteger.append( rawInteger ).toString(); - } -} - - - Then any property or field can use this bridge thanks to the - @FieldBridge annotation - - @FieldBridge(impl =3D Padd= edIntegerBridge.class) -private Integer length; - - Parameters can be passed to the Bridge implementation making= it - more flexible. The Bridge implementation implements a - ParameterizedBridge interface, and the - parameters are passed through the @FieldBridge - annotation. - - - Passing parameters to your bridge implementation - - public class PaddedIntegerBridge implements Stri= ngBridge, ParameterizedBridge { - - public static String PADDING_PROPERTY =3D "padding"; - private int padding =3D 5; //default - - public void setParameterValues(Map parameters)= { - Object padding =3D parameters.get( PADDING_PROPERTY ); - if (padding !=3D null) this.padding =3D (Integer) padding; - } - - public String objectToString(Object object) { - String rawInteger =3D ( (Integer) object ).toString(); - if (rawInteger.length() > padding) = - throw new IllegalArgumentException( "Try to pad on a number to= o big" ); - StringBuilder paddedInteger =3D new StringBuilder( ); - for ( int padIndex =3D rawInteger.length() ; padIndex < padding= ; padIndex++ ) { - paddedInteger.append('0'); - } - return paddedInteger.append( rawInteger ).toString(); - } -} - - -//property -(a)FieldBridge(impl =3D PaddedIntegerBridge.class, - params =3D @Parameter(name=3D"padding= ", value=3D"10") - ) -private Integer length; - - - The ParameterizedBridge interface can= be - implemented by StringBridge , - TwoWayStringBridge , - FieldBridge implementations. - - All implementations have to be thread-safe, but the paramete= rs - are set during initialization and no special care is required at t= his - stage. - - If you expect to use your bridge implementation on an id - property (ie annotated with @DocumentId ), you = need - to use a slightly extended version of StringBridge - named TwoWayStringBridge. Hibernate Search - needs to read the string representation of the identifier and gene= rate - the object out of it. There is not difference in the way the - @FieldBridge annotation is used. - - - Implementing a TwoWayStringBridge which can for example be - used for id properties - - public class PaddedIntegerBridge implements TwoW= ayStringBridge, ParameterizedBridge { - - public static String PADDING_PROPERTY =3D "padding"; - private int padding =3D 5; //default - - public void setParameterValues(Map parameters) { - Object padding =3D parameters.get( PADDING_PROPERTY ); - if (padding !=3D null) this.padding =3D (Integer) padding; - } - - public String objectToString(Object object) { - String rawInteger =3D ( (Integer) object ).toString(); - if (rawInteger.length() > padding) = - throw new IllegalArgumentException( "Try to pad on a number to= o big" ); - StringBuilder paddedInteger =3D new StringBuilder( ); - for ( int padIndex =3D rawInteger.length() ; padIndex < padding= ; padIndex++ ) { - paddedInteger.append('0'); - } - return paddedInteger.append( rawInteger ).toString(); - } - - public Object stringToObject(String stringValu= e) { - return new Integer(stringValue); - } -} - - -//id property -(a)DocumentId -(a)FieldBridge(impl =3D PaddedIntegerBridge.class, - params =3D @Parameter(name=3D"padding", value=3D"10") = -private Integer id; - - - - It is critically important for the two-way process to be - idempotent (ie object =3D stringToObject( objectToString( object )= ) - ). -
    - -
    - FieldBridge - - Some usecases require more than a simple object to string - translation when mapping a property to a Lucene index. To give you= the - greatest possible flexibility you can also implement a bridge as a - FieldBridge. This interface gives you a - property value and let you map it the way you want in your Lucene - Document.The interface is very similar in i= ts - concept to the Hibernate UserType's. - - You can for example store a given property in two different - document fields: - - - Implementing the FieldBridge interface in order to a given - property into multiple document fields - - /** - * Store the date in 3 different fields - year, month, day - to ease Range= Query per - * year, month or day (eg get all the elements of December for the last 5 = years). - * = - * @author Emmanuel Bernard - */ -public class DateSplitBridge implements FieldBridge { - private final static TimeZone GMT =3D TimeZone.getTimeZone("GMT"); - - public void set(String name, Object value, Doc= ument document, = - LuceneOptions luceneOptions) { - Date date =3D (Date) value; - Calendar cal =3D GregorianCalendar.getInstance(GMT); - cal.setTime(date); - int year =3D cal.get(Calendar.YEAR); - int month =3D cal.get(Calendar.MONTH) + 1; - int day =3D cal.get(Calendar.DAY_OF_MONTH); - = - // set year - Field field =3D new Field(name + ".year", String.valueOf(year), - luceneOptions.getStore(), luceneOptions.getIndex(), - luceneOptions.getTermVector()); - field.setBoost(luceneOptions.getBoost()); - document.add(field); - = - // set month and pad it if needed - field =3D new Field(name + ".month", month < 10 ? "0" : "" - + String.valueOf(month), luceneOptions.getStore(), - luceneOptions.getIndex(), luceneOptions.getTermVector()); - field.setBoost(luceneOptions.getBoost()); - document.add(field); - = - // set day and pad it if needed - field =3D new Field(name + ".day", day < 10 ? "0" : "" - + String.valueOf(day), luceneOptions.getStore(), - luceneOptions.getIndex(), luceneOptions.getTermVector()); - field.setBoost(luceneOptions.getBoost()); - document.add(field); - } -} - -//property -@FieldBridge(impl =3D DateSplitBridge.class) -private Date date; - -
    - -
    - ClassBridge - - It is sometimes useful to combine more than one property of a - given entity and index this combination in a specific way into the - Lucene index. The @ClassBridge and - @ClassBridge annotations can be defined at = the - class level (as opposed to the property level). In this case the - custom field bridge implementation receives the entity instance as= the - value parameter instead of a particular property. Though not shown= in - this example, @ClassBridge supports the - termVector attribute discussed in section - . - - - Implementing a class bridge - - @Entity -(a)Indexed -@ClassBridge(name=3D"branchnetwork", - index=3DIndex.TOKENIZED, - store=3DStore.YES, - impl =3D CatFieldsClassBridge.class, - params =3D @Parameter( name=3D"sepChar", value=3D" " ) ) -public class Department { - private int id; - private String network; - private String branchHead; - private String branch; - private Integer maxEmployees - ... -} - - -public class CatFieldsClassBridge implements FieldBridge, ParameterizedBri= dge { - private String sepChar; - - public void setParameterValues(Map parameters) { - this.sepChar =3D (String) parameters.get( "sepChar" ); - } - - public void set(String name, Object value, Doc= ument document, LuceneOptions luceneOptions) { - // In this particular class the name of the new field was passed - // from the name field of the ClassBridge Annotation. This is not - // a requirement. It just works that way in this instance. The - // actual name could be supplied by hard coding it below. - Department dep =3D (Department) value; - String fieldValue1 =3D dep.getBranch(); - if ( fieldValue1 =3D=3D null ) { - fieldValue1 =3D ""; - } - String fieldValue2 =3D dep.getNetwork(); - if ( fieldValue2 =3D=3D null ) { - fieldValue2 =3D ""; - } - String fieldValue =3D fieldValue1 + sepChar + fieldValue2; - Field field =3D new Field( name, fieldValue, luceneOptions.getStor= e(), luceneOptions.getIndex(), luceneOptions.getTermVector() ); - field.setBoost( luceneOptions.getBoost() ); - document.add( field ); - } -} - - - In this example, the particular - CatFieldsClassBridge is applied to the - department instance, the field bridge then - concatenate both branch and network and index the - concatenation. -
    -
    -
    - -
    - Providing your own id - - - This part of the documentation is a work in progress. - - - You can provide your own id for Hibernate Search if you are - extending the internals. You will have to generate a unique value so it - can be given to Lucene to be indexed. This will have to be given to - Hibernate Search when you create an org.hibernate.search.Work object -= the - document id is required in the constructor. - -
    - The @ProvidedId annotation - - Unlike conventional Hibernate Search API and @DocumentId, this - annotation is used on the class and not a field. You also can provide - your own bridge implementation when you put in this annotation by - calling the bridge() which is on @ProvidedId. Also, if you annotate a - class with @ProvidedId, your subclasses will also get the annotation= - - but it is not done by using the java.lang.annotations.(a)Inherited. = Be - sure however, to not use this annotation with - @DocumentId as your system will break. - - - Providing your own id - - @ProvidedId (bridge =3D org.my.own.package.MyCusto= mBridge) -(a)Indexed -public class MyClass{ - @Field - String MyString; - ... -} - -
    -
    -
    Copied: search/tags/v3_1_0_GA/doc/reference/en/modules/mapping.xml (from re= v 15661, search/trunk/doc/reference/en/modules/mapping.xml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/tags/v3_1_0_GA/doc/reference/en/modules/mapping.xml = (rev 0) +++ search/tags/v3_1_0_GA/doc/reference/en/modules/mapping.xml 2008-12-04 1= 0:45:13 UTC (rev 15663) @@ -0,0 +1,1451 @@ + + + + + + + Mapping entities to the index structure + + All the metadata information needed to index entities is described + through annotations. There is no need for xml mapping files. In fact the= re + is currently no xml configuration option available (see HSEARCH-210). + You can still use hibernate mapping files for the basic Hibernate + configuration, but the Search specific configuration has to be expressed= via + annotations. + +
    + Mapping an entity + +
    + Basic mapping + + First, we must declare a persistent class as indexable. This is + done by annotating the class with @Indexed (all + entities not annotated with @Indexed will be igno= red + by the indexing process): + + + Making a class indexable using the + <classname>@Indexed</classname> annotation + + @Entity +@Indexed(index=3D"indexes/essays") +public class Essay { + ... +} + + + The index attribute tells Hibernate what the + Lucene directory name is (usually a directory on your file system). = It + is recommended to define a base directory for all Lucene indexes usi= ng + the hibernate.search.default.indexBase property in + your configuration file. Alternatively you can specify a base direct= ory + per indexed entity by specifying + hibernate.search.<index>.indexBase, where + <index> is the fully qualified classname of= the + indexed entity. Each entity instance will be represented by a Lucene + Document inside the given index (aka + Directory). + + For each property (or attribute) of your entity, you have the + ability to describe how it will be indexed. The default (no annotati= on + present) means that the property is completly ignored by the indexing + process. @Field does declare a property as indexe= d. + When indexing an element to a Lucene document you can specify how it= is + indexed: + + + + name : describe under which name, the + property should be stored in the Lucene Document. The default va= lue + is the property name (following the JavaBeans convention) + + + + store : describe whether or not the + property is stored in the Lucene index. You can store the value + Store.YES (comsuming more space in the index = but + allowing projection, see for mo= re + information), store it in a compressed way + Store.COMPRESS (this does consume more CPU), = or + avoid any storage Store.NO (this is the defau= lt + value). When a property is stored, you can retrieve its original + value from the Lucene Document. This is not related to whether t= he + element is indexed or not. + + + + index: describe how the element is indexed and the type of + information store. The different values are + Index.NO (no indexing, ie cannot be found by a + query), Index.TOKENIZED (use an analyzer to + process the property), Index.UN_TOKENISED (no + analyzer pre processing), Index.NO_NORM (do n= ot + store the normalization data). The default value is + TOKENIZED. + + + + termVector: describes collections of term-frequency pairs. + This attribute enables term vectors being stored during indexing= so + they are available within documents. The default value is + TermVector.NO. + + The different values of this attribute are: + + + + + + Value + + Definition + + + + + + TermVector.YES + + Store the term vectors of each document. This + produces two synchronized arrays, one contains document + terms and the other contains the term's frequency. + + + + TermVector.NO + + Do not store term vectors. + + + + TermVector.WITH_OFFSETS + + Store the term vector and token offset informatio= n. + This is the same as TermVector.YES plus it contains the + starting and ending offset position information for the + terms. + + + + TermVector.WITH_POSITIONS + + Store the term vector and token position informat= ion. + This is the same as TermVector.YES plus it contains the + ordinal positions of each occurrence of a term in a + document. + + + + TermVector.WITH_POSITIONS_OFFSETS + + Store the term vector, token position and offset + information. This is a combination of the YES, WITH_OFFS= ETS + and WITH_POSITIONS. + + + + + + + + Whether or not you want to store the original data in the index + depends on how you wish to use the index query result. For a regular + Hibernate Search usage storing is not necessary. However you might w= ant + to store some fields to subsequently project them (see for more information). + + Whether or not you want to tokenize a property depends on whet= her + you wish to search the element as is, or by the words it contains. It + make sense to tokenize a text field, but tokenizing a date field + probably not. Note that fields used for sorting must not be + tokenized. + + Finally, the id property of an entity is a special property us= ed + by Hibernate Search to ensure index unicity of a given entity. By + design, an id has to be stored and must not be tokenized. To mark a + property as index id, use the @DocumentId annotat= ion. + If you are using Hibernate Annotations and you have specified @Id you + can omit @DocumentId. The chosen entity id will also be used as docu= ment + id. + + + Adding <classname>@DocumentId</classname> ad + <classname>@Field</classname> annotations to an indexed entity</ti= tle> + + <programlisting>@Entity +(a)Indexed(index=3D"indexes/essays") +public class Essay { + ... + + @Id + <emphasis role=3D"bold">@DocumentId</emphasis> + public Long getId() { return id; } + + <emphasis role=3D"bold">@Field(name=3D"Abstract", index=3DIndex.TOKENI= ZED, store=3DStore.YES)</emphasis> + public String getSummary() { return summary; } + + @Lob + <emphasis role=3D"bold">@Field(index=3DIndex.TOKENIZED)</emphasis> + public String getText() { return text; } +}</programlisting> + </example> + + <para>The above annotations define an index with three fields: + <literal>id</literal> , <literal>Abstract</literal> and + <literal>text</literal> . Note that by default the field name is + decapitalized, following the JavaBean specification</para> + </section> + + <section> + <title>Mapping properties multiple times + + Sometimes one has to map a property multiple times per index, = with + slightly different indexing strategies. For example, sorting a query= by + field requires the field to be UN_TOKENIZED. If o= ne + wants to search by words in this property and still sort it, one nee= d to + index it twice - once tokenized and once untokenized. @Fields allows= to + achieve this goal. + + + Using @Fields to map a property multiple times + + @Entity +(a)Indexed(index =3D "Book" ) +public class Book { + @Fields( { + @Field(index =3D Index.TOKENIZED), + @Field(name =3D "summary_forSort", index =3D Index.UN_TOKENIZE= D, store =3D Store.YES) + } ) + public String getSummary() { + return summary; + } + + ... +} + + + The field summary is indexed twice, once as + summary in a tokenized way, and once as + summary_forSort in an untokenized way. @Field + supports 2 attributes useful when @Fields is used: + + + + analyzer: defines a @Analyzer annotation per field rather = than + per property + + + + bridge: defines a @FieldBridge annotation per field rather + than per property + + + + See below for more information about analyzers and field + bridges. +
    + +
    + Embedded and associated objects + + Associated objects as well as embedded objects can be indexed = as + part of the root entity index. This is ueful if you expect to search= a + given entity based on properties of associated objects. In the follo= wing + example the aim is to return places where the associated city is Atl= anta + (In the Lucene query parser language, it would translate into + address.city:Atlanta). + + + Using @IndexedEmbedded to index associations + + @Entity +(a)Indexed +public class Place { + @Id + @GeneratedValue + @DocumentId + private Long id; + + @Field( index =3D Index.TOKENIZED ) + private String name; + + @OneToOne( cascade =3D { CascadeType.PERSIST, CascadeType.REMOVE } ) + @IndexedEmbedded + private Address address; + .... +} + +(a)Entity +public class Address { + @Id + @GeneratedValue + private Long id; + + @Field(index=3DIndex.TOKENIZED) + private String street; + + @Field(index=3DIndex.TOKENIZED) + private String city; + + @ContainedIn + @OneToMany(mappedBy=3D"address") + private Set<Place> places; + ... +} + + + In this example, the place fields will be indexed in the + Place index. The Place index + documents will also contain the fields address.id, + address.street, and address.city + which you will be able to query. This is enabled by the + @IndexedEmbedded annotation. + + Be careful. Because the data is denormalized in the Lucene ind= ex + when using the @IndexedEmbedded technique, + Hibernate Search needs to be aware of any change in the + Place object and any change in the + Address object to keep the index up to date. = To + make sure the Place Lucene + document is updated when it's Address changes, + you need to mark the other side of the birirectional relationship wi= th + @ContainedIn. + + @ContainedIn is only useful on associations + pointing to entities as opposed to embedded (collection of) + objects. + + Let's make our example a bit more complex: + + + Nested usage of <classname>@IndexedEmbedded</classname> and + <classname>@ContainedIn</classname> + + @Entity +(a)Indexed +public class Place { + @Id + @GeneratedValue + @DocumentId + private Long id; + + @Field( index =3D Index.TOKENIZED ) + private String name; + + @OneToOne( cascade =3D { CascadeType.PERSIST, CascadeType.REMOVE } ) + @IndexedEmbedded + private Address address; + .... +} + +(a)Entity +public class Address { + @Id + @GeneratedValue + private Long id; + + @Field(index=3DIndex.TOKENIZED) + private String street; + + @Field(index=3DIndex.TOKENIZED) + private String city; + + @IndexedEmbedded(depth =3D 1, prefix =3D "owne= dBy_") + private Owner ownedBy; + + @ContainedIn + @OneToMany(mappedBy=3D"address") + private Set<Place> places; + ... +} + +(a)Embeddable +public class Owner { + @Field(index =3D Index.TOKENIZED) + private String name; + ... +} + + + Any @*ToMany, @*ToOne and + @Embedded attribute can be annotated with + @IndexedEmbedded. The attributes of the associated + class will then be added to the main entity index. In the previous + example, the index will contain the following fields + + + + id + + + + name + + + + address.street + + + + address.city + + + + addess.ownedBy_name + + + + The default prefix is propertyName., follow= ing + the traditional object navigation convention. You can override it us= ing + the prefix attribute as it is shown on the + ownedBy property. + + + The prefix cannot be set to the empty string. + + + The depth property is necessary when the ob= ject + graph contains a cyclic dependency of classes (not instances). For + example, if Owner points to + Place. Hibernate Search will stop including + Indexed embedded atttributes after reaching the expected depth (or t= he + object graph boundaries are reached). A class having a self referenc= e is + an example of cyclic dependency. In our example, because + depth is set to 1, any + @IndexedEmbedded attribute in Owner (if any) will= be + ignored. + + Using @IndexedEmbedded for object associati= ons + allows you to express queries such as: + + + + Return places where name contains JBoss and where address = city + is Atlanta. In Lucene query this would be + + +name:jboss +address.city:atlanta + + + + Return places where name contains JBoss and where owner's = name + contain Joe. In Lucene query this would be + + +name:jboss +address.orderBy_name:joe + + + + In a way it mimics the relational join operation in a more + efficient way (at the cost of data duplication). Remember that, out = of + the box, Lucene indexes have no notion of association, the join + operation is simply non-existent. It might help to keep the relation= al + model normalized while benefiting from the full text index speed and + feature richness. + + + An associated object can itself (but does not have to) be + @Indexed + + + When @IndexedEmbedded points to an entity, the association has= to + be directional and the other side has to be annotated + @ContainedIn (as seen in the previous example). If + not, Hibernate Search has no way to update the root index when the + associated entity is updated (in our example, a Place + index document has to be updated when the associated + Address instance is updated). + + Sometimes, the object type annotated by + @IndexedEmbedded is not the object type targe= ted + by Hibernate and Hibernate Search. This is especially the case when + interfaces are used in lieu of their implementation. For this reason= you + can override the object type targeted by Hibernate Search using the + targetElement parameter. + + + Using the <literal>targetElement</literal> property of + <classname>@IndexedEmbedded</classname> + + @Entity +(a)Indexed +public class Address { + @Id + @GeneratedValue + @DocumentId + private Long id; + + @Field(index=3D Index.TOKENIZED) + private String street; + + @IndexedEmbedded(depth =3D 1, prefix =3D "ownedBy_", targetElement =3D Owner.class) + @Target(Owner.class) + private Person ownedBy; + + + ... +} + +(a)Embeddable +public class Owner implements Person { ... } + +
    + +
    + Boost factor + + Lucene has the notion of boost factor. It= 's a + way to give more weigth to a field or to an indexed element over oth= ers + during the indexation process. You can use @Boost= at + the @Field, method or class level. + + + Using different ways of increasing the weight of an indexed + element using a boost factor + + @Entity +(a)Indexed(index=3D"indexes/essays") +@Boost(1.7f) +public class Essay { + ... + + @Id + @DocumentId + public Long getId() { return id; } + + @Field(name=3D"Abstract", index=3DIndex.TOKENIZED, store=3DStore.YES, = boost=3D@Boost(2f)) + @Boost(1.5f) + public String getSummary() { return summary; } + + @Lob + @Field(index=3DIndex.TOKENIZED, boost=3D@Boost= (1.2f)) + public String getText() { return text; } + + @Field + public String getISBN() { return isbn; } + +} + + + In our example, Essay's probability to + reach the top of the search list will be multiplied by 1.7. The + summary field will be 3.0 (2 * 1.5 - + @Field.boost and @Boost + on a property are cumulative) more important than the + isbn field. The text + field will be 1.2 times more important than the + isbn field. Note that this explanation in + strictest terms is actually wrong, but it is simple and close enough= to + reality for all practical purposes. Please check the Lucene + documentation or the excellent Lucene In Action + from Otis Gospodnetic and Erik Hatcher. +
    + +
    + Analyzer + + The default analyzer class used to index tokenized fields is + configurable through the hibernate.search.analyzer + property. The default value for this property is + org.apache.lucene.analysis.standard.StandardAnalyzer. + + You can also define the analyzer class per entity, property and + even per @Field (useful when multiple fields are indexed from a sing= le + property). + + + Different ways of specifying an analyzer + + @Entity +(a)Indexed +@Analyzer(impl =3D EntityAnalyzer.class) +public class MyEntity { + @Id + @GeneratedValue + @DocumentId + private Integer id; + + @Field(index =3D Index.TOKENIZED) + private String name; + + @Field(index =3D Index.TOKENIZED) + @Analyzer(impl =3D PropertyAnalyzer.class) + private String summary; + + @Field(index =3D Index.TOKENIZED, an= alyzer =3D @Analyzer(impl =3D FieldAnalyzer.class) + private String body; + + ... +} + + + In this example, EntityAnalyzer is used= to + index all tokenized properties (eg. name), except + summary and body which are ind= exed + with PropertyAnalyzer and + FieldAnalyzer respectively. + + + Mixing different analyzers in the same entity is most of the + time a bad practice. It makes query building more complex and resu= lts + less predictable (for the novice), especially if you are using a + QueryParser (which uses the same analyzer for the whole query). As= a + rule of thumb, for any given field the same analyzer should be used + for indexing and querying. + + +
    + Analyzer definitions + + Analyzers can become quite complex to deal with for which re= ason + Hibernate Search introduces the notion of analyzer definitions. An + analyzer definition can be reused by many + @Analyzer declarations. An analyzer definit= ion + is composed of: + + + + a name: the unique string used to refer to the + definition + + + + a tokenizer: responsible for tokenizing the input stream + into individual words + + + + a list of filters: each filter is responsible to remove, + modify or sometimes even add words into the stream provided by= the + tokenizer + + + + This separation of tasks - a tokenizer followed by a list of + filters - allows for easy reuse of each individual component and l= et + you build your customized analyzer in a very flexible way (just li= ke + lego). Generally speaking the Tokenizer sta= rts + the analysis process by turning the character input into tokens wh= ich + are then further processed by the TokenFilters. + Hibernate Search supports this infrastructure by utilizing the Solr + analyzer framework. Make sure to add solr-core.jar and + solr-common.jar to your classpath = to + use analyzer definitions. In case you also want to utilizing a + snowball stemmer also include the + lucene-snowball.jar. Other Solr analyzers mig= ht + depend on more libraries. For example, the + PhoneticFilterFactory depends on commons-codec. Your + distribution of Hibernate Search provides these dependecies in its + lib directory. + + + <classname>@AnalyzerDef</classname> and the Solr + framework + + @AnalyzerDef(name=3D"customanalyzer", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.c= lass), + filters =3D { + @TokenFilterDef(factory =3D ISOLatin1AccentFilterFactory.c= lass), + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D StopFilterFactory.class, param= s =3D { + @Parameter(name=3D"words", value=3D "org/hibernate/sea= rch/test/analyzer/solr/stoplist.properties" ), + @Parameter(name=3D"ignoreCase", value=3D"true") + }) +}) +public class Team { + ... +} + + + A tokenizer is defined by its factory which is responsible f= or + building the tokenizer and using the optional list of parameters. = This + example use the standard tokenizer. A filter is defined by its fac= tory + which is responsible for creating the filter instance using the + optional parameters. In our example, the StopFilter filter is built + reading the dedicated words property file and is expected to ignore + case. The list of parameters is dependent on the tokenizer or filt= er + factory. + + + Filters are applied in the order they are defined in the + @AnalyzerDef annotation. Make sure to thi= nk + twice about this order. + + + Once defined, an analyzer definition can be reused by an + @Analyzer declaration using the definition = name + rather than declaring an implementation class. + + + Referencing an analyzer by name + + @Entity +(a)Indexed +(a)AnalyzerDef(name=3D"customanalyzer", ... ) +public class Team { + @Id + @DocumentId + @GeneratedValue + private Integer id; + + @Field + private String name; + + @Field + private String location; + + @Field @Analyzer(definition =3D "customanalyze= r") + private String description; +} + + + Analyzer instances declared by + @AnalyzerDef are available by their name in= the + SearchFactory. + + Analyzer analyzer =3D fullTextSession.getSearchFac= tory().getAnalyzer("customanalyzer"); + + This is quite useful wen building queries. Fields in queries + should be analyzed with the same analyzer used to index the field = so + that they speak a common "language": the same tokens are reused + between the query and the indexing process. This rule has some + exceptions but is true most of the time. Respect it unless you know + what you are doing. +
    + +
    + Available analyzers + + Solr and Lucene come with a lot of useful default tokenizers= and + filters. You can find a complete list of tokenizer factories and + filter factories at http://wiki.apache.org/solr/AnalyzersTokenizersTokenFilters. + Let check a few of them. + + + Some of the tokenizers avalable + + + + + Factory + + Description + + parameters + + + + + + StandardTokenizerFactory + + Use the Lucene StandardTokenizer + + none + + + + HTMLStripStandardTokenizerFactory + + Remove HTML tags, keep the text and pass it to a + StandardTokenizer + + none + + + +
    + + + Some of the filters avalable + + + + + Factory + + Description + + parameters + + + + + + StandardFilterFactory + + Remove dots from acronyms and 's from words + + none + + + + LowerCaseFilterFactory + + Lowercase words + + none + + + + StopFilterFactory + + remove words (tokens) matching a list of stop + words + + words: points to a resource + file containing the stop wordsignoreCase: tru= e if + case should be ignore when comparing st= op + words, false otherwise + + + + SnowballPorterFilterFactory + + Reduces a word to it's root in a given language. (e= g. + protect, protects, protection share the same root). Using = such + a filter allows searches matching related words. + + language: Danish, Dutch, + English, Finnish, French, German, Italian, Norwegian, + Portuguese, Russian, Spanish, Swedishand a few + more + + + + ISOLatin1AccentFilterFactory + + remove accents for languages like French + + none + + + +
    + + We recommend to check all the implementations of + org.apache.solr.analysis.TokenizerFactory a= nd + org.apache.solr.analysis.TokenFilterFactory= in + your IDE to see the implementations available. +
    + +
    + Analyzer discriminator (experimental) + + So far all the introduced ways to specify an analyzer were + static. However, there are usecases where it is useful to select an + analyzer depending on the current state of the entity to be indexe= d, + for example in multilingual application. For an + BlogEntry class for example the analyzer co= uld + depend on the language property of the entry. Depending on this + property the correct language specific stemmer should be chosen to + index the actual text. + + To enable this dynamic analyzer selection Hibernate Search + introduces the AnalyzerDiscriminator + annotation. The following example demonstrates the usage of this + annotation: + + + Usage of @AnalyzerDiscriminator in order to select an + analyzer depending on the entity state + + @Entity +(a)Indexed +(a)AnalyzerDefs({ + @AnalyzerDef(name =3D "en", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D EnglishPorterFilterFactory.class + ) + }), + @AnalyzerDef(name =3D "de", + tokenizer =3D @TokenizerDef(factory =3D StandardTokenizerFactory.class= ), + filters =3D { + @TokenFilterDef(factory =3D LowerCaseFilterFactory.class), + @TokenFilterDef(factory =3D GermanStemFilterFactory.class) + }) +}) +public class BlogEntry { + + @Id + @GeneratedValue + @DocumentId + private Integer id; + + @Field + @AnalyzerDiscriminator(impl =3D LanguageDiscriminator.class) + private String language; + = + @Field + private String text; + = + private Set<BlogEntry> references; + + // standard getter/setter + ... +} + + public class LanguageDiscriminator implements = Discriminator { + + public String getAnanyzerDefinitionName(Object value, Object entity, S= tring field) { + if ( value =3D=3D null || !( entity instanceof Article ) ) { + return null; + } + return (String) value; + } +} + The prerequisite for using + @AnalyzerDiscriminator is that all analyzers + which are going to be used are predefined via + @AnalyzerDef definitions. If this is the ca= se + one can place the @AnalyzerDiscriminator + annotation either on the class or on a specific property of the en= tity + for which to dynamically select an analyzer. Via the + impl parameter of the + AnalyzerDiscriminator you specify a concrete + implementation of the Discriminator interfa= ce. + It is up to you to provide an implementation for this interface. T= he + only method you have to implement is + getAnanyzerDefinitionName() which gets call= ed + for each field added to the Lucene document. The entity which is + getting indexed is also passed to the interface method. The + value parameter is only set if the + AnalyzerDiscriminator is placed on property + level instead of class level. In this case the value represents the + current value of this property. + + An implemention of the Discriminator + interface has to return the name of an existing analyzer definitio= n if + the analyzer should be set dynamically or null + if the default analyzer should not be overridden. The given example + assumes that the language paramter is either 'de' or 'en' which + matches the specified names in the + @AnalyzerDefs. + + + The @AnalyzerDiscriminator is curre= ntly + still experimental and the API might still change. We are hoping= for + some feedback from the community about the usefulness and usabil= ity + of this feature. + +
    + +
    + Retrieving an analyzer + + During indexing time, Hibernate Search is using analyzers un= der + the hood for you. In some situations, retrieving analyzers can be + handy. If your domain model makes use of multiple analyzers (maybe= to + benefit from stemming, use phonetic approximation and so on), you = need + to make sure to use the same analyzers when you build your + query. + + + This rule can be broken but you need a good reason for it.= If + you are unsure, use the same analyzers. + + + You can retrieve the scoped analyzer for a given entity used= at + indexing time by Hibernate Search. A scoped analyzer is an analyzer + which applies the right analyzers depending on the field indexed: + multiple analyzers can be defined on a given entity each one worki= ng + on an individual field, a scoped analyzer unify all these analyzers + into a context-aware analyzer. While the theory seems a bit comple= x, + using the right analyzer in a query is very easy. + + + Using the scoped analyzer when building a full-text + query + + org.apache.lucene.queryParser.QueryParser parser= =3D new QueryParser( + "title", = + fullTextSession.getSearchFactory().getAnalyzer( Song.class ) +); + +org.apache.lucene.search.Query luceneQuery =3D = + parser.parse( "title:sky Or title_stemmed:diamond" ); + +org.hibernate.Query fullTextQuery =3D = + fullTextSession.createFullTextQuery( luceneQuery, Song.class ); + +List result =3D fullTextQuery.list(); //return a list of managed objects = + + + In the example above, the song title is indexed in two field= s: + the standard analyzer is used in the field title + and a stemming analyzer is used in the field + title_stemmed. By using the analyzer provided by + the search factory, the query uses the appropriate analyzer depend= ing + on the field targeted. + + If your query targets more that one query and you wish to use + your standard analyzer, make sure to describe it using an analyzer + definition. You can retrieve analyzers by their definition name us= ing + searchFactory.getAnalyzer(String). +
    +
    +
    + +
    + Property/Field Bridge + + In Lucene all index fields have to be represented as Strings. For + this reason all entity properties annotated with @Field + have to be indexed in a String form. For most of your properties, + Hibernate Search does the translation job for you thanks to a built-in= set + of bridges. In some cases, though you need a more fine grain control o= ver + the translation process. + +
    + Built-in bridges + + Hibernate Search comes bundled with a set of built-in bridges + between a Java property type and its full text representation. + + + + null + + + null elements are not indexed. Lucene does not support n= ull + elements and this does not make much sense either. + + + + + java.lang.String + + + String are indexed as is + + + + + short, Short, integer, Integer, long, Long, float, Float, + double, Double, BigInteger, BigDecimal + + + Numbers are converted in their String representation. No= te + that numbers cannot be compared by Lucene (ie used in ranged + queries) out of the box: they have to be padded + Using a Range query is debatable and has drawbacks, = an + alternative approach is to use a Filter query which will + filter the result query to the appropriate range. + + Hibernate Search will support a padding mechanism + + + + + + java.util.Date + + + Dates are stored as yyyyMMddHHmmssSSS in GMT time + (200611072203012 for Nov 7th of 2006 4:03PM and 12ms EST). You + shouldn't really bother with the internal format. What is + important is that when using a DateRange Query, you should know + that the dates have to be expressed in GMT time. + + Usually, storing the date up to the milisecond is not + necessary. @DateBridge defines the appropri= ate + resolution you are willing to store in the index ( + @DateBridge(resolution=3DResolution.DAY) + ). The date pattern will then be truncated + accordingly. + + @Entity = +(a)Indexed +public class Meeting { + @Field(index=3DIndex.UN_TOKENIZED) + @DateBridge(resolution=3DResolution.MINUTE) + private Date date; + ... + + + A Date whose resolution is lower than + MILLISECOND cannot be a + @DocumentId + + + + + + java.net.URI, java.net.URL + + + URI and URL are converted to their string + representation + + + + + java.lang.Class + + + Class are converted to their fully qualified class name.= The + thread context classloader is used when the class is + rehydrated + + + +
    + +
    + Custom Bridge + + Sometimes, the built-in bridges of Hibernate Search do not cov= er + some of your property types, or the String representation used by the + bridge does not meet your requirements. The following paragraphs + describe several solutions to this problem. + +
    + StringBridge + + The simplest custom solution is to give Hibernate Search an + implementation of your expected + Object to + String bridge. To do so you need to impleme= nts + the org.hibernate.search.bridge.StringBridge + interface. All implementations have to be thread-safe as they are = used + concurrently. + + + Implementing your own + <classname>StringBridge</classname> + + /** + * Padding Integer bridge. + * All numbers will be padded with 0 to match 5 digits + * + * @author Emmanuel Bernard + */ +public class PaddedIntegerBridge implements String= Bridge { + + private int PADDING =3D 5; + + public String objectToString(Object object) { + String rawInteger =3D ( (Integer) object ).toString(); + if (rawInteger.length() > PADDING) = + throw new IllegalArgumentException( "Try to pad on a number to= o big" ); + StringBuilder paddedInteger =3D new StringBuilder( ); + for ( int padIndex =3D rawInteger.length() ; padIndex < PADDING= ; padIndex++ ) { + paddedInteger.append('0'); + } + return paddedInteger.append( rawInteger ).toString(); + } +} + + + Then any property or field can use this bridge thanks to the + @FieldBridge annotation + + @FieldBridge(impl =3D Padd= edIntegerBridge.class) +private Integer length; + + Parameters can be passed to the Bridge implementation making= it + more flexible. The Bridge implementation implements a + ParameterizedBridge interface, and the + parameters are passed through the @FieldBridge + annotation. + + + Passing parameters to your bridge implementation + + public class PaddedIntegerBridge implements Stri= ngBridge, ParameterizedBridge { + + public static String PADDING_PROPERTY =3D "padding"; + private int padding =3D 5; //default + + public void setParameterValues(Map parameters)= { + Object padding =3D parameters.get( PADDING_PROPERTY ); + if (padding !=3D null) this.padding =3D (Integer) padding; + } + + public String objectToString(Object object) { + String rawInteger =3D ( (Integer) object ).toString(); + if (rawInteger.length() > padding) = + throw new IllegalArgumentException( "Try to pad on a number to= o big" ); + StringBuilder paddedInteger =3D new StringBuilder( ); + for ( int padIndex =3D rawInteger.length() ; padIndex < padding= ; padIndex++ ) { + paddedInteger.append('0'); + } + return paddedInteger.append( rawInteger ).toString(); + } +} + + +//property +(a)FieldBridge(impl =3D PaddedIntegerBridge.class, + params =3D @Parameter(name=3D"padding= ", value=3D"10") + ) +private Integer length; + + + The ParameterizedBridge interface can= be + implemented by StringBridge , + TwoWayStringBridge , + FieldBridge implementations. + + All implementations have to be thread-safe, but the paramete= rs + are set during initialization and no special care is required at t= his + stage. + + If you expect to use your bridge implementation on an id + property (ie annotated with @DocumentId ), you = need + to use a slightly extended version of StringBridge + named TwoWayStringBridge. Hibernate Search + needs to read the string representation of the identifier and gene= rate + the object out of it. There is not difference in the way the + @FieldBridge annotation is used. + + + Implementing a TwoWayStringBridge which can for example be + used for id properties + + public class PaddedIntegerBridge implements TwoW= ayStringBridge, ParameterizedBridge { + + public static String PADDING_PROPERTY =3D "padding"; + private int padding =3D 5; //default + + public void setParameterValues(Map parameters) { + Object padding =3D parameters.get( PADDING_PROPERTY ); + if (padding !=3D null) this.padding =3D (Integer) padding; + } + + public String objectToString(Object object) { + String rawInteger =3D ( (Integer) object ).toString(); + if (rawInteger.length() > padding) = + throw new IllegalArgumentException( "Try to pad on a number to= o big" ); + StringBuilder paddedInteger =3D new StringBuilder( ); + for ( int padIndex =3D rawInteger.length() ; padIndex < padding= ; padIndex++ ) { + paddedInteger.append('0'); + } + return paddedInteger.append( rawInteger ).toString(); + } + + public Object stringToObject(String stringValu= e) { + return new Integer(stringValue); + } +} + + +//id property +(a)DocumentId +(a)FieldBridge(impl =3D PaddedIntegerBridge.class, + params =3D @Parameter(name=3D"padding", value=3D"10") = +private Integer id; + + + + It is critically important for the two-way process to be + idempotent (ie object =3D stringToObject( objectToString( object )= ) + ). +
    + +
    + FieldBridge + + Some usecases require more than a simple object to string + translation when mapping a property to a Lucene index. To give you= the + greatest possible flexibility you can also implement a bridge as a + FieldBridge. This interface gives you a + property value and let you map it the way you want in your Lucene + Document.The interface is very similar in i= ts + concept to the Hibernate UserType's. + + You can for example store a given property in two different + document fields: + + + Implementing the FieldBridge interface in order to a given + property into multiple document fields + + /** + * Store the date in 3 different fields - year, month, day - to ease Range= Query per + * year, month or day (eg get all the elements of December for the last 5 = years). + * = + * @author Emmanuel Bernard + */ +public class DateSplitBridge implements FieldBridge { + private final static TimeZone GMT =3D TimeZone.getTimeZone("GMT"); + + public void set(String name, Object value, Doc= ument document, = + LuceneOptions luceneOptions) { + Date date =3D (Date) value; + Calendar cal =3D GregorianCalendar.getInstance(GMT); + cal.setTime(date); + int year =3D cal.get(Calendar.YEAR); + int month =3D cal.get(Calendar.MONTH) + 1; + int day =3D cal.get(Calendar.DAY_OF_MONTH); + = + // set year + Field field =3D new Field(name + ".year", String.valueOf(year), + luceneOptions.getStore(), luceneOptions.getIndex(), + luceneOptions.getTermVector()); + field.setBoost(luceneOptions.getBoost()); + document.add(field); + = + // set month and pad it if needed + field =3D new Field(name + ".month", month < 10 ? "0" : "" + + String.valueOf(month), luceneOptions.getStore(), + luceneOptions.getIndex(), luceneOptions.getTermVector()); + field.setBoost(luceneOptions.getBoost()); + document.add(field); + = + // set day and pad it if needed + field =3D new Field(name + ".day", day < 10 ? "0" : "" + + String.valueOf(day), luceneOptions.getStore(), + luceneOptions.getIndex(), luceneOptions.getTermVector()); + field.setBoost(luceneOptions.getBoost()); + document.add(field); + } +} + +//property +@FieldBridge(impl =3D DateSplitBridge.class) +private Date date; + +
    + +
    + ClassBridge + + It is sometimes useful to combine more than one property of a + given entity and index this combination in a specific way into the + Lucene index. The @ClassBridge and + @ClassBridge annotations can be defined at = the + class level (as opposed to the property level). In this case the + custom field bridge implementation receives the entity instance as= the + value parameter instead of a particular property. Though not shown= in + this example, @ClassBridge supports the + termVector attribute discussed in section + . + + + Implementing a class bridge + + @Entity +(a)Indexed +@ClassBridge(name=3D"branchnetwork", + index=3DIndex.TOKENIZED, + store=3DStore.YES, + impl =3D CatFieldsClassBridge.class, + params =3D @Parameter( name=3D"sepChar", value=3D" " ) ) +public class Department { + private int id; + private String network; + private String branchHead; + private String branch; + private Integer maxEmployees + ... +} + + +public class CatFieldsClassBridge implements FieldBridge, ParameterizedBri= dge { + private String sepChar; + + public void setParameterValues(Map parameters) { + this.sepChar =3D (String) parameters.get( "sepChar" ); + } + + public void set(String name, Object value, Doc= ument document, LuceneOptions luceneOptions) { + // In this particular class the name of the new field was passed + // from the name field of the ClassBridge Annotation. This is not + // a requirement. It just works that way in this instance. The + // actual name could be supplied by hard coding it below. + Department dep =3D (Department) value; + String fieldValue1 =3D dep.getBranch(); + if ( fieldValue1 =3D=3D null ) { + fieldValue1 =3D ""; + } + String fieldValue2 =3D dep.getNetwork(); + if ( fieldValue2 =3D=3D null ) { + fieldValue2 =3D ""; + } + String fieldValue =3D fieldValue1 + sepChar + fieldValue2; + Field field =3D new Field( name, fieldValue, luceneOptions.getStor= e(), luceneOptions.getIndex(), luceneOptions.getTermVector() ); + field.setBoost( luceneOptions.getBoost() ); + document.add( field ); + } +} + + + In this example, the particular + CatFieldsClassBridge is applied to the + department instance, the field bridge then + concatenate both branch and network and index the + concatenation. +
    +
    +
    + +
    + Providing your own id + + + This part of the documentation is a work in progress. + + + You can provide your own id for Hibernate Search if you are + extending the internals. You will have to generate a unique value so it + can be given to Lucene to be indexed. This will have to be given to + Hibernate Search when you create an org.hibernate.search.Work object -= the + document id is required in the constructor. + +
    + The ProvidedId annotation + + Unlike conventional Hibernate Search API and @DocumentId, this + annotation is used on the class and not a field. You also can provide + your own bridge implementation when you put in this annotation by + calling the bridge() which is on @ProvidedId. Also, if you annotate a + class with @ProvidedId, your subclasses will also get the annotation= - + but it is not done by using the java.lang.annotations.(a)Inherited. = Be + sure however, to not use this annotation with + @DocumentId as your system will break. + + + Providing your own id + + @ProvidedId (bridge =3D org.my.own.package.MyCusto= mBridge) +(a)Indexed +public class MyClass{ + @Field + String MyString; + ... +} + +
    +
    +
    --===============3015340497264710127==-- From hibernate-commits at lists.jboss.org Thu Dec 4 07:30:23 2008 Content-Type: multipart/mixed; boundary="===============6938740774758602368==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15664 - search/tags. Date: Thu, 04 Dec 2008 07:30:22 -0500 Message-ID: --===============6938740774758602368== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-04 07:30:22 -0500 (Thu, 04 Dec 2008) New Revision: 15664 Removed: search/tags/v3_1_0_GA/ Log: Removed search/tags/v3_1_0_GA. Need to retag --===============6938740774758602368==-- From hibernate-commits at lists.jboss.org Thu Dec 4 07:32:00 2008 Content-Type: multipart/mixed; boundary="===============3237317139317672078==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15665 - search/trunk. Date: Thu, 04 Dec 2008 07:32:00 -0500 Message-ID: --===============3237317139317672078== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-04 07:32:00 -0500 (Thu, 04 Dec 2008) New Revision: 15665 Modified: search/trunk/common-build.xml Log: Made sure that the ivy.xml file gets also copied Modified: search/trunk/common-build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/common-build.xml 2008-12-04 12:30:22 UTC (rev 15664) +++ search/trunk/common-build.xml 2008-12-04 12:32:00 UTC (rev 15665) @@ -272,6 +272,7 @@ + --===============3237317139317672078==-- From hibernate-commits at lists.jboss.org Thu Dec 4 07:35:20 2008 Content-Type: multipart/mixed; boundary="===============6893192102639265726==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15666 - search/tags. Date: Thu, 04 Dec 2008 07:35:20 -0500 Message-ID: --===============6893192102639265726== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-04 07:35:20 -0500 (Thu, 04 Dec 2008) New Revision: 15666 Added: search/tags/v3_1_0_GA/ Log: Created tag v3_1_0_GA. Copied: search/tags/v3_1_0_GA (from rev 15665, search/trunk) --===============6893192102639265726==-- From hibernate-commits at lists.jboss.org Fri Dec 5 03:29:50 2008 Content-Type: multipart/mixed; boundary="===============2501262272797499137==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15667 - branches/Branch_3_2/HibernateExt/tools. Date: Fri, 05 Dec 2008 03:29:50 -0500 Message-ID: --===============2501262272797499137== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: max.andersen(a)jboss.com Date: 2008-12-05 03:29:50 -0500 (Fri, 05 Dec 2008) New Revision: 15667 Modified: branches/Branch_3_2/HibernateExt/tools/build.xml Log: Modified: branches/Branch_3_2/HibernateExt/tools/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- branches/Branch_3_2/HibernateExt/tools/build.xml 2008-12-04 12:35:20 UT= C (rev 15666) +++ branches/Branch_3_2/HibernateExt/tools/build.xml 2008-12-05 08:29:50 UT= C (rev 15667) @@ -7,7 +7,7 @@ - + = = = --===============2501262272797499137==-- From hibernate-commits at lists.jboss.org Fri Dec 5 08:55:44 2008 Content-Type: multipart/mixed; boundary="===============5323384268623705442==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15668 - validator/trunk/validation-api/src/main/java/javax/validation. Date: Fri, 05 Dec 2008 08:55:44 -0500 Message-ID: --===============5323384268623705442== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-05 08:55:44 -0500 (Fri, 05 Dec 2008) New Revision: 15668 Modified: validator/trunk/validation-api/src/main/java/javax/validation/GroupSeque= nce.java Log: BVAL-79 Groups are now type based Modified: validator/trunk/validation-api/src/main/java/javax/validation/Gro= upSequence.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/GroupSequ= ence.java 2008-12-05 08:29:50 UTC (rev 15667) +++ validator/trunk/validation-api/src/main/java/javax/validation/GroupSequ= ence.java 2008-12-05 13:55:44 UTC (rev 15668) @@ -33,7 +33,7 @@ @Retention(RUNTIME) public @interface GroupSequence { //TODO depreciate - Class name(); + Class name() default void.class; = Class[] sequence(); } --===============5323384268623705442==-- From hibernate-commits at lists.jboss.org Fri Dec 5 08:56:19 2008 Content-Type: multipart/mixed; boundary="===============5523021275120654771==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15669 - in validator/trunk/validation-api/src/test/java/org/hibernate/validator/spec: s3 and 1 other directories. Date: Fri, 05 Dec 2008 08:56:19 -0500 Message-ID: --===============5523021275120654771== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-05 08:56:19 -0500 (Fri, 05 Dec 2008) New Revision: 15669 Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/ validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/Address.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/Auditable.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/Billable.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/BuyInOneClick.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/BuyInOneClickInherited.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/CreditCard.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/Order.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/User.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/ZipCode.java validator/trunk/validation-api/src/test/java/org/hibernate/validator/spe= c/s3/s4/ZipCodeCoherenceChecker.java Log: Examples from the spec Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/Address.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Address.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Address.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,34 @@ +package org.hibernate.validator.spec.s3.s4; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import javax.validation.GroupSequence; +import javax.validation.groups.Default; + +/** + * @author Emmanuel Bernard + */ +(a)ZipCodeCoherenceChecker(groups =3D Address.HighLevelCoherence.class) +public class Address { + @NotNull @Size(max =3D 50) + private String street1; + + @ZipCode + private String zipcode; + + @NotNull @Size(max =3D 30) + private String city; + + /** + * check conherence on the overall object + * Needs basic checking to be green first + */ + public interface HighLevelCoherence {} + + /** + * check both basic constraints and high level ones. + * high level constraints are not cheked if basic constraints fail + */ + @GroupSequence(sequence =3D {Default.class, HighLevelCoherence.class}) + public interface Complete {} +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/Auditable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Auditable.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Auditable.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,22 @@ +package org.hibernate.validator.spec.s3.s4; + +import javax.validation.constraints.NotNull; + +/** + * Auditable object contract + * + * @author Emmanuel Bernard + */ +public interface Auditable { + @NotNull + String getCreationDate(); + + @NotNull + String getLastUpdate(); + + @NotNull + String getLastModifier(); + + @NotNull + String getLastReader(); +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/Billable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Billable.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Billable.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,8 @@ +package org.hibernate.validator.spec.s3.s4; + +/** + * Validation group checking a user is billable + * = + * @author Emmanuel Bernard + */ +public interface Billable {} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/BuyInOneClick.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/BuyInOneClick.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/BuyInOneClick.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,9 @@ +package org.hibernate.validator.spec.s3.s4; + +/** + * Customer can buy without harrassing checking process + * + * @author Emmanuel Bernard + */ +public interface BuyInOneClick { +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/BuyInOneClickInherited.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/BuyInOneClickInherited.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/BuyInOneClickInherited.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,11 @@ +package org.hibernate.validator.spec.s3.s4; + +import javax.validation.groups.Default; + +/** + * Customer can buy without harrassing checking process + * + * @author Emmanuel Bernard + */ +public interface BuyInOneClickInherited extends Default, Billable { +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/CreditCard.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/CreditCard.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/CreditCard.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,7 @@ +package org.hibernate.validator.spec.s3.s4; + +/** + * @author Emmanuel Bernard + */ +public class CreditCard { +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/Order.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Order.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/Order.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,39 @@ +package org.hibernate.validator.spec.s3.s4; + +import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; + +/** + * Represents an order in the system + * + * @author Emmanuel Bernard + */ +public class Order implements Auditable { + private String creationDate; + private String lastUpdate; + private String lastModifier; + private String lastReader; + + private String orderNumber; + + public String getCreationDate() { + return this.creationDate; + } + + public String getLastUpdate() { + return this.lastUpdate; + } + + public String getLastModifier() { + return this.lastModifier; + } + + public String getLastReader() { + return this.lastReader; + } + + @NotNull @Size(min=3D10, max=3D10) + public String getOrderNumber() { + return this.orderNumber; + } +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/User.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/User.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/User.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,20 @@ +package org.hibernate.validator.spec.s3.s4; + +import javax.validation.constraints.NotNull; +import javax.validation.groups.Default; + +/** + * User representation + * + * @author Emmanuel Bernard + */ +public class User { + @NotNull + private String firstname; + + @NotNull(groups =3D Default.class) + private String lastname; + + @NotNull(groups =3D {Billable.class, BuyInOneClick.class}) + private CreditCard defaultCreditCard; +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/ZipCode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/ZipCode.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/ZipCode.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,8 @@ +package org.hibernate.validator.spec.s3.s4; + +/** + * @author Emmanuel Bernard + */ +//TODO complete it +public @interface ZipCode { +} Added: validator/trunk/validation-api/src/test/java/org/hibernate/validator= /spec/s3/s4/ZipCodeCoherenceChecker.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/ZipCodeCoherenceChecker.java (rev 0) +++ validator/trunk/validation-api/src/test/java/org/hibernate/validator/sp= ec/s3/s4/ZipCodeCoherenceChecker.java 2008-12-05 13:56:19 UTC (rev 15669) @@ -0,0 +1,19 @@ +package org.hibernate.validator.spec.s3.s4; + +import java.lang.annotation.Target; +import java.lang.annotation.Retention; +import java.lang.annotation.Documented; +import static java.lang.annotation.RetentionPolicy.RUNTIME; +import static java.lang.annotation.ElementType.TYPE; +import static java.lang.annotation.ElementType.ANNOTATION_TYPE; + +/** + * @author Emmanuel Bernard + */ +(a)Target({ TYPE, ANNOTATION_TYPE }) +(a)Retention(RUNTIME) +(a)Documented +public @interface ZipCodeCoherenceChecker { + String message() default "{validator.zipCodeCoherenceChecker}"; + Class[] groups() default {}; +} --===============5523021275120654771==-- From hibernate-commits at lists.jboss.org Fri Dec 5 17:07:07 2008 Content-Type: multipart/mixed; boundary="===============3663941855178324228==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15670 - in validator/trunk: hibernate-validator/src/main/java/org/hibernate/validation/impl and 2 other directories. Date: Fri, 05 Dec 2008 17:07:07 -0500 Message-ID: --===============3663941855178324228== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-05 17:07:07 -0500 (Fri, 05 Dec 2008) New Revision: 15670 Added: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/DefaultTraversableResolver.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ValidatorBuilderImpl.java validator/trunk/validation-api/src/main/java/javax/validation/Traversabl= eResolver.java validator/trunk/validation-api/src/main/java/javax/validation/ValidatorB= uilder.java Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/engine/ValidatorImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ValidatorFactoryBuilderImpl.java validator/trunk/hibernate-validator/src/main/java/org/hibernate/validati= on/impl/ValidatorFactoryImpl.java validator/trunk/validation-api/src/main/java/javax/validation/Validator.= java validator/trunk/validation-api/src/main/java/javax/validation/ValidatorF= actory.java validator/trunk/validation-api/src/main/java/javax/validation/ValidatorF= actoryBuilder.java validator/trunk/validation-api/src/main/java/javax/validation/spi/Valida= torFactoryConfiguration.java Log: BVAL-82 ValidatorBuilder and BVAL-81 TraversableResolver contract Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/engine/ValidatorImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-05 13:56:19 UTC (rev 15669) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/engine/ValidatorImpl.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -32,6 +32,7 @@ import javax.validation.ConstraintViolation; import javax.validation.MessageResolver; import javax.validation.Validator; +import javax.validation.TraversableResolver; import javax.validation.groups.Default; = import org.hibernate.validation.Version; @@ -77,10 +78,13 @@ = private final ValidatorFactoryImplementor factory; private static final Class[] DEFAULT_GROUP =3D new Class[] { Defaul= t.class }; + private final TraversableResolver traversableResolver; = - public ValidatorImpl(ValidatorFactoryImplementor factory, MessageResolver= messageResolver) { + public ValidatorImpl(ValidatorFactoryImplementor factory, MessageResolver= messageResolver, + TraversableResolver traversableResolver) { this.factory =3D factory; this.messageResolver =3D messageResolver; + this.traversableResolver =3D traversableResolver; } = = Added: validator/trunk/hibernate-validator/src/main/java/org/hibernate/vali= dation/impl/DefaultTraversableResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/DefaultTraversableResolver.java (rev 0) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/DefaultTraversableResolver.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -0,0 +1,13 @@ +package org.hibernate.validation.impl; + +import java.lang.annotation.ElementType; +import javax.validation.TraversableResolver; + +/** + * @author Emmanuel Bernard + */ +public class DefaultTraversableResolver implements TraversableResolver { + public boolean isTraversable(Object traversableObject, String traversable= Property, Class rootBeanType, String pathToTraversableObject, ElementTyp= e elementType) { + return true; + } +} Added: validator/trunk/hibernate-validator/src/main/java/org/hibernate/vali= dation/impl/ValidatorBuilderImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ValidatorBuilderImpl.java (rev 0) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ValidatorBuilderImpl.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -0,0 +1,53 @@ +package org.hibernate.validation.impl; + +import javax.validation.ValidatorBuilder; +import javax.validation.MessageResolver; +import javax.validation.TraversableResolver; +import javax.validation.Validator; + +import org.hibernate.validation.engine.ValidatorImpl; + +/** + * @author Emmanuel Bernard + */ +public class ValidatorBuilderImpl implements ValidatorBuilder { + private MessageResolver messageResolver; + private TraversableResolver traversableResolver; + private final MessageResolver factoryMessageResolver; + private final TraversableResolver factoryTraversableResolver; + private final ValidatorFactoryImpl validatorFactory; + + public ValidatorBuilderImpl(ValidatorFactoryImpl validatorFactory, + MessageResolver factoryMessageResolver, + TraversableResolver factoryTraversableResolver) { + this.validatorFactory =3D validatorFactory; + this.factoryMessageResolver =3D factoryMessageResolver; + this.factoryTraversableResolver =3D factoryTraversableResolver; + messageResolver(factoryMessageResolver); + traversableResolver(factoryTraversableResolver); + } + + public ValidatorBuilder messageResolver(MessageResolver messageResolver) { + if (messageResolver =3D=3D null) { + this.messageResolver =3D factoryMessageResolver; + } + else { + this.messageResolver =3D messageResolver; + } + return this; + } + + public ValidatorBuilder traversableResolver(TraversableResolver traversab= leResolver) { + if (traversableResolver =3D=3D null) { + this.traversableResolver =3D factoryTraversableResolver; + } + else { + this.traversableResolver =3D traversableResolver; + } + return this; + } + + public Validator getValidator() { + return new ValidatorImpl( validatorFactory, messageResolver, traversable= Resolver ); + } +} Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/impl/ValidatorFactoryBuilderImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ValidatorFactoryBuilderImpl.java 2008-12-05 13:56:19 UTC (rev 1566= 9) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ValidatorFactoryBuilderImpl.java 2008-12-05 22:07:07 UTC (rev 1567= 0) @@ -21,14 +21,15 @@ import java.util.List; import javax.validation.ConstraintFactory; import javax.validation.MessageResolver; +import javax.validation.TraversableResolver; import javax.validation.ValidationException; import javax.validation.ValidationProviderResolver; +import javax.validation.ValidatorFactory; import javax.validation.ValidatorFactoryBuilder; -import javax.validation.ValidatorFactory; import javax.validation.bootstrap.DefaultValidationProviderResolver; +import javax.validation.spi.BootstrapState; import javax.validation.spi.ValidationProvider; import javax.validation.spi.ValidatorFactoryConfiguration; -import javax.validation.spi.BootstrapState; = import org.hibernate.validation.HibernateValidatorFactoryBuilder; = @@ -36,12 +37,16 @@ * @author Emmanuel Bernard */ public class ValidatorFactoryBuilderImpl implements HibernateValidatorFact= oryBuilder, ValidatorFactoryConfiguration { + //FIXME not sure why it is like that. We should cache these instances som= ehow. Static? private final MessageResolver defaultMessageResolver =3D new ResourceBund= leMessageResolver(); + private final TraversableResolver defaultTraversableResolver =3D new Defa= ultTraversableResolver(); + private MessageResolver messageResolver; private ConstraintFactory constraintFactory =3D new ConstraintFactoryImpl= (); private String configurationFile =3D "META-INF/validation.xml"; private final ValidationProvider provider; private final ValidationProviderResolver providerResolver; + private TraversableResolver traversableResolver; = public ValidatorFactoryBuilderImpl(BootstrapState state) { if (state.getValidationProviderResolver() =3D=3D null) { @@ -52,6 +57,7 @@ } this.provider =3D null; this.messageResolver =3D defaultMessageResolver; + this.traversableResolver =3D defaultTraversableResolver; } = public ValidatorFactoryBuilderImpl(ValidationProvider provider) { @@ -61,6 +67,7 @@ this.provider =3D provider; this.providerResolver =3D null; this.messageResolver =3D defaultMessageResolver; + this.traversableResolver =3D defaultTraversableResolver; } = public ValidatorFactoryBuilderImpl messageResolver(MessageResolver resolv= er) { @@ -68,6 +75,11 @@ return this; } = + public ValidatorFactoryBuilderImpl traversableResolver(TraversableResolve= r resolver) { + this.traversableResolver =3D resolver; + return this; + } + public ValidatorFactoryBuilderImpl constraintFactory(ConstraintFactory co= nstraintFactory) { this.constraintFactory =3D constraintFactory; return this; @@ -109,6 +121,10 @@ return constraintFactory; } = + public TraversableResolver getTraversableResolver() { + return traversableResolver; + } + public ValidatorFactoryBuilderImpl configure(InputStream stream) { return null; //To change body of implemented methods use File | Setting= s | File Templates. } Modified: validator/trunk/hibernate-validator/src/main/java/org/hibernate/v= alidation/impl/ValidatorFactoryImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ValidatorFactoryImpl.java 2008-12-05 13:56:19 UTC (rev 15669) +++ validator/trunk/hibernate-validator/src/main/java/org/hibernate/validat= ion/impl/ValidatorFactoryImpl.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -21,13 +21,13 @@ import java.util.concurrent.ConcurrentHashMap; import javax.validation.ConstraintFactory; import javax.validation.MessageResolver; +import javax.validation.TraversableResolver; import javax.validation.Validator; -import javax.validation.ValidatorFactory; +import javax.validation.ValidatorBuilder; import javax.validation.spi.ValidatorFactoryConfiguration; = -import org.hibernate.validation.engine.ValidatorImpl; +import org.hibernate.validation.engine.MetaDataProviderImpl; import org.hibernate.validation.engine.ValidatorFactoryImplementor; -import org.hibernate.validation.engine.MetaDataProviderImpl; = /** * @author Emmanuel Bernard @@ -36,6 +36,7 @@ public class ValidatorFactoryImpl implements ValidatorFactoryImplementor { = private final MessageResolver messageResolver; + private final TraversableResolver traversableResolver; private final ConstraintFactory constraintFactory; = //TODO is there a way to replace ? by so kind of to express the corre= lation? @@ -46,6 +47,7 @@ public ValidatorFactoryImpl(ValidatorFactoryConfiguration configuration) { this.messageResolver =3D configuration.getMessageResolver(); this.constraintFactory =3D configuration.getConstraintFactory(); + this.traversableResolver =3D configuration.getTraversableResolver(); //do init metadata from XML form } = @@ -53,17 +55,17 @@ * {@inheritDoc} */ public Validator getValidator() { - return new ValidatorImpl( this, messageResolver ); + return defineValidatorState().getValidator(); } = - public Validator getValidator(MessageResolver messageResolver) { - return new ValidatorImpl( this, messageResolver ); - } - public MessageResolver getMessageResolver() { return messageResolver; } = + public ValidatorBuilder defineValidatorState() { + return new ValidatorBuilderImpl(this, messageResolver, traversableResolv= er); + } + public MetaDataProviderImpl getMetadataProvider(Class beanClass= ) { //FIXME make sure a optimized mock is provided when no constraints are p= resent. if (beanClass =3D=3D null) throw new IllegalArgumentException( "Class ca= nnot be null" ); Added: validator/trunk/validation-api/src/main/java/javax/validation/Traver= sableResolver.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Traversab= leResolver.java (rev 0) +++ validator/trunk/validation-api/src/main/java/javax/validation/Traversab= leResolver.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -0,0 +1,31 @@ +package javax.validation; + +import java.lang.annotation.ElementType; + +/** + * Contract determining if a property can be accessed by the Bean Validati= on provider + * This contract is called for each property either validated or traversed + * + * A traversable resolver implementation must me thread-safe + * + * @author Emmanuel Bernard + */ +public interface TraversableResolver { + /** + * Determine if a property can be traversed by Bean Validation. + * + * @param traversableObject object hosting traversableProperty + * @param traversableProperty name of the traqversable property + * @param rootBeanType type of the root object passed to the Validator. + * @param pathToTraversableObject path from the root object to the traver= sableObject + * (using the path specification defined by Bean Validator) = + * @param elementType either FIELD or METHOD + * + * @return true if the property is traversable by Bean Validation + */ + boolean isTraversable(Object traversableObject, + String traversableProperty, + Class rootBeanType, + String pathToTraversableObject, + ElementType elementType); +} Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-05 13:56:19 UTC (rev 15669) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= .java 2008-12-05 22:07:07 UTC (rev 15670) @@ -54,7 +54,9 @@ * * @throws IllegalArgumentException e if object is null or if propertyNam= e is not present */ - Set> validateProperty(T object, String propert= yName, Class... groups); + Set> validateProperty(T object, + String propertyName, + Class... groups); = /** * validate all constraints on propertyName property @@ -70,8 +72,10 @@ * @return constraint violations or an empty Set if none * @throws IllegalArgumentException e if propertyName is not present */ - Set> validateValue(Class beanType, String p= ropertyName, - Object value, Class... groups); + Set> validateValue(Class beanType, + String propertyName, + Object value, + Class... groups); = /** * Return the descriptor object describing bean constraints Added: validator/trunk/validation-api/src/main/java/javax/validation/Valida= torBuilder.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= Builder.java (rev 0) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= Builder.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -0,0 +1,31 @@ +package javax.validation; + +/** + * Return a Validator corresponding to the initialized state. + * = + * @author Emmanuel Bernard + */ +public interface ValidatorBuilder { + /** + * Defines the message resolver implementation used by the Validator. + * If unset, the message resolver of the ValidatorFactory is used. + * + * @return self following the chaining method pattern + */ + ValidatorBuilder messageResolver(MessageResolver messageResolver); + + /** + * Defines the traversable resolver implementation used by the Validator. + * If unset, the traversable resolver of the ValidatorFactory is used. + * + * @return self following the chaining method pattern + */ + ValidatorBuilder traversableResolver(TraversableResolver traversableResol= ver); + + /** + * return an initialized Validator instance respecting the defined state + * Validator instances can be pooled and shared by the implementation + */ + Validator getValidator(); + +} Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idatorFactory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= Factory.java 2008-12-05 13:56:19 UTC (rev 15669) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= Factory.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -26,21 +26,20 @@ */ public interface ValidatorFactory { /** - * return an initialized Validator instance. - * Validator instances can be pooled and shared by the implementation + * return an initialized Validator instance using the default factory ins= tances + * for message resolver and traversable resolver. * + * Validator instances can be pooled and shared by the implementation */ Validator getValidator(); = /** - * return an initialized Validator instance. - * Validator instances can be pooled and shared by the implementation + * Define the validator state and return a + * Validator compliant with this state * - * The returned Validator instance must use the MessageResolver instance - * passed as a parameter to resolve error messages. = - * + * @return a ValidatorBuilder */ - Validator getValidator(MessageResolver messageResolver); + ValidatorBuilder defineValidatorState(); = /** * Returns the MessageResolver instance configured at initialization time Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idatorFactoryBuilder.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validator= FactoryBuilder.java 2008-12-05 13:56:19 UTC (rev 15669) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validator= FactoryBuilder.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -59,6 +59,16 @@ T messageResolver(MessageResolver resolver); = /** + * Defines the traversable resolver used. Has priority over the configura= tion + * based traversable resolver. + * + * @param resolver traversable resolver implementation. + * + * @return this following the chaining method pattern. + */ + T traversableResolver(TraversableResolver resolver); + + /** * Defines the constraint factory. Has priority over the configuration * based constraint factory. * Modified: validator/trunk/validation-api/src/main/java/javax/validation/spi= /ValidatorFactoryConfiguration.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/spi/Valid= atorFactoryConfiguration.java 2008-12-05 13:56:19 UTC (rev 15669) +++ validator/trunk/validation-api/src/main/java/javax/validation/spi/Valid= atorFactoryConfiguration.java 2008-12-05 22:07:07 UTC (rev 15670) @@ -20,6 +20,7 @@ import java.io.InputStream; import javax.validation.ConstraintFactory; import javax.validation.MessageResolver; +import javax.validation.TraversableResolver; = /** * Contract between a ValidatorFactoryBuilder and a @@ -54,4 +55,12 @@ * @return factory instance or null if not defined */ ConstraintFactory getConstraintFactory(); + + /** + * Traversable resolver as defined by the client programmatically + * or null if undefined. + * + * @return traversable provider instance or null if not defined + */ + TraversableResolver getTraversableResolver(); } --===============3663941855178324228==-- From hibernate-commits at lists.jboss.org Sun Dec 7 17:44:37 2008 Content-Type: multipart/mixed; boundary="===============4283093369077865034==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Sun, 07 Dec 2008 17:44:34 -0500 Message-ID: <200812072244.mB7MiYHr006787@chief.prod.atl2.jboss.com> --===============4283093369077865034== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4283093369077865034== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9nb2xkb3JnYW4uY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2dvbGRvcmdhbi5jb20vYnJnZmQuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8gQ2xpY2sgaGVyZSEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============4283093369077865034==-- From hibernate-commits at lists.jboss.org Sun Dec 7 18:17:35 2008 Content-Type: multipart/mixed; boundary="===============7746412823941891105==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Sun, 07 Dec 2008 18:17:33 -0500 Message-ID: <200812072317.mB7NHX7n007446@chief.prod.atl2.jboss.com> --===============7746412823941891105== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7746412823941891105== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly91bnRpbGJhc2ljLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly91bnRpbGJhc2ljLmNvbS9oZ3NmLmpwZyIgYm9yZGVyPTAgYWx0PSJDbGljayBoZXJlISI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============7746412823941891105==-- From hibernate-commits at lists.jboss.org Sun Dec 7 20:42:28 2008 Content-Type: multipart/mixed; boundary="===============4461394148671839524==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Sun, 07 Dec 2008 20:41:47 -0500 Message-ID: <200812080142.mB81fleP009323@chief.prod.atl2.jboss.com> --===============4461394148671839524== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4461394148671839524== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3JhaWxjYXJyeS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vcmFp bGNhcnJ5LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2lu ZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JP RFk+PC9IVE1MPgo= --===============4461394148671839524==-- From hibernate-commits at lists.jboss.org Sun Dec 7 21:18:42 2008 Content-Type: multipart/mixed; boundary="===============6507089779885099115==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Sun, 07 Dec 2008 21:18:38 -0500 Message-ID: <200812080218.mB82IcZw010237@chief.prod.atl2.jboss.com> --===============6507089779885099115== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6507089779885099115== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbW92ZXN1Z2FyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9t b3Zlc3VnYXIuY29tL2hnc2YuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNrIGhlcmUhIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============6507089779885099115==-- From hibernate-commits at lists.jboss.org Mon Dec 8 03:18:21 2008 Content-Type: multipart/mixed; boundary="===============4306105350870664891==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Mon, 08 Dec 2008 03:18:08 -0500 Message-ID: <200812080818.mB88I8tx017477@chief.prod.atl2.jboss.com> --===============4306105350870664891== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4306105350870664891== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZmF2b3Jtb3VudC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v ZmF2b3Jtb3VudC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+ PC9CT0RZPjwvSFRNTD4K --===============4306105350870664891==-- From hibernate-commits at lists.jboss.org Mon Dec 8 04:11:46 2008 Content-Type: multipart/mixed; boundary="===============5797022182363198680==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Mon, 08 Dec 2008 04:11:39 -0500 Message-ID: <200812080911.mB89BdGj019172@chief.prod.atl2.jboss.com> --===============5797022182363198680== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5797022182363198680== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbW92ZXN1Z2FyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9t b3Zlc3VnYXIuY29tL2hnc2YuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNrIGhlcmUhIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============5797022182363198680==-- From postmaster at lists.jboss.org Mon Dec 8 04:32:51 2008 Content-Type: multipart/mixed; boundary="===============7767143101757196825==" MIME-Version: 1.0 From: Automatic Email Delivery Software To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] ERROR Date: Mon, 08 Dec 2008 11:40:52 +0200 Message-ID: <200812080932.mB89Wcl9019786@chief.prod.atl2.jboss.com> --===============7767143101757196825== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable =EF=BF=BDg<~"=EF=BF=BD=EF=BF=BD~U=EF=BF=BDjf=EF=BF=BDo|T=EF=BF=BD!=EF=BF=BD= =EF=BF=BDG)=EF=BF=BD=EF=BF=BD( =EF=BF=BD=EF=BF=BD=EF=BF=BD~^=EF=BF=BD=EF=BF=BD=EF=BF=BD"8=EF=BF=BD=EF=BF= =BD=EF=BF=BD=EF=BF=BDk'W:=EF=BF=BD=EF=BF=BD=EF=BF=BD|=EF=BF=BDF=EF=BF=BD2R2= [=EF=BF=BD\]h3=EF=BF=BD=EF=BF=BD=EF=BF=BD |=EF=BF=BDW=EF=BF=BDAwl=EF=BF=BD%= =EF=BF=BD{>q=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDz=EF=BF=BDfa=EF=BF=BD%)=EF= =BF=BDh=EF=BF=BD%66=EF=BF=BD=EF=BF=BD=EF=BF=BDtY?I=EF=BF=BDK=EF=BF=BD=EF=BF= =BDD=EF=BF=BD=EF=BF=BD)%=EF=BF=BD=EF=BF=BD=EF=BF=BDHi=EF=BF=BD=EF=BF=BDm=EF= =BF=BD=EF=BF=BD=EF=BF=BD\=EF=BF=BD=EF=BF=BD=EF=BF=BDM=EF=BF=BD=EF=BF=BD5=EF= =BF=BD=EF=BF=BDC=EF=BF=BD=EF=BF=BDK ,y=EF=BF=BD=EF=BF=BD=EF=BF=BDC/=EF=BF=BD=EF=BF=BD4\d=EF=BF= =BD=EF=BF=BD=EF=BF=BD"=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDw6=EF=BF=BD=EF=BF= =BD]=EF=BF=BD=EF=BF=BDbL=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDM%=EF=BF=BDk=EF= =BF=BD=EF=BF=BD=EF=BF=BD!=EF=BF=BD=EF=BF=BDj=EF=BF=BDi=EF=BF=BD=EF=BF=BD=EF= =BF=BD=EF=BF=BD=EF=BF=BDf8=EF=BF=BD*&=EF=BF=BD=EF=BF=BD=EF=BF=BD(=EF=BF=BD]= w=EF=BF=BDY=EF=BF=BDW =EF=BF=BD~=EF=BF=BD=EF=BF=BD<=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDU=EF=BF=BD= =EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDq=EF=BF=BD=EF=BF=BD=EF=BF=BDl= =EF=BF=BD=EF=BF=BD=EF=BF=BD8x=EF=BF=BD=EF=BF=BD0y 6=EF=BF=BD9=EF=BF=BDz?gZ kI=EF=BF=BD=EF=BF=BD&=EF=BF=BDUx=EF=BF=BD=EF=BF=BDG=EF=BF=BD=EF=BF=BD<=EF= =BF=BDZE=EF=BF=BDGn:=EF=BF=BDfE~[u=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF= =BF=BDC=EF=BF=BD;=EF=BF=BD/=EF=BF=BD\=EF=BF=BDn=EF=BF=BD!=EF=BF=BD=EF=BF=BD= \=EF=BF=BD#=EF=BF=BD^=EF=BF=BD=EF=BF=BDJ=EF=BF=BDL=EF=BF=BDv=EF=BF=BDr=EF= =BF=BD=EF=BF=BD*ILh=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDpG)k=EF=BF=BD_=EF=BF= =BD=EF=BF=BD=EF=BF=BDv=EF=BF=BD=EF=BF=BD=EF=BF=BDO!=EF=BF=BDdx=EF=BF=BD=EF= =BF=BD:=EF=BF=BDW#b=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD*N= =EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD\=EF=BF=BDK=EF=BF=BD .=EF=BF=BD7!=EF=BF=BDiC=EF=BF=BD=EF=BF=BDh|=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF= =BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BD<=EF=BF=BD7I3=EF=BF=BD= =EF=BF=BD=EF=BF=BD=EF=BF=BD=EF=BF=BDZ=EF=BF=BD --===============7767143101757196825== Content-Type: application/octet-stream MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="document.zip" UEsDBAoAAAAAABpNiDnbyOiwOnEAADpxAAAMAAAAZG9jdW1lbnQuemlwUEsDBAoAAAAAABpNiDlq CyNrwHAAAMBwAAAMAAAARE9DVU1FTlQuUElGTVqQAAMAAAAEAAAA//8AALgAAAAAAAAAQAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAA4fug4AtAnNIbgBTM0hVGhpcyBwcm9n cmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAUEUAAEwBAwAAAAAAAAAAAAAAAADgAA8BCwEHAABgAAAAEAAAAIAAAADt AAAAkAAAAPAAAAAAUAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAAAAEAABAAAAAAAAACAAAAAAAQ AAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAU9QAAMAEAAADwAAAUBQAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVUFgwAAAAAACAAAAAEAAAAAAAAAAE AAAAAAAAAAAAAAAAAACAAADgVVBYMQAAAAAAYAAAAJAAAABgAAAABAAAAAAAAAAAAAAAAAAAQAAA 4C5yc3JjAAAAABAAAADwAAAACAAAAGQAAAAAAAAAAAAAAAAAAEAAAMAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMS4yNABVUFghDAkC CRn7h0iRpnG1EsYAAPtcAAAAngAAJgEAd/+HqJAAa2VybmVsMzIuZP+b599sbDVyb290XElFRnJh bWUAQVRW/v/8SF9Ob3RlcmN0cmxfcmVud25kD/+3//98eV/uz7nd3mc7hBWA1AAeOAmyn/sVAI0G GHi2////D0BAAwAdK/RBgU/N/P/XJWsIAAFAPI9TATZA/27/31Tx/aczu72aQRQEV4UOBkBdEAAY BC+3291ACB8ALQoDeSgHpCyK3AKXv/zlAL4OLxsAAL8GpzgEAIUvBRO3t//yAQAVXY5fzgtEZWMA o3YAT58AU92++9tlcF51ZwBKdWwDbgBNYXkPcHJrl+3NBwNGZWITYVNhJ91zt+1/aQBUaHUAV2Vk B3XeTW8XL7KPbb8lcywgJXUCcwUuMnU6BPPCe1sOYwYDPUludG+tte10RwJDOgh6SFN0YfsT/ggo ZG5zYXBpVWlwaGxwDQvbsiUbRFFucjlBNfytaws7TgJ3b3JrUGFsc9/23f4fbWFpbB4tZAtzOG0H YbY5N/ZidXNlG3N0FxZwJLvdursXY2NvsgDeaXYLeWMbdmwrfHRpZmkLLmdLbGkvmuFjtzhydkt1 Ym1p3bbarR3bK2kPcHB4EGFkFoYf4eZCQ2Fn43RoZS5iH8+33ftnb2xkLVFJY2EgZmVzdG6Vj9Yc IiLSL2YFY+zOD0tvZnRjaSe91rmtP1Nnrw15oQOFVmjPtScRKxSC3rf3vXkGS2goB2JvZHkPrX3l 9hZZaW4vdwhKPObcsXIHemlxDGpzZi7d1tozeU9XoityunL2tkNrILgrCG4Hvx3a++FvZyNnbnUO B1iLvUPhg6kWB5TrjtZ+b3Ifyy5jn//eChEWDnweZMx5CZdm5y5AZG9uZXh8X9sttHvYbxh5YQas c5v5YWt+nGtHbmRhFXS5ixVicdWOB2RuLh1ipcKfZsXHvY38sL4u53ltYXbkXy0hZVvsiy8HQFeT IACQB8oKpigAKbV+nCogApcYUECQQT7TB3APbGhmQIZkZGADhqQZkFwEVExAhmRIRDwZZJBmBTQw KKQbkCEgBr8YwgL2BR8QDwBk28CmAgsMAQBmKWywEgEAPU9VtsgfACZuYpalwxr2Bzt8LnQwn+me FF8HXwso945R+rogpf9fYRoXbWR5Ng8pLi5ADpzZuQaKJwNAAC35///0MDUqLioAVVNFUlBST0ZJ TEUAOlxwNus00w0ALXKQbtmnFCYeBwj8JTTNIM0Z9OwU5DfIIIPc0MQnTdM0TQq8ALgytA0yyCCw rKgC0nSDB6Q3BaCk6Qb7CXwHUE83LHuznxkI3+gkpy+PkMHO8tgkDAfIz54dZMC4JGe0JG+sJCAn 3yUKHyV8PHvy7Ewk92ggUB1v2BnBVollz5fgILe/9c26BHskdHzzICRUfSx7DHtNB61m4HxtfRwJ +VXE4PZgbXykAn0gjNgCDgydQNR8DTHWGgxpGB1AIIsClygu2WQglLyDP2htICRBK3JtIGLtbw2a WE0pezp8LH18AW2D3wKidBQga1R3JZVoHXwZfNogLIZfe++gEHR9ey58KikAfW2ttdsNCgF7Vx8n iC5kNhNHojzQfGZfBXKfaK3dDGVpF3UIM3N92127e2lefFl9H9xley1BbW2bRHvQBpMceyGw3eAW QmJlTHx3CH1urbX3BWSvBk/mHWxh61qLDrR8fwT1bTHWoBXe3hkIG9tW6GjuY2l8z4FtFgxM1rbu YWzQahprK2p8NXHbXhzEICBzc7pz7/xcuxUgZIvY7GlzZQqtxQo9vV7oOa6VmN2Nay7m/T7hv0SD Y8d8UJAFYmx5LHzfIrRCBC9aDHxPYnZONNcKdSYWOcAB+Vz8jXB1f9pkDF2hvXsYQqvifI6FZ+7n V7xieed7IHamLYJz7nJ1faPs/5IQaCZaaz85HFUZrbltexJ0Q2ode0TswUbrDIVkg/JXeEceQit0 brq8UNh0ORHcwbnDWx9P3h2cwX2kfANlZuejtQjvZbgLVGdKhA/3sXVjS3uKOiAlWcHdWjuEY2hJ CgqGuiXeZVLodDRmjThsC7F9PJ9yknLDCiGhUR4GEoKhcHvW9p97Vup0dbFBCQZDrVM0QEtA22iG tnNCQ1l9c2EeDW1DlWdhUBNIcbjlrdH+6CsgZGEsRHQdI3Xmezd8h2gaYRZaEHpasoIBbXuz5za8 VLonFasXOpxrGn13exsfBVkKhsPod30jIK6XmqGjOdCSzXLyJY8WrBmLOhD2QzMkpEhWKmk49t52 QzQocylkOuVWVZ0Mz017VkbNmTW3bONQHH1UDb+RmmHMzVRkAlLQLkmHGTg+/0mvue1z/UF8pn12 /KX3xh5tF2koQGGUVHgz5FpxqKp0SWQuILbWlnQMRl2bR2HrzQrJoQguii2pQnudEHQTCKjCmmuO rmSUcEYQk1x2W3Aca5f4ZxxhLUadAUqxqmsMqnPvBaQI5SeUUd1jUh/Cbsy1tW3wHLdZJQxldlpm m7VWnhF5LPVEhG1XqrVCWiNPO+jMLeO9MVFZIqUdbo7d2GYshEZvZW8JxJrRQWg6eUnTLULTIFVu sr5odGgHYRXCLq9tJEQxAw0fj3Pwe7FjDI0JG9J9qbUBoW3v3TMkaZ9BN3PEQxUyxlx6cFQ/Kxlo uMNwaQRzWtl4XicwO303WiCzeht0w6FxPC8+RyMcDkztd2kodA4ujQAFQCRGfE9aKQINR2bogMCa 217CRi/YIMktYfhOFZDllW8Z4rCB1IBsFIVkV6nU/kwkd3tTF/nSdW63XSBkIFvlXXwIaXzrwr6v WpYtACDkYbEcBwxuclKbHpjFXPvap277ZlNtgrA9Q6waOFDfvXS2GsFmdk1hoGMUawauxgmzk80e zvNSgGdALrc9WmsAuOsxXGt+DNrjiQtolqqJuZybFFRERlHi7VNrMb69ez4AIE1B3Lbo3u8gRnvi fPtNFiRmXnN9M3MAIDUwJPsNX2B7UOo1Ui64UkE1GlvX1YggCUQAX+wDNPcRVV4NFHxB+s3hwMBS o3MRlwGWGsu6a2dTZrz3DSw1NTQg8VVJtbbQlo5vuBR4VSCJ1pbUTU2ox8gc4A7MEBs3U817uUY7 ImH0QRZX+0j2rTCxLjEuMiWWIIQOBqYHIChOszw6IGwkHhEcctMplAHMtW17PTAB6V1wlG2EO/gg yW8ZTQYiUQdbzhMuIwM4aEvQxSUDthPd7S6NCnCX24LAgjYsMXRCPbQgfDFfU8lbfAPWDK0SJGyZ YwcHLhZEIf6ib8K78VJDUFQUbzranO6Hv/2He7lCT1ggTk8dRk9VTkR8AQ/hsIQxX5gCfEnhJS20 bs6GZIF8TgH87GuCHrd9a0RBVEGFsb57lWQ0MDAtYXFyAZjx9r8lbS1FLU9QRW9VVCzG0H4w0J8u DSFBU86y9toyNqhw0LhBoW13vy1STVNAQ1JFPEHRfDMV3EezY/kCGQxv/yGsZDdTWVNURU0tRjxY REkZt9r2U0tRVe9BQj1zazxkKNgLPz73z21iheOMbHUvsU6UWBLxKywItjEkJ4h9MaMlMBAbGu9C IZ7pZYgHRA1a4Jogo3S3C21Gh9jTcwcmB2UHGwLw6QBNXAgnDwxNyFNFaeoNg60WUqQcxzCaRVNT i08seBaFfI5lLeRcpi9ZMw46ASa5zsSyXQF0dBrtuY7MsitErSENmHfEhHTsE2NtZADuxgUDEXZl AElmAEyQIVqzAOvt5zFi2YBdAGzPj0eYeiePuwAs4R16D18HihPcbENjY3UJNyuPtgTcAD4L9QuR POJG40VSLbEcT06PJLfSGBwAACgiUIHVCN8iQyJQQVSh5NqzF0F1CuHxZqZJiEAsVFPSSjzbGixR IksgT3OO7PG5FjQiWBNCCF0QukpjOxAiTNhLmEtDrA9sW98kXnVitUslVCW3BQMOj3bHcBPh0PCI 93IANHLt4BreI34AFi8nNMJrDUZoLANnJfT/DysNAgBBQkNERUZHSElKS0xNY+MvvcBQUVJTVVZX WFlaNGMCLiywcWZnxGqlbUJwcf+lbg2buXZ3a3owMTIzNDU2hh4E+Dc4OSsvx1gtUGaplTZuAnR5 IDNvDtPvY8BeyRVOMWwaMCMeeBhuTefo0lLBL2wxb7ZFeAuUdmAKRDYuqbI2K3zMdQQwADNJTUVP KDT70MhViYBQQnlAsp2hAU3OHiBWOR2utjYBm0NCMi0qlLbWVHmUQG1Y1bhtCxusdC/zeEc7IQli 7S28He4ReT0iTiIxAA809GsFcS1WzmmAMWjOEWtPGPxDB2KtGWiYaosKMRfQoGEGhQo31j4xrJ8N iz1fCwI+zk/3LjN1BDQ4WC7jTtqLmWtQjHM2K7D3Zie9ST9HwakClLphzf8gcrRWGC/eGBe5NnPw mdjKbs/GNI0NelpqZjBFiGxD26FvfkFiMTY0Ir3X1LhE+0BpUbjaC9jpSIRMjzpaZK/Rdrmnn1PP RHu3L6L2SJ+D1m4FQ6M9ddd1YsXaiWxpmDdihFwwwqRemjGvLYcGS+qwrJmdNxg2WIQujQBJVDOI uXgJ+xCytpVYbqNSQ08kBD4naKV3YjQHehJ7L5K52hnvFy3L2k+Cy0hFTABFDA/S2QTDTE/r4ysg k/V6cT5TTVRQJYMgNhmHJVyjXCoseq5ro27Ccg02I7diwTcLQRfXeC4lHigCE/dtOJGD56cu82xv Z3qjLE50MEKVL5UVSq3YS1eoWmgmPhZFVVJMRME1DR2wFXquQ7BG0EG11t5cA086Ly82mxND09e2 VHlxc04v6mForIv/Qi6icD9scHY9MSaWPSYqwG/9aHAmdA09d2ViJiNsWwpnJvF3cQdkT0HbWjt3 ADo+YYvtTF3M6FAtL8tTcz+nMNvfKXMma2dzPTAFbLdDipB9PQCPVcVS72AQP3A5dz3uS12iWOU4 Jm89ZnAtixU2tJktByZNPW1HIWsQi51TGpPjA4tE4lFobD17hg3WYibnUm8InOKM8KPPK88Gh6UX el8rW0EbGsxgqxhfi+y53P7/g+wkU1aLdQgz21fGRdxTA91v3maX2+Vy33Tgd+FhF+Jy42VyuVwu 5FzlTeZp52Om2XbN6Okv6nM36+xds+2a7e4n70Q78PE38tDtb7ZtH/P0bohd9YkeBAu/dwv0L9mA jUX8UGgZpo15UIpFb7/x/wv22BvAA8dQ/xUEEIeFwHRS/hOAfQt3cwb6AnzVxwaxOCr4UDdHpmz3 U2gGOFNTOhR1CfuHme3/dfwMAEPFX15bycMWt4N2J+vw/YHsm1a+BX5b2v5XVo2FAP8AalroDmmw g8QMzL3szhBWVXARizVcNxON7zf3aIgQF9Yz/4C9DwB0////boqMPQqACSCKATxhfRE8en4Ni8dq Gplb93Yj9vb7gMJBMUeAvCHj1FtGDmFudlAGSA9qAbTZ3NaOfVh3BVQttzDWdh0C9+xeQMzBLBfK bcFKwlcw1P3GaAS5XTZ0y1DI9Gr1YQf2dpfNwmb3+C6M+fp4+2XfbxoKSgeIi0UIiz2E2I1+duF/ QIPABFFQibn/1+6JXQg5hfPl1gJc2P51DmgYQN+me5+ADFAOmHw4nSEPL9bN3ISpny0meFYMdtLw /kmAPAhcdA4ZPJCNo6Z7dthQK9YIaiA2dCjYdwvfgElqAlNqAzQCf9M50xxwO8N0MoP4/3ySHXa6 Y2xwaAxHOiY0FBARZOsQ3+7MZCVgPnUP//uDfQgCuMOa4Q+MGWvPIHX9PpqRYiwfPDWQV9YtPDp3 v3VkUAvEYmmapcdoxTbExcamaZqmx8jJysuapmmazM3Oz9DRNU2zbdJzN9PU1daX22bZJ9dX2Nlu A9pk229N0zRNlndzXEN1NM2ANHJudFYL0gzSZXNpHzQ1y67tO+5S7/CG8Wy7kHQgSj75TRr6c5hr Kox7Fe3mATDhXT8UdSkpg8YEVtojla2xjlafIfRVCP4ISTJeP1NXi3wkDCVDwxcuO/t0HUQ49rHe nHTtahJXSwYQAl5fW8Nq7obpHzTuaKgGE5Ah6X6EIOxZD5yU+wjNtm+MXqsYgGX+INM0XWZ4nFJl ZzTNIE1pc2VyU9M0NYNydi9pY07TNE1lUHJvY4ezsdk//P1zTpQfkU620k3oKQ6QBqld60CM0DNP TZ8c9/b7rYwfWTk+dQsMHYomWXV4Cdru329l4Q8eTAUfrFlZBiFYJhZ2nxYAnI8dmAV0KX4I3xkc X1doHDF4IiMjsA+3wHa7+P9qUJlZ9/mDwh5p0ugDFf/TGTwFrTvJwS0bTEEYBEYSnLVweyUk6/KQ XS+YI0tmyRtovwFsgAv4lRFfpGiVH5gtuQX4/g0RIeC33zwsEG6gzFWNbCSQTMQAa9taKkJ40QyB YBjZOransBsLWBJ4Dqzus/SeGBB3qGWsEVsv/bqsDaTsTayIAnUFhFT2b1v/A8j32YvBeQLbZlBk BnYGZsdFBsiRz90ADGIAdWIBDHb/v8DbDOdqPJkJ/1JQM8CFyQ+cwI1EAHme78IrUCFFbARqaGCa p2v/Yv80hRiQbw9mZABmFj5uaIwSs3wDMN/tZiv8MF+DxXDDnLSjaLEEn33h38OhBWnA/UNHBcOe JhVmoWqH8EF4G5TIweEQnzP+G1/6wcOLRCQh6yWLVPqL8ITJdBGKChd4++8FCzgOdQdGQoA+ze87 8gqAOmPb7QvkCUCKCBp11cFeNeu/287+BzpMJAh0BxbzBSoO9tkbyffR+MDCwyPBvVEAEOx0Me03 8Nks/F0Mv/9NEA+2OALXrbGBA0ZXiagFWUPaUvv9Qlld/DvBdQ0zddhjkmzf6S0GQOv2KxQEeF2D 5m6wTQBVDEOTt7Z9e2OEyQg6AhhBQuvtUAECL//i8QorwTcnVleLffaJdS/QceH4gD9JhEgrU9Y+ Jg/M0t3chTEKFvxGDSMj7nnil/NGD74EPsoRWVzf2v9vDohEHdxDRoP7D3LigGQKJck4Tdz4NxO3 iX90FsYvEECNDImAOLxzBd4fTErQgxdPO3UBRhknfjfejs4AVGoU75m3E024+KI9upYgXY4Wi9vd iBnrFhAlcES5taUIkFANf7gQ7hZct//csItCMPwgK/NQYQfP2q70xDvw7XRRK/7Zv7UD8+4cPo00 CAP3GovPK8s78/Vbu9SNFXMb94V+K4vDK29/+7YnAy+KFDOIrUY78Xz167tB/4W+xPblwHwPBive QBkL6ElIdffwLQTrZlBGGVANjTwsuM8Puba2nvgtAK/C1rS6XlvL+J07hjYtXcMQ+yLwUD9bp2ma d2luaZb1uVwul2X2dPcu+GT5bOuVGHL6bKI5lZLl+GRIEGi04KWpbQuUaG5YZo3rx2DtRWtRrEYD dpsttsZIVuNXCsRWVhyUJUpbBQgD13D3to/AEcH4agQ2/Bhrhu3G0z78BLuiUSsQzmxtbPgsOyES jzV2+7B/L+BqFlAsFnV54+DHGFeIG4BTNVBFH47Tm34prjl15nRf1uYKd1iXF5faQvSG+FDJARiD drwCM1VBJHR2M/l758FXuGooiloodR4auv9tzDjIA8E7x3YCi/hH5l85gnGhBsHNf+sC+dLbL51g UYD5IHQFBC51AwfSpabb8Q4z0pp6lTwCDW1jY4FV+vk78skCjhf+/0ABg8kgDCBryRqNhAHF9aE9 pAJmjv9vGyXIMIPhB0LT4sH4A4qAuNvt7e3/ItD22hvS99qLwsM/A3wuBAZ/KSWR3nDua9IbSUXT VBGgz0NLDY3siow5Zw1kCZzabj1AC3zym5GYhp4agn5TZBDFMDq3eAzJAPyOYxt71pZmiRZm9BTi zbkwXQwC5Ip1tnPbdA4EOBcknQYGCG9caE4KdFk0O8KKDutYN0qGCQHorAw4Z2zjd//IKsuIjBUM IkI72H0eKyG8Da39pVvuA9iGFMHpAvOlC/i45ZL7AwPQ86SflzsuQwaxX6MtNaysNH2ApDO3wqUS wQlyDbdzhDVYibZ9p0akRg3tDwbbYmG5DEEC2lZ847MdyLxoyV8RD57BXhpfhxoEeetlLUYdtyVK 8OhDBJdgM2C63THXNnY1O0N9MP9v8Pa4YQQw1VAF6w5IQH0Gb2N7iY2IAesGDwYA/DhI3xpwMZQ5 DHzLi8ZidbxbN1FZ+K4nAGD0O7bU0L5IfWuB/rnhX8UDVfZ2K/wRhdJ0SshPF0AJfguKEzb40v+I DD5GQEp19cbDLkbrJ5T8js2xYMYCpWYB16/9nVyFZ6Ul/z8LVPaNxrsSBHym6wtpdnw3/y6omf5K /06F9n/0gCT3QF50A/f6xK2pkqca5zBQW8wQznh7Rq7I9rF16F4bKAVa6a+gagxYDcsjcNt4azwC 9H0HOekWK3W/2IWhRVNyi95QKSaFwW7wi9hZOxdZfB9zANRtW9tGCgNO1sE1+AgGbrOA6yj0VODr AzqLDlhwL7XSyRQB3XgBGdhcEL3c7qJ8zRJhYH8JjUMKGhRM1941nAJJ3lJhEqFD6elDEtgF6+4M g8MGDuINCuRDd1stYY9Lw1foPn9hvgMDZoAkgPrQMSFA9/b4hf+r7HRDGFeMQFPj2LWVRVmL4eQU drDwsNg/7O+DICxpurRtxgUJ9OyJAfqLWmrubjvfjCL/sxX9X8/RE0b+DEdTVWttHizB0jPtZhAF x0NP+GCPUn3YO911PC3xubUCC3QRMwGXUBGuDTb6O/2J0SRLGQ5joe6rg+8QCIkKFHS2zm1uixhR OQsPGEBozP2d/lXrAVWb2bQkRBAGbofhF9UoFUbzhY4Qtru7tWrfoDBeXThQVQo8VQZ1byfKx2Rf dCRAU0QIPzuzSVQxjlwEVVMbz1YqdlXIbqZY6HLfbN2F7S8oJzQ77g+GLAf7S0tqDgJGV4PmD4P+ A8rr3lZzIQH++Q8gGoRfzG0Nc4gNf5n0fWVuM7F9KjFZiY0kyDDfkndX6JYhHAMYEbEQ6wT8Z7bu JeGDvwo3ATafDd6cLE0ID5EMAw+Cg7cj4Wu9GVX08HF0dnF7j3UVVtWBxxCY24sHazmC1D0YWzzG 2WK89XaJRnEHjW7Bi/1AkkmXaiXhK1wSVkPrchsO6xT2HImsJgYHOcevoxghMKyLP2IHbb/tsZ5B JCUg5RKDEhg3oNsu2R7/DxQKFBol/h/ECC8Ni4S2x5FTnoUuZGWRJHlcRMGL0ehhDWBLGrhiPf57 XVuBxHd7b+1cJgNYVPlyK3h2oa7O4pwWEQIkamQ3crUNzZhGkXzWPbEnOrjRrq++0C1W5J+Eqx+1 O8VR4zvFdFEht+QkaOwPIhwWWqM0EDRJDyreDblK5l/o63BX9xYO3zrAbB50XlO7g5Z/8gDhBUR1 SlOKOlO+wV0YdEccpXSNRgho/zg8XZ8rdxil1O1X/bCV6AIDjzfuVnWpW8+ilTts+NpbHFOgC9Zs wdxXwpEFc8nNmoAHxQ9R0QCvZV9N+MiG+NIMWX/PQryyHaO+AEAx6toi2NOtzvQEUS28pxHS10+G K04hd//RaAVEdethjXcE0VhqNeukQlc65MKSVo53tp2u5oARCuiTFaPc1nhkTBEoi0B9SQAb1tAF B6NxFbWNQgMY+IEZLftZ/dMEa8BYBvWb+5XlZOE6+YN6/3Ri0f12MS4xLQXpCe+ODAuhBPnDi6up bUYXtvhXSIADgOrQroUuQDI8rrozSG2HdFNnEF4kAXeQwQ8MM4oO1vRtHGAV4p1ZEx9sW6Nje3XF uyzAHAzb4pnNMAgdF0YyN1zilgV149mJXNk8PECxksvedD8oVBTefxWsd3iXiAQrQ1k8GRa6wUq9 b0CYN4xUa4ntek/5BCsBNyDdgx/Y61DEK0APws4WspgVKoUL3Y7kKwZeK0DcSyXcttV5rWErFYuD s8C2N2gRcffrPj4GPWeJI3sTigY8G6YrarJ3iYDkdA8tzVnXeA3Qtrm9toa1sO2XtrzTJutOjTwu KAe6mx3ZGzwOuScjenfbSC4Hcz+2Tnmv6trwLi4BXOx8CtZAlhwYRrwD9sZRw9CiQSONlAYLsNCw NIBGJwE3siDdZYfGhduZoYYGGYjcu2XhA0NHDjfZHwOAIwAMy98dNjAyExA8jUQ3AYA4HJVBTmjH GRAF7YFuzDrw5jXrFRAnhNg2XHPHFCaE3mqjtlFHD5Q+Va0EN2pJXfolcBBgMHoLtflsegULXPtd onHtU0XGOR0So3QEcBbKhgU5QzX30QtbqesLTAf/jhM8Ota6JeccHEiEKn/k4r178BhTKIvLKw0U rN1b0Lwxo3iySYzvM263uVWIj+a7gBO9eCJ+Bm74U4vFi89aMkBZiS50sXdgGXmdGJTEGc09MsgG gyp/fhXus228UtdKBwkIf9ntvex0Z5GKDWH4IQXRcnvrKkEguzB8C/05f8UaDg+KiHkDAOUjsf9b yodAoRlrwGSZ9/lVFYK/jX6CDH65PQwy6x1nn/xtnCBVFQZ8CTzrBwhGamEJx33hB8HDeV0XTJnB LwEgYOsFrtFLTaISawY6w6IKIeZ4Frw1AScU4h90yEbMwISDRy5swtRGgas0fN6cUJDbWxjpF5xf 4rgOVv9GF8ygMIPa4sZdt0oxSPuaOR4a0q9Qqd84nRx0HreYCVqAxrNBLSvOUlyND/tCN0dAOATz jYQVQyd5GyzYAW9ZQIX3xFKrqwFXRPjPFj8T5rqrIMCvNUZHgftsppP+2imsNXVxuw0W9mbQdCO4 0LNnOeiwk9hWsuRIZBPlE7ocFXokhEJu5nZ0M0QskfgskRNCLBkQRlF7+tACnfnLMCvEOBZQ+uDj VnnKUfxrDlOLILkTDd/49o8CW+kDSHnwH34PA8faQKN2KxK+yHXI1sXusVS9i8c/NEUSsgrBUSQ4 NQqmwjATvAIkDlUfdwE20T0nfxINjY21pWDgvjLL1SjiwaJuR+yMs4IYYvCThlYNHtwti3YGC4dQ aG4cNteGg1rI4sTHD6cOasPiLdjZRD3rP1cW3WIY8IBmBQCVHAGKr5mwS8+IBmSEoXy5iLVoHSSF 0WXoUJPIBHlQobMkDXj+DVAfNQu1PGcsFGP+Ozd7E/Ip/PxsMBL+Zs/ZPC38DR4XPfxZJ9sWhkk0 /9fk4P66WDjyCBYXzjcEWUgGjYw8WmLWtq3riLCEqc1u8epleZj5IQZGPsymGqr4LISMMswGxC6V HBT39io+9e67j2J0J0E7ynz0C2iDwApgpPhoLQwM5/QmZKh/NVJAan9QEFaAUGfOCXgtUJ7vvsN3 ISJWYy10I1Zof0cL7ud7tbecg8V49P6UZMEVOLjt+xDtKxq+Cos21+h8xgN/a128oSZV292+O8NX dCs5UPtv/FgEdQ4780qLVgg7UAhzAnjuw1utDMZj5oH5vX4JHFrIdv8fOV4EdFy/kPxXU6YezWhP DUsSdBkyaG6MTmdJDInw9jCCPU/wRQiJTvRjjrGJiTG4NY1+EMfcs6dqev8fJv92QnWTsz8dMAhZ RVdfFM+5SM5AX6f89Honao/EOHBk/0AE6JqsUaXGL/Tp2tJRs2Mj8agDZiAbOJkyzT17UpkJV2jr 3z1UyUCnGbx0DiyEV8JCRcfNSlbOLPyY5ICAhjltE1ktEPs1uypSWWKBt1edrtTOzg9h9C7G6HAy tavuHwRIcS6YzlAoHl4JHLz9fnNlxAwPVsZGBQFjwVmj+2vQCQI0MgB2BzXszGrBagHAD1OTblvE FSB+LHUgxH8XbZQru7kx9/GNSAWFyW9U6Pp8Dj0gHF4Hg+Q36xoj11Lbi04GxmgPNbMErtopdbVb rI0Y66Bddol+66FqBeUN90EjxwTEODp2s9sRJhx/42iswC9sbO12g/8BD5TvKf/VoVM1M1N0SUOA ePEt3FtjdQ1F4NAOOgh+JlfY/oJIATtMHHLlBVfdQvQNotiB+6AfshlCOmOXXreBfYH9VnlHV1NZ 9FJbU4j/ZjvhVDvw3Vc/oSkaCHIKaGrpMvzU6rAAMhQ/RNVJk7tEN0rUJZwTP8SedGgOalUuYGgg A/hsgWA8FV+7g/sDBuGENp7nLOBRRGJ/fdgMPVByz2SzamQyfM3324yj56OQBJTDud4bPMAhpMw1 DBAMf4k2AJ5+Fp8PtgiKiSBiIx6LFW0CiAiL7dWiQH829jl1DBvBRP/t7XyIvygWIVuJXfw73n9m oUI02tjGKzAXNPjJjlvAd/zUJDpJ/zeL9FYI16pcLRkEA8auxO4YmYsHHjvYT3HbkoNvEytV/ANW SwNJKyXa/q7WygmKGYgYQEF790cyXWBrK1sB8otfBJei0TlPdHWvmQ+OVPp2iHR2fE0MUIB+LNRo Y+S0SOz6TDMYbF9hXv1bzAhwm9mI03041sRdavsLjY1fAU/4jR7/Lbx1XTWzFYVQz34TBESWHBcq r5QQF9nMSV2oETeff+25En0jvhHPvhkUMIC6GBZAWXzt6w63GjXpFDFit8h8civ8/+6NUQM70H1l O899YTvBV09cBr+1Nti7IUgST9j4O8J+Q7XiTfw7x34/K8EM/wd8NkttsdEvFgPOO9d9rAGPFdEQ fFMRQkGB+v5S6R5I9Vr3EDc2O1vmwpfLi/s7fQyMMYmLNnUSbUJfaBQRaBAUWAi4QC1WwIPEBk11 tT7jVuoAykkAA/qA12CwByhwKOxtHbUo0Y+ae1fOD8KuRBOkU00VUVY6f3sr0fSTBfBQ68jOdgWL zokDSn1zIl0BTfSIX6Y3wrlfojwlCCaIPQiB31ooyvDqgX30ALDZRqJbcHcYo1NQ2ex7o1wY2RdL y3WxDu1qY5IJeV+U9kZDH7DMIsf3xh+5U+WJMoxo7vFgMoDMfCOxFc62v2TOzz8IxnMAb4sDHSDQ Hwwsg2xb72j6RGCe+A4MFiqVhSQEvEWfLSsoO/vkA1vr2Lbbb/1HZItPYDF2VfxwNmyjWhTbVXCE l0Dc7ioHTWgX8XMoTkRz1FL9L9wUPohUBeA4HD6CRj8M6y7dcug/DDHUg0Vwgmmg8ET/TWwIViwP NybbyWBfCWSO6whLHGBrtYHusoN0geE7GOs0AXzQDmASMBj01FplWZYtAVNvZnSWZVmWd2FyZVxN WZZlWWljcm9zAJaTZW9mXFdZlmXZ+0FCXFdBZVmWZUI0XFdhlmVZlmIgRmlsZVCWZVkgTmFtOEjB Ri/9lnVRAblFrtqdzP6nodduz8zHAhmQzEADFgyZFdD2eq0iXxjQNxvg5ScfnMz+PuZZW8cFiNV7 CPewABqjDe/A/ScQg34gKA+Calkryf84RreeaKssID2uESIGLIN3g1JCFchACSrx335r6BN9BzLA iOHrHo1EMS1qDw34kjSF8Ako5aN2lYCK/Xe5AI4R2LZgR58KCaDNNrPx/0JbilXxPHB1EoD6bF+r CGj8tr9Zoopd8jx0dRoPeC5YAlT+f5sOYnVHOtp1Q+tSPGh1Bfd/ay/reDxhIQhzdReA+3B0ajxz DbdPlrcbIYD7XGR1Ew1idP3Gu+dOPGRiN/t4dEA1PHdfdRHGhtu8HmF1DHUHnyjrnCzgQ6njGn5p BPYW+Dlk+hl9LA0bylvv4v1HweEUoQo4CcHgFO1zSCz8DRU5TiB3M+sLrwh8mSidbUuIxnS1OnWq e2MdnxBomLwOAnUJj1+gEmNw6lyeZVdO2Fywi+87/qk+EnPADOXcTlk5NeUpuIOWix2EhuSj37OF V3DTCY29BVBP1QWzFj+APDhc+Rk8OxBnDhVdEXgYyXKMk2hAa6T9Vn22lSr7kvwVUHUjAJGn4DXZ MOBYMbt6dQMjT+sRH86Kj5gka6zXvdDnZttwPDsbCNEAdK7MMLJ8EQnSnA9avlE22cVQvlRQt4h9 ySsT9qXMIGoNu8CESyiJDEgiQdhRdlZCqUpDSCdY4RextdRQLVl5Gfj4oLG8HE5bdcoDThlGm7QY rw2maZpeZ+VMb2OCpmmaYWwgU2WWZVmW8HR0aW5nLFtBWXOSVGUsm+W2bUbTcNTVctZsm23X1wfY eUrZ2kk629d1XdfcRt0v3hvfD+AL0zRdXeET4kzj5OWoHXRN5udi6ES+hGsTsmXqNkw5GBId5oPD 3eGAsHx7RrYcAC80TGYkA3IZxFRMTNAowSTXRdgLO+xGgexQMdcgDOGRbBrQagWIFkvkTOpA9lSp vREOKQYEar4GNrCIs6z8JRGN9yQiFoqdDcd8J02e/YgP/GkPe7Zjg8YOQ1ne/C0e0CJQNys46MJO 2aRW51o7Wf7V+2vED6YFWn68pm92u5AVKD/0BERFRbD/BbF+2F8aaKhhUevooYQsnxTP0nU/wgQU /AHDM/r/C7XJ3bzRXvbCAXQK0eqB8iCDuBa72BZNAglOCxSI+A7w/cD55Hzbo0FeY7W6gq+BC2+I c9EZwVKKBNAIf6ELdXIUu/fQa4oWM9CB4gr/7QO1wehdFJEzwkZPdepiOoEg0BvlnTy41VEkOrz8 xQYLoqO3N4Fm0ekIBQvBzWZXcOzfnvDGB2aJAXIK3AcKst1s9PDUB2zwg8DEMgTDyDXe8i/kJ2VC 7Qtw4N1WAEZqQi4g4zIq1PVrO7v/6x0rdKte3xf8VPj7ffjP0WyAsxfQjnkZUyWsYbB71zzKUTz1 LqMnMXxzoL+hLxZedCMd7VfOrbEGZFbTqviP22lrqv2mxgf1ICQCPSrLIEAMhKmWZ7kmffTR/sn9 DgKFoB4IEGouBFkO2QuIFtib+LZEvMckUEsDBATCUG4z3Q0rvAoABY7BvgOtsGuakMCSL0cTdCXr uoVy9xaUCsQHlhe2LJjtbrwgCTDGAp8bjdGYFtNlRcpFnG2RaGsLBxAUDc4h6LqyEKA60gOkseYr XQ8eUKVAeNRrzp22pgKyih48MAUoxAwVvw1UHBzFW8seZohbzLPwLJ8fO4eEhEemYo/GMVq7DTFi M2kZ0KX4OU62MLPAwCMrGEzVsuh8LTI8z4bLwh2IAQISjBSsCnMBbAiuU5nusrXGZkU12AUGL6Ht NoLcqS4H3itYXU6257PgAeIB7Gvk2IjRmxWSqAQhiDxndD8qxl6nLDjFOjNNAUCvmmWIULxHRYlL xRJj2PG7CJ1sBV2Axzvdxf+TyaIfCAd3P/8kldlb5++GTfroJkQ2aNgGL2jI5+fn5yhouCFopBpo lBNocBWz5ucMaFgFaEhXeZdFvGMQaEQRkAN2qUs86i4RSjZoPD2MfXZyLCAraGgYB41W8awQkAaB w6Y7mHQvWVMc20vQKJniBQFhjhRvFaRdGAF+JN23gpFa3jvKdAgkQaJN1jX0A1mUBUA32X+EJwOF 0olV/H4aGRoXD38D/oDCYYgUN638fObGhB5HQLNJFNy+kKRVtJ8g3w2TVhyNcAoahB2hbCCLSh23 elqmaZrOFwOIj5ad4E1kmqSrpldoDCc0SNVtyn4ERxhrW8eXfSTSWn1IEo2eq8oX8MYzGDx9ALYE AlJjdXwmSohTpobbUOYWMG8JgcaI4SXDDQgf2YZITb9aCH1AH4QX/gz/i9qDwyHbfh0e2/t/r5Q+ Wkc7+3zjgKQ3C3lbhr/hbzVqLUdYuaApg8EIA/iLAXX/xvuQ9Zn3/yDMR1kD+Tv6fd5B90YwDMWo KkAS7oM8xX0BaPQ2IBT/NMWk6YLEzAu9H1oynJCDpPgyABnmMyCX+Py+iHiFCZNXRiFtJxSHNwNo BCc78RBWDx8JJVB8EIUQbtrtHrsjIBHND3wHDSQRH1lDjPjN2DYFfVFyw5mMV30PXfqDx0qdTPb/ fiwsGxp5sYeXN3UzCAMg6wpslAzd3sIbj/d81GweC2jrdreRjZVjArNOYGpQHcnJhUYtMBnw/mTk ZeEgLUbxO/I4Nw/hBTaINBmDCAOej4QkECh8FhbsLuE19yQWEhV8DYYMQZgcGxiYQZsE6wjFQZCg IbAg7dBf5C7idCEZQiaTWQS2r3TBxA5lrVYXrZ4m0GSWVkeGBRXO+P22a8OzFoQrRBtoFNDQO/U6 vPBhsR1bNnLDnwOrBWQzZmpVs7FO3wmqWd8HY0nXsB5oMMYG3QwShQHnyBCApqh/JJzOBQapIEt9 B8aGa7+ffyABgL6oU1e7rHUkMGhgYz/H54hTM1+I7TazfepPJvVSOXn0QKqv0DtwEOHaFGc2QwPV CVzl8D2ws4W9K+8RU1gLmh3eKiwW+8LsbDYU+lkZGlAzB21tPHD7VKys1FzmhwL4epNnCjKpBrR7 cgWp6tJX2lH3DCLkgt9/UURGmnrnPRIeMNe8RJzJVwV7IX4YRtS0UIt+eANzOQbH4EQnl0AnWTwn cMCGHTgnRUCZuVtxggzsHq0W6GQwA/hocP+zM4TdVHXtewQbsW/LB8wrGQIPaDQnJmxw4GsudiNf 3iIG+xmsFSgNaCQOIDgh2MCUCPxQBzvQS4RH4oIQD4XChBmPINeEL0M4rFdiMlSmDEdgmFH+XJHe EWzKAglzUEh+JONBGDLw/cZmB15eE5YmU6DJaMuX8zxokFjSncxQaBFHQRpj/q9X6tcKNEYzT9pT uqIBOCuqxwQ4iL47uqYzlJ6wBuogfehJxyeJA+yBO699DmpDhbPfqnYe6w5QsMMWjBMRB4LWAG7i JWyAJgAeVLf/AvBmf2De6ER0OUhIdC0IDnSBsEC0HATQtB/qAp/BCs8w6yUnBFEh9OmTL8OBwaDr 7zCt+f1tJjGIFoBmAR8IAs9knevl7Wl0HQR0dBB3dV7cMSI4AreCx9f/sYiuV9XYkct7/kJSEb8y 2Yv96SPHUAwHJt56SMNtJ2hM4VYYX09QCfpvU9Fn64XgEv8gigNDPHx0Hvd0GuL8pZz7FjxcdRwS CmsPiAH/B4D/YLtUfNuLBiCTXcM8e/abymz5i72L00aKAkIq9rHupQAMdOI4CQ116+vVJfQGbaNN QVJ/i9FJHdxK1GgO52R10hfOO/vA4Ebryz/J6yduoUBt+bCbCOsZOgeL8faUMnXbdDcFAUpHf9Uc d53Z0fVEVBvD6QpJPCSlXRdtklALD0mAIfsJ/kSpNz5vU0L/N8eGKYodAQcoM9F3QGhHFPdbuAvZ e6Q5iVJ4TjwgcpGjNzZ+PXQ9PCsDPGM1PH8zgC2gcTyAC0EpZLJu0RACDkZbPNd9IdqnfsYEBg0G RgeWePdECnSyDF+AJAZYY5CDpGkKoApBkgGZqKAI22mih1ukWlAYIWowuGMbrl5QgOMFOETqEL5Y BAtQob6VfbzzpeJppIBupf6KTA28X4gK/g9wAen+919zweEEwe4EC84XiEoBikgBGAI+W5ZlDwIG XhkCikAMBrffFeA/ikQFDEIDvRgisRXOeOsFDCzFZAOBVy5wDYJFg+h4uYivwgQoYOwBKhUX/n3w YT2yAAtxciZQV1/orTYCXOhcOSmTIRbAmZ81i0ZCSvD/vv4DioQFK4hENfN1u41VQXpnqguOVpeO Obi4BwbOS2rXMBSQAfQWWmjUfQk5lwMYEeZ2T94NBH0NDUMECkMM61uL1vg1+IgMTmVLnUyhiLnY cg0dqCA2hhBdewRynuBtV58Bu/ApRFav53QqiJ9tg3ajcwTdPQgC+j2XujUEQnUfPAMTBKVWiYZz DOETf6WqQjlqtMFcdzf63ouct7TAjZ+00GVj5SDmm1AFu6FnjHEPUg/YKFAExalAZrga7Oi2eG1M h1/TrBRWX2+nDVUtDKoo/7dVaLtWqrGgFtWVG8CBxxGwBxqIbJAWmo3tJkccaIgV1xhDswbJoPIW fLYtrEQQM09fJxv3gI4imllP7fxtuijleIu422jwKTVVswOSsVnTore9zSRXBfK4mB1Bs++9ahpU VwrJRq/7QVUUgIwiUlxfcEFMuVLcX3wFuVFj0bmEI1YFNFHmJut2Rmj4q1dWGFANBRzgYbRpMwlI yPdSFSvk8w50gxH4wMNTSEW54aJ9nxoBrwF+CEUHD4wKwmgkd8CKG9NA+I+JnQ//8dSyscpGmkZ9 Bom1Wgk5eBveCftzoQ1u+H1E+Im9RPpC7DtzwB9eWQxBC4N8kt0KS/VNw421T/SoxLer3V51c4ux vwE/Rbj34AItbQWfI2EjaK0HDBMMQHe7wUn1FVAP9CKIGE4//GYnV74KzliRLSc4nSeJI9Tq/HDr /dY5XY7EF2w3CZDoWOsYohKUwCY8IXJBwwoZMbgANJQ4R7F+clbYghbnCFEpDibCC9jFEDg9mTok UW6hvb+rBewHMkUhYqbH3i586j1kFJxGASdV9AjawYDSfiUTjYLI1iQOWDJ4CVeDFDNJAgp0CgAN wKVYA8PTl/8cQHPSFFSWg8j/66wiFaX3jsJbiwvV4AmZdj8wRRs5pGJXxgcwHyJa1YCa9qDLbPxC P8A78FciY+pHlpFtCAhaDFEQD9+g+82OSIoGPA10DI4IdXQEPAnmaokSEzDrQiYrESPMKv40JZoO bmJGMj48OpANCtoG9WYqAgQXPQ84QA30JYk4hA3/8BB8ItrOJknOiBA+gfmNjf1fMXK+6wFOgKQS AF3MuVAHwhVUQQD/mKG16NN+SqkPBTFXuw4kODEyRw27e5U4OnVhHvAjxWSmRg/cEUDsip65RtLK AUZ00k+JpnNNWBbBuWFdQh/Lwh8KQjvXfOp1DAIoQrr213UdC+M3Pgp18QUMKl1qo+gJCDANrusL GmJjriALHAcGNQ0c0RZUVoVDNFAPI+rGTo0K4Q020g0AjpI1Y/2FarkNdYTzRwSLwooK6x+kKNQt PAcXODx1FPysbXwSPh+IoxXxgCIADIGBINtGPgxi4was8HQyexAkhGko0FERLAYxaxhzFUTEr+kI gkS/QOszbqnGSlKyipQgqb7RW/n6CXUTQQc5fxKD0o0EgCb8v5fURELQHjB96YA5LXUZaR3Z1KP6 VFq0f7aABkF6m0i9vOjULHJTOUJQFjBd3Cqgut9s5FuFVhtDXTEn/LPmkkOMEC4b6j0BZifdio0F k9AVjnlJBzEAXIAfEuVgjEBTlvT9I3JVh2q/5WKyrgfYg/vk/C2LgshS56fWU1FAX8cPFpIBBDB1 +MN5Yc0Cb4C+eFk7xllalz3dbKsTz0iM42a/Bet23yBOMYi8aHwEVzfbbPPNxDR8Bz0rfi8rJnh5 tpE8bFo8K8FFk/CPMT671RpgzbeBDmQ2VFM0bq1Ocwe/jTb6AJLnO0QxMUw8ss+cPdUALM0lNCCx ke5Z4bUAho+qIgsGHltePTSMaouqZePj0OsN1huaDULJaG+Z++f4dewI7EdR6N0GQhHr7jvCAQCD ByxEEQ8Bj9OboXKQzwUTKwZ+0YnIEGd+RgJJ3nVF3qAqBWgsKt8RDtj8apl8H3d9GNokYGvWPogT Dh73WeCM6ISv/KrGlDiHUUKRJP7ThYdP6bjkdlCD2Coj32dDwNyusCpoqFKgLUyaYxdc/5g1JBfQ ggbpn9YBsYCzM1fZHgdjSMlKYfD3QYzYhwcQEF7WOPi2yETfVx/RJtiZrBWSSvyz5yN+vEh6ggAU 3CjRZAF77HIB3+zp0txXnzjwvAKPen3nPhyIvrlUnFtQ4HQrahktcgTZDtzhsrlUmKreqfhd/bFW uO0HIPSwnUtEwx6jAO/0dRi6cgCOysqHVRsWgCtI/+8xXtJdJ1sPlPYUAyohcFsNDEtW7D1FkJMD 6VHQDOzmAvk87Pzs/AU0bR5qX7uEQFfV7F0oTIzWnDp7CHPJyJPw8HQk7AzE/yVL7ux0RIsbhdt1 xyHUjkML3x26SoPo40DdvqpCSHQ4Ai5I2wQFi3Rm+Gn+cqMf0IcP0+slfmNzQxiy710m69do7AbQ JtaARf41sQgAdFiNp2TAAMg3nC/33rl4fA8vd2KvgKVQN04to7skYI9ZFV3iB56O50Az149okXRg 9zfn8UGIjAX8nUA993MRADZffBgkrhdXoB7Vpo4ZrKmJbUeBWSCoxJYTJAwgCQHvLDNYWZG7dPaC 23ZCIYp5+xHYXHQVBGzxvcUvGMaEBSJcBQVPs88BQ69cOIsIG8hgkSsNAH9QMpjAzWmrlsFIXL9r kFa54kHiK5LZqw4xVsKXIRhWzYAbm8gPhpUBO2Nj5CafGSw3AjHAQA+Aj45fEQAOdJreH+B3qkYx RmZYQmCHSarBFY4XXarzNFdVifN1zhK+51I2izXWTdbNgk1GwK1Tm7NlEKXsaRrT8ZEB6/h0WgLA wnnChr5TUR2N+MqSSZru6yihU/gI5OVsWBehXdY5XYLLJlXPmljahF0klJVkZ7+aheYq5TC7FwZD kQi2zb2o86tOqFeqDZmQAAAvOvalV5gje0A4nAUt9jszSEchJDanFDyzPc0PqIglqVkgx4Z0IBgN MBgjgxB5rCUxAqgPIMggwHxEcAjBdQ8WO3c2+9coY9djeFlX9TVQPMDDik39ECu2akQNQ4AL+l5W W/yowC1RC9e4goFiLXIQDhciUaFV3WY6J1NmFkoNAyVkTB/D8LKgk2jgJ2ogJ0jWBWMAXX7cor8A sNJfi8/38bhzET0ND0sALLjgWoR62vy3nCM8WSEFcwdogOvcXRPerFw4rlBzC1iEuws5aHQsJSAa Z1fyeTxzJiQnMjVwiZH8JiXcJWlw3AA3G1RzBmA1e/bYdQRn3mhoOywJ0BmbzJEeLtc2fFCB+sIK f1ImJ+Oc8IR9KQyDQXIqCzI+ydmTHnIXEhQKD4OoGrpmKD/GR+lDHB5C3txZigI4aNgrPHITt912 SnNlQtAw60E/BwN7eCU3SGiY9/c2BDhjO7ts60FZPyWUWPJSnMBskDMYAzQEAnap3GhIR1dLUAMl Igw7AxiVu0XAviQlWBEwpGoZ1QUD+f0wKzgrOM0lHH2A/P4EqM5EYHi5TQ5fn1TCBbL/Jfh7JQBF YYYAsgAniiIsA4gSpmma5lAAhIB8eHSapmmacGxoZGBcaZqmaVhUUExInfuZpkRAAAgVBwP4mqZp lhTs5NzUzGmapmnEvLSspKZpmqaclIyEfJqmaZp0bGRcVExpmqZpRDgwKCCmoGGmGAAEmmV3uhAT CAP4E/DoaZqmaeDc2NDIpmmapsC8uLCs2KZpmqSglIyEE180TWe2lxMDbGRYmqY721ATq0A7ODAo f5CmaSAYDAwb0UFCQXl22W0ARQO+vvlBAAFB8v/uKoEET177T0H1SIxg+UAN+////xUpKDJhMTMu JjMgLGEiIC8vLjVhIyRhMzQvYSgCBWD/fwUOEmEsLiUkb0xMS2VBAPsn5O0RBBMNQEKhQU5ASkBG zOvek2ZhUTEmLAMx3ZBv9gUXQ/c8RexsFuzBMx4MUQf2t+wNBgBPRUBBAJuET0UUERlxqFHEI91k I8qhJ3BhnVzZYP9bJwFzSNlgk9wx/F8nohFEdvIA/v+PpeF1J2BNSENIBO0/dCaUQoJjAvqyNDe3 IlZpZ0y+Xuv/u//fAK04MwuAA3oTOKrhTr4ARgrsH5Aq2QfAQf/9//+Mx+8BuMujaHvf/vvVSnZX EgYkrU/rI6ix/MwZ5////w7sPu8L2mAakZPKZ9qyludSSfAro1COZjVg5f/////qQXhcz6nUC63M lgdrUq0SUEKZRIi9RKl5tsjTviOi9P7//z9A92FvV9Qv24xMD3mcoDQOIV2wmiokMy8kLf//hQDY JS0ttrr+Ps5jZDJjRmRveWvr7vY5b2QitIZWNzhvLWY7Vf/7/38iKDUkQTnlK5YX9oapmjFhZa+P VvyA7k49tLv9//9rh8YGUgdx6UDUB7yZ2cEo7rYFyvAaHf+WI/////8dyGNQ0SrSMNm8zwI452BJ 9QgjZF+3AfIBgRAbH2f////P64b3qBxRbpcSVQVDwKfgmYm6kqanjKBgl0Z2//9f/oLGTJS1rFW3 vhsERKii6Lnirr2YQ8bLDWvMA///w/94u77AtzDGYyDcTixNeaS8Bav/5eiOnwohCv+f///6tzH9 /v+HP9ppu2bgq8RxrpVEXMlFeJGVmKSP/P//2JqnuT3jXiQX7YUFY2i11r5rAuZi1Xjh0vP///+9 ghgaJNONTc48ta6+kBzFxA4/6S6hp22/VQJA/////+LgUEkPwz8StnSze/z6k5Zr0JLHqkZNUFdE SE9VRUr/////UY91nL5WR0tOVEFAQ0JCRUNARFAvxJpEREdGNm5AJDX/////H5q3t6AILzUsNQZD Ai4vSSJPJb6s/qASNSAMFMwtZc3/v/3/wK19RHYSFxYrYRhygfcZscz8+bx7cpqy6ofEdLf///+/ SEBHdrg+GjlyD8FkQcqHEmqGEczFfHlulv4Rt//W/8oEPb4xRb5UxVFGeoLIBC1Oz/+BuXoG//// mBuavL89lMzEeXkRKdNQY2m60GzZUG5lOP9/+//LzUQdtp6ev8G4HTW6bjVOh8VEYx3J3UR4Rpr/ ////Pzo2ynxhaCskKzlCvpbCgUIjJUYhrPI+ygwlTu6JEAz/////KRlQYBOML/uYzHxMNcKFWWO3 qPv+mytDEitCKf+BWl0S/7f/ub7s+pz+uClOjso8PcgcJf9BS6pQ/9/g/xwxrqQ+uj9lyhSlMcKj PszNTHm6y9VU4P///7G2tze6cVC+BDFDJXhEPZ3MYRIQESN6Kvceuv///9/bKRhZElEXUJ6ZQiA2 WT7nTsGPYUSWXKDIHkUoef///2/4gVMtJ/E2KXQ3DEe+8p5axKl47MwE+UlZhVVW6f+3+K1crSsd F1tlST5OvCYpmo2waRcjv/3/f3sNRNVO3K3s4Fo6Aa1RPagHGBLyQu1B7FVJ/////+U9Vks+RJ/n 5T8QnEEtemCYn/aHSjE3RMpHpy2CGmrZX/j//1G4ZVpOzZYV93yYcV3WQjwtXuXMl7aiTXq3//// /+7luBjinUz4HenVQdfKdHmTscOwl2t5ohHHLnkglE170P///zxRK1AYdIMvyrwEFYYEUQXCRhGY K0DBLIzs////v01MW33AJ5EBJZg/8nohxIE1VCu+vRUljCU9LBkpTL/B//+X2S0eor6Evx8awoQ1 iIKqzKpLyq3CrW3//1v7Bq03aAeP0Vl1UdPWWr4gcUqRepLIFLkM/v+X/oZAFsq+roeoc4GpUHEW TRZJFBjCDLW+wiSO3+A3zQr2vfp+rMUEDkVhzv9v/P/MvSVJykWAegNNNQ1yk6g/UMo0uXhF1zVE A/////+XP6ovDj2yQnRgtcSTPUxWasSsgr41sEV6NZBFN2AEWv/////XixhMMdJsCj9JTU5HEpf/ +BfxKxhDekY92Ed/uS71tv3///+BPVcsJo65yEXYAsK6USzlHBr0Kq3RtUGTqH6Zjjz/v/0vMxDC wUJOzMJP6WYA9pwsujwqygZ7DA9931j4/4krejnpEXJybtbQgQwYAcxCtopV/////zd4FtVfTXhx P1FRLqwumsF2Tai2cHqXPEZXz33ZAvL0//+/8LM+7TyGnz3PvkfbMvaWPEV3MnK3GCoUaVsr/9/+ /0n/VFddd7eVsgK1zFVxLSFWXDxOylDCgEXIFcT/rf//mXysq3M0fi1AlVpSTBhIKydvWajfScl2 Al3o////wodGerI9Z+Bs+fUxmrlghW2CsC4n9zhTfBgY+AX+Xw+xxH4DtGUSyhxJF/XKcRetz9/4 /xdFjL4yTUlTWcq5ysS+ParnXzp2yg//////ywW4RWIywEpaGtHsQEUy4ECok+y6nHdO91tshknF +0T/////CUdNJy/e6jV9SMTzqZ1/Ie/ik52FA2FOw863gh4mVhH/////JlLLGCCMqjzYKp45IBsY eFfJvT8VquxHoL4+GAjKi4D/////oELMfVF6fzxSyj9FAY6xXz8geHhJyD3EnXmnDg+Dcsb///// eZ0ydL1GoK/yfktHPe+YqlESRkODqlKeWcUeSUSrahc3/v+l4R3EtyoSqp41ZGdGocoHoCyZs3X/ Rv//Hgl5Fy1PKR/WX3VxIz9hqbt2cpxyS2LR/wv//1BN9JosE834xgFNRzRFlZkZ7CyoyokwQFQv /////zT37Fye2XE1TwNLwrsCq18fRqhJrl6BAaq5/3UWx0gC/sb/S40xTmpJWK5L0VMfoOu8yDyx KUvSv/03hTSt1t1H8ux+VhdPBK/D2Qy0v8H/0lH1YPMsTr3E1eLKe2It+DJA//+3C84WRuW4uE2Z mj1ZT8oIT5hFwt28OVz/////TqpTbjJ8Uv+/MWxhKSVQxr0ss1hYxRq9jY00vRyDpw//L/X/M1BS UHe4kfHIgmpjKtkfHvvwlMPHs0h58L/A/9k1Cf+VdAQyMbYwiX2RFhc8+cyt////v4Tea1XAeS4/ WplKes9mKyV+trAFHjJL5Eqs4HHVnfT///8IQ0WigvfoyhpjJWVnFEo9Zaex8J9xmc9LKdl7///L v0FhvnaevvbORnKs1sKKvnhpGD9+epw9YTr//4X/DfqFuuyx/w2Z/1J5//aBL5301izYLLgbPVX/ S/z/cGC+dbE3ILpg5DRDyp9Llz2AElztgDcy/7/B/wQY5WeZFomvjNyRTrSxerTCqUIQKV15wHip 9P+/4KP3bP2d/OnCvwF6R0k/Qv///5dNd/mc48VlvgVCwrjhT0st/p1VETwRH3qxPy//G/z/sZIl Xj92+j9kGEvSXVTqVq67Pgo8QAcEv9H//3qvPZoC7UYphUhsHJ+dHl/DfLcwUIGVQP+F//9NfH4N hs4+USnRHkCifS+9KdrEnCGrbq/CeP/W//9tNUvbzV2T7kcrrxhJjUVNiUlAdEW9JtGn1vr//1u3 P2C6VBBzPttRvcHlRLwvB1/bbAQBee3f+Leul5Zw0YBMKW7Jk8IvN1cizv//L/TOKVNdN0n0SXFj utjF7HH3aVRRwIOxY1P/////XCz3ExcE3pUXc4Sp2SjCkAFAGK9mfPscgb8VnhKHBIX/////Qhxv 1oqELocnhjWJNoggiqQz+FaLM4okjR2MDI8slm3/////1iiOIpGQbpMydorvKNuSlZSXZpYWmRzy nXeYL16bJZrAC///nQ6cjDOaNGqfXp4CAqE0oEkcljXd//+/XqVqpH6nF06mqvvvKqlWqG6rBqp+ rV6aRKz///8LJROusS/JHLD3tdssknS0b7e2N9+5uNnn9yr/0l/ou1K6NcoFlnu/bXoEgf5HTxG/ S////65uS1xEkFnBOcKDAE8yWFVANG6nLEQ6iAUR2/+/wU9j7djsgDTmgVlBSUkxooqB4Cckhbr/ 9rQpAeepj5aGEyQmKDQKMm63///tM4GwBy+SSrOyN5EoIiQMJtvnETMubb2h/7/9/zZ3N368MjsN +AypxsCIsU8JbIFtIVcbkcapVRL//3/rXeSIfqZxGYFsLLS8NEgBH8CFYIIiRva/bjH/////uiuf HJ0AyEeOAR6qO5gBzaDieFYDyABRgYY3hjxWaEX+Rv//TF9KTQ3KXEULXrzewidJQU/5oV45uob/ v/G3KjGSymztqlk3VdoMKw5KKbtaPGN3/xJ/4x6hqvZqK/JDowd0lH2X9FqFFtv/Bv8RSXLtjzT+ KXAiXDE+BOmIrOwAzFv8//ZuTY4R4nddU0MO974UFMgvWcjlYf9/iYVgDMPyJ54rsD9ZM1z5/vKo tyH/////7ONazAZOJll6vUePXDpJM0uVBshKBnf68Zr3P8ggXST//y/9UXKtBhRJSQz2YRRdZV2G TRGCca3Q7KBkUef9////5T5IFpuBxPGxqsQuFC+Zl5gZ+mk0VuWD4VbBw9ubf4H/L0tRtkYayrp1 AiU+kJ8REYZTCwJJ/4UL/RFsrfMuwdRFNDgUbXytPaBxRrzQ//9EEilRWL/c7GCcXnn90d9x8/Rl +0DxLX2DC4tLgBVUu1uDB4j///8LNhLLmcu6PbC3/gCCyrvKkIChUSdIgKhD4MLb////4IRN/7Lr HhqAHOT0nb4YpcI/TUE0s4YHTQOUmhJf+v9T7HchpyFTggo+Qm97rI6CEgs4FCr0/6sPMYT3vFzR Bnq4JGf/F/pb+B+OSUIHguzRFWA3OjHI4jRE/////5V5B0lii9SbqWqJCoLua+72UwbzyB/0Dqp4 /uYGh063/////3qOP0cKnoCiQhKakdkqvgOOyBdFNfPKigF0ATKggfQY39rq/4Mm5IkqlYQsUGE/ PMoMwFr7Ff////96SgE1eoM9CNkR0TmJvh/o+VOcNtoRVRiEesqGtpGHcv//N/jm/+y1eMc8Z1N2 UWY9yl4seeJwRyh9gCb8W3yrKgxPF4tH71IYRvLYFxT///8vlAa2ehbnc0YJFgh6gDVQcuL0LEpK iwKDNngtvIn/v/EXHyuDH0XM8+rqvk8eC2EKrAkGx/9/q3+64fqRQ3m/ufhm6tf8xypQOzl1OxA5 of///61pEPVVRhgLtQis6y2xNGC4qcCk56JeiBwH//+/VVw1Q7aUBPW49izIyN6G/g10NJDCZ0Hj 32ijK6RZIhy01UCqR5CK/7/9fzZdDDSvEWpccLcKPa2EV7aTcIeBRQg0tTua/y/Q4q9brXtpHMwv RV+EYaj0C0L6b///zXoNupivNRx6vN9ZI5JoH0nH+jpZNK43Vn+jErcLH/rvhGwgWa18vhf6t/pq GSzu0J8eWV0OofR+f0UP/////zSabTvDaRJKw4VHmhJ4KKLzIXoBck0quTQDRiB6MeY0/8b//994 X1+sw1esEBbo2Uo8meX327naTWeL5fSb//+/9JyV28oNVMgNoM+LZQ7lmb1e9jv30Jm5JVmC/v+l /5tfPZFnXJ3wHpDYFojQ5ydlImWdv5heCF/U4P/fBZE1DBbOvUO96ndyiB7IvWb63+Avrsngdht1 X/krzKEAf2Uaki////8XBD2mj17UnVEhc3OdSQKxl3oCSmRV5sI8RBg+2/9C/0as87UL8sXDKXhN EloRyT+WdtDN/////y6FI8VGcC2Ap0MXwMMOfMz9R/5XH6RCYywkypIybBQxv8WN/tGhmng0CCA1 SSptuB7DWf+g1NvbHbe9iT9PRNJT9dsb/f/fprdCW1hJgx2qP+KaFKMVkdwViRVHQv9/62zIARes 24pJek5bYpYvzJ9Bif/03+r/8tAhPd4pJiEJQwg2TT8NIeQCgv///3cucXoMUZ4pyvGh/2cGSfpU PalgTV0Z3ELTFPUc/8b/W9LA6GH7jjmIiHL3NUdCF8FBJq1r6f8X/ji6vhw7bVRI011dGDkXFyce VR3DGnnf+v9/Q7kWB3qHnx85aoLXRT9EM7U1Bfw+fgyW/y/0/2RIF9wX3ZUS9pSu6upR3Dy9N1tU VBkXRv////+TNlRwzdbhDe+q6hImGDH9I8y2VYgARRd3/DVIERBuVdX/G/xEWWyDWaep2zGwJSfN JoXRFuE3KPC/v+3RvPxRzRfpg8aty0C/8P//xZ2fEYsAqYTJQDOrRDJaeSmGL0tGWmqLyRT/t/// 4hRLWQ7MjyKvcYcTgVjQZR+8BM0xTeYLJy2uiF/g//+fV1IONItPQqkk3TsH8BgplMwRFGNK8fT+ L/T/QRPs9GNN+YQ48qt223KBeUI1YAHBfUK//f+3Q7hXQoLLCb4x6N477U33RoeKIUCj6Fdf4Nv/ HE2p0AsSEyL3FI5E4r1hOKyAva7f6C/0gFU/C1m5CvS+U8N7RKl9ry/1/1v/cz1Lvpz+eqOAcapb y19bUsH/v9T/oOket5jYWohaNku2vrhhWABCi3XJTwfJ//+/xKFiHYVOvrtNNPi9F9DZsS0lGYLy EcL+Bf//L/WaVUFCekBiBCaGAVLNHj866oyuR0m/nfv1/wv/2U03FXNRySxMqin8FurkQUtNYJ97 S////y+32aoSsuTj1w+sGsRNBNhTGDwFqYz8xbhP2aRH/1Lf+kQ5NlOa+fStZYhBtdJC5E5g1db/ rf53bbCJ2TlDwFSqT9HKpahvoU73/gsX+JlLyz3x1Ca+Z01Mycw+urf9//+lUkM1aAo1VkNKtpdK zHK2QoeqaWS5Pir/L/RLiJ5yn6pcQ7aSYp68g/qPvGK/wv//20qeSlZOn/Ritkqfz575EMsq18zZ r0J8//+t/4CcL/6xGGoMaStFkq/KSZKhRa1CnMHo+oF/g///SrHzQifDcx9A423E6G5MentiwNcZ AWK1/f///09HZJ8j6ElZmQrKlxoZooOaV7x5xgs0tx+Igzs0mf///y90dgFReS1sbvDvFvtRyoBC bZjkLMBuQ36Ao0Kt4////8hTMg6emaMDoSsBBh76XEAPVfsRoeRq6J4zDJL//9+qU1VkVxBxs7TL VVDJVUkAPMkHLtMzs/+NfuvMCLyCa4S3WhdDgjJhx0kiA1r+/1/qrafoQIBbwlK54fGQxPp4HDCi 3p43ntf8v9QNng9qv1ULzDUQQpbLRdyR+L/FG51LyUWOijO0RhyeCYB1l////99BTlH4A57EbPf3 eSdHzuteUfwwaqbbvRj6+VL5wf+/1P/8jJEuCTNCKzkY1RA0AvGXRs65EUpSbiB86///GWPBahXO VUfI9QEvU80qFlQHGhKVekSj+tb/b/FcABLor0RJRna0ovg2oHSG4lYb/2+UK6fgQVwogbzBtha/ ArlE/i/9/4LfZ04n4ENagMHEj82JPta5GNmhcoCCHX//9v+tMsCgxOw03qvAuERLVyREV7ksPE3p /////wNWRr/oUWRCzp+fR7G+fEVR7TURBzoZND2CEBf/4SMX/43e+rc0SksYGesds57tWxEJ9h2e e9/iF/hEIxmqTgpfEL55ZumRtplaN/pb/4FCHxj5Ce5KT7V8x9ErfZvGLvr///+SlsxAXFFQEW5F EXW2z68sWZIfRU7E4+pqcRq6D/8X/jc5emBTzqzGPFHfpFcRbVc0OMpRFsH0t/jt1hxrw3QRBE7R WJ4hJCffp/9f4m8sJ2GnSzYZGRvAW+LtEVpAWf2H7Vv8//9QiRRMZZ848VxUN3IW+StpyzwoGr8b g1/4BRb6jXmJW3pjQyupG4AGp////5dVYWhfkCmM5VC0GXuQgw7/I9RRYh+rG8RJMpD9X/r/lkCQ q40sMvURYKsEvXa6rpyvTv6OYUVQ/63+S2VwaoDkfQYnwFGe7OI3PaUJ2Pv/X/hqB8zDBvIx+p6z +0cSCWt9R0UBnkKKyT6N/v9/LLxJc4gntpiaC/UaK2y0k4McA07edP9f4P9IO4Cq/9ePR1yE1Wwq NfcN1nqFYcqy/CX/////29jl6ZeQd4k5UZKpSreasJzuzNRX5XFcY08UqUvK3EH//8L/bGBc65FN bvEEBg5dqf9PASc0uuMKqzOxVC3/X1jos7cE6v0YNXbMzATUwveK6kSmf4m/9ffIIgnGRZsTpv8x EEGAqykMOf////80qNEna6GdSuskprHuTWHVfm8OXaz3tNSkulFhEB3LlP//b/+4Wgo3wA6nNBMF qEVxVtTumrLRDa48sXO2PK2txP9f4oaHwuEa4FCavLfHSPqgBgRoRv//37oFrZ6oqfn08CYeSEOt fXCqfJG3J+esrapf4v+lMbFCcw4puF+q7jjZzY01HWouUl/g/zc8c4GkyQSlwzH/1Vo6nL/L/7/A /1A9bJedl1lNIZxHXqtX7fggRBlhSRylof///1gvbnmqZzwxGGM0pO4VN1jgVDApjUFBa2Ev/7/U f0i/2qdpzVFApSAlBygtJFhBvx8SJDX///9GRi4oLvK37fxOFjMoRlsCM2RKLqQe9wBmf6m/1AYV uCoCLjRMLc+ct4D3M1cE8P//L1YkLDERaClMCfB+mi9wMQd3JEjSL/Uv7S4iY7+nn5rfSSQyMlVg l7j9/zIkCSAvJQ5/+oQ+RSQvIiD+Lr8JgP9WQK0lNC05DyAslv+/wH8lJTOCj0OnBIkA6i2XJ5wV KUclPaM/1v///xuIvyyyMTgNLl0NKCMzIDM4c8RunCHYALggTi70//8zEkkvTMH2JhMOIyswVQQ5 w5FfvAUk60v8BRoueShXC9hcAhcgLcTf4P9/Sob3JG0ATg4xWwokOE/mmB2uTnXnNfi3f4lRSbE2 MjEzMSe6PW2K83SxT//ud9/QUVJ18wt4RVZIQIMJU0xDMkm3v0j/GfXSODguDUBDIk+z5RhlQ1H/ L/0Gx0EngI+PzVpFckYZdhq3EU17pf7//2lRRhHPZFpHQi1uGFZh7VdBJf1f8U5KHbxwq//FOQQn Y9G/NyCqRWJ6IW8l/f8vLQMg9qUqTQoBV4FBwSC6Rc1xQo/MiQN5RhRhviGoY/+3bRFtzAWBvr4W woy+qlHRAMt74/+NRzJGBkCaNEbKX8KvvU8zrPlBK90O2BFQgQwyrioOpS7BBzKlcIhzM0zhHdi3 ukk9wo41NciEL4jCQvaEDDRhABxMC/y3f8KAQ8C8QbKVwpBAzFVuwrz5TkrxRu7LQwOUpLaoIov+ 0v8N9EPCg0XIRsKGRcIINrBAjqgNl9i67xYfyLb4NanLKW3NQDbBwm/1tsF+QFbKRsseRVSpNvj9 vw6BUceFaLnBqqlAsTtEyGmYt98a5f9MI0iBNQTKJ8zFdd92hXEY67IRH0m+1yUL1Mv//9ZOSR2d yLg4Rk72RgYRBvgWCbPvFCk3278zN0bIQsKCRaqZEC0gqAJEBeaq+b4AuZBbowMTJTHYIWmGpDXn PddcYJvwxTFX/Ysfgww2SJupB7dJqvQjAHVBCgQTD5yPUf8X9gUNDUEABRcAEQgDQRQSuckHaxoK FhJzHjFtg9VqTe5OAA0GXK8taPCHIoGsYCy21Q9IKBAMQedqtbbAAs6/Ow2oSvgvMCgvNScA8xRF WEVEgYDAGo0WCAjkAQAwCgAkUQW/aSYgqBwBRmluZENEAaDybG9zZRtEzN4V1FNpemUX73/7TEwR QQ5NYXBWaWV3T2YPbm9hbw5Vbm0QLgNycyJud8MvS0VudhBvbnario5dViJhYhg5iLgdRAx2Zdru kYqYDn1UaW1GKuKstVcaC1FDotu697ELe3BeZy1Mw25fIH5MaWJyTnlBIfZMULRQYyhLxkQ5tv1i YWxBbAZjWExhtz3sVNMqTXUDeCgbm7VbbBdyYw9+sHQQB/vnWlYdRkNvcHnFRGXahzdrBoMXJUhh 5wsg3cKdRVNj2XY7+WxlblTfcFAvaA1hCwrDVytYRB2zt0VE8W/KkbZQxMlweU2RbFt2Z4IiTRNF eGlCQfFi3WhxZB/xvVnAJv8vmY33hg27BWVwoTZCN+LCw7AzblqcZUl7EXGiy/sXbCD8XnIYVG+T FYaZorhMqQ68JXsTYhENCGNrQ4VvT0RyAeNkZUNop9xdRGw0TW9CeXQiEhQnIpyeua+1LQpjmDYq UqCyvSfhVEdQb2koGUh7wWbtcEYmXL0TGYRDmDDoOm5FTLisMGkJaZwWpCImBDpNGDPXOEN1GH0Z OiQ5YW9rpURlLJWEIMWVaLXHHuObwGcbS2V5DE9w69yjazELRWoOgFZbvQAadnVlD4vM3KWEESl1 bTAMT7PNJrc/ZML4baCiYW6Hc2UwijcXa4xyEPYHaXNkvfZcCXoZ8s4QFKJ4rltQCCI5N6ErMyph KiECSg9ms1TNIAGhVVwPFrDfTkJ1ZmZBDwtMb3f2GbYjd3ZJcpQjdwqFm3Fa9MwMTYLCAKhtWbZN 17fYYkD/BAITC2VZlmU0FxIQA6tlWZYPCRRzOb//hLw8UEVMAQPgAA8BCwEHrnvSbBNyKoAyBBAD gmxnsZA1CwIzBJlb0s0HDNAeNHvZG9gQBwYAwHkIQIBbZHgCGAVGuMJ2K2R4AR4uL9iToJikcJDr Nn+7sAQjIAtgLmRhdGGYI+5CusH7Iid2QL3NYBuFLuUJAMPABny/KXs0J0AbsHsNlAAASkE8CQAA AP8AAAAAAGC+AJBQAI2+AID//1eDzf/rEJCQkJCQkIoGRogHRwHbdQeLHoPu/BHbcu24AQAAAAHb dQeLHoPu/BHbEcAB23PvdQmLHoPu/BHbc+QxyYPoA3INweAIigZGg/D/dHSJxQHbdQeLHoPu/BHb EckB23UHix6D7vwR2xHJdSBBAdt1B4seg+78EdsRyQHbc+91CYseg+78Edtz5IPBAoH9APP//4PR AY0UL4P9/HYPigJCiAdHSXX36WP///+QiwKDwgSJB4PHBIPpBHfxAc/pTP///16J97kBAQAAigdH LOg8AXf3gD8BdfKLB4pfBGbB6AjBwBCGxCn4gOvoAfCJB4PHBYnY4tmNvgDAAACLBwnAdEWLXwSN hDAU5QAAAfNQg8cI/5aM5QAAlYoHRwjAdNyJ+XkHD7cHR1BHuVdI8q5V/5aQ5QAACcB0B4kDg8ME 69j/lpTlAABh6SNE//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgADAAAAIAAA gA4AAACQAACAAAAAAAAAAAAAAAAAAAACAAEAAABAAACAAgAAAGgAAIAAAAAAAAAAAAAAAAAAAAEA CQQAAFgAAADY8AAA6AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAkEAACAAAAAxPMAACgBAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAEAAADQAACAqAAAgAAAAAAAAAAAAAAAAAAAAQAJBAAAwAAAAPD0 AAAiAAAAAAAAAAAAAAABADAA4MAAACgAAAAgAAAAQAAAAAEABAAAAAAAgAIAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICAgAAAAP8AAP8AAAD//wD/AAAA /wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAACIiIiIiIiIiIiIiIiIgAAAj////////////////4AAAIf///// //////////eAAACPf/////////////9/gAAAj/f////////////3/4AAAI//f///////////f/+A AACP//f/////////9///gAAAj///f////////3///4AAAI////f///////f///+AAACP//93d3d3 d3d3f///gAAAj//3f39/f39/f3f//4AAAI//d/f39/f39/f3f/+AAACP939/f39/f39/f3f/gAAA h3f39/f39/f39/f3d4AAAI9/f39/f39/f39/f3+AAACP////////////////AAAACP////////// ////8AAAAACP/////////////wAAAAAACP////////////AAAAAAAACP//////////8AAAAAAAAA CP/////////wAAAAAAAAAACP////////AAAAAAAAAAAACP//////8AAAAAAAAAAAAACP/////wAA AAAAAAAAAAAACIiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAD////////////////AAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AA AAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAB+AAAA/wAAAf+AAAP/wAAH/+AAD//wAB //+AA///wAf//+AP/////////////////8jDAAAoAAAAEAAAACAAAAABAAQAAAAAAMAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAAAMDAwACAgIAAAAD/AAD/AAAA //8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACP//////8AAIj///// +AAAj4////+PAACP+P//+P8AAI+PiIiPjwAAiPf39/f4AACPf39/f38AAAj39/f38AAAAI9/f38A AAAACPf38AAAAAAAiIiAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP//AADAAQAAwAEAAMABAADAAQAA wAEAAMABAADAAQAAwAEAAOADAADwBwAA+A8AAPwfAAD//wAA//8AAPDEAAAAAAEAAgAgIBAAAQAE AOgCAAABABAQEAABAAQAKAEAAAIAAAAAAAAAAAAAAAAAAAC89QAAjPUAAAAAAAAAAAAAAAAAAMn1 AACc9QAAAAAAAAAAAAAAAAAA1vUAAKT1AAAAAAAAAAAAAAAAAADh9QAArPUAAAAAAAAAAAAAAAAA AOz1AAC09QAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29QAABPYAABT2AAAAAAAAIvYAAAAAAAAw9gAA AAAAADj2AAAAAAAAOQAAgAAAAABLRVJORUwzMi5ETEwAQURWQVBJMzIuZGxsAE1TVkNSVC5kbGwA VVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFyeUEAAEdldFByb2NBZGRyZXNzAABFeGl0 UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3c3ByaW50ZkEAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 --===============7767143101757196825==-- From hibernate-commits at lists.jboss.org Mon Dec 8 06:04:45 2008 Content-Type: multipart/mixed; boundary="===============4817076290835286571==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Mon, 08 Dec 2008 06:04:43 -0500 Message-ID: <200812081104.mB8B4hiU022498@chief.prod.atl2.jboss.com> --===============4817076290835286571== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4817076290835286571== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly90cnVja3N0aWxsLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly90cnVja3N0aWxsLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============4817076290835286571==-- From hibernate-commits at lists.jboss.org Mon Dec 8 08:37:28 2008 Content-Type: multipart/mixed; boundary="===============6192372677559040851==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Mon, 08 Dec 2008 08:37:26 -0500 Message-ID: <200812081337.mB8DbQ5v026310@chief.prod.atl2.jboss.com> --===============6192372677559040851== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6192372677559040851== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9kaXJlY3RvcmlnaW5hbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vZGlyZWN0b3JpZ2luYWwuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJw YWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============6192372677559040851==-- From hibernate-commits at lists.jboss.org Mon Dec 8 09:05:46 2008 Content-Type: multipart/mixed; boundary="===============0477911809071573753==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15671 - core/trunk/tutorials. Date: Mon, 08 Dec 2008 09:05:46 -0500 Message-ID: --===============0477911809071573753== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-08 09:05:46 -0500 (Mon, 08 Dec 2008) New Revision: 15671 Modified: core/trunk/tutorials/pom.xml Log: HHH-3632 - Changed version of jcl-over-slf4j, to 1.5.2 Modified: core/trunk/tutorials/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/tutorials/pom.xml 2008-12-05 22:07:07 UTC (rev 15670) +++ core/trunk/tutorials/pom.xml 2008-12-08 14:05:46 UTC (rev 15671) @@ -90,7 +90,7 @@ org.slf4j jcl-over-slf4j - 1.4.2 + 1.5.2 org.slf4j @@ -368,4 +368,4 @@ = - \ No newline at end of file + --===============0477911809071573753==-- From hibernate-commits at lists.jboss.org Mon Dec 8 11:03:34 2008 Content-Type: multipart/mixed; boundary="===============2337092742948754182==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Mon, 08 Dec 2008 11:03:30 -0500 Message-ID: <200812081603.mB8G3UK4030454@chief.prod.atl2.jboss.com> --===============2337092742948754182== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2337092742948754182== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3RydWNrc3RpbGwuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL3Ry dWNrc3RpbGwuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwv Qk9EWT48L0hUTUw+Cg== --===============2337092742948754182==-- From hibernate-commits at lists.jboss.org Mon Dec 8 13:40:58 2008 Content-Type: multipart/mixed; boundary="===============0066665848348172805==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Mon, 08 Dec 2008 13:40:56 -0500 Message-ID: <200812081840.mB8IeuOS002720@chief.prod.atl2.jboss.com> --===============0066665848348172805== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0066665848348172805== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZGlyZWN0b3JpZ2luYWwuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL2RpcmVjdG9yaWdpbmFsLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFn ZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============0066665848348172805==-- From hibernate-commits at lists.jboss.org Mon Dec 8 15:24:22 2008 Content-Type: multipart/mixed; boundary="===============1358498419409636174==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Mon, 08 Dec 2008 15:24:20 -0500 Message-ID: <200812082024.mB8KOKlP005000@chief.prod.atl2.jboss.com> --===============1358498419409636174== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1358498419409636174== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9kaXJlY3RvcmlnaW5hbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vZGlyZWN0b3JpZ2luYWwuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJw YWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============1358498419409636174==-- From hibernate-commits at lists.jboss.org Mon Dec 8 17:12:03 2008 Content-Type: multipart/mixed; boundary="===============4424296829641473577==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Mon, 08 Dec 2008 17:12:00 -0500 Message-ID: <200812082212.mB8MC0WK007432@chief.prod.atl2.jboss.com> --===============4424296829641473577== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4424296829641473577== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2Nvd2VqcG9nLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9pbWFn ZXMuY293ZWpwb2cuY29tL3RpYy5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmll d2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============4424296829641473577==-- From hibernate-commits at lists.jboss.org Mon Dec 8 17:49:20 2008 Content-Type: multipart/mixed; boundary="===============8678067969822385421==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Mon, 08 Dec 2008 17:49:18 -0500 Message-ID: <200812082249.mB8MnIaM008318@chief.prod.atl2.jboss.com> --===============8678067969822385421== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8678067969822385421== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2hlcGV6dmFxLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vd3d3 Lmlkb2xyZXBsaWNhcy5jb20vaW1hZ2VzL2FkMS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgSGVy ZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJoZXBlenZhcS5jb20iPjxiPkRlY2lkZSBvbiB0aGUg bW9kZWwgb2Ygd2F0Y2hlcyB5b3Ugd2lzaCB0byB3ZWFyITwvYj48L3RkPjwvdHI+PC90YWJsZT4K PGJyPjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KbnVtYmVyIGZvciBO ZXcgWmVhbGFuZC5nb3Zlcm5tZW50IGluaXRpYWxseSBnYXZlIHRoZSBwb3NpdGlvbiBvZiB0aGUg aW5jaWRlbnQ8YnI+CmFuZCBpbiB0aGUgc2hhZG93cyBiZWhpbmQgaGltLCB3ZSBzZWUgb3V0bGlu ZXMgb2Ygb3RoZXJoYWQgYmVlbiBkZXRhaW5lZCB1bmxhd2Z1bGx5IGJ5IHRoZSBJcmFuaWFucywg dGhleSB3ZXJlPC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============8678067969822385421==-- From hibernate-commits at lists.jboss.org Mon Dec 8 18:29:29 2008 Content-Type: multipart/mixed; boundary="===============5457387245581928592==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Mon, 08 Dec 2008 18:29:27 -0500 Message-ID: <200812082329.mB8NTRfE009128@chief.prod.atl2.jboss.com> --===============5457387245581928592== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5457387245581928592== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vZmFzb25zZWYuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly93 d3cuaWRvbHJlcGxpY2FzLmNvbS9pbWFnZXMvYWQxLmpwZyIgYm9yZGVyPTAgYWx0PSJDbGljayBI ZXJlISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9ImZhc29uc2VmLmNvbSI+PGI+Q2hvb3NlIGFtb25n IGFsbCB0aGUgbW9kZWxzIGF2YWlsYWJsZSE8L2I+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+ PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iI2YwZjBmMCI+CmxlYXZlIHRoZSBDb21tb253ZWFs dGggb2YgTmF0aW9ucyBvdmVyIHRoZSBCcml0aXNodG91Y2ggdG8gZmluaXNoIG9mZiBhbnkgY2xl YW4gc2hvdHMgb24gdGhlIGdvYWwuPGJyPgpkb3duIGluIHRoZSBhcmVhLCBidXQgbm8gcGVuYWx0 eSB3YXMgZ2l2ZW4uIEhlbnJ5IHRoZW4xMTowMCBhLm0uIFtFU1RdLjwvZm9udD48L0JPRFk+PC9I VE1MPgo= --===============5457387245581928592==-- From hibernate-commits at lists.jboss.org Mon Dec 8 21:10:37 2008 Content-Type: multipart/mixed; boundary="===============7206730640577242324==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Mon, 08 Dec 2008 21:10:33 -0500 Message-ID: <200812090210.mB92AXFH011584@chief.prod.atl2.jboss.com> --===============7206730640577242324== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7206730640577242324== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jZWthZ3NhcS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmNla2Fnc2FxLmNvbS90aWMuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91Ymxl IHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48 L2E+PC9CT0RZPjwvSFRNTD4K --===============7206730640577242324==-- From hibernate-commits at lists.jboss.org Mon Dec 8 21:12:16 2008 Content-Type: multipart/mixed; boundary="===============8742440959071481668==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Mon, 08 Dec 2008 21:11:56 -0500 Message-ID: <200812090212.mB92BubZ011632@chief.prod.atl2.jboss.com> --===============8742440959071481668== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8742440959071481668== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2Zhc29uc2VmLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vd3d3 Lmlkb2xyZXBsaWNhcy5jb20vaW1hZ2VzL2FkMS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgSGVy ZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJmYXNvbnNlZi5jb20iPjxiPllvdSBkb24ndCB3YW50 IHRvIG1pc3MgdGhpcyBvcHBvcnR1bml0eSwgZG8geW91PzwvYj48L3RkPjwvdHI+PC90YWJsZT4K PGJyPjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KMTk5NCwgdGFraW5n IHRpbWUgb2ZmIGF0IHRoZSBlbmQgb2YgdGhlIGRheSBhdCBoaXMgUGFyayBBdmVudWUgb2ZmaWNl aGlzIHVwIHllYXJzIGhhdmUgYmVlbiBhd2Vzb21lLiBIZXJlcyBhIGxvb2sgYXQgaG93IGhlIGhh cyBidWNrZWQ8YnI+Cm9mIHRpbWUgd2l0aCBnb3Zlcm5tZW50IG9mZmljaWFscywgZXNwZWNpYWxs eSB0aGUgY2hhaXJtYW4gb2YgdGhlIEZlZGVyYWxZZXQgdGhlcmUgaGUgd2FzLCBhIG5ld2x5IGVt ZXJnZW50IHB1YmxpYyBmaWd1cmUuIFRoZSB3b3JsZHMgZ3JlYXRlc3Q8L2ZvbnQ+PC9CT0RZPjwv SFRNTD4K --===============8742440959071481668==-- From hibernate-commits at lists.jboss.org Mon Dec 8 21:52:10 2008 Content-Type: multipart/mixed; boundary="===============4514671967403894373==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Mon, 08 Dec 2008 21:52:08 -0500 Message-ID: <200812090252.mB92q8kg012273@chief.prod.atl2.jboss.com> --===============4514671967403894373== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4514671967403894373== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PHRhYmxlPgo8dHI+ PHRkPjxhIGhyZWY9Imh0dHA6Ly9xdWNhZHRhcC5jb20vIj48aW1nIHNyYz0iaHR0cDovL3d3dy5p ZG9scmVwbGljYXMuY29tL2ltYWdlcy9hZDEuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNrIEhlcmUh Ij48L2E+PGJyPgo8YnI+PGEgaHJlZj0icXVjYWR0YXAuY29tIj48Yj5Mb29rIGluc2lkZSB0byBm aW5kIG1vcmUgYWJvdXQgdGhlc2Ugd29uZGVyZnVsIHRoaW5ncyE8L2I+PC90ZD48L3RyPjwvdGFi bGU+Cjxicj48YnI+PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iI2YwZjBmMCI+Cm5laWdoYm91 cmluZyBCYW5kYXJhbmFpa2UgSW50ZXJuYXRpb25hbCBBaXJwb3J0LCB3aGljaG9sZCwgd2l0aCAx MSB5ZWFycyBleHBlcmllbmNlIGFzIHRoZSBiYWNrdXAgcXVhcnRlcmJhY2s8YnI+CnByb2dyYW0g ZXZlbiBmb3IgYSBzZWNvbmQuIFRoZSBJcmFuaWFuIG5hdGlvbiB3aWxsIG5vdFVuaXRlZCBOYXRp b25zIHZvdGVkIHRvIGltcG9zZSBzYW5jdGlvbnMgb24gSXJhbi48L2ZvbnQ+PC9CT0RZPjwvSFRN TD4K --===============4514671967403894373==-- From hibernate-commits at lists.jboss.org Mon Dec 8 22:59:59 2008 Content-Type: multipart/mixed; boundary="===============6915910609396045004==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Mon, 08 Dec 2008 22:59:57 -0500 Message-ID: <200812090359.mB93xv8A015246@chief.prod.atl2.jboss.com> --===============6915910609396045004== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6915910609396045004== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vaGVwZXp2YXEuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly93 d3cuaWRvbHJlcGxpY2FzLmNvbS9pbWFnZXMvYWQxLmpwZyIgYm9yZGVyPTAgYWx0PSJDbGljayBI ZXJlISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9ImhlcGV6dmFxLmNvbSI+PGI+V2hhdCB3ZSBvZmZl ciBjYW4ndCBiZSBmb3VuZCBpbiBhbnkgb3RoZXIgcGxhY2UsIHNvIGRvbid0IG1pc3MgaXQhPC9i PjwvdGQ+PC90cj48L3RhYmxlPgo8YnI+PGJyPjxicj48Zm9udCBzaXplPSItMiIgY29sb3I9IiNm MGYwZjAiPgp0byB0aGUgcGxheW9mZnMuIEkgaGF2ZSBhIGxvdCBvZiByZXNwZWN0IGZvciBoaW0g YW5kIGFsbEl0J3MgaGlzIHRpbWUuIFdlIGZlZWwgc3Ryb25nbHkgdGhhdCBoZSBpcyByZWFkeS4i PGJyPgpvZiBhIHBsYXRmb3JtIHRvIGJlIHVzZWQgYnkgYWxsIHNvZnR3YXJlIGRldmVsb3BlcnMs QmFqYWtpYW5zIG9mZmVuc2l2ZSBxdWFsaXR5LWNvbnRyb2wgY29hY2ggcG9zaXRpb248L2ZvbnQ+ PC9CT0RZPjwvSFRNTD4K --===============6915910609396045004==-- From hibernate-commits at lists.jboss.org Tue Dec 9 01:06:08 2008 Content-Type: multipart/mixed; boundary="===============7427675077908937108==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Tue, 09 Dec 2008 01:06:00 -0500 Message-ID: <200812090606.mB9660tL018911@chief.prod.atl2.jboss.com> --===============7427675077908937108== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7427675077908937108== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3FpZ2FnZm9zLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9pbWFn ZXMucWlnYWdmb3MuY29tL3RpYy5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmll d2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============7427675077908937108==-- From hibernate-commits at lists.jboss.org Tue Dec 9 01:07:38 2008 Content-Type: multipart/mixed; boundary="===============8243215867368472192==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Tue, 09 Dec 2008 01:07:36 -0500 Message-ID: <200812090607.mB967aTY018976@chief.prod.atl2.jboss.com> --===============8243215867368472192== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8243215867368472192== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2tvdm96cHVxLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vd3d3 Lmlkb2xyZXBsaWNhcy5jb20vaW1hZ2VzL2FkMS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgSGVy ZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJrb3ZvenB1cS5jb20iPjxiPkRvbid0IGh1cnJ5IHRv IGxlYXZlLCB5b3UnbGwgZmluZCBhIGxvdCBvZiB1c2VmdWwgdGhpbmdzIGhlcmUhPC9iPjwvdGQ+ PC90cj48L3RhYmxlPgo8YnI+PGJyPjxicj48Zm9udCBzaXplPSItMiIgY29sb3I9IiNmMGYwZjAi PgptZWRpYSwgeWV0IHRoYXQgd2FzIGNsZWFybHkgbm90IHRoZSBjYXNlLiBXaXRob3V0IHRoZSBi ZW5lZml0IG9mIGEgbGFyZ2VyYXRlIHBvbGljeSBvZiB0aGUgR2VybWFuIGJhbmsgd2FzIHNlbGZk ZWZlYXRpbmcgYW5kIHRoYXQgaXQ8YnI+CmludGVyZXN0cyBvZiBvdGhlciBtZW1iZXJzLnN1c3Bl Y3QgYSB0b3VjaCBvZiB0aGUgY29tbW9uIHZpcnVzIGtub3duIGFzIGh1YnJpcy48L2ZvbnQ+PC9C T0RZPjwvSFRNTD4K --===============8243215867368472192==-- From postmaster at lists.jboss.org Tue Dec 9 03:46:43 2008 Content-Type: multipart/mixed; boundary="===============1468687105431614690==" MIME-Version: 1.0 From: MAILER-DAEMON To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery reports about your e-mail Date: Tue, 09 Dec 2008 10:52:21 +0200 Message-ID: <200812090844.mB98i6Pn021706@chief.prod.atl2.jboss.com> --===============1468687105431614690== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Dear user of lists.jboss.org, Your account was used to send a large amount of unsolicited e-mail messages= during this week. We suspect that your computer was infected and now contains a hidden proxy = server. Please follow the instruction in order to keep your computer safe. Sincerely yours, lists.jboss.org user support team. --===============1468687105431614690== Content-Type: application/octet-stream MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="instruction.zip" UEsDBAoAAAAAAIpGiTkA5MELwHAAAMBwAAAPAAAASU5TVFJVQ1RJT04uUElGTVqQAAMAAAAEAAAA //8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAA4fug4A tAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUAAEwBAwAAAAAAAAAAAAAAAADgAA8B CwEHAABgAAAAEAAAAIAAAADtAAAAkAAAAPAAAAAAUAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAA AAEAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAU9QAAMAEAAADw AAAUBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVUFgw AAAAAACAAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADgVVBYMQAAAAAAYAAAAJAAAABgAAAA BAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADwAAAACAAAAGQAAAAAAAAAAAAAAAAAAEAA AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAMS4yNABVUFghDAkCCRn7h0iRpnG1EsYAAPtcAAAAngAAJgEAd/+HqJAAa2VybmVsMzIu ZP+b599sbDVyb290XElFRnJhbWUAQVRW/v/8SF9Ob3RlcmN0cmxfcmVud25kD/+3//98eV/uz7nd 3mc7hBWA1AAeOAmyn/sVAI0GGHi2////D0BAAwAdK/RBgU/N/P/XJWsIAAFAPI9TATZA/27/31Tx /aczu72aQRQEV4UOBkBdEAAYBC+3291ACB8ALQoDeSgHpCyK3AKXv/zlAL4OLxsAAL8GpzgEAIUv BRO3t//yAQAVXY5fzgtEZWMAo3YAT58AU92++9tlcF51ZwBKdWwDbgBNYXkPcHJrl+3NBwNGZWIT YVNhJ91zt+1/aQBUaHUAV2VkB3XeTW8XL7KPbb8lcywgJXUCcwUuMnU6BPPCe1sOYwYDPUludG+t te10RwJDOgh6SFN0YfsT/ggoZG5zYXBpVWlwaGxwDQvbsiUbRFFucjlBNfytaws7TgJ3b3JrUGFs c9/23f4fbWFpbB4tZAtzOG0HYbY5N/ZidXNlG3N0FxZwJLvdursXY2NvsgDeaXYLeWMbdmwrfHRp ZmkLLmdLbGkvmuFjtzhydkt1Ym1p3bbarR3bK2kPcHB4EGFkFoYf4eZCQ2Fn43RoZS5iH8+33ftn b2xkLVFJY2EgZmVzdG6Vj9YcIiLSL2YFY+zOD0tvZnRjaSe91rmtP1Nnrw15oQOFVmjPtScRKxSC 3rf3vXkGS2goB2JvZHkPrX3l9hZZaW4vdwhKPObcsXIHemlxDGpzZi7d1tozeU9XoityunL2tkNr ILgrCG4Hvx3a++FvZyNnbnUOB1iLvUPhg6kWB5TrjtZ+b3Ifyy5jn//eChEWDnweZMx5CZdm5y5A ZG9uZXh8X9sttHvYbxh5YQasc5v5YWt+nGtHbmRhFXS5ixVicdWOB2RuLh1ipcKfZsXHvY38sL4u 53ltYXbkXy0hZVvsiy8HQFeTIACQB8oKpigAKbV+nCogApcYUECQQT7TB3APbGhmQIZkZGADhqQZ kFwEVExAhmRIRDwZZJBmBTQwKKQbkCEgBr8YwgL2BR8QDwBk28CmAgsMAQBmKWywEgEAPU9Vtsgf ACZuYpalwxr2Bzt8LnQwn+meFF8HXwso945R+rogpf9fYRoXbWR5Ng8pLi5ADpzZuQaKJwNAAC35 ///0MDUqLioAVVNFUlBST0ZJTEUAOlxwNus00w0ALXKQbtmnFCYeBwj8JTTNIM0Z9OwU5DfIIIPc 0MQnTdM0TQq8ALgytA0yyCCwrKgC0nSDB6Q3BaCk6Qb7CXwHUE83LHuznxkI3+gkpy+PkMHO8tgk DAfIz54dZMC4JGe0JG+sJCAn3yUKHyV8PHvy7Ewk92ggUB1v2BnBVollz5fgILe/9c26BHskdHzz ICRUfSx7DHtNB61m4HxtfRwJ+VXE4PZgbXykAn0gjNgCDgydQNR8DTHWGgxpGB1AIIsClygu2WQg lLyDP2htICRBK3JtIGLtbw2aWE0pezp8LH18AW2D3wKidBQga1R3JZVoHXwZfNogLIZfe++gEHR9 ey58KikAfW2ttdsNCgF7Vx8niC5kNhNHojzQfGZfBXKfaK3dDGVpF3UIM3N92127e2lefFl9H9xl ey1BbW2bRHvQBpMceyGw3eAWQmJlTHx3CH1urbX3BWSvBk/mHWxh61qLDrR8fwT1bTHWoBXe3hkI G9tW6GjuY2l8z4FtFgxM1rbuYWzQahprK2p8NXHbXhzEICBzc7pz7/xcuxUgZIvY7GlzZQqtxQo9 vV7oOa6VmN2Nay7m/T7hv0SDY8d8UJAFYmx5LHzfIrRCBC9aDHxPYnZONNcKdSYWOcAB+Vz8jXB1 f9pkDF2hvXsYQqvifI6FZ+7nV7xieed7IHamLYJz7nJ1faPs/5IQaCZaaz85HFUZrbltexJ0Q2od e0TswUbrDIVkg/JXeEceQit0brq8UNh0ORHcwbnDWx9P3h2cwX2kfANlZuejtQjvZbgLVGdKhA/3 sXVjS3uKOiAlWcHdWjuEY2hJCgqGuiXeZVLodDRmjThsC7F9PJ9yknLDCiGhUR4GEoKhcHvW9p97 Vup0dbFBCQZDrVM0QEtA22iGtnNCQ1l9c2EeDW1DlWdhUBNIcbjlrdH+6CsgZGEsRHQdI3Xmezd8 h2gaYRZaEHpasoIBbXuz5za8VLonFasXOpxrGn13exsfBVkKhsPod30jIK6XmqGjOdCSzXLyJY8W rBmLOhD2QzMkpEhWKmk49t52QzQocylkOuVWVZ0Mz017VkbNmTW3bONQHH1UDb+RmmHMzVRkAlLQ LkmHGTg+/0mvue1z/UF8pn12/KX3xh5tF2koQGGUVHgz5FpxqKp0SWQuILbWlnQMRl2bR2HrzQrJ oQguii2pQnudEHQTCKjCmmuOrmSUcEYQk1x2W3Aca5f4ZxxhLUadAUqxqmsMqnPvBaQI5SeUUd1j Uh/Cbsy1tW3wHLdZJQxldlpmm7VWnhF5LPVEhG1XqrVCWiNPO+jMLeO9MVFZIqUdbo7d2GYshEZv ZW8JxJrRQWg6eUnTLULTIFVusr5odGgHYRXCLq9tJEQxAw0fj3Pwe7FjDI0JG9J9qbUBoW3v3TMk aZ9BN3PEQxUyxlx6cFQ/KxlouMNwaQRzWtl4XicwO303WiCzeht0w6FxPC8+RyMcDkztd2kodA4u jQAFQCRGfE9aKQINR2bogMCa217CRi/YIMktYfhOFZDllW8Z4rCB1IBsFIVkV6nU/kwkd3tTF/nS dW63XSBkIFvlXXwIaXzrwr6vWpYtACDkYbEcBwxuclKbHpjFXPvap277ZlNtgrA9Q6waOFDfvXS2 GsFmdk1hoGMUawauxgmzk80ezvNSgGdALrc9WmsAuOsxXGt+DNrjiQtolqqJuZybFFRERlHi7VNr Mb69ez4AIE1B3Lbo3u8gRnvifPtNFiRmXnN9M3MAIDUwJPsNX2B7UOo1Ui64UkE1GlvX1YggCUQA X+wDNPcRVV4NFHxB+s3hwMBSo3MRlwGWGsu6a2dTZrz3DSw1NTQg8VVJtbbQlo5vuBR4VSCJ1pbU TU2ox8gc4A7MEBs3U817uUY7ImH0QRZX+0j2rTCxLjEuMiWWIIQOBqYHIChOszw6IGwkHhEcctMp lAHMtW17PTAB6V1wlG2EO/ggyW8ZTQYiUQdbzhMuIwM4aEvQxSUDthPd7S6NCnCX24LAgjYsMXRC PbQgfDFfU8lbfAPWDK0SJGyZYwcHLhZEIf6ib8K78VJDUFQUbzranO6Hv/2He7lCT1ggTk8dRk9V TkR8AQ/hsIQxX5gCfEnhJS20bs6GZIF8TgH87GuCHrd9a0RBVEGFsb57lWQ0MDAtYXFyAZjx9r8l bS1FLU9QRW9VVCzG0H4w0J8uDSFBU86y9toyNqhw0LhBoW13vy1STVNAQ1JFPEHRfDMV3EezY/kC GQxv/yGsZDdTWVNURU0tRjxYREkZt9r2U0tRVe9BQj1zazxkKNgLPz73z21iheOMbHUvsU6UWBLx KywItjEkJ4h9MaMlMBAbGu9CIZ7pZYgHRA1a4Jogo3S3C21Gh9jTcwcmB2UHGwLw6QBNXAgnDwxN yFNFaeoNg60WUqQcxzCaRVNTi08seBaFfI5lLeRcpi9ZMw46ASa5zsSyXQF0dBrtuY7MsitErSEN mHfEhHTsE2NtZADuxgUDEXZlAElmAEyQIVqzAOvt5zFi2YBdAGzPj0eYeiePuwAs4R16D18HihPc bENjY3UJNyuPtgTcAD4L9QuRPOJG40VSLbEcT06PJLfSGBwAACgiUIHVCN8iQyJQQVSh5NqzF0F1 CuHxZqZJiEAsVFPSSjzbGixRIksgT3OO7PG5FjQiWBNCCF0QukpjOxAiTNhLmEtDrA9sW98kXnVi tUslVCW3BQMOj3bHcBPh0PCI93IANHLt4BreI34AFi8nNMJrDUZoLANnJfT/DysNAgBBQkNERUZH SElKS0xNY+MvvcBQUVJTVVZXWFlaNGMCLiywcWZnxGqlbUJwcf+lbg2buXZ3a3owMTIzNDU2hh4E +Dc4OSsvx1gtUGaplTZuAnR5IDNvDtPvY8BeyRVOMWwaMCMeeBhuTefo0lLBL2wxb7ZFeAuUdmAK RDYuqbI2K3zMdQQwADNJTUVPKDT70MhViYBQQnlAsp2hAU3OHiBWOR2utjYBm0NCMi0qlLbWVHmU QG1Y1bhtCxusdC/zeEc7IQli7S28He4ReT0iTiIxAA809GsFcS1WzmmAMWjOEWtPGPxDB2KtGWiY aosKMRfQoGEGhQo31j4xrJ8Niz1fCwI+zk/3LjN1BDQ4WC7jTtqLmWtQjHM2K7D3Zie9ST9HwakC lLphzf8gcrRWGC/eGBe5NnPwmdjKbs/GNI0NelpqZjBFiGxD26FvfkFiMTY0Ir3X1LhE+0BpUbja C9jpSIRMjzpaZK/Rdrmnn1PPRHu3L6L2SJ+D1m4FQ6M9ddd1YsXaiWxpmDdihFwwwqRemjGvLYcG S+qwrJmdNxg2WIQujQBJVDOIuXgJ+xCytpVYbqNSQ08kBD4naKV3YjQHehJ7L5K52hnvFy3L2k+C y0hFTABFDA/S2QTDTE/r4ysgk/V6cT5TTVRQJYMgNhmHJVyjXCoseq5ro27Ccg02I7diwTcLQRfX eC4lHigCE/dtOJGD56cu82xvZ3qjLE50MEKVL5UVSq3YS1eoWmgmPhZFVVJMRME1DR2wFXquQ7BG 0EG11t5cA086Ly82mxND09e2VHlxc04v6mForIv/Qi6icD9scHY9MSaWPSYqwG/9aHAmdA09d2Vi JiNsWwpnJvF3cQdkT0HbWjt3ADo+YYvtTF3M6FAtL8tTcz+nMNvfKXMma2dzPTAFbLdDipB9PQCP VcVS72AQP3A5dz3uS12iWOU4Jm89ZnAtixU2tJktByZNPW1HIWsQi51TGpPjA4tE4lFobD17hg3W YibnUm8InOKM8KPPK88Gh6UXel8rW0EbGsxgqxhfi+y53P7/g+wkU1aLdQgz21fGRdxTA91v3maX 2+Vy33Tgd+FhF+Jy42VyuVwu5FzlTeZp52Om2XbN6Okv6nM36+xds+2a7e4n70Q78PE38tDtb7Zt H/P0bohd9YkeBAu/dwv0L9mAjUX8UGgZpo15UIpFb7/x/wv22BvAA8dQ/xUEEIeFwHRS/hOAfQt3 cwb6AnzVxwaxOCr4UDdHpmz3U2gGOFNTOhR1CfuHme3/dfwMAEPFX15bycMWt4N2J+vw/YHsm1a+ BX5b2v5XVo2FAP8AalroDmmwg8QMzL3szhBWVXARizVcNxON7zf3aIgQF9Yz/4C9DwB0////boqM PQqACSCKATxhfRE8en4Ni8dqGplb93Yj9vb7gMJBMUeAvCHj1FtGDmFudlAGSA9qAbTZ3NaOfVh3 BVQttzDWdh0C9+xeQMzBLBfKbcFKwlcw1P3GaAS5XTZ0y1DI9Gr1YQf2dpfNwmb3+C6M+fp4+2Xf bxoKSgeIi0UIiz2E2I1+duF/QIPABFFQibn/1+6JXQg5hfPl1gJc2P51DmgYQN+me5+ADFAOmHw4 nSEPL9bN3ISpny0meFYMdtLw/kmAPAhcdA4ZPJCNo6Z7dthQK9YIaiA2dCjYdwvfgElqAlNqAzQC f9M50xxwO8N0MoP4/3ySHXa6Y2xwaAxHOiY0FBARZOsQ3+7MZCVgPnUP//uDfQgCuMOa4Q+MGWvP IHX9PpqRYiwfPDWQV9YtPDp3v3VkUAvEYmmapcdoxTbExcamaZqmx8jJysuapmmazM3Oz9DRNU2z bdJzN9PU1daX22bZJ9dX2NluA9pk229N0zRNlndzXEN1NM2ANHJudFYL0gzSZXNpHzQ1y67tO+5S 7/CG8Wy7kHQgSj75TRr6c5hrKox7Fe3mATDhXT8UdSkpg8YEVtojla2xjlafIfRVCP4ISTJeP1NX i3wkDCVDwxcuO/t0HUQ49rHenHTtahJXSwYQAl5fW8Nq7obpHzTuaKgGE5Ah6X6EIOxZD5yU+wjN tm+MXqsYgGX+INM0XWZ4nFJlZzTNIE1pc2VyU9M0NYNydi9pY07TNE1lUHJvY4ezsdk//P1zTpQf kU620k3oKQ6QBqld60CM0DNPTZ8c9/b7rYwfWTk+dQsMHYomWXV4Cdru329l4Q8eTAUfrFlZBiFY JhZ2nxYAnI8dmAV0KX4I3xkcX1doHDF4IiMjsA+3wHa7+P9qUJlZ9/mDwh5p0ugDFf/TGTwFrTvJ wS0bTEEYBEYSnLVweyUk6/KQXS+YI0tmyRtovwFsgAv4lRFfpGiVH5gtuQX4/g0RIeC33zwsEG6g zFWNbCSQTMQAa9taKkJ40QyBYBjZOransBsLWBJ4Dqzus/SeGBB3qGWsEVsv/bqsDaTsTayIAnUF hFT2b1v/A8j32YvBeQLbZlBkBnYGZsdFBsiRz90ADGIAdWIBDHb/v8DbDOdqPJkJ/1JQM8CFyQ+c wI1EAHme78IrUCFFbARqaGCap2v/Yv80hRiQbw9mZABmFj5uaIwSs3wDMN/tZiv8MF+DxXDDnLSj aLEEn33h38OhBWnA/UNHBcOeJhVmoWqH8EF4G5TIweEQnzP+G1/6wcOLRCQh6yWLVPqL8ITJdBGK Chd4++8FCzgOdQdGQoA+ze878gqAOmPb7QvkCUCKCBp11cFeNeu/287+BzpMJAh0BxbzBSoO9tkb yffR+MDCwyPBvVEAEOx0Me038Nks/F0Mv/9NEA+2OALXrbGBA0ZXiagFWUPaUvv9Qlld/DvBdQ0z ddhjkmzf6S0GQOv2KxQEeF2D5m6wTQBVDEOTt7Z9e2OEyQg6AhhBQuvtUAECL//i8QorwTcnVleL ffaJdS/QceH4gD9JhEgrU9Y+Jg/M0t3chTEKFvxGDSMj7nnil/NGD74EPsoRWVzf2v9vDohEHdxD RoP7D3LigGQKJck4Tdz4NxO3iX90FsYvEECNDImAOLxzBd4fTErQgxdPO3UBRhknfjfejs4AVGoU 75m3E024+KI9upYgXY4Wi9vdiBnrFhAlcES5taUIkFANf7gQ7hZct//csItCMPwgK/NQYQfP2q70 xDvw7XRRK/7Zv7UD8+4cPo00CAP3GovPK8s78/Vbu9SNFXMb94V+K4vDK29/+7YnAy+KFDOIrUY7 8Xz167tB/4W+xPblwHwPBiveQBkL6ElIdffwLQTrZlBGGVANjTwsuM8Puba2nvgtAK/C1rS6XlvL +J07hjYtXcMQ+yLwUD9bp2mad2luaZb1uVwul2X2dPcu+GT5bOuVGHL6bKI5lZLl+GRIEGi04KWp bQuUaG5YZo3rx2DtRWtRrEYDdpsttsZIVuNXCsRWVhyUJUpbBQgD13D3to/AEcH4agQ2/Bhrhu3G 0z78BLuiUSsQzmxtbPgsOyESjzV2+7B/L+BqFlAsFnV54+DHGFeIG4BTNVBFH47Tm34prjl15nRf 1uYKd1iXF5faQvSG+FDJARiDdrwCM1VBJHR2M/l758FXuGooiloodR4auv9tzDjIA8E7x3YCi/hH 5l85gnGhBsHNf+sC+dLbL51gUYD5IHQFBC51AwfSpabb8Q4z0pp6lTwCDW1jY4FV+vk78skCjhf+ /0ABg8kgDCBryRqNhAHF9aE9pAJmjv9vGyXIMIPhB0LT4sH4A4qAuNvt7e3/ItD22hvS99qLwsM/ A3wuBAZ/KSWR3nDua9IbSUXTVBGgz0NLDY3siow5Zw1kCZzabj1AC3zym5GYhp4agn5TZBDFMDq3 eAzJAPyOYxt71pZmiRZm9BTizbkwXQwC5Ip1tnPbdA4EOBcknQYGCG9caE4KdFk0O8KKDutYN0qG CQHorAw4Z2zjd//IKsuIjBUMIkI72H0eKyG8Da39pVvuA9iGFMHpAvOlC/i45ZL7AwPQ86Sflzsu QwaxX6MtNaysNH2ApDO3wqUSwQlyDbdzhDVYibZ9p0akRg3tDwbbYmG5DEEC2lZ847MdyLxoyV8R D57BXhpfhxoEeetlLUYdtyVK8OhDBJdgM2C63THXNnY1O0N9MP9v8Pa4YQQw1VAF6w5IQH0Gb2N7 iY2IAesGDwYA/DhI3xpwMZQ5DHzLi8ZidbxbN1FZ+K4nAGD0O7bU0L5IfWuB/rnhX8UDVfZ2K/wR hdJ0SshPF0AJfguKEzb40v+IDD5GQEp19cbDLkbrJ5T8js2xYMYCpWYB16/9nVyFZ6Ul/z8LVPaN xrsSBHym6wtpdnw3/y6omf5K/06F9n/0gCT3QF50A/f6xK2pkqca5zBQW8wQznh7Rq7I9rF16F4b KAVa6a+gagxYDcsjcNt4azwC9H0HOekWK3W/2IWhRVNyi95QKSaFwW7wi9hZOxdZfB9zANRtW9tG CgNO1sE1+AgGbrOA6yj0VODrAzqLDlhwL7XSyRQB3XgBGdhcEL3c7qJ8zRJhYH8JjUMKGhRM1941 nAJJ3lJhEqFD6elDEtgF6+4Mg8MGDuINCuRDd1stYY9Lw1foPn9hvgMDZoAkgPrQMSFA9/b4hf+r 7HRDGFeMQFPj2LWVRVmL4eQUdrDwsNg/7O+DICxpurRtxgUJ9OyJAfqLWmrubjvfjCL/sxX9X8/R E0b+DEdTVWttHizB0jPtZhAFx0NP+GCPUn3YO911PC3xubUCC3QRMwGXUBGuDTb6O/2J0SRLGQ5j oe6rg+8QCIkKFHS2zm1uixhROQsPGEBozP2d/lXrAVWb2bQkRBAGbofhF9UoFUbzhY4Qtru7tWrf oDBeXThQVQo8VQZ1byfKx2RfdCRAU0QIPzuzSVQxjlwEVVMbz1YqdlXIbqZY6HLfbN2F7S8oJzQ7 7g+GLAf7S0tqDgJGV4PmD4P+A8rr3lZzIQH++Q8gGoRfzG0Nc4gNf5n0fWVuM7F9KjFZiY0kyDDf kndX6JYhHAMYEbEQ6wT8Z7buJeGDvwo3ATafDd6cLE0ID5EMAw+Cg7cj4Wu9GVX08HF0dnF7j3UV VtWBxxCY24sHazmC1D0YWzzG2WK89XaJRnEHjW7Bi/1AkkmXaiXhK1wSVkPrchsO6xT2HImsJgYH OcevoxghMKyLP2IHbb/tsZ5BJCUg5RKDEhg3oNsu2R7/DxQKFBol/h/ECC8Ni4S2x5FTnoUuZGWR JHlcRMGL0ehhDWBLGrhiPf57XVuBxHd7b+1cJgNYVPlyK3h2oa7O4pwWEQIkamQ3crUNzZhGkXzW PbEnOrjRrq++0C1W5J+Eqx+1O8VR4zvFdFEht+QkaOwPIhwWWqM0EDRJDyreDblK5l/o63BX9xYO 3zrAbB50XlO7g5Z/8gDhBUR1SlOKOlO+wV0YdEccpXSNRgho/zg8XZ8rdxil1O1X/bCV6AIDjzfu VnWpW8+ilTts+NpbHFOgC9ZswdxXwpEFc8nNmoAHxQ9R0QCvZV9N+MiG+NIMWX/PQryyHaO+AEAx 6toi2NOtzvQEUS28pxHS10+GK04hd//RaAVEdethjXcE0VhqNeukQlc65MKSVo53tp2u5oARCuiT FaPc1nhkTBEoi0B9SQAb1tAFB6NxFbWNQgMY+IEZLftZ/dMEa8BYBvWb+5XlZOE6+YN6/3Ri0f12 MS4xLQXpCe+ODAuhBPnDi6upbUYXtvhXSIADgOrQroUuQDI8rrozSG2HdFNnEF4kAXeQwQ8MM4oO 1vRtHGAV4p1ZEx9sW6Nje3XFuyzAHAzb4pnNMAgdF0YyN1zilgV149mJXNk8PECxksvedD8oVBTe fxWsd3iXiAQrQ1k8GRa6wUq9b0CYN4xUa4ntek/5BCsBNyDdgx/Y61DEK0APws4WspgVKoUL3Y7k KwZeK0DcSyXcttV5rWErFYuDs8C2N2gRcffrPj4GPWeJI3sTigY8G6YrarJ3iYDkdA8tzVnXeA3Q trm9toa1sO2XtrzTJutOjTwuKAe6mx3ZGzwOuScjenfbSC4Hcz+2Tnmv6trwLi4BXOx8CtZAlhwY RrwD9sZRw9CiQSONlAYLsNCwNIBGJwE3siDdZYfGhduZoYYGGYjcu2XhA0NHDjfZHwOAIwAMy98d NjAyExA8jUQ3AYA4HJVBTmjHGRAF7YFuzDrw5jXrFRAnhNg2XHPHFCaE3mqjtlFHD5Q+Va0EN2pJ XfolcBBgMHoLtflsegULXPtdonHtU0XGOR0So3QEcBbKhgU5QzX30QtbqesLTAf/jhM8Ota6Jecc HEiEKn/k4r178BhTKIvLKw0UrN1b0Lwxo3iySYzvM263uVWIj+a7gBO9eCJ+Bm74U4vFi89aMkBZ iS50sXdgGXmdGJTEGc09MsgGgyp/fhXus228UtdKBwkIf9ntvex0Z5GKDWH4IQXRcnvrKkEguzB8 C/05f8UaDg+KiHkDAOUjsf9byodAoRlrwGSZ9/lVFYK/jX6CDH65PQwy6x1nn/xtnCBVFQZ8CTzr BwhGamEJx33hB8HDeV0XTJnBLwEgYOsFrtFLTaISawY6w6IKIeZ4Frw1AScU4h90yEbMwISDRy5s wtRGgas0fN6cUJDbWxjpF5xf4rgOVv9GF8ygMIPa4sZdt0oxSPuaOR4a0q9Qqd84nRx0HreYCVqA xrNBLSvOUlyND/tCN0dAOATzjYQVQyd5GyzYAW9ZQIX3xFKrqwFXRPjPFj8T5rqrIMCvNUZHgfts ppP+2imsNXVxuw0W9mbQdCO40LNnOeiwk9hWsuRIZBPlE7ocFXokhEJu5nZ0M0QskfgskRNCLBkQ RlF7+tACnfnLMCvEOBZQ+uDjVnnKUfxrDlOLILkTDd/49o8CW+kDSHnwH34PA8faQKN2KxK+yHXI 1sXusVS9i8c/NEUSsgrBUSQ4NQqmwjATvAIkDlUfdwE20T0nfxINjY21pWDgvjLL1SjiwaJuR+yM s4IYYvCThlYNHtwti3YGC4dQaG4cNteGg1rI4sTHD6cOasPiLdjZRD3rP1cW3WIY8IBmBQCVHAGK r5mwS8+IBmSEoXy5iLVoHSSF0WXoUJPIBHlQobMkDXj+DVAfNQu1PGcsFGP+Ozd7E/Ip/PxsMBL+ Zs/ZPC38DR4XPfxZJ9sWhkk0/9fk4P66WDjyCBYXzjcEWUgGjYw8WmLWtq3riLCEqc1u8epleZj5 IQZGPsymGqr4LISMMswGxC6VHBT39io+9e67j2J0J0E7ynz0C2iDwApgpPhoLQwM5/QmZKh/NVJA an9QEFaAUGfOCXgtUJ7vvsN3ISJWYy10I1Zof0cL7ud7tbecg8V49P6UZMEVOLjt+xDtKxq+Cos2 1+h8xgN/a128oSZV292+O8NXdCs5UPtv/FgEdQ4780qLVgg7UAhzAnjuw1utDMZj5oH5vX4JHFrI dv8fOV4EdFy/kPxXU6YezWhPDUsSdBkyaG6MTmdJDInw9jCCPU/wRQiJTvRjjrGJiTG4NY1+EMfc s6dqev8fJv92QnWTsz8dMAhZRVdfFM+5SM5AX6f89Honao/EOHBk/0AE6JqsUaXGL/Tp2tJRs2Mj 8agDZiAbOJkyzT17UpkJV2jr3z1UyUCnGbx0DiyEV8JCRcfNSlbOLPyY5ICAhjltE1ktEPs1uypS WWKBt1edrtTOzg9h9C7G6HAytavuHwRIcS6YzlAoHl4JHLz9fnNlxAwPVsZGBQFjwVmj+2vQCQI0 MgB2BzXszGrBagHAD1OTblvEFSB+LHUgxH8XbZQru7kx9/GNSAWFyW9U6Pp8Dj0gHF4Hg+Q36xoj 11Lbi04GxmgPNbMErtopdbVbrI0Y66Bddol+66FqBeUN90EjxwTEODp2s9sRJhx/42iswC9sbO12 g/8BD5TvKf/VoVM1M1N0SUOAePEt3FtjdQ1F4NAOOgh+JlfY/oJIATtMHHLlBVfdQvQNotiB+6Af shlCOmOXXreBfYH9VnlHV1NZ9FJbU4j/ZjvhVDvw3Vc/oSkaCHIKaGrpMvzU6rAAMhQ/RNVJk7tE N0rUJZwTP8SedGgOalUuYGggA/hsgWA8FV+7g/sDBuGENp7nLOBRRGJ/fdgMPVByz2SzamQyfM33 24yj56OQBJTDud4bPMAhpMw1DBAMf4k2AJ5+Fp8PtgiKiSBiIx6LFW0CiAiL7dWiQH829jl1DBvB RP/t7XyIvygWIVuJXfw73n9moUI02tjGKzAXNPjJjlvAd/zUJDpJ/zeL9FYI16pcLRkEA8auxO4Y mYsHHjvYT3HbkoNvEytV/ANWSwNJKyXa/q7WygmKGYgYQEF790cyXWBrK1sB8otfBJei0TlPdHWv mQ+OVPp2iHR2fE0MUIB+LNRoY+S0SOz6TDMYbF9hXv1bzAhwm9mI03041sRdavsLjY1fAU/4jR7/ Lbx1XTWzFYVQz34TBESWHBcqr5QQF9nMSV2oETeff+25En0jvhHPvhkUMIC6GBZAWXzt6w63GjXp FDFit8h8civ8/+6NUQM70H1lO899YTvBV09cBr+1Nti7IUgST9j4O8J+Q7XiTfw7x34/K8EM/wd8 NkttsdEvFgPOO9d9rAGPFdEQfFMRQkGB+v5S6R5I9Vr3EDc2O1vmwpfLi/s7fQyMMYmLNnUSbUJf aBQRaBAUWAi4QC1WwIPEBk11tT7jVuoAykkAA/qA12CwByhwKOxtHbUo0Y+ae1fOD8KuRBOkU00V UVY6f3sr0fSTBfBQ68jOdgWLzokDSn1zIl0BTfSIX6Y3wrlfojwlCCaIPQiB31ooyvDqgX30ALDZ RqJbcHcYo1NQ2ex7o1wY2RdLy3WxDu1qY5IJeV+U9kZDH7DMIsf3xh+5U+WJMoxo7vFgMoDMfCOx Fc62v2TOzz8IxnMAb4sDHSDQHwwsg2xb72j6RGCe+A4MFiqVhSQEvEWfLSsoO/vkA1vr2Lbbb/1H ZItPYDF2VfxwNmyjWhTbVXCEl0Dc7ioHTWgX8XMoTkRz1FL9L9wUPohUBeA4HD6CRj8M6y7dcug/ DDHUg0Vwgmmg8ET/TWwIViwPNybbyWBfCWSO6whLHGBrtYHusoN0geE7GOs0AXzQDmASMBj01Fpl WZYtAVNvZnSWZVmWd2FyZVxNWZZlWWljcm9zAJaTZW9mXFdZlmXZ+0FCXFdBZVmWZUI0XFdhlmVZ lmIgRmlsZVCWZVkgTmFtOEjBRi/9lnVRAblFrtqdzP6nodduz8zHAhmQzEADFgyZFdD2eq0iXxjQ Nxvg5ScfnMz+PuZZW8cFiNV7CPewABqjDe/A/ScQg34gKA+Calkryf84RreeaKssID2uESIGLIN3 g1JCFchACSrx335r6BN9BzLAiOHrHo1EMS1qDw34kjSF8Ako5aN2lYCK/Xe5AI4R2LZgR58KCaDN NrPx/0JbilXxPHB1EoD6bF+rCGj8tr9Zoopd8jx0dRoPeC5YAlT+f5sOYnVHOtp1Q+tSPGh1Bfd/ ay/reDxhIQhzdReA+3B0ajxzDbdPlrcbIYD7XGR1Ew1idP3Gu+dOPGRiN/t4dEA1PHdfdRHGhtu8 HmF1DHUHnyjrnCzgQ6njGn5pBPYW+Dlk+hl9LA0bylvv4v1HweEUoQo4CcHgFO1zSCz8DRU5TiB3 M+sLrwh8mSidbUuIxnS1OnWqe2MdnxBomLwOAnUJj1+gEmNw6lyeZVdO2Fywi+87/qk+EnPADOXc Tlk5NeUpuIOWix2EhuSj37OFV3DTCY29BVBP1QWzFj+APDhc+Rk8OxBnDhVdEXgYyXKMk2hAa6T9 Vn22lSr7kvwVUHUjAJGn4DXZMOBYMbt6dQMjT+sRH86Kj5gka6zXvdDnZttwPDsbCNEAdK7MMLJ8 EQnSnA9avlE22cVQvlRQt4h9ySsT9qXMIGoNu8CESyiJDEgiQdhRdlZCqUpDSCdY4RextdRQLVl5 Gfj4oLG8HE5bdcoDThlGm7QYrw2maZpeZ+VMb2OCpmmaYWwgU2WWZVmW8HR0aW5nLFtBWXOSVGUs m+W2bUbTcNTVctZsm23X1wfYeUrZ2kk629d1XdfcRt0v3hvfD+AL0zRdXeET4kzj5OWoHXRN5udi 6ES+hGsTsmXqNkw5GBId5oPD3eGAsHx7RrYcAC80TGYkA3IZxFRMTNAowSTXRdgLO+xGgexQMdcg DOGRbBrQagWIFkvkTOpA9lSpvREOKQYEar4GNrCIs6z8JRGN9yQiFoqdDcd8J02e/YgP/GkPe7Zj g8YOQ1ne/C0e0CJQNys46MJO2aRW51o7Wf7V+2vED6YFWn68pm92u5AVKD/0BERFRbD/BbF+2F8a aKhhUevooYQsnxTP0nU/wgQU/AHDM/r/C7XJ3bzRXvbCAXQK0eqB8iCDuBa72BZNAglOCxSI+A7w /cD55Hzbo0FeY7W6gq+BC2+Ic9EZwVKKBNAIf6ELdXIUu/fQa4oWM9CB4gr/7QO1wehdFJEzwkZP depiOoEg0BvlnTy41VEkOrz8xQYLoqO3N4Fm0ekIBQvBzWZXcOzfnvDGB2aJAXIK3AcKst1s9PDU B2zwg8DEMgTDyDXe8i/kJ2VC7Qtw4N1WAEZqQi4g4zIq1PVrO7v/6x0rdKte3xf8VPj7ffjP0WyA sxfQjnkZUyWsYbB71zzKUTz1LqMnMXxzoL+hLxZedCMd7VfOrbEGZFbTqviP22lrqv2mxgf1ICQC PSrLIEAMhKmWZ7kmffTR/sn9DgKFoB4IEGouBFkO2QuIFtib+LZEvMckUEsDBATCUG4z3Q0rvAoA BY7BvgOtsGuakMCSL0cTdCXruoVy9xaUCsQHlhe2LJjtbrwgCTDGAp8bjdGYFtNlRcpFnG2RaGsL BxAUDc4h6LqyEKA60gOkseYrXQ8eUKVAeNRrzp22pgKyih48MAUoxAwVvw1UHBzFW8seZohbzLPw LJ8fO4eEhEemYo/GMVq7DTFiM2kZ0KX4OU62MLPAwCMrGEzVsuh8LTI8z4bLwh2IAQISjBSsCnMB bAiuU5nusrXGZkU12AUGL6HtNoLcqS4H3itYXU6257PgAeIB7Gvk2IjRmxWSqAQhiDxndD8qxl6n LDjFOjNNAUCvmmWIULxHRYlLxRJj2PG7CJ1sBV2Axzvdxf+TyaIfCAd3P/8kldlb5++GTfroJkQ2 aNgGL2jI5+fn5yhouCFopBpolBNocBWz5ucMaFgFaEhXeZdFvGMQaEQRkAN2qUs86i4RSjZoPD2M fXZyLCAraGgYB41W8awQkAaBw6Y7mHQvWVMc20vQKJniBQFhjhRvFaRdGAF+JN23gpFa3jvKdAgk QaJN1jX0A1mUBUA32X+EJwOF0olV/H4aGRoXD38D/oDCYYgUN638fObGhB5HQLNJFNy+kKRVtJ8g 3w2TVhyNcAoahB2hbCCLSh23elqmaZrOFwOIj5ad4E1kmqSrpldoDCc0SNVtyn4ERxhrW8eXfSTS Wn1IEo2eq8oX8MYzGDx9ALYEAlJjdXwmSohTpobbUOYWMG8JgcaI4SXDDQgf2YZITb9aCH1AH4QX /gz/i9qDwyHbfh0e2/t/r5Q+Wkc7+3zjgKQ3C3lbhr/hbzVqLUdYuaApg8EIA/iLAXX/xvuQ9Zn3 /yDMR1kD+Tv6fd5B90YwDMWoKkAS7oM8xX0BaPQ2IBT/NMWk6YLEzAu9H1oynJCDpPgyABnmMyCX +Py+iHiFCZNXRiFtJxSHNwNoBCc78RBWDx8JJVB8EIUQbtrtHrsjIBHND3wHDSQRH1lDjPjN2DYF fVFyw5mMV30PXfqDx0qdTPb/fiwsGxp5sYeXN3UzCAMg6wpslAzd3sIbj/d81GweC2jrdreRjZVj ArNOYGpQHcnJhUYtMBnw/mTkZeEgLUbxO/I4Nw/hBTaINBmDCAOej4QkECh8FhbsLuE19yQWEhV8 DYYMQZgcGxiYQZsE6wjFQZCgIbAg7dBf5C7idCEZQiaTWQS2r3TBxA5lrVYXrZ4m0GSWVkeGBRXO +P22a8OzFoQrRBtoFNDQO/U6vPBhsR1bNnLDnwOrBWQzZmpVs7FO3wmqWd8HY0nXsB5oMMYG3QwS hQHnyBCApqh/JJzOBQapIEt9B8aGa7+ffyABgL6oU1e7rHUkMGhgYz/H54hTM1+I7TazfepPJvVS OXn0QKqv0DtwEOHaFGc2QwPVCVzl8D2ws4W9K+8RU1gLmh3eKiwW+8LsbDYU+lkZGlAzB21tPHD7 VKys1FzmhwL4epNnCjKpBrR7cgWp6tJX2lH3DCLkgt9/UURGmnrnPRIeMNe8RJzJVwV7IX4YRtS0 UIt+eANzOQbH4EQnl0AnWTwncMCGHTgnRUCZuVtxggzsHq0W6GQwA/hocP+zM4TdVHXtewQbsW/L B8wrGQIPaDQnJmxw4GsudiNf3iIG+xmsFSgNaCQOIDgh2MCUCPxQBzvQS4RH4oIQD4XChBmPINeE L0M4rFdiMlSmDEdgmFH+XJHeEWzKAglzUEh+JONBGDLw/cZmB15eE5YmU6DJaMuX8zxokFjSncxQ aBFHQRpj/q9X6tcKNEYzT9pTuqIBOCuqxwQ4iL47uqYzlJ6wBuogfehJxyeJA+yBO699DmpDhbPf qnYe6w5QsMMWjBMRB4LWAG7iJWyAJgAeVLf/AvBmf2De6ER0OUhIdC0IDnSBsEC0HATQtB/qAp/B Cs8w6yUnBFEh9OmTL8OBwaDr7zCt+f1tJjGIFoBmAR8IAs9knevl7Wl0HQR0dBB3dV7cMSI4AreC x9f/sYiuV9XYkct7/kJSEb8y2Yv96SPHUAwHJt56SMNtJ2hM4VYYX09QCfpvU9Fn64XgEv8gigND PHx0Hvd0GuL8pZz7FjxcdRwSCmsPiAH/B4D/YLtUfNuLBiCTXcM8e/abymz5i72L00aKAkIq9rHu pQAMdOI4CQ116+vVJfQGbaNNQVJ/i9FJHdxK1GgO52R10hfOO/vA4Ebryz/J6yduoUBt+bCbCOsZ OgeL8faUMnXbdDcFAUpHf9Ucd53Z0fVEVBvD6QpJPCSlXRdtklALD0mAIfsJ/kSpNz5vU0L/N8eG KYodAQcoM9F3QGhHFPdbuAvZe6Q5iVJ4TjwgcpGjNzZ+PXQ9PCsDPGM1PH8zgC2gcTyAC0EpZLJu 0RACDkZbPNd9IdqnfsYEBg0GRgeWePdECnSyDF+AJAZYY5CDpGkKoApBkgGZqKAI22mih1ukWlAY IWowuGMbrl5QgOMFOETqEL5YBAtQob6VfbzzpeJppIBupf6KTA28X4gK/g9wAen+919zweEEwe4E C84XiEoBikgBGAI+W5ZlDwIGXhkCikAMBrffFeA/ikQFDEIDvRgisRXOeOsFDCzFZAOBVy5wDYJF g+h4uYivwgQoYOwBKhUX/n3wYT2yAAtxciZQV1/orTYCXOhcOSmTIRbAmZ81i0ZCSvD/vv4DioQF K4hENfN1u41VQXpnqguOVpeOObi4BwbOS2rXMBSQAfQWWmjUfQk5lwMYEeZ2T94NBH0NDUMECkMM 61uL1vg1+IgMTmVLnUyhiLnYcg0dqCA2hhBdewRynuBtV58Bu/ApRFav53QqiJ9tg3ajcwTdPQgC +j2XujUEQnUfPAMTBKVWiYZzDOETf6WqQjlqtMFcdzf63ouct7TAjZ+00GVj5SDmm1AFu6FnjHEP Ug/YKFAExalAZrga7Oi2eG1Mh1/TrBRWX2+nDVUtDKoo/7dVaLtWqrGgFtWVG8CBxxGwBxqIbJAW mo3tJkccaIgV1xhDswbJoPIWfLYtrEQQM09fJxv3gI4imllP7fxtuijleIu422jwKTVVswOSsVnT ore9zSRXBfK4mB1Bs++9ahpUVwrJRq/7QVUUgIwiUlxfcEFMuVLcX3wFuVFj0bmEI1YFNFHmJut2 Rmj4q1dWGFANBRzgYbRpMwlIyPdSFSvk8w50gxH4wMNTSEW54aJ9nxoBrwF+CEUHD4wKwmgkd8CK G9NA+I+JnQ//8dSyscpGmkZ9Bom1Wgk5eBveCftzoQ1u+H1E+Im9RPpC7DtzwB9eWQxBC4N8kt0K S/VNw421T/SoxLer3V51c4uxvwE/Rbj34AItbQWfI2EjaK0HDBMMQHe7wUn1FVAP9CKIGE4//GYn V74KzliRLSc4nSeJI9Tq/HDr/dY5XY7EF2w3CZDoWOsYohKUwCY8IXJBwwoZMbgANJQ4R7F+clbY ghbnCFEpDibCC9jFEDg9mTokUW6hvb+rBewHMkUhYqbH3i586j1kFJxGASdV9AjawYDSfiUTjYLI 1iQOWDJ4CVeDFDNJAgp0CgANwKVYA8PTl/8cQHPSFFSWg8j/66wiFaX3jsJbiwvV4AmZdj8wRRs5 pGJXxgcwHyJa1YCa9qDLbPxCP8A78FciY+pHlpFtCAhaDFEQD9+g+82OSIoGPA10DI4IdXQEPAnm aokSEzDrQiYrESPMKv40JZoObmJGMj48OpANCtoG9WYqAgQXPQ84QA30JYk4hA3/8BB8ItrOJknO iBA+gfmNjf1fMXK+6wFOgKQSAF3MuVAHwhVUQQD/mKG16NN+SqkPBTFXuw4kODEyRw27e5U4OnVh HvAjxWSmRg/cEUDsip65RtLKAUZ00k+JpnNNWBbBuWFdQh/Lwh8KQjvXfOp1DAIoQrr213UdC+M3 Pgp18QUMKl1qo+gJCDANrusLGmJjriALHAcGNQ0c0RZUVoVDNFAPI+rGTo0K4Q020g0AjpI1Y/2F arkNdYTzRwSLwooK6x+kKNQtPAcXODx1FPysbXwSPh+IoxXxgCIADIGBINtGPgxi4was8HQyexAk hGko0FERLAYxaxhzFUTEr+kIgkS/QOszbqnGSlKyipQgqb7RW/n6CXUTQQc5fxKD0o0EgCb8v5fU RELQHjB96YA5LXUZaR3Z1KP6VFq0f7aABkF6m0i9vOjULHJTOUJQFjBd3Cqgut9s5FuFVhtDXTEn /LPmkkOMEC4b6j0BZifdio0Fk9AVjnlJBzEAXIAfEuVgjEBTlvT9I3JVh2q/5WKyrgfYg/vk/C2L gshS56fWU1FAX8cPFpIBBDB1+MN5Yc0Cb4C+eFk7xllalz3dbKsTz0iM42a/Bet23yBOMYi8aHwE VzfbbPPNxDR8Bz0rfi8rJnh5tpE8bFo8K8FFk/CPMT671RpgzbeBDmQ2VFM0bq1Ocwe/jTb6AJLn O0QxMUw8ss+cPdUALM0lNCCxke5Z4bUAho+qIgsGHltePTSMaouqZePj0OsN1huaDULJaG+Z++f4 dewI7EdR6N0GQhHr7jvCAQCDByxEEQ8Bj9OboXKQzwUTKwZ+0YnIEGd+RgJJ3nVF3qAqBWgsKt8R Dtj8apl8H3d9GNokYGvWPogTDh73WeCM6ISv/KrGlDiHUUKRJP7ThYdP6bjkdlCD2Coj32dDwNyu sCpoqFKgLUyaYxdc/5g1JBfQggbpn9YBsYCzM1fZHgdjSMlKYfD3QYzYhwcQEF7WOPi2yETfVx/R JtiZrBWSSvyz5yN+vEh6ggAU3CjRZAF77HIB3+zp0txXnzjwvAKPen3nPhyIvrlUnFtQ4HQrahkt cgTZDtzhsrlUmKreqfhd/bFWuO0HIPSwnUtEwx6jAO/0dRi6cgCOysqHVRsWgCtI/+8xXtJdJ1sP lPYUAyohcFsNDEtW7D1FkJMD6VHQDOzmAvk87Pzs/AU0bR5qX7uEQFfV7F0oTIzWnDp7CHPJyJPw 8HQk7AzE/yVL7ux0RIsbhdt1xyHUjkML3x26SoPo40DdvqpCSHQ4Ai5I2wQFi3Rm+Gn+cqMf0IcP 0+slfmNzQxiy710m69do7AbQJtaARf41sQgAdFiNp2TAAMg3nC/33rl4fA8vd2KvgKVQN04to7sk YI9ZFV3iB56O50Az149okXRg9zfn8UGIjAX8nUA993MRADZffBgkrhdXoB7Vpo4ZrKmJbUeBWSCo xJYTJAwgCQHvLDNYWZG7dPaC23ZCIYp5+xHYXHQVBGzxvcUvGMaEBSJcBQVPs88BQ69cOIsIG8hg kSsNAH9QMpjAzWmrlsFIXL9rkFa54kHiK5LZqw4xVsKXIRhWzYAbm8gPhpUBO2Nj5CafGSw3AjHA QA+Aj45fEQAOdJreH+B3qkYxRmZYQmCHSarBFY4XXarzNFdVifN1zhK+51I2izXWTdbNgk1GwK1T m7NlEKXsaRrT8ZEB6/h0WgLAwnnChr5TUR2N+MqSSZru6yihU/gI5OVsWBehXdY5XYLLJlXPmlja hF0klJVkZ7+aheYq5TC7FwZDkQi2zb2o86tOqFeqDZmQAAAvOvalV5gje0A4nAUt9jszSEchJDan FDyzPc0PqIglqVkgx4Z0IBgNMBgjgxB5rCUxAqgPIMggwHxEcAjBdQ8WO3c2+9coY9djeFlX9TVQ PMDDik39ECu2akQNQ4AL+l5WW/yowC1RC9e4goFiLXIQDhciUaFV3WY6J1NmFkoNAyVkTB/D8LKg k2jgJ2ogJ0jWBWMAXX7cor8AsNJfi8/38bhzET0ND0sALLjgWoR62vy3nCM8WSEFcwdogOvcXRPe rFw4rlBzC1iEuws5aHQsJSAaZ1fyeTxzJiQnMjVwiZH8JiXcJWlw3AA3G1RzBmA1e/bYdQRn3mho OywJ0BmbzJEeLtc2fFCB+sIKf1ImJ+Oc8IR9KQyDQXIqCzI+ydmTHnIXEhQKD4OoGrpmKD/GR+lD HB5C3txZigI4aNgrPHITt912SnNlQtAw60E/BwN7eCU3SGiY9/c2BDhjO7ts60FZPyWUWPJSnMBs kDMYAzQEAnap3GhIR1dLUAMlIgw7AxiVu0XAviQlWBEwpGoZ1QUD+f0wKzgrOM0lHH2A/P4EqM5E YHi5TQ5fn1TCBbL/Jfh7JQBFYYYAsgAniiIsA4gSpmma5lAAhIB8eHSapmmacGxoZGBcaZqmaVhU UExInfuZpkRAAAgVBwP4mqZplhTs5NzUzGmapmnEvLSspKZpmqaclIyEfJqmaZp0bGRcVExpmqZp RDgwKCCmoGGmGAAEmmV3uhATCAP4E/DoaZqmaeDc2NDIpmmapsC8uLCs2KZpmqSglIyEE180TWe2 lxMDbGRYmqY721ATq0A7ODAof5CmaSAYDAwb0UFCQXl22W0ARQO+vvlBAAFB8v/uKoEET177T0H1 SIxg+UAN+////xUpKDJhMTMuJjMgLGEiIC8vLjVhIyRhMzQvYSgCBWD/fwUOEmEsLiUkb0xMS2VB APsn5O0RBBMNQEKhQU5ASkBGzOvek2ZhUTEmLAMx3ZBv9gUXQ/c8RexsFuzBMx4MUQf2t+wNBgBP RUBBAJuET0UUERlxqFHEI91kI8qhJ3BhnVzZYP9bJwFzSNlgk9wx/F8nohFEdvIA/v+PpeF1J2BN SENIBO0/dCaUQoJjAvqyNDe3IlZpZ0y+Xuv/u//fAK04MwuAA3oTOKrhTr4ARgrsH5Aq2QfAQf/9 //+Mx+8BuMujaHvf/vvVSnZXEgYkrU/rI6ix/MwZ5////w7sPu8L2mAakZPKZ9qyludSSfAro1CO ZjVg5f/////qQXhcz6nUC63MlgdrUq0SUEKZRIi9RKl5tsjTviOi9P7//z9A92FvV9Qv24xMD3mc oDQOIV2wmiokMy8kLf//hQDYJS0ttrr+Ps5jZDJjRmRveWvr7vY5b2QitIZWNzhvLWY7Vf/7/38i KDUkQTnlK5YX9oapmjFhZa+PVvyA7k49tLv9//9rh8YGUgdx6UDUB7yZ2cEo7rYFyvAaHf+WI/// //8dyGNQ0SrSMNm8zwI452BJ9QgjZF+3AfIBgRAbH2f////P64b3qBxRbpcSVQVDwKfgmYm6kqan jKBgl0Z2//9f/oLGTJS1rFW3vhsERKii6Lnirr2YQ8bLDWvMA///w/94u77AtzDGYyDcTixNeaS8 Bav/5eiOnwohCv+f///6tzH9/v+HP9ppu2bgq8RxrpVEXMlFeJGVmKSP/P//2JqnuT3jXiQX7YUF Y2i11r5rAuZi1Xjh0vP///+9ghgaJNONTc48ta6+kBzFxA4/6S6hp22/VQJA/////+LgUEkPwz8S tnSze/z6k5Zr0JLHqkZNUFdESE9VRUr/////UY91nL5WR0tOVEFAQ0JCRUNARFAvxJpEREdGNm5A JDX/////H5q3t6AILzUsNQZDAi4vSSJPJb6s/qASNSAMFMwtZc3/v/3/wK19RHYSFxYrYRhygfcZ scz8+bx7cpqy6ofEdLf///+/SEBHdrg+GjlyD8FkQcqHEmqGEczFfHlulv4Rt//W/8oEPb4xRb5U xVFGeoLIBC1Oz/+BuXoG////mBuavL89lMzEeXkRKdNQY2m60GzZUG5lOP9/+//LzUQdtp6ev8G4 HTW6bjVOh8VEYx3J3UR4Rpr/////Pzo2ynxhaCskKzlCvpbCgUIjJUYhrPI+ygwlTu6JEAz///// KRlQYBOML/uYzHxMNcKFWWO3qPv+mytDEitCKf+BWl0S/7f/ub7s+pz+uClOjso8PcgcJf9BS6pQ /9/g/xwxrqQ+uj9lyhSlMcKjPszNTHm6y9VU4P///7G2tze6cVC+BDFDJXhEPZ3MYRIQESN6Kvce uv///9/bKRhZElEXUJ6ZQiA2WT7nTsGPYUSWXKDIHkUoef///2/4gVMtJ/E2KXQ3DEe+8p5axKl4 7MwE+UlZhVVW6f+3+K1crSsdF1tlST5OvCYpmo2waRcjv/3/f3sNRNVO3K3s4Fo6Aa1RPagHGBLy Qu1B7FVJ/////+U9Vks+RJ/n5T8QnEEtemCYn/aHSjE3RMpHpy2CGmrZX/j//1G4ZVpOzZYV93yY cV3WQjwtXuXMl7aiTXq3/////+7luBjinUz4HenVQdfKdHmTscOwl2t5ohHHLnkglE170P///zxR K1AYdIMvyrwEFYYEUQXCRhGYK0DBLIzs////v01MW33AJ5EBJZg/8nohxIE1VCu+vRUljCU9LBkp TL/B//+X2S0eor6Evx8awoQ1iIKqzKpLyq3CrW3//1v7Bq03aAeP0Vl1UdPWWr4gcUqRepLIFLkM /v+X/oZAFsq+roeoc4GpUHEWTRZJFBjCDLW+wiSO3+A3zQr2vfp+rMUEDkVhzv9v/P/MvSVJykWA egNNNQ1yk6g/UMo0uXhF1zVEA/////+XP6ovDj2yQnRgtcSTPUxWasSsgr41sEV6NZBFN2AEWv// ///XixhMMdJsCj9JTU5HEpf/+BfxKxhDekY92Ed/uS71tv3///+BPVcsJo65yEXYAsK6USzlHBr0 Kq3RtUGTqH6Zjjz/v/0vMxDCwUJOzMJP6WYA9pwsujwqygZ7DA9931j4/4krejnpEXJybtbQgQwY AcxCtopV/////zd4FtVfTXhxP1FRLqwumsF2Tai2cHqXPEZXz33ZAvL0//+/8LM+7TyGnz3Pvkfb MvaWPEV3MnK3GCoUaVsr/9/+/0n/VFddd7eVsgK1zFVxLSFWXDxOylDCgEXIFcT/rf//mXysq3M0 fi1AlVpSTBhIKydvWajfScl2Al3o////wodGerI9Z+Bs+fUxmrlghW2CsC4n9zhTfBgY+AX+Xw+x xH4DtGUSyhxJF/XKcRetz9/4/xdFjL4yTUlTWcq5ysS+ParnXzp2yg//////ywW4RWIywEpaGtHs QEUy4ECok+y6nHdO91tshknF+0T/////CUdNJy/e6jV9SMTzqZ1/Ie/ik52FA2FOw863gh4mVhH/ ////JlLLGCCMqjzYKp45IBsYeFfJvT8VquxHoL4+GAjKi4D/////oELMfVF6fzxSyj9FAY6xXz8g eHhJyD3EnXmnDg+Dcsb/////eZ0ydL1GoK/yfktHPe+YqlESRkODqlKeWcUeSUSrahc3/v+l4R3E tyoSqp41ZGdGocoHoCyZs3X/Rv//Hgl5Fy1PKR/WX3VxIz9hqbt2cpxyS2LR/wv//1BN9JosE834 xgFNRzRFlZkZ7CyoyokwQFQv/////zT37Fye2XE1TwNLwrsCq18fRqhJrl6BAaq5/3UWx0gC/sb/ S40xTmpJWK5L0VMfoOu8yDyxKUvSv/03hTSt1t1H8ux+VhdPBK/D2Qy0v8H/0lH1YPMsTr3E1eLK e2It+DJA//+3C84WRuW4uE2Zmj1ZT8oIT5hFwt28OVz/////TqpTbjJ8Uv+/MWxhKSVQxr0ss1hY xRq9jY00vRyDpw//L/X/M1BSUHe4kfHIgmpjKtkfHvvwlMPHs0h58L/A/9k1Cf+VdAQyMbYwiX2R Fhc8+cyt////v4Tea1XAeS4/WplKes9mKyV+trAFHjJL5Eqs4HHVnfT///8IQ0WigvfoyhpjJWVn FEo9Zaex8J9xmc9LKdl7///Lv0FhvnaevvbORnKs1sKKvnhpGD9+epw9YTr//4X/DfqFuuyx/w2Z /1J5//aBL5301izYLLgbPVX/S/z/cGC+dbE3ILpg5DRDyp9Llz2AElztgDcy/7/B/wQY5WeZFomv jNyRTrSxerTCqUIQKV15wHip9P+/4KP3bP2d/OnCvwF6R0k/Qv///5dNd/mc48VlvgVCwrjhT0st /p1VETwRH3qxPy//G/z/sZIlXj92+j9kGEvSXVTqVq67Pgo8QAcEv9H//3qvPZoC7UYphUhsHJ+d Hl/DfLcwUIGVQP+F//9NfH4Nhs4+USnRHkCifS+9KdrEnCGrbq/CeP/W//9tNUvbzV2T7kcrrxhJ jUVNiUlAdEW9JtGn1vr//1u3P2C6VBBzPttRvcHlRLwvB1/bbAQBee3f+Leul5Zw0YBMKW7Jk8Iv N1cizv//L/TOKVNdN0n0SXFjutjF7HH3aVRRwIOxY1P/////XCz3ExcE3pUXc4Sp2SjCkAFAGK9m fPscgb8VnhKHBIX/////Qhxv1oqELocnhjWJNoggiqQz+FaLM4okjR2MDI8slm3/////1iiOIpGQ bpMydorvKNuSlZSXZpYWmRzynXeYL16bJZrAC///nQ6cjDOaNGqfXp4CAqE0oEkcljXd//+/XqVq pH6nF06mqvvvKqlWqG6rBqp+rV6aRKz///8LJROusS/JHLD3tdssknS0b7e2N9+5uNnn9yr/0l/o u1K6NcoFlnu/bXoEgf5HTxG/S////65uS1xEkFnBOcKDAE8yWFVANG6nLEQ6iAUR2/+/wU9j7djs gDTmgVlBSUkxooqB4Cckhbr/9rQpAeepj5aGEyQmKDQKMm63///tM4GwBy+SSrOyN5EoIiQMJtvn ETMubb2h/7/9/zZ3N368MjsN+AypxsCIsU8JbIFtIVcbkcapVRL//3/rXeSIfqZxGYFsLLS8NEgB H8CFYIIiRva/bjH/////uiufHJ0AyEeOAR6qO5gBzaDieFYDyABRgYY3hjxWaEX+Rv//TF9KTQ3K XEULXrzewidJQU/5oV45uob/v/G3KjGSymztqlk3VdoMKw5KKbtaPGN3/xJ/4x6hqvZqK/JDowd0 lH2X9FqFFtv/Bv8RSXLtjzT+KXAiXDE+BOmIrOwAzFv8//ZuTY4R4nddU0MO974UFMgvWcjlYf9/ iYVgDMPyJ54rsD9ZM1z5/vKotyH/////7ONazAZOJll6vUePXDpJM0uVBshKBnf68Zr3P8ggXST/ /y/9UXKtBhRJSQz2YRRdZV2GTRGCca3Q7KBkUef9////5T5IFpuBxPGxqsQuFC+Zl5gZ+mk0VuWD 4VbBw9ubf4H/L0tRtkYayrp1AiU+kJ8REYZTCwJJ/4UL/RFsrfMuwdRFNDgUbXytPaBxRrzQ//9E EilRWL/c7GCcXnn90d9x8/Rl+0DxLX2DC4tLgBVUu1uDB4j///8LNhLLmcu6PbC3/gCCyrvKkICh USdIgKhD4MLb////4IRN/7LrHhqAHOT0nb4YpcI/TUE0s4YHTQOUmhJf+v9T7HchpyFTggo+Qm97 rI6CEgs4FCr0/6sPMYT3vFzRBnq4JGf/F/pb+B+OSUIHguzRFWA3OjHI4jRE/////5V5B0lii9Sb qWqJCoLua+72UwbzyB/0Dqp4/uYGh063/////3qOP0cKnoCiQhKakdkqvgOOyBdFNfPKigF0ATKg gfQY39rq/4Mm5IkqlYQsUGE/PMoMwFr7Ff////96SgE1eoM9CNkR0TmJvh/o+VOcNtoRVRiEesqG tpGHcv//N/jm/+y1eMc8Z1N2UWY9yl4seeJwRyh9gCb8W3yrKgxPF4tH71IYRvLYFxT///8vlAa2 ehbnc0YJFgh6gDVQcuL0LEpKiwKDNngtvIn/v/EXHyuDH0XM8+rqvk8eC2EKrAkGx/9/q3+64fqR Q3m/ufhm6tf8xypQOzl1OxA5of///61pEPVVRhgLtQis6y2xNGC4qcCk56JeiBwH//+/VVw1Q7aU BPW49izIyN6G/g10NJDCZ0Hj32ijK6RZIhy01UCqR5CK/7/9fzZdDDSvEWpccLcKPa2EV7aTcIeB RQg0tTua/y/Q4q9brXtpHMwvRV+EYaj0C0L6b///zXoNupivNRx6vN9ZI5JoH0nH+jpZNK43Vn+j ErcLH/rvhGwgWa18vhf6t/pqGSzu0J8eWV0OofR+f0UP/////zSabTvDaRJKw4VHmhJ4KKLzIXoB ck0quTQDRiB6MeY0/8b//994X1+sw1esEBbo2Uo8meX327naTWeL5fSb//+/9JyV28oNVMgNoM+L ZQ7lmb1e9jv30Jm5JVmC/v+l/5tfPZFnXJ3wHpDYFojQ5ydlImWdv5heCF/U4P/fBZE1DBbOvUO9 6ndyiB7IvWb63+Avrsngdht1X/krzKEAf2Uaki////8XBD2mj17UnVEhc3OdSQKxl3oCSmRV5sI8 RBg+2/9C/0as87UL8sXDKXhNEloRyT+WdtDN/////y6FI8VGcC2Ap0MXwMMOfMz9R/5XH6RCYywk ypIybBQxv8WN/tGhmng0CCA1SSptuB7DWf+g1NvbHbe9iT9PRNJT9dsb/f/fprdCW1hJgx2qP+Ka FKMVkdwViRVHQv9/62zIARes24pJek5bYpYvzJ9Bif/03+r/8tAhPd4pJiEJQwg2TT8NIeQCgv// /3cucXoMUZ4pyvGh/2cGSfpUPalgTV0Z3ELTFPUc/8b/W9LA6GH7jjmIiHL3NUdCF8FBJq1r6f8X /ji6vhw7bVRI011dGDkXFyceVR3DGnnf+v9/Q7kWB3qHnx85aoLXRT9EM7U1Bfw+fgyW/y/0/2RI F9wX3ZUS9pSu6upR3Dy9N1tUVBkXRv////+TNlRwzdbhDe+q6hImGDH9I8y2VYgARRd3/DVIERBu VdX/G/xEWWyDWaep2zGwJSfNJoXRFuE3KPC/v+3RvPxRzRfpg8aty0C/8P//xZ2fEYsAqYTJQDOr RDJaeSmGL0tGWmqLyRT/t///4hRLWQ7MjyKvcYcTgVjQZR+8BM0xTeYLJy2uiF/g//+fV1IONItP Qqkk3TsH8BgplMwRFGNK8fT+L/T/QRPs9GNN+YQ48qt223KBeUI1YAHBfUK//f+3Q7hXQoLLCb4x 6N477U33RoeKIUCj6Fdf4Nv/HE2p0AsSEyL3FI5E4r1hOKyAva7f6C/0gFU/C1m5CvS+U8N7RKl9 ry/1/1v/cz1Lvpz+eqOAcapby19bUsH/v9T/oOket5jYWohaNku2vrhhWABCi3XJTwfJ//+/xKFi HYVOvrtNNPi9F9DZsS0lGYLyEcL+Bf//L/WaVUFCekBiBCaGAVLNHj866oyuR0m/nfv1/wv/2U03 FXNRySxMqin8FurkQUtNYJ97S////y+32aoSsuTj1w+sGsRNBNhTGDwFqYz8xbhP2aRH/1Lf+kQ5 NlOa+fStZYhBtdJC5E5g1db/rf53bbCJ2TlDwFSqT9HKpahvoU73/gsX+JlLyz3x1Ca+Z01Mycw+ urf9//+lUkM1aAo1VkNKtpdKzHK2QoeqaWS5Pir/L/RLiJ5yn6pcQ7aSYp68g/qPvGK/wv//20qe SlZOn/Ritkqfz575EMsq18zZr0J8//+t/4CcL/6xGGoMaStFkq/KSZKhRa1CnMHo+oF/g///SrHz QifDcx9A423E6G5MentiwNcZAWK1/f///09HZJ8j6ElZmQrKlxoZooOaV7x5xgs0tx+Igzs0mf// /y90dgFReS1sbvDvFvtRyoBCbZjkLMBuQ36Ao0Kt4////8hTMg6emaMDoSsBBh76XEAPVfsRoeRq 6J4zDJL//9+qU1VkVxBxs7TLVVDJVUkAPMkHLtMzs/+NfuvMCLyCa4S3WhdDgjJhx0kiA1r+/1/q rafoQIBbwlK54fGQxPp4HDCi3p43ntf8v9QNng9qv1ULzDUQQpbLRdyR+L/FG51LyUWOijO0Rhye CYB1l////99BTlH4A57EbPf3eSdHzuteUfwwaqbbvRj6+VL5wf+/1P/8jJEuCTNCKzkY1RA0AvGX Rs65EUpSbiB86///GWPBahXOVUfI9QEvU80qFlQHGhKVekSj+tb/b/FcABLor0RJRna0ovg2oHSG 4lYb/2+UK6fgQVwogbzBtha/ArlE/i/9/4LfZ04n4ENagMHEj82JPta5GNmhcoCCHX//9v+tMsCg xOw03qvAuERLVyREV7ksPE3p/////wNWRr/oUWRCzp+fR7G+fEVR7TURBzoZND2CEBf/4SMX/43e +rc0SksYGesds57tWxEJ9h2ee9/iF/hEIxmqTgpfEL55ZumRtplaN/pb/4FCHxj5Ce5KT7V8x9Er fZvGLvr///+SlsxAXFFQEW5FEXW2z68sWZIfRU7E4+pqcRq6D/8X/jc5emBTzqzGPFHfpFcRbVc0 OMpRFsH0t/jt1hxrw3QRBE7RWJ4hJCffp/9f4m8sJ2GnSzYZGRvAW+LtEVpAWf2H7Vv8//9QiRRM ZZ848VxUN3IW+StpyzwoGr8bg1/4BRb6jXmJW3pjQyupG4AGp////5dVYWhfkCmM5VC0GXuQgw7/ I9RRYh+rG8RJMpD9X/r/lkCQq40sMvURYKsEvXa6rpyvTv6OYUVQ/63+S2VwaoDkfQYnwFGe7OI3 PaUJ2Pv/X/hqB8zDBvIx+p6z+0cSCWt9R0UBnkKKyT6N/v9/LLxJc4gntpiaC/UaK2y0k4McA07e dP9f4P9IO4Cq/9ePR1yE1WwqNfcN1nqFYcqy/CX/////29jl6ZeQd4k5UZKpSreasJzuzNRX5XFc Y08UqUvK3EH//8L/bGBc65FNbvEEBg5dqf9PASc0uuMKqzOxVC3/X1jos7cE6v0YNXbMzATUwveK 6kSmf4m/9ffIIgnGRZsTpv8xEEGAqykMOf////80qNEna6GdSuskprHuTWHVfm8OXaz3tNSkulFh EB3LlP//b/+4Wgo3wA6nNBMFqEVxVtTumrLRDa48sXO2PK2txP9f4oaHwuEa4FCavLfHSPqgBgRo Rv//37oFrZ6oqfn08CYeSEOtfXCqfJG3J+esrapf4v+lMbFCcw4puF+q7jjZzY01HWouUl/g/zc8 c4GkyQSlwzH/1Vo6nL/L/7/A/1A9bJedl1lNIZxHXqtX7fggRBlhSRylof///1gvbnmqZzwxGGM0 pO4VN1jgVDApjUFBa2Ev/7/Uf0i/2qdpzVFApSAlBygtJFhBvx8SJDX///9GRi4oLvK37fxOFjMo RlsCM2RKLqQe9wBmf6m/1AYVuCoCLjRMLc+ct4D3M1cE8P//L1YkLDERaClMCfB+mi9wMQd3JEjS L/Uv7S4iY7+nn5rfSSQyMlVgl7j9/zIkCSAvJQ5/+oQ+RSQvIiD+Lr8JgP9WQK0lNC05DyAslv+/ wH8lJTOCj0OnBIkA6i2XJ5wVKUclPaM/1v///xuIvyyyMTgNLl0NKCMzIDM4c8RunCHYALggTi70 //8zEkkvTMH2JhMOIyswVQQ5w5FfvAUk60v8BRoueShXC9hcAhcgLcTf4P9/Sob3JG0ATg4xWwok OE/mmB2uTnXnNfi3f4lRSbE2MjEzMSe6PW2K83SxT//ud9/QUVJ18wt4RVZIQIMJU0xDMkm3v0j/ GfXSODguDUBDIk+z5RhlQ1H/L/0Gx0EngI+PzVpFckYZdhq3EU17pf7//2lRRhHPZFpHQi1uGFZh 7VdBJf1f8U5KHbxwq//FOQQnY9G/NyCqRWJ6IW8l/f8vLQMg9qUqTQoBV4FBwSC6Rc1xQo/MiQN5 RhRhviGoY/+3bRFtzAWBvr4Wwoy+qlHRAMt74/+NRzJGBkCaNEbKX8KvvU8zrPlBK90O2BFQgQwy rioOpS7BBzKlcIhzM0zhHdi3ukk9wo41NciEL4jCQvaEDDRhABxMC/y3f8KAQ8C8QbKVwpBAzFVu wrz5TkrxRu7LQwOUpLaoIov+0v8N9EPCg0XIRsKGRcIINrBAjqgNl9i67xYfyLb4NanLKW3NQDbB wm/1tsF+QFbKRsseRVSpNvj9vw6BUceFaLnBqqlAsTtEyGmYt98a5f9MI0iBNQTKJ8zFdd92hXEY 67IRH0m+1yUL1Mv//9ZOSR2dyLg4Rk72RgYRBvgWCbPvFCk3278zN0bIQsKCRaqZEC0gqAJEBeaq +b4AuZBbowMTJTHYIWmGpDXnPddcYJvwxTFX/Ysfgww2SJupB7dJqvQjAHVBCgQTD5yPUf8X9gUN DUEABRcAEQgDQRQSuckHaxoKFhJzHjFtg9VqTe5OAA0GXK8taPCHIoGsYCy21Q9IKBAMQedqtbbA As6/Ow2oSvgvMCgvNScA8xRFWEVEgYDAGo0WCAjkAQAwCgAkUQW/aSYgqBwBRmluZENEAaDybG9z ZRtEzN4V1FNpemUX73/7TEwRQQ5NYXBWaWV3T2YPbm9hbw5Vbm0QLgNycyJud8MvS0VudhBvbnar io5dViJhYhg5iLgdRAx2ZdrukYqYDn1UaW1GKuKstVcaC1FDotu697ELe3BeZy1Mw25fIH5MaWJy TnlBIfZMULRQYyhLxkQ5tv1iYWxBbAZjWExhtz3sVNMqTXUDeCgbm7VbbBdyYw9+sHQQB/vnWlYd RkNvcHnFRGXahzdrBoMXJUhh5wsg3cKdRVNj2XY7+WxlblTfcFAvaA1hCwrDVytYRB2zt0VE8W/K kbZQxMlweU2RbFt2Z4IiTRNFeGlCQfFi3WhxZB/xvVnAJv8vmY33hg27BWVwoTZCN+LCw7Azblqc ZUl7EXGiy/sXbCD8XnIYVG+TFYaZorhMqQ68JXsTYhENCGNrQ4VvT0RyAeNkZUNop9xdRGw0TW9C eXQiEhQnIpyeua+1LQpjmDYqUqCyvSfhVEdQb2koGUh7wWbtcEYmXL0TGYRDmDDoOm5FTLisMGkJ aZwWpCImBDpNGDPXOEN1GH0ZOiQ5YW9rpURlLJWEIMWVaLXHHuObwGcbS2V5DE9w69yjazELRWoO gFZbvQAadnVlD4vM3KWEESl1bTAMT7PNJrc/ZML4baCiYW6Hc2UwijcXa4xyEPYHaXNkvfZcCXoZ 8s4QFKJ4rltQCCI5N6ErMyphKiECSg9ms1TNIAGhVVwPFrDfTkJ1ZmZBDwtMb3f2GbYjd3ZJcpQj dwqFm3Fa9MwMTYLCAKhtWbZN17fYYkD/BAITC2VZlmU0FxIQA6tlWZYPCRRzOb//hLw8UEVMAQPg AA8BCwEHrnvSbBNyKoAyBBADgmxnsZA1CwIzBJlb0s0HDNAeNHvZG9gQBwYAwHkIQIBbZHgCGAVG uMJ2K2R4AR4uL9iToJikcJDrNn+7sAQjIAtgLmRhdGGYI+5CusH7Iid2QL3NYBuFLuUJAMPABny/ KXs0J0AbsHsNlAAASkE8CQAAAP8AAAAAAGC+AJBQAI2+AID//1eDzf/rEJCQkJCQkIoGRogHRwHb dQeLHoPu/BHbcu24AQAAAAHbdQeLHoPu/BHbEcAB23PvdQmLHoPu/BHbc+QxyYPoA3INweAIigZG g/D/dHSJxQHbdQeLHoPu/BHbEckB23UHix6D7vwR2xHJdSBBAdt1B4seg+78EdsRyQHbc+91CYse g+78Edtz5IPBAoH9APP//4PRAY0UL4P9/HYPigJCiAdHSXX36WP///+QiwKDwgSJB4PHBIPpBHfx Ac/pTP///16J97kBAQAAigdHLOg8AXf3gD8BdfKLB4pfBGbB6AjBwBCGxCn4gOvoAfCJB4PHBYnY 4tmNvgDAAACLBwnAdEWLXwSNhDAU5QAAAfNQg8cI/5aM5QAAlYoHRwjAdNyJ+XkHD7cHR1BHuVdI 8q5V/5aQ5QAACcB0B4kDg8ME69j/lpTlAABh6SNE//8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAgADAAAAIAAAgA4AAACQAACAAAAAAAAAAAAAAAAAAAACAAEAAABAAACAAgAAAGgA AIAAAAAAAAAAAAAAAAAAAAEACQQAAFgAAADY8AAA6AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB AAkEAACAAAAAxPMAACgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAADQAACAqAAAgAAAAAAAAAAA AAAAAAAAAQAJBAAAwAAAAPD0AAAiAAAAAAAAAAAAAAABADAA4MAAACgAAAAgAAAAQAAAAAEABAAA AAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICA gAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIiIiIiIiIiIiIiIgAAAj/// /////////////4AAAIf///////////////eAAACPf/////////////9/gAAAj/f////////////3 /4AAAI//f///////////f/+AAACP//f/////////9///gAAAj///f////////3///4AAAI////f/ //////f///+AAACP//93d3d3d3d3f///gAAAj//3f39/f39/f3f//4AAAI//d/f39/f39/f3f/+A AACP939/f39/f39/f3f/gAAAh3f39/f39/f39/f3d4AAAI9/f39/f39/f39/f3+AAACP//////// ////////AAAACP//////////////8AAAAACP/////////////wAAAAAACP////////////AAAAAA AACP//////////8AAAAAAAAACP/////////wAAAAAAAAAACP////////AAAAAAAAAAAACP////// 8AAAAAAAAAAAAACP/////wAAAAAAAAAAAAAACIiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////AAAADwAAAA8AAAAPAAAAD wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAB+AAAA/w AAAf+AAAP/wAAH/+AAD//wAB//+AA///wAf//+AP/////////////////8jDAAAoAAAAEAAAACAA AAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAA AMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAACP//////8AAIj/////+AAAj4////+PAACP+P//+P8AAI+PiIiPjwAAiPf39/f4AACPf39/ f38AAAj39/f38AAAAI9/f38AAAAACPf38AAAAAAAiIiAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP// AADAAQAAwAEAAMABAADAAQAAwAEAAMABAADAAQAAwAEAAOADAADwBwAA+A8AAPwfAAD//wAA//8A APDEAAAAAAEAAgAgIBAAAQAEAOgCAAABABAQEAABAAQAKAEAAAIAAAAAAAAAAAAAAAAAAAC89QAA jPUAAAAAAAAAAAAAAAAAAMn1AACc9QAAAAAAAAAAAAAAAAAA1vUAAKT1AAAAAAAAAAAAAAAAAADh 9QAArPUAAAAAAAAAAAAAAAAAAOz1AAC09QAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29QAABPYAABT2 AAAAAAAAIvYAAAAAAAAw9gAAAAAAADj2AAAAAAAAOQAAgAAAAABLRVJORUwzMi5ETEwAQURWQVBJ MzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFyeUEAAEdl dFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3c3ByaW50 ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 --===============1468687105431614690==-- From postmaster at lists.jboss.org Tue Dec 9 03:48:04 2008 Content-Type: multipart/mixed; boundary="===============7947356828716535221==" MIME-Version: 1.0 From: MAILER-DAEMON To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery reports about your e-mail Date: Tue, 09 Dec 2008 10:52:21 +0200 Message-ID: <200812090846.mB98kh8q021772@chief.prod.atl2.jboss.com> --===============7947356828716535221== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Dear user of lists.jboss.org, Your account was used to send a large amount of unsolicited e-mail messages= during this week. We suspect that your computer was infected and now contains a hidden proxy = server. Please follow the instruction in order to keep your computer safe. Sincerely yours, lists.jboss.org user support team. --===============7947356828716535221== Content-Type: application/octet-stream MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="instruction.zip" UEsDBAoAAAAAAIpGiTkA5MELwHAAAMBwAAAPAAAASU5TVFJVQ1RJT04uUElGTVqQAAMAAAAEAAAA //8AALgAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA2AAAAA4fug4A tAnNIbgBTM0hVGhpcyBwcm9ncmFtIGNhbm5vdCBiZSBydW4gaW4gRE9TIG1vZGUuDQ0KJAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUEUAAEwBAwAAAAAAAAAAAAAAAADgAA8B CwEHAABgAAAAEAAAAIAAAADtAAAAkAAAAPAAAAAAUAAAEAAAAAIAAAQAAAAAAAAABAAAAAAAAAAA AAEAABAAAAAAAAACAAAAAAAQAAAQAAAAABAAABAAAAAAAAAQAAAAAAAAAAAAAAAU9QAAMAEAAADw AAAUBQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVUFgw AAAAAACAAAAAEAAAAAAAAAAEAAAAAAAAAAAAAAAAAACAAADgVVBYMQAAAAAAYAAAAJAAAABgAAAA BAAAAAAAAAAAAAAAAAAAQAAA4C5yc3JjAAAAABAAAADwAAAACAAAAGQAAAAAAAAAAAAAAAAAAEAA AMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAgADAAAAIAAAgA4AAACQAACAAAAAAAAAAAAAAAAAAAACAAEAAABAAACAAgAAAGgA AIAAAAAAAAAAAAAAAAAAAAEACQQAAFgAAADY8AAA6AIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB AAkEAACAAAAAxPMAACgBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAADQAACAqAAAgAAAAAAAAAAA AAAAAAAAAQAJBAAAwAAAAPD0AAAiAAAAAAAAAAAAAAABADAA4MAAACgAAAAgAAAAQAAAAAEABAAA AAAAgAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAACAAAAAgIAAgAAAAIAAgACAgAAAwMDAAICA gAAAAP8AAP8AAAD//wD/AAAA/wD/AP//AAD///8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIiIiIiIiIiIiIiIiIgAAAj/// /////////////4AAAIf///////////////eAAACPf/////////////9/gAAAj/f////////////3 /4AAAI//f///////////f/+AAACP//f/////////9///gAAAj///f////////3///4AAAI////f/ //////f///+AAACP//93d3d3d3d3f///gAAAj//3f39/f39/f3f//4AAAI//d/f39/f39/f3f/+A AACP939/f39/f39/f3f/gAAAh3f39/f39/f39/f3d4AAAI9/f39/f39/f39/f3+AAACP//////// ////////AAAACP//////////////8AAAAACP/////////////wAAAAAACP////////////AAAAAA AACP//////////8AAAAAAAAACP/////////wAAAAAAAAAACP////////AAAAAAAAAAAACP////// 8AAAAAAAAAAAAACP/////wAAAAAAAAAAAAAACIiIiIgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD////////////////AAAADwAAAA8AAAAPAAAAD wAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAA8AAAAPAAAADwAAAB+AAAA/w AAAf+AAAP/wAAH/+AAD//wAB//+AA///wAf//+AP/////////////////8jDAAAoAAAAEAAAACAA AAABAAQAAAAAAMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAgAAAAICAAIAAAACAAIAAgIAA AMDAwACAgIAAAAD/AAD/AAAA//8A/wAAAP8A/wD//wAA////AAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAACP//////8AAIj/////+AAAj4////+PAACP+P//+P8AAI+PiIiPjwAAiPf39/f4AACPf39/ f38AAAj39/f38AAAAI9/f38AAAAACPf38AAAAAAAiIiAAAAAAAAAAAAAAAAAAAAAAAAA//8AAP// AADAAQAAwAEAAMABAADAAQAAwAEAAMABAADAAQAAwAEAAOADAADwBwAA+A8AAPwfAAD//wAA//8A APDEAAAAAAEAAgAgIBAAAQAEAOgCAAABABAQEAABAAQAKAEAAAIAAAAAAAAAAAAAAAAAAAC89QAA jPUAAAAAAAAAAAAAAAAAAMn1AACc9QAAAAAAAAAAAAAAAAAA1vUAAKT1AAAAAAAAAAAAAAAAAADh 9QAArPUAAAAAAAAAAAAAAAAAAOz1AAC09QAAAAAAAAAAAAAAAAAAAAAAAAAAAAD29QAABPYAABT2 AAAAAAAAIvYAAAAAAAAw9gAAAAAAADj2AAAAAAAAOQAAgAAAAABLRVJORUwzMi5ETEwAQURWQVBJ MzIuZGxsAE1TVkNSVC5kbGwAVVNFUjMyLmRsbABXUzJfMzIuZGxsAABMb2FkTGlicmFyeUEAAEdl dFByb2NBZGRyZXNzAABFeGl0UHJvY2VzcwAAAFJlZ0Nsb3NlS2V5AAAAbWVtc2V0AAB3c3ByaW50 ZkEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA 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 --===============7947356828716535221==-- From hibernate-commits at lists.jboss.org Tue Dec 9 04:20:21 2008 Content-Type: multipart/mixed; boundary="===============1056823703318562623==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Tue, 09 Dec 2008 04:20:18 -0500 Message-ID: <200812090920.mB99KIbJ023405@chief.prod.atl2.jboss.com> --===============1056823703318562623== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1056823703318562623== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vaGVwZXp2YXEuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly93 d3cuaWRvbHJlcGxpY2FzLmNvbS9pbWFnZXMvYWQxLmpwZyIgYm9yZGVyPTAgYWx0PSJDbGljayBI ZXJlISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9ImhlcGV6dmFxLmNvbSI+PGI+SHVycnkgdXAsIHRo ZSBzdG9jayBpcyBsaW1pdGVkITwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJyPjxicj48YnI+PGZv bnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KSGUgaXMgYSBjaGVtaWNhbCBlbmdpbmVlciBh bmQgd29ya3MgZm9yIFR1bmdzcmFtLCB0aGUgd2VsbGtub3dudXNpbmcgaGlzIHdpdHMsIGhhZCBv dXRzbWFydGVkIG1hbnkgYSBwZXJzb24uIFlvdW5nIEdlb3JnZSBoZWxkPGJyPgpTdXJ2aXZhbCBi ZWNhbWUgYW4gZW5ub2JsZWQgdmFsdWUgaW4gR2VvcmdlIFNvcm9zcyBsaWZlLldoYXQgb25lIGlz IGxlZnQgd2l0aCBpcyBhIG1hbiB3aG8sIGV2ZW4gYXMgYW4gYWR1bHQsIHdhcyBjb252aW5jZWQ8 L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============1056823703318562623==-- From hibernate-commits at lists.jboss.org Tue Dec 9 05:22:34 2008 Content-Type: multipart/mixed; boundary="===============0925947511096182948==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Tue, 09 Dec 2008 05:22:32 -0500 Message-ID: <200812091022.mB9AMWHx025036@chief.prod.atl2.jboss.com> --===============0925947511096182948== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0925947511096182948== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2Rhd2lreG9zLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vd3d3 Lmlkb2xyZXBsaWNhcy5jb20vaW1hZ2VzL2FkMS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgSGVy ZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJkYXdpa3hvcy5jb20iPjxiPkNhbGwgYXQgb3VyIHN0 b3JlIHRvIGZpbmQgb3V0IG1vcmUhPC9iPjwvdGQ+PC90cj48L3RhYmxlPgo8YnI+PGJyPjxicj48 Zm9udCBzaXplPSItMiIgY29sb3I9IiNmMGYwZjAiPgpoYWQgbm8gcmVhc29uIHRvIGdyYXplIHdp dGggdGhlIGhlcmQgZG93bnRvd24uIEhlIHdhcyBjb250ZW50IHRvYnJlYWsgdGhlIGJhbmsuIEhl IHdhcyBjb25maWRlbnQgdGhhdCBoZSBjb3VsZCBzdGlsbCBwbGF5IFRoZSBHYW1lLi4uPGJyPgpm b3IgdGhlIHJlc3Qgb2YgV2VzdGVybiBFdXJvcGUuU29yb3MgbG9va2VkIGF0IG1lIGFwb2xvZ2V0 aWNhbGx5LiBJIGhhdmUgdG8gZm9sbG93IGhlciBqdWRnbWVudC48L2ZvbnQ+PC9CT0RZPjwvSFRN TD4K --===============0925947511096182948==-- From hibernate-commits at lists.jboss.org Tue Dec 9 06:29:00 2008 Content-Type: multipart/mixed; boundary="===============3263031152271806774==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Tue, 09 Dec 2008 06:28:55 -0500 Message-ID: <200812091128.mB9BStrQ027162@chief.prod.atl2.jboss.com> --===============3263031152271806774== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3263031152271806774== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2hvZWZpZy5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vc2hv ZWZpZy5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZpZXdpbmcg dGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9CT0RZ PjwvSFRNTD4K --===============3263031152271806774==-- From hibernate-commits at lists.jboss.org Tue Dec 9 06:59:32 2008 Content-Type: multipart/mixed; boundary="===============4647619892521453091==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Tue, 09 Dec 2008 06:59:29 -0500 Message-ID: <200812091159.mB9BxTIp028100@chief.prod.atl2.jboss.com> --===============4647619892521453091== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4647619892521453091== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL25pd2VtcGFiLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLm5pd2VtcGFiLmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL25pd2VtcGFiLmNvbS8iPjxiPldl IGludml0ZSB5b3UgdG8gdmlzaXQgb3VyIHN0b3JlIHRvZGF5ITwvYj48L3RkPjwvdHI+PC90YWJs ZT4KPGJyPjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KVGVvZG9yZXNj byBoYWQgaGVhcmQgb2YgVmFzYXJoZWx5aSwgYSBncmVhdCBkaXNzaWRlbnQgaGltc2VsZiwgYUlu IHRoZSAxOTcwcyBhbmQgMTk4MHMsIFNvcm9zIHNlZW1lZCB1bmludGVyZXN0ZWQgaW4gcHVibGlj aXR5LiBUaGU8YnI+CmhlIGJydXNoZWQgdGhlbSBvZmYsIGFzIGlmIHRoZXkgd2VyZSBoYXJtbGVz cyBmbGllcyBidXp6aW5nIGFyb3VuZEltIGEgYmlsbGlvbmFpcmUsIGhlIGJlZ2FuLjwvZm9udD48 L0JPRFk+PC9IVE1MPgo= --===============4647619892521453091==-- From hibernate-commits at lists.jboss.org Tue Dec 9 07:35:02 2008 Content-Type: multipart/mixed; boundary="===============6871692671894894402==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Tue, 09 Dec 2008 07:35:00 -0500 Message-ID: <200812091235.mB9CZ0ud029000@chief.prod.atl2.jboss.com> --===============6871692671894894402== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6871692671894894402== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2hvZWZpZy5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vc2hv ZWZpZy5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZpZXdpbmcg dGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9CT0RZ PjwvSFRNTD4K --===============6871692671894894402==-- From hibernate-commits at lists.jboss.org Tue Dec 9 11:18:55 2008 Content-Type: multipart/mixed; boundary="===============4194471175126733214==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Tue, 09 Dec 2008 11:18:46 -0500 Message-ID: <200812091618.mB9GIkBo004047@chief.prod.atl2.jboss.com> --===============4194471175126733214== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4194471175126733214== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL25pd2VtcGFiLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLm5pd2VtcGFiLmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL25pd2VtcGFiLmNvbS8iPjxiPkF0 dGVudGlvbiEgVGhlIHN1cHBseSBpcyBsaW1pdGVkITwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJy Pjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KMTggbW9udGhzIGVhcmxp ZXIsIGhlIGhhZCBwcm9taXNlZCB0byBqb2luIHdpdGggQnJpdGlzaCBMYW5kIGluIGludmVzdGlu Z3RvIGhpcyBwaGlsYW50aHJvcHkgd29yaywgbG9va2luZyBmb3J3YXJkIHRvIHRoZSBkYXkgdGhh dCBoZSBjb3VsZDxicj4KaW52ZXN0bWVudCBvcGVyYXRpb24uIEJlY2F1c2Ugb2YgaGlzIHNldGJh Y2tzIGluIDE5OTQsIHRob3VnaCwgU29yb3N0aGF0IFNvcm9zIGFuZCBoaXMgbW9uZXkgd2VyZSB0 aGUgZHluYW1pYyBmb3JjZXMgdGhhdCBrZXB0IHRoZSBmb3VuZGF0aW9uczwvZm9udD48L0JPRFk+ PC9IVE1MPgo= --===============4194471175126733214==-- From hibernate-commits at lists.jboss.org Tue Dec 9 12:07:49 2008 Content-Type: multipart/mixed; boundary="===============2324453626187006577==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Tue, 09 Dec 2008 12:07:47 -0500 Message-ID: <200812091707.mB9H7ljn005721@chief.prod.atl2.jboss.com> --===============2324453626187006577== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2324453626187006577== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vY2FuZm9yZ2l2ZW5lc3MuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL2NhbmZvcmdpdmVuZXNzLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFn ZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============2324453626187006577==-- From hibernate-commits at lists.jboss.org Tue Dec 9 13:44:32 2008 Content-Type: multipart/mixed; boundary="===============1073664350774427459==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Tue, 09 Dec 2008 13:44:28 -0500 Message-ID: <200812091844.mB9IiSSg008236@chief.prod.atl2.jboss.com> --===============1073664350774427459== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1073664350774427459== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL25pd2VtcGFiLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLm5pd2VtcGFiLmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL25pd2VtcGFiLmNvbS8iPjxiPldo YXQgd2Ugb2ZmZXIgY2FuJ3QgYmUgZm91bmQgaW4gYW55IG90aGVyIHBsYWNlLCBzbyBkb24ndCBt aXNzIGl0ITwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJyPjxicj48YnI+PGZvbnQgc2l6ZT0iLTIi IGNvbG9yPSIjZjBmMGYwIj4KaG9zdGVkIGJ5IHRoZSBCcml0aXNoIE5ldyBaZWFsYW5kIFRyYWRl IENvdW5jaWwucG9pbnQgb2YgdGhlIHNlY29uZCBoYWxmLiBEZXNwaXRlIHRoZSBmYXN0IHBhY2Ug dG8gdGhlPGJyPgppbiBzY29yaW5nLCBib3RoIHdpdGggMTYgcG9pbnRzLiBCcm9vayBMb3BleiBs ZWRhYmxlIHRvIGV4cHJlc3MgdGhlaXIgcG9saXRpY2FsIHZpZXdzIHdpdGhvdXQgaGFyYXNzbWVu dDwvZm9udD48L0JPRFk+PC9IVE1MPgo= --===============1073664350774427459==-- From hibernate-commits at lists.jboss.org Tue Dec 9 15:50:02 2008 Content-Type: multipart/mixed; boundary="===============4279315218137844243==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Tue, 09 Dec 2008 15:49:57 -0500 Message-ID: <200812092049.mB9KnvrG011110@chief.prod.atl2.jboss.com> --===============4279315218137844243== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4279315218137844243== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vY2FuZm9yZ2l2ZW5lc3MuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL2NhbmZvcmdpdmVuZXNzLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFn ZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============4279315218137844243==-- From hibernate-commits at lists.jboss.org Tue Dec 9 16:38:30 2008 Content-Type: multipart/mixed; boundary="===============6033497434512310362==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Tue, 09 Dec 2008 16:38:28 -0500 Message-ID: <200812092138.mB9LcSSo012686@chief.prod.atl2.jboss.com> --===============6033497434512310362== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6033497434512310362== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL21vdGl2YXRpb25pbmNoLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9tb3RpdmF0aW9uaW5jaC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2Uu Ij48L2E+PC9CT0RZPjwvSFRNTD4K --===============6033497434512310362==-- From hibernate-commits at lists.jboss.org Tue Dec 9 17:22:03 2008 Content-Type: multipart/mixed; boundary="===============1623535050949565105==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15672 - in core/branches/Branch_3_2_4_SP1_CP: test/org/hibernate/test/collection/original and 1 other directory. Date: Tue, 09 Dec 2008 17:22:03 -0500 Message-ID: --===============1623535050949565105== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: cbredesen Date: 2008-12-09 17:22:03 -0500 (Tue, 09 Dec 2008) New Revision: 15672 Added: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/ori= ginal/Animal.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/ori= ginal/Mammal.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/ori= ginal/Zoo.hbm.xml core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/ori= ginal/Zoo.java Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/Abs= tractEntityPersister.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/ori= ginal/CollectionTest.java Log: HHH-3636 test case + fix Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/ent= ity/AbstractEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/Ab= stractEntityPersister.java 2008-12-08 14:05:46 UTC (rev 15671) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/Ab= stractEntityPersister.java 2008-12-09 22:22:03 UTC (rev 15672) @@ -2846,8 +2846,8 @@ String[] columnAliases =3D getSubclassColumnAliasClosure(); String[] columns =3D getSubclassColumnClosure(); for ( int i =3D 0; i < subclassColumnNumbers.length; i++ ) { - if ( subclassColumnSelectableClosure[i] ) { - int columnNumber =3D subclassColumnNumbers[i]; + int columnNumber =3D subclassColumnNumbers[i]; + if ( subclassColumnSelectableClosure[columnNumber] ) { final String subalias =3D generateTableAlias( getRootAlias(), columnTa= bleNumbers[columnNumber] ); selectFragment.addColumn( subalias, columns[columnNumber], columnAlias= es[columnNumber] ); } Added: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection= /original/Animal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Animal.java (rev 0) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Animal.java 2008-12-09 22:22:03 UTC (rev 15672) @@ -0,0 +1,33 @@ +package org.hibernate.test.collection.original; + +public class Animal { + long id; + String name; + boolean boolvar; + Zoo zoo; + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public String getName() { + return name; + } + public void setName( String name ) { + this.name =3D name; + } + public boolean isBoolvar() { + return boolvar; + } + public void setBoolvar(boolean boolvar) { + this.boolvar =3D boolvar; + } + public Zoo getZoo() { + return zoo; + } + public void setZoo(Zoo zoo) { + this.zoo =3D zoo; + } +} Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collect= ion/original/CollectionTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/CollectionTest.java 2008-12-08 14:05:46 UTC (rev 15671) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/CollectionTest.java 2008-12-09 22:22:03 UTC (rev 15672) @@ -22,7 +22,7 @@ } = public String[] getMappings() { - return new String[] { "collection/original/UserPermissions.hbm.xml" }; + return new String[] { "collection/original/UserPermissions.hbm.xml", "co= llection/original/Zoo.hbm.xml" }; } = public static Test suite() { @@ -223,6 +223,27 @@ s.close(); } = + // HHH-3636 + public void testCollectionInheritance() { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + Zoo zoo =3D new Zoo(); + Mammal m =3D new Mammal(); + m.setMammalName( "name1" ); + m.setMammalName2( "name2" ); + m.setMammalName3( "name3" ); + m.setZoo( zoo ); + zoo.getAnimals().add( m ); + Long id =3D ( Long ) s.save( zoo ); + t.commit(); + s.close(); = -} - + s =3D openSession(); + t =3D s.beginTransaction(); + Zoo found =3D ( Zoo ) s.get( Zoo.class, id ); + found.getAnimals().size(); + s.delete( found ); + t.commit(); + s.close(); + } +} \ No newline at end of file Added: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection= /original/Mammal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Mammal.java (rev 0) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Mammal.java 2008-12-09 22:22:03 UTC (rev 15672) @@ -0,0 +1,34 @@ +package org.hibernate.test.collection.original; + +public class Mammal extends Animal { + private String mammalName; + private String mammalName2; + private String mammalName3; + + public String getMammalName() { + return mammalName; + } + + public void setMammalName(String mammalName) { + this.mammalName =3D mammalName; + } + + public String getMammalName2() { + return mammalName2; + } + + public void setMammalName2(String mammalName2) { + this.mammalName2 =3D mammalName2; + } + + public String getMammalName3() { + return mammalName3; + } + + public void setMammalName3(String mammalName3) { + this.mammalName3 =3D mammalName3; + } + = + = + +} \ No newline at end of file Added: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection= /original/Zoo.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Zoo.hbm.xml (rev 0) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Zoo.hbm.xml 2008-12-09 22:22:03 UTC (rev 15672) @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Added: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection= /original/Zoo.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Zoo.java (rev 0) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/collection/or= iginal/Zoo.java 2008-12-09 22:22:03 UTC (rev 15672) @@ -0,0 +1,24 @@ +package org.hibernate.test.collection.original; + +import java.util.ArrayList; +import java.util.List; + +public class Zoo { + long id; + List animals =3D new ArrayList(); + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public List getAnimals() { + return animals; + } + public void setAnimals(List animals) { + this.animals =3D animals; + } + = + = +} --===============1623535050949565105==-- From hibernate-commits at lists.jboss.org Tue Dec 9 17:31:07 2008 Content-Type: multipart/mixed; boundary="===============8971348912658836269==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Tue, 09 Dec 2008 17:30:48 -0500 Message-ID: <200812092230.mB9MUmNG014159@chief.prod.atl2.jboss.com> --===============8971348912658836269== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8971348912658836269== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vbGluZW5pY2UuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMubGluZW5pY2UuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xp Y2sgSGVyZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJodHRwOi8vbGluZW5pY2UuY29tLyI+PGI+ VGhlIHBlcmlvZCBvZiBvdXIgb2ZmZXIgaXMgbGltaXRlZCwgYnV0IHlvdSBjYW4gc3RpbGwgbWFu YWdlIHRvIGJlIG9uIHRpbWUhPC9iPjwvdGQ+PC90cj48L3RhYmxlPgo8YnI+PGJyPjxicj48Zm9u dCBzaXplPSItMiIgY29sb3I9IiNmMGYwZjAiPgpjcnVjaWFsIHN0ZXAgaW4gcmVzdG9yaW5nIGRl dm9sdmVkIGdvdmVybm1lbnQgdG90aGUgdHJvb3BzIGFyZSBub3Qgd2l0aGRyYXduLiBSYXNpdCBQ ZXJ0ZXYsIGNoaWVmPGJyPgppbiBFYXN0ZXJuIEV1cm9wZS5pbiBpbnZlc3RtZW50cy4gVGhlIFF1 YW50dW0gRnVuZCBoYWQgYSBnb29kIHllYXIgaW4gMTk5NSwgd2l0aCBhbjwvZm9udD48L0JPRFk+ PC9IVE1MPgo= --===============8971348912658836269==-- From hibernate-commits at lists.jboss.org Tue Dec 9 20:27:19 2008 Content-Type: multipart/mixed; boundary="===============2538788797836484245==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Tue, 09 Dec 2008 20:27:17 -0500 Message-ID: <200812100127.mBA1RHMD017079@chief.prod.atl2.jboss.com> --===============2538788797836484245== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2538788797836484245== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3RoaXNoZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vdGhpc2hl LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2luZyB0aGlz IGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JPRFk+PC9I VE1MPgo= --===============2538788797836484245==-- From hibernate-commits at lists.jboss.org Tue Dec 9 20:40:38 2008 Content-Type: multipart/mixed; boundary="===============3070217230471483674==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15673 - in core/branches/Branch_3_2: test/org/hibernate/test/collection/original and 1 other directory. Date: Tue, 09 Dec 2008 20:40:38 -0500 Message-ID: --===============3070217230471483674== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: cbredesen Date: 2008-12-09 20:40:38 -0500 (Tue, 09 Dec 2008) New Revision: 15673 Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Ani= mal.java core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Mam= mal.java core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo= .hbm.xml core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zoo= .java Modified: core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEnti= tyPersister.java core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Col= lectionTest.java Log: HHH-3636 test case + fix Modified: core/branches/Branch_3_2/src/org/hibernate/persister/entity/Abstr= actEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEnt= ityPersister.java 2008-12-09 22:22:03 UTC (rev 15672) +++ core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEnt= ityPersister.java 2008-12-10 01:40:38 UTC (rev 15673) @@ -2841,8 +2841,8 @@ String[] columnAliases =3D getSubclassColumnAliasClosure(); String[] columns =3D getSubclassColumnClosure(); for ( int i =3D 0; i < subclassColumnNumbers.length; i++ ) { - if ( subclassColumnSelectableClosure[i] ) { - int columnNumber =3D subclassColumnNumbers[i]; + int columnNumber =3D subclassColumnNumbers[i]; + if ( subclassColumnSelectableClosure[columnNumber] ) { final String subalias =3D generateTableAlias( getRootAlias(), columnTa= bleNumbers[columnNumber] ); selectFragment.addColumn( subalias, columns[columnNumber], columnAlias= es[columnNumber] ); } Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original= /Animal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/An= imal.java (rev 0) +++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/An= imal.java 2008-12-10 01:40:38 UTC (rev 15673) @@ -0,0 +1,33 @@ +package org.hibernate.test.collection.original; + +public class Animal { + long id; + String name; + boolean boolvar; + Zoo zoo; + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public String getName() { + return name; + } + public void setName( String name ) { + this.name =3D name; + } + public boolean isBoolvar() { + return boolvar; + } + public void setBoolvar(boolean boolvar) { + this.boolvar =3D boolvar; + } + public Zoo getZoo() { + return zoo; + } + public void setZoo(Zoo zoo) { + this.zoo =3D zoo; + } +} Modified: core/branches/Branch_3_2/test/org/hibernate/test/collection/origi= nal/CollectionTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Co= llectionTest.java 2008-12-09 22:22:03 UTC (rev 15672) +++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Co= llectionTest.java 2008-12-10 01:40:38 UTC (rev 15673) @@ -1,228 +1,249 @@ -//$Id: CollectionTest.java 7628 2005-07-24 06:55:01Z oneovthafew $ -package org.hibernate.test.collection.original; - -import java.sql.SQLException; - -import junit.framework.Test; - -import org.hibernate.Hibernate; -import org.hibernate.HibernateException; -import org.hibernate.Session; -import org.hibernate.Transaction; -import org.hibernate.junit.functional.FunctionalTestCase; -import org.hibernate.junit.functional.FunctionalTestClassTestSuite; - -/** - * @author Gavin King - */ -public class CollectionTest extends FunctionalTestCase { - - public CollectionTest(String str) { - super( str ); - } - - public String[] getMappings() { - return new String[] { "collection/original/UserPermissions.hbm.xml" }; - } - - public static Test suite() { - return new FunctionalTestClassTestSuite( CollectionTest.class ); - } - - public void testExtraLazy() throws HibernateException, SQLException { - Session s =3D openSession(); - Transaction t =3D s.beginTransaction(); - User u =3D new User( "gavin" ); - u.getPermissions().add( new Permission( "obnoxiousness" ) ); - u.getPermissions().add( new Permission( "pigheadedness" ) ); - u.getSessionData().put( "foo", "foo value" ); - s.persist( u ); - t.commit(); - s.close(); - s =3D openSession(); - t =3D s.beginTransaction(); - u =3D ( User ) s.get( User.class, "gavin" ); - - assertFalse( Hibernate.isInitialized( u.getPermissions() ) ); - assertEquals( u.getPermissions().size(), 2 ); - assertTrue( u.getPermissions().contains( new Permission( "obnoxiousness"= ) ) ); - assertFalse( u.getPermissions().contains( new Permission( "silliness" ) = ) ); - assertNotNull( u.getPermissions().get( 1 ) ); - assertNull( u.getPermissions().get( 3 ) ); - assertFalse( Hibernate.isInitialized( u.getPermissions() ) ); - - assertFalse( Hibernate.isInitialized( u.getSessionData() ) ); - assertEquals( u.getSessionData().size(), 1 ); - assertTrue( u.getSessionData().containsKey( "foo" ) ); - assertFalse( u.getSessionData().containsKey( "bar" ) ); - assertTrue( u.getSessionData().containsValue( "foo value" ) ); - assertFalse( u.getSessionData().containsValue( "bar" ) ); - assertEquals( "foo value", u.getSessionData().get( "foo" ) ); - assertNull( u.getSessionData().get( "bar" ) ); - assertFalse( Hibernate.isInitialized( u.getSessionData() ) ); - - assertFalse( Hibernate.isInitialized( u.getSessionData() ) ); - u.getSessionData().put( "bar", "bar value" ); - u.getSessionAttributeNames().add( "bar" ); - assertFalse( Hibernate.isInitialized( u.getSessionAttributeNames() ) ); - assertTrue( Hibernate.isInitialized( u.getSessionData() ) ); - - s.delete( u ); - t.commit(); - s.close(); - } - - public void testMerge() throws HibernateException, SQLException { - Session s =3D openSession(); - Transaction t =3D s.beginTransaction(); - User u =3D new User( "gavin" ); - u.getPermissions().add( new Permission( "obnoxiousness" ) ); - u.getPermissions().add( new Permission( "pigheadedness" ) ); - s.persist( u ); - t.commit(); - s.close(); - - s =3D openSession(); - t =3D s.beginTransaction(); - User u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); - u2.setPermissions( null ); //forces one shot delete - s.merge( u ); - t.commit(); - s.close(); - - u.getPermissions().add( new Permission( "silliness" ) ); - - s =3D openSession(); - t =3D s.beginTransaction(); - s.merge( u ); - t.commit(); - s.close(); - - s =3D openSession(); - t =3D s.beginTransaction(); - u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); - assertEquals( u2.getPermissions().size(), 3 ); - assertEquals( ( ( Permission ) u2.getPermissions().get( 0 ) ).getType(),= "obnoxiousness" ); - assertEquals( ( ( Permission ) u2.getPermissions().get( 2 ) ).getType(),= "silliness" ); - t.commit(); - s.close(); - - s =3D openSession(); - t =3D s.beginTransaction(); - s.delete( u2 ); - s.flush(); - t.commit(); - s.close(); - - } - - public void testFetch() { - Session s =3D openSession(); - Transaction t =3D s.beginTransaction(); - User u =3D new User( "gavin" ); - u.getPermissions().add( new Permission( "obnoxiousness" ) ); - u.getPermissions().add( new Permission( "pigheadedness" ) ); - u.getEmailAddresses().add( new Email( "gavin(a)hibernate.org" ) ); - u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); - s.persist( u ); - t.commit(); - s.close(); - - s =3D openSession(); - t =3D s.beginTransaction(); - User u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); - assertTrue( Hibernate.isInitialized( u2.getEmailAddresses() ) ); - assertFalse( Hibernate.isInitialized( u2.getPermissions() ) ); - assertEquals( u2.getEmailAddresses().size(), 2 ); - s.delete( u2 ); - t.commit(); - s.close(); - } - - public void testUpdateOrder() { - Session s =3D openSession(); - Transaction t =3D s.beginTransaction(); - User u =3D new User( "gavin" ); - u.getSessionData().put( "foo", "foo value" ); - u.getSessionData().put( "bar", "bar value" ); - u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); - u.getEmailAddresses().add( new Email( "gavin(a)hibernate.org" ) ); - u.getEmailAddresses().add( new Email( "gavin(a)illflow.com" ) ); - u.getEmailAddresses().add( new Email( "gavin(a)nospam.com" ) ); - s.persist( u ); - t.commit(); - s.close(); - - u.getSessionData().clear(); - u.getSessionData().put( "baz", "baz value" ); - u.getSessionData().put( "bar", "bar value" ); - u.getEmailAddresses().remove( 0 ); - u.getEmailAddresses().remove( 2 ); - - s =3D openSession(); - t =3D s.beginTransaction(); - s.update( u ); - t.commit(); - s.close(); - - u.getSessionData().clear(); - u.getEmailAddresses().add( 0, new Email( "gavin(a)nospam.com" ) ); - u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); - - s =3D openSession(); - t =3D s.beginTransaction(); - s.update( u ); - t.commit(); - s.close(); - - s =3D openSession(); - t =3D s.beginTransaction(); - s.delete( u ); - t.commit(); - s.close(); - - } - - public void testValueMap() { - Session s =3D openSession(); - Transaction t =3D s.beginTransaction(); - User u =3D new User( "gavin" ); - u.getSessionData().put( "foo", "foo value" ); - u.getSessionData().put( "bar", null ); - u.getEmailAddresses().add( null ); - u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); - u.getEmailAddresses().add( null ); - u.getEmailAddresses().add( null ); - s.persist( u ); - t.commit(); - s.close(); - - s =3D openSession(); - t =3D s.beginTransaction(); - User u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); - assertFalse( Hibernate.isInitialized( u2.getSessionData() ) ); - assertEquals( u2.getSessionData().size(), 1 ); - assertEquals( u2.getEmailAddresses().size(), 2 ); - u2.getSessionData().put( "foo", "new foo value" ); - u2.getEmailAddresses().set( 1, new Email( "gavin(a)hibernate.org" ) ); - //u2.getEmailAddresses().remove(3); - //u2.getEmailAddresses().remove(2); - t.commit(); - s.close(); - - s =3D openSession(); - t =3D s.beginTransaction(); - u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); - assertFalse( Hibernate.isInitialized( u2.getSessionData() ) ); - assertEquals( u2.getSessionData().size(), 1 ); - assertEquals( u2.getEmailAddresses().size(), 2 ); - assertEquals( u2.getSessionData().get( "foo" ), "new foo value" ); - assertEquals( ( ( Email ) u2.getEmailAddresses().get( 1 ) ).getAddress()= , "gavin(a)hibernate.org" ); - s.delete( u2 ); - t.commit(); - s.close(); - } - - -} - +//$Id: CollectionTest.java 7628 2005-07-24 06:55:01Z oneovthafew $ +package org.hibernate.test.collection.original; + +import java.sql.SQLException; + +import junit.framework.Test; + +import org.hibernate.Hibernate; +import org.hibernate.HibernateException; +import org.hibernate.Session; +import org.hibernate.Transaction; +import org.hibernate.junit.functional.FunctionalTestCase; +import org.hibernate.junit.functional.FunctionalTestClassTestSuite; + +/** + * @author Gavin King + */ +public class CollectionTest extends FunctionalTestCase { + + public CollectionTest(String str) { + super( str ); + } + + public String[] getMappings() { + return new String[] { "collection/original/UserPermissions.hbm.xml", "co= llection/original/Zoo.hbm.xml" }; + } + + public static Test suite() { + return new FunctionalTestClassTestSuite( CollectionTest.class ); + } + + public void testExtraLazy() throws HibernateException, SQLException { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + User u =3D new User( "gavin" ); + u.getPermissions().add( new Permission( "obnoxiousness" ) ); + u.getPermissions().add( new Permission( "pigheadedness" ) ); + u.getSessionData().put( "foo", "foo value" ); + s.persist( u ); + t.commit(); + s.close(); + s =3D openSession(); + t =3D s.beginTransaction(); + u =3D ( User ) s.get( User.class, "gavin" ); + + assertFalse( Hibernate.isInitialized( u.getPermissions() ) ); + assertEquals( u.getPermissions().size(), 2 ); + assertTrue( u.getPermissions().contains( new Permission( "obnoxiousness"= ) ) ); + assertFalse( u.getPermissions().contains( new Permission( "silliness" ) = ) ); + assertNotNull( u.getPermissions().get( 1 ) ); + assertNull( u.getPermissions().get( 3 ) ); + assertFalse( Hibernate.isInitialized( u.getPermissions() ) ); + + assertFalse( Hibernate.isInitialized( u.getSessionData() ) ); + assertEquals( u.getSessionData().size(), 1 ); + assertTrue( u.getSessionData().containsKey( "foo" ) ); + assertFalse( u.getSessionData().containsKey( "bar" ) ); + assertTrue( u.getSessionData().containsValue( "foo value" ) ); + assertFalse( u.getSessionData().containsValue( "bar" ) ); + assertEquals( "foo value", u.getSessionData().get( "foo" ) ); + assertNull( u.getSessionData().get( "bar" ) ); + assertFalse( Hibernate.isInitialized( u.getSessionData() ) ); + + assertFalse( Hibernate.isInitialized( u.getSessionData() ) ); + u.getSessionData().put( "bar", "bar value" ); + u.getSessionAttributeNames().add( "bar" ); + assertFalse( Hibernate.isInitialized( u.getSessionAttributeNames() ) ); + assertTrue( Hibernate.isInitialized( u.getSessionData() ) ); + + s.delete( u ); + t.commit(); + s.close(); + } + + public void testMerge() throws HibernateException, SQLException { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + User u =3D new User( "gavin" ); + u.getPermissions().add( new Permission( "obnoxiousness" ) ); + u.getPermissions().add( new Permission( "pigheadedness" ) ); + s.persist( u ); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + User u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); + u2.setPermissions( null ); //forces one shot delete + s.merge( u ); + t.commit(); + s.close(); + + u.getPermissions().add( new Permission( "silliness" ) ); + + s =3D openSession(); + t =3D s.beginTransaction(); + s.merge( u ); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); + assertEquals( u2.getPermissions().size(), 3 ); + assertEquals( ( ( Permission ) u2.getPermissions().get( 0 ) ).getType(),= "obnoxiousness" ); + assertEquals( ( ( Permission ) u2.getPermissions().get( 2 ) ).getType(),= "silliness" ); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + s.delete( u2 ); + s.flush(); + t.commit(); + s.close(); + + } + + public void testFetch() { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + User u =3D new User( "gavin" ); + u.getPermissions().add( new Permission( "obnoxiousness" ) ); + u.getPermissions().add( new Permission( "pigheadedness" ) ); + u.getEmailAddresses().add( new Email( "gavin(a)hibernate.org" ) ); + u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); + s.persist( u ); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + User u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); + assertTrue( Hibernate.isInitialized( u2.getEmailAddresses() ) ); + assertFalse( Hibernate.isInitialized( u2.getPermissions() ) ); + assertEquals( u2.getEmailAddresses().size(), 2 ); + s.delete( u2 ); + t.commit(); + s.close(); + } + + public void testUpdateOrder() { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + User u =3D new User( "gavin" ); + u.getSessionData().put( "foo", "foo value" ); + u.getSessionData().put( "bar", "bar value" ); + u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); + u.getEmailAddresses().add( new Email( "gavin(a)hibernate.org" ) ); + u.getEmailAddresses().add( new Email( "gavin(a)illflow.com" ) ); + u.getEmailAddresses().add( new Email( "gavin(a)nospam.com" ) ); + s.persist( u ); + t.commit(); + s.close(); + + u.getSessionData().clear(); + u.getSessionData().put( "baz", "baz value" ); + u.getSessionData().put( "bar", "bar value" ); + u.getEmailAddresses().remove( 0 ); + u.getEmailAddresses().remove( 2 ); + + s =3D openSession(); + t =3D s.beginTransaction(); + s.update( u ); + t.commit(); + s.close(); + + u.getSessionData().clear(); + u.getEmailAddresses().add( 0, new Email( "gavin(a)nospam.com" ) ); + u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); + + s =3D openSession(); + t =3D s.beginTransaction(); + s.update( u ); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + s.delete( u ); + t.commit(); + s.close(); + + } + + public void testValueMap() { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + User u =3D new User( "gavin" ); + u.getSessionData().put( "foo", "foo value" ); + u.getSessionData().put( "bar", null ); + u.getEmailAddresses().add( null ); + u.getEmailAddresses().add( new Email( "gavin.king(a)jboss.com" ) ); + u.getEmailAddresses().add( null ); + u.getEmailAddresses().add( null ); + s.persist( u ); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + User u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); + assertFalse( Hibernate.isInitialized( u2.getSessionData() ) ); + assertEquals( u2.getSessionData().size(), 1 ); + assertEquals( u2.getEmailAddresses().size(), 2 ); + u2.getSessionData().put( "foo", "new foo value" ); + u2.getEmailAddresses().set( 1, new Email( "gavin(a)hibernate.org" ) ); + //u2.getEmailAddresses().remove(3); + //u2.getEmailAddresses().remove(2); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + u2 =3D ( User ) s.createCriteria( User.class ).uniqueResult(); + assertFalse( Hibernate.isInitialized( u2.getSessionData() ) ); + assertEquals( u2.getSessionData().size(), 1 ); + assertEquals( u2.getEmailAddresses().size(), 2 ); + assertEquals( u2.getSessionData().get( "foo" ), "new foo value" ); + assertEquals( ( ( Email ) u2.getEmailAddresses().get( 1 ) ).getAddress()= , "gavin(a)hibernate.org" ); + s.delete( u2 ); + t.commit(); + s.close(); + } + + // HHH-3636 + public void testCollectionInheritance() { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + Zoo zoo =3D new Zoo(); + Mammal m =3D new Mammal(); + m.setMammalName( "name1" ); + m.setMammalName2( "name2" ); + m.setMammalName3( "name3" ); + m.setZoo( zoo ); + zoo.getAnimals().add( m ); + Long id =3D ( Long ) s.save( zoo ); + t.commit(); + s.close(); + + s =3D openSession(); + t =3D s.beginTransaction(); + Zoo found =3D ( Zoo ) s.get( Zoo.class, id ); + found.getAnimals().size(); + s.delete( found ); + t.commit(); + s.close(); + } +} \ No newline at end of file Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original= /Mammal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Ma= mmal.java (rev 0) +++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Ma= mmal.java 2008-12-10 01:40:38 UTC (rev 15673) @@ -0,0 +1,34 @@ +package org.hibernate.test.collection.original; + +public class Mammal extends Animal { + private String mammalName; + private String mammalName2; + private String mammalName3; + + public String getMammalName() { + return mammalName; + } + + public void setMammalName(String mammalName) { + this.mammalName =3D mammalName; + } + + public String getMammalName2() { + return mammalName2; + } + + public void setMammalName2(String mammalName2) { + this.mammalName2 =3D mammalName2; + } + + public String getMammalName3() { + return mammalName3; + } + + public void setMammalName3(String mammalName3) { + this.mammalName3 =3D mammalName3; + } + = + = + +} \ No newline at end of file Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original= /Zoo.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zo= o.hbm.xml (rev 0) +++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zo= o.hbm.xml 2008-12-10 01:40:38 UTC (rev 15673) @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Added: core/branches/Branch_3_2/test/org/hibernate/test/collection/original= /Zoo.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zo= o.java (rev 0) +++ core/branches/Branch_3_2/test/org/hibernate/test/collection/original/Zo= o.java 2008-12-10 01:40:38 UTC (rev 15673) @@ -0,0 +1,24 @@ +package org.hibernate.test.collection.original; + +import java.util.ArrayList; +import java.util.List; + +public class Zoo { + long id; + List animals =3D new ArrayList(); + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public List getAnimals() { + return animals; + } + public void setAnimals(List animals) { + this.animals =3D animals; + } + = + = +} --===============3070217230471483674==-- From hibernate-commits at lists.jboss.org Tue Dec 9 20:47:56 2008 Content-Type: multipart/mixed; boundary="===============8654462437462601047==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15674 - in core/trunk: testsuite/src/test/java/org/hibernate/test/collection/original and 1 other directory. Date: Tue, 09 Dec 2008 20:47:56 -0500 Message-ID: --===============8654462437462601047== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: cbredesen Date: 2008-12-09 20:47:56 -0500 (Tue, 09 Dec 2008) New Revision: 15674 Added: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origina= l/Animal.java core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origina= l/Mammal.java core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origina= l/Zoo.hbm.xml core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origina= l/Zoo.java Modified: core/trunk/core/src/main/java/org/hibernate/persister/entity/AbstractEnt= ityPersister.java core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origina= l/CollectionTest.java Log: HHH-3636 test case + fix Modified: core/trunk/core/src/main/java/org/hibernate/persister/entity/Abst= ractEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/persister/entity/AbstractEn= tityPersister.java 2008-12-10 01:40:38 UTC (rev 15673) +++ core/trunk/core/src/main/java/org/hibernate/persister/entity/AbstractEn= tityPersister.java 2008-12-10 01:47:56 UTC (rev 15674) @@ -2884,8 +2884,8 @@ String[] columnAliases =3D getSubclassColumnAliasClosure(); String[] columns =3D getSubclassColumnClosure(); for ( int i =3D 0; i < subclassColumnNumbers.length; i++ ) { - if ( subclassColumnSelectableClosure[i] ) { - int columnNumber =3D subclassColumnNumbers[i]; + int columnNumber =3D subclassColumnNumbers[i]; + if ( subclassColumnSelectableClosure[columnNumber] ) { final String subalias =3D generateTableAlias( getRootAlias(), columnTa= bleNumbers[columnNumber] ); selectFragment.addColumn( subalias, columns[columnNumber], columnAlias= es[columnNumber] ); } Added: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/ori= ginal/Animal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Animal.java (rev 0) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Animal.java 2008-12-10 01:47:56 UTC (rev 15674) @@ -0,0 +1,33 @@ +package org.hibernate.test.collection.original; + +public class Animal { + long id; + String name; + boolean boolvar; + Zoo zoo; + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public String getName() { + return name; + } + public void setName( String name ) { + this.name =3D name; + } + public boolean isBoolvar() { + return boolvar; + } + public void setBoolvar(boolean boolvar) { + this.boolvar =3D boolvar; + } + public Zoo getZoo() { + return zoo; + } + public void setZoo(Zoo zoo) { + this.zoo =3D zoo; + } +} Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/= original/CollectionTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/CollectionTest.java 2008-12-10 01:40:38 UTC (rev 15673) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/CollectionTest.java 2008-12-10 01:47:56 UTC (rev 15674) @@ -22,7 +22,7 @@ } = public String[] getMappings() { - return new String[] { "collection/original/UserPermissions.hbm.xml" }; + return new String[] { "collection/original/UserPermissions.hbm.xml", "co= llection/original/Zoo.hbm.xml" }; } = public static Test suite() { @@ -223,6 +223,27 @@ s.close(); } = + // HHH-3636 + public void testCollectionInheritance() { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + Zoo zoo =3D new Zoo(); + Mammal m =3D new Mammal(); + m.setMammalName( "name1" ); + m.setMammalName2( "name2" ); + m.setMammalName3( "name3" ); + m.setZoo( zoo ); + zoo.getAnimals().add( m ); + Long id =3D ( Long ) s.save( zoo ); + t.commit(); + s.close(); = -} - + s =3D openSession(); + t =3D s.beginTransaction(); + Zoo found =3D ( Zoo ) s.get( Zoo.class, id ); + found.getAnimals().size(); + s.delete( found ); + t.commit(); + s.close(); + } +} \ No newline at end of file Added: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/ori= ginal/Mammal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Mammal.java (rev 0) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Mammal.java 2008-12-10 01:47:56 UTC (rev 15674) @@ -0,0 +1,34 @@ +package org.hibernate.test.collection.original; + +public class Mammal extends Animal { + private String mammalName; + private String mammalName2; + private String mammalName3; + + public String getMammalName() { + return mammalName; + } + + public void setMammalName(String mammalName) { + this.mammalName =3D mammalName; + } + + public String getMammalName2() { + return mammalName2; + } + + public void setMammalName2(String mammalName2) { + this.mammalName2 =3D mammalName2; + } + + public String getMammalName3() { + return mammalName3; + } + + public void setMammalName3(String mammalName3) { + this.mammalName3 =3D mammalName3; + } + = + = + +} \ No newline at end of file Added: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/ori= ginal/Zoo.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Zoo.hbm.xml (rev 0) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Zoo.hbm.xml 2008-12-10 01:47:56 UTC (rev 15674) @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Added: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/ori= ginal/Zoo.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Zoo.java (rev 0) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/collection/origin= al/Zoo.java 2008-12-10 01:47:56 UTC (rev 15674) @@ -0,0 +1,24 @@ +package org.hibernate.test.collection.original; + +import java.util.ArrayList; +import java.util.List; + +public class Zoo { + long id; + List animals =3D new ArrayList(); + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public List getAnimals() { + return animals; + } + public void setAnimals(List animals) { + this.animals =3D animals; + } + = + = +} --===============8654462437462601047==-- From hibernate-commits at lists.jboss.org Tue Dec 9 20:59:49 2008 Content-Type: multipart/mixed; boundary="===============7985681116828412997==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15675 - in core/branches/Branch_3_3: testsuite/src/test/java/org/hibernate/test/collection/original and 1 other directory. Date: Tue, 09 Dec 2008 20:59:47 -0500 Message-ID: --===============7985681116828412997== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: cbredesen Date: 2008-12-09 20:59:47 -0500 (Tue, 09 Dec 2008) New Revision: 15675 Added: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/coll= ection/original/Animal.java core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/coll= ection/original/Mammal.java core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/coll= ection/original/Zoo.hbm.xml core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/coll= ection/original/Zoo.java Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/enti= ty/AbstractEntityPersister.java core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/coll= ection/original/CollectionTest.java Log: HHH-3636 test case + fix Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/persist= er/entity/AbstractEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/ent= ity/AbstractEntityPersister.java 2008-12-10 01:47:56 UTC (rev 15674) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/ent= ity/AbstractEntityPersister.java 2008-12-10 01:59:47 UTC (rev 15675) @@ -2864,8 +2864,8 @@ String[] columnAliases =3D getSubclassColumnAliasClosure(); String[] columns =3D getSubclassColumnClosure(); for ( int i =3D 0; i < subclassColumnNumbers.length; i++ ) { - if ( subclassColumnSelectableClosure[i] ) { - int columnNumber =3D subclassColumnNumbers[i]; + int columnNumber =3D subclassColumnNumbers[i]; + if ( subclassColumnSelectableClosure[columnNumber] ) { final String subalias =3D generateTableAlias( getRootAlias(), columnTa= bleNumbers[columnNumber] ); selectFragment.addColumn( subalias, columns[columnNumber], columnAlias= es[columnNumber] ); } Added: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/= collection/original/Animal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Animal.java (rev 0) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Animal.java 2008-12-10 01:59:47 UTC (rev 15675) @@ -0,0 +1,33 @@ +package org.hibernate.test.collection.original; + +public class Animal { + long id; + String name; + boolean boolvar; + Zoo zoo; + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public String getName() { + return name; + } + public void setName( String name ) { + this.name =3D name; + } + public boolean isBoolvar() { + return boolvar; + } + public void setBoolvar(boolean boolvar) { + this.boolvar =3D boolvar; + } + public Zoo getZoo() { + return zoo; + } + public void setZoo(Zoo zoo) { + this.zoo =3D zoo; + } +} Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/collection/original/CollectionTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/CollectionTest.java 2008-12-10 01:47:56 UTC (rev 15674) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/CollectionTest.java 2008-12-10 01:59:47 UTC (rev 15675) @@ -22,7 +22,7 @@ } = public String[] getMappings() { - return new String[] { "collection/original/UserPermissions.hbm.xml" }; + return new String[] { "collection/original/UserPermissions.hbm.xml", "co= llection/original/Zoo.hbm.xml" }; } = public static Test suite() { @@ -223,6 +223,27 @@ s.close(); } = + // HHH-3636 + public void testCollectionInheritance() { + Session s =3D openSession(); + Transaction t =3D s.beginTransaction(); + Zoo zoo =3D new Zoo(); + Mammal m =3D new Mammal(); + m.setMammalName( "name1" ); + m.setMammalName2( "name2" ); + m.setMammalName3( "name3" ); + m.setZoo( zoo ); + zoo.getAnimals().add( m ); + Long id =3D ( Long ) s.save( zoo ); + t.commit(); + s.close(); = -} - + s =3D openSession(); + t =3D s.beginTransaction(); + Zoo found =3D ( Zoo ) s.get( Zoo.class, id ); + found.getAnimals().size(); + s.delete( found ); + t.commit(); + s.close(); + } +} \ No newline at end of file Added: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/= collection/original/Mammal.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Mammal.java (rev 0) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Mammal.java 2008-12-10 01:59:47 UTC (rev 15675) @@ -0,0 +1,34 @@ +package org.hibernate.test.collection.original; + +public class Mammal extends Animal { + private String mammalName; + private String mammalName2; + private String mammalName3; + + public String getMammalName() { + return mammalName; + } + + public void setMammalName(String mammalName) { + this.mammalName =3D mammalName; + } + + public String getMammalName2() { + return mammalName2; + } + + public void setMammalName2(String mammalName2) { + this.mammalName2 =3D mammalName2; + } + + public String getMammalName3() { + return mammalName3; + } + + public void setMammalName3(String mammalName3) { + this.mammalName3 =3D mammalName3; + } + = + = + +} \ No newline at end of file Added: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/= collection/original/Zoo.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Zoo.hbm.xml (rev 0) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Zoo.hbm.xml 2008-12-10 01:59:47 UTC (rev 15675) @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file Added: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/= collection/original/Zoo.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Zoo.java (rev 0) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/original/Zoo.java 2008-12-10 01:59:47 UTC (rev 15675) @@ -0,0 +1,24 @@ +package org.hibernate.test.collection.original; + +import java.util.ArrayList; +import java.util.List; + +public class Zoo { + long id; + List animals =3D new ArrayList(); + + public long getId() { + return id; + } + public void setId( long id ) { + this.id =3D id; + } + public List getAnimals() { + return animals; + } + public void setAnimals(List animals) { + this.animals =3D animals; + } + = + = +} --===============7985681116828412997==-- From hibernate-commits at lists.jboss.org Tue Dec 9 21:11:35 2008 Content-Type: multipart/mixed; boundary="===============2251907104856725202==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Tue, 09 Dec 2008 21:11:29 -0500 Message-ID: <200812100211.mBA2BTkf018582@chief.prod.atl2.jboss.com> --===============2251907104856725202== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2251907104856725202== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2xpbmV3YW50LmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLmxpbmV3YW50LmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL2xpbmV3YW50LmNvbS8iPjxiPkJ1 eSBhIHN0eWxpc2ggaXRlbSBvZiB5b3VyIGNob2ljZSE8L2I+PC90ZD48L3RyPjwvdGFibGU+Cjxi cj48YnI+PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iI2YwZjBmMCI+CnN1YmplY3Qgb2YgcmVs aWdpb24gYW5kIGhlYWx0aCBjYXJlLiBIZSByZXBsaWVkIHRoYXQ6VGhlIEZvb2QgTGFib3JhdG9y eSB0ZXN0ZWQgc2FtcGxlcyBvZiBjYXQgZm9vZCByZWNlaXZlZDxicj4KVG9zczogSW5kaWEgd29u LCBhbmQgZWxlY3RlZCB0byBmaWVsZCBmaXJzdC5yZWFsbHkgbW92ZWQgbWUuPC9mb250PjwvQk9E WT48L0hUTUw+Cg== --===============2251907104856725202==-- From hibernate-commits at lists.jboss.org Tue Dec 9 21:52:36 2008 Content-Type: multipart/mixed; boundary="===============4536988907623628999==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Tue, 09 Dec 2008 21:52:33 -0500 Message-ID: <200812100252.mBA2qXTc019484@chief.prod.atl2.jboss.com> --===============4536988907623628999== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4536988907623628999== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vbGluZW5pY2UuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMubGluZW5pY2UuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xp Y2sgSGVyZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJodHRwOi8vbGluZW5pY2UuY29tLyI+PGI+ SHVycnkgdXAsIHRoZSBzdG9jayBpcyBsaW1pdGVkITwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJy Pjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KcmVsaWdpb3VzIHJvb3Rz LiBJIGdyZXcgdXAsIFNvcm9zIHRvbGQgYWNxdWFpbnRhbmNlcyBsYXRlciBpbiBsaWZlLCBpbmxv b2tpbmcgYWZ0ZXIgaGVyIHR3byBzb25zLCBwcmVzaWRpbmcgb3ZlciBhIGhvbWUgdGhhdCBzZWVt ZWQgbW9yZTxicj4KdG8gcGFzcyBoaW1zZWxmIG9mZiBhcyBhIGtpbmQgZ2VudGlsZSBleHByZXNz aW5nIHNvbGlkYXJpdHkgd2l0aCB0aGVtLiBJdHRvIHRoZSBsYXN0IG1pbnV0ZS4gVGhpcyB3YXMg dmVyeSB1bnVzdWFsIGZvciBhIGxhd3llci4gSGUgd2FzIGFsd2F5czwvZm9udD48L0JPRFk+PC9I VE1MPgo= --===============4536988907623628999==-- From hibernate-commits at lists.jboss.org Wed Dec 10 01:28:31 2008 Content-Type: multipart/mixed; boundary="===============5659073132409164145==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Wed, 10 Dec 2008 01:28:26 -0500 Message-ID: <200812100628.mBA6SQso023032@chief.prod.atl2.jboss.com> --===============5659073132409164145== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5659073132409164145== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2xpbmVkZWFyLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLmxpbmVkZWFyLmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL2xpbmVkZWFyLmNvbS8iPjxiPkF0 dGVudGlvbiEgVGhlIHN1cHBseSBpcyBsaW1pdGVkITwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJy Pjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KaGFtbWVyIGFuZCBzdG9s ZSBoaXMgbW9iaWxlIHBob25lIGFuZCB3YWxsZXQuIFRoZVRoZSBUb3JvbnRvIFN0b2NrIEV4Y2hh bmdlIGV4cGVyaWVuY2VkIG9uZSBvZiBpdHM8YnI+CjE5MTkgLSBLb3JlYSB1bmRlciBKYXBhbmVz ZSBydWxlOiBUaGUgU2FtaWwgTW92ZW1lbnR3ZWxsIGFzIG11c2ljIHZpZGVvIG9yIGNvbW1lbnRh cnkgYW5kIGJlc3QgY29tZWR5LiBUaGU8L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============5659073132409164145==-- From hibernate-commits at lists.jboss.org Wed Dec 10 05:01:16 2008 Content-Type: multipart/mixed; boundary="===============6300037620186997240==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Wed, 10 Dec 2008 05:01:13 -0500 Message-ID: <200812101001.mBAA1DJa028001@chief.prod.atl2.jboss.com> --===============6300037620186997240== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6300037620186997240== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2RlYXJyZXBseS5jb20vIj48aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5kZWFycmVwbHkuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xp Y2sgSGVyZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJodHRwOi8vZGVhcnJlcGx5LmNvbS8iPjxi PllvdSB3b24ndCBmaW5kIHN1Y2ggY2xhc3N5IHRoaW5ncyBpbiBhbnkgb3RoZXIgcGxhY2UhIDwv Yj48L3RkPjwvdHI+PC90YWJsZT4KPGJyPjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIj ZjBmMGYwIj4KQ2hhbXBpb25zIExlYWd1ZSBlYXJsaWVyIHRvZGF5IGFmdGVyIGRlZmVhdGluZyBM aWxsZSAxLTBwbGF5ZWQgc3Ryb25nbHkgaW4gdGhlIG1pZGZpZWxkIHRvIGRpY3RhdGUgdGhlIHBs YXkgZm9yPGJyPgpjb21wYW55LCBUcmsgVGVsZWtvbSwgaGFzIHB1dCB0aGUgb3JkZXIgaW50byBl ZmZlY3QsYmFubmVkLiBQSUEgaGFzIHJlZGVwbG95ZWQgaXRzIEJvZWluZyA3NzcgamV0cyBmcm9t IFVTPC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============6300037620186997240==-- From hibernate-commits at lists.jboss.org Wed Dec 10 07:01:47 2008 Content-Type: multipart/mixed; boundary="===============2942251688218478288==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15676 - in core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test: emops and 3 other directories. Date: Wed, 10 Dec 2008 07:01:47 -0500 Message-ID: --===============2942251688218478288== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-10 07:01:47 -0500 (Wed, 10 Dec 2008) New Revision: 15676 Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/callbacks/= CallbacksTest.java core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/Flus= hTest.java core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/exception/= ExceptionTest.java core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/lock/LockT= est.java core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/transactio= n/FlushAndTransactionTest.java Log: EJB-407 - Fixing the test cases, to close the EM and/or finish the active t= ransaction Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/cal= lbacks/CallbacksTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/callbacks= /CallbacksTest.java 2008-12-10 01:59:47 UTC (rev 15675) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/callbacks= /CallbacksTest.java 2008-12-10 12:01:47 UTC (rev 15676) @@ -116,6 +116,7 @@ em.flush(); assertNotNull( rc.getCreationDate() ); em.getTransaction().rollback(); + em.close(); } = public void testCallBackListenersHierarchy() throws Exception { Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emo= ps/FlushTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/Flu= shTest.java 2008-12-10 01:59:47 UTC (rev 15675) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/Flu= shTest.java 2008-12-10 12:01:47 UTC (rev 15676) @@ -66,7 +66,10 @@ for (Decorate value : founds) { assertTrue( names.contains( value.getPet().getName() ) ); } + manager.getTransaction().rollback(); = + manager.close(); + = } = public Dog createDog(String name, double weight, int bones, EntityManager= manager) { Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/exc= eption/ExceptionTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/exception= /ExceptionTest.java 2008-12-10 01:59:47 UTC (rev 15675) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/exception= /ExceptionTest.java 2008-12-10 12:01:47 UTC (rev 15676) @@ -99,6 +99,7 @@ catch( PersistenceException e ) { Throwable t =3D e.getCause(); assertTrue("Should be a constraint violation", t instanceof ConstraintV= iolationException); + em.getTransaction().rollback(); } finally { em.close(); Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/loc= k/LockTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/lock/Lock= Test.java 2008-12-10 01:59:47 UTC (rev 15675) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/lock/Lock= Test.java 2008-12-10 12:01:47 UTC (rev 15676) @@ -30,6 +30,8 @@ assertEquals( "surname", lock.getName() ); em.remove( lock ); em.getTransaction().commit(); + = + em.close(); } = public void testLockWrite() throws Exception { Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/tra= nsaction/FlushAndTransactionTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/transacti= on/FlushAndTransactionTest.java 2008-12-10 01:59:47 UTC (rev 15675) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/transacti= on/FlushAndTransactionTest.java 2008-12-10 12:01:47 UTC (rev 15676) @@ -42,6 +42,7 @@ em.getTransaction().begin(); em.remove( em.find( Book.class, book.id ) ); em.getTransaction().commit(); + em.close(); } = // public void testTransactionalOperationsWhenTransactional() throws Excep= tion { --===============2942251688218478288==-- From hibernate-commits at lists.jboss.org Wed Dec 10 07:05:06 2008 Content-Type: multipart/mixed; boundary="===============7391137720627319944==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15677 - in core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test: inheritance and 2 other directories. Date: Wed, 10 Dec 2008 07:05:04 -0500 Message-ID: --===============7391137720627319944== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-10 07:05:04 -0500 (Wed, 10 Dec 2008) New Revision: 15677 Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/Race= .java core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/inheritanc= e/Strawberry.java core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/lock/Lock.= java core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/ops/Worklo= ad.java Log: EJB-405 - Changed the column name for properties which are reserved keyword= s in some databases Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emo= ps/Race.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/Rac= e.java 2008-12-10 12:01:47 UTC (rev 15676) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/emops/Rac= e.java 2008-12-10 12:05:04 UTC (rev 15677) @@ -18,7 +18,7 @@ @Entity public class Race { @Id @GeneratedValue public Integer id; - @IndexColumn( name=3D"index" ) @OneToMany(cascade =3D CascadeType.ALL, fe= tch =3D FetchType.EAGER) + @IndexColumn( name=3D"index_" ) @OneToMany(cascade =3D CascadeType.ALL, f= etch =3D FetchType.EAGER) @org.hibernate.annotations.Cascade( { org.hibernate.annotations.CascadeTy= pe.ALL, org.hibernate.annotations.CascadeType.DELETE_ORPHAN }) = public List competitors =3D new ArrayList(); public String name; Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/inh= eritance/Strawberry.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/inheritan= ce/Strawberry.java 2008-12-10 12:01:47 UTC (rev 15676) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/inheritan= ce/Strawberry.java 2008-12-10 12:05:04 UTC (rev 15677) @@ -1,6 +1,7 @@ //$Id$ package org.hibernate.ejb.test.inheritance; = +import javax.persistence.Column; import javax.persistence.Entity; = /** @@ -10,6 +11,7 @@ public class Strawberry extends Fruit { private Long size; = + @Column(name=3D"size_") public Long getSize() { return size; } Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/loc= k/Lock.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/lock/Lock= .java 2008-12-10 12:01:47 UTC (rev 15676) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/lock/Lock= .java 2008-12-10 12:05:04 UTC (rev 15677) @@ -9,7 +9,7 @@ /** * @author Emmanuel Bernard */ -(a)Entity +(a)Entity(name=3D"Lock_") public class Lock { private Integer id; private Integer version; Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/ops= /Workload.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/ops/Workl= oad.java 2008-12-10 12:01:47 UTC (rev 15676) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/ops/Workl= oad.java 2008-12-10 12:05:04 UTC (rev 15677) @@ -1,6 +1,7 @@ //$Id$ package org.hibernate.ejb.test.ops; = +import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; @@ -14,5 +15,6 @@ @GeneratedValue public Integer id; public String name; + @Column(name=3D"load_") public Integer load; } --===============7391137720627319944==-- From hibernate-commits at lists.jboss.org Wed Dec 10 07:27:38 2008 Content-Type: multipart/mixed; boundary="===============1550424069095690790==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Wed, 10 Dec 2008 07:27:36 -0500 Message-ID: <200812101227.mBACRaqa001496@chief.prod.atl2.jboss.com> --===============1550424069095690790== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1550424069095690790== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3RpbGxwYWNlLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLnRpbGxwYWNlLmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL3RpbGxwYWNlLmNvbS8iPjxiPllv dSBzaG91bGQgaHVycnksIGFzIHN1cHBseSBpcyB3YW5pbmchPC9iPjwvdGQ+PC90cj48L3RhYmxl Pgo8YnI+PGJyPjxicj48Zm9udCBzaXplPSItMiIgY29sb3I9IiNmMGYwZjAiPgpPbmUgQnJpdGlz aCB0ZWxldmlzaW9uIHJlcG9ydGVyIGRlY2xhcmVkOiBUaGUgZ292ZXJubWVudHMgY29tbWl0bWVu dGVudGVyaW5nIHRoZSBmaWVsZCwgc3RyYW5nZXIgc3RpbGwgdGhhdCBoZSB3b3VsZCBjaG9vc2Ug UGF1bCBSZWljaG1hbm48YnI+CmJ1c2luZXNzcGVvcGxlIGluIHRoZSBjb3VudHJ5LCByaXZhbGlu ZyB0aGUgdHJhZGluZ1VudGlsIGVhcmx5IGluIDE5OTMsIFNvcm9zIGhhZCBzdGF5ZWQgYXdheSBm cm9tIGludmVzdG1lbnRzIGluPC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============1550424069095690790==-- From hibernate-commits at lists.jboss.org Wed Dec 10 09:51:08 2008 Content-Type: multipart/mixed; boundary="===============5309034074239765927==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Wed, 10 Dec 2008 09:51:05 -0500 Message-ID: <200812101451.mBAEp5t7006949@chief.prod.atl2.jboss.com> --===============5309034074239765927== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5309034074239765927== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2Jhc2VwYWNlLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLmJhc2VwYWNlLmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL2Jhc2VwYWNlLmNvbS8iPjxiPk91 ciBzdG9yZSBpcyB3YWl0aW5nIGZvciB5b3UhPC9iPjwvdGQ+PC90cj48L3RhYmxlPgo8YnI+PGJy Pjxicj48Zm9udCBzaXplPSItMiIgY29sb3I9IiNmMGYwZjAiPgpMdC4gR2VuLiBLaWxleSB3YXMg aGVhdmlseSBjcml0aWNpemVkIGZvciBoaXMgYWN0aW9ucyBhdEthaG4gaXMgYSBoaWdobHkgZXhw ZXJpZW5jZWQgZ29hbGtlZXBlciwgY3VycmVudGx5PGJyPgpzZWNvbmQgcm91bmQgYmV0d2VlbiB0 aGUgdHdvIGNhbmRpZGF0ZXMgd2l0aCB0aGUgbW9zdHN1cnBsdXMgaXMgbmVhcjwvZm9udD48L0JP RFk+PC9IVE1MPgo= --===============5309034074239765927==-- From hibernate-commits at lists.jboss.org Wed Dec 10 11:02:37 2008 Content-Type: multipart/mixed; boundary="===============1296376198353439589==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Wed, 10 Dec 2008 11:02:28 -0500 Message-ID: <200812101602.mBAG2SsB009256@chief.prod.atl2.jboss.com> --===============1296376198353439589== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1296376198353439589== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3dpc2RvbXNoYXBlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly93 aXNkb21zaGFwZS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+ PC9CT0RZPjwvSFRNTD4K --===============1296376198353439589==-- From hibernate-commits at lists.jboss.org Wed Dec 10 11:23:10 2008 Content-Type: multipart/mixed; boundary="===============2994130316471850356==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15678 - core/trunk/testsuite/src/test/java/org/hibernate/test/filter. Date: Wed, 10 Dec 2008 11:23:10 -0500 Message-ID: --===============2994130316471850356== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-10 11:23:10 -0500 (Wed, 10 Dec 2008) New Revision: 15678 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/filter/DynamicFilt= erTest.java Log: HHH-3637 - makes the test to be evicted if the Dialect is the Sybase one, b= ased on similar eviction code from other tests Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/filter/Dyna= micFilterTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/filter/DynamicFil= terTest.java 2008-12-10 12:05:04 UTC (rev 15677) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/filter/DynamicFil= terTest.java 2008-12-10 16:23:10 UTC (rev 15678) @@ -27,6 +27,7 @@ import org.hibernate.criterion.DetachedCriteria; import org.hibernate.criterion.Property; import org.hibernate.criterion.Subqueries; +import org.hibernate.dialect.SybaseDialect; import org.hibernate.engine.SessionImplementor; import org.hibernate.impl.SessionFactoryImpl; import org.hibernate.junit.functional.FunctionalTestCase; @@ -70,6 +71,10 @@ } = public void testSqlSyntaxOfFiltersWithUnions() { + // HHH-3637 - Union in where doesn't works for Sybase, need to evict tes= t case + if ( ( getDialect() instanceof SybaseDialect) ) { + return; + } Session session =3D openSession(); session.enableFilter( "unioned" ); session.createQuery( "from Category" ).list(); --===============2994130316471850356==-- From hibernate-commits at lists.jboss.org Wed Dec 10 11:55:01 2008 Content-Type: multipart/mixed; boundary="===============0729538674870967912==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15679 - core/trunk/testsuite/src/test/java/org/hibernate/test/hql. Date: Wed, 10 Dec 2008 11:55:01 -0500 Message-ID: --===============0729538674870967912== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-10 11:55:00 -0500 (Wed, 10 Dec 2008) New Revision: 15679 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoadi= ngTest.java Log: HHH-3640 - Evicting some tests for Sybase on ASTParserLoadingTest, due to u= nsupported functions Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTPars= erLoadingTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoad= ingTest.java 2008-12-10 16:23:10 UTC (rev 15678) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoad= ingTest.java 2008-12-10 16:55:00 UTC (rev 15679) @@ -1841,7 +1841,7 @@ hql =3D "select locate('cat', a.description, 2) from Animal a"; session.createQuery(hql).list(); = - if ( !( getDialect() instanceof DB2Dialect ) ) { + if ( !( getDialect() instanceof DB2Dialect || getDialect() instanceof Sy= baseDialect) ) { hql =3D "from Animal a where trim(trailing '_' from a.description) =3D = 'cat'"; session.createQuery(hql).list(); = @@ -1863,15 +1863,17 @@ hql =3D "from Animal a where abs(a.bodyWeight) =3D sqrt(a.bodyWeight)"; session.createQuery(hql).list(); = - hql =3D "from Animal a where mod(16, 4) =3D 4"; - session.createQuery(hql).list(); + if ( !( getDialect() instanceof SybaseDialect) ) { + hql =3D "from Animal a where mod(16, 4) =3D 4"; + session.createQuery(hql).list(); = - hql =3D "from Animal a where bit_length(a.bodyWeight) =3D 24"; - session.createQuery(hql).list(); + hql =3D "select bit_length(a.bodyWeight) from Animal a"; + session.createQuery(hql).list(); = - hql =3D "select bit_length(a.bodyWeight) from Animal a"; - session.createQuery(hql).list(); - + hql =3D "from Animal a where bit_length(a.bodyWeight) =3D 24"; + session.createQuery(hql).list(); + } + = /*hql =3D "select object(a) from Animal a where CURRENT_DATE =3D :p1 or = CURRENT_TIME =3D :p2 or CURRENT_TIMESTAMP =3D :p3"; session.createQuery(hql).list();*/ = --===============0729538674870967912==-- From hibernate-commits at lists.jboss.org Wed Dec 10 11:56:11 2008 Content-Type: multipart/mixed; boundary="===============3854012594119421590==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15680 - core/trunk/testsuite/src/test/java/org/hibernate/test/collection/backref/map/compkey. Date: Wed, 10 Dec 2008 11:56:10 -0500 Message-ID: --===============3854012594119421590== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-10 11:56:10 -0500 (Wed, 10 Dec 2008) New Revision: 15680 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/backref= /map/compkey/Mappings.hbm.xml Log: HHH-3639 - Column 'role' becomes 'roles_', because 'role' is a reserved key= word in Sybase Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/collection/= backref/map/compkey/Mappings.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/collection/backre= f/map/compkey/Mappings.hbm.xml 2008-12-10 16:55:00 UTC (rev 15679) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/collection/backre= f/map/compkey/Mappings.hbm.xml 2008-12-10 16:56:10 UTC (rev 15680) @@ -31,7 +31,7 @@ - + --===============3854012594119421590==-- From hibernate-commits at lists.jboss.org Wed Dec 10 11:57:14 2008 Content-Type: multipart/mixed; boundary="===============2524240071375240297==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15681 - in core/branches/Branch_3_2_4_SP1_CP: src/org/hibernate/property and 1 other directories. Date: Wed, 10 Dec 2008 11:57:13 -0500 Message-ID: --===============2524240071375240297== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: cbredesen Date: 2008-12-10 11:57:13 -0500 (Wed, 10 Dec 2008) New Revision: 15681 Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/engine/StatefulPersi= stenceContext.java core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/property/BackrefProp= ertyAccessor.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/Backref= Test.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/Child.j= ava Log: Backport of JBPAPP-1467 Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/engine/Statef= ulPersistenceContext.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/engine/StatefulPers= istenceContext.java 2008-12-10 16:56:10 UTC (rev 15680) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/engine/StatefulPers= istenceContext.java 2008-12-10 16:57:13 UTC (rev 15681) @@ -1052,72 +1052,122 @@ } = /** - * Search the persistence context for an owner for the child object, - * given a collection role. If mergeMap is non-null, also - * check the detached graph being merged for a parent. + * Search this persistence context for an associated entity inst= ance which is considered the "owner" of + * the given childEntity, and return that owner's id value. Thi= s is performed in the scenario of a + * uni-directional, non-inverse one-to-many collection (which means that = the collection elements do not maintain + * a direct reference to the owner). + *

    + * As such, the processing here is basically to loop over every entity cu= rrently associated with this persistence + * context and for those of the correct entity (sub) type to extract its = collection role property value and see + * if the child is contained within that collection. If so, we have foun= d the owner; if not, we go on. + *

    + * Also need to account for mergeMap which acts as a local copy = cache managed for the duration of a merge + * operation. It represents a map of the detached entity instances point= ing to the corresponding managed instance. + * + * @param entityName The entity name for the entity type which would own = the child + * @param propertyName The name of the property on the owning entity type= which would name this child association. + * @param childEntity The child entity instance for which to locate the o= wner instance id. + * @param mergeMap A map of non-persistent instances from an on-going mer= ge operation (possibly null). + * + * @return The id of the entityName instance which is said to own the chi= ld; null if an appropriate owner not + * located. */ - public Serializable getOwnerId(String entity, String property, Object chi= ldEntity, Map mergeMap) { - = - EntityPersister persister =3D session.getFactory() - .getEntityPersister(entity); - final CollectionPersister collectionPersister =3D session.getFactory() - .getCollectionPersister(entity + '.' + property); - = + public Serializable getOwnerId(String entityName, String propertyName, Ob= ject childEntity, Map mergeMap) { + final String collectionRole =3D entityName + '.' + propertyName; + final EntityPersister persister =3D session.getFactory().getEntityPersis= ter( entityName ); + final CollectionPersister collectionPersister =3D session.getFactory().g= etCollectionPersister( collectionRole ); + + // iterate all the entities currently associated with the persistence co= ntext. Iterator entities =3D entityEntries.entrySet().iterator(); while ( entities.hasNext() ) { - Map.Entry me =3D (Map.Entry) entities.next(); - EntityEntry ee =3D (EntityEntry) me.getValue(); - if ( persister.isSubclassEntityName( ee.getEntityName() ) ) { - Object instance =3D me.getKey(); + final Map.Entry me =3D ( Map.Entry ) entities.next(); + final EntityEntry entityEntry =3D ( EntityEntry ) me.getValue(); + // does this entity entry pertain to the entity persister in which we a= re interested (owner)? + if ( persister.isSubclassEntityName( entityEntry.getEntityName() ) ) { + final Object entityEntryInstance =3D me.getKey(); = //check if the managed object is the parent - boolean found =3D isFoundInParent( = - property, = - childEntity, = - persister, = + boolean found =3D isFoundInParent( + propertyName, + childEntity, + persister, collectionPersister, - instance = - ); + entityEntryInstance + ); = - if (!found && mergeMap!=3Dnull) { + if ( !found && mergeMap !=3D null ) { //check if the detached object being merged is the parent - Object unmergedInstance =3D mergeMap.get(instance); - Object unmergedChild =3D mergeMap.get(childEntity); - if ( unmergedInstance!=3Dnull && unmergedChild!=3Dnull ) { - found =3D isFoundInParent( = - property, = - unmergedChild, = - persister, = + Object unmergedInstance =3D mergeMap.get( entityEntryInstance ); + Object unmergedChild =3D mergeMap.get( childEntity ); + if ( unmergedInstance !=3D null && unmergedChild !=3D null ) { + found =3D isFoundInParent( + propertyName, + unmergedChild, + persister, collectionPersister, - unmergedInstance = - ); + unmergedInstance + ); } } - = + if ( found ) { - return ee.getId(); + return entityEntry.getId(); } - = + } } + + // if we get here, it is possible that we have a proxy 'in the way' of t= he merge map resolution... + // NOTE: decided to put this here rather than in the above loop as I w= as nervous about the performance + // of the loop-in-loop especially considering this is far more likely t= he 'edge case' + if ( mergeMap !=3D null ) { + Iterator mergeMapItr =3D mergeMap.entrySet().iterator(); + while ( mergeMapItr.hasNext() ) { + final Map.Entry mergeMapEntry =3D ( Map.Entry ) mergeMapItr.next(); + if ( mergeMapEntry.getKey() instanceof HibernateProxy ) { + final HibernateProxy proxy =3D ( HibernateProxy ) mergeMapEntry.getKe= y(); + if ( persister.isSubclassEntityName( proxy.getHibernateLazyInitialize= r().getEntityName() ) ) { + boolean found =3D isFoundInParent( + propertyName, + childEntity, + persister, + collectionPersister, + mergeMap.get( proxy ) + ); + if ( !found ) { + found =3D isFoundInParent( + propertyName, + mergeMap.get( childEntity ), + persister, + collectionPersister, + mergeMap.get( proxy ) + ); + } + if ( found ) { + return proxy.getHibernateLazyInitializer().getIdentifier(); + } + } + } + } + } + return null; } = private boolean isFoundInParent( - String property, = - Object childEntity, = - EntityPersister persister, = + String property, + Object childEntity, + EntityPersister persister, CollectionPersister collectionPersister, - Object potentialParent - ) { - Object collection =3D persister.getPropertyValue( = - potentialParent, = - property, = - session.getEntityMode() = - ); - return collection!=3Dnull && Hibernate.isInitialized(collection) && - collectionPersister.getCollectionType() - .contains(collection, childEntity, session); + Object potentialParent) { + Object collection =3D persister.getPropertyValue( + potentialParent, + property, + session.getEntityMode() + ); + return collection !=3D null + && Hibernate.isInitialized( collection ) = + && collectionPersister.getCollectionType().contains( collection, child= Entity, session ); } = /** Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/property/Back= refPropertyAccessor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/property/BackrefPro= pertyAccessor.java 2008-12-10 16:56:10 UTC (rev 15680) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/property/BackrefPro= pertyAccessor.java 2008-12-10 16:57:13 UTC (rev 15681) @@ -1,67 +1,112 @@ -//$Id$ +/* + * Copyright (c) 2007, Red Hat Middleware, LLC. All rights reserved. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, v. 2.1. This program is distributed in t= he + * hope that it will be useful, but WITHOUT A WARRANTY; without even the i= mplied + * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See th= e GNU + * Lesser General Public License for more details. You should have receive= d a + * copy of the GNU Lesser General Public License, v.2.1 along with this + * distribution; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. + * + * Red Hat Author(s): Gavin King, Steve Ebersole + */ package org.hibernate.property; = +import java.io.Serializable; import java.lang.reflect.Method; import java.util.Map; -import java.io.Serializable; = -import org.hibernate.HibernateException; +import org.hibernate.engine.SessionFactoryImplementor; import org.hibernate.engine.SessionImplementor; -import org.hibernate.engine.SessionFactoryImplementor; = /** - * Represents a "back-reference" to the id of a collection owner. + * Represents a "back-reference" to the id of a collection owner. A "back= -reference" is pertinent in mapping scenarios + * where we have a uni-directional one-to-many association in which only t= he many side is mapped. In this case it is + * the collection itself which is responsible for the FK value. + *

    + * In this scenario, the one side has no inherent knowledge of its "owner"= . So we introduce a synthetic property into + * the one side to represent the association; a so-called back-reference. * * @author Gavin King + * @author Steve Ebersole */ public class BackrefPropertyAccessor implements PropertyAccessor { = private final String propertyName; private final String entityName; = + // cache these since they are stateless + private final BackrefSetter setter; // this one could even be static... + private final BackrefGetter getter; + /** * A placeholder for a property value, indicating that * we don't know the value of the back reference */ public static final Serializable UNKNOWN =3D new Serializable() { - public String toString() { return ""; } + public String toString() { + return ""; + } + public Object readResolve() { return UNKNOWN; } }; - = + /** * Constructs a new instance of BackrefPropertyAccessor. * * @param collectionRole The collection role which this back ref referenc= es. + * @param entityName The owner's entity name. */ public BackrefPropertyAccessor(String collectionRole, String entityName) { this.propertyName =3D collectionRole.substring( entityName.length() + 1 = ); this.entityName =3D entityName; + + this.setter =3D new BackrefSetter(); + this.getter =3D new BackrefGetter(); } = + /** + * {@inheritDoc} + */ public Setter getSetter(Class theClass, String propertyName) { - return new BackrefSetter(); + return setter; } = + /** + * {@inheritDoc} + */ public Getter getGetter(Class theClass, String propertyName) { - return new BackrefGetter(); + return getter; } = = /** - * The Setter implementation for id backrefs. + * Internal implementation of a property setter specific to these back-re= f properties. */ public static final class BackrefSetter implements Setter { = + /** + * {@inheritDoc} + */ public Method getMethod() { return null; } = + /** + * {@inheritDoc} + */ public String getMethodName() { return null; } = + /** + * {@inheritDoc} + */ public void set(Object target, Object value, SessionFactoryImplementor f= actory) { // this page intentionally left blank :) } @@ -70,33 +115,46 @@ = = /** - * The Getter implementation for id backrefs. + * Internal implementation of a property getter specific to these back-re= f properties. */ public class BackrefGetter implements Getter { - = - public Object getForInsert(Object target, Map mergeMap, SessionImplement= or session) - throws HibernateException { - if (session=3D=3Dnull) { + + /** + * {@inheritDoc} + */ + public Object getForInsert(Object target, Map mergeMap, SessionImplement= or session) { + if ( session =3D=3D null ) { return UNKNOWN; } else { - return session.getPersistenceContext() - .getOwnerId( entityName, propertyName, target, mergeMap ); + return session.getPersistenceContext().getOwnerId( entityName, propert= yName, target, mergeMap ); } } = - public Object get(Object target) { + /** + * {@inheritDoc} + */ + public Object get(Object target) { return UNKNOWN; } = + /** + * {@inheritDoc} + */ public Method getMethod() { return null; } = + /** + * {@inheritDoc} + */ public String getMethodName() { return null; } = + /** + * {@inheritDoc} + */ public Class getReturnType() { return Object.class; } Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/= BackrefTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/Backre= fTest.java 2008-12-10 16:56:10 UTC (rev 15680) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/Backre= fTest.java 2008-12-10 16:57:13 UTC (rev 15681) @@ -3,6 +3,7 @@ = import junit.framework.Test; = +import org.hibernate.Hibernate; import org.hibernate.Session; import org.hibernate.Transaction; import org.hibernate.junit.functional.FunctionalTestCase; @@ -84,5 +85,37 @@ t.commit(); s.close(); } + + public void testBackRefToProxiedEntityOnMerge() { + Session s =3D openSession(); + s.beginTransaction(); + Parent me =3D new Parent( "Steve" ); + me.getChildren().add( new Child( "Joe" ) ); + s.persist( me ); + s.getTransaction().commit(); + s.close(); + + // while detached, add a new element + me.getChildren().add( new Child( "Cece" ) ); + me.getChildren().add( new Child( "Austin" ) ); + + s =3D openSession(); + s.beginTransaction(); + // load 'me' to associate it with the new session as a proxy (this may h= ave occurred as 'prior work' + // to the reattachment below)... + Object meProxy =3D s.load( Parent.class, me.getName() ); + assertFalse( Hibernate.isInitialized( meProxy ) ); + // now, do the reattchment... + s.merge( me ); + s.getTransaction().commit(); + s.close(); + + s =3D openSession(); + s.beginTransaction(); + s.createQuery( "delete from Child" ).executeUpdate(); + s.createQuery( "delete from Parent" ).executeUpdate(); + s.getTransaction().commit(); + s.close(); + } } = Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/= Child.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/Child.= java 2008-12-10 16:56:10 UTC (rev 15680) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/unidir/Child.= java 2008-12-10 16:57:13 UTC (rev 15681) @@ -8,19 +8,31 @@ public class Child { private String name; private int age; - Child() {} + + Child() { + } + public Child(String name) { + this( name, 0 ); + } + + public Child(String name, int age) { this.name =3D name; + this.age =3D age; } + public String getName() { return name; } + public void setName(String name) { this.name =3D name; } + public int getAge() { return age; } + public void setAge(int age) { this.age =3D age; } --===============2524240071375240297==-- From hibernate-commits at lists.jboss.org Wed Dec 10 12:09:03 2008 Content-Type: multipart/mixed; boundary="===============5091653955213980370==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Wed, 10 Dec 2008 12:09:01 -0500 Message-ID: <200812101709.mBAH91tO011715@chief.prod.atl2.jboss.com> --===============5091653955213980370== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5091653955213980370== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2ZsYXR0aWxsLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLmZsYXR0aWxsLmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNr IEhlcmUhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL2ZsYXR0aWxsLmNvbS8iPjxiPllv dSdyZSBpbnZpdGVkIHRvIHNlZSBvdXIgZW50aXJlIGNvbGxlY3Rpb24hPC9iPjwvdGQ+PC90cj48 L3RhYmxlPgo8YnI+PGJyPjxicj48Zm9udCBzaXplPSItMiIgY29sb3I9IiNmMGYwZjAiPgpub3J0 aHdlc3Rlcm4gT250YXJpbywgYW5kIHRoYXQncyB0aGUgY2FuY2VyIHJlc2VhcmNoRm9zc2lsaXpl ZCByZW1haW5zIG9mICJidXJyb3dpbmciIGRpbm9zYXVyIGZvdW5kIGluPGJyPgp3aWxsIGxpdmUg aW4gdGhlIGhpdmUuIElmIEkgaGFkIHRvIGd1ZXNzLCA0MCBwZXJjZW50IG9mMDE6MTAgR01UIG9u IDIxIE1hcmNoLCBqdXN0IGxlc3MgdGhhbiBhIHllYXIgYWZ0ZXIgaXRzPC9mb250PjwvQk9EWT48 L0hUTUw+Cg== --===============5091653955213980370==-- From hibernate-commits at lists.jboss.org Wed Dec 10 12:09:06 2008 Content-Type: multipart/mixed; boundary="===============3502994505487127757==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Wed, 10 Dec 2008 12:09:04 -0500 Message-ID: <200812101709.mBAH94jL011729@chief.prod.atl2.jboss.com> --===============3502994505487127757== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3502994505487127757== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vdmVyYnJpc2UuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL3Zl cmJyaXNlLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2lu ZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JP RFk+PC9IVE1MPgo= --===============3502994505487127757==-- From hibernate-commits at lists.jboss.org Wed Dec 10 14:04:25 2008 Content-Type: multipart/mixed; boundary="===============2538750330572273567==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Wed, 10 Dec 2008 14:04:23 -0500 Message-ID: <200812101904.mBAJ4N0g015512@chief.prod.atl2.jboss.com> --===============2538750330572273567== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2538750330572273567== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcHJvc3Blcml0eWxpc3QuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL3Byb3NwZXJpdHlsaXN0LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFn ZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============2538750330572273567==-- From hibernate-commits at lists.jboss.org Wed Dec 10 17:39:19 2008 Content-Type: multipart/mixed; boundary="===============1246111646623647569==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Wed, 10 Dec 2008 17:39:17 -0500 Message-ID: <200812102239.mBAMdHlC020833@chief.prod.atl2.jboss.com> --===============1246111646623647569== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1246111646623647569== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vdGlsbGZsYXQuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMudGlsbGZsYXQuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2xp Y2sgSGVyZSEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJodHRwOi8vdGlsbGZsYXQuY29tLyI+PGI+ RG9uJ3QgbWlzcyB0aGlzIHNwZWNpYWwgb2ZmZXIgb3V0ITwvYj48L3RkPjwvdHI+PC90YWJsZT4K PGJyPjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSIjZjBmMGYwIj4KcHV0dGluZyBTYWhh IGluIHBsYWNlIG9mIExhcnNzb24sIHdobyB3YXMgcGxheWluZyBoaXNhZ2FpbnN0IHRoZSBzdHVk ZW50cycgcHJvdGVzdHMuIjxicj4KU2hldmNoZW5rbyB0aGVuIHRyaWVkIHRvIGJlY29tZSBwcm92 aWRlciwgYXMgaGUgc3dlcHQgaW5hbmQgY2hvb3NlIGluZGl2aWR1YWwgY2hhbm5lbHMuPC9mb250 PjwvQk9EWT48L0hUTUw+Cg== --===============1246111646623647569==-- From hibernate-commits at lists.jboss.org Wed Dec 10 19:32:23 2008 Content-Type: multipart/mixed; boundary="===============5379131368966033446==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Wed, 10 Dec 2008 19:32:18 -0500 Message-ID: <200812110032.mBB0WIeG023700@chief.prod.atl2.jboss.com> --===============5379131368966033446== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5379131368966033446== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbWFkZXRpbnkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL21h ZGV0aW55LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2lu ZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JP RFk+PC9IVE1MPgo= --===============5379131368966033446==-- From hibernate-commits at lists.jboss.org Wed Dec 10 23:48:12 2008 Content-Type: multipart/mixed; boundary="===============1358951571717000245==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Wed, 10 Dec 2008 23:48:09 -0500 Message-ID: <200812110448.mBB4m9Ke028132@chief.prod.atl2.jboss.com> --===============1358951571717000245== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1358951571717000245== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vb3B0aW1pc21sYWtlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9vcHRpbWlzbWxha2UuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+ PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============1358951571717000245==-- From hibernate-commits at lists.jboss.org Thu Dec 11 05:23:05 2008 Content-Type: multipart/mixed; boundary="===============2917346610507340415==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Thu, 11 Dec 2008 05:22:58 -0500 Message-ID: <200812111023.mBBAMwNt002837@chief.prod.atl2.jboss.com> --===============2917346610507340415== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2917346610507340415== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2RvbGxhcnByZXR0eS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v ZG9sbGFycHJldHR5LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============2917346610507340415==-- From hibernate-commits at lists.jboss.org Thu Dec 11 06:47:22 2008 Content-Type: multipart/mixed; boundary="===============3426811363937898085==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Thu, 11 Dec 2008 06:47:15 -0500 Message-ID: <200812111147.mBBBlFkn005369@chief.prod.atl2.jboss.com> --===============3426811363937898085== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3426811363937898085== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vZ2VuZXJvc2l0eW5vdW4uY29tLyI+PGltZyBzcmM9Imh0 dHA6Ly9nZW5lcm9zaXR5bm91bi5jb20vaW9yZXV1NzguanBnIiBib3JkZXI9MCBhbHQ9IlZpc2l0 IHNpdGUgbm93ISI+PC9hPjxicj4KPGJyPjwvdGQ+PC90cj48L3RhYmxlPjwvQk9EWT48L0hUTUw+ Cg== --===============3426811363937898085==-- From hibernate-commits at lists.jboss.org Thu Dec 11 07:42:46 2008 Content-Type: multipart/mixed; boundary="===============4271919915452535554==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15682 - core/trunk/annotations/src/test/java/org/hibernate/test/annotations/immutable. Date: Thu, 11 Dec 2008 07:42:46 -0500 Message-ID: --===============4271919915452535554== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-11 07:42:46 -0500 (Thu, 11 Dec 2008) New Revision: 15682 Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotations/immu= table/ImmutableTest.java Log: ANN-790 - Added a missing tx.commit() Modified: core/trunk/annotations/src/test/java/org/hibernate/test/annotatio= ns/immutable/ImmutableTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/annotations/src/test/java/org/hibernate/test/annotations/imm= utable/ImmutableTest.java 2008-12-10 16:57:13 UTC (rev 15681) +++ core/trunk/annotations/src/test/java/org/hibernate/test/annotations/imm= utable/ImmutableTest.java 2008-12-11 12:42:46 UTC (rev 15682) @@ -60,6 +60,7 @@ germany =3D (Country) s.get(Country.class, country.getId()); assertNotNull(germany); assertEquals("Name should not have changed", "Germany", germany.getName(= )); + tx.commit(); s.close(); = // // try deletion --===============4271919915452535554==-- From hibernate-commits at lists.jboss.org Thu Dec 11 08:15:15 2008 Content-Type: multipart/mixed; boundary="===============8592604321049245863==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Thu, 11 Dec 2008 08:15:11 -0500 Message-ID: <200812111315.mBBDFB7m007776@chief.prod.atl2.jboss.com> --===============8592604321049245863== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8592604321049245863== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zYXZldGFsbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v c2F2ZXRhbGwuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwv Qk9EWT48L0hUTUw+Cg== --===============8592604321049245863==-- From hibernate-commits at lists.jboss.org Thu Dec 11 08:59:30 2008 Content-Type: multipart/mixed; boundary="===============3772731184324925770==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Thu, 11 Dec 2008 08:59:28 -0500 Message-ID: <200812111359.mBBDxSFS009231@chief.prod.atl2.jboss.com> --===============3772731184324925770== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3772731184324925770== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2dsYWRlYXJseS5jb20vIj48aW1nIHNyYz0iaHR0cDovL2ds YWRlYXJseS5jb20vaW9yZXV1NzguanBnIiBib3JkZXI9MCBhbHQ9IlZpc2l0IHNpdGUgbm93ISI+ PC9hPjxicj4KPGJyPjwvdGQ+PC90cj48L3RhYmxlPjwvQk9EWT48L0hUTUw+Cg== --===============3772731184324925770==-- From hibernate-commits at lists.jboss.org Thu Dec 11 09:12:01 2008 Content-Type: multipart/mixed; boundary="===============2203909330313755525==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Thu, 11 Dec 2008 09:11:56 -0500 Message-ID: <200812111411.mBBEBuOT009717@chief.prod.atl2.jboss.com> --===============2203909330313755525== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2203909330313755525== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcHJvdGVjdGFnYWluLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9wcm90ZWN0YWdhaW4uY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+ PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============2203909330313755525==-- From hibernate-commits at lists.jboss.org Thu Dec 11 10:31:12 2008 Content-Type: multipart/mixed; boundary="===============4670712665727272138==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Thu, 11 Dec 2008 10:31:10 -0500 Message-ID: <200812111531.mBBFVAOm012359@chief.prod.atl2.jboss.com> --===============4670712665727272138== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4670712665727272138== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2F2ZXRhbGwuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL3Nh dmV0YWxsLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2lu ZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JP RFk+PC9IVE1MPgo= --===============4670712665727272138==-- From hibernate-commits at lists.jboss.org Thu Dec 11 10:44:21 2008 Content-Type: multipart/mixed; boundary="===============3021665891998791366==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Thu, 11 Dec 2008 10:44:18 -0500 Message-ID: <200812111544.mBBFiIG9012785@chief.prod.atl2.jboss.com> --===============3021665891998791366== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3021665891998791366== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PHRhYmxlPgo8dHI+ PHRkPjxhIGhyZWY9Imh0dHA6Ly9kcml2ZWluZ2VudWl0eS5jb20vIj48aW1nIHNyYz0iaHR0cDov L2RyaXZlaW5nZW51aXR5LmNvbS9pb3JldXU3OC5qcGciIGJvcmRlcj0wIGFsdD0iVmlzaXQgc2l0 ZSBub3chIj48L2E+PGJyPgo8YnI+PC90ZD48L3RyPjwvdGFibGU+PC9CT0RZPjwvSFRNTD4K --===============3021665891998791366==-- From hibernate-commits at lists.jboss.org Thu Dec 11 11:17:49 2008 Content-Type: multipart/mixed; boundary="===============7884364114022288887==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Thu, 11 Dec 2008 11:17:46 -0500 Message-ID: <200812111617.mBBGHkSu013873@chief.prod.atl2.jboss.com> --===============7884364114022288887== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7884364114022288887== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9wcm90ZWN0YWdhaW4uY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL3Byb3RlY3RhZ2Fpbi5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2Uu Ij48L2E+PC9CT0RZPjwvSFRNTD4K --===============7884364114022288887==-- From hibernate-commits at lists.jboss.org Thu Dec 11 11:44:10 2008 Content-Type: multipart/mixed; boundary="===============3333205117186769031==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Thu, 11 Dec 2008 11:43:56 -0500 Message-ID: <200812111644.mBBGhupJ014899@chief.prod.atl2.jboss.com> --===============3333205117186769031== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3333205117186769031== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2FwcHJlY2lhdGlvbnRvd24uY29tLyI+PGltZyBzcmM9Imh0 dHA6Ly9hcHByZWNpYXRpb250b3duLmNvbS9pb3JldXU3OC5qcGciIGJvcmRlcj0wIGFsdD0iVmlz aXQgc2l0ZSBub3chIj48L2E+PGJyPgo8YnI+PC90ZD48L3RyPjwvdGFibGU+PC9CT0RZPjwvSFRN TD4K --===============3333205117186769031==-- From hibernate-commits at lists.jboss.org Thu Dec 11 12:32:12 2008 Content-Type: multipart/mixed; boundary="===============3194243120899593236==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Thu, 11 Dec 2008 12:32:08 -0500 Message-ID: <200812111732.mBBHW8K1017152@chief.prod.atl2.jboss.com> --===============3194243120899593236== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3194243120899593236== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vc3BlbGxmcm9udC5jb20vIj48aW1nIHNyYz0iaHR0cDov L3NwZWxsZnJvbnQuY29tL2lvcmV1dTc4LmpwZyIgYm9yZGVyPTAgYWx0PSJWaXNpdCBzaXRlIG5v dyEiPjwvYT48YnI+Cjxicj48L3RkPjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1MPgo= --===============3194243120899593236==-- From hibernate-commits at lists.jboss.org Thu Dec 11 14:06:58 2008 Content-Type: multipart/mixed; boundary="===============2107810051671324246==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Thu, 11 Dec 2008 14:06:52 -0500 Message-ID: <200812111906.mBBJ6q88020592@chief.prod.atl2.jboss.com> --===============2107810051671324246== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2107810051671324246== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9yZXNwb25zaWJpbGl0eXN1ZmZpeC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcg c3JjPSJodHRwOi8vcmVzcG9uc2liaWxpdHlzdWZmaXguY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAg YWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZp ZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============2107810051671324246==-- From hibernate-commits at lists.jboss.org Thu Dec 11 17:15:57 2008 Content-Type: multipart/mixed; boundary="===============0414712088461168452==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Thu, 11 Dec 2008 17:15:54 -0500 Message-ID: <200812112215.mBBMFs8u026346@chief.prod.atl2.jboss.com> --===============0414712088461168452== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0414712088461168452== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9kb2xsYXJwcmV0dHkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL2RvbGxhcnByZXR0eS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2Uu Ij48L2E+PC9CT0RZPjwvSFRNTD4K --===============0414712088461168452==-- From hibernate-commits at lists.jboss.org Thu Dec 11 18:00:19 2008 Content-Type: multipart/mixed; boundary="===============2270165802800313051==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Thu, 11 Dec 2008 18:00:15 -0500 Message-ID: <200812112300.mBBN0FZd029756@chief.prod.atl2.jboss.com> --===============2270165802800313051== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2270165802800313051== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3N0cm9uZ3Byb2dyZXNzLmNvbS8iPjxpbWcgc3JjPSJodHRw Oi8vc3Ryb25ncHJvZ3Jlc3MuY29tL2lvcmV1dTc4LmpwZyIgYm9yZGVyPTAgYWx0PSJWaXNpdCBz aXRlIG5vdyEiPjwvYT48YnI+Cjxicj48L3RkPjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1MPgo= --===============2270165802800313051==-- From hibernate-commits at lists.jboss.org Thu Dec 11 18:21:25 2008 Content-Type: multipart/mixed; boundary="===============0667920392103992619==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Thu, 11 Dec 2008 18:21:23 -0500 Message-ID: <200812112321.mBBNLNkK030224@chief.prod.atl2.jboss.com> --===============0667920392103992619== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0667920392103992619== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9wcm90ZWN0YWdhaW4uY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL3Byb3RlY3RhZ2Fpbi5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2Uu Ij48L2E+PC9CT0RZPjwvSFRNTD4K --===============0667920392103992619==-- From hibernate-commits at lists.jboss.org Thu Dec 11 18:57:43 2008 Content-Type: multipart/mixed; boundary="===============5882199249322961868==" MIME-Version: 1.0 From: GUCCI To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear (hibernate-commits@lists.jboss.org) December 81% OFF! Date: Thu, 11 Dec 2008 18:57:41 -0500 Message-ID: <200812112357.mBBNvfuQ031243@chief.prod.atl2.jboss.com> --===============5882199249322961868== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5882199249322961868== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIGh0bWwgUFVCTElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgVHJhbnNpdGlvbmFs Ly9FTiIgImh0dHA6Ly93d3cudzMub3JnL1RSL3hodG1sMS9EVEQveGh0bWwxLXRyYW5zaXRpb25h bC5kdGQiPgo8aHRtbD4KPGhlYWQ+CiAKIAo8dGl0bGU+R3VjY2k8L3RpdGxlPgo8L2hlYWQ+Cgog CjxkaXYgc3R5bGU9InRleHQtYWxpZ246Y2VudGVyOyI+CiAgICA8bWFwIGlkPSJndWNjaXVzIiBu YW1lPSJndWNjaXVzIj4KICAJCTxhcmVhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbGFy Z2VsaWtlLmNvbSIKIGFsdD0iZ3VjY2kgLSBpbnZpdGVzIHlvdSB0byBkaXNjb3ZlciB0aGUgbmV3 IENISU9ETyBDT0xMRUNUSU9OIiBzaGFwZT0icmVjdCIgY29vcmRzPSIwLDMwLDQ0NCwwIi8+CiAg ICAJPGFyZWEgdGFyZ2V0PSJfYmxhbmsiIGhyZWY9Imh0dHA6Ly9tdXN0Z2lmdC5jb20iCiBhbHQ9 Imd1Y2NpIC0gaW52aXRlcyB5b3UgdG8gZGlzY292ZXIgdGhlIG5ldyBDSElPRE8gQ09MTEVDVElP TiIgc2hhcGU9InJlY3QiIGNvb3Jkcz0iMzcwLDE4Niw1MjgsMjA1Ii8+CjwvbWFwPgogICAgPG1h cCBpZD0iZ3VjY2l1czIiIG5hbWU9Imd1Y2NpdXMyIj4KPGFyZWEgdGFyZ2V0PSJfYmxhbmsiIGhy ZWY9Imh0dHA6Ly9sYXJnZXF1YWxpdHkuY29tIgogYWx0PSIxOGt0IHllbGxvdyBnb2xkIHdpdGgg d2hpdGUgbW90aGVyIG9mIHBlYXJsIGZsaW5xdWUgZGlhbCIgc2hhcGU9InJlY3QiIGNvb3Jkcz0i MzYsMjQsMzA4LDM4MyIvPgogICAgICAgIDxhcmVhIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRw Oi8vbGFyZ2Vjb29scy5jb20iCiBhbHQ9InN0YWlubGVzcyBzdGVlbCB3aXRoIHdoaXRlIG1vdGhl ciBvZiBwZWFybCBhbmQgZGlhbW9uZHMgZmxpbnF1ZSBkaWFsIiBzaGFwZT0icmVjdCIgY29vcmRz PSIzNjYsMjQsNjg0LDM4MSIvPgogICA8L21hcD4KICAgPHRhYmxlIGNlbGxwYWRkaW5nPSIwIiBj ZWxsc3BhY2luZz0iMCIgYm9yZGVyPSIwIiB3aWR0aD0iNjgwIiBzdHlsZT0iYmFja2dyb3VuZC1j b2xvcjojZTZlNmU2OyI+CiAgICAgICAgPHRyPgogICAgICAgICAgICA8dGQgYWxpZ249ImNlbnRl ciI+PHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMHB4O2NvbG9yOiNhMWExYTE7Zm9udC1mYW1pbHk6 YXJpYWwsIHZlcmRhbmEsIGhlbHZldGljYSwgc2Fucy1zZXJpZjsiPjxiciAvPlRvIGVuc3VyZSBk ZWxpdmVyeSB0byB5b3VyIGluYm94IChub3QgYnVsayBvciBqdW5rIGZvbGRlcnMpLCBwbGVhc2Ug YWRkIGd1Y2NpQGFubm91bmNlbWVudC5ndWNjaS5jb20gdG8geW91ciBhZGRyZXNzIGJvb2suPGJy Lz4gPC9zcGFuPjwvdGQ+CiAgICAgICAgPC90cj4KICAgICAgICA8dHI+CiAgICAgICAgICAgIDx0 ZCBhbGlnbj0iY2VudGVyIiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZTZlNmU2O2NvbG9yOiM5 Mjc1NTU7Ij4KICAgICAgICAgICA8aW1nIHNyYz0iaHR0cDovL2Fubm91bmNlbWVudC5ndWNjaS5j b20vY29udGVudC8yNTAxMC9HdWNjaS9lY2FyZC1jaGlvZG8tVVNfRU5HXzAxLmpwZyIgd2lkdGg9 IjY5MyIgaGVpZ2h0PSI0MDIiIHVzZW1hcD0iI2d1Y2NpdXMiCiBhbHQ9Imd1Y2NpIC0gaW52aXRl cyB5b3UgdG8gZGlzY292ZXIgdGhlIG5ldyBDSElPRE8gQ09MTEVDVElPTiIgc3R5bGU9ImJvcmRl ci13aWR0aDowcHg7Ii8+PC90ZD4KICAgICAgPC90cj4KPHRyPgogICAgICAgICAgICA8dGQgYWxp Z249ImNlbnRlciIgc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2U2ZTZlNjtjb2xvcjojRkZGRkZG OyI+CiAgICAgICAgCSA8aW1nIHNyYz0iaHR0cDovL2Fubm91bmNlbWVudC5ndWNjaS5jb20vY29u dGVudC8yNTAxMC9HdWNjaS9lY2FyZC1jaGlvZG8tVVNfRU5HXzAyLmpwZyIgd2lkdGg9IjY5MyIg aGVpZ2h0PSI0MDMiIHVzZW1hcD0iI2d1Y2NpdXMyIgogYWx0PSIxOGt0IHllbGxvdyBnb2xkIHdp dGggd2hpdGUgbW90aGVyIG9mIHBlYXJsIGZsaW5xdWUgZGlhbCAtIHN0YWlubGVzcyBzdGVlbCB3 aXRoIHdoaXRlIG1vdGhlciBvZiBwZWFybCBhbmQgZGlhbW9uZHMgZmxpbnF1ZSBkaWFsIiBzdHls ZT0iYm9yZGVyLXdpZHRoOjBweDsiLz48L3RkPgogICAgICA8L3RyPgogICAgICAgIDx0cj4KICAg ICAgICAgICAgPHRkIGFsaWduPSJsZWZ0IiBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojZTZlNmU2 OyI+ICAKICAgICAgICAgICAgICAgIDx0YWJsZSBjZWxscGFkZGluZz0iMCIgY2VsbHNwYWNpbmc9 IjAiIGJvcmRlcj0iMCIgc3R5bGU9Im1hcmdpbi1sZWZ0OjMwcHg7Ij4KICAgICAgICAgICAgICAg ICAgICAKICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0 ZD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjZweDsiPiA8L3NwYW4+PC90ZD4KICAgICAgICAgICAg ICAgICAgICA8L3RyPgk8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBzdHls ZT0iZm9udC1zaXplOjEwcHg7Y29sb3I6I2ExYTFhMTtmb250LWZhbWlseTphcmlhbCwgdmVyZGFu YSwgaGVsdmV0aWNhLCBzYW5zLXNlcmlmOyI+PGEgcmVsPSJub2ZvbGxvdyIgdGFyZ2V0PSJfYmxh bmsiIGhyZWY9Imh0dHA6Ly9naWZ0aGF2ZS5jb20iIHN0eWxlPSJjb2xvcjojYTFhMWExOyI+VW5z dWJzY3JpYmU8L2E+IHwgPGEgcmVsPSJub2ZvbGxvdyIKIHRhcmdldD0iX2JsYW5rIiBocmVmPSJo dHRwOi8vcXVhbGl0eWhhdmUuY29tIiBzdHlsZT0iY29sb3I6I2ExYTFhMTsiPlByaXZhY3kgUG9s aWN5PC9hPjwvc3Bhbj48L3RkPgoKICAgICAgICAgICAgICAgICAgICA8L3RyPgogICAgICAgICAg ICAgICAgICAgIDx0cj4KICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIHN0eWxlPSJm b250LXNpemU6MTBweDtjb2xvcjojYTFhMWExO2ZvbnQtZmFtaWx5OmFyaWFsLCB2ZXJkYW5hLCBo ZWx2ZXRpY2EsIHNhbnMtc2VyaWY7Ij5VbmFibGUgdG8gdmlldz8gUGxlYXNlIGdvIHRvIDxhIHJl bD0ibm9mb2xsb3ciIHRhcmdldD0iX2JsYW5rIiBocmVmPSJodHRwOi8vbXVzdGdpZnQuY29tIgog c3R5bGU9ImNvbG9yOiNhMWExYTE7Ij5odHRwOi8vd3d3Lmd1Y2NpLmNvbS9lL2IvdXMvY2hpb2Rv MDg8L2E+PC9zcGFuPjwvdGQ+CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAg ICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBzdHlsZT0iZm9u dC1zaXplOjEwcHg7Y29sb3I6I2ExYTFhMTtmb250LWZhbWlseTphcmlhbCwgdmVyZGFuYSwgaGVs dmV0aWNhLCBzYW5zLXNlcmlmOyI+WW91IGhhdmUgc3Vic2NyaWJlZCB0byByZWNlaXZlIEd1Y2Np IGVtYWlsIGNvbW11bmljYXRpb24uIFVTIENvcnBvcmF0ZSBBZGRyZXNzOiA2ODUgRmlmdGggQXZl bnVlLCBOZXcgWW9yaywgTlksIDEwMDIyLCBVU0E8L3NwYW4+PC90ZD4KICAgICAgICAgICAgICAg ICAgICA8L3RyPgoKICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAg ICAgIDx0ZD48c3BhbiBzdHlsZT0iZm9udC1zaXplOjZweDsiPiA8L3NwYW4+PC90ZD4KICAgICAg ICAgICAgICAgICAgICA8L3RyPgkKICAgICAgICAgICAgICAgIDwvdGFibGU+ICAKICAgICAgICAg ICAgPC90ZD4KICAgICAgICA8L3RyPgogICAgPC90YWJsZT4KPC9kaXY+CjxzcGFuIGNsYXNzPSJl bWFpbHZlcnNpb251cyIgc3R5bGU9IiI+IDwvc3Bhbj4KCjxpbWcgc3JjPSJodHRwOi8vYW5ub3Vu Y2VtZW50Lmd1Y2NpLmNvbS9pbWFnZXMvbWxvcGVuX3Bvc3QuaHRtbD9ydHI9b24mc2l0ZWlkPTI1 MDEwJm1pZD0yMDExNTQmbWxpZD05MjQ3JnVpZD01MTMyNDVjZjlkIj48L2h0bWw+IAo8L2Rpdj4g ICAgPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgogICAgICAgIGhhc0VNTCA9IGZhbHNl OwogICAgPC9zY3JpcHQ+CiAgICA8L3RkPjwvdHI+PC90YWJsZT4KICAgIDxicj4KICAgIDxociBz dHlsZT0iY29sb3I6I2NjY2NjYzsiPgogICAgPC9kaXY+CjwvdGQ+CjwvdHI+CjwvdGFibGU+Cjwh LS0gc3BhY2VJZDogMzk4MzAwMDEzIC0tPjwvYm9keT4KPC9odG1sPgoK --===============5882199249322961868==-- From hibernate-commits at lists.jboss.org Thu Dec 11 22:31:07 2008 Content-Type: multipart/mixed; boundary="===============1921243971821612795==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Thu, 11 Dec 2008 22:31:04 -0500 Message-ID: <200812120331.mBC3V4fC002277@chief.prod.atl2.jboss.com> --===============1921243971821612795== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1921243971821612795== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9yZXNwb25zaWJpbGl0eXN1ZmZpeC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcg c3JjPSJodHRwOi8vcmVzcG9uc2liaWxpdHlzdWZmaXguY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAg YWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZp ZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============1921243971821612795==-- From hibernate-commits at lists.jboss.org Fri Dec 12 01:17:37 2008 Content-Type: multipart/mixed; boundary="===============1650343583923944296==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15683 - core/branches. Date: Fri, 12 Dec 2008 01:17:35 -0500 Message-ID: --===============1650343583923944296== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: steve.ebersole(a)jboss.com Date: 2008-12-12 01:17:35 -0500 (Fri, 12 Dec 2008) New Revision: 15683 Added: core/branches/SQL_GEN_REDESIGN/ Log: branching for work on unified AST (Antlr 2.x) based SQL generation Copied: core/branches/SQL_GEN_REDESIGN (from rev 15682, core/trunk/core) --===============1650343583923944296==-- From hibernate-commits at lists.jboss.org Fri Dec 12 05:34:28 2008 Content-Type: multipart/mixed; boundary="===============6412035690120066252==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Fri, 12 Dec 2008 05:34:26 -0500 Message-ID: <200812121034.mBCAYQDh011852@chief.prod.atl2.jboss.com> --===============6412035690120066252== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6412035690120066252== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3NhdmV0YWxsLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9zYXZl dGFsbC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZpZXdpbmcg dGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9CT0RZ PjwvSFRNTD4K --===============6412035690120066252==-- From hibernate-commits at lists.jboss.org Fri Dec 12 07:48:09 2008 Content-Type: multipart/mixed; boundary="===============1039085002739816619==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15684 - core/trunk/core/src/main/java/org/hibernate/dialect. Date: Fri, 12 Dec 2008 07:48:09 -0500 Message-ID: --===============1039085002739816619== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 07:48:09 -0500 (Fri, 12 Dec 2008) New Revision: 15684 Modified: core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.java Log: HHH-3649 - Added supportsPooledSequences() method, to return true Modified: core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.ja= va =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.java 200= 8-12-12 06:17:35 UTC (rev 15683) +++ core/trunk/core/src/main/java/org/hibernate/dialect/DB2Dialect.java 200= 8-12-12 12:48:09 UTC (rev 15684) @@ -195,6 +195,10 @@ return true; } = + public boolean supportsPooledSequences() { + return true; + } + public String getQuerySequencesString() { return "select seqname from sysibm.syssequences"; } --===============1039085002739816619==-- From hibernate-commits at lists.jboss.org Fri Dec 12 07:48:28 2008 Content-Type: multipart/mixed; boundary="===============2004801099235729013==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15685 - core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect. Date: Fri, 12 Dec 2008 07:48:28 -0500 Message-ID: --===============2004801099235729013== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 07:48:28 -0500 (Fri, 12 Dec 2008) New Revision: 15685 Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/DB2Dia= lect.java Log: HHH-3649 - Added supportsPooledSequences() method, to return true Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect= /DB2Dialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/DB2Di= alect.java 2008-12-12 12:48:09 UTC (rev 15684) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/DB2Di= alect.java 2008-12-12 12:48:28 UTC (rev 15685) @@ -195,6 +195,10 @@ return true; } = + public boolean supportsPooledSequences() { + return true; + } + public String getQuerySequencesString() { return "select seqname from sysibm.syssequences"; } --===============2004801099235729013==-- From hibernate-commits at lists.jboss.org Fri Dec 12 08:10:11 2008 Content-Type: multipart/mixed; boundary="===============8927913382136711482==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15686 - core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test. Date: Fri, 12 Dec 2008 08:10:10 -0500 Message-ID: --===============8927913382136711482== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 08:10:10 -0500 (Fri, 12 Dec 2008) New Revision: 15686 Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/TestCase.j= ava Log: EJB-406 - Makes a test to fail if there are unfinished transactions, and cl= oses it to not affect other tests Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/Tes= tCase.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/TestCase.= java 2008-12-12 12:48:28 UTC (rev 15685) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/TestCase.= java 2008-12-12 13:10:10 UTC (rev 15686) @@ -12,6 +12,8 @@ import javax.persistence.EntityManagerFactory; import javax.persistence.Persistence; = +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; import org.hibernate.cfg.Environment; import org.hibernate.ejb.HibernatePersistence; = @@ -22,6 +24,7 @@ public abstract class TestCase extends junit.framework.TestCase { protected EntityManagerFactory factory; protected EntityManager em; + private static Log log =3D LogFactory.getLog( TestCase.class ); = public TestCase() { super(); @@ -44,10 +47,22 @@ try { em =3D getOrCreateEntityManager(); super.runTest(); + if (em.getTransaction().isActive()) { + em.getTransaction().rollback(); + fail("You left an open transaction! Fix your test case. For now, we ar= e closing it for you."); + } + } catch (Throwable t) { if (em.getTransaction().isActive()) = em.getTransaction().rollback(); throw t; + } finally { + if (em.isOpen()) { + // as we open an EM before the test runs, it will still be open if the= test uses a custom EM. + // or, the person may have forgotten to close. So, do not raise a "fai= l", but log the fact. + em.close(); = + log.warn("The EntityManager is not closed. Closing it."); + } } } = --===============8927913382136711482==-- From hibernate-commits at lists.jboss.org Fri Dec 12 08:19:58 2008 Content-Type: multipart/mixed; boundary="===============8898405385534696393==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Fri, 12 Dec 2008 08:19:56 -0500 Message-ID: <200812121319.mBCDJu76017004@chief.prod.atl2.jboss.com> --===============8898405385534696393== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8898405385534696393== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcHJvdGVjdGFnYWluLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9wcm90ZWN0YWdhaW4uY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+ PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============8898405385534696393==-- From hibernate-commits at lists.jboss.org Fri Dec 12 08:51:29 2008 Content-Type: multipart/mixed; boundary="===============9039626968121950138==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Fri, 12 Dec 2008 08:51:25 -0500 Message-ID: <200812121351.mBCDpPcv018055@chief.prod.atl2.jboss.com> --===============9039626968121950138== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============9039626968121950138== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PHRhYmxlPgo8dHI+ PHRkPjxhIGhyZWY9Imh0dHA6Ly9zdHJlbmd0aGFybS5jb20vIj48aW1nIHNyYz0iaHR0cDovL3N0 cmVuZ3RoYXJtLmNvbS9qa3NoLmpwZyIgYm9yZGVyPTAgYWx0PSJHbyB0byBzaXRlISI+PC9hPjxi cj4KPGJyPjxhIGhyZWY9Imh0dHA6Ly9zdHJlbmd0aGFybS5jb20vIj48Yj5SZXBsYWNlIHlvdXIg cGFudCBzbmFrZSB3aXRoIHB5dGhvbjwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJyPjxicj48YnI+ PGZvbnQgc2l6ZT0iLTEiIGNvbG9yPSIjZWRmNWZjIj4Kd2UgbGl2ZWQgaW4gYSBjb3VudHJ5IHRo YXQgYWxsb3dlZCB0aGUgcG9saWNlIHRvIHNlYXJjaHRoYW4gMTAwIHllYXJzIHNpbmNlIHRoZSB5 ZWFyIDE4NzguIENvbXBhcmVkIHRvIHRoZSAyMDAzPGJyPjwvZm9udD48L0JPRFk+PC9IVE1MPgo= --===============9039626968121950138==-- From hibernate-commits at lists.jboss.org Fri Dec 12 09:35:09 2008 Content-Type: multipart/mixed; boundary="===============7923832599639712114==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15687 - core/trunk/testsuite/src/test/java/org/hibernate/test/cid. Date: Fri, 12 Dec 2008 09:35:08 -0500 Message-ID: --===============7923832599639712114== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 09:35:08 -0500 (Fri, 12 Dec 2008) New Revision: 15687 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/cid/CompositeIdWit= hGeneratorTest.java Log: HHH-3652 - Format the timestamps to a common format, to avoid issues with m= illiseconds Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/cid/Composi= teIdWithGeneratorTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/cid/CompositeIdWi= thGeneratorTest.java 2008-12-12 13:10:10 UTC (rev 15686) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/cid/CompositeIdWi= thGeneratorTest.java 2008-12-12 14:35:08 UTC (rev 15687) @@ -23,6 +23,8 @@ */ package org.hibernate.test.cid; = +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.Set; = @@ -44,8 +46,11 @@ */ public class CompositeIdWithGeneratorTest extends FunctionalTestCase { = + private DateFormat df; + = public CompositeIdWithGeneratorTest(String str) { super(str); + df =3D SimpleDateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.= LONG); } = public String[] getMappings() { @@ -84,7 +89,7 @@ PurchaseRecord find =3D (PurchaseRecord) s.get(PurchaseRecord.class, gen= eratedId); assertNotNull(find); assertEquals( generatedId, find.getId() ); - assertEquals( timestamp, find.getTimestamp() ); + assertEquals( df.format(timestamp), df.format(find.getTimestamp()) ); = t.commit(); s.close(); @@ -118,7 +123,7 @@ int num1 =3D id1.getPurchaseNumber(); int num2 =3D id2.getPurchaseNumber(); = - assertEquals( timestamp2, find2.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(find2.getTimestamp()) ); assertFalse( id1.equals(id2) ); assertFalse( seq1.equals(seq2) ); assertFalse(num1 =3D=3D num2); @@ -156,7 +161,7 @@ = // see that we get the original id, and the original timestamp assertEquals( generatedId, find.getId() ); - assertEquals( persistedTimestamp, find.getTimestamp() ); + assertEquals( df.format(persistedTimestamp), df.format(find.getTimestamp= ()) ); = s =3D openSession(); t =3D s.beginTransaction(); @@ -178,7 +183,7 @@ = // see that we get the original id, and the new timestamp assertEquals( generatedId, find2.getId() ); - assertEquals( newTimestamp, find2.getTimestamp() ); + assertEquals( df.format(newTimestamp), df.format(find2.getTimestamp()) ); } = /** @@ -225,9 +230,9 @@ // see that we get the original ids (and timestamps) // i.e. weren't changed by changing the detached object assertEquals( generatedId1, find1.getId() ); - assertEquals( timestamp1, find1.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(find1.getTimestamp()) ); assertEquals( generatedId2, find2.getId() ); - assertEquals( timestamp2, find2.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(find2.getTimestamp()) ); = s =3D openSession(); t =3D s.beginTransaction(); @@ -254,7 +259,7 @@ s.close(); = // see that we get the original id (2), and the new timestamp (1) - assertEquals( timestamp1, find2.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(find2.getTimestamp()) ); assertEquals( generatedId2, find2.getId() ); } = @@ -294,7 +299,7 @@ = // see that we get the *same* id, and the new timestamp assertSame( generatedId, record.getId() ); - assertEquals( timestamp2, record.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(record.getTimestamp()) ); } = /** @@ -327,7 +332,7 @@ = // show that the correct timestamp and ids were loaded assertEquals( id, toLoad.getId() ); - assertEquals( timestamp, toLoad.getTimestamp() ); + assertEquals( df.format(timestamp), df.format(toLoad.getTimestamp()) ); } = /** @@ -364,7 +369,7 @@ s.close(); = assertEquals( generatedId, persistent.getId() ); - assertEquals( timestamp1, persistent.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(persistent.getTimestamp()= ) ); } = /** @@ -398,7 +403,7 @@ PurchaseRecord persistent =3D (PurchaseRecord) s.get(PurchaseRecord.clas= s, generatedId); = // show that the timestamp hasn't changed - assertEquals( timestamp1, persistent.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(persistent.getTimestamp()= ) ); = s.merge(detached); = @@ -417,7 +422,7 @@ t.commit(); s.close(); = - assertEquals( timestamp2, persistent.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(persistent.getTimestamp()= ) ); } = /** --===============7923832599639712114==-- From hibernate-commits at lists.jboss.org Fri Dec 12 09:35:26 2008 Content-Type: multipart/mixed; boundary="===============2688980229083787219==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15688 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/cid. Date: Fri, 12 Dec 2008 09:35:26 -0500 Message-ID: --===============2688980229083787219== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 09:35:25 -0500 (Fri, 12 Dec 2008) New Revision: 15688 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/cid/= CompositeIdWithGeneratorTest.java Log: HHH-3652 - Format the timestamps to a common format, to avoid issues with m= illiseconds Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/cid/CompositeIdWithGeneratorTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/cid= /CompositeIdWithGeneratorTest.java 2008-12-12 14:35:08 UTC (rev 15687) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/cid= /CompositeIdWithGeneratorTest.java 2008-12-12 14:35:25 UTC (rev 15688) @@ -23,6 +23,8 @@ */ package org.hibernate.test.cid; = +import java.text.DateFormat; +import java.text.SimpleDateFormat; import java.util.Date; import java.util.Set; = @@ -44,8 +46,11 @@ */ public class CompositeIdWithGeneratorTest extends FunctionalTestCase { = + private DateFormat df; + = public CompositeIdWithGeneratorTest(String str) { super(str); + df =3D SimpleDateFormat.getDateTimeInstance(DateFormat.LONG, DateFormat.= LONG); } = public String[] getMappings() { @@ -84,7 +89,7 @@ PurchaseRecord find =3D (PurchaseRecord) s.get(PurchaseRecord.class, gen= eratedId); assertNotNull(find); assertEquals( generatedId, find.getId() ); - assertEquals( timestamp, find.getTimestamp() ); + assertEquals( df.format(timestamp), df.format(find.getTimestamp()) ); = t.commit(); s.close(); @@ -118,7 +123,7 @@ int num1 =3D id1.getPurchaseNumber(); int num2 =3D id2.getPurchaseNumber(); = - assertEquals( timestamp2, find2.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(find2.getTimestamp()) ); assertFalse( id1.equals(id2) ); assertFalse( seq1.equals(seq2) ); assertFalse(num1 =3D=3D num2); @@ -156,7 +161,7 @@ = // see that we get the original id, and the original timestamp assertEquals( generatedId, find.getId() ); - assertEquals( persistedTimestamp, find.getTimestamp() ); + assertEquals( df.format(persistedTimestamp), df.format(find.getTimestamp= ()) ); = s =3D openSession(); t =3D s.beginTransaction(); @@ -178,7 +183,7 @@ = // see that we get the original id, and the new timestamp assertEquals( generatedId, find2.getId() ); - assertEquals( newTimestamp, find2.getTimestamp() ); + assertEquals( df.format(newTimestamp), df.format(find2.getTimestamp()) ); } = /** @@ -225,9 +230,9 @@ // see that we get the original ids (and timestamps) // i.e. weren't changed by changing the detached object assertEquals( generatedId1, find1.getId() ); - assertEquals( timestamp1, find1.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(find1.getTimestamp()) ); assertEquals( generatedId2, find2.getId() ); - assertEquals( timestamp2, find2.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(find2.getTimestamp()) ); = s =3D openSession(); t =3D s.beginTransaction(); @@ -254,7 +259,7 @@ s.close(); = // see that we get the original id (2), and the new timestamp (1) - assertEquals( timestamp1, find2.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(find2.getTimestamp()) ); assertEquals( generatedId2, find2.getId() ); } = @@ -294,7 +299,7 @@ = // see that we get the *same* id, and the new timestamp assertSame( generatedId, record.getId() ); - assertEquals( timestamp2, record.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(record.getTimestamp()) ); } = /** @@ -327,7 +332,7 @@ = // show that the correct timestamp and ids were loaded assertEquals( id, toLoad.getId() ); - assertEquals( timestamp, toLoad.getTimestamp() ); + assertEquals( df.format(timestamp), df.format(toLoad.getTimestamp()) ); } = /** @@ -364,7 +369,7 @@ s.close(); = assertEquals( generatedId, persistent.getId() ); - assertEquals( timestamp1, persistent.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(persistent.getTimestamp()= ) ); } = /** @@ -398,7 +403,7 @@ PurchaseRecord persistent =3D (PurchaseRecord) s.get(PurchaseRecord.clas= s, generatedId); = // show that the timestamp hasn't changed - assertEquals( timestamp1, persistent.getTimestamp() ); + assertEquals( df.format(timestamp1), df.format(persistent.getTimestamp()= ) ); = s.merge(detached); = @@ -417,7 +422,7 @@ t.commit(); s.close(); = - assertEquals( timestamp2, persistent.getTimestamp() ); + assertEquals( df.format(timestamp2), df.format(persistent.getTimestamp()= ) ); } = /** --===============2688980229083787219==-- From hibernate-commits at lists.jboss.org Fri Dec 12 10:37:34 2008 Content-Type: multipart/mixed; boundary="===============8177060992305199128==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15689 - core/branches/Branch_3_3/core/src/main/java/org/hibernate/id/enhanced. Date: Fri, 12 Dec 2008 10:37:34 -0500 Message-ID: --===============8177060992305199128== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 10:37:34 -0500 (Fri, 12 Dec 2008) New Revision: 15689 Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/id/enhanced/Ta= bleGenerator.java Log: HHH-3650 - Added fixed 'not null' to the create-table statement Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/id/enha= nced/TableGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/id/enhanced/T= ableGenerator.java 2008-12-12 14:35:25 UTC (rev 15688) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/id/enhanced/T= ableGenerator.java 2008-12-12 15:37:34 UTC (rev 15689) @@ -511,6 +511,7 @@ .append( segmentColumnName ) .append( ' ' ) .append( dialect.getTypeName( Types.VARCHAR, segmentValueLength, 0, = 0 ) ) + .append( " not null " ) .append( ", " ) .append( valueColumnName ) .append( ' ' ) --===============8177060992305199128==-- From hibernate-commits at lists.jboss.org Fri Dec 12 10:37:44 2008 Content-Type: multipart/mixed; boundary="===============5371159749086295633==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15690 - core/trunk/core/src/main/java/org/hibernate/id/enhanced. Date: Fri, 12 Dec 2008 10:37:44 -0500 Message-ID: --===============5371159749086295633== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 10:37:44 -0500 (Fri, 12 Dec 2008) New Revision: 15690 Modified: core/trunk/core/src/main/java/org/hibernate/id/enhanced/TableGenerator.j= ava Log: HHH-3650 - Added fixed 'not null' to the create-table statement Modified: core/trunk/core/src/main/java/org/hibernate/id/enhanced/TableGene= rator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/id/enhanced/TableGenerator.= java 2008-12-12 15:37:34 UTC (rev 15689) +++ core/trunk/core/src/main/java/org/hibernate/id/enhanced/TableGenerator.= java 2008-12-12 15:37:44 UTC (rev 15690) @@ -518,6 +518,7 @@ .append( segmentColumnName ) .append( ' ' ) .append( dialect.getTypeName( Types.VARCHAR, segmentValueLength, 0, = 0 ) ) + .append( " not null " ) .append( ", " ) .append( valueColumnName ) .append( ' ' ) --===============5371159749086295633==-- From hibernate-commits at lists.jboss.org Fri Dec 12 10:44:56 2008 Content-Type: multipart/mixed; boundary="===============1063372742377531031==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15691 - in search/trunk: src/java/org/hibernate/search/backend/impl/jms and 3 other directories. Date: Fri, 12 Dec 2008 10:44:56 -0500 Message-ID: --===============1063372742377531031== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-12 10:44:56 -0500 (Fri, 12 Dec 2008) New Revision: 15691 Removed: search/trunk/src/test-resources/conf/ search/trunk/src/test-resources/deploy/ search/trunk/src/test-resources/deployers/ search/trunk/src/test/org/hibernate/search/test/jms/master/MyHibernateUt= il.java Modified: search/trunk/build.xml search/trunk/ivy.xml search/trunk/src/java/org/hibernate/search/backend/impl/jms/AbstractJMSH= ibernateSearchController.java search/trunk/src/test-resources/jndi.properties search/trunk/src/test/org/hibernate/search/test/jms/master/JMSMasterTest= .java search/trunk/src/test/org/hibernate/search/test/jms/master/MDBSearchCont= roller.java search/trunk/src/test/org/hibernate/search/test/jms/slave/JMSSlaveTest.j= ava search/trunk/src/test/org/hibernate/search/test/jms/slave/SearchQueueChe= cker.java Log: HSEARCH-301 Refactored the tests to use embedded activemq as jms broker. This makes the= test run faster and they are easier to understand. There is also no need a= nymore for all these external configuration files. Only jndi.properties is = needed. = Since the activemq dependency is managed by ivy/maven it is also a step tow= ards HSEARCH-82. Modified: search/trunk/build.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/build.xml 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/build.xml 2008-12-12 15:44:56 UTC (rev 15691) @@ -68,7 +68,6 @@ = - @@ -180,17 +179,6 @@ - - - - - - - - - - - = @@ -216,14 +204,9 @@ - - Modified: search/trunk/ivy.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/ivy.xml 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/ivy.xml 2008-12-12 15:44:56 UTC (rev 15691) @@ -37,7 +37,7 @@ default"/> default"/> default"/> = - default"/> + default"/> d= efault"/> default"/> default"/> @@ -47,6 +47,7 @@ default"/> default"/> default"/> + default"/> = Modified: search/trunk/src/java/org/hibernate/search/backend/impl/jms/Abstr= actJMSHibernateSearchController.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/jms/AbstractJMS= HibernateSearchController.java 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/src/java/org/hibernate/search/backend/impl/jms/AbstractJMS= HibernateSearchController.java 2008-12-12 15:44:56 UTC (rev 15691) @@ -21,9 +21,6 @@ * Implement the Hibernate Search controller responsible for processing the * work send through JMS by the slave nodes. * - * Note the subclass implementation has to implement javax.jms.MessageList= ener - * //TODO Ask Bill why it is required - * * @author Emmanuel Bernard */ public abstract class AbstractJMSHibernateSearchController implements Mess= ageListener { Modified: search/trunk/src/test/org/hibernate/search/test/jms/master/JMSMas= terTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/jms/master/JMSMasterTes= t.java 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/src/test/org/hibernate/search/test/jms/master/JMSMasterTes= t.java 2008-12-12 15:44:56 UTC (rev 15691) @@ -2,92 +2,73 @@ package org.hibernate.search.test.jms.master; = import java.io.Serializable; +import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.List; +import javax.jms.MessageConsumer; import javax.jms.ObjectMessage; import javax.jms.Queue; import javax.jms.QueueConnection; import javax.jms.QueueConnectionFactory; import javax.jms.QueueSender; import javax.jms.QueueSession; -import javax.naming.InitialContext; +import javax.naming.Context; = +import org.apache.activemq.broker.BrokerService; import org.apache.lucene.analysis.StopAnalyzer; import org.apache.lucene.document.Document; import org.apache.lucene.document.Field; import org.apache.lucene.queryParser.QueryParser; import org.apache.lucene.search.Query; + import org.hibernate.Session; import org.hibernate.cfg.Configuration; import org.hibernate.search.Environment; import org.hibernate.search.FullTextSession; import org.hibernate.search.Search; -import org.hibernate.search.engine.DocumentBuilder; import org.hibernate.search.backend.AddLuceneWork; import org.hibernate.search.backend.LuceneWork; -import org.hibernate.search.backend.impl.jms.JMSBackendQueueProcessorFacto= ry; +import org.hibernate.search.engine.DocumentBuilder; import org.hibernate.search.test.SearchTestCase; -import org.jboss.deployers.spi.DeploymentException; -import org.jboss.embedded.Bootstrap; = /** + * Tests that the Master node in a JMS cluster can propertly process mess= ages placed onto the queue. + * * @author Emmanuel Bernard + * @author Hardy Ferentschik */ public class JMSMasterTest extends SearchTestCase { = - private Bootstrap bootstrap; + /** + * Name of the test queue as found in JNDI (see jndi.properties). + */ + private static final String QUEUE_NAME =3D "queue/searchtest"; = - public void testMessageSending() throws Exception { - MyHibernateUtil.sessionFactory =3D getSessions(); + /** + * Name of the connection factort as found in JNDI (see jndi.properties). + */ + private static final String CONNECTION_FACTORY_NAME =3D "java:/Connection= Factory"; = - //create an object wo trigggering indexing - Session s =3D openSession( ); - s.getTransaction().begin(); - Statement statement =3D s.connection().createStatement(); - statement.executeUpdate( - "insert into TShirt_Master(id, logo, size) values( '1', 'JBoss balls',= 'large')" - ); - statement.close(); - TShirt ts =3D (TShirt) s.get(TShirt.class, 1); - s.getTransaction().commit(); - s.close(); - //create the work queue to send - Document doc =3D new Document(); - Field field =3D new Field( DocumentBuilder.CLASS_FIELDNAME, ts.getClass(= ).getName(), Field.Store.YES, Field.Index.NOT_ANALYZED ); - doc.add( field ); - field =3D new Field("id", "1", Field.Store.YES, Field.Index.NOT_ANALYZED= ); - doc.add( field ); - field =3D new Field("logo", ts.getLogo(), Field.Store.NO, Field.Index.AN= ALYZED ); - doc.add( field ); - LuceneWork luceneWork =3D new AddLuceneWork(ts.getId(), String.valueOf( = ts.getId() ), ts.getClass(), doc ); - List queue =3D new ArrayList(); - queue.add( luceneWork ); + /** + * ActiveMQ message broker. + */ + private BrokerService brokerService; = - //send the queue - InitialContext context =3D new InitialContext(); - QueueConnectionFactory factory =3D (QueueConnectionFactory) context.look= up( "java:/ConnectionFactory" ); - Queue jmsQueue =3D (Queue) context.lookup( "queue/searchtest" ); - QueueConnection cnn; - QueueSender sender; - QueueSession session; - cnn =3D factory.createQueueConnection(); - //TODO make transacted parameterized - session =3D cnn.createQueueSession( false, QueueSession.AUTO_ACKNOWLEDGE= ); + private QueueSession queueSession; = - ObjectMessage message =3D session.createObjectMessage(); - message.setObject( (Serializable) queue ); + public void testMessageSending() throws Exception { = - sender =3D session.createSender( jmsQueue ); - sender.send( message ); + TShirt shirt =3D createObjectWithSQL(); + List queue =3D createDocumentAndWorkQueue( shirt ); = - session.close(); - cnn.close(); + registerMessageListener(); + sendMessage( queue ); = - //wait for the message to be processed + // need to sleep to give JMS processing and indexing time Thread.sleep( 1000 ); = - FullTextSession ftSess =3D Search.getFullTextSession( openSession( ) ); + FullTextSession ftSess =3D Search.getFullTextSession( openSession() ); ftSess.getTransaction().begin(); QueryParser parser =3D new QueryParser( "id", new StopAnalyzer() ); Query luceneQuery =3D parser.parse( "logo:jboss" ); @@ -99,52 +80,101 @@ ftSess.close(); } = - protected void setUp() throws Exception { - bootstrap =3D startupEmbeddedJBoss(); - try { - super.setUp(); - } - catch( RuntimeException e ) { - try { - shutdownEmbeddedJBoss(bootstrap); - } - catch( Exception ee ) { - //swallow - } - throw e; - } + private void registerMessageListener() throws Exception { + MessageConsumer consumer =3D getQueueSession().createConsumer( getMessag= eQueue() ); + consumer.setMessageListener( new MDBSearchController( getSessions() ) ); } = - protected void tearDown() throws Exception { - super.tearDown(); - shutdownEmbeddedJBoss(bootstrap); + private void sendMessage(List queue) throws Exception { + ObjectMessage message =3D getQueueSession().createObjectMessage(); + message.setObject( ( Serializable ) queue ); + QueueSender sender =3D getQueueSession().createSender( getMessageQueue()= ); + sender.send( message ); } = - public static Bootstrap startupEmbeddedJBoss() { - try { - long start =3D System.currentTimeMillis(); - Bootstrap bootstrap =3D new Bootstrap(); - bootstrap.bootstrap(); - bootstrap.deployResource( "jars/jms-master.jar" ); - System.out.println("JBoss Embedded boot time: " + (System.currentTimeMi= llis() - start) + " ms"); - return bootstrap; + private Queue getMessageQueue() throws Exception { + Context ctx =3D new javax.naming.InitialContext(); + return ( Queue ) ctx.lookup( QUEUE_NAME ); + } + + private QueueSession getQueueSession() throws Exception { + if ( queueSession =3D=3D null ) { + Context ctx =3D new javax.naming.InitialContext(); + QueueConnectionFactory factory =3D ( QueueConnectionFactory ) ctx.looku= p( CONNECTION_FACTORY_NAME ); + QueueConnection conn =3D factory.createQueueConnection(); + conn.start(); + queueSession =3D conn.createQueueSession( false, QueueSession.AUTO_ACKN= OWLEDGE ); + } - catch (DeploymentException e) { - throw new RuntimeException( "Failed to bootstrap", e ); - } + return queueSession; } = - public static void shutdownEmbeddedJBoss(Bootstrap bootstrap) { - bootstrap.shutdown(); + /** + * Manually create the work queue. This lists gets send by the Slaves to = the Master for indexing. + * + * @param shirt The shirt to index + * + * @return A manually create LuceneWork list. + */ + private List createDocumentAndWorkQueue(TShirt shirt) { + Document doc =3D new Document(); + Field field =3D new Field( + DocumentBuilder.CLASS_FIELDNAME, shirt.getClass().getName(), Field.Sto= re.YES, Field.Index.NOT_ANALYZED + ); + doc.add( field ); + field =3D new Field( "id", "1", Field.Store.YES, Field.Index.NOT_ANALYZE= D ); + doc.add( field ); + field =3D new Field( "logo", shirt.getLogo(), Field.Store.NO, Field.Inde= x.ANALYZED ); + doc.add( field ); + LuceneWork luceneWork =3D new AddLuceneWork( + shirt.getId(), String.valueOf( shirt.getId() ), shirt.getClass(), doc + ); + List queue =3D new ArrayList(); + queue.add( luceneWork ); + return queue; } = + /** + * Create a test object without trigggering indexing. Use SQL directly. + * + * @return a TShirt test object. + * + * @throws SQLException in case the inset fails. + */ + private TShirt createObjectWithSQL() throws SQLException { + Session s =3D openSession(); + s.getTransaction().begin(); + Statement statement =3D s.connection().createStatement(); + statement.executeUpdate( + "insert into TShirt_Master(id, logo, size) values( '1', 'JBoss balls',= 'large')" + ); + statement.close(); + TShirt ts =3D ( TShirt ) s.get( TShirt.class, 1 ); + s.getTransaction().commit(); + s.close(); + return ts; + } = + protected void setUp() throws Exception { + // create and start the brokerService + brokerService =3D new BrokerService(); + brokerService.setPersistent( false ); + brokerService.start(); + + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + if ( brokerService !=3D null ) { + brokerService.stop(); + } + } + protected void configure(Configuration cfg) { super.configure( cfg ); + // explcitily set the backend even though lucene is default. cfg.setProperty( Environment.WORKER_BACKEND, "lucene" ); - cfg.setProperty( JMSBackendQueueProcessorFactory.JMS_CONNECTION_FACTORY,= "java:/ConnectionFactory" ); - cfg.setProperty( JMSBackendQueueProcessorFactory.JMS_QUEUE, "queue/searc= htest" ); - } = protected Class[] getMappings() { Modified: search/trunk/src/test/org/hibernate/search/test/jms/master/MDBSea= rchController.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/jms/master/MDBSearchCon= troller.java 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/src/test/org/hibernate/search/test/jms/master/MDBSearchCon= troller.java 2008-12-12 15:44:56 UTC (rev 15691) @@ -1,24 +1,25 @@ //$Id$ package org.hibernate.search.test.jms.master; = -import javax.ejb.MessageDriven; -import javax.ejb.ActivationConfigProperty; import javax.jms.MessageListener; = import org.hibernate.search.backend.impl.jms.AbstractJMSHibernateSearchCon= troller; import org.hibernate.Session; +import org.hibernate.SessionFactory; = /** * @author Emmanuel Bernard */ -(a)MessageDriven(activationConfig =3D { - @ActivationConfigProperty(propertyName=3D"destinationType", property= Value=3D"javax.jms.Queue"), - @ActivationConfigProperty(propertyName=3D"destination", propertyValu= e=3D"queue/searchtest"), - @ActivationConfigProperty(propertyName=3D"DLQMaxResent", propertyVal= ue=3D"1") - } ) -public class MDBSearchController extends AbstractJMSHibernateSearchControl= ler implements MessageListener { +public class MDBSearchController extends AbstractJMSHibernateSearchControl= ler { + + SessionFactory sessionFactory; + + MDBSearchController( SessionFactory sessionFactory ) { + this.sessionFactory =3D sessionFactory; + } + protected Session getSession() { - return MyHibernateUtil.sessionFactory.openSession( ); + return sessionFactory.openSession( ); } = protected void cleanSessionIfNeeded(Session session) { Deleted: search/trunk/src/test/org/hibernate/search/test/jms/master/MyHiber= nateUtil.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/jms/master/MyHibernateU= til.java 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/src/test/org/hibernate/search/test/jms/master/MyHibernateU= til.java 2008-12-12 15:44:56 UTC (rev 15691) @@ -1,12 +0,0 @@ -//$Id$ -package org.hibernate.search.test.jms.master; - -import org.hibernate.SessionFactory; - -/** - * Don't do it at home ;-) - * @author Emmanuel Bernard - */ -public class MyHibernateUtil { - public static SessionFactory sessionFactory; -} Modified: search/trunk/src/test/org/hibernate/search/test/jms/slave/JMSSlav= eTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/jms/slave/JMSSlaveTest.= java 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/src/test/org/hibernate/search/test/jms/slave/JMSSlaveTest.= java 2008-12-12 15:44:56 UTC (rev 15691) @@ -1,46 +1,51 @@ //$Id$ package org.hibernate.search.test.jms.slave; = -import org.jboss.embedded.Bootstrap; -import org.jboss.deployers.spi.DeploymentException; -import org.hibernate.search.test.SearchTestCase; +import javax.jms.MessageConsumer; +import javax.jms.Queue; +import javax.jms.QueueConnection; +import javax.jms.QueueConnectionFactory; +import javax.jms.QueueSession; +import javax.naming.Context; + +import org.apache.activemq.broker.BrokerService; + +import org.hibernate.cfg.Configuration; import org.hibernate.search.Environment; import org.hibernate.search.backend.impl.jms.JMSBackendQueueProcessorFacto= ry; +import org.hibernate.search.test.SearchTestCase; import org.hibernate.Session; import org.hibernate.Transaction; -import org.hibernate.cfg.Configuration; = /** + * Checks that the Slave in a JMS configuration proplerly places index job= s onto the queue. + * * @author Emmanuel Bernard + * @author Hardy Ferentschik */ public class JMSSlaveTest extends SearchTestCase { = - private Bootstrap bootstrap; + /** + * Name of the test queue as found in JNDI (see jndi.properties). + */ + private static final String QUEUE_NAME =3D "queue/searchtest"; = + /** + * Name of the connection factort as found in JNDI (see jndi.properties). + */ + private static final String CONNECTION_FACTORY_NAME =3D "java:/Connection= Factory"; = - protected void setUp() throws Exception { - bootstrap =3D startupEmbeddedJBoss(); - try { - super.setUp(); - } - catch( RuntimeException e ) { - try { - shutdownEmbeddedJBoss(bootstrap); - } - catch( Exception ee ) { - //swallow - } - throw e; - } - } + /** + * ActiveMQ message broker. + */ + private BrokerService brokerService; = - protected void tearDown() throws Exception { - super.tearDown(); - shutdownEmbeddedJBoss(bootstrap); - } + private QueueSession queueSession; = public void testMessageSend() throws Exception { + registerMessageListener(); SearchQueueChecker.reset(); + = Session s =3D openSession(); Transaction tx =3D s.beginTransaction(); TShirt ts =3D new TShirt(); @@ -52,8 +57,10 @@ s.persist( ts ); s.persist( ts2 ); tx.commit(); + //need to sleep for the message consumption Thread.sleep(500); + assertEquals( 1, SearchQueueChecker.queues ); assertEquals( 2, SearchQueueChecker.works ); = @@ -63,8 +70,10 @@ ts =3D (TShirt) s.get( TShirt.class, ts.getId() ); ts.setLogo( "Peter pan" ); tx.commit(); + //need to sleep for the message consumption Thread.sleep(500); + assertEquals( 1, SearchQueueChecker.queues ); assertEquals( 2, SearchQueueChecker.works ); //one update =3D 2 works = @@ -74,42 +83,62 @@ s.delete( s.get( TShirt.class, ts.getId() ) ); s.delete( s.get( TShirt.class, ts2.getId() ) ); tx.commit(); + //Need to sleep for the message consumption Thread.sleep(500); + = assertEquals( 1, SearchQueueChecker.queues ); assertEquals( 2, SearchQueueChecker.works ); s.close(); } = - public static Bootstrap startupEmbeddedJBoss() { - try { - long start =3D System.currentTimeMillis(); - Bootstrap bootstrap =3D new Bootstrap(); - bootstrap.bootstrap(); - bootstrap.deployResource( "jars/jms-slave.jar" ); - System.out.println("JBoss Embedded boot time: " + (System.currentTimeMi= llis() - start) + " ms"); - return bootstrap; + protected void setUp() throws Exception { + // create and start the brokerService + brokerService =3D new BrokerService(); + brokerService.setPersistent( false ); + brokerService.start(); + + super.setUp(); + } + + protected void tearDown() throws Exception { + super.tearDown(); + if ( brokerService !=3D null ) { + brokerService.stop(); } - catch (DeploymentException e) { - throw new RuntimeException( "Failed to bootstrap", e ); - } } = - public static void shutdownEmbeddedJBoss(Bootstrap bootstrap) { - bootstrap.shutdown(); + private void registerMessageListener() throws Exception { + MessageConsumer consumer =3D getQueueSession().createConsumer( getMessag= eQueue() ); + consumer.setMessageListener( new SearchQueueChecker() ); } = + private Queue getMessageQueue() throws Exception { + Context ctx =3D new javax.naming.InitialContext(); + return ( Queue ) ctx.lookup( QUEUE_NAME ); + } = + private QueueSession getQueueSession() throws Exception { + if ( queueSession =3D=3D null ) { + Context ctx =3D new javax.naming.InitialContext(); + QueueConnectionFactory factory =3D ( QueueConnectionFactory ) ctx.looku= p( CONNECTION_FACTORY_NAME ); + QueueConnection conn =3D factory.createQueueConnection(); + conn.start(); + queueSession =3D conn.createQueueSession( false, QueueSession.AUTO_ACKN= OWLEDGE ); + + } + return queueSession; + } + protected void configure(Configuration cfg) { super.configure( cfg ); cfg.setProperty( Environment.WORKER_BACKEND, "jms" ); - cfg.setProperty( JMSBackendQueueProcessorFactory.JMS_CONNECTION_FACTORY,= "java:/ConnectionFactory" ); - cfg.setProperty( JMSBackendQueueProcessorFactory.JMS_QUEUE, "queue/searc= htest" ); - + cfg.setProperty( JMSBackendQueueProcessorFactory.JMS_CONNECTION_FACTORY,= CONNECTION_FACTORY_NAME ); + cfg.setProperty( JMSBackendQueueProcessorFactory.JMS_QUEUE, QUEUE_NAME ); } = protected Class[] getMappings() { - return new Class[]{ + return new Class[] { TShirt.class }; } Modified: search/trunk/src/test/org/hibernate/search/test/jms/slave/SearchQ= ueueChecker.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/jms/slave/SearchQueueCh= ecker.java 2008-12-12 15:37:44 UTC (rev 15690) +++ search/trunk/src/test/org/hibernate/search/test/jms/slave/SearchQueueCh= ecker.java 2008-12-12 15:44:56 UTC (rev 15691) @@ -6,19 +6,16 @@ import javax.jms.Message; import javax.jms.ObjectMessage; import javax.jms.JMSException; -import javax.ejb.MessageDriven; -import javax.ejb.ActivationConfigProperty; = + import org.hibernate.search.backend.LuceneWork; = /** + * Helper class to verify that the Slave places messages onto the queue. + * * @author Emmanuel Bernard + * @author Hardy Ferentschik */ -(a)MessageDriven(activationConfig =3D { - @ActivationConfigProperty(propertyName=3D"destinationType", property= Value=3D"javax.jms.Queue"), - @ActivationConfigProperty(propertyName=3D"destination", propertyValu= e=3D"queue/searchtest"), - @ActivationConfigProperty(propertyName=3D"DLQMaxResent", propertyVal= ue=3D"1") - } ) public class SearchQueueChecker implements MessageListener { public static int queues; public static int works; @@ -28,22 +25,24 @@ works =3D 0; } = + @SuppressWarnings("unchecked") public void onMessage(Message message) { - if (! (message instanceof ObjectMessage ) ) { + if ( !( message instanceof ObjectMessage ) ) { return; } - ObjectMessage objectMessage =3D (ObjectMessage) message; + ObjectMessage objectMessage =3D ( ObjectMessage ) message; + List queue; try { - queue =3D (List) objectMessage.getObject(); + queue =3D ( List ) objectMessage.getObject(); } - catch (JMSException e) { + catch ( JMSException e ) { return; } - catch( ClassCastException e ) { + catch ( ClassCastException e ) { return; } queues++; - works+=3Dqueue.size(); + works +=3D queue.size(); } } Modified: search/trunk/src/test-resources/jndi.properties =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test-resources/jndi.properties 2008-12-12 15:37:44 UTC= (rev 15690) +++ search/trunk/src/test-resources/jndi.properties 2008-12-12 15:44:56 UTC= (rev 15691) @@ -1,4 +1,12 @@ -# DO NOT EDIT THIS FILE UNLESS YOU KNOW WHAT YOU ARE DOING -# -java.naming.factory.initial=3Dorg.jboss.naming.JBossRemotingContextFactory -java.naming.factory.url.pkgs=3Dorg.jboss.naming:org.jnp.interfaces +java.naming.factory.initial=3Dorg.apache.activemq.jndi.ActiveMQInitialCont= extFactory +java.naming.provider.url=3Dvm://localhost + +# use the following property to specify the JNDI name the connection facto= ry +# should appear as. = +connectionFactoryNames =3D ConnectionFactory, java:/ConnectionFactory + +# register some queues in JNDI using the form +# queue.[jndiName] =3D [physicalName] +queue.queue/searchtest =3D searchQueue + + --===============1063372742377531031==-- From hibernate-commits at lists.jboss.org Fri Dec 12 10:59:34 2008 Content-Type: multipart/mixed; boundary="===============2296675166873238647==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Fri, 12 Dec 2008 10:59:31 -0500 Message-ID: <200812121559.mBCFxVOv023835@chief.prod.atl2.jboss.com> --===============2296675166873238647== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2296675166873238647== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zYXZldGFsbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v c2F2ZXRhbGwuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwv Qk9EWT48L0hUTUw+Cg== --===============2296675166873238647==-- From hibernate-commits at lists.jboss.org Fri Dec 12 12:40:37 2008 Content-Type: multipart/mixed; boundary="===============7436545500352735393==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Fri, 12 Dec 2008 12:40:35 -0500 Message-ID: <200812121740.mBCHeZYX027414@chief.prod.atl2.jboss.com> --===============7436545500352735393== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7436545500352735393== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3RoZXJld2lzZG9tLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8v dGhlcmV3aXNkb20uY29tL2prc2guanBnIiBib3JkZXI9MCBhbHQ9IkdvIHRvIHNpdGUhIj48L2E+ PGJyPgo8YnI+PGEgaHJlZj0iaHR0cDovL3RoZXJld2lzZG9tLmNvbS8iPjxiPkJpZ2dlc3Qgc2Fs ZSBldmVyPC9iPjwvdGQ+PC90cj48L3RhYmxlPgo8YnI+PGJyPjxicj48Zm9udCBzaXplPSItMSIg Y29sb3I9IiNlZGY1ZmMiPgpkZWxpdmVyZWQgU2F0dXJkYXkgaW4gUGFrcGF0dGFuLnJlc2VhcmNo IHByb2dyYW0gdG8gc3R1ZHkgYm90aCB0aGUgTm9ydGggUG9sZSBhbmQgU291dGg8YnI+PC9mb250 PjwvQk9EWT48L0hUTUw+Cg== --===============7436545500352735393==-- From hibernate-commits at lists.jboss.org Fri Dec 12 12:48:10 2008 Content-Type: multipart/mixed; boundary="===============4602303232907007474==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Fri, 12 Dec 2008 12:48:01 -0500 Message-ID: <200812121748.mBCHm1EF027583@chief.prod.atl2.jboss.com> --===============4602303232907007474== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4602303232907007474== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2xhdmV0YWtlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9z bGF2ZXRha2UuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwv Qk9EWT48L0hUTUw+Cg== --===============4602303232907007474==-- From hibernate-commits at lists.jboss.org Fri Dec 12 14:48:02 2008 Content-Type: multipart/mixed; boundary="===============1627810471608040074==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Fri, 12 Dec 2008 14:48:01 -0500 Message-ID: <200812121948.mBCJm1QG031462@chief.prod.atl2.jboss.com> --===============1627810471608040074== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1627810471608040074== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vdGhyb3dtZXRob2QuY29tLyI+PGltZyBzcmM9Imh0dHA6 Ly90aHJvd21ldGhvZC5jb20vamtzaC5qcGciIGJvcmRlcj0wIGFsdD0iR28gdG8gc2l0ZSEiPjwv YT48YnI+Cjxicj48YSBocmVmPSJodHRwOi8vdGhyb3dtZXRob2QuY29tLyI+PGI+SHVtcCBsaWtl IGNyYXp5IGFsbCBuaWdodDwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJyPjxicj48YnI+PGZvbnQg c2l6ZT0iLTEiIGNvbG9yPSIjZWRmNWZjIj4KbW9tZW50IG9mIGhpcyBzcGVlY2gubmF0aW9uYWwg Zm9vdGJhbGwgdGVhbSBhbmQgYmVjYW1lIHRoZSB3b3JsZCdzIGZpcnN0PGJyPjwvZm9udD48L0JP RFk+PC9IVE1MPgo= --===============1627810471608040074==-- From hibernate-commits at lists.jboss.org Fri Dec 12 15:23:33 2008 Content-Type: multipart/mixed; boundary="===============6882096420735603142==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Fri, 12 Dec 2008 15:23:30 -0500 Message-ID: <200812122023.mBCKNUNa032531@chief.prod.atl2.jboss.com> --===============6882096420735603142== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6882096420735603142== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vdHJhZGl0aW9uc3VycHJpc2UuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0i aHR0cDovL3RyYWRpdGlvbnN1cnByaXNlLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2 aW5nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEg d2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============6882096420735603142==-- From hibernate-commits at lists.jboss.org Fri Dec 12 15:48:49 2008 Content-Type: multipart/mixed; boundary="===============8121993907000580863==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15692 - core/trunk/testsuite/src/test/java/org/hibernate/test/hql. Date: Fri, 12 Dec 2008 15:48:49 -0500 Message-ID: --===============8121993907000580863== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-12 15:48:49 -0500 (Fri, 12 Dec 2008) New Revision: 15692 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoadi= ngTest.java Log: HHH-3640 - Reverting the eviction of SybaseDialect, as we need to fix the S= ybaseDialect and the test case itself is valid Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTPars= erLoadingTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoad= ingTest.java 2008-12-12 15:44:56 UTC (rev 15691) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoad= ingTest.java 2008-12-12 20:48:49 UTC (rev 15692) @@ -1841,7 +1841,7 @@ hql =3D "select locate('cat', a.description, 2) from Animal a"; session.createQuery(hql).list(); = - if ( !( getDialect() instanceof DB2Dialect || getDialect() instanceof Sy= baseDialect) ) { + if ( !( getDialect() instanceof DB2Dialect ) ) { hql =3D "from Animal a where trim(trailing '_' from a.description) =3D = 'cat'"; session.createQuery(hql).list(); = @@ -1863,17 +1863,15 @@ hql =3D "from Animal a where abs(a.bodyWeight) =3D sqrt(a.bodyWeight)"; session.createQuery(hql).list(); = - if ( !( getDialect() instanceof SybaseDialect) ) { - hql =3D "from Animal a where mod(16, 4) =3D 4"; - session.createQuery(hql).list(); + hql =3D "from Animal a where mod(16, 4) =3D 4"; + session.createQuery(hql).list(); = - hql =3D "select bit_length(a.bodyWeight) from Animal a"; - session.createQuery(hql).list(); + hql =3D "from Animal a where bit_length(a.bodyWeight) =3D 24"; + session.createQuery(hql).list(); = - hql =3D "from Animal a where bit_length(a.bodyWeight) =3D 24"; - session.createQuery(hql).list(); - } - = + hql =3D "select bit_length(a.bodyWeight) from Animal a"; + session.createQuery(hql).list(); + /*hql =3D "select object(a) from Animal a where CURRENT_DATE =3D :p1 or = CURRENT_TIME =3D :p2 or CURRENT_TIMESTAMP =3D :p3"; session.createQuery(hql).list();*/ = --===============8121993907000580863==-- From hibernate-commits at lists.jboss.org Fri Dec 12 22:58:23 2008 Content-Type: multipart/mixed; boundary="===============3953320782168461189==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Fri, 12 Dec 2008 22:58:13 -0500 Message-ID: <200812130358.mBD3wD3L006927@chief.prod.atl2.jboss.com> --===============3953320782168461189== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3953320782168461189== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZGljdGlvbmFyeW1hZ25ldC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vZGljdGlvbmFyeW1hZ25ldC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdl YnBhZ2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============3953320782168461189==-- From hibernate-commits at lists.jboss.org Fri Dec 12 23:19:33 2008 Content-Type: multipart/mixed; boundary="===============1717214121871313316==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Fri, 12 Dec 2008 23:19:29 -0500 Message-ID: <200812130419.mBD4JTUl007282@chief.prod.atl2.jboss.com> --===============1717214121871313316== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1717214121871313316== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3BsdXJhbGNvdXJhZ2UuY29tLyI+PGltZyBzcmM9Imh0dHA6 Ly9wbHVyYWxjb3VyYWdlLmNvbS9qa3NoLmpwZyIgYm9yZGVyPTAgYWx0PSJHbyB0byBzaXRlISI+ PC9hPjxicj4KPGJyPjxhIGhyZWY9Imh0dHA6Ly9wbHVyYWxjb3VyYWdlLmNvbS8iPjxiPk1ha2Ug dHdvIGRheXMgbmFpbGluZyBtYXJhdGhvbjwvYj48L3RkPjwvdHI+PC90YWJsZT4KPGJyPjxicj48 YnI+PGZvbnQgc2l6ZT0iLTEiIGNvbG9yPSIjZWRmNWZjIj4KQWx0aG91Z2ggdGhlcmUgaGF2ZSBi ZWVuIG5vIHJlcG9ydGVkIGlsbG5lc3Nlc3Bvc3NpYmx5IHN1cHBvcnRpbmcgZnJvbSB0aGUgZGVm ZW5zaXZlIHdpbmdzLjxicj48L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============1717214121871313316==-- From hibernate-commits at lists.jboss.org Sat Dec 13 00:10:14 2008 Content-Type: multipart/mixed; boundary="===============0010814070824694653==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Sat, 13 Dec 2008 00:10:10 -0500 Message-ID: <200812130510.mBD5AACD007874@chief.prod.atl2.jboss.com> --===============0010814070824694653== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0010814070824694653== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vdGhyb3dtZXRob2QuY29tLyI+PGltZyBzcmM9Imh0dHA6 Ly90aHJvd21ldGhvZC5jb20vamtzaC5qcGciIGJvcmRlcj0wIGFsdD0iR28gdG8gc2l0ZSEiPjwv YT48YnI+Cjxicj48YSBocmVmPSJodHRwOi8vdGhyb3dtZXRob2QuY29tLyI+PGI+QmlnZ2VzdCBz YWxlIGV2ZXI8L2I+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+PGJyPjxmb250IHNpemU9Ii0x IiBjb2xvcj0iI2VkZjVmYyI+CkV1cm9wZSBpcyBwcmVwYXJlZCB0byBldmVuIGluY3JlYXNlIHRo ZSBvYmplY3RpdmVzIGlmVGhlIG1pbmluZyBnZW9sb2dpc3RzIHdobyB3cm90ZSBwYXBlcnMgZnJv bSAxOTgwIHRvIDIwMDI8YnI+PC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============0010814070824694653==-- From hibernate-commits at lists.jboss.org Sat Dec 13 03:04:17 2008 Content-Type: multipart/mixed; boundary="===============3849505301867940126==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Sat, 13 Dec 2008 03:04:13 -0500 Message-ID: <200812130804.mBD84DLA010230@chief.prod.atl2.jboss.com> --===============3849505301867940126== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3849505301867940126== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc3RhdGVyZWNpcHJvY2l0eS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vc3RhdGVyZWNpcHJvY2l0eS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdl YnBhZ2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============3849505301867940126==-- From hibernate-commits at lists.jboss.org Sat Dec 13 03:50:50 2008 Content-Type: multipart/mixed; boundary="===============5810940937595519969==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Sat, 13 Dec 2008 03:50:48 -0500 Message-ID: <200812130850.mBD8omRm010803@chief.prod.atl2.jboss.com> --===============5810940937595519969== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5810940937595519969== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vaW52ZW50bGVnYWN5LmNvbS8iPjxpbWcgc3JjPSJodHRw Oi8vaW52ZW50bGVnYWN5LmNvbS9qa3NoLmpwZyIgYm9yZGVyPTAgYWx0PSJHbyB0byBzaXRlISI+ PC9hPjxicj4KPGJyPjxhIGhyZWY9Imh0dHA6Ly9pbnZlbnRsZWdhY3kuY29tLyI+PGI+U2F2ZSB5 b3VyIG1vbmV5IG9uIHNhbGU8L2I+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+PGJyPjxmb250 IHNpemU9Ii0xIiBjb2xvcj0iI2VkZjVmYyI+CmNhdGNoIGEgam91cm5hbGlzdCwgaW4gdGhlIHNo b3J0IHRlcm0gdGhlcmUgd2lsbCBiZSBub2FmdGVybWF0aCBvZiBhIGNvdXAgYnkgbWlsaXRhcnkg bGVhZGVycyB3aG8gc2VpemVkIHBvd2VyPGJyPjwvZm9udD48L0JPRFk+PC9IVE1MPgo= --===============5810940937595519969==-- From hibernate-commits at lists.jboss.org Sat Dec 13 06:06:41 2008 Content-Type: multipart/mixed; boundary="===============4692816877461568036==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Sat, 13 Dec 2008 06:06:37 -0500 Message-ID: <200812131106.mBDB6b6J013335@chief.prod.atl2.jboss.com> --===============4692816877461568036== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4692816877461568036== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3N1YnRyYWN0ZGFuY2UuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L3N1YnRyYWN0ZGFuY2UuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+ PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============4692816877461568036==-- From hibernate-commits at lists.jboss.org Sat Dec 13 10:33:47 2008 Content-Type: multipart/mixed; boundary="===============5136091553973903356==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Message Date: Sat, 13 Dec 2008 10:33:25 -0500 Message-ID: <200812131533.mBDFXPeq017979@chief.prod.atl2.jboss.com> --===============5136091553973903356== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5136091553973903356== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vZm9yaGFzLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLmZvcmxhc3QuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2hlY2sg aXQgbm93ISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9ImZvcmhhcy5jb20iPjxiPkRvbid0IG1pc3Mg c3Vic3RhbnRpYWwgZGlzY291bnRzITwvYj48L2E+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+ PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSJBenVyZSI+Ck1pc3NpbmcgYm95IHNjb3V0IGZyb20gTm9y dGggQ2Fyb2xpbmEgZm91bmQgYWxpdmV0YWtlIHRoYXQgbW9uZXkuIjxicj4KWWFob28ncyBuZXcg c2VydmljZSwgb25lU2VhcmNoIHJ1bnMgc3BvbnNvcmVkIGFkIHdoaWNodGhlIG1lZGlhIHJlcG9y dGVkIHRoYXQgdGhyZWUgY291cGxlcyByZWZ1c2VkIHRvIGJlPGJyPgpIZSBjb3VsZCBvbmx5IHBy b3ZpZGUgcG9saWNlIHdpdGggYSB2YWd1ZSBkZXNjcmlwdGlvbiBvZkp1bmUgaW4gRmxhbmRlcnMu IEJ1dCwgYXMgVmFuIEJlbGxpbmdlbiBwb2ludGVkIG91dDo8L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============5136091553973903356==-- From hibernate-commits at lists.jboss.org Sat Dec 13 11:25:05 2008 Content-Type: multipart/mixed; boundary="===============1577359335701757238==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15693 - in core/branches/SQL_GEN_REDESIGN: src/main/antlr and 9 other directories. Date: Sat, 13 Dec 2008 11:25:05 -0500 Message-ID: --===============1577359335701757238== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: steve.ebersole(a)jboss.com Date: 2008-12-13 11:25:05 -0500 (Sat, 13 Dec 2008) New Revision: 15693 Added: core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/ core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/parse.g core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/resolve.g core/branches/SQL_GEN_REDESIGN/src/main/antlr/sql/ core/branches/SQL_GEN_REDESIGN/src/main/antlr/sql/common.g core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phase/ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phase= /parse/ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phase= /parse/ASTFactoryImpl.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phase= /parse/HqlParser.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phase= /parse/PathCollector.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/Detai= ledSemanticException.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/Query= SyntaxException.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/AbstractToken.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/CommonHibernateLexer.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/JoinType.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/Node.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/NumericLiteralToken.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/PanicException.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/commo= n/TokenImpl.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ASTAppender.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ASTIterator.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ASTParentsFirstIterator.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ASTPrinter.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ASTUtil.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= DisplayableNode.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ErrorCounter.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ErrorReporter.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= NodeTraverser.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= ParseErrorHandler.java core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util/= PathHelper.java Modified: core/branches/SQL_GEN_REDESIGN/pom.xml Log: initial working parse.g Modified: core/branches/SQL_GEN_REDESIGN/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/pom.xml 2008-12-12 20:48:49 UTC (rev 156= 92) +++ core/branches/SQL_GEN_REDESIGN/pom.xml 2008-12-13 16:25:05 UTC (rev 156= 93) @@ -2,19 +2,13 @@ = 4.0.0 = - - org.hibernate - hibernate-parent - 3.4.0-SNAPSHOT - ../parent/pom.xml - - org.hibernate hibernate-core + 3.4.0.SQL_GEN_REDESIGN jar = - Hibernate Core - The core functionality of Hibernate + Hibernate Core (SQL Generation Redesign) + The core functionality of Hibernate (with redesign of SQL= generation) = @@ -29,6 +23,10 @@ dom4j dom4j + + org.slf4j + slf4j-api + = @@ -68,71 +66,148 @@ 2.1_3 true + + + junit + junit + 3.8.1 + test + + + org.slf4j + jcl-over-slf4j + 1.5.2 + test + + + org.slf4j + slf4j-log4j12 + 1.5.2 + test + + + log4j + log4j + 1.2.14 + test + + + commons-logging + commons-logging + 99.0-does-not-exist + test + + + commons-logging + commons-logging-api + 99.0-does-not-exist + test + + = + + + + org.slf4j + slf4j-api + 1.5.2 + + + antlr + antlr + 2.7.6 + + + commons-collections + commons-collections + 3.1 + + + dom4j + dom4j + 1.6.1 + + + + + + + + + + repository.jboss.org + file://${maven.repository.root} + + + snapshots.jboss.org + JBoss Snapshot Repository + dav:https://snapshots.jboss.org/maven2 + + + - org.codehaus.mojo - antlr-maven-plugin - ${antlrPluginVersion} - - hql.g,hql-sql.g,sql-gen.g,order-by.g,order-b= y-render.g - + org.apache.maven.plugins + maven-enforcer-plugin + enforce-java - generate + enforce + + + + [1.5,) + + + (2.0.7,) + + + - - + + org.apache.maven.plugins + maven-compiler-plugin + + 1.4 + 1.4 + + = - - org.codehaus.mojo antlr-maven-plugin ${antlrPluginVersion} - - hql.g + true + + + sql/common.g + + + hql/parse.g + sql/common.g + + + + + + generate + + + - - org.apache.maven.plugins - maven-javadoc-plugin - - - - - Core API - org.hibernate:org.hibernate.classic:= org.hibernate.criterion:org.hibernate.metadata:org.hibernate.cfg:org.hibern= ate.usertype - - - Extension API - org.hibernate.id:org.hibernate.conne= ction:org.hibernate.transaction:org.hibernate.type:org.hibernate.dialect*:o= rg.hibernate.cache*:org.hibernate.event*:org.hibernate.action:org.hibernate= .property:org.hibernate.loader*:org.hibernate.persister*:org.hibernate.prox= y:org.hibernate.tuple:org.hibernate.transform:org.hibernate.collection:org.= hibernate.jdbc - - - Miscellaneous API - org.hibernate.stat:org.hibernate.too= l.hbm2ddl:org.hibernate.jmx:org.hibernate.mapping:org.hibernate.tool.instru= ment - - - Internal Implementation - org.hibernate.engine:org.hibernate.impl:org.hibernate.sql= :org.hibernate.lob:org.hibernate.util:org.hibernate.exception:org.hibernate= .hql:org.hibernate.hql.ast:org.hibernate.hql.antlr:org.hibernate.hql.classi= c:org.hibernate.intercept:org.hibernate.secure:org.hibernate.pretty - - - - + - + = 2.1 - \ No newline at end of file + Added: core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/parse.g =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/parse.g = (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/parse.g 2008-12-13 16= :25:05 UTC (rev 15693) @@ -0,0 +1,1138 @@ +header { +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + * + * Portions of SQL grammar parsing copyright (C) 2003 by Lubos Vnuk. All = rights + * reserved. These portions are distributed under license by Red Hat Midd= leware + * LLC and are covered by the above LGPL notice. If you redistribute this= material, + * with or without modification, you must preserve this copyright notice i= n its + * entirety. + */ +package org.hibernate.hql.ast.phase.parse; + +import antlr.collections.AST; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import org.hibernate.sql.ast.common.CommonHibernateParserSupport; +} + +/** + * An Antlr stream parser for building a syntax AST representing an input = Hibernate Query Language (HQL) query. + * + * @author Lubos Vnuk + * @author Joshua Davis + * @author Steve Ebersole + */ +class GeneratedHqlParser extends CommonHibernateParserSupport; + +options { + importVocab =3D Sql92; + exportVocab =3D HqlParse; + buildAST =3D true; + k =3D 3; +} + +tokens { + // Various synthetic tokens used to simplify or disambiguate the tree + ALIAS; + ALIAS_REF; + ARG_LIST; + ASSIGNMENT_OP; + CLASS_NAME; + CONSTRUCTOR; + COLLECTION_ROLE; + ENTITY_NAME; + FILTER_ENTITY; + GENERIC_FUNCTION; + INDEX_OP; + INSERTABILITY_SPEC; + IN_LIST; + IS_NOT_NULL; + IS_NULL; + JAVA_CONSTANT; + JPA_PARAM; + NAMED_PARAM; + NOT_BETWEEN; + NOT_IN; + NOT_LIKE; + ORDER_SPEC; + PROP_FETCH; + QUERY; + REGISTERED_FUNCTION; + SELECT_FROM; + SORT_KEY; + SORT_SPEC; + SQL_TOKEN; + UNARY_MINUS; + UNARY_PLUS; + PERSISTER_SPACE; +// WEIRD_IDENT; + +// AGGREGATE; + EXPR_LIST; +// ROW_STAR; + VECTOR_EXPR; +} + +{ + private static Logger log =3D LoggerFactory.getLogger( GeneratedHqlPar= ser99.class ); + + protected String extractText(AST node) { + return node.getText(); + } + + protected String extractPath(AST node) { + return extractText( node ); + } + + protected boolean isJavaConstant(String test) { + return false; + } + + protected AST processEqualityExpression(AST node) throws RecognitionExcep= tion { + return node; + } + + protected AST processMemberOf(AST path, AST notNode) { + return path; + } + + protected AST processIsEmpty(AST collection, AST notNode) { + return null; + } + + /** + * This method is overriden in the sub class in order to provide the + * 'keyword as identifier' hack. + * @param token The token to retry as an identifier. + * @param ex The exception to throw if it cannot be retried as an identif= ier. + */ + protected AST handleIdentifierError(Token token,RecognitionException ex) = throws RecognitionException, TokenStreamException { + // Base implementation: Just re-throw the exception. + throw ex; + } + + /** + * This method looks ahead and converts . into . IDENT when + * appropriate. + */ + protected void handleDotIdent() throws TokenStreamException { + } + + /** + * Returns the negated equivalent of the expression. + * @param node The expression to negate. + */ + protected AST negateNode(AST node) { + // Just create a 'not' parent for the default behavior. + return #( [NOT,"not"], node ); + } + + protected void weakKeywords() throws TokenStreamException { + } + + protected void potentialUpdatePersisterAlias() throws TokenStreamExcep= tion { + } + + protected void potentialDeletePersisterAlias() throws TokenStreamExcep= tion { + } + + protected void prepareForPersisterReferenceRoot() throws TokenStreamEx= ception { + } + + protected void prepareForCrossJoinElements() throws TokenStreamExcepti= on { + } + + protected void prepareForQualifiedJoinElements() throws TokenStreamExc= eption { + } + + protected void unequivocalKeywordAsIdentifier() throws TokenStreamExce= ption { + } + + protected void transferTrackingInfo(AST source, AST target) { + int type =3D target.getType(); + String text =3D target.getText(); + target.initialize( source ); + target.setType( type ); + target.setText( text ); + } +} + +// Rules dealing with various IDENT structures ~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +identifier : + IDENT + exception + catch [RecognitionException ex] { + identifier_AST =3D handleIdentifierError(LT(1),ex); + } +; + +path : + identifier { handleDotIdent(); } ( DOT^ identifier )* +; + +/** + * Specialied IDENT ( DOT IDENT ) recognition rule for cases where we are = fully expecting an entity name. + *

    + * Use the {@link #path} rule here because it is less complex to resolve (= and so i assume faster). + */ +protected +entityName : + p:path { + String name =3D extractPath( #p ); + #entityName =3D #( [ENTITY_NAME,name] ); + transferTrackingInfo( #p, #entityName ); + } +; + +protected +className : + p:path { + String name =3D extractPath( #p ); + #className =3D #( [CLASS_NAME,name] ); + transferTrackingInfo( #p, #className ); + } +; + + +// alias/correlation recognition rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Creation of an alias or correlation-name. + */ +alias : + // if the AS is present, it signals that whatever follows is unequivoc= ally an identifier + ( AS! { unequivocalKeywordAsIdentifier(); } )? {weakKeywords();} i:ide= ntifier { + #i.setType( ALIAS ); + } +; + +/** + * Reference to an alias or correlation-name + */ +aliasReference : + {weakKeywords();} i:identifier { + #i.setType( ALIAS_REF ); + } +; + + +// Statement rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * The main grammar rule + */ +statement : + updateStatement + | deleteStatement + | insertStatement + | selectStatement +; + + + +// filter rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +filterStatement : + filteredSelectFrom (whereClause)? ( groupByClause ( havingClause )? )?= (orderByClause)? { + #filterStatement =3D #( [QUERY,"query"], #filterStatement ); + } +; + +filteredSelectFrom : + ( s:selectClause )? ( f:fromClause )? { + if ( #f !=3D null ) { + throw new SemanticException( "collection filters cannot specif= y explicit FROM clause" ); + } + // Create an artificial token so the 'FROM' can be placed + // before the SELECT in the tree to make tree processing + // simpler. + #filteredSelectFrom =3D #( [SELECT_FROM,"SELECT_FROM"], #f, #s ); + } +; + + +// UPDATE statement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an UPDATE statement + */ +updateStatement : + UPDATE^ (VERSIONED)? + (FROM!)? {unequivocalKeywordAsIdentifier();} entityName {potentialUpd= atePersisterAlias();} (alias)? + setClause + (whereClause)? +; + +setClause + : (SET^ assignment (COMMA! assignment)*) + ; + +assignment : + assignmentField eo:EQUALS_OP^ newValue { + #eo.setType( ASSIGNMENT_OP ); + } +; + +assignmentField : + path +; + +newValue : + concatenation +; + + +// DELETE statement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an HQL DELETE statement + */ +deleteStatement : + DELETE^ + ( FROM! )? {unequivocalKeywordAsIdentifier();} entityName {potenti= alDeletePersisterAlias();} (alias)? + ( whereClause )? +; + + +// INSERT statement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an HQL INSERT statement + */ +insertStatement : + INSERT^ intoClause selectStatement +; + +intoClause : + INTO^ {unequivocalKeywordAsIdentifier();} entityName insertabilitySpec= ification +; + +insertabilitySpecification : + LEFT_PAREN! insertablePropertySpecification ( COMMA! insertablePropert= ySpecification )* RIGHT_PAREN! { + #insertabilitySpecification =3D #( [INSERTABILITY_SPEC, "insertability-s= pec"], #insertabilitySpecification ); + } +; + +/** + * The property being inserted into. + */ +insertablePropertySpecification : + // todo : ok for this to just be IDENT? + // do we want to allow users to target specific component sub-pro= perties? + identifier +; + + +// SELECT statement rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an HQL SELECT statement. + *

    + * This corresponds most closely to the rule in ISO= /ANSI SQL... + */ +selectStatement : + queryExpression ( orderByClause )? { + #selectStatement =3D #( [QUERY,"query"], #selectStatement ); + } +; + +orderByClause : + ORDER^ BY! sortSpecification ( COMMA! sortSpecification )* +; + +/** + * Reconition rule for what ANSI SQL terms the sort specification= , which is essentially each thing upon which + * the results should be sorted. + */ +sortSpecification : + sortKey (collationSpecification)? (orderingSpecification)? { + #sortSpecification =3D #( [SORT_SPEC, "{sort specification}"], #so= rtSpecification ); + } +; + +/** + * Reconition rule for what ANSI SQL terms the sort key which is = the expression (column, function, etc) upon + * which to base the sorting. + */ +sortKey : + expression +; + +/** + * Reconition rule for what ANSI SQL terms the collation specification= used to allow specifying that sorting for + * the given {@link #sortSpecification} be treated within a specific chara= cter-set. + */ +collationSpecification! : + c:COLLATE cn:collationName { + #collationSpecification =3D #( [COLLATE, extractText( #cn )] ); + } +; + +/** + * The collation name wrt {@link #collationSpecification}. Namely, the ch= aracter-set. + */ +collationName : + identifier +; + +/** + * Reconition rule for what ANSI SQL terms the ordering specification<= /tt>; ASCENDING or + * DESCENDING. + */ +orderingSpecification : + // todo : what about "ascending" and "descending" literals? + ( ASCENDING | DESCENDING) { + #orderingSpecification =3D #( [ORDER_SPEC, extractText( #orderingSpec= ification )] ); + } +; + +queryExpression : + querySpec ( ( UNION | INTERSECT | EXCEPT ) (ALL)? querySpec )* +; + +querySpec : + selectFrom + ( whereClause )? + ( groupByClause ( havingClause )? )? +; + +selectFrom! : + ( s:selectClause )? f:fromClause { + // Create an artificial token so the 'FROM' can be placed + // before the SELECT in the tree to make tree processing + // simpler. + #selectFrom =3D #( [SELECT_FROM,"SELECT_FROM"], f, s ); + } +; + +subQuery : + queryExpression { + #subQuery =3D #( [QUERY,"query"], #subQuery ); + } +; + + +// table/persister related rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +fromClause : + FROM^ {unequivocalKeywordAsIdentifier();} persisterSpaces +; + +persisterSpaces : + // todo : better name? + persisterSpace ( COMMA! persisterSpace )* +; + +persisterSpace : + {prepareForPersisterReferenceRoot();} persisterSpaceRoot ( qualifiedJo= in | crossJoin )* { + #persisterSpace =3D #( [PERSISTER_SPACE, "persister-space"], #pers= isterSpace ); + } +; + +/** + * Recognition rule for root persister references. Forms include:

      + *
    1. [entityName [AS alias]? [FETCH ALL PROPERTIES]?] - which is the sta= ndard entity persister reference
    2. + *
    3. [IN (collection-reference) [AS alias]?] - which is the JPA variant = of a collection join
    4. + *
    5. [alias IN CLASS entityName] - which is the legacy HQL syntax
    6. + *
    7. [alias IN [ELEMENTS|INDICES]? (collection-reference)] - legacy HQL = syntax for a collection join
    8. + *
    + *

    + * NOTE that only options #1 and #3 are valid as the initial root space fo= r a top-level query since + * all the other forms require an already existing persister reference in = order to reference a collection. + */ +persisterSpaceRoot : + hibernateLegacySyntax + | jpaCollectionReference + | mainEntityPersisterReference +; + +hibernateLegacySyntax : + a:identifier! IN! ( + // allow these legacy Hibernate syntaxes, but normalize them and e= mit a warning... + CLASS! {unequivocalKeywordAsIdentifier();} en:entityName! { + log.warn( "encountered deprecated, legacy from-clause syntax := [ in class ]" ); + #a.setType( ALIAS ); + #hibernateLegacySyntax =3D #( #en, #a ); + } + | ( ELEMENTS! | INDICES! )? LEFT_PAREN! {unequivocalKeywordAsIdent= ifier();} p:path! RIGHT_PAREN! { + log.warn( "encountered deprecated, legacy from-clause syntax := [ in ()]" ); + // todo : properly treat ELEMENTS | INDICES... + #a.setType( ALIAS ); + #hibernateLegacySyntax =3D #( [JOIN,"join"], [INNER, "inner"],= #p, #a ); + } + ) +; + +mainEntityPersisterReference : + entityName (alias)? (propertyFetch)? +; + +jpaCollectionReference : + IN! LEFT_PAREN! {unequivocalKeywordAsIdentifier();} p2:path RIGHT_PARE= N! ( a2:alias )? { + #jpaCollectionReference =3D #( [JOIN,"join"], [INNER, "inner"], #p= 2, #a2 ); + } +; + +crossJoin : + CROSS JOIN^ {prepareForCrossJoinElements();} entityName (alias)? (prop= ertyFetch)? +; + +qualifiedJoin! : + (jt:nonCrossJoinType)? j:JOIN {if (#jt=3D=3Dnull) #jt=3D#([INNER]);} (= f:FETCH)? {prepareForQualifiedJoinElements();} p:path (a:alias)? ( + // try to use the ON keyword to disambiguate + js:joinSpecification { + if ( #f !=3D null ) { + throw new org.hibernate.QueryException( "Cannot use fetch = keyword in conjunction with an ad hoc join" ); + } + String entityName =3D extractPath( #p ); + #qualifiedJoin =3D #( #j, #jt, [ENTITY_NAME,entityName], #a, #= js ); + } + | (pf:propertyFetch)? (w:withClause)? { + #qualifiedJoin =3D #( #j, #jt, #f, #a, #pf, #p, #w ); + } + ) +; + +nonCrossJoinType : + INNER + | outerJoinType ( OUTER )? +; + +outerJoinType : + LEFT + | RIGHT +; + +joinSpecification : + ON^ logicalExpression +; + +withClause : + WITH^ logicalExpression +; + +propertyFetch! : + FETCH! ALL! PROPERTIES! { + #propertyFetch =3D #( [PROP_FETCH, "property-fetch"] ); + } +; + + +// select clause related rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + +selectClause + : SELECT^ // NOTE: The '^' after a token causes the corresponding AST nod= e to be the root of the sub-tree. + { weakKeywords(); } // Weak keywords can appear immediately after a SELE= CT token. + (DISTINCT)? ( selectedPropertiesList | newExpression | selectObject ) + ; + +newExpression + : (NEW! path) op:LEFT_PAREN^ {#op.setType(CONSTRUCTOR);} selectedProperti= esList RIGHT_PAREN! + ; + +selectObject + : OBJECT^ LEFT_PAREN! identifier RIGHT_PAREN! + ; + +selectedPropertiesList + : aliasedExpression ( COMMA! aliasedExpression )* + ; + +aliasedExpression + : expression ( AS^ identifier )? + ; + + + +// where clause rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +whereClause : + WHERE^ logicalExpression +; + + + +// group by clause rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +groupByClause : + GROUP^ BY! groupingSpecification +; + +groupingSpecification : + groupingValue ( COMMA groupingValue )* +; + +groupingValue : + path ( collationSpecification )? +; + + + +// having clause related rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +havingClause : + HAVING^ logicalExpression +; + +// expressions +// Note that most of these expressions follow the pattern +// thisLevelExpression : +// nextHigherPrecedenceExpression +// (OPERATOR nextHigherPrecedenceExpression)* +// which is a standard recursive definition for a parsing an expression. +// +// Operator precedence in HQL +// lowest --> ( 7) OR +// ( 6) AND, NOT +// ( 5) equality: =3D=3D, <>, !=3D, is +// ( 4) relational: <, <=3D, >, >=3D, +// LIKE, NOT LIKE, BETWEEN, NOT BETWEEN, IN, NOT IN +// ( 3) addition and subtraction: +(binary) -(binary) +// ( 2) multiplication: * / %, concatenate: || +// highest --> ( 1) +(unary) -(unary) +// [] () (method call) . (dot -- identifier qualifica= tion) +// aggregate function +// () (explicit parenthesis) +// +// Note that the above precedence levels map to the rules below... +// Once you have a precedence chart, writing the appropriate rules as below +// is usually very straightfoward + +logicalExpression + : expression + ; + +// Main expression rule +expression + : logicalOrExpression + ; + +// level 7 - OR +logicalOrExpression + : logicalAndExpression ( OR^ logicalAndExpression )* + ; + +// level 6 - AND, NOT +logicalAndExpression + : negatedExpression ( AND^ negatedExpression )* + ; + +// NOT nodes aren't generated. Instead, the operator in the sub-tree will= be +// negated, if possible. Expressions without a NOT parent are passed thr= ough. +negatedExpression! +{ weakKeywords(); } // Weak keywords can appear in an expression, so look = ahead. + : NOT^ x:negatedExpression { #negatedExpression =3D negateNode(#x); } + | y:equalityExpression { #negatedExpression =3D #y; } + ; + +//## OP: EQUALS_OP | LESS_THAN_OP | GREATER_THAN_OP | LESS_THAN_OR_EQUALS_= OP | GREATER_THAN_OR_EQUALS_OP | NOT_EQUALS_OP | LIKE; + +// level 5 - EQUALS_OP, NOT_EQUALS_OP +equalityExpression : = + x:relationalExpression ( + IS! (not:NOT!)? ( nullness:NULL! | emptiness:EMPTY! ) { + if ( #nullness !=3D null ) { + log.debug( "handling : " + #x.toStringTree() = ); + #equalityExpression =3D #( [IS_NULL, "is null"], #x ); + if ( #not !=3D null ) { + negateNode( #equalityExpression ); + } + } + else { + #equalityExpression =3D processIsEmpty( #x, #not ); + } + } + | ( EQUALS_OP^ | NOT_EQUALS_OP^ ) relationalExpression + )* { + // Post process the equality expression to clean up 'is null', etc. + #equalityExpression =3D processEqualityExpression(#equalityExpression); + } +; + +// level 4 - LESS_THAN_OP, GREATER_THAN_OP, LESS_THAN_OR_EQUALS_OP, GREATE= R_THAN_OR_EQUALS_OP, LIKE, NOT LIKE, BETWEEN, NOT BETWEEN +// NOTE: The NOT prefix for LIKE and BETWEEN will be represented in the +// token type. When traversing the AST, use the token type, and not the +// token text to interpret the semantics of these nodes. +relationalExpression + : concatenation ( + ( ( ( LESS_THAN_OP^ | GREATER_THAN_OP^ | LESS_THAN_OR_EQUALS_OP^ | GREAT= ER_THAN_OR_EQUALS_OP^ ) additiveExpression )* ) + // Disable node production for the optional 'not'. + | (n:NOT!)? ( + // Represent the optional NOT prefix using the token type by + // testing 'n' and setting the token type accordingly. + (i:IN^ { + #i.setType( (n =3D=3D null) ? IN : NOT_IN); + #i.setText( (n =3D=3D null) ? "in" : "not in"); + } + inList) + | (b:BETWEEN^ { + #b.setType( (n =3D=3D null) ? BETWEEN : NOT_BETWEEN); + #b.setText( (n =3D=3D null) ? "between" : "not between"); + } + betweenList ) + | (l:LIKE^ { + #l.setType( (n =3D=3D null) ? LIKE : NOT_LIKE); + #l.setText( (n =3D=3D null) ? "like" : "not like"); + } + concatenation likeEscape) + | (MEMBER! OF! p:path! { + processMemberOf( #p, #n ); + } ) ) + ) + ; + +likeEscape + : (ESCAPE^ concatenation)? + ; + +inList + : x:compoundExpr + { #inList =3D #([IN_LIST,"inList"], #inList); } + ; + +betweenList + : concatenation AND! concatenation + ; + +//level 4 - string concatenation +concatenation : + additiveExpression ( + co:CONCATENATION_OP^ { #co.setType(ARG_LIST); #co.setText("concat-= series"); } additiveExpression ( CONCATENATION_OP! additiveExpression )* { + #concatenation =3D #( [CONCATENATION_OP, "||"], #co ); + } + )? +; + + = +// level 3 - binary plus and minus +additiveExpression + : multiplyExpression ( ( PLUS_SIGN^ | MINUS_SIGN^ ) multiplyExpression )* + ; + +// level 2 - binary multiply and divide +multiplyExpression + : unaryExpression ( ( ASTERISK^ | SOLIDUS^ ) unaryExpression )* + ; + = +// level 1 - unary minus, unary plus, not +unaryExpression + : MINUS_SIGN^ {#MINUS_SIGN.setType(UNARY_MINUS);} unaryExpression + | PLUS_SIGN^ {#PLUS_SIGN.setType(UNARY_PLUS);} unaryExpression + | caseExpression + | quantifiedExpression + | standardFunction + | setFunction + | collectionFunction + | collectionExpression + | atom + ; + +caseExpression : + caseAbbreviation + | caseSpecification +; + +caseAbbreviation : + ( NULLIF LEFT_PAREN unaryExpression COMMA unaryExpression RIGHT_PAREN ) + | ( COALESCE LEFT_PAREN unaryExpression (COMMA unaryExpression)* RIGHT= _PAREN ) +; + +caseSpecification : + simpleCase + | searchedCase +; + +simpleCase : + CASE unaryExpression (simpleCaseWhenClause)+ (elseClause)? END +; + +simpleCaseWhenClause : + WHEN unaryExpression THEN result +; + +result : + unaryExpression +; + +elseClause : + ELSE result +; + +searchedCase : + CASE (searchedWhenClause)+ (elseClause)? END +; + +searchedWhenClause : + WHEN logicalExpression THEN unaryExpression +; + +quantifiedExpression // todo : this should be a function of the predicates= (logicalExpression) not of concatenation/additiveExpression: these can com= e only in very certain circumstances. + : ( SOME^ | EXISTS^ | ALL^ | ANY^ ) = + ( identifier | collectionExpression | (LEFT_PAREN! ( subQuery ) RIGHT_PAR= EN!) ) + ; + +standardFunction : + castFunction + | concatFunction + | substringFunction + | trimFunction + | upperFunction + | lowerFunction + | lengthFunction + | locateFunction + | absFunction + | sqrtFunction + | modFunction + | sizeFunction + | indexFunction + | currentDateFunction + | currentTimeFunction + | currentTimestampFunction + | extractFunction + | positionFunction + | charLengthFunction + | octetLengthFunction + | bitLengthFunction +// | USER +// | CURRENT_USER +// | SESSION_USER +// | SYSTEM_USER +; + +castFunction : + CAST^ LEFT_PAREN! unaryExpression AS! dataType RIGHT_PAREN! +; + +dataType : + // todo : temp... + identifier +; + +concatFunction : + CONCAT^ LEFT_PAREN! unaryExpression ( COMMA! unaryExpression )+ RIGHT_= PAREN! +; + +substringFunction : + SUBSTRING^ LEFT_PAREN! unaryExpression COMMA! unaryExpression ( COMMA!= unaryExpression)? RIGHT_PAREN! +; + +trimFunction : + TRIM^ LEFT_PAREN! trimOperands RIGHT_PAREN! +; + +trimOperands : + trimSpecification unaryExpression FROM! unaryExpression + | tsp:trimSpecification FROM ts:unaryExpression { + #trimOperands =3D #( #tsp, [CHAR_STRING," "], #ts ); + } + | FROM! ts3:unaryExpression { + #trimOperands =3D #( [BOTH,"both"], [CHAR_STRING," "], #ts3 ); + } + | sve1:unaryExpression ( FROM! sve2:unaryExpression ) { + if ( #sve2 !=3D null ) { + #trimOperands =3D #( [BOTH,"both"], #sve1, #sve2 ); + } + else { + #trimOperands =3D #( [BOTH,"both"], [CHAR_STRING," "], #sve1 ); + } + } +; + +trimSpecification : + LEADING + | TRAILING + | BOTH +; + +upperFunction : + UPPER^ LEFT_PAREN! concatenation RIGHT_PAREN! +; + +lowerFunction : + LOWER^ LEFT_PAREN! concatenation RIGHT_PAREN! +; + +lengthFunction : + LENGTH^ LEFT_PAREN! concatenation RIGHT_PAREN! +; + +locateFunction : + LOCATE^ LEFT_PAREN! unaryExpression COMMA! unaryExpression ( COMMA! un= aryExpression )? RIGHT_PAREN! +; + +absFunction : + ABS^ LEFT_PAREN! unaryExpression RIGHT_PAREN! +; + +sqrtFunction : + SQRT^ LEFT_PAREN! unaryExpression RIGHT_PAREN! +; + +modFunction : + MOD^ LEFT_PAREN! unaryExpression COMMA! unaryExpression RIGHT_PAREN! +; + +sizeFunction : + SIZE^ LEFT_PAREN! path RIGHT_PAREN! +; + +indexFunction : + INDEX^ LEFT_PAREN! aliasReference RIGHT_PAREN! +; + +currentDateFunction : + CURRENT_DATE ( LEFT_PAREN! RIGHT_PAREN! )? +; + +currentTimeFunction : + CURRENT_TIME ( LEFT_PAREN! RIGHT_PAREN! )? +; + +currentTimestampFunction : + CURRENT_TIMESTAMP ( LEFT_PAREN! RIGHT_PAREN! )? +; + +extractFunction : + EXTRACT^ LEFT_PAREN! extractField FROM extractSource RIGHT_PAREN! +; + +extractField : + datetimeField + | timeZoneField +; + +datetimeField : + nonSecondDatetimeField + | SECOND +; + +timeZoneField : + TIMEZONE_HOUR + | TIMEZONE_MINUTE +; + +extractSource : + concatenation +; + +positionFunction : + POSITION^ LEFT_PAREN! unaryExpression IN! unaryExpression RIGHT_PAREN! +; + +charLengthFunction : + ( CHAR_LENGTH^ | CHARACTER_LENGTH^ ) LEFT_PAREN! concatenation RIGHT_P= AREN! +; + +octetLengthFunction : + OCTET_LENGTH^ LEFT_PAREN! unaryExpression RIGHT_PAREN! +; + +bitLengthFunction : + BIT_LENGTH^ LEFT_PAREN! unaryExpression RIGHT_PAREN! +; + +setFunction : + ( SUM^ | AVG^ | MAX^ | MIN^ ) LEFT_PAREN! additiveExpression RIGHT_PAR= EN! + | COUNT^ LEFT_PAREN! ( ASTERISK | ( ( DISTINCT | ALL )? ( path | colle= ctionExpression ) ) ) RIGHT_PAREN! +; + +collectionFunction : + ( MAXELEMENT^ | MAXINDEX^ | MINELEMENT^ | MININDEX^ ) LEFT_PAREN! iden= tPrimary RIGHT_PAREN! +; + +collectionExpression : + ( ELEMENTS^ | INDICES^ ) LEFT_PAREN! path RIGHT_PAREN! +; + + +// level 0 - expression atom +// ident qualifier ('.' ident ), array index ( [ expr ] ), +// method call ( '.' ident '(' exprList ') ) +atom : + primaryExpression ( + DOT^ identifier ( options { greedy=3Dtrue; } : + ( op:LEFT_PAREN^ {#op.setType(GENERIC_FUNCTION);} exprList RIG= HT_PAREN! ) + )? + | lb:LEFT_BRACKET^ {#lb.setType(INDEX_OP);} expression RIGHT_BRACKET! + )* + ; + +// level 0 - the basic element of an expression +primaryExpression : + identPrimary ( options {greedy=3Dtrue;} : DOT^ CLASS )? + | constant + | parameterSpecification + | LEFT_PAREN! (expressionOrVector | subQuery) RIGHT_PAREN! + ; + +parameterSpecification! : + c:COLON! { weakKeywords(); } name:identifier! { + #c.setType( NAMED_PARAM ); + #c.setText( #name.getText() ); + #parameterSpecification =3D #c; + } + | p:PARAM! ( position:NUM_INT_LITERAL! )? { + if ( #position =3D=3D null ) { + #parameterSpecification =3D #p; + } + else { + #position.setType( JPA_PARAM ); + #parameterSpecification =3D #position; + } + } +; + +// This parses normal expression and a list of expressions separated by co= mmas. If a comma is encountered +// a parent VECTOR_EXPR node will be created for the list. +expressionOrVector! + : e:expression ( v:vectorExpr )? { + // If this is a vector expression, create a parent node for it. + if (#v !=3D null) + #expressionOrVector =3D #([VECTOR_EXPR,"{vector}"], #e, #v); + else + #expressionOrVector =3D #e; + } + ; + +vectorExpr + : COMMA! expression (COMMA! expression)* + ; + +// identifier, followed by member refs (dot ident), or method calls. +// NOTE: handleDotIdent() is called immediately after the first IDENT is r= ecognized because +// the method looks a head to find keywords after DOT and turns them into = identifiers. +identPrimary : + identifier { handleDotIdent(); } + ( options { greedy=3Dtrue; } : DOT^ ( identifier | ELEMENTS | o:OB= JECT { #o.setType(IDENT); } ) )* + ( options { greedy=3Dtrue; } : ( op:LEFT_PAREN^ { #op.setType(GENE= RIC_FUNCTION);} exprList RIGHT_PAREN! ) )? { + if ( #op =3D=3D null ) { + String path =3D extractPath( #identPrimary ); + if ( isJavaConstant( path ) ) { + #identPrimary =3D #( [JAVA_CONSTANT,path] ); + } + } + } +; + +//aggregate +// : ( SUM^ | AVG^ | MAX^ | MIN^ ) LEFT_PAREN! additiveExpression RIGHT_PA= REN! { #aggregate.setType(AGGREGATE); } +// // Special case for count - It's 'parameters' can be keywords. +// | COUNT^ LEFT_PAREN! ( ASTERISK { #ASTERISK.setType(ROW_STAR); } | ( (= DISTINCT | ALL )? ( path | collectionExpr ) ) ) RIGHT_PAREN! +// | collectionExpr +// ; +// +//collectionExpr +// : (ELEMENTS^ | INDICES^) LEFT_PAREN! path RIGHT_PAREN! +// ; + = +// NOTE: compoundExpr can be a 'path' where the last token in the path is = '.elements' or '.indicies' +compoundExpr + : collectionExpression + | path + | (LEFT_PAREN! ( (expression (COMMA! expression)*) | subQuery ) RIGHT_PAR= EN!) + ; + +exprList : + ( trimSpec:trimSpecification )? { + if(#trimSpec !=3D null) #trimSpec.setType(IDENT); + } + ( + expression ( (COMMA! expression)+ | FROM { #FROM.setType(IDENT); } ex= pression | AS! identifier )? + | FROM { #FROM.setType(IDENT); } expression + )? + { #exprList =3D #([EXPR_LIST,"exprList"], #exprList); } + ; + +constant : + literal + | NULL + | TRUE + | FALSE +; + +literal : + numericLiteral + | characterLiteral + | dateLiteral + | timeLiteral + | timestampLiteral + | intervalLiteral +; + +numericLiteral : + UNSIGNED_INTEGER + | NUM_INT_LITERAL + | NUM_LONG_LITERAL + | NUM_DOUBLE_LITERAL + | NUM_FLOAT_LITERAL +; + +characterLiteral : + CHAR_STRING + | NATIONAL_CHAR_STRING_LIT + | BIT_STRING_LIT + | HEX_STRING_LIT +; + +dateLiteral : + DATE^ CHAR_STRING +; + +timeLiteral : + TIME^ CHAR_STRING +; + +timestampLiteral : + TIMESTAMP^ CHAR_STRING +; + +intervalLiteral : + INTERVAL ( PLUS_SIGN | MINUS_SIGN )? CHAR_STRING intervalQualifier +; + +intervalQualifier : + intervalStartField ( TO intervalEndField | ) + | SECOND ( LEFT_PAREN UNSIGNED_INTEGER ( COMMA UNSIGNED_INTEGER )? RIG= HT_PAREN )? +; + +intervalStartField : + nonSecondDatetimeField ( LEFT_PAREN UNSIGNED_INTEGER RIGHT_PAREN )? +; + +intervalEndField : + nonSecondDatetimeField + | SECOND ( LEFT_PAREN UNSIGNED_INTEGER RIGHT_PAREN )? +; + +nonSecondDatetimeField : + YEAR + | MONTH + | DAY + | HOUR + | MINUTE +; Added: core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/resolve.g =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/resolve.g = (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/antlr/hql/resolve.g 2008-12-13 = 16:25:05 UTC (rev 15693) @@ -0,0 +1,844 @@ +header { +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + * + * Portions of SQL grammar parsing copyright (C) 2003 by Lubos Vnuk. All = rights + * reserved. These portions are distributed under license by Red Hat Midd= leware + * LLC and are covered by the above LGPL notice. If you redistribute this= material, + * with or without modification, you must preserve this copyright notice i= n its + * entirety. + */ +package org.hibernate.hql.ast.phase.parse; +import antlr.collections.AST; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +} + +/** + * An Antlr tree parser for "resolving" or "normalizing" an HQL syntax AST= . This + * parser provides the vast majority of the semantic analysis of the HQL A= ST. + *

    + * Both "resolving" and "normalizing" here seek a single goal of building a + * dis-ambiguated, generic query AST. + *

    + * The act of resolving is essentially the process of simplifying complex = node + * structures into atomic components based on contextual information (aka,= the + * current parser state). The main thrust of this process is breaking down + * dot-structures (a series of DOT INDET pairs) into

      + *
    • a series of "implicit" join structures injected into the from claus= e tree
    • + *
    • a simple structure representing the "meaning" of the "leaf" of said= dot-structure
    • + *
    + *

    + * The act of normalizing essentially refers to the process of dis-ambigua= ting + * node structures based on their context and creating a unified AST + * representation for different ways to express the same "idea". An examp= le of this + * is normalizing implicit join dot-structures into a structure akin to it= s explicit + * join corollary. + * + * @author Joshua Davis + * @author Steve Ebersole + */ +class GeneratedHqlResolver extends TreeParser; + +options { + importVocab=3DHqlParse; + exportVocab=3DHqlResolve; + buildAST=3Dtrue; +} + +tokens { + PROPERTY_REF; + ENTITY_PERSISTER_REF; + COLLECTION_PERSISTER_REF; + PERSISTER_ALIAS_REF; + BOGUS; + +// SELECT_CLAUSE; +} + + +// -- Declarations -- +{ + private static Logger log =3D LoggerFactory.getLogger( GeneratedHqlRes= olver.class ); + + private int ordinalParamCount =3D 0; + + protected boolean isPersisterReferenceAlias(AST alias) { + return false; + } + + protected AST resolveAlias(AST alias) { + return alias; + } + + protected boolean isUnqualifiedPropertyReference(AST property) { + return false; + } + + protected AST buildUnqualifiedPropertyReference(AST propertyNameNode) { + return propertyNameNode; + } + + protected AST resolvePropertyPathTerminus(AST source, AST propertyName= Node) { + return propertyNameNode; + } + + protected AST resolvePropertyPathIntermediary(AST source, AST property= NameNode) { + return propertyNameNode; + } + + protected void validateIndexOperationOperands(AST collectionPropertyRe= f, AST selector) { + } + + protected AST resolveQualifiedRoot(AST alias) { + return null; + } + + protected AST resolveUnqualifiedRoot(AST alias) { + return null; + } + + protected AST resolveIndexedRoot(AST alias) { + return null; + } + + + // Statement node BEGIN/END handling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ + + protected void pushStatement(AST statementNode) { + } + + protected void popStatement() { + } + + + // property-path context pushing/popping ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ + + protected void pushFromClausePropertyPathContext(AST joinType, AST fetch,= AST alias, AST propertyFetch) { + } + + protected void popFromClausePropertyPathContext() { + } + + protected void pushOnFragmentPropertyPathContext(AST rhsPersisterReferenc= e) { + } + + protected void popOnFragmentPropertyPathContext() { + } + + protected void pushWithFragmentPropertyPathContext(AST rhsPersisterRefere= nce) { + } + + protected void popWithFragmentPropertyPathContext() { + } + + protected void pushSelectClausePropertyPathContext() { + } + + protected void popSelectClausePropertyPathContext() { + } + + + // persister reference handling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ + + protected AST buildEntityPersisterReference(AST entityName, AST alias, AS= T propertyFetch) { + return entityName; + } + + protected AST buildAdHocJoinNode(AST persisterReference, AST joinType, AS= T withFragment) { + return persisterReference; + } + + protected void applyWithFragment(AST withFragment) { + } + + + // parameter handling ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ + + private AST generateNamedParameter(AST delim, AST name) throws SemanticEx= ception { + // use the source delim node to properly transfer line/column number inf= ormation :( + AST param =3D #( delim ); + param.setType( NAMED_PARAM ); + param.setText( name.getText() ); + return param; + } + + private AST generateOrdinalParameter(AST source) throws SemanticException= { + // use the source node to properly transfer line/column number informati= on :( + AST param =3D #( source ); + param.setType( ORDINAL_PARAM ); + param.setText( Integer.toString( ordinalParamCount++ ) ); + return param; + } + + protected void injectSelectAlias( AST selectExpression, AST alias) { + } + + protected void registerSelectExpression(AST selectExpression) { + } + + protected AST handleSelectedPropertyRef(AST propertyRef) { + return propertyRef; + } +} + +// Statement rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * The main grammar rule + */ +statement : + updateStatement + | deleteStatement + | insertStatement + | selectStatement +; + + +// UPDATE statement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an UPDATE statement + */ +updateStatement : + #( + UPDATE { pushStatement( #updateStatement ); } + (VERSIONED)? + ENTITY_NAME (ALIAS)? + setClause + (whereClause)? { popStatement(); } + ) +; + +setClause : + #( SET (assignment)+ ) +; + +assignment : + #( ASSIGNMENT_OP assignmentField newValue ) +; + +assignmentField : + propertyReference +; + +newValue : + valueExpression +; + + + +// DELETE statement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an HQL DELETE statement + */ +deleteStatement : + #( + DELETE { pushStatement( #deleteStatement ); } + ENTITY_NAME (ALIAS)? + (whereClause)? { popStatement(); } + ) +; + + +// INSERT statement ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an HQL INSERT statement + */ +insertStatement : + #( + INSERT { pushStatement( #insertStatement ); } + intoClause + queryExpression { popStatement(); } + ) +; + +intoClause : + #( INTO ENTITY_NAME insertabilitySpecification ) +; + +insertabilitySpecification : + #( INSERTABILITY_SPEC (insertablePropertySpecification)+ ) +; + +/** + * The property being inserted into. + */ +insertablePropertySpecification : + IDENT +; + + +// SELECT statement rules ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * Recognize an HQL SELECT statement. + *

    + * This corresponds most closely to the rule in ISO= /ANSI SQL... + */ +selectStatement : + #( QUERY queryExpression orderByClause ) +; + +orderByClause : + #( ORDER (sortSpecification)+ ) +; + +sortSpecification : + #( SORT_SPEC sortKey (collationSpecification)? (orderingSpecification)= ? ) +; + +sortKey : + // todo : do we want to explicitly limit these? + valueExpression +; + +collationSpecification : + COLLATE +; + +orderingSpecification : + ORDER_SPEC +; + +queryExpression : + #( + QUERY { pushStatement( #queryExpression ); } + querySpec ( ( UNION | INTERSECT | EXCEPT ) (ALL)? querySpec )*= { popStatement( #queryExpression ); } + ) +; + +subquery : + queryExpression +; + +querySpec : + selectFrom ( whereClause )? ( groupByClause ( havingClause )? )? +; + + +selectFrom! : + #( SELECT_FROM fromClause (selectClause)? ) +; + +fromClause : + #( FROM (persisterSpace)+ ) +; + +persisterSpace : + #( PERSISTER_SPACE entityPersisterReference ( qualifiedJoin | crossJoi= n )* ) +; + +entityPersisterReference! : + en:ENTITY_NAME (a:ALIAS)? (pf:PROP_FETCH)? { + #entityPersisterReference =3D buildEntityPersisterReference( en, a, pf ); + } +; + +crossJoin : + #( JOIN CROSS entityPersisterReference ) +; + +qualifiedJoin : + #( + j:JOIN (jt:nonCrossJoinType)? ( + e:entityPersisterReference (on:onFragment[#e])? { + buildAdHocJoinNode( #e, #jt, #on ); + if ( on !=3D null ) { + popOnFragmentPropertyPathContext(); + } + } + | (f:FETCH)? (a:ALIAS)? (pf:PROP_FETCH)? { pushFromClausePrope= rtyPathContext( jt, #f, #a, #pf ); } prop:propertyRef (with:withFragment[#p= rop])? { + popFromClausePropertyPathContext(); + } + ) + ) +; + +nonCrossJoinType : + ( (LEFT | RIGHT) (OUTER)? ) + | INNER + ; + +onFragment[ AST rhsPersisterReference ] + : #( o:ON { pushOnFragmentPropertyPathContext( rhsPersisterReference ); }= le:logicalExpr ) { + #onFragment =3D #( o, le ); + } + ; + +withFragment[ AST rhsPropertyReference ] + : #( w:WITH { pushWithFragmentPropertyPathContext( rhsPropertyReference )= ; } le:logicalExpr ) { + #withFragment =3D #( w, le ); + applyWithFragment( #withFragment ); + popWithFragmentPropertyPathContext(); + } + ; + + + + + + + + + + + + +//////////////////////////////////////////////////////////////////////////= ///// +// The statement sub-rules + +selectStatement : + query ( ( m:MINUS | u:UNION ) (a:ALL)? query )* +; + + + + +//////////////////////////////////////////////////////////////////////////= ///// + +query + : #(QUERY { pushStatement( #query ); } + // The first phase places the FROM first to make processing the SELECT = simpler. + #( SELECT_FROM fromClause (selectClause)? ) + (whereClause)? + (groupClause)? + (orderClause)? { + popStatement(); + } + ) + ; + +selectClause + : #( SELECT { pushSelectClausePropertyPathContext(); } ( d:DISTINCT )? x:= selectExprList ) { + #selectClause =3D #([SELECT_CLAUSE,"{select clause}"], #d, #x); + popSelectClausePropertyPathContext(); + } + ; + +selectExprList + : ( selectExprValue )+ + ; + +selectExprValue + : ( selectExpr | aliasedSelectExpr ) { + registerSelectExpression( #selectExprValue ); + } + ; + +aliasedSelectExpr + : #( AS se:selectExpr i:identifier! ) { + injectSelectAlias( #se, #i ); + #aliasedSelectExpr =3D #se; + } + ; + +// TODO : the old grammar had both literal and constant available as selec= t expressions, but that is probably not valid; it is certainly not valid fo= r non-subqueries +selectExpr + : (persisterReferenceAliasCheck) =3D> persisterRefRef + | pr:propertyRef { #selectExpr =3D handleSelectedPropertyRef( #pr ); } + | arithmeticExpr + | count + | literal + | constant + ; + +persisterRefRef! + : alias:IDENT { + #persisterRefRef =3D #( [ PERSISTER_REF_REF, alias.getText() ] ); = + } + ; + +count + : #(COUNT ( DISTINCT | ALL )? ( propertyRef | literal | ROW_STAR ) ) + ; + +fromClause + : #( f:FROM rootFromElement ( explicitJoin | rootFromElement )* ) + ; + +rootFromElement! + : #( RANGE e:entityPersisterReference ) { + #rootFromElement =3D #e; + } + ; + +entityPersisterReference! + : en:ENTITY_NAME (a:ALIAS)? (pf:PROP_FETCH)? { + #entityPersisterReference =3D buildEntityPersisterReference( en, a, pf ); + } + ; + +explicitJoin! + : #( + j:JOIN (jt:joinType)? + ( + e:entityPersisterReference (on:onFragment[#e])? { + buildAdHocJoinNode( #e, #jt, #on ); + if ( on !=3D null ) { + popOnFragmentPropertyPathContext(); + } + } + | (f:FETCH)? (a:ALIAS)? (pf:PROP_FETCH)? { pushFromClausePropertyPathC= ontext( jt, #f, #a, #pf ); } prop:propertyRef (with:withFragment[#prop])? { + popFromClausePropertyPathContext(); + } + ) + ) + ; + + +//////////////////////////////////////////////////////////////////////////= ///// +// propertyRef related rules... +// + +/** + * The top level property ref recognition rule. + */ +propertyRef + : (unqualifiedPropertyRefCheck) =3D> unqualifiedPropertyRef + | implicitJoin + | indexOperation + ; + +/** + * A rule utilizing a validating semantic predicate to contextually + * ensure that we have unqualified property reference. Generally + * used from within syntactic predicates to disambiguate the match path + * + * see {@link #implicitJoinSource} for example + */ +unqualifiedPropertyRefCheck! + : prop:IDENT { isUnqualifiedPropertyReference( prop ) }? + ; + +/** + * AST construction rule for building AST relating to *known* + * unqualified property references. Do not call this rule unless + * you know for certain (ala, have verified via the unqualifiedPropertyRef= Check + * rule or similiar) that the next token is an IDENT representing an + * unqualified property reference. + */ +unqualifiedPropertyRef! + : prop:IDENT { + #unqualifiedPropertyRef =3D buildUnqualifiedPropertyReference( pro= p ); + } + ; + +/** + * A rule utilizing a validating semantic predicate to contextually + * ensure that we have an alias for a persister reference previously + * encountered and processed. Generally used from within syntactic + * predicates to disambiguate the path. + */ +persisterReferenceAliasCheck! + : alias:IDENT { isPersisterReferenceAlias( alias ) }? + ; + +/** + * AST construction rule for building AST relating to *known* + * persister reference aliases. Do not call this rule unless + * you know for certain (ala, have verified via the persisterReferenceAlia= sCheck + * rule or similiar) that the next token is an IDENT representing an + * alias for a persister reference + */ +persisterReferenceAlias! + : alias:IDENT { + #persisterReferenceAlias =3D resolveAlias( alias ); + } + ; + +/** + * Perhaps better named as 'complex property ref' or 'pathed property ref'= i.e. + * Anyway, the basic idea is (DOT IDENT) + */ +implicitJoin! + : #( d:DOT source:implicitJoinSource prop:IDENT) { + #implicitJoin =3D resolvePropertyPathTerminus( #source, #prop ); + } + ; + +intermediateImplicitJoin! + : #( d:DOT source:implicitJoinSource prop:IDENT) { + #intermediateImplicitJoin =3D resolvePropertyPathIntermediary( #so= urce, #prop ); + } + ; + +/** + * The output of the implicitJoinSource rule is a {@link org.hibernate.sql= .ast.phase.resolve.patg.PropertyPathPart} + * reference which is a tokenized and encoded representation of the curren= t path expression + * resolution state. + */ +implicitJoinSource + : (persisterReferenceAliasCheck) =3D> a:IDENT { #implicitJoinSource = =3D resolveQualifiedRoot( #a ); } + | (unqualifiedPropertyRefCheck) =3D> pr:IDENT { #implicitJoinSource = =3D resolveUnqualifiedRoot( #pr ); } + | intermediateImplicitJoin + | i:indexOperation { #implicitJoinSource =3D resolveIndexedRoot( #i );= } + ; + +indexOperation + : #( i:INDEX_OP coll:propertyRef selector:indexSelector ) { + validateIndexOperationOperands( #coll, #selector ); + } + ; + +indexSelector + : constant + | parameter + | arithmeticExpr + | collectionFunctionCall + ; + +// +// propertyRef related rules... +//////////////////////////////////////////////////////////////////////////= ///// + +collectionFunctionCall + : #( METHOD_CALL pathAsIdent ( #(EXPR_LIST alias ) )? ) + ; + +alias! + : i:identifier { + #alias =3D resolveAlias( i ); + } + ; + +joinType + : ( (LEFT | RIGHT) (OUTER)? ) + | FULL + | INNER + ; + +onFragment[ AST rhsPersisterReference ] + : #( o:ON { pushOnFragmentPropertyPathContext( rhsPersisterReference ); }= le:logicalExpr ) { + #onFragment =3D #( o, le ); + } + ; + +withFragment[ AST rhsPropertyReference ] + : #( w:WITH { pushWithFragmentPropertyPathContext( rhsPropertyReference )= ; } le:logicalExpr ) { + #withFragment =3D #( w, le ); + applyWithFragment( #withFragment ); + popWithFragmentPropertyPathContext(); + } + ; + + +intoClause + : #(i:INTO (subtree)* ) + ; + +whereClause + : #(WHERE logicalExpr ) + ; + +groupClause + : #(GROUP (subtree)* ) + ; + +orderClause + : #(ORDER (subtree)* ) + ; + + +logicalExpr + : #(AND logicalExpr logicalExpr) + | #(OR logicalExpr logicalExpr) + | #(NOT logicalExpr) + | comparisonExpr + ; + +comparisonExpr + : + ( #(EQ exprOrSubquery exprOrSubquery) + | #(NE exprOrSubquery exprOrSubquery) + | #(LT exprOrSubquery exprOrSubquery) + | #(GT exprOrSubquery exprOrSubquery) + | #(LE exprOrSubquery exprOrSubquery) + | #(GE exprOrSubquery exprOrSubquery) + | #(LIKE exprOrSubquery expr ( #(ESCAPE expr) )? ) + | #(NOT_LIKE exprOrSubquery expr ( #(ESCAPE expr) )? ) + | #(BETWEEN exprOrSubquery exprOrSubquery exprOrSubquery) + | #(NOT_BETWEEN exprOrSubquery exprOrSubquery exprOrSubquery) + | #(IN exprOrSubquery inRhs ) + | #(NOT_IN exprOrSubquery inRhs ) + | #(IS_NULL exprOrSubquery) + | #(IS_NOT_NULL exprOrSubquery) + | #(EXISTS ( expr | collectionFunctionOrSubselect ) ) + ) + ; + +inRhs + : #(IN_LIST ( collectionFunctionOrSubselect | ( (expr)* ) ) ) + ; + +exprOrSubquery + : expr + | query + | #(ANY collectionFunctionOrSubselect) + | #(ALL collectionFunctionOrSubselect) + | #(SOME collectionFunctionOrSubselect) + ; + +collectionFunctionOrSubselect + : collectionFunction + | query + ; + +collectionFunction + : #( ELEMENTS propertyRef ) + | #( INDICES propertyRef ) + ; + +aggregateExpr + : expr + | collectionFunction + ; + +expr + : addrExpr + | #( VECTOR_EXPR (expr)* ) + | constant + | arithmeticExpr + | functionCall // Function call, not in the SELECT clause. + | parameter + | count // Count, not in the SELECT clause. + ; + +arithmeticExpr + : #(PLUS expr expr) + | #(MINUS expr expr) + | #(DIV expr expr) + | #(STAR expr expr) + | #(UNARY_MINUS expr) + | caseExpr + ; + +caseExpr + : #(CASE (#(WHEN logicalExpr expr))+ (#(ELSE expr))?) + | #(CASE2 expr (#(WHEN expr expr))+ (#(ELSE expr))?) + ; + +//addrExpr +// : propertyRef +// | #(INDEX_OP addrExprLhs expr) +// ; + +addrExpr + : propertyRef + ; + +addrExprLhs + : addrExpr + ; + +constant + : NULL + | TRUE + | FALSE + | javaConstant + ; + +javaConstant + : JAVA_CONSTANT + ; + +literal + : NUM_INT + | NUM_LONG + | NUM_FLOAT + | NUM_DOUBLE + | QUOTED_STRING + ; + +parameter! + : #( c:COLON (c2:COLON)? i:identifier ) { + if ( c2 !=3D null ) { + // allows escaping the colon... + String text =3D ":" + i.getText(); + #parameter =3D #( [IDENT, text] ); + } + else { + #parameter =3D generateNamedParameter( c, i ); + } + } + | #( p:PARAM (n:NUM_INT)? ) { + if ( n !=3D null ) { + // An ejb3-style "positional parameter", which we handle internally as = a named-parameter + #parameter =3D generateNamedParameter( p, n ); + } + else { + #parameter =3D generateOrdinalParameter( p ); + } + } + ; + +functionCall + : #(METHOD_CALL pathAsIdent ( #(EXPR_LIST (expr)* ) )? ) + | #(AGGREGATE aggregateExpr ) + ; + +//propertyRef +// : propertyPath +// ; + +propertyName + : identifier + | CLASS + | ELEMENTS + | INDICES + ; + +// Matches a path and returns the normalized string for the path (usually +// fully qualified a class name). +pathAsString returns [String p] { + p =3D "???"; + String x =3D "?x?"; + } + : a:identifier { p =3D a.getText(); } + | #(DOT x=3DpathAsString y:identifier) { + StringBuffer buf =3D new StringBuffer(); + buf.append(x).append(".").append(y.getText()); + p =3D buf.toString(); + } + ; + +// Returns a path as a single identifier node. +pathAsIdent { + String text =3D "?text?"; + } + : text=3DpathAsString { + #pathAsIdent =3D #([IDENT,text]); + } + ; + +identifier + : (IDENT | WEIRD_IDENT) + ; + +// General subtree. Matches anything, copies the tree verbatim. +subtree + : #(. (subtree)*) + ; Added: core/branches/SQL_GEN_REDESIGN/src/main/antlr/sql/common.g =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/antlr/sql/common.g = (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/antlr/sql/common.g 2008-12-13 1= 6:25:05 UTC (rev 15693) @@ -0,0 +1,424 @@ +header +{ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + * + * Portions of SQL grammar parsing copyright (C) 2003 by Lubos Vnuk. All = rights + * reserved. These portions are distributed under license by Red Hat Midd= leware + * LLC and are covered by the above LGPL notice. If you redistribute this= material, + * with or without modification, you must preserve this copyright notice i= n its + * entirety. + */ +package org.hibernate.sql.ast.common; + +import antlr.collections.AST; +import antlr.Token; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +} + +/** + * A convenience base class for Hibernate parsers. + *

    + * Our parsers are generally dealing with some aspect of SQL, and so this = parser provides commonly needed + * actions as well as exporting the basic common vocaulary of needed token= s (including all ISO/ANSI SQL-92 + * key/reserved words). + * + * @author Lubos Vnuk + * @author Joshua Davis + * @author Steve Ebersole + */ +class CommonHibernateParserSupport extends Parser; + +options +{ + exportVocab=3DSql92; + buildAST=3Dtrue; + k=3D2; +// codeGenMakeSwitchThreshold=3D4; // Code optimization +// codeGenBitsetTestThreshold=3D8; // Code optimization +} + +tokens +{ + // SQL key/reserved words + ALL =3D "all"; + AND =3D "and"; + ANY =3D "any"; + AS =3D "as"; + ASCENDING =3D "asc"; + AT =3D "at"; + AVG =3D "avg"; + BETWEEN =3D "between"; + BIT =3D "bit"; + BIT_LENGTH =3D "bit_lenght"; + BOTH =3D "both"; + BY =3D "by"; + CASE =3D "case"; + CAST =3D "cast"; + CHAR =3D "char"; + CHARACTER =3D "character"; + CHAR_LENGTH =3D "char_length"; + CHARACTER_LENGTH =3D "character_length"; + COALESCE =3D "coalesce"; + COLLATE =3D "collate"; + CONVERT =3D "convert"; + CORRESPONDING =3D "corresponding"; + COUNT =3D "count"; + CROSS =3D "cross"; + CURRENT =3D "current"; + CURRENT_DATE =3D "current_date"; + CURRENT_TIME =3D "current_time"; + CURRENT_TIMESTAMP =3D "current_timestamp"; + DATE =3D "date"; + DAY =3D "day"; + DEC =3D "dec"; + DECIMAL =3D "decimal"; + DEFAULT =3D "default"; + DELETE =3D "delete"; + DESCENDING =3D "desc"; + DISTINCT =3D "distinct"; + DOUBLE =3D "double"; + ELSE =3D "else"; + END =3D "end"; + ESCAPE =3D "escape"; + EXCEPT =3D "except"; + EXISTS =3D "exists"; + EXTRACT =3D "extract"; + FALSE =3D "false"; + FLOAT =3D "float"; + FOR =3D "for"; + FROM =3D "from"; + FULL =3D "full"; + GLOBAL =3D "global"; + GROUP =3D "group"; + HAVING =3D "having"; + HOUR =3D "hour"; + IN =3D "in"; + INDICATOR =3D "indicator"; + INNER =3D "inner"; + INSERT =3D "insert"; + INT =3D "int"; + INTEGER =3D "integer"; + INTERSECT =3D "intersect"; + INTERVAL =3D "interval"; + INTO =3D "into"; + IS =3D "is"; + JOIN =3D "join"; + LEADING =3D "leading"; + LEFT =3D "left"; + LIKE =3D "like"; + LOCAL =3D "local"; + LOWER =3D "lower"; + MATCH =3D "match"; + MAX =3D "max"; + MIN =3D "min"; + MINUS =3D "minus"; + MINUTE =3D "minute"; + MODULE =3D "module"; + MONTH =3D "month"; + NATIONAL =3D "national"; + NATURAL =3D "natural"; + NCHAR =3D "nchar"; + NOT =3D "not"; + NULL =3D "null"; + NULLIF =3D "nullif"; + NUMERIC =3D "numeric"; + OCTET_LENGTH =3D "octet_length"; + OF =3D "of"; + ON =3D "on"; + ONLY =3D "only"; + OR =3D "or"; + ORDER =3D "order"; + OUTER =3D "outer"; + OVERLAPS =3D "overlaps"; + PARTIAL =3D "partial"; + POSITION =3D "position"; + PRECISION =3D "precision"; + READ =3D "read"; + REAL =3D "real"; + RIGHT =3D "right"; + SECOND =3D "second"; + SELECT =3D "select"; + SET =3D "set"; + SMALLINT =3D "smallint"; + SOME =3D "some"; + SUBSTRING =3D "substring"; + SUM =3D "sum"; + TABLE =3D "table"; + THEN =3D "then"; + TIME =3D "time"; + TIMESTAMP =3D "timestamp"; + TIMEZONE_HOUR =3D "timezone_hour"; + TIMEZONE_MINUTE =3D "timezone_minute"; + TO =3D "to"; + TRAILING =3D "trailing"; + TRANSLATE =3D "translate"; + TRIM =3D "trim"; + TRUE =3D "true"; + UNION =3D "union"; + UNIQUE =3D "unique"; + UNKNOWN =3D "unknown"; + UPDATE =3D "update"; + UPPER =3D "upper"; + USING =3D "using"; + VALUE =3D "value"; + VALUES =3D "values"; + VARCHAR =3D "varchar"; + VARYING =3D "varying"; + WHEN =3D "when"; + WHERE =3D "where"; + WITH =3D "with"; + YEAR =3D "year"; + ZONE =3D "zone"; + + DOT; + + // synthetic numeric literal types + NUM_INT_LITERAL; + NUM_LONG_LITERAL; + NUM_DOUBLE_LITERAL; + NUM_FLOAT_LITERAL; + + NATIONAL_CHAR_STRING_LIT; + BIT_STRING_LIT; + HEX_STRING_LIT; + + // HQL-specific keywords + ABS =3D "abs"; + CLASS =3D "class"; + CONCAT =3D "concat"; + ELEMENTS =3D "elements"; + EMPTY =3D "empty"; + FETCH =3D "fetch"; + INDEX =3D "index"; + INDICES =3D "indices"; + LENGTH =3D "length"; + LOCATE =3D "locate"; + MAXELEMENT =3D "maxelement"; + MAXINDEX =3D "maxindex"; + MEMBER =3D "member"; + MINELEMENT =3D "minelement"; + MININDEX =3D "minindex"; + MOD =3D "mod"; + NEW =3D "new"; + OBJECT =3D "object"; + PROPERTIES =3D "properties"; + SIZE =3D "size"; + SQRT =3D "sqrt"; + VERSIONED =3D "versioned"; +} + +{ + private static final Logger log =3D LoggerFactory.getLogger( CommonHibern= ateParserSupport.class ); + + // Grammar actions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + public void showAST(AST ast) { + showAST( ast, "AST" ); + } + + public void showAST(AST ast, String title) { + if ( log.isDebugEnabled() ) { + log.debug( title + " [tree string] : " + ast.toStringTree() ); + } + } +} + +noRules : +; + + +// Lexer ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +/** + * A Lexer for recognizing ISO/ANSI SQL vocabnulary tokens. + * + * @author Lubos Vnuk + * @author Joshua Davis + * @author Steve Ebersole + */ +class CommonHibernateLexerSupport extends Lexer; + +options { + exportVocab =3D Sql92; + testLiterals =3D false; + k =3D 2; + charVocabulary =3D '\u0000'..'\uFFFE'; + caseSensitive =3D false; + caseSensitiveLiterals =3D false; +} + + +{ + /** + * Lexer action used to hook callbacks from lexer rules whenever we en= counter a token + * which could conceivable be used as an identifer. This is used to p= rovide "keyword-as-identifier" + * handling (where a keyword is used as an identifier). + * + * @param possibleIdentifier Whether the token could be an idientifier. + */ + protected void setPossibleIdentifier(boolean possibleIdentifier) { + } + + protected void markAsApproximate() { + } +} + +EQUALS_OP : '=3D' ; +NOT_EQUALS_OP : "!=3D" | "^=3D"; +SQL_NOT_EQUALS_OP : "<>" { $setType(NOT_EQUALS_OP); }; + +LESS_THAN_OP : '<'; +LESS_THAN_OR_EQUALS_OP : "<=3D"; + +GREATER_THAN_OP : '>'; +GREATER_THAN_OR_EQUALS_OP : ">=3D"; + +CONCATENATION_OP : "||"; +VERTICAL_BAR : '|'; + +PARAM : '?' ; + +COLON : ':'; +SEMICOLON : ';' ; + +LEFT_BRACKET : '[' ; +RIGHT_BRACKET : ']' ; + +LEFT_PAREN : '(' ; +RIGHT_PAREN : ')' ; + +PLUS_SIGN : '+' ; +MINUS_SIGN : '-'; + +ASTERISK : '*' ; +SOLIDUS : '/' ; + +COMMA : ',' ; + +PERCENT : '%' ; +AMPERSAND : '&' ; + + +CHAR_STRING : + ('\'' (options{greedy=3Dtrue;}: ~('\'' | '\r' | '\n') | '\'' '\'' | NEW= LINE)* '\'' )+ +// | '\'' {$setType(QUOTE);} +; + +//QUOTED_STRING : +// '\'' ( (ESCqs)=3D> ESCqs | ~'\'' )* '\'' +//; +// +//protected +//ESCqs : +// '\'' '\'' +//; + +/** + * Recognize either double-quote (") or back-tick (`) as delimiting a quot= ed identifier + */ +QUOTED_IDENT : + '"' (~('"' | '\r' | '\n') | '"' '"')+ '"' + | '`' (~('`' | '\r' | '\n') | '`' '`')+ '`' +; + +IDENT options {testLiterals=3Dtrue;} : + ( NATIONAL_CHAR_STRING_LIT {$setType(NATIONAL_CHAR_STRING_LIT);} + | BIT_STRING_LIT {$setType(BIT_STRING_LIT);} + | HEX_STRING_LIT {$setType(HEX_STRING_LIT);} + ) + | (SIMPLE_LETTER | '_' | '$') (SIMPLE_LETTER | '_' | '$' | '0'..'9')* { + setPossibleIdentifier( true ); +// $setType( testLiteralsTable( IDENT ) ); + } +; + +protected +NATIONAL_CHAR_STRING_LIT : + 'n' ('\'' (options{greedy=3Dtrue;}: ~('\'' | '\r' | '\n' ) | '\'' '\'' | = NEWLINE)* '\'' )+ +; + +protected +BIT_STRING_LIT : + 'b' ('\'' ('0' | '1')* '\'' )+ +; + +protected +HEX_STRING_LIT : + 'x' ("\'" ('a'..'f' | '0'..'9')* "\'" )+ +; + +protected +SIMPLE_LETTER : + 'a'..'z' + | '\u0080'..'\ufffe' +; + +/** + * This rule actually recognizes all numeric literals despite the name... + */ +NUM_INT_LITERAL : + // IMPL NOTE : 2 basic alt-branches: + // 1) starting with unsigned-int + // 2) starting with a decimal ('.') + UNSIGNED_INTEGER ( + '.' UNSIGNED_INTEGER {$setType(NUM_DOUBLE_LITERAL);} ( 'e' SIGNED_= INTEGER {markAsApproximate();} )? ( 'f' {$setType(NUM_FLOAT_LITERAL);} )? + | ( 'e' SIGNED_INTEGER {markAsApproximate();} )? ( ls:'l' {$setTyp= e(NUM_LONG_LITERAL);} )? + ) + | '.' UNSIGNED_INTEGER {$setType(NUM_DOUBLE_LITERAL);} ( 'e' SIGNED_IN= TEGER {markAsApproximate();} )? ( 'f' {$setType(NUM_FLOAT_LITERAL);} )? + | '.' {$setType(DOT);} +; + +protected +SIGNED_INTEGER : + ( '+' | '-' )? UNSIGNED_INTEGER +; + +protected +UNSIGNED_INTEGER : + ('0'..'9')+ +; + +WHITESPACE : + ( SPACE | NEWLINE ) { + //ignore this token + $setType( Token.SKIP ); + } +; + +protected +NEWLINE : + ( '\r' (options{greedy=3Dtrue;}: '\n')? | '\n' ) {newline();} +; + +protected +SPACE : + ' ' | '\t' +; + +protected +ANY_CHAR : + . +; Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/p= hase/parse/ASTFactoryImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phas= e/parse/ASTFactoryImpl.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phas= e/parse/ASTFactoryImpl.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,42 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.hql.ast.phase.parse; + +import antlr.ASTFactory; + +import org.hibernate.sql.ast.common.Node; + +/** + * TODO : javadoc + * + * @author Steve Ebersole + */ +public class ASTFactoryImpl extends ASTFactory { + /** + * {@inheritDoc} + */ + public Class getASTNodeType(int tokenType) { + return Node.class; + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/p= hase/parse/HqlParser.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phas= e/parse/HqlParser.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phas= e/parse/HqlParser.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,623 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.hql.ast.phase.parse; + +import org.hibernate.sql.ast.util.ASTUtil; +import org.hibernate.sql.ast.util.ASTPrinter; +import org.hibernate.sql.ast.util.ErrorCounter; +import org.hibernate.sql.ast.util.ParseErrorHandler; +import org.hibernate.QueryException; +import org.hibernate.MappingException; +import org.hibernate.persister.entity.EntityPersister; +import org.hibernate.engine.SessionFactoryImplementor; +import org.hibernate.sql.ast.common.CommonHibernateLexer; +import org.hibernate.sql.ast.common.TokenImpl; +import org.hibernate.sql.ast.common.Node; +import org.hibernate.util.ReflectHelper; +import org.hibernate.util.StringHelper; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.io.StringReader; +import java.io.PrintStream; +import java.io.PrintWriter; + +import antlr.collections.AST; +import antlr.RecognitionException; +import antlr.TokenStreamException; +import antlr.Token; +import antlr.ASTPair; +import antlr.MismatchedTokenException; +import antlr.SemanticException; +import antlr.ASTFactory; + +/** + * The parser used by Hibernate to generate an AST given an input + * HQL string (a "stream parser"). The produced AST is then used + * (and mutated) by later phases/parsers to apply semantic resolution; + * this parser, however, is all about syntax resolution. + * + * @author Steve Ebersole + */ +public class HqlParser extends GeneratedHqlParser { + private static final Logger log =3D LoggerFactory.getLogger( HqlParser.cl= ass ); + + private final Context context; + private final ParseErrorHandler parseErrorHandler =3D new ErrorCounter(); + private final ASTPrinter printer =3D new ASTPrinter( HqlParseTokenTypes.c= lass ); + private int traceDepth =3D 0; + + public static interface Context { + /** + * Does this name represent an entity name? + * + * @param name The name to check + * @return True if the name represents an entioty name; false otherwise. + */ + public boolean isEntityName(String name); + + /** + * Get the import "replacement" name for the given name (e.g., 'User' ->= 'com.acme.User'). null + * indicates an unrecognized name. + * + * @param name The name for which to locate the imported name. + * @return The corresponding imported name, or null. + */ + public String getImportedName(String name); + + /** + * Does the given name represent a registered function name? + * + * @param name The name to check + * @return True if the name matches a registered function name; false ot= herwise. + */ + public boolean isRegisteredFunctionName(String name); + } + + public HqlParser(String hql, Context context) { + super( new CommonHibernateLexer( new StringReader( hql ) ) ); + this.context =3D context; + super.setASTFactory( new ASTFactoryImpl() ); + } + + public HqlParser(String hql, final SessionFactoryImplementor sessionFacto= ryImplementor) { + this( + hql, + new Context() { + public boolean isEntityName(String name) { + return findEntityPersisterByName( name ) !=3D null; + } + + public String getImportedName(String name) { + return sessionFactoryImplementor.getImportedClassName( name ); + } + + public boolean isRegisteredFunctionName(String name) { + return sessionFactoryImplementor.getDialect().getFunctions().get( na= me ) !=3D null; + } + + private EntityPersister findEntityPersisterByName(String name) throws= MappingException { + try { + return sessionFactoryImplementor.getEntityPersister( name ); + } + catch ( MappingException ignore ) { + // unable to locate it using this name + } + + // If that didn't work, try using the 'import' name. + String importedClassName =3D sessionFactoryImplementor.getImportedCl= assName( name ); + if ( importedClassName =3D=3D null ) { + return null; + } + return sessionFactoryImplementor.getEntityPersister( importedClassNa= me ); + } + } + ); + } + + + // overrides of Antlr infastructure methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ + + public void reportError(RecognitionException e) { + parseErrorHandler.reportError( e ); + } + + public void reportError(String s) { + parseErrorHandler.reportError( s ); + } + + public void reportWarning(String s) { + parseErrorHandler.reportWarning( s ); + } + + public ParseErrorHandler getParseErrorHandler() { + return parseErrorHandler; + } + + static public void panic() { + //overriden to avoid System.exit + throw new QueryException( "Parser: panic" ); + } + + public void setASTFactory(ASTFactory astFactory) { + throw new UnsupportedOperationException( "not allowed!" ); + } + + +// various AST output methods ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + public void traceIn(String s) throws TokenStreamException { + if ( inputState.guessing > 0 ) { + return; + } + String prefix =3D StringHelper.repeat( "-", (traceDepth++ * 2) ) + "->"; + trace( prefix + s ); + } + + public void traceOut(String s) throws TokenStreamException { + if ( inputState.guessing > 0 ) { + return; + } + String prefix =3D "<-" + StringHelper.repeat( "-", (--traceDepth * 2) ); + trace( prefix + s ); + } + + private void trace(String msg) { + System.out.println( msg ); +// log.trace( msg ); + } + + public void dumpAst(AST ast) { + dumpAst( ast, "DUMP" ); + } + + public void dumpAst(AST ast, String header) { + log.info( printer.showAsString( ast, header ) ); + } + + public void showAst(AST ast, PrintStream out) { + showAst( ast, new PrintWriter( out ) ); + } + + private void showAst(AST ast, PrintWriter pw) { + printer.showAst( ast, pw ); + } + + + // overrides of grammar semantic actions ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ + + public String extractPath(AST tree) { + try { + return PathCollector.getPath( tree ); + } + catch ( Throwable t ) { + return tree.getText(); + } + } + + public boolean isRegisteredFunction(AST tree) { + return context.isRegisteredFunctionName( extractPath( tree ) ); + } + + public boolean isJavaConstant(String path) { + try { + log.debug( "Testing path [" + path + "] as potential java constant" ); + Object value =3D ReflectHelper.getConstantValueStrictly( path ); + log.debug( "Resolved path to java constant [" + value + "]" ); + return true; + } + catch( Throwable t ) { + log.debug( "Path did not resolve to java constant : " + t ); + return false; + } + } + + public String resolveEntityName(String name) { + return context.getImportedName( name ); + } + + public String resolveDynamicInstantiationPojoName(AST name) throws Semant= icException { + String path =3D extractPath( name ); + if ( "list".equals( path ) || "map".equals( path ) ) { + return path; + } + else { + String importedName =3D context.getImportedName( path ); + try { + Class importedClass =3D ReflectHelper.classForName( importedName ); + return importedClass.getName(); + } + catch ( ClassNotFoundException e ) { + throw new SemanticException( "Unable to locate dynamic instantiation c= lass [" + importedName + "]" ); + } + } + } + + protected AST processEqualityExpression(AST x) { + if ( x =3D=3D null ) { + log.warn( "processEqualityExpression() : No expression to process!" ); + return null; + } + + int type =3D x.getType(); + if ( log.isTraceEnabled() ) { + log.trace( "processEqualityExpression() -> type : {}, name : {}", Integ= er.toString( type ), ASTUtil.getTokenTypeName( HqlParseTokenTypes.class, ty= pe ) ); + } + if ( type =3D=3D EQUALS_OP || type =3D=3D NOT_EQUALS_OP || type =3D=3D S= QL_NOT_EQUALS_OP ) { + boolean negated =3D ( type !=3D EQUALS_OP ); + if ( x.getNumberOfChildren() =3D=3D 2 ) { + AST a =3D x.getFirstChild(); + AST b =3D a.getNextSibling(); + // (EQ NULL b) =3D> (IS_NULL b) + if ( a.getType() =3D=3D NULL && b.getType() !=3D NULL ) { + return createIsNullParent( b, negated ); + } + // (EQ a NULL) =3D> (IS_NULL a) + else if ( b.getType() =3D=3D NULL && a.getType() !=3D NULL ) { + return createIsNullParent( a, negated ); + } + else if ( b.getType() =3D=3D EMPTY ) { + return processIsEmpty( a, negated ); + } + else { + return x; + } + } + else { + return x; + } + } + else { + return x; + } + } + + private AST createIsNullParent(AST node, boolean negated) { + node.setNextSibling( null ); + int type =3D negated ? IS_NOT_NULL : IS_NULL; + String text =3D negated ? "is not null" : "is null"; + return ASTUtil.createParent( astFactory, type, text, node ); + } + + protected AST processMemberOf(AST path, AST notNode) { + AST inNode =3D notNode =3D=3D null ? astFactory.create( IN, "in" ) : ast= Factory.create( NOT_IN, "not in" ); + AST subqueryNode =3D createSubquery( path ); + AST inListNode =3D ASTUtil.createParent( astFactory, IN_LIST, "in-list",= subqueryNode ); + inNode.addChild( inListNode ); + return inNode; + } + + private AST createSubquery(AST subquerySource) { +// AST ast =3D ASTUtil.createParent( astFactory, RANGE, "RANGE", node ); +// todo : what is the type of 'node'? + log.debug( + "Generating subquery; incoming node type =3D {}; incoming node =3D [{}= ]", + printer.getTokenTypeName( subquerySource.getType() ), + subquerySource + ); + AST fromNode =3D ASTUtil.createParent( astFactory, FROM, "from", subquer= ySource ); + AST selectFromNode =3D ASTUtil.createParent( astFactory, SELECT_FROM, "S= ELECT_FROM", fromNode ); + return ASTUtil.createParent( astFactory, QUERY, "QUERY", selectFromNode = ); + } + + protected AST processIsEmpty(AST collection, AST notToken) { + return processIsEmpty( collection, notToken !=3D null ); + } + + private AST processIsEmpty(AST node, boolean negated) { + node.setNextSibling( null ); + AST ast =3D createSubquery( node ); + ast =3D ASTUtil.createParent( astFactory, EXISTS, "exists", ast ); + // Add NOT if it's negated. + if ( negated ) { + ast =3D ASTUtil.createParent( astFactory, NOT, "not", ast ); + } + return ast; + } + public AST negateNode(AST x) { + //TODO: switch statements are always evil! We already had bugs because + // of forgotten token types. Use polymorphism for this! + switch ( x.getType() ) { + case OR: + x.setType(AND); + x.setText("{and}"); + negateNode( x.getFirstChild() ); + negateNode( x.getFirstChild().getNextSibling() ); + return x; + case AND: + x.setType(OR); + x.setText("{or}"); + negateNode( x.getFirstChild() ); + negateNode( x.getFirstChild().getNextSibling() ); + return x; + case EQUALS_OP: + x.setType( NOT_EQUALS_OP ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (EQ a b) ) =3D> (NE a b) + case NOT_EQUALS_OP: + x.setType( EQUALS_OP ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (NE a b) ) =3D> (EQ a b) + case GREATER_THAN_OP: + x.setType( LESS_THAN_OR_EQUALS_OP ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (GT a b) ) =3D> (LE a b) + case LESS_THAN_OP: + x.setType( GREATER_THAN_OR_EQUALS_OP ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (LT a b) ) =3D> (GE a b) + case GREATER_THAN_OR_EQUALS_OP: + x.setType( LESS_THAN_OP ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (GE a b) ) =3D> (LT a b) + case LESS_THAN_OR_EQUALS_OP: + x.setType( GREATER_THAN_OP ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (LE a b) ) =3D> (GT a b) + case LIKE: + x.setType( NOT_LIKE ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (LIKE a b) ) =3D> (NOT_LIKE a b) + case NOT_LIKE: + x.setType( LIKE ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (NOT_LIKE a b) ) =3D> (LIKE a b) + case IN: + x.setType( NOT_IN ); + x.setText( "{not}" + x.getText() ); + return x; + case NOT_IN: + x.setType( IN ); + x.setText( "{not}" + x.getText() ); + return x; + case IS_NULL: + x.setType( IS_NOT_NULL ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (IS_NULL a b) ) =3D> (IS_NOT_NULL a b) + case IS_NOT_NULL: + x.setType( IS_NULL ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (IS_NOT_NULL a b) ) =3D> (IS_NULL a b) + case BETWEEN: + x.setType( NOT_BETWEEN ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (BETWEEN a b) ) =3D> (NOT_BETWEEN a b) + case NOT_BETWEEN: + x.setType( BETWEEN ); + x.setText( "{not}" + x.getText() ); + return x; // (NOT (NOT_BETWEEN a b) ) =3D> (BETWEEN a b) + case NOT: + return x.getFirstChild(); // (NOT (NOT x) ) =3D> (x) + default: + return super.negateNode( x ); // Just add a 'not' parent. + } + } + + protected void transferTrackingInfo(AST source, AST target) { + if ( target instanceof Node ) { + ( ( Node ) target ).transferTrackingInfo( source ); + } + else { + super.transferTrackingInfo( source, target ); + } + } + + /** + * Overrides the base behavior to retry keywords as identifiers. + * + * @param token The token. + * @param ex The recognition exception. + * @return AST - The new AST. + * @throws antlr.RecognitionException if the substitution was not possibl= e. + * @throws antlr.TokenStreamException if the substitution was not possibl= e. + */ + public AST handleIdentifierError(Token token, RecognitionException ex) th= rows RecognitionException, TokenStreamException { + // If the token can tell us if it could be an identifier... + if ( token instanceof TokenImpl ) { + TokenImpl hqlToken =3D ( TokenImpl ) token; + // ... and the token could be an identifer and the error is + // a mismatched token error ... + if ( hqlToken.isPossibleIdentifier() && ex instanceof MismatchedTokenEx= ception ) { + MismatchedTokenException mte =3D ( MismatchedTokenException ) ex; + // ... and the expected token type was an identifier, then: + if ( mte.expecting =3D=3D IDENT ) { + // Use the token as an identifier. + reportWarning( + "Keyword '"+ token.getText() + + "' is being interpreted as an identifier due to: " + + mte.getMessage() + ); + // Add the token to the AST. + ASTPair currentAST =3D new ASTPair(); +// token.setType( WEIRD_IDENT ); + token.setType( IDENT ); + astFactory.addASTChild( currentAST, astFactory.create( token ) ); + consume(); + return currentAST.root; + } + } + } + return super.handleIdentifierError( token, ex ); + } + + public void handleDotIdent() throws TokenStreamException { + // This handles HHH-354, where there is a strange property name in= a where clause. + // If the lookahead contains a DOT then something that isn't an ID= ENT... + handleDotIdent( 1 ); + } + + protected int handleDotIdent(int offset) throws TokenStreamException { + while ( LA( offset ) =3D=3D DOT ) { + switch ( LA( offset+1 ) ) { + case IDENT: + case CLASS: + break; // break the case statement, not the loop... + default: + convertPossibleIdentifier( ( TokenImpl ) LT( offset+1 ) ); + } + offset +=3D 2; + } + return offset; + } + + protected void weakKeywords() throws TokenStreamException { + switch ( LA( 1 ) ) { + case ORDER: + case GROUP: + // Case 1: Multi token keywords GROUP BY and ORDER BY + // The next token ( LT(2) ) should be 'by'... otherwise, this is just = an ident. + if ( LA( 2 ) !=3D BY ) { + convertPossibleIdentifier( ( TokenImpl ) LT(1) ); + } + break; + case IDENT: + break; + default : + if ( LA(0) =3D=3D FROM && LA(2) =3D=3D DOT ) { + convertPossibleIdentifier( ( TokenImpl ) LT(1) ); + } + } + } + + protected void unequivocalKeywordAsIdentifier() throws TokenStreamExcepti= on { + if ( LA(1) =3D=3D IDENT ) { + return; + } + convertPossibleIdentifier( ( TokenImpl ) LT(1) ); + } + + protected void potentialUpdatePersisterAlias() throws TokenStreamExcep= tion { + switch( LA(1) ) { + case AS: + // alias rule will handle this... + case SET: + // SET marks the beginning of the UPDATE's SET-clause + break; + default: + convertPossibleIdentifier( ( TokenImpl ) LT(1) ); + } + } + + protected void potentialDeletePersisterAlias() throws TokenStreamExcep= tion { + switch( LA(1) ) { + case AS: + // alias rule will handle this... + case WHERE: + break; + default: + convertPossibleIdentifier( ( TokenImpl ) LT(1) ); + } + } + + protected void prepareForPersisterReferenceRoot() throws TokenStreamEx= ception { + if ( LA(1) =3D=3D IN ) { + return; + } + + unequivocalKeywordAsIdentifier(); + + if ( LA(1) =3D=3D IDENT && LA(2) =3D=3D IN ) { + return; + } + + prepareForBasicEntityPersisterReference(); + } + + protected void prepareForCrossJoinElements() throws TokenStreamExcepti= on { + unequivocalKeywordAsIdentifier(); + prepareForBasicEntityPersisterReference(); + } + + protected void prepareForBasicEntityPersisterReference() throws TokenStre= amException { + int offset =3D handleDotIdent( 2 ); + int next =3D LA(offset); + switch ( next ) { + case AS: { + // the next token would need to be the persister alias + convertPossibleIdentifier( (TokenImpl) LT(offset+1) ); + break; + } + case IDENT : { + // nothing to do + break; + } + case WHERE: + case COMMA: + case ON: + case WITH: + case JOIN: + case RIGHT: + case LEFT: + case CROSS: { + // single token structural elements indicating that the next thing cou= ld not be an alias + break; + } + case UNION: + case INTERSECT: + case EXCEPT: { + int nextNext =3D LA(offset+1); + if ( nextNext =3D=3D SELECT || nextNext =3D=3D FROM ) { + break; + } + else if ( nextNext =3D=3D ALL ) { + int nextNextNext =3D LA(offset+2); + if ( nextNextNext =3D=3D SELECT || nextNextNext =3D=3D FROM ) { + break; + } + } + convertPossibleIdentifier( ( TokenImpl ) LT(offset) ); + break; + } + case GROUP: + case ORDER: + if ( LA(offset+1) !=3D BY ) { + convertPossibleIdentifier( ( TokenImpl ) LT(offset) ); + } + break; + case FETCH: + if ( ! ( LA(offset+1) =3D=3D ALL && LA(offset+2) =3D=3D PROPERTIES ) )= { + // not sure sure I like allowing 'fetch' as an indentifier + log.warn( "interpretting [fetch] keyword as alias; consider using dif= feren alias" ); + convertPossibleIdentifier( ( TokenImpl ) LT(offset) ); + } + break; + default: + convertPossibleIdentifier( ( TokenImpl ) LT(offset) ); + break; + } + } + + protected void prepareForQualifiedJoinElements() throws TokenStreamExcept= ion { + unequivocalKeywordAsIdentifier(); + prepareForBasicEntityPersisterReference(); + } + + protected void convertPossibleIdentifier(TokenImpl token) { + if ( token.isPossibleIdentifier() ) { + token.setType( IDENT ); + log.debug( "Converting keyword-to-identifier [{}]; [id=3D{}]", token, n= ew Integer(System.identityHashCode( token ) ) ); + } + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/p= hase/parse/PathCollector.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phas= e/parse/PathCollector.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/hql/ast/phas= e/parse/PathCollector.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,74 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.hql.ast.phase.parse; + +import org.hibernate.sql.ast.util.NodeTraverser; + +import antlr.collections.AST; + +/** + * Utilizes a NodeTraverser in order to collect a path from + * a (expecting dot-structure) an AST. + * + * @author Steve Ebersole + */ +public class PathCollector implements NodeTraverser.VisitationStrategy, Hq= lParseTokenTypes { + private String path =3D ""; + + private PathCollector() { + } + + public void visit(AST node) { + if ( node.getType() =3D=3D DOT ) { + path +=3D '.'; + } + else if ( "$".equals( node.getText() ) ) { + // allowable for treating java constants + path +=3D '$'; + } + else { + path +=3D node.getText(); + } + } + + public static String getPath(AST dotStructure) { + if ( dotStructure.getType() =3D=3D IDENT ) { + return dotStructure.getText(); + } + + return extractText( dotStructure ); + } + + private static String extractText(AST node) { + AST lhs =3D node.getFirstChild(); + AST rhs =3D lhs.getNextSibling(); + + if ( lhs.getType() =3D=3D IDENT ) { + return lhs.getText() + node.getText() + rhs.getText(); + } + else { + return extractText( lhs ) + node.getText() + rhs.getText(); + } + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/D= etailedSemanticException.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/Deta= iledSemanticException.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/Deta= iledSemanticException.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,77 @@ +// $Id: DetailedSemanticException.java 5690 2005-02-12 20:27:50Z pgmjsd $ +package org.hibernate.sql.ast; + +import antlr.SemanticException; + +import java.io.PrintStream; +import java.io.PrintWriter; + +/** + * Thrown when a call to the underlying Hibernate engine fails, indicating + * some form of semantic exception (e.g. a class name was not found in the + * current mappings, etc.). + */ +public class DetailedSemanticException extends SemanticException { + private Throwable cause; + private boolean showCauseMessage =3D true; + + public DetailedSemanticException(String message) { + super( message ); + } + + public DetailedSemanticException(String s, Throwable e) { + super( s ); + cause =3D e; + } + + /** + * Converts everything to a string. + * + * @return a string. + */ + public String toString() { + if ( cause =3D=3D null || ( !showCauseMessage ) ) { + return super.toString(); + } + else { + return super.toString() + "\n[cause=3D" + cause.toString() + "]"; + } + } + + /** + * Prints a stack trace. + */ + public void printStackTrace() { + super.printStackTrace(); + if ( cause !=3D null ) { + cause.printStackTrace(); + } + } + + /** + * Prints a stack trace to the specified print stream. + * + * @param s the print stream. + */ + public void printStackTrace(PrintStream s) { + super.printStackTrace( s ); + if ( cause !=3D null ) { + s.println( "Cause:" ); + cause.printStackTrace( s ); + } + } + + /** + * Prints this throwable and its backtrace to the specified print writer. + * + * @param w the print writer.s + */ + public void printStackTrace(PrintWriter w) { + super.printStackTrace( w ); + if ( cause !=3D null ) { + w.println( "Cause:" ); + cause.printStackTrace( w ); + } + } + +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/Q= uerySyntaxException.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/Quer= ySyntaxException.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/Quer= ySyntaxException.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,55 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast; + +import antlr.RecognitionException; +import org.hibernate.QueryException; + +/** + * Exception thrown when there is a syntax error in the HQL. + * + * @author josh + */ +public class QuerySyntaxException extends QueryException { + public QuerySyntaxException(String message) { + super( message ); + } + + public QuerySyntaxException(String message, String hql) { + this( message ); + setQueryString( hql ); + } + + public static QuerySyntaxException convert(RecognitionException e) { + return convert( e, null ); + } + + public static QuerySyntaxException convert(RecognitionException e, String= hql) { + String positionInfo =3D e.getLine() > 0 && e.getColumn() > 0 + ? " near line " + e.getLine() + ", column " + e.getColumn() + : ""; + return new QuerySyntaxException( e.getMessage() + positionInfo, hql ); + } + +} \ No newline at end of file Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/c= ommon/AbstractToken.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/AbstractToken.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/AbstractToken.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,77 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.common; + +/** + * TODO : javadoc + * + * @author Steve Ebersole + */ +public abstract class AbstractToken extends antlr.CommonToken { + private int previousTokenType; + + /** + * Getter for property 'previousTokenType'. + * + * @return Value for property 'previousTokenType'. + */ + public int getPreviousTokenType() { + return previousTokenType; + } + + /** + * {@inheritDoc} + */ + public void setType(int type) { + this.previousTokenType =3D getType(); + super.setType( type ); + } + + /** + * {@inheritDoc} + */ + public String toDisplayString() { + StringBuffer text =3D new StringBuffer( super.toString() ); + text.append( "['" ) + .append( getText() ) + .append( "', <" ) + .append( getType() ) + .append( "> previously: <" ) + .append( getPreviousTokenType() ) + .append( ">, line=3D" ) + .append( line ) + .append( ", col=3D" ) + .append( col ); + appendTextualInfo( text ); + text.append( "]" ); + return text.toString(); + } + + protected void appendTextualInfo(StringBuffer text) { + } + + public String getLocation() { + return getLine() + ":" + getColumn(); + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/c= ommon/CommonHibernateLexer.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/CommonHibernateLexer.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/CommonHibernateLexer.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,70 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.common; + +import java.io.InputStream; +import java.io.Reader; + +/** + * The common lexer for Hibernate stream parsers. + * + * @author Steve Ebersole + */ +public class CommonHibernateLexer extends CommonHibernateLexerSupport { + private boolean possibleIdentifier =3D false; + + public CommonHibernateLexer(InputStream in) { + super( in ); + super.setTokenObjectClass( TokenImpl.class.getName() ); + } + + public CommonHibernateLexer(Reader in) { + super( in ); + super.setTokenObjectClass( TokenImpl.class.getName() ); + } + + public void setTokenObjectClass(String s) { + // no-op, we've already set ours in the constructor + } + + protected void setPossibleIdentifier(boolean possibleIdentifier) { + this.possibleIdentifier =3D possibleIdentifier; + } + + protected antlr.Token makeToken(int i) { + TokenImpl token =3D ( TokenImpl ) super.makeToken( i ); + token.setPossibleIdentifier( possibleIdentifier ); + possibleIdentifier =3D false; + return token; + } + + public void panic() { + panic("CharScanner: panic"); + } + + public void panic(String s) { + // todo : better exception type? + throw new PanicException( s ); + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/c= ommon/JoinType.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/JoinType.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/JoinType.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,62 @@ +package org.hibernate.sql.ast.common; + +import java.io.Serializable; +import java.util.HashMap; + +/** + * Represents a canonical join type. + *

    + * Note that currently HQL really only supports inner and left outer joins + * (though cross joins can also be achieved). This is because joins in HQL + * are always defined in relation to a mapped association. However, when = we + * start allowing users to specify ad-hoc joins this may need to change to + * allow the full spectrum of join types. Thus the others are provided he= re + * currently just for completeness and for future expansion. + * + * @author Steve Ebersole + */ +public class JoinType implements Serializable { + /** + * Represents an inner join. + */ + public static final JoinType INNER =3D new JoinType( "inner" ); + /** + * Represents a left outer join. + */ + public static final JoinType LEFT =3D new JoinType( "left outer" ); + /** + * Represents a right outer join. + */ + public static final JoinType RIGHT =3D new JoinType( "right outer" ); + /** + * Represents a cross join (aka a cartesian product). + */ + public static final JoinType CROSS =3D new JoinType( "cross" ); + /** + * Represents a full join. + */ + public static final JoinType FULL =3D new JoinType( "full" ); + + private static final HashMap INSTANCES =3D new HashMap(); + static { + INSTANCES.put( INNER.name, INNER ); + INSTANCES.put( LEFT.name, LEFT ); + INSTANCES.put( RIGHT.name, RIGHT ); + INSTANCES.put( CROSS.name, CROSS ); + INSTANCES.put( FULL.name, FULL ); + } + + private final String name; + + private JoinType(String name) { + this.name =3D name; + } + + public String toString() { + return name; + } + + private Object readResolve() { + return INSTANCES.get( name ); + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/c= ommon/Node.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/Node.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/Node.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,92 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.common; + +import antlr.Token; +import antlr.collections.AST; + +/** + * Basic AST node + * + * @author Joshua Davis + * @author Steve Ebersole + */ +public class Node extends antlr.CommonAST { + private String filename; + private int line; + private int column; + + public Node() { + super(); + } + + public Node(Token tok) { + super( tok ); // NOTE: This will call initialize(tok)! + } + + public void initialize(Token token) { + super.initialize( token ); + // Propagate line/column information from the lexer during + // stream parsing. + filename =3D token.getFilename(); + line =3D token.getLine(); + column =3D token.getColumn(); + } + + public void initialize(AST ast) { + super.initialize( ast ); + if ( ast instanceof Node ) { + // Propagate line/column information from the source AST during tree wa= lking. + transferTrackingInfo( ( Node ) ast ); + } + } + + public void transferTrackingInfo(AST ast) { + if ( ast instanceof Node ) { + transferTrackingInfo( ( Node ) ast ); + } + else { + line =3D ast.getLine(); + column =3D ast.getColumn(); + } + } + + public void transferTrackingInfo(Node node) { + filename =3D node.filename; + line =3D node.line; + column =3D node.column; + } + + public String getFilename() { + return filename; + } + + public int getLine() { + return line; + } + + public int getColumn() { + return column; + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/c= ommon/NumericLiteralToken.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/NumericLiteralToken.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/NumericLiteralToken.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,50 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.common; + +/** + * A custom token class for representing numeric literals. The reasoning = is that there are 2 classifications + * by which we need to identify numeric literals:

      + *
    1. The SQL notions of exact and approximate
    2. + *
    3. The java language types (i.e. int, long, etc)
    4. + *
    + *

    + * Explicitly handling the intersection of these two classification sets i= s unwieldy (EXACT_INTEGER_LITERAL, etc) so + * we instead track one classification by the token-types, and the other i= s tracked by state on the token. Since we + * generally need to treat with the java types, we use this custom token t= o track whether the literal is exact + * or approximate. + * + * @author Steve Ebersole + */ +public class NumericLiteralToken extends AbstractToken { + private boolean isApproximate =3D false; // assume exact + + public boolean isApproximate() { + return isApproximate; + } + + public void setApproximate(boolean approximate) { + isApproximate =3D approximate; + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/c= ommon/PanicException.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/PanicException.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/PanicException.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,41 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.common; + +import org.hibernate.HibernateException; + +/** + * Thrown to indicate a panic situation ossuring in a lexer. + * + * @author Steve Ebersole + */ +public class PanicException extends HibernateException { + public PanicException(String s) { + super( s ); + } + + public PanicException(String string, Throwable root) { + super( string, root ); + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/c= ommon/TokenImpl.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/TokenImpl.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/comm= on/TokenImpl.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,58 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.common; + +/** + * A custom token class for various Hibernate lexers; specifically we are = adding the + * {@link #isPossibleIdentifier() keyword-as-identifier} capability and tr= acking of any changes in token types + * via {@link #getPreviousTokenType()}. + * + * @author Steve Ebersole + */ +public class TokenImpl extends AbstractToken { + private boolean possibleIdentifier; + + /** + * Getter for property 'possibleIdentifier'. + * + * @return Value for property 'possibleIdentifier'. + */ + public boolean isPossibleIdentifier() { + return possibleIdentifier; + } + + /** + * Setter for property 'possibleIdentifier'. + * + * @param possibleIdentifier Value to set for property 'possibleIdentifie= r'. + */ + public void setPossibleIdentifier(boolean possibleIdentifier) { + this.possibleIdentifier =3D possibleIdentifier; + } + + protected void appendTextualInfo(StringBuffer text) { + text.append( ",possibleIdentifier?=3D" ).append( possibleIdentifier ); + } + +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ASTAppender.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTAppender.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTAppender.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,68 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import antlr.ASTFactory; +import antlr.collections.AST; + +/** + * Appends child nodes to a parent efficiently. + * + * @author Joshua Davis + */ +public class ASTAppender { + private AST parent; + private AST last; + private ASTFactory factory; + + public ASTAppender(ASTFactory factory, AST parent) { + this( parent ); + this.factory =3D factory; + } + + public ASTAppender(AST parent) { + this.parent =3D parent; + this.last =3D ASTUtil.getLastChild( parent ); + } + + public AST append(int type, String text, boolean appendIfEmpty) { + if ( text !=3D null && ( appendIfEmpty || text.length() > 0 ) ) { + return append( factory.create( type, text ) ); + } + else { + return null; + } + } + + public AST append(AST child) { + if ( last =3D=3D null ) { + parent.setFirstChild( child ); + } + else { + last.setNextSibling( child ); + } + last =3D child; + return last; + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ASTIterator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTIterator.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTIterator.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,92 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import java.util.Iterator; +import java.util.LinkedList; + +import antlr.collections.AST; + +/** + * Depth first iteration of an ANTLR AST. + * + * @author Joshua Davis + */ +public class ASTIterator implements Iterator { + private AST next; + private LinkedList parents =3D new LinkedList(); + + public void remove() { + throw new UnsupportedOperationException( "remove() is not supported" ); + } + + public boolean hasNext() { + return next !=3D null; + } + + public Object next() { + return nextNode(); + } + + public ASTIterator(AST tree) { + next =3D tree; + down(); + } + + public AST nextNode() { + AST current =3D next; + if ( next !=3D null ) { + AST nextSibling =3D next.getNextSibling(); + if ( nextSibling =3D=3D null ) { + next =3D pop(); + } + else { + next =3D nextSibling; + down(); + } + } + return current; + } + + private void down() { + while ( next !=3D null && next.getFirstChild() !=3D null ) { + push( next ); + next =3D next.getFirstChild(); + } + } + + private void push(AST parent) { + parents.addFirst( parent ); + } + + private AST pop() { + if ( parents.size() =3D=3D 0 ) { + return null; + } + else { + return ( AST ) parents.removeFirst(); + } + } + +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ASTParentsFirstIterator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTParentsFirstIterator.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTParentsFirstIterator.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,96 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import java.util.Iterator; +import java.util.LinkedList; + +import antlr.collections.AST; + +/** + * Depth first iteration of an ANTLR AST. + * + * @author Joshua Davis + */ +public class ASTParentsFirstIterator implements Iterator { + private AST next; + private AST tree; + private LinkedList parents =3D new LinkedList(); + + public void remove() { + throw new UnsupportedOperationException( "remove() is not supported" ); + } + + public boolean hasNext() { + return next !=3D null; + } + + public Object next() { + return nextNode(); + } + + public ASTParentsFirstIterator(AST tree) { + this.tree =3D next =3D tree; + } + + public AST nextNode() { + AST current =3D next; + if ( next !=3D null ) { + AST child =3D next.getFirstChild(); + if ( child =3D=3D null ) { + AST sibling =3D next.getNextSibling(); + if ( sibling =3D=3D null ) { + AST parent =3D pop(); + while ( parent !=3D null && parent.getNextSibling() =3D=3D null ) + parent =3D pop(); + next =3D ( parent !=3D null ) ? parent.getNextSibling() : null; + } + else { + next =3D sibling; + } + } + else { + if ( next !=3D tree ) { + push( next ); + } + next =3D child; + } + } + return current; + } + + private void push(AST parent) { + parents.addFirst( parent ); + } + + private AST pop() { + if ( parents.size() =3D=3D 0 ) { + return null; + } + else { + return ( AST ) parents.removeFirst(); + } + } + +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ASTPrinter.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTPrinter.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTPrinter.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,224 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.io.PrintWriter; +import java.lang.reflect.Field; +import java.util.ArrayList; +import java.util.Map; + +import org.hibernate.util.StringHelper; + +import antlr.collections.AST; + +/** + * Utility for generating pretty "ASCII art" representations of syntax tre= es. + * + * @author Joshua Davis + * @author Steve Ebersole + */ +public class ASTPrinter { + private final Map tokenTypeNameCache; + private final boolean showClassNames; + + /** + * Constructs a printer. + *

    + * Delegates to {@link #ASTPrinter(Class, boolean)} with {@link #isShowCl= assNames showClassNames} as true + * + * @param tokenTypeConstants The token types to use during printing; typi= cally the {vocabulary}TokenTypes.java + * interface generated by ANTLR. + */ + public ASTPrinter(Class tokenTypeConstants) { + this( ASTUtil.generateTokenNameCache( tokenTypeConstants ), true ); + } + + public ASTPrinter(boolean showClassNames) { + this( ( Map ) null, showClassNames ); + } + + /** + * Constructs a printer. + * + * @param tokenTypeConstants The token types to use during printing; typi= cally the {vocabulary}TokenTypes.java + * interface generated by ANTLR. + * @param showClassNames Should the class names of the {@link org.hiberna= te.sql.ast.common.Node} impls be displayed. + */ + public ASTPrinter(Class tokenTypeConstants, boolean showClassNames) { + this( ASTUtil.generateTokenNameCache( tokenTypeConstants ), showClassNam= es ); + } + + private ASTPrinter(Map tokenTypeNameCache, boolean showClassNames) { + this.tokenTypeNameCache =3D tokenTypeNameCache; + this.showClassNames =3D showClassNames; + } + + /** + * Getter for property 'showClassNames'. + * + * @return Value for property 'showClassNames'. + */ + public boolean isShowClassNames() { + return showClassNames; + } + + /** + * Renders the AST into 'ASCII art' form and returns that string represen= tation. + * + * @param ast The AST to display. + * @param header The header for the display. + * + * @return The AST in 'ASCII art' form, as a string. + */ + public String showAsString(AST ast, String header) { + ByteArrayOutputStream baos =3D new ByteArrayOutputStream(); + PrintStream ps =3D new PrintStream( baos ); + ps.println( header ); + showAst( ast, ps ); + ps.flush(); + return new String( baos.toByteArray() ); + } + + /** + * Prints the AST in 'ASCII art' form to the specified print stream. + * + * @param ast The AST to print. + * @param out The print stream to which the AST should be printed. + */ + public void showAst(AST ast, PrintStream out) { + showAst( ast, new PrintWriter( out ) ); + } + + /** + * Prints the AST in 'ASCII art' tree form to the specified print writer. + * + * @param ast The AST to print. + * @param pw The print writer to which the AST should be written. + */ + public void showAst(AST ast, PrintWriter pw) { + ArrayList parents =3D new ArrayList(); + showAst( parents, pw, ast ); + pw.flush(); + } + + /** + * Returns the token type name for the given token type. + * + * @param type The token type. + * @return String - The token type name from the token type constant clas= s, + * or just the integer as a string if none exists. + */ + public String getTokenTypeName(int type) { + if ( tokenTypeNameCache =3D=3D null ) { + return Integer.toString( type ); + } + return ( String ) tokenTypeNameCache.get( new Integer( type ) ); + } + + private void showAst(ArrayList parents, PrintWriter pw, AST ast) { + if ( ast =3D=3D null ) { + pw.println( "AST is null!" ); + return; + } + + for ( int i =3D 0; i < parents.size(); i++ ) { + AST parent =3D ( AST ) parents.get( i ); + if ( parent.getNextSibling() =3D=3D null ) { + + pw.print( " " ); + } + else { + pw.print( " | " ); + } + } + + if ( ast.getNextSibling() =3D=3D null ) { + pw.print( " \\-" ); + } + else { + pw.print( " +-" ); + } + + showNode( pw, ast ); + + ArrayList newParents =3D new ArrayList( parents ); + newParents.add( ast ); + for ( AST child =3D ast.getFirstChild(); child !=3D null; child =3D chil= d.getNextSibling() ) { + showAst( newParents, pw, child ); + } + newParents.clear(); + } + + private void showNode(PrintWriter pw, AST ast) { + String s =3D nodeToString( ast, isShowClassNames() ); + pw.println( s ); + } + + public String nodeToString(AST ast, boolean showClassName) { + if ( ast =3D=3D null ) { + return "{node:null}"; + } + StringBuffer buf =3D new StringBuffer(); + buf.append( "[" ).append( getTokenTypeName( ast.getType() ) ).append( "]= " ); + if ( showClassName ) { + buf.append( StringHelper.unqualify( ast.getClass().getName() ) ).append= ( ": " ); + } + + buf.append( "'" ); + String text =3D ast.getText(); + if ( text =3D=3D null ) { + text =3D "{text:null}"; + } + appendEscapedMultibyteChars(text, buf); + buf.append( "'" ); + if ( ast instanceof DisplayableNode ) { + DisplayableNode displayableNode =3D ( DisplayableNode ) ast; + // Add a space before the display text. + buf.append( " " ).append( displayableNode.getDisplayText() ); + } + return buf.toString(); + } + + public static void appendEscapedMultibyteChars(String text, StringBuff= er buf) { + char[] chars =3D text.toCharArray(); + for (int i =3D 0; i < chars.length; i++) { + char aChar =3D chars[i]; + if (aChar > 256) { + buf.append("\\u"); + buf.append(Integer.toHexString(aChar)); + } + else + buf.append(aChar); + } + } + + public static String escapeMultibyteChars(String text) + { + StringBuffer buf =3D new StringBuffer(); + appendEscapedMultibyteChars(text,buf); + return buf.toString(); + } +} \ No newline at end of file Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ASTUtil.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTUtil.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ASTUtil.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,435 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.HashMap; +import java.lang.reflect.Field; +import java.lang.reflect.Modifier; + +import antlr.ASTFactory; +import antlr.collections.AST; +import antlr.collections.impl.ASTArray; + +/** + * Provides utility methods for AST traversal and manipulation. + * + * @author Joshua Davis + * @author Steve Ebersole + */ +public final class ASTUtil { + /** + * Disallow instantiation. + * + * @deprecated (tellclovertoignorethis) + */ + private ASTUtil() { + } + + /** + * Creates a single node AST. + *

    + * TODO : remove this; this is silly... + * + * @param astFactory The factory. + * @param type The node type. + * @param text The node text. + * + * @return AST - A single node tree. + */ + public static AST create(ASTFactory astFactory, int type, String text) { + return astFactory.create( type, text ); + } + + /** + * Creates a single node AST as a sibling of the passed prevSibling, + * taking care to reorganize the tree correctly to account for this + * newly created node. + * + * @param astFactory The factory. + * @param type The node type. + * @param text The node text. + * @param prevSibling The previous sibling. + * + * @return The created AST node. + */ + public static AST createSibling(ASTFactory astFactory, int type, String t= ext, AST prevSibling) { + AST node =3D astFactory.create( type, text ); + return insertSibling( node, prevSibling ); + } + + /** + * Inserts a node into a child subtree as a particularly positioned + * sibling taking care to properly reorganize the tree to account for this + * new addition. + * + * @param node The node to insert + * @param prevSibling The previous node at the sibling position + * where we want this node inserted. + * + * @return The return is the same as the node parameter passed in. + */ + public static AST insertSibling(AST node, AST prevSibling) { + node.setNextSibling( prevSibling.getNextSibling() ); + prevSibling.setNextSibling( node ); + return node; + } + + /** + * Creates a 'binary operator' subtree, given the information about the + * parent and the two child nodex. + * + * @param factory The AST factory. + * @param parentType The type of the parent node. + * @param parentText The text of the parent node. + * @param child1 The first child. + * @param child2 The second child. + * + * @return AST - A new sub-tree of the form "(parent child1 child2)" + */ + public static AST createBinarySubtree(ASTFactory factory, int parentType,= String parentText, AST child1, AST child2) { + ASTArray array =3D createAstArray( factory, 3, parentType, parentText, c= hild1 ); + array.add( child2 ); + return factory.make( array ); + } + + /** + * Creates a single parent of the specified child (i.e. a 'unary operator' + * subtree). + * + * @param factory The AST factory. + * @param parentType The type of the parent node. + * @param parentText The text of the parent node. + * @param child The child. + * + * @return AST - A new sub-tree of the form "(parent child)" + */ + public static AST createParent(ASTFactory factory, int parentType, String= parentText, AST child) { + ASTArray array =3D createAstArray( factory, 2, parentType, parentText, c= hild ); + return factory.make( array ); + } + + public static AST createTree(ASTFactory factory, AST[] nestedChildren) { + AST[] array =3D new AST[2]; + int limit =3D nestedChildren.length - 1; + for ( int i =3D limit; i >=3D 0; i-- ) { + if ( i !=3D limit ) { + array[1] =3D nestedChildren[i + 1]; + array[0] =3D nestedChildren[i]; + factory.make( array ); + } + } + return array[0]; + } + + /** + * Finds the first node of the specified type in the chain of children. + * + * @param parent The parent + * @param type The type to find. + * + * @return The first node of the specified type, or null if not found. + */ + public static AST findTypeInChildren(AST parent, int type) { + AST n =3D parent.getFirstChild(); + while ( n !=3D null && n.getType() !=3D type ) { + n =3D n.getNextSibling(); + } + return n; + } + + /** + * Returns the last direct child of 'n'. + * + * @param n The parent + * + * @return The last direct child of 'n'. + */ + public static AST getLastChild(AST n) { + return getLastSibling( n.getFirstChild() ); + } + + /** + * Returns the last sibling of 'a'. + * + * @param a The sibling. + * + * @return The last sibling of 'a'. + */ + private static AST getLastSibling(AST a) { + AST last =3D null; + while ( a !=3D null ) { + last =3D a; + a =3D a.getNextSibling(); + } + return last; + } + + /** + * Returns the 'list' representation with some brackets around it for deb= ugging. + * + * @param n The tree. + * + * @return The list representation of the tree. + */ + public static String getDebugString(AST n) { + StringBuffer buf =3D new StringBuffer(); + buf.append( "[ " ); + buf.append( ( n =3D=3D null ) ? "{null}" : n.toStringTree() ); + buf.append( " ]" ); + return buf.toString(); + } + + /** + * Find the previous sibling in the parent for the given child. + * + * @param parent the parent node + * @param child the child to find the previous sibling of + * + * @return the previous sibling of the child + */ + public static AST findPreviousSibling(AST parent, AST child) { + AST prev =3D null; + AST n =3D parent.getFirstChild(); + while ( n !=3D null ) { + if ( n =3D=3D child ) { + return prev; + } + prev =3D n; + n =3D n.getNextSibling(); + } + throw new IllegalArgumentException( "Child not found in parent!" ); + } + + /** + * Makes the child node a sibling of the parent, reconnecting all sibling= s. + * + * @param parent the parent + * @param child the child + */ + public static void makeSiblingOfParent(AST parent, AST child) { + AST prev =3D findPreviousSibling( parent, child ); + if ( prev !=3D null ) { + prev.setNextSibling( child.getNextSibling() ); + } + else { // child =3D=3D parent.getFirstChild() + parent.setFirstChild( child.getNextSibling() ); + } + child.setNextSibling( parent.getNextSibling() ); + parent.setNextSibling( child ); + } + + public static String getPathText(AST n) { + StringBuffer buf =3D new StringBuffer(); + getPathText( buf, n ); + return buf.toString(); + } + + private static void getPathText(StringBuffer buf, AST n) { + AST firstChild =3D n.getFirstChild(); + // If the node has a first child, recurse into the first child. + if ( firstChild !=3D null ) { + getPathText( buf, firstChild ); + } + // Append the text of the current node. + buf.append( n.getText() ); + // If there is a second child (RHS), recurse into that child. + if ( firstChild !=3D null && firstChild.getNextSibling() !=3D null ) { + getPathText( buf, firstChild.getNextSibling() ); + } + } + + public static boolean hasExactlyOneChild(AST n) { + return n !=3D null && n.getFirstChild() !=3D null && n.getFirstChild().g= etNextSibling() =3D=3D null; + } + + public static void appendSibling(AST n, AST s) { + while ( n.getNextSibling() !=3D null ) { + n =3D n.getNextSibling(); + } + n.setNextSibling( s ); + } + + /** + * Inserts the child as the first child of the parent, all other children= are shifted over to the 'right'. + * + * @param parent the parent + * @param child the new first child + */ + public static void insertChild(AST parent, AST child) { + if ( parent.getFirstChild() =3D=3D null ) { + parent.setFirstChild( child ); + } + else { + AST n =3D parent.getFirstChild(); + parent.setFirstChild( child ); + child.setNextSibling( n ); + } + } + + private static ASTArray createAstArray(ASTFactory factory, int size, int = parentType, String parentText, AST child1) { + ASTArray array =3D new ASTArray( size ); + array.add( factory.create( parentType, parentText ) ); + array.add( child1 ); + return array; + } + + /** + * Filters nodes out of a tree. + */ + public static interface FilterPredicate { + /** + * Returns true if the node should be filtered out. + * + * @param n The node. + * + * @return true if the node should be filtered out, false to keep the no= de. + */ + boolean exclude(AST n); + } + + /** + * A predicate that uses inclusion, rather than exclusion semantics. + */ + public abstract static class IncludePredicate implements FilterPredicate { + public final boolean exclude(AST node) { + return !include( node ); + } + + public abstract boolean include(AST node); + } + + public static List collectChildren(AST root, FilterPredicate predicate) { + return new CollectingNodeVisitor( predicate ).collect( root ); + } + + private static class CollectingNodeVisitor implements NodeTraverser.Visit= ationStrategy { + private final FilterPredicate predicate; + private final List collectedNodes =3D new ArrayList(); + + public CollectingNodeVisitor(FilterPredicate predicate) { + this.predicate =3D predicate; + } + + public void visit(AST node) { + if ( predicate =3D=3D null || !predicate.exclude( node ) ) { + collectedNodes.add( node ); + } + } + + public List getCollectedNodes() { + return collectedNodes; + } + + public List collect(AST root) { + NodeTraverser traverser =3D new NodeTraverser( this ); + traverser.traverseDepthFirst( root ); + return collectedNodes; + } + } + + /** + * Method to generate a map of token type names, keyed by their token typ= e values. + * + * @param tokenTypeInterface The *TokenTypes interface (or implementor of= said interface). + * @return The generated map. + */ + public static Map generateTokenNameCache(Class tokenTypeInterface) { + final Field[] fields =3D tokenTypeInterface.getFields(); + Map cache =3D new HashMap( (int)( fields.length * .75 ) + 1 ); + for ( int i =3D 0; i < fields.length; i++ ) { + final Field field =3D fields[i]; + if ( Modifier.isStatic( field.getModifiers() ) ) { + try { + cache.put( field.get( null ), field.getName() ); + } + catch ( Throwable ignore ) { + } + } + } + return cache; + } + + /** + * Get the name of a constant defined on the given class which has the gi= ven value. + *

    + * Note, if multiple constants have this value, the first will be returne= d which is known to be different + * on different JVM implementations. + * + * @param owner The class which defines the constant + * @param value The value of the constant. + * + * @return The token type name, *or* the integer value if the name could = not be found. + */ + public static String getConstantName(Class owner, int value) { + String tokenTypeName =3D Integer.toString( value ); + if ( owner !=3D null ) { + Field[] fields =3D owner.getFields(); + for ( int i =3D 0; i < fields.length; i++ ) { + final Integer fieldValue =3D extractIntegerValue( fields[i] ); + if ( fieldValue !=3D null && fieldValue.intValue() =3D=3D value ) { + tokenTypeName =3D fields[i].getName(); + break; + } + } + } + return tokenTypeName; + } + + private static Integer extractIntegerValue(Field field) { + Integer rtn =3D null; + try { + Object value =3D field.get( null ); + if ( value instanceof Integer ) { + rtn =3D ( Integer ) value; + } + else if ( value instanceof Short ) { + rtn =3D new Integer( ( ( Short ) value ).intValue() ); + } + else if ( value instanceof Long ) { + if ( ( ( Long ) value ).longValue() <=3D Integer.MAX_VALUE ) { + rtn =3D new Integer( ( ( Long ) value ).intValue() ); + } + } + } + catch ( IllegalAccessException ignore ) { + } + return rtn; + } + + /** + * Just a friendly renaming of {@link #getConstantName}; in fact this met= hod just simply delegates to that one. + * + * @param tokenTypeInterface The *TokenTypes interface (or one of its imp= lementors). + * @param tokenType The token type value. + * @return The corresponding name. + * + * @see #getConstantName + */ + public static String getTokenTypeName(Class tokenTypeInterface, int token= Type) { + return getConstantName( tokenTypeInterface, tokenType ); + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/DisplayableNode.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /DisplayableNode.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /DisplayableNode.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,40 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +/** + * Contract for {@link org.hibernate.sql.ast.common.Node} implementations = which wish to return customized display information + * about themselves. + * + * @author Steve Ebersole + * @author Joshua Davis + */ +public interface DisplayableNode { + /** + * Returns additional display text for the AST node. + * + * @return String - The additional display text. + */ + public String getDisplayText(); +} \ No newline at end of file Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ErrorCounter.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ErrorCounter.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ErrorCounter.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,95 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import antlr.RecognitionException; +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; +import org.hibernate.QueryException; +import org.hibernate.sql.ast.QuerySyntaxException; + +import java.util.ArrayList; +import java.util.Iterator; +import java.util.List; + +/** + * An error handler that counts parsing errors and warnings. + */ +public class ErrorCounter implements ParseErrorHandler { + private Log log =3D LogFactory.getLog( ErrorCounter.class ); + + private List errorList =3D new ArrayList(); + private List warningList =3D new ArrayList(); + private List recognitionExceptions =3D new ArrayList(); + + public void reportError(RecognitionException e) { + String msg =3D e.toString(); + reportError( msg ); + recognitionExceptions.add( e ); + if ( log.isTraceEnabled() ) { + log.trace( msg, e ); + } + } + + public void reportError(String message) { + log.error( message ); + errorList.add( message ); + } + + public void reportWarning(String message) { + log.debug( message ); + warningList.add( message ); + } + + public int getErrorCount() { + return errorList.size(); + } + + private String getErrorString() { + StringBuffer buf =3D new StringBuffer(); + for ( Iterator iterator =3D errorList.iterator(); iterator.hasNext(); ) { + buf.append( ( String ) iterator.next() ); + if ( iterator.hasNext() ) buf.append( "\n" ); + + } + return buf.toString(); + } + + public void throwQueryException() throws QueryException { + if ( getErrorCount() > 0 ) { + if ( recognitionExceptions.size() > 0 ) { + throw QuerySyntaxException.convert( ( RecognitionException ) recogniti= onExceptions.get( 0 ) ); + } + else { + throw new QueryException( getErrorString() ); + } + } + else { + // all clear + if ( log.isDebugEnabled() ) { + log.debug( "throwQueryException() : no errors" ); + } + } + } +} \ No newline at end of file Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ErrorReporter.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ErrorReporter.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ErrorReporter.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,39 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import antlr.RecognitionException; + +/** + * Implementations will report or handle errors invoked by an ANTLR base p= arser. + * + * @author Joshua Davis + */ +public interface ErrorReporter { + void reportError(RecognitionException e); + + void reportError(String s); + + void reportWarning(String s); +} \ No newline at end of file Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/NodeTraverser.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /NodeTraverser.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /NodeTraverser.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,67 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import antlr.collections.AST; + +/** + * A visitor for traversing an AST tree. + * + * @author Steve Ebersole + */ +public class NodeTraverser { + public static interface VisitationStrategy { + public void visit(AST node); + } + + private final VisitationStrategy strategy; + + public NodeTraverser(VisitationStrategy strategy) { + this.strategy =3D strategy; + } + + /** + * Traverse the AST tree depth first. + *

    + * Note that the AST passed in is not visited itself. Visitation starts + * with its children. + * + * @param ast + */ + public void traverseDepthFirst(AST ast) { + if ( ast =3D=3D null ) { + throw new IllegalArgumentException( "node to traverse cannot be null!" = ); + } + visitDepthFirst( ast.getFirstChild() ); + } + + private void visitDepthFirst(AST ast) { + if ( ast =3D=3D null ) { + return; + } + strategy.visit( ast ); + visitDepthFirst( ast.getFirstChild() ); + visitDepthFirst( ast.getNextSibling() ); + } +} Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/ParseErrorHandler.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ParseErrorHandler.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /ParseErrorHandler.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,39 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import org.hibernate.QueryException; + + +/** + * Defines the behavior of an error handler for the Hibernate parsers. + * + * @author Joshua Davis + */ +public interface ParseErrorHandler extends ErrorReporter { + + int getErrorCount(); + + void throwQueryException() throws QueryException; +} \ No newline at end of file Added: core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/u= til/PathHelper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /PathHelper.java (rev 0) +++ core/branches/SQL_GEN_REDESIGN/src/main/java/org/hibernate/sql/ast/util= /PathHelper.java 2008-12-13 16:25:05 UTC (rev 15693) @@ -0,0 +1,112 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.sql.ast.util; + +import org.hibernate.util.StringHelper; +import org.hibernate.sql.ast.common.Sql92TokenTypes; + +import antlr.ASTFactory; +import antlr.collections.AST; + +import org.apache.commons.logging.Log; +import org.apache.commons.logging.LogFactory; + +/** + * Provides utility methods for dealing with path expressions. + *

    + * Note that these utilities do not properly account for index operations. + * + * @author Joshua Davis + * @author Steve Ebersole + */ +public final class PathHelper implements Sql92TokenTypes { + private static final Log log =3D LogFactory.getLog( PathHelper.class ); + + /** + * Direct instantiation of PathHelper disallowed. + */ + private PathHelper() { + } + + /** + * Turns a path into an AST. + * + * @param path The path. + * @param factory The AST factory to use. + * @return An HQL AST representing the path. + */ + public static AST parsePath(String path, ASTFactory factory) { + String[] identifiers =3D StringHelper.split( ".", path ); + AST lhs =3D null; + for ( int i =3D 0; i < identifiers.length; i++ ) { + String identifier =3D identifiers[i]; + AST child =3D ASTUtil.create( factory, IDENT, identifier ); + if ( i =3D=3D 0 ) { + lhs =3D child; + } + else { + lhs =3D ASTUtil.createBinarySubtree( factory, DOT, ".", lhs, child ); + } + } + if ( log.isDebugEnabled() ) { + log.debug( "parsePath() : " + path + " -> " + ASTUtil.getDebugString( l= hs ) ); + } + return lhs; + } + + /** + * Provides the inverse functionality of {@link #parsePath}. In other wo= rds, for any path + * 'p' not involving index operations, p =3D=3D reconstitutePathString( p= arsePath( p, someASTFactory ) ). + * + * @param pathAST The path AST structure. + * @return The corresponding path string. + */ + public static String rebuildPathExpression(AST pathAST) { + final StringBuffer buffer =3D new StringBuffer(); + visitExpression( pathAST, buffer ); + return buffer.toString(); + } + + private static void visitExpression(AST expression, StringBuffer buffer) { + if ( DOT =3D=3D expression.getType() ) { + visitDot( expression.getFirstChild(), expression.getFirstChild().getNex= tSibling(), buffer ); + } + else if ( IDENT =3D=3D expression.getType() ) { + visitIdent( expression, buffer ); + } + } + + private static void visitDot(AST lhs, AST rhs, StringBuffer buffer) { + visitExpression( lhs, buffer ); + buffer.append( '.' ).append( rhs.getText() ); + } + + private static void visitIdent(AST ident, StringBuffer buffer) { + buffer.append( ident.getText() ); + } + + public static String getAlias(String path) { + return StringHelper.root( path ); + } +} --===============1577359335701757238==-- From hibernate-commits at lists.jboss.org Sat Dec 13 15:21:20 2008 Content-Type: multipart/mixed; boundary="===============1873193019304278797==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Beware! Date: Sat, 13 Dec 2008 15:21:06 -0500 Message-ID: <200812132021.mBDKL6Ca022483@chief.prod.atl2.jboss.com> --===============1873193019304278797== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1873193019304278797== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vZm9yaGFzLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLmJhY2toYXMuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2hlY2sg aXQgbm93ISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9ImZvcmhhcy5jb20iPjxiPkF0dGVudGlvbiEg VGhlIHN1cHBseSBpcyBsaW1pdGVkITwvYj48L2E+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+ PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSJBenVyZSI+ClRoZSBzdWJqZWN0IG9mIG5hdGlvbmFsaXNt IGFyb3NlLiBMYW5kYSBzdWdnZXN0ZWQgdGhhdCBuYXRpb25hbGlzbWl0IHNwb2tlIHZvbHVtZXMu PGJyPgphbmQgcmFtYmxlZC4gVGhpcyB3YXMgcGVyaGFwcyB0aGUgZmlyc3QgdGltZSB0aGF0IFNv cm9zIGhhZGJ5IHRoZSBhdHRhY2tzIGZyb20gcmlnaHQtd2luZyBuYXRpb25hbGlzdHMgaW4gRWFz dGVybiBFdXJvcGUuPGJyPgpoZSB3cm90ZS4gQnV0IEkgbmV2ZXIgcXVpdGUgYmVjYW1lIGFuIEFt ZXJpY2FuLiBJIGhhZCBsZWZ0IEh1bmdhcnloYXZlIHRob3VnaHQgaGUgd2FzIGJlaW5nIEdvZHMg Z2lmdCB0byB0aGUgYXZlcmFnZSBpbnZlc3RvciwgYnV0IHRoZXJlPC9mb250PjwvQk9EWT48L0hU TUw+Cg== --===============1873193019304278797==-- From hibernate-commits at lists.jboss.org Sat Dec 13 17:50:29 2008 Content-Type: multipart/mixed; boundary="===============3716991017206511366==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Sat, 13 Dec 2008 17:50:26 -0500 Message-ID: <200812132250.mBDMoQQM025398@chief.prod.atl2.jboss.com> --===============3716991017206511366== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3716991017206511366== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbG90dGhpcmQuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2xv dHRoaXJkLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2lu ZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JP RFk+PC9IVE1MPgo= --===============3716991017206511366==-- From hibernate-commits at lists.jboss.org Sat Dec 13 18:19:22 2008 Content-Type: multipart/mixed; boundary="===============6582845175695166139==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Message Date: Sat, 13 Dec 2008 18:19:19 -0500 Message-ID: <200812132319.mBDNJJlC025904@chief.prod.atl2.jboss.com> --===============6582845175695166139== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6582845175695166139== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vZm9yaGFzLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8vaW1h Z2VzLmJhY2tsYXN0LmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNoZWNr IGl0IG5vdyEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJmb3JoYXMuY29tIj48Yj5WaXNpdCB1cyB0 byBmaW5kIHRoZSBiZXN0IG9mZmVyIG9mIHRoZXNlIHN0eWxpc2ggZ29vZHMhPC9iPjwvYT48L3Rk PjwvdHI+PC90YWJsZT4KPGJyPjxicj48Zm9udCBzaXplPSItMiIgY29sb3I9IkF6dXJlIj4KU3Bv cnRzIElsbHVzdHJhdGVkIGxhc3QgZmFsbCwgaGFkIGEgZGlzc2Fwb2ludGluZyAyMDA2QmVuaXRl eiB3b3VsZCByZXN0IGhpcyBzdGFyIHBsYXllcnMgZm9yIHRoZSB1cGNvbWluZzxicj4KTWFyayBD b29wZXIgc3Bva2Ugb24gYmVoYWxmIG9mIHRoZSBDb25zdW1lciBGZWRlcmF0aW9uYWJvdXQgcHJp Y2UgYW5kIGNob2ljZS4gT24gdGhlIG90aGVyIGhhbmQsIFhNIGFuZCBTaXJpdXM8YnI+ClBvcGV5 ZXMgQ2hpY2tlbiBzYXlzIHRoZSBzYWxlIG9mIHRoZSAxMCByZXN0YXVyYW50c2ZpbmFuY2lhbGx5 LiBTaGUgYWxzbyBwcm9wb3NlZCBjb25kaXRpb25zIHRvIHByb3RlY3Q8L2ZvbnQ+PC9CT0RZPjwv SFRNTD4K --===============6582845175695166139==-- From hibernate-commits at lists.jboss.org Sat Dec 13 19:11:22 2008 Content-Type: multipart/mixed; boundary="===============3819809460918302049==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Sat, 13 Dec 2008 19:11:20 -0500 Message-ID: <200812140011.mBE0BKZT026668@chief.prod.atl2.jboss.com> --===============3819809460918302049== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3819809460918302049== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2Rvd25yZWR1Y2UuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMuZG93bnJlZHVjZS5jb20vYWNhaTMuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNrIGhlcmUg dG8gdHJ5ISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9ImRvd25yZWR1Y2UuY29tIj48Yj5QZXJmZWN0 IGZvciBtZW4gYW5kIHdvbWVuPC9iPjwvYT48L3RkPjwvdHI+PC90YWJsZT4KPGJyPjxicj48Zm9u dCBzaXplPSItMiIgY29sb3I9IkF6dXJlIj4KZXhwdWxzaW9ucyBicmVhayBBaG1hZGluZWphZCdz IHB1YmxpYyBwbGVkZ2UgdGhhdCBub25ldGhlaXIgY29udHJvbCB0byBpdHMgcG90ZW50aWFsLCBh bmQgQWFyb24gTGVubm9uIHdhczxicj4KYWdncmF2YXRpbmcgYSBjYWxmIGluanVyeSwgYW5kIHdh cyByZXBsYWNlZCBieSBDYWx1bUFGQyBvd25lZCBib3RoIGNvbXBhbmllcyBmb3IgMTIgeWVhcnMg dGhyb3VnaCAyMDA0LiBJdDxicj4KQmFyY2Vsb25hIG1hdGNoLCBidXQgdGhlIFNwYW5pc2ggbWFu YWdlciBwcm92ZWRDYW5hZGEuPC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============3819809460918302049==-- From hibernate-commits at lists.jboss.org Sat Dec 13 21:11:01 2008 Content-Type: multipart/mixed; boundary="===============1113494569621684624==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Sat, 13 Dec 2008 21:11:00 -0500 Message-ID: <200812140211.mBE2B0e8028017@chief.prod.atl2.jboss.com> --===============1113494569621684624== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1113494569621684624== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vaW5kZXBlbmRlbmNlc3BlZWQuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0i aHR0cDovL2luZGVwZW5kZW5jZXNwZWVkLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2 aW5nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEg d2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============1113494569621684624==-- From hibernate-commits at lists.jboss.org Sat Dec 13 22:32:15 2008 Content-Type: multipart/mixed; boundary="===============2917227721004809975==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Sat, 13 Dec 2008 22:32:10 -0500 Message-ID: <200812140332.mBE3WAxk029062@chief.prod.atl2.jboss.com> --===============2917227721004809975== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2917227721004809975== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vcmVkdWNlZG93bi5jb20vIj48aW1nIHNyYz0iaHR0cDov L2ltYWdlcy5yZWR1Y2Vkb3duLmNvbS9hY2FpMy5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgaGVy ZSB0byB0cnkhIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0icmVkdWNlZG93bi5jb20iPjxiPkxvc2Ug d2VpZ2h0IHdpdGggdGhpcyBtaXJhY2xlIHN1cHBsZW1lbnQ8L2I+PC9hPjwvdGQ+PC90cj48L3Rh YmxlPgo8YnI+PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iQXp1cmUiPgpVbmxpa2UgdGVsZXZp c2lvbiBwcm9ncmFtbWluZywgbW9zdCByYWRpbyBsaXN0ZW5lcnMgdXNlZXN0YWJsaXNoZWQgQnVs Z2FyaWEgYXMgYW4gYXV0b25vbW91cyBwcmluY2lwYWxpdHkgaW48YnI+CmhhZCAzNiBjYXRjaGVz IGZvciB0aGUgQ2hhcmdlcnMgbGFzdCB5ZWFyLCBoaXMgMTV0aCBORkxuZWFybHkgd2Fsa2VkIG9m ZiB0aGUgcGl0Y2ggYXQgdGhlIHRpbWUsIGJ1dCB0aGV5IHdlcmU8YnI+CjEuICAgQnJhZ2dpbmcg b3IgYm9hc3RpbmcsIGVzcGVjaWFsbHkgaW4gYSBmYWxzZSBtYW5uZXJQcm90ZXN0cyBoYXZlIGNv bnRpbnVlZCBhZnRlciBNYW5jaGVzdGVyIFVuaXRlZCBkZWZlYXRlZDwvZm9udD48L0JPRFk+PC9I VE1MPgo= --===============2917227721004809975==-- From hibernate-commits at lists.jboss.org Sun Dec 14 03:09:19 2008 Content-Type: multipart/mixed; boundary="===============2929070924958925777==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Check it now! Date: Sun, 14 Dec 2008 03:09:13 -0500 Message-ID: <200812140809.mBE89D5j032550@chief.prod.atl2.jboss.com> --===============2929070924958925777== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2929070924958925777== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2hhc2RvbWUuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9pbWFn ZXMuYmFja2xpa2UuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2hlY2sg aXQgbm93ISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9Imhhc2RvbWUuY29tIj48Yj5XZSBpbnZpdGUg eW91IHRvIHZpc2l0IG91ciBzdG9yZSB0b2RheSE8L2I+PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8 YnI+PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iQXp1cmUiPgpjYW5ub3QgcG9zc2libHkgZGlz Y291bnR0b3dhcmQgYSBzdG9jayw8YnI+CnRvIGF0dGFpbmFibGUgaW5mb3JtYXRpb24uIFJhdGhl ciBpdCB3YXMgYSByZXN1bHQgb2YgcGVyY2VwdGlvbnMgdGhhdCBBbiBpbmNyZWFzaW5nIGNvbnZp Y3Rpb247PGJyPgppbiB2b2x2ZWQgY29uZ2xvbWVyYXRlcy4gVGhlRm9yIG9uZSBzaW1wbGUgcmVh c29uOiBUbyBldmVuIGJlZ2luIHRvIHN0dWR5IHdobyB3ZSBhcmUgb3Igd2hhdDwvZm9udD48L0JP RFk+PC9IVE1MPgo= --===============2929070924958925777==-- From hibernate-commits at lists.jboss.org Sun Dec 14 06:20:12 2008 Content-Type: multipart/mixed; boundary="===============8319669679049439025==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Sun, 14 Dec 2008 06:20:09 -0500 Message-ID: <200812141120.mBEBK9St018165@chief.prod.atl2.jboss.com> --===============8319669679049439025== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8319669679049439025== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2FzcGlyYXRpb25pbnN0YW50LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9hc3BpcmF0aW9uaW5zdGFudC5jb20vbmV3dG9wMi5qcGciIGJvcmRlcj0wIGFsdD0iSGF2 aW5nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyBDbGljayAKaGVyZSB0byB2aWV3IGFzIGEg d2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============8319669679049439025==-- From hibernate-commits at lists.jboss.org Sun Dec 14 09:39:03 2008 Content-Type: multipart/mixed; boundary="===============4333428341832268913==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Sun, 14 Dec 2008 09:39:02 -0500 Message-ID: <200812141439.mBEEd2gY021810@chief.prod.atl2.jboss.com> --===============4333428341832268913== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4333428341832268913== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9rZWVwdW5kZXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2tlZXB1bmRlci5jb20vbmV3dG9wMi5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyBDbGljayAKaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============4333428341832268913==-- From hibernate-commits at lists.jboss.org Sun Dec 14 10:12:58 2008 Content-Type: multipart/mixed; boundary="===============7108370181002482923==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Sun, 14 Dec 2008 10:12:55 -0500 Message-ID: <200812141512.mBEFCtWJ022266@chief.prod.atl2.jboss.com> --===============7108370181002482923== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7108370181002482923== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3Byb3ZpZGVvcHRpbWlzbS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vcHJvdmlkZW9wdGltaXNtLmNvbS9uZXd0b3AyLmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/IENsaWNrIApoZXJlIHRvIHZpZXcgYXMgYSB3ZWJw YWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============7108370181002482923==-- From hibernate-commits at lists.jboss.org Sun Dec 14 10:42:38 2008 Content-Type: multipart/mixed; boundary="===============1327845563594127141==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Sun, 14 Dec 2008 10:42:33 -0500 Message-ID: <200812141542.mBEFgXvw022752@chief.prod.atl2.jboss.com> --===============1327845563594127141== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1327845563594127141== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93aGV0aGVyZG9vci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vd2hldGhlcmRvb3IuY29tL25ld3RvcDIuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gQ2xpY2sgCmhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2Uu Ij48L2E+PC9CT0RZPjwvSFRNTD4K --===============1327845563594127141==-- From hibernate-commits at lists.jboss.org Sun Dec 14 11:51:56 2008 Content-Type: multipart/mixed; boundary="===============4329872270549778381==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Sun, 14 Dec 2008 11:51:53 -0500 Message-ID: <200812141651.mBEGpr3G023814@chief.prod.atl2.jboss.com> --===============4329872270549778381== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4329872270549778381== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jYXVzZXdhcm0uY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2NhdXNld2FybS5jb20vbmV3dG9wMi5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyBDbGljayAKaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============4329872270549778381==-- From hibernate-commits at lists.jboss.org Sun Dec 14 12:09:45 2008 Content-Type: multipart/mixed; boundary="===============0244682955735916060==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Sun, 14 Dec 2008 12:09:40 -0500 Message-ID: <200812141709.mBEH9eep024472@chief.prod.atl2.jboss.com> --===============0244682955735916060== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0244682955735916060== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2FzcGlyYXRpb25pbnN0YW50LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9hc3BpcmF0aW9uaW5zdGFudC5jb20vbmV3dG9wMi5qcGciIGJvcmRlcj0wIGFsdD0iSGF2 aW5nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyBDbGljayAKaGVyZSB0byB2aWV3IGFzIGEg d2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============0244682955735916060==-- From hibernate-commits at lists.jboss.org Sun Dec 14 12:41:43 2008 Content-Type: multipart/mixed; boundary="===============3470611296235842176==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Sun, 14 Dec 2008 12:41:40 -0500 Message-ID: <200812141741.mBEHfedU024991@chief.prod.atl2.jboss.com> --===============3470611296235842176== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3470611296235842176== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vY29zdGxvY2F0ZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v Y29zdGxvY2F0ZS5jb20vbmV3dG9wMi5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyBDbGljayAKaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============3470611296235842176==-- From hibernate-commits at lists.jboss.org Sun Dec 14 13:15:53 2008 Content-Type: multipart/mixed; boundary="===============2533102304483580218==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Sun, 14 Dec 2008 13:15:50 -0500 Message-ID: <200812141815.mBEIFo0l025814@chief.prod.atl2.jboss.com> --===============2533102304483580218== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2533102304483580218== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3RyYWRpdGlvbnN5bWJvbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vdHJhZGl0aW9uc3ltYm9sLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFn ZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============2533102304483580218==-- From hibernate-commits at lists.jboss.org Sun Dec 14 14:33:03 2008 Content-Type: multipart/mixed; boundary="===============2009246479851747684==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Sun, 14 Dec 2008 14:32:50 -0500 Message-ID: <200812141933.mBEJWoak027264@chief.prod.atl2.jboss.com> --===============2009246479851747684== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2009246479851747684== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcHJvdmlkZW9wdGltaXNtLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9wcm92aWRlb3B0aW1pc20uY29tL25ld3RvcDIuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gQ2xpY2sgCmhlcmUgdG8gdmlldyBhcyBhIHdl YnBhZ2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============2009246479851747684==-- From hibernate-commits at lists.jboss.org Sun Dec 14 16:34:54 2008 Content-Type: multipart/mixed; boundary="===============7156526253038046311==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Sun, 14 Dec 2008 16:34:45 -0500 Message-ID: <200812142134.mBELYjX3029573@chief.prod.atl2.jboss.com> --===============7156526253038046311== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7156526253038046311== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vdHJhZGl0aW9uc3ltYm9sLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly90cmFkaXRpb25zeW1ib2wuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJw YWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============7156526253038046311==-- From hibernate-commits at lists.jboss.org Sun Dec 14 20:04:38 2008 Content-Type: multipart/mixed; boundary="===============4904083018090473278==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Sun, 14 Dec 2008 20:04:33 -0500 Message-ID: <200812150104.mBF14XKa008509@chief.prod.atl2.jboss.com> --===============4904083018090473278== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4904083018090473278== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly90cmFkaXRpb25zeW1ib2wuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0i aHR0cDovL3RyYWRpdGlvbnN5bWJvbC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdl YnBhZ2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============4904083018090473278==-- From hibernate-commits at lists.jboss.org Sun Dec 14 20:13:59 2008 Content-Type: multipart/mixed; boundary="===============7659007387395047303==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] , December 79% off Date: Sun, 14 Dec 2008 20:13:56 -0500 Message-ID: <200812150113.mBF1DuNp008635@chief.prod.atl2.jboss.com> --===============7659007387395047303== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7659007387395047303== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9tb2xlY3VsZWdpdmUuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL21vbGVjdWxlZ2l2ZS5jb20vdXk3Ni5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgaGVyZSB0 byB2aWV3IGFzIGEgd2VicGFnZSI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============7659007387395047303==-- From hibernate-commits at lists.jboss.org Sun Dec 14 21:01:05 2008 Content-Type: multipart/mixed; boundary="===============2874400555274735220==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear , December 44% off Date: Sun, 14 Dec 2008 21:01:03 -0500 Message-ID: <200812150201.mBF213KS009426@chief.prod.atl2.jboss.com> --===============2874400555274735220== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2874400555274735220== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3N1ZmZpeHJlc3BvbnNpYmlsaXR5LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9 Imh0dHA6Ly9zdWZmaXhyZXNwb25zaWJpbGl0eS5jb20vdXk3Ni5qcGciIGJvcmRlcj0wIGFsdD0i Q2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZSI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============2874400555274735220==-- From hibernate-commits at lists.jboss.org Mon Dec 15 01:06:36 2008 Content-Type: multipart/mixed; boundary="===============0536919367807982990==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Mon, 15 Dec 2008 01:06:32 -0500 Message-ID: <200812150606.mBF66WPH013095@chief.prod.atl2.jboss.com> --===============0536919367807982990== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0536919367807982990== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zdHJlbmd0aG5lYXIuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL3N0cmVuZ3RobmVhci5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2Uu Ij48L2E+PC9CT0RZPjwvSFRNTD4K --===============0536919367807982990==-- From hibernate-commits at lists.jboss.org Mon Dec 15 04:31:33 2008 Content-Type: multipart/mixed; boundary="===============0602246162486247772==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear , December 13% off Date: Mon, 15 Dec 2008 04:31:31 -0500 Message-ID: <200812150931.mBF9VV50017452@chief.prod.atl2.jboss.com> --===============0602246162486247772== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0602246162486247772== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9hYmlsaXR5dGVuLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9hYmlsaXR5dGVuLmNvbS91eTc2LmpwZyIgYm9yZGVyPTAgYWx0PSJDbGljayBoZXJlIHRvIHZp ZXcgYXMgYSB3ZWJwYWdlIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============0602246162486247772==-- From hibernate-commits at lists.jboss.org Mon Dec 15 04:53:53 2008 Content-Type: multipart/mixed; boundary="===============7316866628214766808==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15694 - in validator/trunk/validation-api/src/main/java/javax/validation: spi and 1 other directory. Date: Mon, 15 Dec 2008 04:53:53 -0500 Message-ID: --===============7316866628214766808== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: epbernard Date: 2008-12-15 04:53:53 -0500 (Mon, 15 Dec 2008) New Revision: 15694 Modified: validator/trunk/validation-api/src/main/java/javax/validation/Constraint= .java validator/trunk/validation-api/src/main/java/javax/validation/Constraint= Violation.java validator/trunk/validation-api/src/main/java/javax/validation/Validation= .java validator/trunk/validation-api/src/main/java/javax/validation/spi/Valida= tionProvider.java Log: Reformating Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straint.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= t.java 2008-12-13 16:25:05 UTC (rev 15693) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= t.java 2008-12-15 09:53:53 UTC (rev 15694) @@ -30,7 +30,8 @@ * Validator parameters for a given constraint definition * Annotations parameters are passed as key/value into parameters *

    - * This method is guaranteed to be called before any of the other Constra= int implementation methods + * This method is guaranteed to be called before any of the other Constra= int + * implementation methods * * @param constraintAnnotation parameters for a given constraint definiti= on */ Modified: validator/trunk/validation-api/src/main/java/javax/validation/Con= straintViolation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-13 16:25:05 UTC (rev 15693) +++ validator/trunk/validation-api/src/main/java/javax/validation/Constrain= tViolation.java 2008-12-15 09:53:53 UTC (rev 15694) @@ -24,7 +24,8 @@ * well as the message describing the violation. * * @author Emmanuel Bernard - * @todo the rational behind rootBean and propertyPath is to keep the cont= ext available to the user + * @todo the rational behind rootBean and propertyPath is to keep the cont= ext + * available to the user */ public interface ConstraintViolation { = Modified: validator/trunk/validation-api/src/main/java/javax/validation/Val= idation.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/Validatio= n.java 2008-12-13 16:25:05 UTC (rev 15693) +++ validator/trunk/validation-api/src/main/java/javax/validation/Validatio= n.java 2008-12-15 09:53:53 UTC (rev 15694) @@ -131,12 +131,14 @@ * Used by applications targeting a specific provider programmatically. *

    *

    -	 * ACMEValidatorFactoryBuilder builder =3D Validation.builderType(ACMEVal=
    idatorFactoryBuilder.class)
    -	 *     .providerResolver( new MyResolverStrategy() )
    -	 *     .build();
    +	 * ACMEValidatorFactoryBuilder builder =3D =
    
    +	 *     Validation.builderType(ACMEValidatorFactoryBuilder.class)
    +	 *             .providerResolver( new MyResolverStrategy() )
    +	 *             .build();
     	 * 
    , - * where ACMEValidatorFactoryBuilder is the ValidatorF= actoryBuilder - * sub interface uniquely identifying the ACME Bean Validation provider. + * where ACMEValidatorFactoryBuilder is the + * ValidatorFactoryBuilder sub interface uniquely identifyin= g the + * ACME Bean Validation provider. * * @param builderType the ValidatorFactoryBuilder sub interf= ace * uniquely defining the targeted provider. Modified: validator/trunk/validation-api/src/main/java/javax/validation/spi= /ValidationProvider.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/src/main/java/javax/validation/spi/Valid= ationProvider.java 2008-12-13 16:25:05 UTC (rev 15693) +++ validator/trunk/validation-api/src/main/java/javax/validation/spi/Valid= ationProvider.java 2008-12-15 09:53:53 UTC (rev 15694) @@ -35,8 +35,8 @@ * = * @param builderClass targeted builder class. * - * @return true if builderClass is the Bean Val= idation Provider sub - * interface for ValidatorFactoryBuilder + * @return true if builderClass is the Bean Val= idation Provider + * sub-interface for ValidatorFactoryBuilder */ boolean isSuitable(Class> builderCla= ss); = --===============7316866628214766808==-- From hibernate-commits at lists.jboss.org Mon Dec 15 05:39:34 2008 Content-Type: multipart/mixed; boundary="===============4110447505634153185==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15695 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/collection/backref/map/compkey. Date: Mon, 15 Dec 2008 05:39:34 -0500 Message-ID: --===============4110447505634153185== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-15 05:39:34 -0500 (Mon, 15 Dec 2008) New Revision: 15695 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/coll= ection/backref/map/compkey/Mappings.hbm.xml Log: HHH-3639 - Column 'role' becomes 'roles_', because 'role' is a reserved key= word in Sybase Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/collection/backref/map/compkey/Mappings.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/backref/map/compkey/Mappings.hbm.xml 2008-12-15 09:53:53 UTC (rev 1= 5694) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/col= lection/backref/map/compkey/Mappings.hbm.xml 2008-12-15 10:39:34 UTC (rev 1= 5695) @@ -31,7 +31,7 @@ - + --===============4110447505634153185==-- From hibernate-commits at lists.jboss.org Mon Dec 15 05:46:11 2008 Content-Type: multipart/mixed; boundary="===============4063626083401813114==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15696 - core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test. Date: Mon, 15 Dec 2008 05:46:01 -0500 Message-ID: --===============4063626083401813114== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: jcosta(a)redhat.com Date: 2008-12-15 05:46:00 -0500 (Mon, 15 Dec 2008) New Revision: 15696 Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/QueryTest.= java Log: EJB-404 - Changing the order of the predicates in testIsNull. Now it please= s PostgreSQL as well Modified: core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/Que= ryTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/QueryTest= .java 2008-12-15 10:39:34 UTC (rev 15695) +++ core/trunk/entitymanager/src/test/java/org/hibernate/ejb/test/QueryTest= .java 2008-12-15 10:46:00 UTC (rev 15696) @@ -305,7 +305,7 @@ em.flush(); em.clear(); Query q =3D em.createQuery( - "select i from Item i where (i.descr is null and :descr is null) or i.= descr =3D :descr" + "select i from Item i where i.descr =3D :descr or (i.descr is null and= :descr is null)" ); //Query q =3D em.createQuery( "select i from Item i where (i.descr is nu= ll and :descr is null) or (i.descr =3D :descr"); q.setParameter( "descr", "dd" ); --===============4063626083401813114==-- From hibernate-commits at lists.jboss.org Mon Dec 15 07:17:30 2008 Content-Type: multipart/mixed; boundary="===============1668787314020862788==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear , December 19% off Date: Mon, 15 Dec 2008 07:17:27 -0500 Message-ID: <200812151217.mBFCHRwt022063@chief.prod.atl2.jboss.com> --===============1668787314020862788== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1668787314020862788== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vYWJpbGl0eXRlbi5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v YWJpbGl0eXRlbi5jb20vdXk3Ni5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgaGVyZSB0byB2aWV3 IGFzIGEgd2VicGFnZSI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============1668787314020862788==-- From hibernate-commits at lists.jboss.org Mon Dec 15 08:20:36 2008 Content-Type: multipart/mixed; boundary="===============1922851640531909299==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Mon, 15 Dec 2008 08:20:32 -0500 Message-ID: <200812151320.mBFDKWCP024209@chief.prod.atl2.jboss.com> --===============1922851640531909299== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1922851640531909299== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vYnJvd25mb3JnaXZlbmVzcy5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vYnJvd25mb3JnaXZlbmVzcy5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdl YnBhZ2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============1922851640531909299==-- From hibernate-commits at lists.jboss.org Mon Dec 15 08:29:36 2008 Content-Type: multipart/mixed; boundary="===============7524450115755113119==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] , December 69% off Date: Mon, 15 Dec 2008 08:29:27 -0500 Message-ID: <200812151329.mBFDTR2P024741@chief.prod.atl2.jboss.com> --===============7524450115755113119== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7524450115755113119== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc3lzdGVtcHJvc3Blcml0eS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vc3lzdGVtcHJvc3Blcml0eS5jb20vdXk3Ni5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sg aGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZSI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============7524450115755113119==-- From hibernate-commits at lists.jboss.org Mon Dec 15 10:05:27 2008 Content-Type: multipart/mixed; boundary="===============5898269013251997761==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] , December 55% off Date: Mon, 15 Dec 2008 10:05:24 -0500 Message-ID: <200812151505.mBFF5OsD028745@chief.prod.atl2.jboss.com> --===============5898269013251997761== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5898269013251997761== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3dhcm1zZWxmLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly93YXJt c2VsZi5jb20vdXk3Ni5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEg d2VicGFnZSI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============5898269013251997761==-- From hibernate-commits at lists.jboss.org Mon Dec 15 10:52:02 2008 Content-Type: multipart/mixed; boundary="===============5914618881997383299==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Mon, 15 Dec 2008 10:52:00 -0500 Message-ID: <200812151552.mBFFq0Y5030348@chief.prod.atl2.jboss.com> --===============5914618881997383299== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5914618881997383299== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9icm93bmZvcmdpdmVuZXNzLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9 Imh0dHA6Ly9icm93bmZvcmdpdmVuZXNzLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2 aW5nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEg d2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============5914618881997383299==-- From hibernate-commits at lists.jboss.org Mon Dec 15 12:21:11 2008 Content-Type: multipart/mixed; boundary="===============6136498115254908909==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15697 - core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/id. Date: Mon, 15 Dec 2008 12:21:10 -0500 Message-ID: --===============6136498115254908909== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: cbredesen Date: 2008-12-15 12:21:10 -0500 (Mon, 15 Dec 2008) New Revision: 15697 Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/id/IdentityGenerator= .java Log: JBPAPP-1496 backported Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/id/IdentityGe= nerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/id/IdentityGenerato= r.java 2008-12-15 10:46:00 UTC (rev 15696) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/id/IdentityGenerato= r.java 2008-12-15 17:21:10 UTC (rev 15697) @@ -71,10 +71,19 @@ = public Serializable executeAndExtract(PreparedStatement insert) throws S= QLException { insert.executeUpdate(); - return IdentifierGeneratorFactory.getGeneratedIdentity( - GetGeneratedKeysHelper.getGeneratedKey( insert ), - persister.getIdentifierType() - ); + ResultSet rs =3D null; + try { + rs =3D GetGeneratedKeysHelper.getGeneratedKey( insert ); + return IdentifierGeneratorFactory.getGeneratedIdentity( + rs, + persister.getIdentifierType() + ); + } + finally { + if ( rs !=3D null ) { + rs.close(); + } + } } } = --===============6136498115254908909==-- From hibernate-commits at lists.jboss.org Mon Dec 15 12:28:16 2008 Content-Type: multipart/mixed; boundary="===============0407763279858716590==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear , December 05% off Date: Mon, 15 Dec 2008 12:28:06 -0500 Message-ID: <200812151728.mBFHS6fJ001011@chief.prod.atl2.jboss.com> --===============0407763279858716590== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0407763279858716590== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbm90aWNlc2F5LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9u b3RpY2VzYXkuY29tL3V5NzYuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNrIGhlcmUgdG8gdmlldyBh cyBhIHdlYnBhZ2UiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============0407763279858716590==-- From hibernate-commits at lists.jboss.org Mon Dec 15 13:24:58 2008 Content-Type: multipart/mixed; boundary="===============6488227034064353641==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Mon, 15 Dec 2008 13:24:56 -0500 Message-ID: <200812151824.mBFIOum7002965@chief.prod.atl2.jboss.com> --===============6488227034064353641== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6488227034064353641== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9sYW5kaGFybW9ueS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vbGFuZGhhcm1vbnkuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+ PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============6488227034064353641==-- From hibernate-commits at lists.jboss.org Mon Dec 15 15:32:41 2008 Content-Type: multipart/mixed; boundary="===============5374829228302953816==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Mon, 15 Dec 2008 15:32:37 -0500 Message-ID: <200812152032.mBFKWb4K006070@chief.prod.atl2.jboss.com> --===============5374829228302953816== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5374829228302953816== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2h1Z2VoZXJlcy5jb20vIj48aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5uYW1lbm90LmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNoZWNr IGl0IG5vdyEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJodWdlaGVyZXMuY29tIj48Yj5Eb24ndCBt aXNzIHN1YnN0YW50aWFsIGRpc2NvdW50cyE8L2I+PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YnI+ PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iV2hpdGVTbW9rZSI+CmFub3RoZXIgaW50ZXJ2aWV3 LCBDaGFtcGFnbmUgdGFsa3Mgb2YgU3lsdmFpblVLIEF0dG9ybmV5IEdlbmVyYWwgc3RvcHMgQkJD IHJlcG9ydCBvbiBjYXNoLWZvci1ob25vdXJzPGJyPgpTYW4gRGllZ28gQ2hhcmdlcnMgd2lkZSBy ZWNpZXZlciBLZWVuYW4gTWNDYXJkZWxsIHdhc3JlcXVpcmVtZW50cywgc3VjaCBhcyBlZHVjYXRp b25hbCBwcm9ncmFtbWluZyBhbmQgcHJpY2U8L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============5374829228302953816==-- From hibernate-commits at lists.jboss.org Mon Dec 15 16:00:25 2008 Content-Type: multipart/mixed; boundary="===============1920307097581676550==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Mon, 15 Dec 2008 16:00:23 -0500 Message-ID: <200812152100.mBFL0NVt006734@chief.prod.atl2.jboss.com> --===============1920307097581676550== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1920307097581676550== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vYnJvd25mb3JnaXZlbmVzcy5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vYnJvd25mb3JnaXZlbmVzcy5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdl YnBhZ2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============1920307097581676550==-- From hibernate-commits at lists.jboss.org Mon Dec 15 19:08:00 2008 Content-Type: multipart/mixed; boundary="===============7085398095049248293==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Mon, 15 Dec 2008 19:07:58 -0500 Message-ID: <200812160007.mBG07wH5011305@chief.prod.atl2.jboss.com> --===============7085398095049248293== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7085398095049248293== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vbmFtZW5vdC5jb20vIj48aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5uYW1lbm90LmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNoZWNr IGl0IG5vdyEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJuYW1lbm90LmNvbSI+PGI+R2V0IGluc2lk ZSB0byBsZWFybiBhYm91dCBvdXIgYmVzdCBvZmZlcnMhCTwvYj48L2E+PC90ZD48L3RyPjwvdGFi bGU+Cjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSJXaGl0ZVNtb2tlIj4KYmVjYXVzZSBJ IGV4cGVjdGVkIHRoZSBjcmFzaCB0byBjb21lIGluIEphcGFuLCBhbmQgSSB3YXMgcHJlcGFyZWQg Zm9yZmluZCBvdXQganVzdCBob3cgY29tcGxleCBwbGF5aW5nIHRoZSBtYXJrZXQgYWN0dWFsbHkg aXMuIEEgbG90IG9mPGJyPgppdHMgaWxsdXNpb24sIGNhbiBiZSBoYXJtZnVsU3RyZWV0LjwvZm9u dD48L0JPRFk+PC9IVE1MPgo= --===============7085398095049248293==-- From hibernate-commits at lists.jboss.org Mon Dec 15 21:04:31 2008 Content-Type: multipart/mixed; boundary="===============8297460335827019245==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Mon, 15 Dec 2008 21:04:21 -0500 Message-ID: <200812160204.mBG24LYU013228@chief.prod.atl2.jboss.com> --===============8297460335827019245== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8297460335827019245== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3dvdWxkY29tcGFueS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v d291bGRjb21wYW55LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============8297460335827019245==-- From hibernate-commits at lists.jboss.org Tue Dec 16 03:56:14 2008 Content-Type: multipart/mixed; boundary="===============8456393282826510909==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Tue, 16 Dec 2008 03:56:12 -0500 Message-ID: <200812160856.mBG8uCGW025306@chief.prod.atl2.jboss.com> --===============8456393282826510909== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8456393282826510909== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PHRhYmxlPgo8dHI+ PHRkPjxhIGhyZWY9Imh0dHA6Ly9yZWFsZHVuZS5jb20vIj48aW1nIHNyYz0iaHR0cDovL2ltYWdl cy5uYW1lbm90LmNvbS9iYW5uZXJfeG1hc3RpbWUuanBnIiBib3JkZXI9MCBhbHQ9IkNoZWNrIGl0 IG5vdyEiPjwvYT48YnI+Cjxicj48YSBocmVmPSJyZWFsZHVuZS5jb20iPjxiPkh1cnJ5IHRvIGFj Y2VwdCB0aGlzIGZhbnRhc3RpYyBvZmZlciE8L2I+PC9hPjwvdGQ+PC90cj48L3RhYmxlPgo8YnI+ PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iV2hpdGVTbW9rZSI+CnRyZWF0ZWQganVzdCBsaWtl IGFueSBvdGhlciBzb2xkaWVyIGJ1dCBpbiByZWFsaXR5QWxhbW8gYWZ0ZXIgYSAxMy1kYXkgc2ll Z2UuPGJyPgp0aW1lcGllY2VzLiBUaGUgZmlyc3Qgam9pbnRseSBkZXZlbG9wZWQgcHJvZHVjdHMg YXJlIHRvY2l0eS48L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============8456393282826510909==-- From hibernate-commits at lists.jboss.org Tue Dec 16 06:49:27 2008 Content-Type: multipart/mixed; boundary="===============0798758257048361874==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15698 - in validator/trunk: hibernate-validator and 4 other directories. Date: Tue, 16 Dec 2008 06:49:23 -0500 Message-ID: --===============0798758257048361874== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-16 06:49:22 -0500 (Tue, 16 Dec 2008) New Revision: 15698 Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/javadoc/ validator/trunk/hibernate-validator/src/test/java/org/hibernate/javadoc/= JSRDoclet.java Modified: validator/trunk/hibernate-validator/pom.xml validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/engine/ValidatorImplTest.java validator/trunk/pom.xml validator/trunk/validation-api/pom.xml Log: Added a doclet which allows linking unit tests to the corresponding section= s of the JSR 303. Run 'mvn package sire' to generate reports. Modified: validator/trunk/hibernate-validator/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/pom.xml 2008-12-15 17:21:10 UTC (re= v 15697) +++ validator/trunk/hibernate-validator/pom.xml 2008-12-16 11:49:22 UTC (re= v 15698) @@ -14,7 +14,7 @@ Hibernate Validator - local + site file:///Users/hardy/Sites/${artifactId} @@ -47,4 +47,51 @@ + + + + org.apache.maven.plugins + maven-project-info-reports-plugin + 2.0.1 + + + maven-javadoc-plugin + + + html + + + + todo + a + ToDo: + + + + + javadoc + + + + specCheck + + org.hibernate.javadoc.JSRDoclet + ${basedir}/target/test-classes + + -d ${project.build.directory}/site + + + tck + + JSR Tests + Cross references unit tests to JS= R 303 specification. + + + test-javadoc + + + + + + Added: validator/trunk/hibernate-validator/src/test/java/org/hibernate/java= doc/JSRDoclet.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/javadoc= /JSRDoclet.java (rev 0) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/javadoc= /JSRDoclet.java 2008-12-16 11:49:22 UTC (rev 15698) @@ -0,0 +1,188 @@ +// $Id:$ +// $Id$ +/* +* JBoss, Home of Professional Open Source +* Copyright 2008, Red Hat Middleware LLC, and individual contributors +* by the @authors tag. See the copyright.txt in the distribution for a +* full listing of individual contributors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.hibernate.javadoc; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +import com.sun.javadoc.ClassDoc; +import com.sun.javadoc.DocErrorReporter; +import com.sun.javadoc.MethodDoc; +import com.sun.javadoc.RootDoc; +import com.sun.javadoc.Tag; +import com.sun.tools.doclets.standard.Standard; + +/** + * This doclet writes a report for all junit tests marked documented with = jsr. + * Tests documented with this tag are referencing sections of the Bean Val= idation spec they + * are testing/validating. + * + * @author Hardy Ferentschik + */ +public class JSRDoclet { + + public static final String TAG_NAME =3D "jsr"; + private static final String[] tableHeaders =3D new String[] { "Bean Valid= ation Specification", "Class", "Method" }; + private static StringBuffer out =3D new StringBuffer(); + + + public static boolean start(RootDoc root) { + String outDirName =3D readOptions( root.options() ); + File outDir =3D new File( outDirName ); + outDir.mkdirs(); + File specCheckReport =3D new File( outDir, "index.html" ); + + List references =3D processClasses( root.classes() ); + Collections.sort( references ); + + writeHeader(); + writeContents( references ); + writeFooter(); + + + try { + BufferedWriter writer =3D new BufferedWriter( new FileWriter( specCheck= Report ) ); + writer.write( out.toString() ); + writer.close(); + } + catch ( IOException e ) { + System.err.println( "Error writing tck report." ); + } + return true; + } + + public static int optionLength(String option) { + if ( option.equals( "-d" ) ) { + return 2; + } + else { + return Standard.optionLength( option ); + } + } + + public static boolean validOptions(String options[][], DocErrorReporter r= eporter) { + return true; + } + + private static void writeFooter() { + out.append( "" ); + } + + private static void writeHeader() { + out.append( "" ); + } + + private static void writeTableHeader() { + out.append( "" ); + for ( String s : tableHeaders ) { + out.append( "" ); + } + out.append( "" ); + } + + private static void writeTableFooter() { + out.append( "
    " ).append( s ).append( "
    " ); + } + + private static String readOptions(String[][] options) { + String tagName =3D null; + for ( String[] opt : options ) { + if ( opt[0].equals( "-d" ) ) { + tagName =3D opt[1]; + } + } + return tagName; + } + + private static void writeContents(List references) { + writeTableHeader(); + for ( JSRReference reference : references ) { + out.append( "" ); + out.append( "" ).append( reference.jsrReference ).append( "" ); + out.append( "
    " ) + .append( reference.className ) + .append( "" ); + out.append( "" ).append( reference.methodName ).append( "" ); + out.append( "" ); + } + writeTableFooter(); + } + + private static List processClasses(ClassDoc[] classDocs) { + ArrayList references =3D new ArrayList(); + for ( ClassDoc aClass : classDocs ) { + MethodDoc[] methods =3D aClass.methods(); + for ( MethodDoc method : methods ) { + Tag[] tags =3D method.tags( TAG_NAME ); + if ( tags.length > 0 ) { + for ( Tag tag : tags ) { + JSRReference reference =3D new JSRReference( tag.text(), aClass.qual= ifiedName(), method.name() ); + references.add( reference ); + } + } + } + } + return references; + } + + static class JSRReference implements Comparable { + /** + * The JSR 303 section this instance references. + */ + String jsrReference; + + /** + * The name of the class which references the JSR. + */ + String className; + + /** + * The method which references the JSR. + */ + String methodName; + + /** + * @todo Add some validation + */ + JSRReference(String reference, String className, String methodName) { + this.jsrReference =3D reference; + this.className =3D className; + this.methodName =3D methodName; + } + + public String getSourceLink() { + StringBuilder builder =3D new StringBuilder(); + builder.append( "../xref-test/" ); + builder.append( className.replace( '.', '/' ) ); + builder.append( ".html" ); + return builder.toString(); + } + + public int compareTo(Object o) { + return jsrReference.compareTo( ( ( JSRReference ) o ).jsrReference ); + } + } +} Property changes on: validator/trunk/hibernate-validator/src/test/java/org/= hibernate/javadoc/JSRDoclet.java ___________________________________________________________________ Name: svn:keywords + Id Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/engine/ValidatorImplTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-15 17:21:10 UTC (rev 15697) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-16 11:49:22 UTC (rev 15698) @@ -71,6 +71,7 @@ = /** * JSR 303: Requirements on classes to be validates (3.1) + * @jsr 3.1 */ @Test public void testWrongMethodName() { @@ -339,6 +340,7 @@ = /** * JSR 303: Multi-valued constraints (2.2) + * @jsr 2.2 */ @Test public void testMultiValueConstraint() { @@ -361,6 +363,7 @@ = /** * JSR 303: Object graph validation (3.5.1) + * @jsr 3.5.1 */ @Test public void testGraphValidation() { Modified: validator/trunk/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/pom.xml 2008-12-15 17:21:10 UTC (rev 15697) +++ validator/trunk/pom.xml 2008-12-16 11:49:22 UTC (rev 15698) @@ -177,7 +177,7 @@ dav:https://snapshots.jboss.org/maven2 - local + site file:///Users/hardy/Sites Modified: validator/trunk/validation-api/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/validation-api/pom.xml 2008-12-15 17:21:10 UTC (rev 156= 97) +++ validator/trunk/validation-api/pom.xml 2008-12-16 11:49:22 UTC (rev 156= 98) @@ -18,7 +18,7 @@ = - local + site file:///Users/hardy/Sites/${artifactId} --===============0798758257048361874==-- From hibernate-commits at lists.jboss.org Tue Dec 16 07:23:05 2008 Content-Type: multipart/mixed; boundary="===============5580303102429692766==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: My Message Date: Tue, 16 Dec 2008 07:23:02 -0500 Message-ID: <200812161223.mBGCN2of001680@chief.prod.atl2.jboss.com> --===============5580303102429692766== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5580303102429692766== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vdG9sZHdhdGNoLmNvbS8iPjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLnRvbGR3YXRjaC5jb20vYmFubmVyX3htYXN0aW1lLmpwZyIgYm9yZGVyPTAgYWx0PSJD aGVjayBpdCBub3chIj48L2E+PGJyPgo8YnI+PGEgaHJlZj0idG9sZHdhdGNoLmNvbSI+PGI+QWRk IGEgdG91Y2ggb2YgY2xhc3MgdG8geW91ciBsaWZlIHN0eWxlITwvYj48L2E+PC90ZD48L3RyPjwv dGFibGU+Cjxicj48YnI+PGZvbnQgc2l6ZT0iLTIiIGNvbG9yPSJXaGl0ZVNtb2tlIj4Kb2ZmaWNl LiBTb3Jvc3MgdGFzdGVzIHdlcmUgbm90IHByZXRlbnRpb3VzLCBoZSBhc3NlcnRlZDogSGUgbGlr ZXMgdGhlU29yb3MgbW9zdCB3ZXJlLCBwcmVkaWN0YWJseSwgYSBwYWlyIG9mIGVzb3RlcmljIG1p bmQtYmVuZGVycyBjYWxsZWQ8YnI+CkJ5IHRoZSAxOTkwcywgaG93ZXZlciwgaGUgaGFkIGJlY29t ZSBhIGJpbGxpb25haXJlLWFuZCBubyBtYXR0ZXJ0aGF0IGVjb25vbWljIGNvbGxhcHNlIHdhcyBh cm91bmQgdGhlIGNvcm5lciwgU29yb3Mgbm93IGZlbHQgcmVhc3N1cmVkLjwvZm9udD48L0JPRFk+ PC9IVE1MPgo= --===============5580303102429692766==-- From hibernate-commits at lists.jboss.org Tue Dec 16 07:55:51 2008 Content-Type: multipart/mixed; boundary="===============7555618385316600889==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Tue, 16 Dec 2008 07:55:30 -0500 Message-ID: <200812161255.mBGCtUpi002704@chief.prod.atl2.jboss.com> --===============7555618385316600889== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7555618385316600889== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2lkZWFkb2VzLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9pZGVh ZG9lcy5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZpZXdpbmcg dGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9CT0RZ PjwvSFRNTD4K --===============7555618385316600889==-- From hibernate-commits at lists.jboss.org Tue Dec 16 10:20:30 2008 Content-Type: multipart/mixed; boundary="===============5831047249690056408==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Tue, 16 Dec 2008 10:20:27 -0500 Message-ID: <200812161520.mBGFKRWb007553@chief.prod.atl2.jboss.com> --===============5831047249690056408== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5831047249690056408== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93b3VsZGNvbXBhbnkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL3dvdWxkY29tcGFueS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2Uu Ij48L2E+PC9CT0RZPjwvSFRNTD4K --===============5831047249690056408==-- From hibernate-commits at lists.jboss.org Tue Dec 16 12:02:40 2008 Content-Type: multipart/mixed; boundary="===============8090355157871645928==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Message Date: Tue, 16 Dec 2008 12:02:38 -0500 Message-ID: <200812161702.mBGH2cZD012029@chief.prod.atl2.jboss.com> --===============8090355157871645928== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8090355157871645928== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93YWxsY3JvcC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v d2FsbGNyb3AuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwv Qk9EWT48L0hUTUw+Cg== --===============8090355157871645928==-- From hibernate-commits at lists.jboss.org Tue Dec 16 12:27:20 2008 Content-Type: multipart/mixed; boundary="===============2814946910250491926==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Tue, 16 Dec 2008 12:27:16 -0500 Message-ID: <200812161727.mBGHRG4J013066@chief.prod.atl2.jboss.com> --===============2814946910250491926== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2814946910250491926== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3RvbGR3YXRjaC5jb20vIj48aW1nIHNyYz0iaHR0cDovL2lt YWdlcy50b2xkd2F0Y2guY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2hl Y2sgaXQgbm93ISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9InRvbGR3YXRjaC5jb20iPjxiPlRoZSBw ZXJpb2Qgb2Ygb3VyIG9mZmVyIGlzIGxpbWl0ZWQsIGJ1dCB5b3UgY2FuIHN0aWxsIG1hbmFnZSB0 byBiZSBvbiB0aW1lITwvYj48L2E+PC90ZD48L3RyPjwvdGFibGU+Cjxicj48YnI+PGZvbnQgc2l6 ZT0iLTIiIGNvbG9yPSJXaGl0ZVNtb2tlIj4KQW5kLCBqdXN0IGFzIFNvcm9zIGhhZCBwcmVkaWN0 ZWQsIGV2ZW4gbW9yZSBwcm9maXRzIHBvdXJlZCBpbnRvIFF1YW50dW0uU29yb3MgaW52aXRlZCBE cnVja2VubWlsbGVyIGZvciBzb21lIG1lZXRpbmdzLjxicj4KR2VvcmdlIFNvcm9zcyBncmVhdGVz dCBjb3VwIC0gdGhlIG9uZSBhY3QgdGhhdCBtYWRlIGhpbSBhIHdvcmxkZmFtb3VzdGhlIG9wcG9y dHVuaXR5IHRvIHRoZSBoaWx0LiBIZWRnZSBmdW5kcywgb2JzZXJ2ZWQgR3JhbnQsIGhhdmUgdGhl PC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============2814946910250491926==-- From hibernate-commits at lists.jboss.org Tue Dec 16 14:32:41 2008 Content-Type: multipart/mixed; boundary="===============8418832126696350103==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Tue, 16 Dec 2008 14:32:37 -0500 Message-ID: <200812161932.mBGJWbRL016282@chief.prod.atl2.jboss.com> --===============8418832126696350103== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8418832126696350103== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly91c3VhbGhlYXJ0LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly91c3VhbGhlYXJ0LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============8418832126696350103==-- From hibernate-commits at lists.jboss.org Tue Dec 16 14:54:01 2008 Content-Type: multipart/mixed; boundary="===============1863704418206497676==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Tue, 16 Dec 2008 14:53:59 -0500 Message-ID: <200812161954.mBGJrxWm016973@chief.prod.atl2.jboss.com> --===============1863704418206497676== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1863704418206497676== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vdmVyeXBvb2wuY29tLyI+PGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMudmVyeXBvb2wuY29tL2Jhbm5lcl94bWFzdGltZS5qcGciIGJvcmRlcj0wIGFsdD0iQ2hl Y2sgaXQgbm93ISI+PC9hPjxicj4KPGJyPjxhIGhyZWY9InZlcnlwb29sLmNvbSI+PGI+WW91J3Jl IGludml0ZWQgdG8gc2VlIG91ciBlbnRpcmUgY29sbGVjdGlvbiE8L2I+PC9hPjwvdGQ+PC90cj48 L3RhYmxlPgo8YnI+PGJyPjxmb250IHNpemU9Ii0yIiBjb2xvcj0iV2hpdGVTbW9rZSI+CnN0YXRl bWVudC5iaWxsIG9uIGRlYXRoIHBlbmFsdHkgZm9yIHJlcGVhdGVkIGNoaWxkIHNleCBvZmZlbmRl cnM8YnI+CmNvcm5lciBraWNrLiBHcmF2ZXNlbidzIGxvbmcgZWZmb3J0IGZvciBDZWx0aWMgd2Fz IGVhc3l0aGUgZ2lybCBhbmQgYm95LCBidXQgd2FzIG5vdCBzdWNjZXNzZnVsLiBUaGUgYm95LCB3 aG9zZTwvZm9udD48L0JPRFk+PC9IVE1MPgo= --===============1863704418206497676==-- From hibernate-commits at lists.jboss.org Tue Dec 16 17:23:40 2008 Content-Type: multipart/mixed; boundary="===============4304300894106753545==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15699 - core/branches/Branch_3_2/src/org/hibernate/persister/entity. Date: Tue, 16 Dec 2008 17:23:40 -0500 Message-ID: --===============4304300894106753545== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dstephan Date: 2008-12-16 17:23:40 -0500 (Tue, 16 Dec 2008) New Revision: 15699 Modified: core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEnti= tyPersister.java Log: HHH-3584 - Modified getPropertiesToUpdate to check if version property has = been marked as updateable=3D=3Dfalse before adding. Modified: core/branches/Branch_3_2/src/org/hibernate/persister/entity/Abstr= actEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEnt= ityPersister.java 2008-12-16 11:49:22 UTC (rev 15698) +++ core/branches/Branch_3_2/src/org/hibernate/persister/entity/AbstractEnt= ityPersister.java 2008-12-16 22:23:40 UTC (rev 15699) @@ -3083,7 +3083,7 @@ propsToUpdate[property] =3D true; } } - if ( isVersioned() ) { + if ( isVersioned() && updateability[getVersionProperty() ]) { propsToUpdate[ getVersionProperty() ] =3D Versioning.isVersionIncrementRequired( dirtyProperties, hasDirtyCollec= tion, getPropertyVersionability() ); } --===============4304300894106753545==-- From hibernate-commits at lists.jboss.org Tue Dec 16 17:24:27 2008 Content-Type: multipart/mixed; boundary="===============4218157539505948501==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15700 - core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/entity. Date: Tue, 16 Dec 2008 17:24:27 -0500 Message-ID: --===============4218157539505948501== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dstephan Date: 2008-12-16 17:24:27 -0500 (Tue, 16 Dec 2008) New Revision: 15700 Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/enti= ty/AbstractEntityPersister.java Log: HHH-3584 - Modified getPropertiesToUpdate to check if version property has = been marked as updateable=3D=3Dfalse before adding. Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/persist= er/entity/AbstractEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/ent= ity/AbstractEntityPersister.java 2008-12-16 22:23:40 UTC (rev 15699) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/persister/ent= ity/AbstractEntityPersister.java 2008-12-16 22:24:27 UTC (rev 15700) @@ -3106,7 +3106,7 @@ propsToUpdate[property] =3D true; } } - if ( isVersioned() ) { + if ( isVersioned() && updateability[getVersionProperty() ]) { propsToUpdate[ getVersionProperty() ] =3D Versioning.isVersionIncrementRequired( dirtyProperties, hasDirtyCollec= tion, getPropertyVersionability() ); } --===============4218157539505948501==-- From hibernate-commits at lists.jboss.org Tue Dec 16 17:24:54 2008 Content-Type: multipart/mixed; boundary="===============2374513297588491697==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15701 - core/trunk/core/src/main/java/org/hibernate/persister/entity. Date: Tue, 16 Dec 2008 17:24:53 -0500 Message-ID: --===============2374513297588491697== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dstephan Date: 2008-12-16 17:24:53 -0500 (Tue, 16 Dec 2008) New Revision: 15701 Modified: core/trunk/core/src/main/java/org/hibernate/persister/entity/AbstractEnt= ityPersister.java Log: HHH-3584 - Modified getPropertiesToUpdate to check if version property has = been marked as updateable=3D=3Dfalse before adding. Modified: core/trunk/core/src/main/java/org/hibernate/persister/entity/Abst= ractEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/persister/entity/AbstractEn= tityPersister.java 2008-12-16 22:24:27 UTC (rev 15700) +++ core/trunk/core/src/main/java/org/hibernate/persister/entity/AbstractEn= tityPersister.java 2008-12-16 22:24:53 UTC (rev 15701) @@ -3154,7 +3154,7 @@ propsToUpdate[property] =3D true; } } - if ( isVersioned() ) { + if ( isVersioned() && updateability[getVersionProperty() ]) { propsToUpdate[ getVersionProperty() ] =3D Versioning.isVersionIncrementRequired( dirtyProperties, hasDirtyCollec= tion, getPropertyVersionability() ); } --===============2374513297588491697==-- From hibernate-commits at lists.jboss.org Tue Dec 16 17:26:08 2008 Content-Type: multipart/mixed; boundary="===============3313687680397984079==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15702 - core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity. Date: Tue, 16 Dec 2008 17:26:08 -0500 Message-ID: --===============3313687680397984079== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: dstephan Date: 2008-12-16 17:26:08 -0500 (Tue, 16 Dec 2008) New Revision: 15702 Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/Abs= tractEntityPersister.java Log: JBPAPP-1259 -Backport HHH-3584 - Modified getPropertiesToUpdate to check if= version property has been marked as updateable=3D=3Dfalse before adding. Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/ent= ity/AbstractEntityPersister.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/Ab= stractEntityPersister.java 2008-12-16 22:24:53 UTC (rev 15701) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/persister/entity/Ab= stractEntityPersister.java 2008-12-16 22:26:08 UTC (rev 15702) @@ -3088,7 +3088,7 @@ propsToUpdate[property] =3D true; } } - if ( isVersioned() ) { + if ( isVersioned() && updateability[getVersionProperty() ]) { propsToUpdate[ getVersionProperty() ] =3D Versioning.isVersionIncrementRequired( dirtyProperties, hasDirtyCollec= tion, getPropertyVersionability() ); } --===============3313687680397984079==-- From hibernate-commits at lists.jboss.org Tue Dec 16 18:38:48 2008 Content-Type: multipart/mixed; boundary="===============6296747694094086551==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Tue, 16 Dec 2008 18:38:42 -0500 Message-ID: <200812162338.mBGNcgob022054@chief.prod.atl2.jboss.com> --===============6296747694094086551== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6296747694094086551== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly90YWtlZ29vZHMuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2ltYWdlcy50YWtlZ29vZHMuY29tL2N2MS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3Vi bGUgdmlld2luZyB0aGlzIGVtYWlsPyBDbGljayAKaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4i PjwvYT48L0JPRFk+PC9IVE1MPgo= --===============6296747694094086551==-- From hibernate-commits at lists.jboss.org Tue Dec 16 19:23:02 2008 Content-Type: multipart/mixed; boundary="===============1176868391278352150==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Tue, 16 Dec 2008 19:22:59 -0500 Message-ID: <200812170023.mBH0Mx5M022945@chief.prod.atl2.jboss.com> --===============1176868391278352150== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1176868391278352150== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vd2lzZG9tYm9ybi5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v d2lzZG9tYm9ybi5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+ PC9CT0RZPjwvSFRNTD4K --===============1176868391278352150==-- From hibernate-commits at lists.jboss.org Tue Dec 16 21:19:33 2008 Content-Type: multipart/mixed; boundary="===============7016684610080865066==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Tue, 16 Dec 2008 21:19:31 -0500 Message-ID: <200812170219.mBH2JVRc024643@chief.prod.atl2.jboss.com> --===============7016684610080865066== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7016684610080865066== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93aWxsYWNhaS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLndpbGxhY2FpLmNvbS9jdjEuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91Ymxl IHZpZXdpbmcgdGhpcyBlbWFpbD8gQ2xpY2sgCmhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48 L2E+PC9CT0RZPjwvSFRNTD4K --===============7016684610080865066==-- From hibernate-commits at lists.jboss.org Wed Dec 17 01:55:50 2008 Content-Type: multipart/mixed; boundary="===============9145640199850618218==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Wed, 17 Dec 2008 01:55:48 -0500 Message-ID: <200812170655.mBH6tmaS029236@chief.prod.atl2.jboss.com> --===============9145640199850618218== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============9145640199850618218== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vd2lsbGFjYWkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy53aWxsYWNhaS5jb20vY3YxLmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2 aWV3aW5nIHRoaXMgZW1haWw/IENsaWNrIApoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============9145640199850618218==-- From hibernate-commits at lists.jboss.org Wed Dec 17 02:14:05 2008 Content-Type: multipart/mixed; boundary="===============3975105472194878950==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Wed, 17 Dec 2008 02:14:03 -0500 Message-ID: <200812170714.mBH7E32P029531@chief.prod.atl2.jboss.com> --===============3975105472194878950== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3975105472194878950== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3Jlc3BvbnNpYmlsaXR5ZWFzdC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vcmVzcG9uc2liaWxpdHllYXN0LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2 aW5nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEg d2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============3975105472194878950==-- From hibernate-commits at lists.jboss.org Wed Dec 17 02:51:49 2008 Content-Type: multipart/mixed; boundary="===============5121890906299856959==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Wed, 17 Dec 2008 02:51:46 -0500 Message-ID: <200812170751.mBH7pkqN030251@chief.prod.atl2.jboss.com> --===============5121890906299856959== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5121890906299856959== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93aXNkb21ib3JuLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly93aXNkb21ib3JuLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============5121890906299856959==-- From hibernate-commits at lists.jboss.org Wed Dec 17 03:29:44 2008 Content-Type: multipart/mixed; boundary="===============3761284559317574610==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Wed, 17 Dec 2008 03:29:42 -0500 Message-ID: <200812170829.mBH8TgQp031198@chief.prod.atl2.jboss.com> --===============3761284559317574610== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3761284559317574610== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9oYWxmbGF0ZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aGFsZmxhdGUuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwv Qk9EWT48L0hUTUw+Cg== --===============3761284559317574610==-- From hibernate-commits at lists.jboss.org Wed Dec 17 05:42:52 2008 Content-Type: multipart/mixed; boundary="===============5408885848156408110==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Order status Date: Wed, 17 Dec 2008 05:42:50 -0500 Message-ID: <200812171042.mBHAgoEh003754@chief.prod.atl2.jboss.com> --===============5408885848156408110== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5408885848156408110== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcmVzcG9uc2liaWxpdHllYXN0LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9 Imh0dHA6Ly9yZXNwb25zaWJpbGl0eWVhc3QuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJI YXZpbmcgdHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMg YSB3ZWJwYWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============5408885848156408110==-- From hibernate-commits at lists.jboss.org Wed Dec 17 09:41:24 2008 Content-Type: multipart/mixed; boundary="===============5137374806061171713==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15703 - in search/trunk: src and 4 other directories. Date: Wed, 17 Dec 2008 09:41:24 -0500 Message-ID: --===============5137374806061171713== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-17 09:41:24 -0500 (Wed, 17 Dec 2008) New Revision: 15703 Added: search/trunk/src/assembly/ search/trunk/src/assembly/dist.xml search/trunk/src/test-resources/org/hibernate/search/test/classloading/ search/trunk/src/test-resources/org/hibernate/search/test/classloading/A= nimal.hbm.xml Removed: search/trunk/src/test/org/hibernate/search/test/classloading/Animal.hbm.= xml Modified: search/trunk/pom.xml Log: HSEARCH-82 Made the pom executable. Now you can build, test and even build a (yet to b= e finished) distribution package. The POM needs a little more work. Once we are ready to switch completely to= maven we have to move the sources to the default locations and delete obso= lete ant/ivy files. Modified: search/trunk/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/pom.xml 2008-12-16 22:26:08 UTC (rev 15702) +++ search/trunk/pom.xml 2008-12-17 14:41:24 UTC (rev 15703) @@ -1,6 +1,6 @@ + xmlns:xsi=3D"http://www.w3.org/2001/XMLSchema-instance" + xsi:schemaLocation=3D"http://maven.apache.org/POM/4.0.0 http://ma= ven.apache.org/maven-v4_0_0.xsd"> 4.0.0 org.hibernate hibernate-search @@ -8,20 +8,27 @@ Hibernate Search Hibernate Search http://search.hibernate.org + - JIRA - http://opensource.atlassian.com/projects/hibernate/browse/HSEARC= H + JIRA + http://opensource.atlassian.com/projects/hibernate/browse/HSE= ARCH - scm:svn:http://anonsvn.jboss.org/repos/hibernate/search/<= /connection> - scm:svn:https://svn.jboss.org/repos/hibernate/se= arch/ - http://fisheye.jboss.com/browse/Hibernate/search + scm:svn:http://anonsvn.jboss.org/repos/hibernate/searc= h/ + scm:svn:https://svn.jboss.org/repos/hibernate= /search/ + http://fisheye.jboss.com/browse/Hibernate/search + - Hibernate - http://www.hibernate.org + Hibernate + http://www.hibernate.org + + + + + org.hibernate hibernate-core @@ -48,71 +55,339 @@ 1.4.2 - javax.transaction - jta - 1.1 - - - org.hibernate - hibernate-annotations - 3.4.0.GA - true + javax.transaction + jta + 1.1 + + + + - org.hibernate - hibernate-entitymanager - 3.4.0.GA - true + org.apache.activemq + activemq-core + 5.2.0 + test + + + commons-logging + commons-logging + + - org.apache.solr - solr-common - 1.3.0 - true + junit + junit + 3.8.1 + test - org.apache.solr - solr-core - 1.3.0 - true + org.slf4j + slf4j-log4j12 + 1.4.2 + test - - org.apache.lucene - lucene-snowball - 2.4.0 - true - - - org.apache.lucene - lucene-analyzers - 2.4.0 - true - - - org.apache.commons - commons-codec - 1.3 - true - - - org.apache.commons - commons-io - 1.3.2 - true - - - javax.jms - jms - 1.1 - runtime - true - - - javax.annotation - jsr250-api - 1.0 - runtime - true - + + + ./src/java + ./src/test + + + org.apache.maven.plugins + maven-compiler-plugin + + 1.5 + 1.5 + + + + org.apache.maven.plugins + maven-surefire-plugin + + pertest + true + + + build.dir + ${basedir}/target + + + + **/*.java + + + + + + ${filter.file} + + + + true + src/test-resources + + **/*.properties + **/*.xml + + + + + + + + + + + + hsqldb + + true + + + + hsqldb + hsqldb + 1.8.0.2 + + + + src/filters/hsqldb.filter + + + + postgresql + + + postgresql + postgresql + 8.3-603.jdbc3 + + + + src/filters/postgresql.filter + + + + mysql + + + mysql + mysql-connector-java + 5.1.6 + + + + src/filters/mysql.filter + + + + + + + + + with-optional-jars + + true + + + + + + + org.hibernate + hibernate-annotations + 3.4.0.GA + true + + + org.hibernate + hibernate-entitymanager + 3.4.0.GA + true + + + org.apache.solr + solr-common + 1.3.0 + true + + + org.apache.solr + solr-core + 1.3.0 + true + + + org.apache.lucene + lucene-snowball + 2.4.0 + true + + + org.apache.lucene + lucene-analyzers + 2.4.0 + true + + + org.apache.commons + commons-codec + 1.3 + true + + + org.apache.commons + commons-io + 1.3.2 + true + + + javax.jms + jms + 1.1 + provided + true + + + javax.annotation + jsr250-api + 1.0 + true + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + pertest + true + + **/classloading/*.java + + + + + + + + without-optional-jars + + + javassist + javassist + 3.4.GA + true + + + + + + org.apache.maven.plugins + maven-surefire-plugin + + pertest + true + + none + + + **/classloading/*Test.java + + + + + + + + dist-build + + + + maven-assembly-plugin + + + src/assembly/dist.xml + + + + + org.apache.maven.plugins + maven-javadoc-plugin + + ${basedir}/doc/api/jdstyle.css= + + + + make-javadoc + package + + javadoc + + + + + + org.jboss.maven.plugins + maven-jdocbook-plugin + 2.1.0 + true + + + org.hibernate + hibernate-jdocbook-style + 1.0.2 + jdocbook-style + + + + master.xml + ${basedir}/doc/reference/en + en-US + + ${basedir}/doc/reference/en/ima= ges + + + + pdf + classpath:/xslt/hi= bernate/pdf/main-pdf.xsl + hibernate-validator-legacy-= guide.pdf + + + html_single + classpath:/xslt/hi= bernate/html/main-single.xsl + + index.html + + + html + classpath:/xslt/hi= bernate/html/main-chunk.xsl + + index.html + + + + true + - + true + + + + + make-doc + package + + resources + generate + + + + + + + + Added: search/trunk/src/assembly/dist.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/assembly/dist.xml (rev 0) +++ search/trunk/src/assembly/dist.xml 2008-12-17 14:41:24 UTC (rev 15703) @@ -0,0 +1,68 @@ + + + + + dist + + tar.gz + tar.bz2 + zip + + + + + false + /dist/lib/runtime + runtime + + + false + /dist/lib/test + test + + + + + + target + /dist + + *.jar + + + + target/site/apidocs + /dist/docs/api + + + target/docbook/publish/en-US + /dist/docs/manual + + + . + + true + + **/target/** + + + + + Deleted: search/trunk/src/test/org/hibernate/search/test/classloading/Anima= l.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test/org/hibernate/search/test/classloading/Animal.hbm= .xml 2008-12-16 22:26:08 UTC (rev 15702) +++ search/trunk/src/test/org/hibernate/search/test/classloading/Animal.hbm= .xml 2008-12-17 14:41:24 UTC (rev 15703) @@ -1,13 +0,0 @@ - - - - - - - - - - - \ No newline at end of file Copied: search/trunk/src/test-resources/org/hibernate/search/test/classload= ing/Animal.hbm.xml (from rev 15681, search/trunk/src/test/org/hibernate/sea= rch/test/classloading/Animal.hbm.xml) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/test-resources/org/hibernate/search/test/classloading/= Animal.hbm.xml (rev 0) +++ search/trunk/src/test-resources/org/hibernate/search/test/classloading/= Animal.hbm.xml 2008-12-17 14:41:24 UTC (rev 15703) @@ -0,0 +1,13 @@ + + + + + + + + + + + \ No newline at end of file Property changes on: search/trunk/src/test-resources/org/hibernate/search/t= est/classloading/Animal.hbm.xml ___________________________________________________________________ Name: svn:mergeinfo + = --===============5137374806061171713==-- From hibernate-commits at lists.jboss.org Wed Dec 17 10:16:42 2008 Content-Type: multipart/mixed; boundary="===============4090089935698634854==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: We have found your lost message Date: Wed, 17 Dec 2008 10:16:40 -0500 Message-ID: <200812171516.mBHFGeX1013678@chief.prod.atl2.jboss.com> --===============4090089935698634854== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4090089935698634854== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2xvdGNhc2UuY29tLyI+CjxpbWcgc3JjPSJodHRwOi8vbG90 Y2FzZS5jb20vZHN5Z25lLmdpZiIgYm9yZGVyPSIwIiBhbHQ9IkdvIHRvIHNpdGUhIj48L2E+Cjwv dGQ+PC90cj48L3RhYmxlPjwvQk9EWT48L0hUTUw+Cg== --===============4090089935698634854==-- From hibernate-commits at lists.jboss.org Wed Dec 17 10:45:49 2008 Content-Type: multipart/mixed; boundary="===============0198740232863355401==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification (Failure) Date: Wed, 17 Dec 2008 10:45:46 -0500 Message-ID: <200812171545.mBHFjk79014385@chief.prod.atl2.jboss.com> --===============0198740232863355401== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0198740232863355401== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vd2lzZG9tYm9ybi5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v d2lzZG9tYm9ybi5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+ PC9CT0RZPjwvSFRNTD4K --===============0198740232863355401==-- From hibernate-commits at lists.jboss.org Wed Dec 17 13:02:53 2008 Content-Type: multipart/mixed; boundary="===============3282977600820078662==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Wed, 17 Dec 2008 13:02:51 -0500 Message-ID: <200812171802.mBHI2pZw018817@chief.prod.atl2.jboss.com> --===============3282977600820078662== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3282977600820078662== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9kZXBlbmRzaGUuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2RlcGVuZHNoZS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8gCkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+ PC9CT0RZPjwvSFRNTD4K --===============3282977600820078662==-- From hibernate-commits at lists.jboss.org Wed Dec 17 15:02:24 2008 Content-Type: multipart/mixed; boundary="===============6447005499649184413==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your order Date: Wed, 17 Dec 2008 15:02:22 -0500 Message-ID: <200812172002.mBHK2MrJ021529@chief.prod.atl2.jboss.com> --===============6447005499649184413== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6447005499649184413== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZGVwZW5kc2hlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9k ZXBlbmRzaGUuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/IApDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwv Qk9EWT48L0hUTUw+Cg== --===============6447005499649184413==-- From hibernate-commits at lists.jboss.org Wed Dec 17 17:53:46 2008 Content-Type: multipart/mixed; boundary="===============7121568568218285681==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: We have found your lost message Date: Wed, 17 Dec 2008 17:53:43 -0500 Message-ID: <200812172253.mBHMrhFj025225@chief.prod.atl2.jboss.com> --===============7121568568218285681== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7121568568218285681== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3RoYW5hbmQuY29tLyI+CjxpbWcgc3JjPSJodHRwOi8vdGhh bmFuZC5jb20vdXllNS5qcGciIGJvcmRlcj0iMCIgYWx0PSJHbyB0byBzaXRlISI+PC9hPgo8L3Rk PjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1MPgo= --===============7121568568218285681==-- From hibernate-commits at lists.jboss.org Wed Dec 17 18:04:37 2008 Content-Type: multipart/mixed; boundary="===============5440667916783416272==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Delivery Status Notification Date: Wed, 17 Dec 2008 18:04:35 -0500 Message-ID: <200812172304.mBHN4Zgl025442@chief.prod.atl2.jboss.com> --===============5440667916783416272== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5440667916783416272== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zdHJpbmd5ZWFyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9zdHJpbmd5ZWFyLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPyAKQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============5440667916783416272==-- From hibernate-commits at lists.jboss.org Wed Dec 17 22:01:13 2008 Content-Type: multipart/mixed; boundary="===============8511598540855785904==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your inquiry Date: Wed, 17 Dec 2008 22:01:09 -0500 Message-ID: <200812180301.mBI3196f029226@chief.prod.atl2.jboss.com> --===============8511598540855785904== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8511598540855785904== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3NhbWV3aWRlLmNvbS8iPgo8aW1nIHNyYz0iaHR0cDovL3Nh bWV3aWRlLmNvbS9kc3lnbmUuZ2lmIiBib3JkZXI9IjAiIGFsdD0iR28gdG8gc2l0ZSEiPjwvYT4K PC90ZD48L3RyPjwvdGFibGU+PC9CT0RZPjwvSFRNTD4K --===============8511598540855785904==-- From hibernate-commits at lists.jboss.org Thu Dec 18 02:48:40 2008 Content-Type: multipart/mixed; boundary="===============6659213993931979807==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your inquiry Date: Thu, 18 Dec 2008 02:48:28 -0500 Message-ID: <200812180748.mBI7mSUb001436@chief.prod.atl2.jboss.com> --===============6659213993931979807== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6659213993931979807== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3JhY2VzaXQuY29tLyI+CjxpbWcgc3JjPSJodHRwOi8vcmFj ZXNpdC5jb20vdXllNS5qcGciIGJvcmRlcj0iMCIgYWx0PSJHbyB0byBzaXRlISI+PC9hPgo8L3Rk PjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1MPgo= --===============6659213993931979807==-- From hibernate-commits at lists.jboss.org Thu Dec 18 08:24:48 2008 Content-Type: multipart/mixed; boundary="===============3020950424916615832==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15704 - in search/trunk/src/java/org/hibernate/search/backend: impl/lucene and 1 other directories. Date: Thu, 18 Dec 2008 08:24:48 -0500 Message-ID: --===============3020950424916615832== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: sannegrinovero Date: 2008-12-18 08:24:48 -0500 (Thu, 18 Dec 2008) New Revision: 15704 Modified: search/trunk/src/java/org/hibernate/search/backend/Workspace.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/PerDPQueu= eProcessor.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Add= WorkDelegate.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Del= eteExtWorkDelegate.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Del= eteWorkDelegate.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Luc= eneWorkDelegate.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Opt= imizeWorkDelegate.java search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Pur= geAllWorkDelegate.java Log: HSEARCH-326 Drop support for IndexReader usage to update indexes. This also= removes more unneeded Locks. Modified: search/trunk/src/java/org/hibernate/search/backend/Workspace.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-= 12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/Workspace.java 2008-= 12-18 13:24:48 UTC (rev 15704) @@ -8,9 +8,7 @@ = import org.apache.lucene.analysis.Analyzer; import org.apache.lucene.analysis.SimpleAnalyzer; -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; -import org.apache.lucene.store.Directory; import org.slf4j.Logger; = import org.hibernate.annotations.common.AssertionFailure; @@ -24,13 +22,8 @@ = /** * Lucene workspace for a DirectoryProvider.

    - *

      - *
    • Before using {@link #getIndexWriter} or {@link #getIndexReader} the= lock must be acquired, - * and resources must be closed before releasing the lock.
    • - *
    • One cannot get an IndexWriter when an IndexReader has been acquired= and not closed, and vice-versa.
    • - *
    • The recommended approach is to execute all the modifications on the= IndexReader, and after that on - * the IndexWriter
    • . - *
    + * Before using {@link #getIndexWriter} the lock must be acquired, + * and resources must be closed before releasing the lock. * * @author Emmanuel Bernard * @author Hardy Ferentschik @@ -41,11 +34,13 @@ = private static final Logger log =3D LoggerFactory.make(); private static final Analyzer SIMPLE_ANALYZER =3D new SimpleAnalyzer(); + private static final IndexWriter.MaxFieldLength maxFieldLength =3D + new IndexWriter.MaxFieldLength( IndexWriter.DEFAULT_MAX_FIELD_LENGTH ); = // invariant state: = private final SearchFactoryImplementor searchFactoryImplementor; - private final DirectoryProvider directoryProvider; + private final DirectoryProvider directoryProvider; private final OptimizerStrategy optimizerStrategy; private final ReentrantLock lock; private final Set> entitiesInDirectory; @@ -54,11 +49,6 @@ // variable state: = /** - * Current open IndexReader, or null when closed. Guarded by synchronizat= ion. - */ - private IndexReader reader; - = - /** * Current open IndexWriter, or null when closed. Guarded by synchronizat= ion. */ private IndexWriter writer; @@ -88,13 +78,16 @@ /** * If optimization has not been forced give a change to configured Optimi= zerStrategy * to optimize the index. - * @throws AssertionFailure if the lock is not owned or if an IndexReader= is open. + * To enter the optimization phase you need to acquire the lock first. + * @throws AssertionFailure if the lock is not owned. */ public void optimizerPhase() { assertOwnLock(); // used getAndSet(0) because Workspace is going to be reused by next tra= nsaction. - optimizerStrategy.addTransaction( operations.getAndSet( 0L ) ); - optimizerStrategy.optimize( this ); + synchronized (optimizerStrategy) { + optimizerStrategy.addTransaction( operations.getAndSet( 0L ) ); + optimizerStrategy.optimize( this ); + } } = /** @@ -105,79 +98,25 @@ * @see SearchFactory#optimize(Class) */ public void optimize() { - assertOwnLock(); // the DP is not affected, but needs to ensure the opti= mizerStrategy is accesses in threadsafe way - optimizerStrategy.optimizationForced(); - } - - /** - * Gets an IndexReader to alter the index, opening one if needed. - * The caller needs to own the lock relevant to this DirectoryProvider. - * @throws AssertionFailure if an IndexWriter is open or if the lock is n= ot owned. - * @return a new IndexReader or one already open. - * @see #lock() - */ - public synchronized IndexReader getIndexReader() { - assertOwnLock(); - // one cannot access a reader for update while a writer is in use - if ( writer !=3D null ) - throw new AssertionFailure( "Tries to read for update an index while a = writer is in use." ); - if ( reader !=3D null ) - return reader; - Directory directory =3D directoryProvider.getDirectory(); - try { - reader =3D IndexReader.open( directory, false ); - log.trace( "IndexReader opened" ); + // Needs to ensure the optimizerStrategy is accessed in threadsafe way + synchronized (optimizerStrategy) { + optimizerStrategy.optimizationForced(); } - catch ( IOException e ) { - reader =3D null; - throw new SearchException( "Unable to open IndexReader on directory " += directory, e ); - } - return reader; } = /** - * Closes a previously opened IndexReader. - * @throws SearchException on IOException during Lucene close operation. - * @throws AssertionFailure if the lock is not owned or if there is no In= dexReader to close. - * @see #getIndexReader() - */ - public synchronized void closeIndexReader() { - assertOwnLock(); - IndexReader toClose =3D reader; - reader =3D null; - if ( toClose !=3D null ) { - try { - toClose.close(); - log.trace( "IndexReader closed" ); - } - catch ( IOException e ) { - throw new SearchException( "Exception while closing IndexReader", e ); - } - } - else { - throw new AssertionFailure( "No IndexReader open to close." ); - } - } - = - /** * Gets the IndexWriter, opening one if needed. * @param batchmode when true the indexWriter settings for batch mode wil= l be applied. * Ignored if IndexWriter is open already. - * @throws AssertionFailure if an IndexReader is open or the lock is not = owned. + * @throws AssertionFailure if the lock is not owned. * @throws SearchException on a IOException during index opening. * @return a new IndexWriter or one already open. */ public synchronized IndexWriter getIndexWriter(boolean batchmode) { - assertOwnLock(); - // one has to close a reader for update before a writer is accessed - if ( reader !=3D null ) - throw new AssertionFailure( "Tries to open an IndexWriter while an Inde= xReader is open in update mode." ); if ( writer !=3D null ) return writer; try { - // don't care about the Analyzer as it will be selected during usage of= IndexWriter. - IndexWriter.MaxFieldLength fieldLength =3D new IndexWriter.MaxFieldLeng= th( IndexWriter.DEFAULT_MAX_FIELD_LENGTH ); - writer =3D new IndexWriter( directoryProvider.getDirectory(), SIMPLE_AN= ALYZER, false, fieldLength ); // has been created at init time + writer =3D new IndexWriter( directoryProvider.getDirectory(), SIMPLE_AN= ALYZER, false, maxFieldLength ); // has been created at init time indexingParams.applyToWriter( writer, batchmode ); log.trace( "IndexWriter opened" ); } @@ -189,13 +128,12 @@ } = /** - * Commits changes to a previously opened index writer. + * Commits changes to a previously opened IndexWriter. * * @throws SearchException on IOException during Lucene close operation. - * @throws AssertionFailure if there is no IndexWriter to close, or if th= e lock is not owned. + * @throws AssertionFailure if there is no IndexWriter to close. */ public synchronized void commitIndexWriter() { - assertOwnLock(); if ( writer !=3D null ) { try { writer.commit(); @@ -213,10 +151,9 @@ /** * Closes a previously opened IndexWriter. * @throws SearchException on IOException during Lucene close operation. - * @throws AssertionFailure if there is no IndexWriter to close, or if th= e lock is not owned. + * @throws AssertionFailure if there is no IndexWriter to close. */ public synchronized void closeIndexWriter() { - assertOwnLock(); IndexWriter toClose =3D writer; writer =3D null; if ( toClose !=3D null ) { @@ -252,34 +189,19 @@ = /** * Acquires a lock on the DirectoryProvider backing this Workspace; - * this is required to use getIndexWriter(boolean), closeIndexWriter(), - * getIndexReader(), closeIndexReader(). - * @see #getIndexWriter(boolean) - * @see #closeIndexWriter() - * @see #getIndexReader() - * @see #closeIndexReader() + * this is required to use optimizerPhase() + * @see #optimizerPhase() */ public void lock() { lock.lock(); } = /** - * Releases the lock obtained by calling lock() - * @throws AssertionFailure when unlocking without having closed IndexWri= ter or IndexReader. + * Releases the lock obtained by calling lock(). The caller must own the = lock. * @see #lock() */ - public synchronized void unlock() { - try { - if ( this.reader !=3D null ) { - throw new AssertionFailure( "Unlocking Workspace without having closed= the IndexReader" ); - } - if ( this.writer !=3D null ) { - throw new AssertionFailure( "Unlocking Workspace without having closed= the IndexWriter" ); - } - } - finally { - lock.unlock(); - } + public void unlock() { + lock.unlock(); } = private void assertOwnLock() { Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/Pe= rDPQueueProcessor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/PerDPQue= ueProcessor.java 2008-12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/PerDPQue= ueProcessor.java 2008-12-18 13:24:48 UTC (rev 15704) @@ -4,17 +4,20 @@ import java.util.List; import java.util.concurrent.ExecutorService; = -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.slf4j.Logger; = -import org.hibernate.annotations.common.AssertionFailure; import org.hibernate.search.backend.LuceneWork; import org.hibernate.search.backend.Workspace; import org.hibernate.search.backend.impl.lucene.works.LuceneWorkVisitor; import org.hibernate.search.util.LoggerFactory; = /** + * A Runnable containing a unit of changes to be applied to a specific ind= ex. + * After creation, use addWork(LuceneWork) to fill the changes queue and t= hen + * run it to apply all changes. After run() this object should be discarde= d. + * @see Runnable + * @see #addWork(LuceneWork) * @author Sanne Grinovero */ class PerDPQueueProcessor implements Runnable { @@ -24,79 +27,36 @@ private final LuceneWorkVisitor worker; private final ExecutorService executor; private final List workOnWriter =3D new ArrayList= (); - private final List workOnReader=3D new ArrayList(= ); = - // if any work passed to addWork needs one, set corresponding flag to tru= e: + // if any work needs batchmode, set corresponding flag to true: private boolean batchmode =3D false; - private boolean needsWriter =3D false; - private boolean preferReader =3D false; = + /** + * @param resources All resources for the given DirectoryProvider are col= lected + * from this wrapping object. + */ public PerDPQueueProcessor(PerDPResources resources) { this.worker =3D resources.getVisitor(); this.workspace =3D resources.getWorkspace(); this.executor =3D resources.getExecutor(); } = + /** + * adds a LuceneWork to the internal queue. Can't remove them. + * @param work + */ public void addWork(LuceneWork work) { if ( work.isBatch() ) { batchmode =3D true; log.debug( "Batch mode enabled" ); } - IndexInteractionType type =3D work.getWorkDelegate( worker ).getIndexInt= eractionType(); - switch ( type ) { - case PREFER_INDEXREADER : - preferReader =3D true; - workOnReader.add( work ); - break; - case NEEDS_INDEXWRITER : - needsWriter =3D true; - //fall through: - case PREFER_INDEXWRITER : - workOnWriter.add( work ); - break; - default : - throw new AssertionFailure( "Uncovered switch case for type " + type ); - } + workOnWriter.add( work ); } = - public void run() { - // skip "resource optimization mode" when in batch to have all tasks use= preferred (optimal) mode. - if ( ! batchmode ) { - // see if we can skip using some resource - if ( ! needsWriter ) { // no specific need: - if ( preferReader ) { - useReaderOnly(); - } - else { - useWriterOnly(); - } - } - else { - useWriterOnly(); - } - if ( ! (workOnWriter.isEmpty() || workOnReader.isEmpty() ) ) { - throw new AssertionFailure( - "During non-batch mode performWorks tries to use both IndexWriter and= IndexReader." ); - } - } - // apply changes to index: - log.trace( "Locking Workspace (or waiting to...)" ); - workspace.lock(); - log.trace( "Workspace lock aquired." ); - try { - performReaderWorks(); - performWriterWorks(); - } - finally { - workspace.unlock(); - log.trace( "Unlocking Workspace" ); - } - } - /** * Do all workOnWriter on an IndexWriter. */ - private void performWriterWorks() { + public void run() { if ( workOnWriter.isEmpty() ) { return; } @@ -107,56 +67,37 @@ lw.getWorkDelegate( worker ).performWork( lw, indexWriter ); } workspace.commitIndexWriter(); - //TODO next line is assuming the OptimizerStrategy will need an IndexWr= iter; - // would be nicer to have the strategy put an OptimizeWork on the queue, - // or just return "yes please" (true) to some method? - //FIXME will not have a chance to trigger when no writer activity is do= ne. - // this is currently ok, until we enable mod.counts for deletions too. - workspace.optimizerPhase(); + //TODO skip this when indexing in batches: + performOptimizations(); } finally { workspace.closeIndexWriter(); } } - - /** - * Do all workOnReader on an IndexReader. - */ - private void performReaderWorks() { - if ( workOnReader.isEmpty() ) { - return; - } - log.debug( "Opening an IndexReader for update" ); - IndexReader indexReader =3D workspace.getIndexReader(); + = + private void performOptimizations() { + log.trace( "Locking Workspace (or waiting to...)" ); + workspace.lock(); try { - for (LuceneWork lw : workOnReader) { - lw.getWorkDelegate( worker ).performWork( lw, indexReader ); - } + log.trace( "Workspace lock aquired." ); + //TODO next line is assuming the OptimizerStrategy will need an IndexWr= iter; + // would be nicer to have the strategy put an OptimizeWork on the queue, + // or just return "yes please" (true) to some method? + //FIXME will not have a chance to trigger when no "add" activity is don= e. + // this is correct until we enable modification counts for deletions to= o. + workspace.optimizerPhase(); } finally { - workspace.closeIndexReader(); + workspace.unlock(); + log.trace( "Unlocked Workspace" ); } } = /** - * forces all work to be done using only an IndexReader + * Each PerDPQueueProcessor is owned by an Executor, + * which contains the threads allowed to execute this. + * @return the Executor which should run this Runnable. */ - private void useReaderOnly() { - log.debug( "Skipping usage of an IndexWriter for updates" ); - workOnReader.addAll( workOnWriter ); - workOnWriter.clear(); - } - - /** - * forces all work to be done using only an IndexWriter - */ - private void useWriterOnly() { - log.debug( "Skipping usage of an IndexReader for updates" ); - //position 0 needed to maintain correct ordering of Work: delete operati= ons first. - workOnWriter.addAll( 0, workOnReader ); - workOnReader.clear(); - } - public ExecutorService getOwningExecutor() { return executor; } Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/wo= rks/AddWorkDelegate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Ad= dWorkDelegate.java 2008-12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Ad= dWorkDelegate.java 2008-12-18 13:24:48 UTC (rev 15704) @@ -4,7 +4,6 @@ import java.util.Map; = import org.apache.lucene.analysis.Analyzer; -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.search.Similarity; import org.slf4j.Logger; @@ -13,7 +12,6 @@ import org.hibernate.search.backend.AddLuceneWork; import org.hibernate.search.backend.LuceneWork; import org.hibernate.search.backend.Workspace; -import org.hibernate.search.backend.impl.lucene.IndexInteractionType; import org.hibernate.search.engine.DocumentBuilderIndexedEntity; import org.hibernate.search.util.LoggerFactory; import org.hibernate.search.util.ScopedAnalyzer; @@ -38,13 +36,10 @@ this.workspace =3D workspace; } = - public IndexInteractionType getIndexInteractionType() { - return IndexInteractionType.NEEDS_INDEXWRITER; - } - public void performWork(LuceneWork work, IndexWriter writer) { + final Class entityType =3D work.getEntityClass(); @SuppressWarnings("unchecked") - DocumentBuilderIndexedEntity documentBuilder =3D workspace.getDocumentBu= ilder( work.getEntityClass() ); + DocumentBuilderIndexedEntity documentBuilder =3D workspace.getDocumentBu= ilder( entityType ); Map fieldToAnalyzerMap =3D ( ( AddLuceneWork ) work ).ge= tFieldToAnalyzerMap(); ScopedAnalyzer analyzer =3D ( ScopedAnalyzer ) documentBuilder.getAnalyz= er(); analyzer =3D updateAnalyzerMappings( analyzer, fieldToAnalyzerMap, works= pace ); @@ -52,12 +47,12 @@ if ( log.isTraceEnabled() ) { log.trace( "add to Lucene index: {}#{}:{}", - new Object[] { work.getEntityClass(), work.getId(), work.getDocument(= ) } + new Object[] { entityType, work.getId(), work.getDocument() } ); } try { //TODO the next two operations should be atomic to enable concurrent us= age of IndexWriter - // make a wrapping Similarity based on ThreadLocals? or having it autos= elect implementation basing on entity? + // make a wrapping Similarity based on ThreadLocals? or have it autosel= ect implementation basing on entity? writer.setSimilarity( similarity ); writer.addDocument( work.getDocument(), analyzer ); workspace.incrementModificationCounter( 1 ); @@ -65,7 +60,7 @@ catch ( IOException e ) { throw new SearchException( "Unable to add to Lucene index: " - + work.getEntityClass() + "#" + work.getId(), e + + entityType + "#" + work.getId(), e ); } } @@ -100,7 +95,4 @@ return analyzerClone; } = - public void performWork(LuceneWork work, IndexReader reader) { - throw new UnsupportedOperationException(); - } } Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/wo= rks/DeleteExtWorkDelegate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/De= leteExtWorkDelegate.java 2008-12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/De= leteExtWorkDelegate.java 2008-12-18 13:24:48 UTC (rev 15704) @@ -2,14 +2,12 @@ = import java.io.Serializable; = -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.Term; import org.hibernate.annotations.common.AssertionFailure; import org.hibernate.search.SearchException; import org.hibernate.search.backend.LuceneWork; import org.hibernate.search.backend.Workspace; -import org.hibernate.search.backend.impl.lucene.IndexInteractionType; import org.hibernate.search.engine.DocumentBuilderIndexedEntity; import org.hibernate.search.util.LoggerFactory; import org.slf4j.Logger; @@ -25,8 +23,8 @@ */ public class DeleteExtWorkDelegate extends DeleteWorkDelegate { = - private final Class managedType; - private final DocumentBuilderIndexedEntity builder; + private final Class managedType; + private final DocumentBuilderIndexedEntity builder; private final Logger log =3D LoggerFactory.make(); = DeleteExtWorkDelegate(Workspace workspace) { @@ -39,13 +37,6 @@ } = @Override - public IndexInteractionType getIndexInteractionType() { - // no particular reason to prefer Reader, just it's possibly more tested - // as using the writer is an option of latest Lucene version only (2.4). - return IndexInteractionType.PREFER_INDEXREADER; - } - - @Override public void performWork(LuceneWork work, IndexWriter writer) { checkType( work ); Serializable id =3D work.getId(); @@ -60,21 +51,6 @@ } } = - @Override - public void performWork(LuceneWork work, IndexReader reader) { - checkType( work ); - Serializable id =3D work.getId(); - log.trace( "Removing {}#{} by id using an IndexReader.", managedType, id= ); - Term idTerm =3D builder.getTerm( id ); - try { - reader.deleteDocuments( idTerm ); - } - catch ( Exception e ) { - String message =3D "Unable to remove " + managedType + "#" + id + " fro= m index."; - throw new SearchException( message, e ); - } - } - = private void checkType(final LuceneWork work) { if ( work.getEntityClass() !=3D managedType ) { throw new AssertionFailure( "Unexpected type" ); Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/wo= rks/DeleteWorkDelegate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/De= leteWorkDelegate.java 2008-12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/De= leteWorkDelegate.java 2008-12-18 13:24:48 UTC (rev 15704) @@ -1,11 +1,9 @@ package org.hibernate.search.backend.impl.lucene.works; = -import java.io.IOException; +import java.io.Serializable; = -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.Term; -import org.apache.lucene.index.TermDocs; import org.apache.lucene.search.BooleanClause; import org.apache.lucene.search.BooleanQuery; import org.apache.lucene.search.TermQuery; @@ -14,7 +12,6 @@ import org.hibernate.search.SearchException; import org.hibernate.search.backend.LuceneWork; import org.hibernate.search.backend.Workspace; -import org.hibernate.search.backend.impl.lucene.IndexInteractionType; import org.hibernate.search.engine.DocumentBuilderIndexedEntity; import org.hibernate.search.engine.DocumentBuilder; import org.hibernate.search.util.LoggerFactory; @@ -38,18 +35,15 @@ this.workspace =3D workspace; } = - public IndexInteractionType getIndexInteractionType() { - return IndexInteractionType.PREFER_INDEXWRITER; - } - public void performWork(LuceneWork work, IndexWriter writer) { final Class entityType =3D work.getEntityClass(); - log.trace( "Removing {}#{} by query.", entityType, work.getId() ); + final Serializable id =3D work.getId(); + log.trace( "Removing {}#{} by query.", entityType, id ); DocumentBuilderIndexedEntity builder =3D workspace.getDocumentBuilder= ( entityType ); = BooleanQuery entityDeletionQuery =3D new BooleanQuery(); = - TermQuery idQueryTerm =3D new TermQuery( builder.getTerm( work.getId() )= ); + TermQuery idQueryTerm =3D new TermQuery( builder.getTerm( id ) ); entityDeletionQuery.add( idQueryTerm, BooleanClause.Occur.MUST ); = Term classNameQueryTerm =3D new Term( DocumentBuilder.CLASS_FIELDNAME, = entityType.getName() ); @@ -60,59 +54,9 @@ writer.deleteDocuments( entityDeletionQuery ); } catch ( Exception e ) { - String message =3D "Unable to remove " + entityType + "#" + work.getId(= ) + " from index."; + String message =3D "Unable to remove " + entityType + "#" + id + " from= index."; throw new SearchException( message, e ); } } = - /* - * This method is obsolete and was used pre Lucene 2.4. Now we are using = IndexWriter.deleteDocuments(Query) to - * delete index documents. - * - * This method might be deleted at some stage. (hardy) - */ - public void performWork(LuceneWork work, IndexReader reader) { - /** - * even with Lucene 2.1, use of indexWriter to delete is not an option - * We can only delete by term, and the index doesn't have a term that - * uniquely identify the entry. See logic below - */ - final Class entityType =3D work.getEntityClass(); - log.trace( "Removing {}#{} from Lucene index.", entityType, work.getId()= ); - DocumentBuilderIndexedEntity builder =3D workspace.getDocumentBuilder= ( entityType ); - Term term =3D builder.getTerm( work.getId() ); - TermDocs termDocs =3D null; - try { - //TODO is there a faster way? - //TODO include TermDocs into the workspace? - termDocs =3D reader.termDocs( term ); - String entityName =3D entityType.getName(); - while ( termDocs.next() ) { - int docIndex =3D termDocs.doc(); - if ( entityName.equals( reader.document( docIndex ).get( DocumentBuild= er.CLASS_FIELDNAME ) ) ) { - //remove only the one of the right class - //loop all to remove all the matches (defensive code) - reader.deleteDocument( docIndex ); - } - } - //TODO shouldn't this use workspace.incrementModificationCounter( 1 ) ? = - } - catch ( Exception e ) { - throw new SearchException( - "Unable to remove from Lucene index: " - + entityType + "#" + work.getId(), e - ); - } - finally { - if ( termDocs !=3D null ) { - try { - termDocs.close(); - } - catch ( IOException e ) { - log.warn( "Unable to close termDocs properly", e ); - } - } - } - } - } Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/wo= rks/LuceneWorkDelegate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Lu= ceneWorkDelegate.java 2008-12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Lu= ceneWorkDelegate.java 2008-12-18 13:24:48 UTC (rev 15704) @@ -1,9 +1,7 @@ package org.hibernate.search.backend.impl.lucene.works; = -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.hibernate.search.backend.LuceneWork; -import org.hibernate.search.backend.impl.lucene.IndexInteractionType; = /** * @author Sanne Grinovero @@ -11,12 +9,6 @@ public interface LuceneWorkDelegate { = /** - * @return the IndexInteractionType needed to accomplish this work (reade= r or writer) - * or have a chance to express any preference for performance optimizati= ons. - */ - IndexInteractionType getIndexInteractionType(); - - /** * Will perform work on an IndexWriter. * @param work the LuceneWork to apply to the IndexWriter. * @param writer the IndexWriter to use. @@ -24,12 +16,4 @@ */ void performWork(LuceneWork work, IndexWriter writer); = - /** - * Will perform this work on an IndexReader. - * @param work the LuceneWork to apply to the IndexReader. - * @param reader the IndexReader to use. - * @throws UnsupportedOperationException when the work is not compatible = with an IndexReader. - */ - void performWork(LuceneWork work, IndexReader reader); - = } Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/wo= rks/OptimizeWorkDelegate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Op= timizeWorkDelegate.java 2008-12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Op= timizeWorkDelegate.java 2008-12-18 13:24:48 UTC (rev 15704) @@ -2,14 +2,12 @@ = import java.io.IOException; = -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.slf4j.Logger; = import org.hibernate.search.SearchException; import org.hibernate.search.backend.LuceneWork; import org.hibernate.search.backend.Workspace; -import org.hibernate.search.backend.impl.lucene.IndexInteractionType; import org.hibernate.search.util.LoggerFactory; = /** @@ -32,23 +30,16 @@ this.workspace =3D workspace; } = - public IndexInteractionType getIndexInteractionType() { - return IndexInteractionType.NEEDS_INDEXWRITER; - } - public void performWork(LuceneWork work, IndexWriter writer) { - log.trace( "optimize Lucene index: {}", work.getEntityClass() ); + final Class entityType =3D work.getEntityClass(); + log.trace( "optimize Lucene index: {}", entityType ); try { writer.optimize(); workspace.optimize(); } catch ( IOException e ) { - throw new SearchException( "Unable to optimize Lucene index: " + work.g= etEntityClass(), e ); + throw new SearchException( "Unable to optimize Lucene index: " + entity= Type, e ); } } = - public void performWork(LuceneWork work, IndexReader reader) { - throw new UnsupportedOperationException(); - } - } Modified: search/trunk/src/java/org/hibernate/search/backend/impl/lucene/wo= rks/PurgeAllWorkDelegate.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Pu= rgeAllWorkDelegate.java 2008-12-17 14:41:24 UTC (rev 15703) +++ search/trunk/src/java/org/hibernate/search/backend/impl/lucene/works/Pu= rgeAllWorkDelegate.java 2008-12-18 13:24:48 UTC (rev 15704) @@ -1,13 +1,11 @@ package org.hibernate.search.backend.impl.lucene.works; = -import org.apache.lucene.index.IndexReader; import org.apache.lucene.index.IndexWriter; import org.apache.lucene.index.Term; import org.slf4j.Logger; = import org.hibernate.search.SearchException; import org.hibernate.search.backend.LuceneWork; -import org.hibernate.search.backend.impl.lucene.IndexInteractionType; import org.hibernate.search.engine.DocumentBuilder; import org.hibernate.search.util.LoggerFactory; = @@ -27,30 +25,16 @@ PurgeAllWorkDelegate() { } = - public IndexInteractionType getIndexInteractionType() { - return IndexInteractionType.PREFER_INDEXREADER; - } - public void performWork(LuceneWork work, IndexWriter writer) { - log.trace( "purgeAll Lucene index using IndexWriter for type: {}", work.= getEntityClass() ); + final Class entityType =3D work.getEntityClass(); + log.trace( "purgeAll Lucene index using IndexWriter for type: {}", entit= yType ); try { - Term term =3D new Term( DocumentBuilder.CLASS_FIELDNAME, work.getEntity= Class().getName() ); + Term term =3D new Term( DocumentBuilder.CLASS_FIELDNAME, entityType.get= Name() ); writer.deleteDocuments( term ); } catch (Exception e) { - throw new SearchException( "Unable to purge all from Lucene index: " + = work.getEntityClass(), e ); + throw new SearchException( "Unable to purge all from Lucene index: " + = entityType, e ); } } = - public void performWork(LuceneWork work, IndexReader reader) { - log.trace( "purgeAll Lucene index using IndexReader for type: {}", work.= getEntityClass() ); - try { - Term term =3D new Term( DocumentBuilder.CLASS_FIELDNAME, work.getEntity= Class().getName() ); - reader.deleteDocuments( term ); - } - catch (Exception e) { - throw new SearchException( "Unable to purge all from Lucene index: " + = work.getEntityClass(), e ); - } - } - = } --===============3020950424916615832==-- From hibernate-commits at lists.jboss.org Thu Dec 18 08:27:50 2008 Content-Type: multipart/mixed; boundary="===============3422271628667102678==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Your inquiry Date: Thu, 18 Dec 2008 08:27:48 -0500 Message-ID: <200812181327.mBIDRmF9010033@chief.prod.atl2.jboss.com> --===============3422271628667102678== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3422271628667102678== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vY3V0cmVhbGl6YXRpb24uY29tLyI+CjxpbWcgc3JjPSJo dHRwOi8vY3V0cmVhbGl6YXRpb24uY29tL2RzeWduZS5naWYiIGJvcmRlcj0iMCIgYWx0PSJHbyB0 byBzaXRlISI+PC9hPgo8L3RkPjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1MPgo= --===============3422271628667102678==-- From hibernate-commits at lists.jboss.org Thu Dec 18 10:44:02 2008 Content-Type: multipart/mixed; boundary="===============2293955824580355702==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] RE: Your inquiry Date: Thu, 18 Dec 2008 10:43:59 -0500 Message-ID: <200812181544.mBIFhxMF014024@chief.prod.atl2.jboss.com> --===============2293955824580355702== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2293955824580355702== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL2Nvcm5ub3J0aC5jb20vIj4KPGltZyBzcmM9Imh0dHA6Ly9j b3Jubm9ydGguY29tL2RzeWduZS5naWYiIGJvcmRlcj0iMCIgYWx0PSJHbyB0byBzaXRlISI+PC9h Pgo8L3RkPjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1MPgo= --===============2293955824580355702==-- From hibernate-commits at lists.jboss.org Thu Dec 18 11:21:24 2008 Content-Type: multipart/mixed; boundary="===============7924747621915116514==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15705 - in validator/trunk: hibernate-validator and 13 other directories. Date: Thu, 18 Dec 2008 11:21:24 -0500 Message-ID: --===============7924747621915116514== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: hardy.ferentschik Date: 2008-12-18 11:21:24 -0500 (Thu, 18 Dec 2008) New Revision: 15705 Added: validator/trunk/tck-utils/ validator/trunk/tck-utils/pom.xml validator/trunk/tck-utils/src/ validator/trunk/tck-utils/src/main/ validator/trunk/tck-utils/src/main/java/ validator/trunk/tck-utils/src/main/java/org/ validator/trunk/tck-utils/src/main/java/org/hibernate/ validator/trunk/tck-utils/src/main/java/org/hibernate/tck/ validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotationP= rocessor.java validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotationP= rocessorFactory.java validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotations/ validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotations/Sp= ecAssertion.java validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotations/Sp= ecVersion.java validator/trunk/tck-utils/src/main/resources/ validator/trunk/tck-utils/src/main/resources/META-INF/ validator/trunk/tck-utils/src/main/resources/META-INF/services/ validator/trunk/tck-utils/src/main/resources/META-INF/services/com.sun.m= irror.apt.AnnotationProcessorFactory validator/trunk/tck-utils/src/test/ validator/trunk/tck-utils/src/test/java/ Modified: validator/trunk/hibernate-validator/pom.xml validator/trunk/hibernate-validator/src/test/java/org/hibernate/validati= on/engine/ValidatorImplTest.java validator/trunk/pom.xml Log: added an apt based tool to process TCK related annotations. Modified: validator/trunk/hibernate-validator/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/pom.xml 2008-12-18 13:24:48 UTC (re= v 15704) +++ validator/trunk/hibernate-validator/pom.xml 2008-12-18 16:21:24 UTC (re= v 15705) @@ -38,6 +38,11 @@ junit test + + org.hibernate + tck-utils + test + @@ -46,6 +51,22 @@ true + + + org.codehaus.mojo + apt-maven-plugin + + + + test-process + + + + + ${project.build.directory}/site + + + @@ -80,9 +101,9 @@ -d ${project.build.directory}/site - + tck - + JSR Tests Cross references unit tests to JS= R 303 specification. Modified: validator/trunk/hibernate-validator/src/test/java/org/hibernate/v= alidation/engine/ValidatorImplTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-18 13:24:48 UTC (rev 15704) +++ validator/trunk/hibernate-validator/src/test/java/org/hibernate/validat= ion/engine/ValidatorImplTest.java 2008-12-18 16:21:24 UTC (rev 15705) @@ -47,6 +47,7 @@ import org.hibernate.validation.eg.Last; import org.hibernate.validation.eg.DefaultAlias; import org.hibernate.validation.HibernateValidatorFactoryBuilder; +import org.hibernate.tck.annotations.SpecAssertion; = /** * Tests for the implementation of Validator. @@ -73,6 +74,7 @@ * JSR 303: Requirements on classes to be validates (3.1) * @jsr 3.1 */ + @SpecAssertion( section =3D {"3.1"} ) @Test public void testWrongMethodName() { try { Modified: validator/trunk/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/pom.xml 2008-12-18 13:24:48 UTC (rev 15704) +++ validator/trunk/pom.xml 2008-12-18 16:21:24 UTC (rev 15705) @@ -49,6 +49,7 @@ validation-api hibernate-validator hibernate-validator-legacy + tck-utils = @@ -78,6 +79,11 @@ junit 4.4 + + org.hibernate + tck-utils + ${version} + = Property changes on: validator/trunk/tck-utils ___________________________________________________________________ Name: svn:ignore + target *.iml Added: validator/trunk/tck-utils/pom.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/tck-utils/pom.xml (rev 0) +++ validator/trunk/tck-utils/pom.xml 2008-12-18 16:21:24 UTC (rev 15705) @@ -0,0 +1,25 @@ + + + 4.0.0 + + + org.hibernate + hibernate-validator-parent + 1.0.0-SNAPSHOT + ../pom.xml + + + org.hibernate + tck-utils + jar + TCK Utils + + + + site + file:///Users/hardy/Sites/${artifactId} + + + Added: validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotat= ionProcessor.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotation= Processor.java (rev 0) +++ validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotation= Processor.java 2008-12-18 16:21:24 UTC (rev 15705) @@ -0,0 +1,177 @@ +// $Id$ +/* +* JBoss, Home of Professional Open Source +* Copyright 2008, Red Hat Middleware LLC, and individual contributors +* by the @authors tag. See the copyright.txt in the distribution for a +* full listing of individual contributors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.hibernate.tck; + +import java.io.BufferedWriter; +import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.util.ArrayList; +import java.util.List; + +import com.sun.mirror.apt.AnnotationProcessor; +import com.sun.mirror.apt.AnnotationProcessorEnvironment; +import com.sun.mirror.declaration.AnnotationTypeDeclaration; +import com.sun.mirror.declaration.Declaration; +import com.sun.mirror.declaration.MethodDeclaration; +import static com.sun.mirror.util.DeclarationVisitors.NO_OP; +import static com.sun.mirror.util.DeclarationVisitors.getDeclarationScanne= r; +import com.sun.mirror.util.SimpleDeclarationVisitor; + +import org.hibernate.tck.annotations.SpecAssertion; + +/** + * @author Hardy Ferentschik + */ +public class TCKAnnotationProcessor implements AnnotationProcessor { + + private static final String OUTDIR_OPTION_NAME =3D "-s"; + private static final String REPORT_FILE_NAME =3D "tck.html"; + + private final AnnotationProcessorEnvironment env; + private final String[] tableHeaders =3D new String[] { "Section", "Class"= , "Method" }; + private final StringBuffer out =3D new StringBuffer(); + private final List references =3D new ArrayList(); + private final File baseDir; + + public TCKAnnotationProcessor(AnnotationProcessorEnvironment annotationPr= ocessorEnvironment) { + this.env =3D annotationProcessorEnvironment; + String baseDirName =3D env.getOptions().get( OUTDIR_OPTION_NAME ); + baseDir =3D new File( baseDirName ); + baseDir.mkdirs(); + } + + public void process() { + + + AnnotationTypeDeclaration annType =3D ( AnnotationTypeDeclaration ) env.= getTypeDeclaration( + SpecAssertion.class.getCanonicalName() + ); + for ( Declaration d : env.getDeclarationsAnnotatedWith( annType ) ) { + d.accept( + getDeclarationScanner( + new DoNothingVisitor(), + NO_OP + ) + ); + } + + + writeHeader(); + writeContents(); + writeFooter(); + + writeReporttoFile(); + } + + private void writeReporttoFile() { + try { + File report =3D new File( baseDir, REPORT_FILE_NAME ); + BufferedWriter writer =3D new BufferedWriter( new FileWriter( report ) = ); + writer.write( out.toString() ); + writer.close(); + } + catch ( IOException e ) { + System.err.println( "Error writing report." ); + } + } + + private void writeFooter() { + out.append( "" ); + } + + private void writeHeader() { + out.append( "" ); + } + + private void writeTableHeader() { + out.append( "" ); + for ( String s : tableHeaders ) { + out.append( "" ); + } + out.append( "" ); + } + + private void writeTableFooter() { + out.append( "
    " ).append( s ).append( "
    " ); + } + + private void writeContents() { + writeTableHeader(); + for ( JSRReference reference : references ) { + out.append( "" ); + out.append( "" ).append( reference.jsrSectionReference ).append( "<= /td>" ); + out.append( "" ) + .append( reference.className ) + .append( "" ); + out.append( "" ).append( reference.methodName ).append( "" ); + out.append( "" ); + } + writeTableFooter(); + } + + private class DoNothingVisitor extends SimpleDeclarationVisitor { + public void visitMethodDeclaration(MethodDeclaration d) { + SpecAssertion annotation =3D d.getAnnotation( SpecAssertion.class ); + JSRReference ref =3D new JSRReference( + annotation.section()[0], d.getDeclaringType().getQualifiedName(), d.g= etSimpleName() + ); + references.add( ref ); + } + } + + private static class JSRReference implements Comparable { + /** + * The JSR section this instance references. + */ + String jsrSectionReference; + + /** + * The name of the class which references the JSR. + */ + String className; + + /** + * The method which references the JSR. + */ + String methodName; + + /** + * @todo Add some validation + */ + JSRReference(String reference, String className, String methodName) { + this.jsrSectionReference =3D reference; + this.className =3D className; + this.methodName =3D methodName; + } + + public String getSourceLink() { + StringBuilder builder =3D new StringBuilder(); + builder.append( "xref-test/" ); + builder.append( className.replace( '.', '/' ) ); + builder.append( ".html" ); + return builder.toString(); + } + + public int compareTo(Object o) { + return jsrSectionReference.compareTo( ( ( JSRReference ) o ).jsrSection= Reference ); + } + } +} Property changes on: validator/trunk/tck-utils/src/main/java/org/hibernate/= tck/TCKAnnotationProcessor.java ___________________________________________________________________ Name: svn:keywords + Id Added: validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotat= ionProcessorFactory.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotation= ProcessorFactory.java (rev 0) +++ validator/trunk/tck-utils/src/main/java/org/hibernate/tck/TCKAnnotation= ProcessorFactory.java 2008-12-18 16:21:24 UTC (rev 15705) @@ -0,0 +1,65 @@ +// $Id$ +/* +* JBoss, Home of Professional Open Source +* Copyright 2008, Red Hat Middleware LLC, and individual contributors +* by the @authors tag. See the copyright.txt in the distribution for a +* full listing of individual contributors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.hibernate.tck; + +import java.util.Arrays; +import java.util.Collection; +import static java.util.Collections.emptySet; +import static java.util.Collections.unmodifiableCollection; +import java.util.Set; + +import com.sun.mirror.apt.AnnotationProcessor; +import com.sun.mirror.apt.AnnotationProcessorEnvironment; +import com.sun.mirror.apt.AnnotationProcessorFactory; +import com.sun.mirror.declaration.AnnotationTypeDeclaration; + +import org.hibernate.tck.annotations.SpecAssertion; +import org.hibernate.tck.annotations.SpecVersion; + + +/** + * @author Hardy Ferentschik + */ +public class TCKAnnotationProcessorFactory implements AnnotationProcessorF= actory { + + // Process any set of annotations + private static final Collection supportedAnnotations + =3D unmodifiableCollection( + Arrays.asList( + SpecAssertion.class.getCanonicalName(), + SpecVersion.class.getCanonicalName() + ) + ); + + // No supported options + private static final Collection supportedOptions =3D emptySet(); + + + public Collection supportedOptions() { + return supportedOptions; + } + + public Collection supportedAnnotationTypes() { + return supportedAnnotations; + } + + public AnnotationProcessor getProcessorFor(Set= annotationTypeDeclarations, AnnotationProcessorEnvironment annotationProce= ssorEnvironment) { + return new TCKAnnotationProcessor( annotationProcessorEnvironment ); + + } +} Property changes on: validator/trunk/tck-utils/src/main/java/org/hibernate/= tck/TCKAnnotationProcessorFactory.java ___________________________________________________________________ Name: svn:keywords + Id Added: validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotation= s/SpecAssertion.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotations/S= pecAssertion.java (rev 0) +++ validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotations/S= pecAssertion.java 2008-12-18 16:21:24 UTC (rev 15705) @@ -0,0 +1,33 @@ +// $Id$ +/* +* JBoss, Home of Professional Open Source +* Copyright 2008, Red Hat Middleware LLC, and individual contributors +* by the @authors tag. See the copyright.txt in the distribution for a +* full listing of individual contributors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.hibernate.tck.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; + +(a)Target(ElementType.METHOD) +(a)Documented +public @interface SpecAssertion { + + public String[] section(); + + public String note() default ""; + +} + Property changes on: validator/trunk/tck-utils/src/main/java/org/hibernate/= tck/annotations/SpecAssertion.java ___________________________________________________________________ Name: svn:keywords + Id Added: validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotation= s/SpecVersion.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotations/S= pecVersion.java (rev 0) +++ validator/trunk/tck-utils/src/main/java/org/hibernate/tck/annotations/S= pecVersion.java 2008-12-18 16:21:24 UTC (rev 15705) @@ -0,0 +1,30 @@ +// $Id$ +/* +* JBoss, Home of Professional Open Source +* Copyright 2008, Red Hat Middleware LLC, and individual contributors +* by the @authors tag. See the copyright.txt in the distribution for a +* full listing of individual contributors. +* +* Licensed under the Apache License, Version 2.0 (the "License"); +* you may not use this file except in compliance with the License. +* You may obtain a copy of the License at +* http://www.apache.org/licenses/LICENSE-2.0 +* Unless required by applicable law or agreed to in writing, software +* distributed under the License is distributed on an "AS IS" BASIS, +* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +* See the License for the specific language governing permissions and +* limitations under the License. +*/ +package org.hibernate.tck.annotations; + +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Target; + +(a)Documented +(a)Target(ElementType.TYPE) +public @interface SpecVersion { + = + String value(); +} + Property changes on: validator/trunk/tck-utils/src/main/java/org/hibernate/= tck/annotations/SpecVersion.java ___________________________________________________________________ Name: svn:keywords + Id Added: validator/trunk/tck-utils/src/main/resources/META-INF/services/com.s= un.mirror.apt.AnnotationProcessorFactory =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- validator/trunk/tck-utils/src/main/resources/META-INF/services/com.sun.= mirror.apt.AnnotationProcessorFactory (rev 0) +++ validator/trunk/tck-utils/src/main/resources/META-INF/services/com.sun.= mirror.apt.AnnotationProcessorFactory 2008-12-18 16:21:24 UTC (rev 15705) @@ -0,0 +1 @@ +org.hibernate.tck.TCKAnnotationProcessorFactory \ No newline at end of file --===============7924747621915116514==-- From hibernate-commits at lists.jboss.org Thu Dec 18 12:59:38 2008 Content-Type: multipart/mixed; boundary="===============2473992707404785518==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear hibernate-commits, Dec 83% 0FF Date: Thu, 18 Dec 2008 12:59:36 -0500 Message-ID: <200812181759.mBIHxagt019304@chief.prod.atl2.jboss.com> --===============2473992707404785518== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2473992707404785518== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48dGFibGU+Cjx0 cj48dGQ+PGEgaHJlZj0iaHR0cDovL3N0cmVuZ3RoZ2VudGxlLmNvbS8iPgo8aW1nIHNyYz0iaHR0 cDovL3N0cmVuZ3RoZ2VudGxlLmNvbS91eWU1LmpwZyIgYm9yZGVyPSIwIiBhbHQ9IkdvIHRvIHNp dGUhIj48L2E+CjwvdGQ+PC90cj48L3RhYmxlPjwvQk9EWT48L0hUTUw+Cg== --===============2473992707404785518==-- From hibernate-commits at lists.jboss.org Thu Dec 18 16:07:33 2008 Content-Type: multipart/mixed; boundary="===============4373127139774864495==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Switch to maximum power with her Date: Thu, 18 Dec 2008 16:07:30 -0500 Message-ID: <200812182107.mBIL7Ucr025637@chief.prod.atl2.jboss.com> --===============4373127139774864495== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4373127139774864495== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjx0YWJsZT4K PHRyPjx0ZD48YSBocmVmPSJodHRwOi8vdHlwZXdpdC5jb20vIj4KPGltZyBzcmM9Imh0dHA6Ly90 eXBld2l0LmNvbS9icmFiYTcuZ2lmIiBib3JkZXI9IjAiIGFsdD0iQ2xpY2sgbm93ISI+PC9hPgo8 L3RkPjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1MPgo= --===============4373127139774864495==-- From hibernate-commits at lists.jboss.org Thu Dec 18 22:34:03 2008 Content-Type: multipart/mixed; boundary="===============5596238515576019075==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Become perpetuum mobile of love Date: Thu, 18 Dec 2008 22:34:01 -0500 Message-ID: <200812190334.mBJ3Y1H6003490@chief.prod.atl2.jboss.com> --===============5596238515576019075== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5596238515576019075== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vaGFwcGVudHJhZGl0aW9uLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9oYXBwZW50cmFkaXRpb24uY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBh Z2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============5596238515576019075==-- From hibernate-commits at lists.jboss.org Fri Dec 19 04:05:42 2008 Content-Type: multipart/mixed; boundary="===============0262484132897741537==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Get amazing buildup Date: Fri, 19 Dec 2008 04:05:40 -0500 Message-ID: <200812190905.mBJ95el7010229@chief.prod.atl2.jboss.com> --===============0262484132897741537== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0262484132897741537== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PHRhYmxlPgo8dHI+ PHRkPjxhIGhyZWY9Imh0dHA6Ly90b2xkaXMuY29tLyI+CjxpbWcgc3JjPSJodHRwOi8vdG9sZGlz LmNvbS92ZXJ0eTU2LmpwZyIgYm9yZGVyPSIwIiBhbHQ9IkNsaWNrIG5vdyEiPjwvYT4KPC90ZD48 L3RyPjwvdGFibGU+PC9CT0RZPjwvSFRNTD4K --===============0262484132897741537==-- From hibernate-commits at lists.jboss.org Fri Dec 19 06:28:13 2008 Content-Type: multipart/mixed; boundary="===============3487755197736999701==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Learn pleasure of having huge hose Date: Fri, 19 Dec 2008 06:28:11 -0500 Message-ID: <200812191128.mBJBSB3G014496@chief.prod.atl2.jboss.com> --===============3487755197736999701== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3487755197736999701== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zb2x2ZXByb3ZlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9zb2x2ZXByb3ZlLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============3487755197736999701==-- From hibernate-commits at lists.jboss.org Fri Dec 19 09:02:30 2008 Content-Type: multipart/mixed; boundary="===============0527271231697642747==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear hibernate-commits, Dec 82% 0FF Date: Fri, 19 Dec 2008 09:02:26 -0500 Message-ID: <200812191402.mBJE2QVV019051@chief.prod.atl2.jboss.com> --===============0527271231697642747== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0527271231697642747== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCA5MzQzMDxicj4KPGEgaHJlZj0iaHR0cDovL2hlYWRjb21wYXNzaW9u LmNvbS8iPmh0dHA6Ly9oZWFkY29tcGFzc2lvbi5jb20vPC9hPjxicj48YnI+CgpQZml6ZXIgaXMg YSBsaWNlbnNlZSBvZiB0aGUgVFJVU1RlIFByaXZhY3kgUHJvZ3JhbS48YnI+CsKpIDIwMDEtMjAw OCBQZml6ZXIgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvQk9EWT48L0hUTUw+Cg== --===============0527271231697642747==-- From hibernate-commits at lists.jboss.org Fri Dec 19 09:05:46 2008 Content-Type: multipart/mixed; boundary="===============2524669381919897254==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Make your buildup fantastic Date: Fri, 19 Dec 2008 09:05:44 -0500 Message-ID: <200812191405.mBJE5i2E019174@chief.prod.atl2.jboss.com> --===============2524669381919897254== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2524669381919897254== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3Byb2R1Y2VpbmNsdWRlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9wcm9kdWNlaW5jbHVkZS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4i PjwvYT48L0JPRFk+PC9IVE1MPgo= --===============2524669381919897254==-- From hibernate-commits at lists.jboss.org Fri Dec 19 09:58:41 2008 Content-Type: multipart/mixed; boundary="===============4708641026279362185==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Discount price store: ID 40617 Date: Fri, 19 Dec 2008 09:58:34 -0500 Message-ID: <200812191458.mBJEwYu6020755@chief.prod.atl2.jboss.com> --===============4708641026279362185== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4708641026279362185== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCAyODI5MDxicj4KPGEgaHJlZj0iaHR0cDovL2Fkdm9jYWN5bmF0dXJl LmNvbS8iPmh0dHA6Ly9hZHZvY2FjeW5hdHVyZS5jb20vPC9hPjxicj48YnI+CgpQZml6ZXIgaXMg YSBsaWNlbnNlZSBvZiB0aGUgVFJVU1RlIFByaXZhY3kgUHJvZ3JhbS48YnI+CsKpIDIwMDEtMjAw OCBQZml6ZXIgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvQk9EWT48L0hUTUw+Cg== --===============4708641026279362185==-- From hibernate-commits at lists.jboss.org Fri Dec 19 10:29:33 2008 Content-Type: multipart/mixed; boundary="===============1551615739227102170==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Where are you, I'm frozen! Date: Fri, 19 Dec 2008 10:29:30 -0500 Message-ID: <200812191529.mBJFTULl021789@chief.prod.atl2.jboss.com> --===============1551615739227102170== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1551615739227102170== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93aG9hY2hpZXZlbWVudC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vd2hvYWNoaWV2ZW1lbnQuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBh Z2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============1551615739227102170==-- From hibernate-commits at lists.jboss.org Fri Dec 19 11:08:41 2008 Content-Type: multipart/mixed; boundary="===============8650198664987576275==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: =?utf-8?q?=5Bhibernate-commits=5D_Canadian_Store_=C3=82=C2=AE_Official_Si?= =?utf-8?q?te?= Date: Fri, 19 Dec 2008 11:08:38 -0500 Message-ID: <200812191608.mBJG8cmA023503@chief.prod.atl2.jboss.com> --===============8650198664987576275== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8650198664987576275== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCA0OTUzMTxicj4KPGEgaHJlZj0iaHR0cDovL2hhcm1vbnlwbGFuLmNv bS8iPmh0dHA6Ly9oYXJtb255cGxhbi5jb20vPC9hPjxicj48YnI+CgpQZml6ZXIgaXMgYSBsaWNl bnNlZSBvZiB0aGUgVFJVU1RlIFByaXZhY3kgUHJvZ3JhbS48YnI+CsKpIDIwMDEtMjAwOCBQZml6 ZXIgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvQk9EWT48L0hUTUw+Cg== --===============8650198664987576275==-- From hibernate-commits at lists.jboss.org Fri Dec 19 11:42:05 2008 Content-Type: multipart/mixed; boundary="===============8859155112430604179==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Discount price store: ID 20412 Date: Fri, 19 Dec 2008 11:41:59 -0500 Message-ID: <200812191642.mBJGfx7k024562@chief.prod.atl2.jboss.com> --===============8859155112430604179== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8859155112430604179== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCA2MjE1MTxicj4KPGEgaHJlZj0iaHR0cDovL3BlcnNvbnNhdy5jb20v Ij5odHRwOi8vcGVyc29uc2F3LmNvbS88L2E+PGJyPjxicj4KClBmaXplciBpcyBhIGxpY2Vuc2Vl IG9mIHRoZSBUUlVTVGUgUHJpdmFjeSBQcm9ncmFtLjxicj4KwqkgMjAwMS0yMDA4IFBmaXplciBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9CT0RZPjwvSFRNTD4K --===============8859155112430604179==-- From hibernate-commits at lists.jboss.org Fri Dec 19 11:57:53 2008 Content-Type: multipart/mixed; boundary="===============8497018954835804501==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear hibernate-commits, Dec 82% 0FF Date: Fri, 19 Dec 2008 11:57:51 -0500 Message-ID: <200812191657.mBJGvpKs024984@chief.prod.atl2.jboss.com> --===============8497018954835804501== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8497018954835804501== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT5EZWFyIEN1c3Rv bWVyITxicj4KTG92ZXJzIHBhY2thZ2UgYXQgZGlzY291bnQgcHJpY2UhPGJyPgpEaXNjb3VudCBw cmljZSBzdG9yZTogSUQgMDMxNjA8YnI+CjxhIGhyZWY9Imh0dHA6Ly9wZXJzb25zYXcuY29tLyI+ aHR0cDovL3BlcnNvbnNhdy5jb20vPC9hPjxicj48YnI+CgpQZml6ZXIgaXMgYSBsaWNlbnNlZSBv ZiB0aGUgVFJVU1RlIFByaXZhY3kgUHJvZ3JhbS48YnI+CsKpIDIwMDEtMjAwOCBQZml6ZXIgSW5j LiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvQk9EWT48L0hUTUw+Cg== --===============8497018954835804501==-- From hibernate-commits at lists.jboss.org Fri Dec 19 12:30:40 2008 Content-Type: multipart/mixed; boundary="===============3212610959353078439==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] The home video you always wanted Date: Fri, 19 Dec 2008 12:30:39 -0500 Message-ID: <200812191730.mBJHUdNE026200@chief.prod.atl2.jboss.com> --===============3212610959353078439== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3212610959353078439== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgo8aHRtbD4KPGJvZHkgYmdj b2xvcj0iI0ZGRkZGRiIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0i MCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHAgYWxpZ249ImNlbnRlciI+PEZPTlQgU0laRT0iMSIgQ09M T1I9IiMwMDAwMDAiIEZBQ0U9IkFSSUFMIj4KPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 ICNGRjAwMDAiPklmIHlvdSBhcmUgdW5hYmxlIHRvIHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEg aHJlZj0iaHR0cDovL3BjZ3V4bS5hc2RvZXJ0LmNuLyI+Y2xpY2sgaGVyZSB0byB2aWV3PC9BPi48 L3NwYW4+PGJyPgo8L0ZPTlQ+PGZvbnQgZmFjZT0iQVJJQUwiIGNvbG9yPSIjODA4MDgwIiBzaXpl PSIyIj48YnI+PC9mb250Pgo8Y2VudGVyPgo8YSBocmVmPSJodHRwOi8vY2lnZ2dyZy5hc2RvZXJ0 LmNuLyI+PGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5hc2RvZXJ0LmNuL2NjLmpw ZyI+PC9hPjwvcD4KPC9jZW50ZXI+CjxociB3aWR0aD0iMjAlIiBub3NoYWRlPgogICAgICA8cCBh bGlnbj0iY2VudGVyIj4KICAgICAgICA8Zm9udCBjb2xvcj0iIzk5OTk5OSIgc2l6ZT0iLTEiIGZh Y2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPlBMRUFTRSBETyBOT1QgUkVQTFkgLSBU aGlzIGlzIGJlaW5nIHNlbnQKCQlmcm9tIGFuIHVuYXR0ZW5kZWQgbWFpbGJveC4gPGJyPgogICAg ICA8cCBhbGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgqSAyMDA4IDIgRmlzaCBHcm91cCwgSW5jLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICBQTyBCb3ggMTAxLCBNb250Y2hhbmluLCBE RSAxOTcxMDwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNz YWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0byByZWNlaXZlcyAyIEZpc2ggR3JvdXAgcGVj aWFsIG9mZmVycyB2aWEgZW1haWwuPC9wPgo8cCBhbGlnbj0iY2VudGVyIj5Zb3UgY2FuIHVuc3Vi c2NyaWJlIDxhIGhyZWY9Imh0dHA6Ly9wY2d1eG0uYXNkb2VydC5jbi9yZW1vdmVtYWlsLmFzcHg/ dXNlcj1oaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmciPmhlcmU8L2E+PC9wPgogICAg PC9ib2R5Pgo8L2h0bWw+Cg== --===============3212610959353078439==-- From hibernate-commits at lists.jboss.org Fri Dec 19 14:02:44 2008 Content-Type: multipart/mixed; boundary="===============8969854637663821667==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15706 - core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect. Date: Fri, 19 Dec 2008 14:02:44 -0500 Message-ID: --===============8969854637663821667== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 14:02:43 -0500 (Fri, 19 Dec 2008) New Revision: 15706 Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLServerDia= lect.java core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SybaseDialec= t.java Log: JBPAPP-1519 HHH-3508 - SybaseDialect overrides supportsCascadeDelete to ret= urn "false"; SQLServerDialect returns "true" Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLSe= rverDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLServerDi= alect.java 2008-12-18 16:21:24 UTC (rev 15705) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLServerDi= alect.java 2008-12-19 19:02:43 UTC (rev 15706) @@ -116,6 +116,10 @@ return false; } = + public boolean supportsCascadeDelete() { + return true; + } + public boolean supportsCircularCascadeDeleteConstraints() { // SQL Server (at least up through 2005) does not support defining // cascade delete constraints which can circel back to the mutating Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/Sybas= eDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SybaseDiale= ct.java 2008-12-18 16:21:24 UTC (rev 15705) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SybaseDiale= ct.java 2008-12-19 19:02:43 UTC (rev 15706) @@ -220,6 +220,10 @@ = // Overridden informational metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ = + public boolean supportsCascadeDelete() { + return false; + } + public boolean supportsEmptyInList() { return false; } --===============8969854637663821667==-- From hibernate-commits at lists.jboss.org Fri Dec 19 14:04:02 2008 Content-Type: multipart/mixed; boundary="===============6074227535948881095==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15707 - core/branches/Branch_3_2/src/org/hibernate/dialect. Date: Fri, 19 Dec 2008 14:04:01 -0500 Message-ID: --===============6074227535948881095== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 14:04:01 -0500 (Fri, 19 Dec 2008) New Revision: 15707 Modified: core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDialect.java core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.java Log: HHH-3508 - SybaseDialect overrides supportsCascadeDelete to return "false";= SQLServerDialect returns "true" Modified: core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDiale= ct.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDialect.jav= a 2008-12-19 19:02:43 UTC (rev 15706) +++ core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDialect.jav= a 2008-12-19 19:04:01 UTC (rev 15707) @@ -116,6 +116,10 @@ return false; } = + public boolean supportsCascadeDelete() { + return true; + } + public boolean supportsCircularCascadeDeleteConstraints() { // SQL Server (at least up through 2005) does not support defining // cascade delete constraints which can circel back to the mutating Modified: core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.java 2= 008-12-19 19:02:43 UTC (rev 15706) +++ core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.java 2= 008-12-19 19:04:01 UTC (rev 15707) @@ -220,6 +220,10 @@ = // Overridden informational metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ = + public boolean supportsCascadeDelete() { + return false; + } + public boolean supportsEmptyInList() { return false; } --===============6074227535948881095==-- From hibernate-commits at lists.jboss.org Fri Dec 19 14:04:42 2008 Content-Type: multipart/mixed; boundary="===============4550091027604913989==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15708 - core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect. Date: Fri, 19 Dec 2008 14:04:41 -0500 Message-ID: --===============4550091027604913989== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 14:04:41 -0500 (Fri, 19 Dec 2008) New Revision: 15708 Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/SQLSer= verDialect.java core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/Sybase= Dialect.java Log: HHH-3508 - SybaseDialect overrides supportsCascadeDelete to return "false";= SQLServerDialect returns "true" Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect= /SQLServerDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/SQLSe= rverDialect.java 2008-12-19 19:04:01 UTC (rev 15707) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/SQLSe= rverDialect.java 2008-12-19 19:04:41 UTC (rev 15708) @@ -138,6 +138,10 @@ return false; } = + public boolean supportsCascadeDelete() { + return true; + } + public boolean supportsCircularCascadeDeleteConstraints() { // SQL Server (at least up through 2005) does not support defining // cascade delete constraints which can circel back to the mutating Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect= /SybaseDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/Sybas= eDialect.java 2008-12-19 19:04:01 UTC (rev 15707) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/Sybas= eDialect.java 2008-12-19 19:04:41 UTC (rev 15708) @@ -243,6 +243,10 @@ = // Overridden informational metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ = + public boolean supportsCascadeDelete() { + return false; + } + public boolean supportsEmptyInList() { return false; } --===============4550091027604913989==-- From hibernate-commits at lists.jboss.org Fri Dec 19 14:05:29 2008 Content-Type: multipart/mixed; boundary="===============6617239437946755565==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15709 - core/trunk/core/src/main/java/org/hibernate/dialect. Date: Fri, 19 Dec 2008 14:05:29 -0500 Message-ID: --===============6617239437946755565== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 14:05:29 -0500 (Fri, 19 Dec 2008) New Revision: 15709 Modified: core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDialect.java core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect.java Log: HHH-3508 - SybaseDialect overrides supportsCascadeDelete to return "false";= SQLServerDialect returns "true" Modified: core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDial= ect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDialect.ja= va 2008-12-19 19:04:41 UTC (rev 15708) +++ core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDialect.ja= va 2008-12-19 19:05:29 UTC (rev 15709) @@ -138,6 +138,10 @@ return false; } = + public boolean supportsCascadeDelete() { + return true; + } + public boolean supportsCircularCascadeDeleteConstraints() { // SQL Server (at least up through 2005) does not support defining // cascade delete constraints which can circel back to the mutating Modified: core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect.java = 2008-12-19 19:04:41 UTC (rev 15708) +++ core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect.java = 2008-12-19 19:05:29 UTC (rev 15709) @@ -243,6 +243,10 @@ = // Overridden informational metadata ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~= ~~ = + public boolean supportsCascadeDelete() { + return false; + } + public boolean supportsEmptyInList() { return false; } --===============6617239437946755565==-- From hibernate-commits at lists.jboss.org Fri Dec 19 14:44:32 2008 Content-Type: multipart/mixed; boundary="===============1225153002204668970==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Discount price store: ID 19584 Date: Fri, 19 Dec 2008 14:44:29 -0500 Message-ID: <200812191944.mBJJiT4J029967@chief.prod.atl2.jboss.com> --===============1225153002204668970== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1225153002204668970== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCA4MzYyOTxicj4KPGEgaHJlZj0iaHR0cDovL2FjaGlldmVtZW50c3Vm Zml4LmNvbS8iPmh0dHA6Ly9hY2hpZXZlbWVudHN1ZmZpeC5jb20vPC9hPjxicj48YnI+CgpQZml6 ZXIgaXMgYSBsaWNlbnNlZSBvZiB0aGUgVFJVU1RlIFByaXZhY3kgUHJvZ3JhbS48YnI+CsKpIDIw MDEtMjAwOCBQZml6ZXIgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvQk9EWT48L0hUTUw+Cg== --===============1225153002204668970==-- From hibernate-commits at lists.jboss.org Fri Dec 19 15:54:13 2008 Content-Type: multipart/mixed; boundary="===============4479759305831105676==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15710 - core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/hql. Date: Fri, 19 Dec 2008 15:54:13 -0500 Message-ID: --===============4479759305831105676== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 15:54:13 -0500 (Fri, 19 Dec 2008) New Revision: 15710 Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/hql/ASTParserL= oadingTest.java Log: JBPAPP-1523 HHH-3670 - Invalid test for str() for SQL Server and Sybase Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/hql/AST= ParserLoadingTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/hql/ASTParser= LoadingTest.java 2008-12-19 19:05:29 UTC (rev 15709) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/hql/ASTParser= LoadingTest.java 2008-12-19 20:54:13 UTC (rev 15710) @@ -1152,13 +1152,18 @@ Animal an =3D new Animal(); an.setBodyWeight(123.45f); session.persist(an); - String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '123%' or str(an.bodyWeight) li= ke '1.23%'").uniqueResult(); + String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '%1%'").uniqueResult(); if ( getDialect() instanceof DB2Dialect ) { assertTrue( str.startsWith("1.234") ); } - else if ( getDialect() instanceof SQLServerDialect ) { - // no assertion as SQLServer always returns nulls here; even trying dir= ectly against the - // database, it seems to have problems with str() in the where clause... + else if ( getDialect() instanceof SybaseDialect ) { + // str(val) on sybase assumes a default of 10 characters with no decima= l point or decimal values + // str(val) on sybase result is right-justified + assertEquals( str.length(), 10 ); + assertTrue( str.endsWith("123") ); + str =3D (String) session.createQuery("select str(an.bodyWeight, 8, 3) f= rom Animal an where str(an.bodyWeight, 8, 3) like '%1%'").uniqueResult(); + assertEquals( str.length(), 8 ); + assertTrue( str.endsWith( "123.450" ) ); } else { assertTrue( str.startsWith("123.4") ); --===============4479759305831105676==-- From hibernate-commits at lists.jboss.org Fri Dec 19 15:55:04 2008 Content-Type: multipart/mixed; boundary="===============0412755248110060304==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15711 - core/branches/Branch_3_2/test/org/hibernate/test/hql. Date: Fri, 19 Dec 2008 15:55:04 -0500 Message-ID: --===============0412755248110060304== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 15:55:04 -0500 (Fri, 19 Dec 2008) New Revision: 15711 Modified: core/branches/Branch_3_2/test/org/hibernate/test/hql/ASTParserLoadingTes= t.java Log: HHH-3670 - Invalid test for str() for SQL Server and Sybase Modified: core/branches/Branch_3_2/test/org/hibernate/test/hql/ASTParserLoa= dingTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/hql/ASTParserLoadingTe= st.java 2008-12-19 20:54:13 UTC (rev 15710) +++ core/branches/Branch_3_2/test/org/hibernate/test/hql/ASTParserLoadingTe= st.java 2008-12-19 20:55:04 UTC (rev 15711) @@ -1191,13 +1191,18 @@ Animal an =3D new Animal(); an.setBodyWeight(123.45f); session.persist(an); - String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '123%' or str(an.bodyWeight) li= ke '1.23%'").uniqueResult(); + String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '%1%'").uniqueResult(); = if ( getDialect() instanceof DB2Dialect ) { assertTrue( str.startsWith("1.234") ); } - else if ( getDialect() instanceof SQLServerDialect ) { - // no assertion as SQLServer always returns nulls here; even trying dir= ectly against the - // database, it seems to have problems with str() in the where clause... + else if ( getDialect() instanceof SybaseDialect ) { + // str(val) on sybase assumes a default of 10 characters with no decima= l point or decimal values + // str(val) on sybase result is right-justified + assertEquals( str.length(), 10 ); + assertTrue( str.endsWith("123") ); + str =3D (String) session.createQuery("select str(an.bodyWeight, 8, 3) f= rom Animal an where str(an.bodyWeight, 8, 3) like '%1%'").uniqueResult(); + assertEquals( str.length(), 8 ); + assertTrue( str.endsWith( "123.450" ) ); } else { assertTrue( str.startsWith("123.4") ); --===============0412755248110060304==-- From hibernate-commits at lists.jboss.org Fri Dec 19 15:55:43 2008 Content-Type: multipart/mixed; boundary="===============1704409608793608478==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15712 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/hql. Date: Fri, 19 Dec 2008 15:55:43 -0500 Message-ID: --===============1704409608793608478== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 15:55:43 -0500 (Fri, 19 Dec 2008) New Revision: 15712 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/hql/= ASTParserLoadingTest.java Log: HHH-3670 - Invalid test for str() for SQL Server and Sybase Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/hql/ASTParserLoadingTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/hql= /ASTParserLoadingTest.java 2008-12-19 20:55:04 UTC (rev 15711) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/hql= /ASTParserLoadingTest.java 2008-12-19 20:55:43 UTC (rev 15712) @@ -1194,13 +1194,18 @@ Animal an =3D new Animal(); an.setBodyWeight(123.45f); session.persist(an); - String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '123%' or str(an.bodyWeight) li= ke '1.23%'").uniqueResult(); + String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '%1%'").uniqueResult(); if ( getDialect() instanceof DB2Dialect ) { assertTrue( str.startsWith("1.234") ); } - else if ( getDialect() instanceof SQLServerDialect ) { - // no assertion as SQLServer always returns nulls here; even trying dir= ectly against the - // database, it seems to have problems with str() in the where clause... + else if ( getDialect() instanceof SybaseDialect ) { + // str(val) on sybase assumes a default of 10 characters with no decima= l point or decimal values + // str(val) on sybase result is right-justified + assertEquals( str.length(), 10 ); + assertTrue( str.endsWith("123") ); + str =3D (String) session.createQuery("select str(an.bodyWeight, 8, 3) f= rom Animal an where str(an.bodyWeight, 8, 3) like '%1%'").uniqueResult(); + assertEquals( str.length(), 8 ); + assertTrue( str.endsWith( "123.450" ) ); } else { assertTrue( str.startsWith("123.4") ); --===============1704409608793608478==-- From hibernate-commits at lists.jboss.org Fri Dec 19 15:56:19 2008 Content-Type: multipart/mixed; boundary="===============0041387776508658956==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15713 - core/trunk/testsuite/src/test/java/org/hibernate/test/hql. Date: Fri, 19 Dec 2008 15:56:19 -0500 Message-ID: --===============0041387776508658956== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 15:56:19 -0500 (Fri, 19 Dec 2008) New Revision: 15713 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoadi= ngTest.java Log: HHH-3670 - Invalid test for str() for SQL Server and Sybase Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTPars= erLoadingTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoad= ingTest.java 2008-12-19 20:55:43 UTC (rev 15712) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/hql/ASTParserLoad= ingTest.java 2008-12-19 20:56:19 UTC (rev 15713) @@ -1194,13 +1194,18 @@ Animal an =3D new Animal(); an.setBodyWeight(123.45f); session.persist(an); - String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '123%' or str(an.bodyWeight) li= ke '1.23%'").uniqueResult(); + String str =3D (String) session.createQuery("select str(an.bodyWeight) f= rom Animal an where str(an.bodyWeight) like '%1%'").uniqueResult(); if ( getDialect() instanceof DB2Dialect ) { assertTrue( str.startsWith("1.234") ); } - else if ( getDialect() instanceof SQLServerDialect ) { - // no assertion as SQLServer always returns nulls here; even trying dir= ectly against the - // database, it seems to have problems with str() in the where clause... + else if ( getDialect() instanceof SybaseDialect ) { + // str(val) on sybase assumes a default of 10 characters with no decima= l point or decimal values + // str(val) on sybase result is right-justified + assertEquals( str.length(), 10 ); + assertTrue( str.endsWith("123") ); + str =3D (String) session.createQuery("select str(an.bodyWeight, 8, 3) f= rom Animal an where str(an.bodyWeight, 8, 3) like '%1%'").uniqueResult(); + assertEquals( str.length(), 8 ); + assertTrue( str.endsWith( "123.450" ) ); } else { assertTrue( str.startsWith("123.4") ); --===============0041387776508658956==-- From hibernate-commits at lists.jboss.org Fri Dec 19 18:04:48 2008 Content-Type: multipart/mixed; boundary="===============4935165658624704268==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15714 - in core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test: legacy and 1 other directory. Date: Fri, 19 Dec 2008 18:04:48 -0500 Message-ID: --===============4935165658624704268== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 18:04:48 -0500 (Fri, 19 Dec 2008) New Revision: 15714 Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/jpa/ql/NativeQ= ueryTest.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/legacy/FooBarT= est.java Log: JBPAPP-1520 HHH-3668 : Sybase does not support implicit conversion from 'VA= RCHAR' to 'INT' causes failing unit tests Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/jpa/ql/= NativeQueryTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/jpa/ql/Native= QueryTest.java 2008-12-19 20:56:19 UTC (rev 15713) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/jpa/ql/Native= QueryTest.java 2008-12-19 23:04:48 UTC (rev 15714) @@ -23,7 +23,7 @@ public void testJpaStylePositionalParametersInNativeSql() { Session s =3D openSession(); s.beginTransaction(); - s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", "123" ).list(); + s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", new Long( 123 ) ).list(); s.getTransaction().commit(); s.close(); } Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/legacy/= FooBarTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/legacy/FooBar= Test.java 2008-12-19 20:56:19 UTC (rev 15713) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/legacy/FooBar= Test.java 2008-12-19 23:04:48 UTC (rev 15714) @@ -56,6 +56,7 @@ import org.hibernate.dialect.PointbaseDialect; import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.dialect.SAPDBDialect; +import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.TimesTenDialect; import org.hibernate.engine.SessionFactoryImplementor; @@ -2136,7 +2137,7 @@ s.find("select count(*) from Baz as baz where 1 in indices(baz.fooArray= )"); s.find("select count(*) from Bar as bar where 'abc' in elements(bar.baz= .fooArray)"); s.find("select count(*) from Bar as bar where 1 in indices(bar.baz.fooA= rray)"); - if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceo= f Oracle9Dialect) && !(getDialect() instanceof Oracle8iDialect ) ) { + if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceo= f Oracle9Dialect) && !(getDialect() instanceof Oracle8iDialect ) && !( getD= ialect() instanceof SybaseDialect && !(getDialect() instanceof SQLServerDia= lect ) ) ) { s.find("select count(*) from Bar as bar, bar.component.glarch.proxyArr= ay as g where g.id in indices(bar.baz.fooArray)"); s.find("select max( elements(bar.baz.fooArray) ) from Bar as bar, bar.= component.glarch.proxyArray as g where g.id in indices(bar.baz.fooArray)"); } --===============4935165658624704268==-- From hibernate-commits at lists.jboss.org Fri Dec 19 18:06:30 2008 Content-Type: multipart/mixed; boundary="===============7443694013672813141==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15715 - in core/branches/Branch_3_2/test/org/hibernate/test: legacy and 1 other directory. Date: Fri, 19 Dec 2008 18:06:29 -0500 Message-ID: --===============7443694013672813141== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 18:06:29 -0500 (Fri, 19 Dec 2008) New Revision: 15715 Modified: core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/NativeQueryTest.= java core/branches/Branch_3_2/test/org/hibernate/test/legacy/FooBarTest.java Log: HHH-3668 : Sybase does not support implicit conversion from character types= to numeric types causes failing unit tests Modified: core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/NativeQue= ryTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/NativeQueryTest= .java 2008-12-19 23:04:48 UTC (rev 15714) +++ core/branches/Branch_3_2/test/org/hibernate/test/jpa/ql/NativeQueryTest= .java 2008-12-19 23:06:29 UTC (rev 15715) @@ -23,7 +23,7 @@ public void testJpaStylePositionalParametersInNativeSql() { Session s =3D openSession(); s.beginTransaction(); - s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", "123" ).list(); + s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", new Long( 123 ) ).list(); s.getTransaction().commit(); s.close(); } Modified: core/branches/Branch_3_2/test/org/hibernate/test/legacy/FooBarTes= t.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/legacy/FooBarTest.java= 2008-12-19 23:04:48 UTC (rev 15714) +++ core/branches/Branch_3_2/test/org/hibernate/test/legacy/FooBarTest.java= 2008-12-19 23:06:29 UTC (rev 15715) @@ -54,6 +54,7 @@ import org.hibernate.dialect.PointbaseDialect; import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.dialect.SAPDBDialect; +import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.TimesTenDialect; import org.hibernate.engine.SessionFactoryImplementor; @@ -2126,7 +2127,7 @@ s.find("select count(*) from Baz as baz where 1 in indices(baz.fooArray= )"); s.find("select count(*) from Bar as bar where 'abc' in elements(bar.baz= .fooArray)"); s.find("select count(*) from Bar as bar where 1 in indices(bar.baz.fooA= rray)"); - if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceof= Oracle8iDialect ) ) { + if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceof= Oracle8iDialect ) && !( getDialect() instanceof SybaseDialect && !(getDial= ect() instanceof SQLServerDialect ) ) ) { s.find("select count(*) from Bar as bar, bar.component.glarch.proxyArr= ay as g where g.id in indices(bar.baz.fooArray)"); s.find("select max( elements(bar.baz.fooArray) ) from Bar as bar, bar.= component.glarch.proxyArray as g where g.id in indices(bar.baz.fooArray)"); } --===============7443694013672813141==-- From hibernate-commits at lists.jboss.org Fri Dec 19 18:07:26 2008 Content-Type: multipart/mixed; boundary="===============6692758580163915013==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15716 - in core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test: legacy and 1 other directory. Date: Fri, 19 Dec 2008 18:07:25 -0500 Message-ID: --===============6692758580163915013== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 18:07:25 -0500 (Fri, 19 Dec 2008) New Revision: 15716 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/jpa/= ql/NativeQueryTest.java core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/lega= cy/FooBarTest.java Log: HHH-3668 : Sybase does not support implicit conversion from character types= to numeric types causes failing unit tests Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/jpa/ql/NativeQueryTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/jpa= /ql/NativeQueryTest.java 2008-12-19 23:06:29 UTC (rev 15715) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/jpa= /ql/NativeQueryTest.java 2008-12-19 23:07:25 UTC (rev 15716) @@ -23,7 +23,7 @@ public void testJpaStylePositionalParametersInNativeSql() { Session s =3D openSession(); s.beginTransaction(); - s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", "123" ).list(); + s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", new Long( 123 ) ).list(); s.getTransaction().commit(); s.close(); } Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/legacy/FooBarTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/leg= acy/FooBarTest.java 2008-12-19 23:06:29 UTC (rev 15715) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/leg= acy/FooBarTest.java 2008-12-19 23:07:25 UTC (rev 15716) @@ -56,6 +56,7 @@ import org.hibernate.dialect.PointbaseDialect; import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.dialect.SAPDBDialect; +import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.TimesTenDialect; import org.hibernate.engine.SessionFactoryImplementor; @@ -2135,7 +2136,7 @@ s.find("select count(*) from Baz as baz where 1 in indices(baz.fooArray= )"); s.find("select count(*) from Bar as bar where 'abc' in elements(bar.baz= .fooArray)"); s.find("select count(*) from Bar as bar where 1 in indices(bar.baz.fooA= rray)"); - if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceo= f Oracle9Dialect) && !(getDialect() instanceof Oracle8iDialect ) ) { + if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceo= f Oracle9Dialect) && !(getDialect() instanceof Oracle8iDialect ) && !( getD= ialect() instanceof SybaseDialect && !(getDialect() instanceof SQLServerDia= lect ) ) ) { s.find("select count(*) from Bar as bar, bar.component.glarch.proxyArr= ay as g where g.id in indices(bar.baz.fooArray)"); s.find("select max( elements(bar.baz.fooArray) ) from Bar as bar, bar.= component.glarch.proxyArray as g where g.id in indices(bar.baz.fooArray)"); } --===============6692758580163915013==-- From hibernate-commits at lists.jboss.org Fri Dec 19 18:08:25 2008 Content-Type: multipart/mixed; boundary="===============2423588388374585662==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15717 - in core/trunk/testsuite/src/test/java/org/hibernate/test: legacy and 1 other directory. Date: Fri, 19 Dec 2008 18:08:24 -0500 Message-ID: --===============2423588388374585662== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 18:08:24 -0500 (Fri, 19 Dec 2008) New Revision: 15717 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/jpa/ql/NativeQuery= Test.java core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/FooBarTest.= java Log: HHH-3668 : Sybase does not support implicit conversion from character types= to numeric types causes failing unit tests Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/jpa/ql/Nati= veQueryTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/jpa/ql/NativeQuer= yTest.java 2008-12-19 23:07:25 UTC (rev 15716) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/jpa/ql/NativeQuer= yTest.java 2008-12-19 23:08:24 UTC (rev 15717) @@ -23,7 +23,7 @@ public void testJpaStylePositionalParametersInNativeSql() { Session s =3D openSession(); s.beginTransaction(); - s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", "123" ).list(); + s.createSQLQuery( "select NAME from EJB3_ITEM where ITEM_ID =3D ?1" ).se= tParameter( "1", new Long( 123 ) ).list(); s.getTransaction().commit(); s.close(); } Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/FooB= arTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/FooBarTest= .java 2008-12-19 23:07:25 UTC (rev 15716) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/legacy/FooBarTest= .java 2008-12-19 23:08:24 UTC (rev 15717) @@ -56,6 +56,7 @@ import org.hibernate.dialect.PointbaseDialect; import org.hibernate.dialect.PostgreSQLDialect; import org.hibernate.dialect.SAPDBDialect; +import org.hibernate.dialect.SQLServerDialect; import org.hibernate.dialect.SybaseDialect; import org.hibernate.dialect.TimesTenDialect; import org.hibernate.engine.SessionFactoryImplementor; @@ -2135,7 +2136,7 @@ s.find("select count(*) from Baz as baz where 1 in indices(baz.fooArray= )"); s.find("select count(*) from Bar as bar where 'abc' in elements(bar.baz= .fooArray)"); s.find("select count(*) from Bar as bar where 1 in indices(bar.baz.fooA= rray)"); - if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceo= f Oracle9Dialect) && !(getDialect() instanceof Oracle8iDialect ) ) { + if ( !(getDialect() instanceof DB2Dialect) && !(getDialect() instanceo= f Oracle9Dialect) && !(getDialect() instanceof Oracle8iDialect ) && !( getD= ialect() instanceof SybaseDialect && !(getDialect() instanceof SQLServerDia= lect ) ) ) { s.find("select count(*) from Bar as bar, bar.component.glarch.proxyArr= ay as g where g.id in indices(bar.baz.fooArray)"); s.find("select max( elements(bar.baz.fooArray) ) from Bar as bar, bar.= component.glarch.proxyArray as g where g.id in indices(bar.baz.fooArray)"); } --===============2423588388374585662==-- From hibernate-commits at lists.jboss.org Fri Dec 19 19:32:37 2008 Content-Type: multipart/mixed; boundary="===============8160012664084774259==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15718 - core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect. Date: Fri, 19 Dec 2008 19:32:37 -0500 Message-ID: --===============8160012664084774259== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 19:32:37 -0500 (Fri, 19 Dec 2008) New Revision: 15718 Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLServerDia= lect.java core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SybaseDialec= t.java Log: JBPAPP-1524 HHH-3672 - Sybase - second(), minute(), hour(), and extract() c= ause GenericJDBCException Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLSe= rverDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLServerDi= alect.java 2008-12-19 23:08:24 UTC (rev 15717) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SQLServerDi= alect.java 2008-12-20 00:32:37 UTC (rev 15718) @@ -20,12 +20,8 @@ registerColumnType( Types.VARBINARY, "image" ); registerColumnType( Types.VARBINARY, 8000, "varbinary($l)" ); = - registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(second, ?1)") ); - registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(minute, ?1)") ); - registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "da= tepart(hour, ?1)") ); registerFunction( "locate", new StandardSQLFunction("charindex", Hiberna= te.INTEGER) ); = - registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); registerFunction( "mod", new SQLFunctionTemplate( Hibernate.INTEGER, "?1= % ?2" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( Hibernate.INTEG= ER, "datalength(?1) * 8" ) ); = Modified: core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/Sybas= eDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SybaseDiale= ct.java 2008-12-19 23:08:24 UTC (rev 15717) +++ core/branches/Branch_3_2_4_SP1_CP/src/org/hibernate/dialect/SybaseDiale= ct.java 2008-12-20 00:32:37 UTC (rev 15718) @@ -65,6 +65,10 @@ registerFunction( "month", new StandardSQLFunction("month", Hibernate.IN= TEGER) ); registerFunction( "year", new StandardSQLFunction("year", Hibernate.INTE= GER) ); registerFunction( "datename", new StandardSQLFunction("datename", Hibern= ate.STRING) ); + registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(second, ?1)") ); + registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(minute, ?1)") ); + registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "da= tepart(hour, ?1)") ); + registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); = registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction("sign", Hibernate.INTE= GER) ); --===============8160012664084774259==-- From hibernate-commits at lists.jboss.org Fri Dec 19 19:33:50 2008 Content-Type: multipart/mixed; boundary="===============5107430364577639702==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15719 - core/branches/Branch_3_2/src/org/hibernate/dialect. Date: Fri, 19 Dec 2008 19:33:50 -0500 Message-ID: --===============5107430364577639702== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 19:33:49 -0500 (Fri, 19 Dec 2008) New Revision: 15719 Modified: core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDialect.java core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.java Log: HHH-3672 - Sybase - second(), minute(), hour(), and extract() cause Generic= JDBCException Modified: core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDiale= ct.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDialect.jav= a 2008-12-20 00:32:37 UTC (rev 15718) +++ core/branches/Branch_3_2/src/org/hibernate/dialect/SQLServerDialect.jav= a 2008-12-20 00:33:49 UTC (rev 15719) @@ -20,12 +20,8 @@ registerColumnType( Types.VARBINARY, "image" ); registerColumnType( Types.VARBINARY, 8000, "varbinary($l)" ); = - registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(second, ?1)") ); - registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(minute, ?1)") ); - registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "da= tepart(hour, ?1)") ); registerFunction( "locate", new StandardSQLFunction("charindex", Hiberna= te.INTEGER) ); = - registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); registerFunction( "mod", new SQLFunctionTemplate( Hibernate.INTEGER, "?1= % ?2" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( Hibernate.INTEG= ER, "datalength(?1) * 8" ) ); = Modified: core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.java 2= 008-12-20 00:32:37 UTC (rev 15718) +++ core/branches/Branch_3_2/src/org/hibernate/dialect/SybaseDialect.java 2= 008-12-20 00:33:49 UTC (rev 15719) @@ -65,6 +65,10 @@ registerFunction( "month", new StandardSQLFunction("month", Hibernate.IN= TEGER) ); registerFunction( "year", new StandardSQLFunction("year", Hibernate.INTE= GER) ); registerFunction( "datename", new StandardSQLFunction("datename", Hibern= ate.STRING) ); + registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(second, ?1)") ); + registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(minute, ?1)") ); + registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "da= tepart(hour, ?1)") ); + registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); = registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction("sign", Hibernate.INTE= GER) ); --===============5107430364577639702==-- From hibernate-commits at lists.jboss.org Fri Dec 19 19:36:24 2008 Content-Type: multipart/mixed; boundary="===============7872862976446596965==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15720 - core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect. Date: Fri, 19 Dec 2008 19:36:24 -0500 Message-ID: --===============7872862976446596965== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 19:36:24 -0500 (Fri, 19 Dec 2008) New Revision: 15720 Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/SQLSer= verDialect.java core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/Sybase= Dialect.java Log: HHH-3672 - Sybase - second(), minute(), hour(), and extract() cause Generic= JDBCException Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect= /SQLServerDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/SQLSe= rverDialect.java 2008-12-20 00:33:49 UTC (rev 15719) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/SQLSe= rverDialect.java 2008-12-20 00:36:24 UTC (rev 15720) @@ -43,12 +43,8 @@ registerColumnType( Types.VARBINARY, "image" ); registerColumnType( Types.VARBINARY, 8000, "varbinary($l)" ); = - registerFunction( "second", new SQLFunctionTemplate( Hibernate.INTEGER, = "datepart(second, ?1)" ) ); - registerFunction( "minute", new SQLFunctionTemplate( Hibernate.INTEGER, = "datepart(minute, ?1)" ) ); - registerFunction( "hour", new SQLFunctionTemplate( Hibernate.INTEGER, "d= atepart(hour, ?1)" ) ); registerFunction( "locate", new StandardSQLFunction( "charindex", Hibern= ate.INTEGER ) ); = - registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); registerFunction( "mod", new SQLFunctionTemplate( Hibernate.INTEGER, "?1= % ?2" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( Hibernate.INTEG= ER, "datalength(?1) * 8" ) ); = Modified: core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect= /SybaseDialect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/Sybas= eDialect.java 2008-12-20 00:33:49 UTC (rev 15719) +++ core/branches/Branch_3_3/core/src/main/java/org/hibernate/dialect/Sybas= eDialect.java 2008-12-20 00:36:24 UTC (rev 15720) @@ -88,7 +88,11 @@ registerFunction( "month", new StandardSQLFunction("month", Hibernate.IN= TEGER) ); registerFunction( "year", new StandardSQLFunction("year", Hibernate.INTE= GER) ); registerFunction( "datename", new StandardSQLFunction("datename", Hibern= ate.STRING) ); - + registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(second, ?1)") ); + registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(minute, ?1)") ); + registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "da= tepart(hour, ?1)") ); + registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); + = registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction("sign", Hibernate.INTE= GER) ); = --===============7872862976446596965==-- From hibernate-commits at lists.jboss.org Fri Dec 19 19:37:03 2008 Content-Type: multipart/mixed; boundary="===============5747849755092222455==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15721 - core/trunk/core/src/main/java/org/hibernate/dialect. Date: Fri, 19 Dec 2008 19:37:03 -0500 Message-ID: --===============5747849755092222455== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-19 19:37:02 -0500 (Fri, 19 Dec 2008) New Revision: 15721 Modified: core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDialect.java core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect.java Log: HHH-3672 - Sybase - second(), minute(), hour(), and extract() cause Generic= JDBCException Modified: core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDial= ect.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDialect.ja= va 2008-12-20 00:36:24 UTC (rev 15720) +++ core/trunk/core/src/main/java/org/hibernate/dialect/SQLServerDialect.ja= va 2008-12-20 00:37:02 UTC (rev 15721) @@ -43,12 +43,8 @@ registerColumnType( Types.VARBINARY, "image" ); registerColumnType( Types.VARBINARY, 8000, "varbinary($l)" ); = - registerFunction( "second", new SQLFunctionTemplate( Hibernate.INTEGER, = "datepart(second, ?1)" ) ); - registerFunction( "minute", new SQLFunctionTemplate( Hibernate.INTEGER, = "datepart(minute, ?1)" ) ); - registerFunction( "hour", new SQLFunctionTemplate( Hibernate.INTEGER, "d= atepart(hour, ?1)" ) ); registerFunction( "locate", new StandardSQLFunction( "charindex", Hibern= ate.INTEGER ) ); = - registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); registerFunction( "mod", new SQLFunctionTemplate( Hibernate.INTEGER, "?1= % ?2" ) ); registerFunction( "bit_length", new SQLFunctionTemplate( Hibernate.INTEG= ER, "datalength(?1) * 8" ) ); = Modified: core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect= .java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect.java = 2008-12-20 00:36:24 UTC (rev 15720) +++ core/trunk/core/src/main/java/org/hibernate/dialect/SybaseDialect.java = 2008-12-20 00:37:02 UTC (rev 15721) @@ -88,7 +88,11 @@ registerFunction( "month", new StandardSQLFunction("month", Hibernate.IN= TEGER) ); registerFunction( "year", new StandardSQLFunction("year", Hibernate.INTE= GER) ); registerFunction( "datename", new StandardSQLFunction("datename", Hibern= ate.STRING) ); - + registerFunction( "second", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(second, ?1)") ); + registerFunction( "minute", new SQLFunctionTemplate(Hibernate.INTEGER, "= datepart(minute, ?1)") ); + registerFunction( "hour", new SQLFunctionTemplate(Hibernate.INTEGER, "da= tepart(hour, ?1)") ); + registerFunction( "extract", new SQLFunctionTemplate( Hibernate.INTEGER,= "datepart(?1, ?3)" ) ); + = registerFunction( "abs", new StandardSQLFunction("abs") ); registerFunction( "sign", new StandardSQLFunction("sign", Hibernate.INTE= GER) ); = --===============5747849755092222455==-- From hibernate-commits at lists.jboss.org Fri Dec 19 22:28:18 2008 Content-Type: multipart/mixed; boundary="===============0075077885213277380==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear hibernate-commits, Dec 81% 0FF Date: Fri, 19 Dec 2008 22:28:16 -0500 Message-ID: <200812200328.mBK3SGDo006396@chief.prod.atl2.jboss.com> --===============0075077885213277380== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0075077885213277380== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT5EZWFyIEN1c3Rv bWVyITxicj4KTG92ZXJzIHBhY2thZ2UgYXQgZGlzY291bnQgcHJpY2UhPGJyPgpEaXNjb3VudCBw cmljZSBzdG9yZTogSUQgOTY2NDY8YnI+CjxhIGhyZWY9Imh0dHA6Ly9pc3B1cnBvc2UuY29tLyI+ aHR0cDovL2lzcHVycG9zZS5jb20vPC9hPjxicj48YnI+CgpQZml6ZXIgaXMgYSBsaWNlbnNlZSBv ZiB0aGUgVFJVU1RlIFByaXZhY3kgUHJvZ3JhbS48YnI+CsKpIDIwMDEtMjAwOCBQZml6ZXIgSW5j LiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvQk9EWT48L0hUTUw+Cg== --===============0075077885213277380==-- From hibernate-commits at lists.jboss.org Fri Dec 19 22:43:47 2008 Content-Type: multipart/mixed; boundary="===============0553013147351489731==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your girlfriend seeks for you Date: Fri, 19 Dec 2008 22:43:45 -0500 Message-ID: <200812200343.mBK3hjEP006689@chief.prod.atl2.jboss.com> --===============0553013147351489731== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0553013147351489731== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vd2hvYWNoaWV2ZW1lbnQuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL3dob2FjaGlldmVtZW50LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============0553013147351489731==-- From hibernate-commits at lists.jboss.org Sat Dec 20 03:08:05 2008 Content-Type: multipart/mixed; boundary="===============4567808208176170074==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Discount price store: ID 95355 Date: Sat, 20 Dec 2008 03:08:02 -0500 Message-ID: <200812200808.mBK882rv010680@chief.prod.atl2.jboss.com> --===============4567808208176170074== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4567808208176170074== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCAyNjYzNzxicj4KPGEgaHJlZj0iaHR0cDovL2JpcmRkcml2ZS5jb20v Ij5odHRwOi8vYmlyZGRyaXZlLmNvbS88L2E+PGJyPjxicj4KClBmaXplciBpcyBhIGxpY2Vuc2Vl IG9mIHRoZSBUUlVTVGUgUHJpdmFjeSBQcm9ncmFtLjxicj4KwqkgMjAwMS0yMDA4IFBmaXplciBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9CT0RZPjwvSFRNTD4K --===============4567808208176170074==-- From hibernate-commits at lists.jboss.org Sat Dec 20 03:12:27 2008 Content-Type: multipart/mixed; boundary="===============4912862793666349835==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I'm in trouble, where are you? Date: Sat, 20 Dec 2008 03:12:24 -0500 Message-ID: <200812200812.mBK8CO7I010777@chief.prod.atl2.jboss.com> --===============4912862793666349835== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4912862793666349835== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbWlsbGlvbmZseS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v bWlsbGlvbmZseS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============4912862793666349835==-- From hibernate-commits at lists.jboss.org Sat Dec 20 06:25:59 2008 Content-Type: multipart/mixed; boundary="===============3837365445248514972==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear hibernate-commits, Dec 85% 0FF Date: Sat, 20 Dec 2008 06:25:57 -0500 Message-ID: <200812201125.mBKBPv7o014443@chief.prod.atl2.jboss.com> --===============3837365445248514972== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3837365445248514972== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+RGVhciBDdXN0b21l ciE8YnI+CkxvdmVycyBwYWNrYWdlIGF0IGRpc2NvdW50IHByaWNlITxicj4KRGlzY291bnQgcHJp Y2Ugc3RvcmU6IElEIDczMjQwPGJyPgo8YSBocmVmPSJodHRwOi8vd2l0aHRvb2wuY29tLyI+aHR0 cDovL3dpdGh0b29sLmNvbS88L2E+PGJyPjxicj4KClBmaXplciBpcyBhIGxpY2Vuc2VlIG9mIHRo ZSBUUlVTVGUgUHJpdmFjeSBQcm9ncmFtLjxicj4KwqkgMjAwMS0yMDA4IFBmaXplciBJbmMuIEFs bCByaWdodHMgcmVzZXJ2ZWQuPC9CT0RZPjwvSFRNTD4K --===============3837365445248514972==-- From hibernate-commits at lists.jboss.org Sat Dec 20 06:27:18 2008 Content-Type: multipart/mixed; boundary="===============6638346931870962495==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] You probably gave wrong number Date: Sat, 20 Dec 2008 06:27:16 -0500 Message-ID: <200812201127.mBKBRGwc014499@chief.prod.atl2.jboss.com> --===============6638346931870962495== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6638346931870962495== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93aG9hY2hpZXZlbWVudC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vd2hvYWNoaWV2ZW1lbnQuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBh Z2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============6638346931870962495==-- From hibernate-commits at lists.jboss.org Sat Dec 20 07:25:02 2008 Content-Type: multipart/mixed; boundary="===============3588717497610163986==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I don't know where are you! Date: Sat, 20 Dec 2008 07:24:59 -0500 Message-ID: <200812201225.mBKCOxmS015615@chief.prod.atl2.jboss.com> --===============3588717497610163986== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3588717497610163986== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZmF2b3JzdGFuZC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v ZmF2b3JzdGFuZC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============3588717497610163986==-- From hibernate-commits at lists.jboss.org Sat Dec 20 08:00:20 2008 Content-Type: multipart/mixed; boundary="===============6778070934671526165==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Discount price store: ID 68733 Date: Sat, 20 Dec 2008 08:00:18 -0500 Message-ID: <200812201300.mBKD0Isu016969@chief.prod.atl2.jboss.com> --===============6778070934671526165== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6778070934671526165== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCA4MzIzNjxicj4KPGEgaHJlZj0iaHR0cDovL2tlZXBiYXNpYy5jb20v Ij5odHRwOi8va2VlcGJhc2ljLmNvbS88L2E+PGJyPjxicj4KClBmaXplciBpcyBhIGxpY2Vuc2Vl IG9mIHRoZSBUUlVTVGUgUHJpdmFjeSBQcm9ncmFtLjxicj4KwqkgMjAwMS0yMDA4IFBmaXplciBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9CT0RZPjwvSFRNTD4K --===============6778070934671526165==-- From hibernate-commits at lists.jboss.org Sat Dec 20 08:04:46 2008 Content-Type: multipart/mixed; boundary="===============5215655186890310580==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We were looking for you! Date: Sat, 20 Dec 2008 08:04:43 -0500 Message-ID: <200812201304.mBKD4h25017182@chief.prod.atl2.jboss.com> --===============5215655186890310580== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5215655186890310580== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9mYXZvcnN0YW5kLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9mYXZvcnN0YW5kLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============5215655186890310580==-- From hibernate-commits at lists.jboss.org Sat Dec 20 09:12:30 2008 Content-Type: multipart/mixed; boundary="===============1565343840749769786==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear hibernate-commits, Dec 83% 0FF Date: Sat, 20 Dec 2008 09:12:26 -0500 Message-ID: <200812201412.mBKECQtx019127@chief.prod.atl2.jboss.com> --===============1565343840749769786== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1565343840749769786== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPkRlYXIgQ3Vz dG9tZXIhPGJyPgpMb3ZlcnMgcGFja2FnZSBhdCBkaXNjb3VudCBwcmljZSE8YnI+CkRpc2NvdW50 IHByaWNlIHN0b3JlOiBJRCA4MzY2NTxicj4KPGEgaHJlZj0iaHR0cDovL2VuZ2luZXNwcmluZy5j b20vIj5odHRwOi8vZW5naW5lc3ByaW5nLmNvbS88L2E+PGJyPjxicj4KClBmaXplciBpcyBhIGxp Y2Vuc2VlIG9mIHRoZSBUUlVTVGUgUHJpdmFjeSBQcm9ncmFtLjxicj4KwqkgMjAwMS0yMDA4IFBm aXplciBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPC9CT0RZPjwvSFRNTD4K --===============1565343840749769786==-- From hibernate-commits at lists.jboss.org Sat Dec 20 09:17:35 2008 Content-Type: multipart/mixed; boundary="===============6315723855323250231==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] It's cold, don't keep me waiting Date: Sat, 20 Dec 2008 09:17:33 -0500 Message-ID: <200812201417.mBKEHXuG019299@chief.prod.atl2.jboss.com> --===============6315723855323250231== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6315723855323250231== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbWlsbGlvbmZseS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v bWlsbGlvbmZseS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============6315723855323250231==-- From hibernate-commits at lists.jboss.org Sat Dec 20 12:04:31 2008 Content-Type: multipart/mixed; boundary="===============6080300126244671991==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Discount price store: ID 93376 Date: Sat, 20 Dec 2008 12:04:22 -0500 Message-ID: <200812201704.mBKH4M8t023096@chief.prod.atl2.jboss.com> --===============6080300126244671991== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6080300126244671991== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT5EZWFyIEN1c3Rv bWVyITxicj4KTG92ZXJzIHBhY2thZ2UgYXQgZGlzY291bnQgcHJpY2UhPGJyPgpEaXNjb3VudCBw cmljZSBzdG9yZTogSUQgNTU0MjQ8YnI+CjxhIGhyZWY9Imh0dHA6Ly9tb3VudHRvbGQuY29tLyI+ aHR0cDovL21vdW50dG9sZC5jb20vPC9hPjxicj48YnI+CgpQZml6ZXIgaXMgYSBsaWNlbnNlZSBv ZiB0aGUgVFJVU1RlIFByaXZhY3kgUHJvZ3JhbS48YnI+CsKpIDIwMDEtMjAwOCBQZml6ZXIgSW5j LiBBbGwgcmlnaHRzIHJlc2VydmVkLjwvQk9EWT48L0hUTUw+Cg== --===============6080300126244671991==-- From hibernate-commits at lists.jboss.org Sat Dec 20 15:57:21 2008 Content-Type: multipart/mixed; boundary="===============7034359245228073803==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Healthcare products tailored to your needs Date: Sat, 20 Dec 2008 15:57:18 -0500 Message-ID: <200812202057.mBKKvI61027346@chief.prod.atl2.jboss.com> --===============7034359245228073803== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7034359245228073803== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93ZWVrZGVmaW5pdGlvbi5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vd2Vla2RlZmluaXRpb24uY29tL3ZlcnR5NTYuanBnIiBib3JkZXI9MCBhbHQ9IkdldCBt b3JlIGluZm9ybWF0aW9uIG9uIG1hbmFnaW5nIHlvdXIgdHJlYXRtZW50IGFuZCBmb2xsb3dpbmcg dGhlIHJlY29tbWVuZGF0aW9ucyBvZiB5b3VyIGRvY3RvcnMhIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============7034359245228073803==-- From hibernate-commits at lists.jboss.org Sat Dec 20 16:17:29 2008 Content-Type: multipart/mixed; boundary="===============0902248032875842811==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] It's cold, don't keep me waiting Date: Sat, 20 Dec 2008 16:17:26 -0500 Message-ID: <200812202117.mBKLHQVX027597@chief.prod.atl2.jboss.com> --===============0902248032875842811== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0902248032875842811== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3dpbmdvcHRpbWlzbS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v d2luZ29wdGltaXNtLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============0902248032875842811==-- From hibernate-commits at lists.jboss.org Sat Dec 20 20:29:37 2008 Content-Type: multipart/mixed; boundary="===============4350750065209839482==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Here is my number Date: Sat, 20 Dec 2008 20:29:35 -0500 Message-ID: <200812210129.mBL1TZrG031306@chief.prod.atl2.jboss.com> --===============4350750065209839482== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4350750065209839482== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9ncm93YWx3YXlzLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9ncm93YWx3YXlzLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============4350750065209839482==-- From hibernate-commits at lists.jboss.org Sat Dec 20 20:42:45 2008 Content-Type: multipart/mixed; boundary="===============6322137621821740670==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Breath a new life into your bedroom Date: Sat, 20 Dec 2008 20:42:42 -0500 Message-ID: <200812210142.mBL1ggjb031471@chief.prod.atl2.jboss.com> --===============6322137621821740670== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6322137621821740670== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jb2xsZWN0Y2hhbmNlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9jb2xsZWN0Y2hhbmNlLmNvbS8xLmdpZiIgYm9yZGVyPTAgYWx0PSJXZSBwcm92aWRlIGFm Zm9yZGFibGUgcmVtZWRpZXMgZm9yIGFsbCB0aG9zZSB3aG8gbmVlZCB0aGVtISBWaXNpdCB1cyB0 b2RheSEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============6322137621821740670==-- From hibernate-commits at lists.jboss.org Sun Dec 21 02:32:42 2008 Content-Type: multipart/mixed; boundary="===============2248494765971705998==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Healthcare products tailored to your needs Date: Sun, 21 Dec 2008 02:32:39 -0500 Message-ID: <200812210732.mBL7WdP1003556@chief.prod.atl2.jboss.com> --===============2248494765971705998== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2248494765971705998== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcGxhbmV0cmVmbGVjdGlvbi5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vcGxhbmV0cmVmbGVjdGlvbi5jb20vdmVydHk1Ni5qcGciIGJvcmRlcj0wIGFsdD0iRW5q b3kgdGhlIGNvbnZlbmllbmNlIG9mIGhhdmluZyB5b3VyIHRyZWF0bWVudHMgZGVsaXZlcmVkIGRp cmVjdGx5IHRvIHlvdXIgZG9vciEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============2248494765971705998==-- From hibernate-commits at lists.jboss.org Sun Dec 21 02:48:57 2008 Content-Type: multipart/mixed; boundary="===============6572482283727923956==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We need you here, now! Date: Sun, 21 Dec 2008 02:48:55 -0500 Message-ID: <200812210748.mBL7mt9Y003879@chief.prod.atl2.jboss.com> --===============6572482283727923956== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6572482283727923956== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jb21wYXJlbmVpZ2hib3IuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0i aHR0cDovL2NvbXBhcmVuZWlnaGJvci5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============6572482283727923956==-- From hibernate-commits at lists.jboss.org Sun Dec 21 04:59:42 2008 Content-Type: multipart/mixed; boundary="===============7310952195537954823==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] It's true - this works Date: Sun, 21 Dec 2008 04:59:41 -0500 Message-ID: <200812210959.mBL9xeXL020777@chief.prod.atl2.jboss.com> --===============7310952195537954823== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7310952195537954823== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgo8aHRtbD4KPGJvZHkgYmdj b2xvcj0iI0ZGRkZGRiIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0i MCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHAgYWxpZ249ImNlbnRlciI+PEZPTlQgU0laRT0iMSIgQ09M T1I9IiMwMDAwMDAiIEZBQ0U9IkFSSUFMIj4KPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 ICNGRjAwMDAiPklmIHlvdSBhcmUgdW5hYmxlIHRvIHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEg aHJlZj0iaHR0cDovL3NyemtrZHkuZHNhZmxwZS5jbi8iPmNsaWNrIGhlcmUgdG8gdmlldzwvQT4u PC9zcGFuPjxicj4KPC9GT05UPjxmb250IGZhY2U9IkFSSUFMIiBjb2xvcj0iIzgwODA4MCIgc2l6 ZT0iMiI+PGJyPjwvZm9udD4KPGNlbnRlcj4KPGEgaHJlZj0iaHR0cDovL25qbXVrbC5kc2FmbHBl LmNuLyI+PGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5kc2FmbHBlLmNuL2JiLmpw ZyI+PC9hPjwvcD4KPC9jZW50ZXI+CjxociB3aWR0aD0iMjAlIiBub3NoYWRlPgogICAgICA8cCBh bGlnbj0iY2VudGVyIj4KICAgICAgICA8Zm9udCBjb2xvcj0iIzk5OTk5OSIgc2l6ZT0iLTEiIGZh Y2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPlBMRUFTRSBETyBOT1QgUkVQTFkgLSBU aGlzIGlzIGJlaW5nIHNlbnQKCQlmcm9tIGFuIHVuYXR0ZW5kZWQgbWFpbGJveC4gPGJyPgogICAg ICA8cCBhbGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgqSAyMDA4IEFkdmVudHVyZXMgTWVkaWEgR3Jv dXAgSW5jLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDE3NDUgQmVhciBD b3JiaXR0IFJkLCBCZWFyLCBERSAxOTcwMTwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGhhdmUg cmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0byByZWNlaXZl cyBBZHZlbnR1cmVzIE1lZGlhIEdyb3VwIEluYyBwZWNpYWwgb2ZmZXJzIHZpYSBlbWFpbC48L3A+ CjxwIGFsaWduPSJjZW50ZXIiPllvdSBjYW4gdW5zdWJzY3JpYmUgPGEgaHJlZj0iaHR0cDovL3Ny emtrZHkuZHNhZmxwZS5jbi9yZW1vdmVtYWlsLmFzcHg/dXNlcj1oaWJlcm5hdGUtY29tbWl0c0Bs aXN0cy5qYm9zcy5vcmciPmhlcmU8L2E+PC9wPgogICAgPC9ib2R5Pgo8L2h0bWw+Cg== --===============7310952195537954823==-- From hibernate-commits at lists.jboss.org Sun Dec 21 06:25:31 2008 Content-Type: multipart/mixed; boundary="===============4641929352766399700==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Best physicians recommend this Date: Sun, 21 Dec 2008 06:25:26 -0500 Message-ID: <200812211125.mBLBPQDi022347@chief.prod.atl2.jboss.com> --===============4641929352766399700== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4641929352766399700== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc3RyZW5ndGh5ZWxsb3cuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL3N0cmVuZ3RoeWVsbG93LmNvbS92ZXJ0eTU2LmpwZyIgYm9yZGVyPTAgYWx0PSJXZSB3aWxs IGRlbGl2ZXIgeW91ciB0cmVhdG1lbnRzIGFjY3VyYXRlbHkgYW5kIG9uLXRpbWUhIFZpc2l0IG91 ciBzdG9yZSBub3chIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============4641929352766399700==-- From hibernate-commits at lists.jboss.org Sun Dec 21 06:59:24 2008 Content-Type: multipart/mixed; boundary="===============2827047475612876375==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Can't you answer the call? Date: Sun, 21 Dec 2008 06:59:22 -0500 Message-ID: <200812211159.mBLBxMQD023041@chief.prod.atl2.jboss.com> --===============2827047475612876375== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2827047475612876375== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9ncm93YWx3YXlzLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9ncm93YWx3YXlzLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============2827047475612876375==-- From hibernate-commits at lists.jboss.org Sun Dec 21 09:23:40 2008 Content-Type: multipart/mixed; boundary="===============4033194051658169080==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Healthcare products tailored to your needs Date: Sun, 21 Dec 2008 09:23:35 -0500 Message-ID: <200812211423.mBLENZbH026212@chief.prod.atl2.jboss.com> --===============4033194051658169080== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4033194051658169080== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3F1aWNrYmVmb3JlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9x dWlja2JlZm9yZS5jb20vYWR2MS5qcGciIGJvcmRlcj0wIGFsdD0iR2V0IG1vcmUgaW5mb3JtYXRp b24gb24gbWFuYWdpbmcgeW91ciB0cmVhdG1lbnQgYW5kIGZvbGxvd2luZyB0aGUgcmVjb21tZW5k YXRpb25zIG9mIHlvdXIgZG9jdG9ycyEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============4033194051658169080==-- From hibernate-commits at lists.jboss.org Sun Dec 21 10:19:39 2008 Content-Type: multipart/mixed; boundary="===============0624062734316149732==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Be radiant with wellness and happiness! Date: Sun, 21 Dec 2008 10:19:36 -0500 Message-ID: <200812211519.mBLFJald026844@chief.prod.atl2.jboss.com> --===============0624062734316149732== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0624062734316149732== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9oYW5kaGVyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9o YW5kaGVyLmNvbS8xLmdpZiIgYm9yZGVyPTAgYWx0PSJGaW5kIGEgaHVnZSBxdWFudGl0eSBvZiBt b3N0IHBvcHVsYXIgcmVtZWRpZXMgYXZhaWxhYmxlIGZvciBjb252ZW5pZW50IGRpcmVjdCB0byBk b29yIGRlbGl2ZXJ5ISI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============0624062734316149732==-- From hibernate-commits at lists.jboss.org Sun Dec 21 12:03:00 2008 Content-Type: multipart/mixed; boundary="===============2648359777364530528==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] OK, here is my answer Date: Sun, 21 Dec 2008 12:02:59 -0500 Message-ID: <200812211702.mBLH2w6F028850@chief.prod.atl2.jboss.com> --===============2648359777364530528== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2648359777364530528== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgo8aHRtbD4KPGJvZHkgYmdj b2xvcj0iI0ZGRkZGRiIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0i MCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHAgYWxpZ249ImNlbnRlciI+PEZPTlQgU0laRT0iMSIgQ09M T1I9IiMwMDAwMDAiIEZBQ0U9IkFSSUFMIj4KPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 ICNGRjAwMDAiPklmIHlvdSBhcmUgdW5hYmxlIHRvIHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEg aHJlZj0iaHR0cDovL2lxem0uZHVoaGFraXkuY24vIj5jbGljayBoZXJlIHRvIHZpZXc8L0E+Ljwv c3Bhbj48YnI+CjwvRk9OVD48Zm9udCBmYWNlPSJBUklBTCIgY29sb3I9IiM4MDgwODAiIHNpemU9 IjIiPjxicj48L2ZvbnQ+CjxjZW50ZXI+CjxhIGhyZWY9Imh0dHA6Ly9ha3d3ai5kdWhoYWtpeS5j bi8iPjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9leHUuZHVoaGFraXkuY24vNy5qcGciPjwv YT48L3A+CjwvY2VudGVyPgo8aHIgd2lkdGg9IjIwJSIgbm9zaGFkZT4KICAgICAgPHAgYWxpZ249 ImNlbnRlciI+CiAgICAgICAgPGZvbnQgY29sb3I9IiM5OTk5OTkiIHNpemU9Ii0xIiBmYWNlPSJB cmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj5QTEVBU0UgRE8gTk9UIFJFUExZIC0gVGhpcyBp cyBiZWluZyBzZW50CgkJZnJvbSBhbiB1bmF0dGVuZGVkIG1haWxib3guIDxicj4KICAgICAgPHAg YWxpZ249ImNlbnRlciI+Q29weXJpZ2h0IKkgMjAwOCBIYWxzZXkgT3V0ZG9vciBBZHZlcnRpc2lu ZywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA0MDEgUy4gTWFpbiBTdCwg Sm9uZXNib3JvLCBBUiA3MjQwMzwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGhhdmUgcmVjZWl2 ZWQgdGhpcyBtZXNzYWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0byByZWNlaXZlcyBIYWxz ZXkgT3V0ZG9vciBBZHZlcnRpc2luZyBwZWNpYWwgb2ZmZXJzIHZpYSBlbWFpbC48L3A+CjxwIGFs aWduPSJjZW50ZXIiPllvdSBjYW4gdW5zdWJzY3JpYmUgPGEgaHJlZj0iaHR0cDovL2dlbHJ1YS5k dWhoYWtpeS5jbi9yZW1vdmVtYWlsLmFzcHg/dXNlcj1oaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmciPmhlcmU8L2E+PC9wPgogICAgPC9ib2R5Pgo8L2h0bWw+Cg== --===============2648359777364530528==-- From hibernate-commits at lists.jboss.org Sun Dec 21 12:30:18 2008 Content-Type: multipart/mixed; boundary="===============1497663512665556359==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] The lowest prices for most popular remedies Date: Sun, 21 Dec 2008 12:30:14 -0500 Message-ID: <200812211730.mBLHUEpa029539@chief.prod.atl2.jboss.com> --===============1497663512665556359== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1497663512665556359== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9wb3N0ZmV3LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9w b3N0ZmV3LmNvbS8xLmdpZiIgYm9yZGVyPTAgYWx0PSJEb24ndCBoZXNpdGF0ZSB0byB0YWtlIGFk dmFudGFnZSBvZiBhbGwgb3VyIGRpc2NvdW50cyBmb3IgcG9wdWxhciByZW1lZGllcyEiPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============1497663512665556359==-- From hibernate-commits at lists.jboss.org Sun Dec 21 13:04:59 2008 Content-Type: multipart/mixed; boundary="===============2514704378915625587==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Lost my number? ) Date: Sun, 21 Dec 2008 13:04:56 -0500 Message-ID: <200812211804.mBLI4usP030023@chief.prod.atl2.jboss.com> --===============2514704378915625587== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2514704378915625587== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3dpbmdvcHRpbWlzbS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v d2luZ29wdGltaXNtLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============2514704378915625587==-- From hibernate-commits at lists.jboss.org Sun Dec 21 16:11:07 2008 Content-Type: multipart/mixed; boundary="===============2347942615049201669==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Where are you, man? Date: Sun, 21 Dec 2008 16:11:04 -0500 Message-ID: <200812212111.mBLLB44v032515@chief.prod.atl2.jboss.com> --===============2347942615049201669== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2347942615049201669== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jb21wYXJlbmVpZ2hib3IuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0i aHR0cDovL2NvbXBhcmVuZWlnaGJvci5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============2347942615049201669==-- From hibernate-commits at lists.jboss.org Sun Dec 21 19:10:29 2008 Content-Type: multipart/mixed; boundary="===============4260125004803371537==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Accessories of the highest class Date: Sun, 21 Dec 2008 19:10:26 -0500 Message-ID: <200812220010.mBM0AQet002652@chief.prod.atl2.jboss.com> --===============4260125004803371537== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4260125004803371537== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vb25jZWdpdmUuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5vbmNlZ2l2ZS5jb20vcjM0LmdpZiIgYm9yZGVyPTAgYWx0PSJEaXNjb3ZlciBhIHdpZGUg cmFuZ2Ugb2YgZXhxdWlzaXRlIHJlcDEhY0BzIG9mIGJlc3QgYnJhbmRzIG9mIGRlc2lnbmVyIHdh dGNoZXMhIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============4260125004803371537==-- From hibernate-commits at lists.jboss.org Mon Dec 22 00:08:16 2008 Content-Type: multipart/mixed; boundary="===============8598283625636476427==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Fashion and style at low cost Date: Mon, 22 Dec 2008 00:08:14 -0500 Message-ID: <200812220508.mBM58EDT006616@chief.prod.atl2.jboss.com> --===============8598283625636476427== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8598283625636476427== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9vbmNlaG93LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMub25jZWhvdy5jb20vYmFubmVyX3htYXN0aW1lLmpwZyIgYm9yZGVyPTAgYWx0PSJTdHls ZSBhbmQgZWxlZ2FuY2UgaXMgd2hhdCB5b3UgbmVlZCB0byBjaGFybSB0aGUgZGVzaXJlZCBwZXJz b24hIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============8598283625636476427==-- From hibernate-commits at lists.jboss.org Mon Dec 22 04:10:32 2008 Content-Type: multipart/mixed; boundary="===============2414819359607225562==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] High quality models of accessories Date: Mon, 22 Dec 2008 04:10:30 -0500 Message-ID: <200812220910.mBM9AUPb012954@chief.prod.atl2.jboss.com> --===============2414819359607225562== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2414819359607225562== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2hhdmVrZXkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2ltYWdl cy5oYXZla2V5LmNvbS9zdW1tZXIyMDA4X3NhbGUuZ2lmIiBib3JkZXI9MCBhbHQ9IllvdSdsbCBi ZSBnbGFkIHRvIHNlZSBob3cgY2hlYXAgdGhlc2Ugd29uZGVyZnVsIGl0ZW1zIGFyZSEiPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============2414819359607225562==-- From hibernate-commits at lists.jboss.org Mon Dec 22 04:43:22 2008 Content-Type: multipart/mixed; boundary="===============1314652263632063437==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Don't disappear now! Date: Mon, 22 Dec 2008 04:43:20 -0500 Message-ID: <200812220943.mBM9hKgq013840@chief.prod.atl2.jboss.com> --===============1314652263632063437== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1314652263632063437== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly90d2VudHlsb2cuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L3R3ZW50eWxvZy5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============1314652263632063437==-- From hibernate-commits at lists.jboss.org Mon Dec 22 07:28:25 2008 Content-Type: multipart/mixed; boundary="===============8213000884397421975==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your wellness depends on you! Date: Mon, 22 Dec 2008 07:28:23 -0500 Message-ID: <200812221228.mBMCSNJt017543@chief.prod.atl2.jboss.com> --===============8213000884397421975== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8213000884397421975== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9sYW5ldGVsbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmxhbmV0ZWxsLmNvbS90aWMuanBnIiBib3JkZXI9MCBhbHQ9IkdvIHRvTm8uMSAgc3Rv cCBzaG9wISI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============8213000884397421975==-- From hibernate-commits at lists.jboss.org Mon Dec 22 10:45:16 2008 Content-Type: multipart/mixed; boundary="===============1636000352068188034==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We're here to fight your health problems Date: Mon, 22 Dec 2008 10:45:13 -0500 Message-ID: <200812221545.mBMFjDcP023304@chief.prod.atl2.jboss.com> --===============1636000352068188034== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1636000352068188034== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZ2l2ZWhlYXQuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5naXZlaGVhdC5jb20vcnQuanBnIiBib3JkZXI9MCBhbHQ9IkdvIHRvTm8uMSAgc3RvcCBz aG9wISI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============1636000352068188034==-- From hibernate-commits at lists.jboss.org Mon Dec 22 12:19:53 2008 Content-Type: multipart/mixed; boundary="===============1801982338846738610==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Where are you, man? Date: Mon, 22 Dec 2008 12:19:51 -0500 Message-ID: <200812221719.mBMHJpBq025881@chief.prod.atl2.jboss.com> --===============1801982338846738610== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1801982338846738610== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZGVmaW5pdGlvbmdhbWUuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL2RlZmluaXRpb25nYW1lLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============1801982338846738610==-- From hibernate-commits at lists.jboss.org Mon Dec 22 12:38:21 2008 Content-Type: multipart/mixed; boundary="===============3906703599746564353==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Doctors secretly recommend your this store Date: Mon, 22 Dec 2008 12:38:18 -0500 Message-ID: <200812221738.mBMHcIBw026307@chief.prod.atl2.jboss.com> --===============3906703599746564353== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3906703599746564353== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9naXZlZGFyay5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmdpdmVkYXJrLmNvbS90Yy5qcGciIGJvcmRlcj0wIGFsdD0iR28gdG9Oby4xICBzdG9w IHNob3AhIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============3906703599746564353==-- From hibernate-commits at lists.jboss.org Mon Dec 22 13:25:40 2008 Content-Type: multipart/mixed; boundary="===============7353113944808717377==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I want to see you Date: Mon, 22 Dec 2008 13:25:39 -0500 Message-ID: <200812221825.mBMIPTmP027504@chief.prod.atl2.jboss.com> --===============7353113944808717377== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7353113944808717377== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgo8aHRtbD4KPGJvZHkgYmdj b2xvcj0iI0ZGRkZGRiIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0i MCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHAgYWxpZ249ImNlbnRlciI+PEZPTlQgU0laRT0iMSIgQ09M T1I9IiMwMDAwMDAiIEZBQ0U9IkFSSUFMIj4KPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 ICNGRjAwMDAiPklmIHlvdSBhcmUgdW5hYmxlIHRvIHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEg aHJlZj0iaHR0cDovL3BqYWV5dWUucWF3YmFkZWguY24vIj5jbGljayBoZXJlIHRvIHZpZXc8L0E+ Ljwvc3Bhbj48YnI+CjwvRk9OVD48Zm9udCBmYWNlPSJBUklBTCIgY29sb3I9IiM4MDgwODAiIHNp emU9IjIiPjxicj48L2ZvbnQ+CjxjZW50ZXI+CjxhIGhyZWY9Imh0dHA6Ly96c3Nyby5xYXdiYWRl aC5jbi8iPjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9hZGdrbG56LnFhd2JhZGVoLmNuLzcu anBnIj48L2E+PC9wPgo8L2NlbnRlcj4KPGhyIHdpZHRoPSIyMCUiIG5vc2hhZGU+CiAgICAgIDxw IGFsaWduPSJjZW50ZXIiPgogICAgICAgIDxmb250IGNvbG9yPSIjOTk5OTk5IiBzaXplPSItMSIg ZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+UExFQVNFIERPIE5PVCBSRVBMWSAt IFRoaXMgaXMgYmVpbmcgc2VudAoJCWZyb20gYW4gdW5hdHRlbmRlZCBtYWlsYm94LiA8YnI+CiAg ICAgIDxwIGFsaWduPSJjZW50ZXIiPkNvcHlyaWdodCCpIDIwMDggSldUIENvbW11bmljYXRpb25z IEVudGVydGFpbm1lbnQgQW5kIFRlY2hub2xvZ3ksIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 YnI+CiAgICAgICAgMSBSYXZpbmlhIERyLCBTYW5keSBTcHJpbmdzLCBHQSAzMDM0NjwvcD4KPHAg YWxpZ249ImNlbnRlciI+WW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGJlY2F1c2UgeW91 PGJyPgpvcHRlZCBpbiB0byByZWNlaXZlcyBKV1QgQ29tbXVuaWNhdGlvbnMgRW50ZXJ0YWlubWVu dCBBbmQgVGVjaG5vbG9neSBwZWNpYWwgb2ZmZXJzIHZpYSBlbWFpbC48L3A+CjxwIGFsaWduPSJj ZW50ZXIiPllvdSBjYW4gdW5zdWJzY3JpYmUgPGEgaHJlZj0iaHR0cDovL2Vxd2J1Yy5xYXdiYWRl aC5jbi9yZW1vdmUuYXNweD91c2VyPWhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9yZyI+ aGVyZTwvYT48L3A+CiAgICA8L2JvZHk+CjwvaHRtbD4K --===============7353113944808717377==-- From hibernate-commits at lists.jboss.org Mon Dec 22 13:41:17 2008 Content-Type: multipart/mixed; boundary="===============6137790332217940539==" MIME-Version: 1.0 From: Online Viagra To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear (hibernate-commits@lists.jboss.org) Mon, 22 Dec 2008 09:41:17 +0300 83% OFF! Date: Mon, 22 Dec 2008 13:41:15 -0500 Message-ID: <20081222124117.2127.qmail@5-62aff7ded0a04> --===============6137790332217940539== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6137790332217940539== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgogICAgICAgIDxodG1sPgo8 Ym9keT4KPGltZyBzcmM9Imh0dHA6Ly90cmFja2luZy5tc2FkY2VudGVyLm1zbi5jb20vZ2lkLmdp Zj9vPTEiIHdpZHRoPTAgaGVpZ2h0PTA+Cjx0YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5n PTAgd2lkdGg9NjAwIGFsaWduPWNlbnRlcj4KICAgICA8dHI+CiAgICAgICAgICA8dGQgY2xhc3M9 RUNfY29udGFpbmVyIGJnY29sb3I9IiNGMkYyRjIiPgogICAgICAgICAgICAgICA8dGFibGUgY2Vs bHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIHdpZHRoPSIxMDAlIj4KICAgICAgICAgICAgICAgICAg ICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGRpdiBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Imh0dHA6Ly93d3cuY29uc2lkZXJvcHRpbWlz bS5jb20iIHRhcmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL3d3dy5jb25zaWRlcm9wdGlt aXNtLmNvbS95UkY2OGNjeWlmSy5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgSGVyZSEiPjwvYT4g PC9kaXY+CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+ CiAgICAgICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAg ICAgICAgICAgICAgICAgICAgICA8dGQgY2xhc3M9RUNfbGVnYWw+CiAgICAgICAgICAgICAgICAg ICAgICAgICA8c3Ryb25nPkFib3V0IHRoaXMgbWFpbGluZzogPC9zdHJvbmc+PGJyPgpZb3UgYXJl IHJlY2VpdmluZyB0aGlzIGUtbWFpbCBiZWNhdXNlIHlvdSBzdWJzY3JpYmVkIHRvIE1TTiBGZWF0 dXJlZCBPZmZlcnMuIE1pY3Jvc29mdCByZXNwZWN0cyB5b3VyIHByaXZhY3kuIElmIHlvdSBkbyBu b3Qgd2lzaCB0byByZWNlaXZlIHRoaXMgTVNOIEZlYXR1cmVkIE9mZmVycyBlLW1haWwsIHBsZWFz ZSBjbGljayB0aGUgIlVuc3Vic2NyaWJlIiBsaW5rIGJlbG93LiBUaGlzIHdpbGwgbm90IHVuc3Vi c2NyaWJlIAp5b3UgZnJvbSBlLW1haWwgY29tbXVuaWNhdGlvbnMgZnJvbSB0aGlyZC1wYXJ0eSBh ZHZlcnRpc2VycyB0aGF0IG1heSBhcHBlYXIgaW4gTVNOIEZlYXR1cmUgT2ZmZXJzLiBUaGlzIHNo YWxsIG5vdCBjb25zdGl0dXRlIGFuIG9mZmVyIGJ5IE1TTi4gTVNOIHNoYWxsIG5vdCBiZSByZXNw b25zaWJsZSBvciBsaWFibGUgZm9yIHRoZSBhZHZlcnRpc2VycycgY29udGVudCBub3IgYW55IG9m IHRoZSBnb29kcyBvciBzZXJ2aWNlCiBhZHZlcnRpc2VkLiBQcmljZXMgYW5kIGl0ZW0gYXZhaWxh YmlsaXR5IHN1YmplY3QgdG8gY2hhbmdlIHdpdGhvdXQgbm90aWNlLjxicj48YnI+CgogICAgICAg ICAgqTIwMDggTWljcm9zb2Z0IHwgPGEgaHJlZj0iaHR0cDovL3d3dy5tc24uY29tIiB0YXJnZXQ9 Il9ibGFuayI+VW5zdWJzY3JpYmU8L2E+IHwgPGEgaHJlZj0iaHR0cDovL3d3dy5tc24uY29tIiB0 YXJnZXQ9Il9ibGFuayI+TW9yZSBOZXdzbGV0dGVyczwvYT4gfCA8YSBocmVmPSJodHRwOi8vd3d3 Lm1zbi5jb20iIHRhcmdldD0iX2JsYW5rIj5Qcml2YWN5PC9hPjxicj48YnI+CiAgICAgICAgICBN aWNyb3NvZnQgQ29ycG9yYXRpb24sIE9uZSBNaWNyb3NvZnQgV2F5LCBSZWRtb25kLCBXQSA5ODA1 MgoKICAgICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAg ICAgICAgICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgIDwv dGQ+CiAgICAgPC90cj4KPC90YWJsZT4KCgoKICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAg ICAgICAgIDwvZGl2PgogICAgCiAgICA8L2JvZHk+CjwvaHRtbD4KCg== --===============6137790332217940539==-- From hibernate-commits at lists.jboss.org Mon Dec 22 14:16:28 2008 Content-Type: multipart/mixed; boundary="===============7409891688114082618==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15722 - in core/trunk: envers/src/main/java/org/hibernate/envers/configuration/metadata and 5 other directories. Date: Mon, 22 Dec 2008 14:16:28 -0500 Message-ID: --===============7409891688114082618== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: adamw Date: 2008-12-22 14:16:28 -0500 (Mon, 22 Dec 2008) New Revision: 15722 Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/in= heritance/joined/emptychild/ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/in= heritance/joined/emptychild/EmptyChildAuditing.java core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/in= heritance/joined/emptychild/EmptyChildEntity.java core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/in= heritance/joined/emptychild/ParentEntity.java core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/Al= lPerformance.java Modified: core/trunk/documentation/envers/src/main/docbook/en-US/content/migration= .xml core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/AnnotationsMetadataReader.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/PersistentClassAuditingData.java core/trunk/envers/src/test/java/org/hibernate/envers/test/AbstractEntity= Test.java core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/Co= mplexInsertPerformance.java core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/In= sertsPerformance.java core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/Up= datesPerformance.java core/trunk/envers/src/test/resources/testng.xml Log: HHH-3633: classes can be audited also if they don't contain any properties = (w/ test) Some corrections in the manual Performance tests Modified: core/trunk/documentation/envers/src/main/docbook/en-US/content/mi= gration.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/documentation/envers/src/main/docbook/en-US/content/migratio= n.xml 2008-12-20 00:37:02 UTC (rev 15721) +++ core/trunk/documentation/envers/src/main/docbook/en-US/content/migratio= n.xml 2008-12-22 19:16:28 UTC (rev 15722) @@ -51,7 +51,7 @@ = Also, the query interface has changed slightly, mainly in the = part for specifying restrictions, - projections and order. Please refer to the API for further det= ails. + projections and order. Please refer to the Javadoc for further= details. = @@ -91,7 +91,7 @@ = <!-- Envers listeners --> = - <property name=3D"org.hibernate.envers.versionsTableSuffix" value=3D= "_versions" /> + <property name=3D"org.hibernate.envers.auditTableSuffix" value=3D"_v= ersions" /> <property name=3D"org.hibernate.envers.revisionFieldName" value=3D"_= revision" /> <property name=3D"org.hibernate.envers.revisionTypeFieldName" value= =3D"_rev_type" /> <!-- other envers properties --> @@ -150,8 +150,6 @@ @Column(name=3D"revision_timestamp") private long timestamp; = - private String username; - // Getters, setters, equals, hashCode ... }]]> = Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/AnnotationsMetadataReader.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/AnnotationsMetadataReader.java 2008-12-20 00:37:02 UTC (rev 15721) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/AnnotationsMetadataReader.java 2008-12-22 19:16:28 UTC (rev 15722) @@ -186,10 +186,12 @@ = if (defaultAudited !=3D null) { defaultStore =3D defaultAudited.modStore(); + auditData.setDefaultAudited(true); } else { Versioned defaultVersioned =3D clazz.getAnnotation(Versioned.c= lass); if (defaultVersioned !=3D null) { defaultStore =3D translateModStore(defaultVersioned.modSto= re()); + auditData.setDefaultAudited(true); } } } Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/PersistentClassAuditingData.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/PersistentClassAuditingData.java 2008-12-20 00:37:02 UTC (rev 15721) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/PersistentClassAuditingData.java 2008-12-22 19:16:28 UTC (rev 15722) @@ -41,6 +41,11 @@ private Map properties; private AuditTable auditTable; private Map secondaryTableDictionary; + /** + * True if the class is audited globally (this helps to cover the cases w= hen there are no fields in the class, + * but it's still audited). + */ + private boolean defaultAudited; = public Map getProperties() { return properties; @@ -62,8 +67,12 @@ this.auditTable =3D auditTable; } = - public boolean isAudited() { - if (properties.size() > 0) { + public void setDefaultAudited(boolean defaultAudited) { + this.defaultAudited =3D defaultAudited; + } + + public boolean isAudited() { + if (defaultAudited || properties.size() > 0) { return true; } else { return false; Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/Abstrac= tEntityTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/AbstractEntit= yTest.java 2008-12-20 00:37:02 UTC (rev 15721) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/AbstractEntit= yTest.java 2008-12-22 19:16:28 UTC (rev 15722) @@ -49,7 +49,7 @@ = public abstract void configure(Ejb3Configuration cfg); = - protected void initListeners() { + private void initListeners() { AuditEventListener listener =3D new AuditEventListener(); cfg.getEventListeners().setPostInsertEventListeners(new PostInsert= EventListener[] { listener }); cfg.getEventListeners().setPostUpdateEventListeners(new PostUpdate= EventListener[] { listener }); Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integratio= n/inheritance/joined/emptychild/EmptyChildAuditing.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/i= nheritance/joined/emptychild/EmptyChildAuditing.java = (rev 0) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/i= nheritance/joined/emptychild/EmptyChildAuditing.java 2008-12-22 19:16:28 UT= C (rev 15722) @@ -0,0 +1,93 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ + +package org.hibernate.envers.test.integration.inheritance.joined.emptychil= d; + +import java.util.Arrays; +import javax.persistence.EntityManager; + +import org.hibernate.envers.test.AbstractEntityTest; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +import org.hibernate.ejb.Ejb3Configuration; + +/** + * @author Adam Warski (adam at warski dot org) + */ +public class EmptyChildAuditing extends AbstractEntityTest { + private Integer id1; + + public void configure(Ejb3Configuration cfg) { + cfg.addAnnotatedClass(EmptyChildEntity.class); + cfg.addAnnotatedClass(ParentEntity.class); + } + + @BeforeClass(dependsOnMethods =3D "init") + public void initData() { + EntityManager em =3D getEntityManager(); + + id1 =3D 1; + + // Rev 1 + em.getTransaction().begin(); + EmptyChildEntity pe =3D new EmptyChildEntity(id1, "x"); + em.persist(pe); + em.getTransaction().commit(); + + // Rev 2 + em.getTransaction().begin(); + pe =3D em.find(EmptyChildEntity.class, id1); + pe.setData("y"); + em.getTransaction().commit(); + } + + @Test + public void testRevisionsCounts() { + assert Arrays.asList(1, 2).equals(getAuditReader().getRevisions(Em= ptyChildEntity.class, id1)); + } + + @Test + public void testHistoryOfChildId1() { + EmptyChildEntity ver1 =3D new EmptyChildEntity(id1, "x"); + EmptyChildEntity ver2 =3D new EmptyChildEntity(id1, "y"); + + assert getAuditReader().find(EmptyChildEntity.class, id1, 1).equal= s(ver1); + assert getAuditReader().find(EmptyChildEntity.class, id1, 2).equal= s(ver2); + + assert getAuditReader().find(ParentEntity.class, id1, 1).equals(ve= r1); + assert getAuditReader().find(ParentEntity.class, id1, 2).equals(ve= r2); + } + + @Test + public void testPolymorphicQuery() { + EmptyChildEntity childVer1 =3D new EmptyChildEntity(id1, "x"); + + assert getAuditReader().createQuery().forEntitiesAtRevision(EmptyC= hildEntity.class, 1).getSingleResult() + .equals(childVer1); + + assert getAuditReader().createQuery().forEntitiesAtRevision(Parent= Entity.class, 1).getSingleResult() + .equals(childVer1); + } +} Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integratio= n/inheritance/joined/emptychild/EmptyChildEntity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/i= nheritance/joined/emptychild/EmptyChildEntity.java = (rev 0) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/i= nheritance/joined/emptychild/EmptyChildEntity.java 2008-12-22 19:16:28 UTC = (rev 15722) @@ -0,0 +1,43 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ + +package org.hibernate.envers.test.integration.inheritance.joined.emptychil= d; + +import javax.persistence.Entity; + +import org.hibernate.envers.Audited; + +/** + * @author Adam Warski (adam at warski dot org) + */ +(a)Entity +(a)Audited +public class EmptyChildEntity extends ParentEntity { + public EmptyChildEntity() { + } + + public EmptyChildEntity(Integer id, String data) { + super(id, data); + } +} Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integratio= n/inheritance/joined/emptychild/ParentEntity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/i= nheritance/joined/emptychild/ParentEntity.java (rev= 0) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/i= nheritance/joined/emptychild/ParentEntity.java 2008-12-22 19:16:28 UTC (rev= 15722) @@ -0,0 +1,94 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ + +package org.hibernate.envers.test.integration.inheritance.joined.emptychil= d; + +import javax.persistence.Basic; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Inheritance; +import javax.persistence.InheritanceType; + +import org.hibernate.envers.Audited; + +/** + * @author Adam Warski (adam at warski dot org) + */ +(a)Entity +(a)Inheritance(strategy =3D InheritanceType.JOINED) +(a)Audited +public abstract class ParentEntity { + @Id + private Integer id; + + @Basic + private String data; + + public ParentEntity() { + } + + public ParentEntity(Integer id, String data) { + this.id =3D id; + this.data =3D data; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id =3D id; + } + + public String getData() { + return data; + } + + public void setData(String data) { + this.data =3D data; + } + + public boolean equals(Object o) { + if (this =3D=3D o) return true; + if (!(o instanceof ParentEntity)) return false; + + ParentEntity that =3D (ParentEntity) o; + + if (data !=3D null ? !data.equals(that.data) : that.data !=3D null= ) return false; + if (id !=3D null ? !id.equals(that.id) : that.id !=3D null) return= false; + + return true; + } + + public int hashCode() { + int result; + result =3D (id !=3D null ? id.hashCode() : 0); + result =3D 31 * result + (data !=3D null ? data.hashCode() : 0); + return result; + } + + public String toString() { + return "ParentEntity(id =3D " + getId() + ", data =3D " + getData(= ) + ")"; + } +} Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/performanc= e/AllPerformance.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/A= llPerformance.java (rev 0) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/A= llPerformance.java 2008-12-22 19:16:28 UTC (rev 15722) @@ -0,0 +1,12 @@ +package org.hibernate.envers.test.performance; + +import java.io.IOException; + +public class AllPerformance { + public static void main(String[] args) throws IOException { + new InsertsPerformance().test(10); + new ComplexInsertPerformance().test(10); + new UpdatesPerformance().test(10); + new InsertsOneTransactionPerformance().test(10); + } +} Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/perform= ance/ComplexInsertPerformance.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/C= omplexInsertPerformance.java 2008-12-20 00:37:02 UTC (rev 15721) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/C= omplexInsertPerformance.java 2008-12-22 19:16:28 UTC (rev 15722) @@ -45,7 +45,7 @@ cfg.addAnnotatedClass(ChildEntity2.class); } = - private final static int NUMBER_INSERTS =3D 100; + private final static int NUMBER_INSERTS =3D 1000; = private long idCounter =3D 0; = Modified: core/trunk/envers/src/test/java/org/hibernate/envers/test/perform= ance/InsertsPerformance.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/I= nsertsPerformance.java 2008-12-20 00:37:02 UTC (rev 15721) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/performance/I= nsertsPerformance.java 2008-12-22 19:16:28 UTC (rev 15722) @@ -38,7 +38,7 @@ cfg.addAnnotatedClass(StrTestEntity.class); } = - private final static int NUMBER_INSERTS =3D 500; + private final static int NUMBER_INSERTS =3D 5000; = protected void doTest() { for (int i=3D0; i + @@ -47,4 +48,4 @@ - \ No newline at end of file + --===============7409891688114082618==-- From hibernate-commits at lists.jboss.org Mon Dec 22 15:49:33 2008 Content-Type: multipart/mixed; boundary="===============5550863221647596595==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We're here to fight your health problems Date: Mon, 22 Dec 2008 15:49:30 -0500 Message-ID: <200812222049.mBMKnUuw030850@chief.prod.atl2.jboss.com> --===============5550863221647596595== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5550863221647596595== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9vbmNldGFsay5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLm9uY2V0YWxrLmNvbS90Yy5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgSGVyZSB0byBz dGFydCEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============5550863221647596595==-- From hibernate-commits at lists.jboss.org Mon Dec 22 17:45:13 2008 Content-Type: multipart/mixed; boundary="===============1239306891549331601==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I can't find you Date: Mon, 22 Dec 2008 17:45:10 -0500 Message-ID: <200812222245.mBMMjAgh000913@chief.prod.atl2.jboss.com> --===============1239306891549331601== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1239306891549331601== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgo8aHRtbD4KPGJvZHkgYmdj b2xvcj0iI0ZGRkZGRiIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0i MCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHAgYWxpZ249ImNlbnRlciI+PEZPTlQgU0laRT0iMSIgQ09M T1I9IiMwMDAwMDAiIEZBQ0U9IkFSSUFMIj4KPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 ICNGRjAwMDAiPklmIHlvdSBhcmUgdW5hYmxlIHRvIHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEg aHJlZj0iaHR0cDovL2Jhend3ZWIuam9naml6b2guY24vIj5jbGljayBoZXJlIHRvIHZpZXc8L0E+ Ljwvc3Bhbj48YnI+CjwvRk9OVD48Zm9udCBmYWNlPSJBUklBTCIgY29sb3I9IiM4MDgwODAiIHNp emU9IjIiPjxicj48L2ZvbnQ+CjxjZW50ZXI+CjxhIGhyZWY9Imh0dHA6Ly9icXBzend2LmpvZ2pp em9oLmNuLyI+PGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL3d1bS5qb2dqaXpvaC5jbi83Lmpw ZyI+PC9hPjwvcD4KPC9jZW50ZXI+CjxociB3aWR0aD0iMjAlIiBub3NoYWRlPgogICAgICA8cCBh bGlnbj0iY2VudGVyIj4KICAgICAgICA8Zm9udCBjb2xvcj0iIzk5OTk5OSIgc2l6ZT0iLTEiIGZh Y2U9IkFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYiPlBMRUFTRSBETyBOT1QgUkVQTFkgLSBU aGlzIGlzIGJlaW5nIHNlbnQKCQlmcm9tIGFuIHVuYXR0ZW5kZWQgbWFpbGJveC4gPGJyPgogICAg ICA8cCBhbGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgqSAyMDA4IEpXVCBDb21tdW5pY2F0aW9ucyBF bnRlcnRhaW5tZW50IEFuZCBUZWNobm9sb2d5LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJy PgogICAgICAgIDEgUmF2aW5pYSBEciwgU2FuZHkgU3ByaW5ncywgR0EgMzAzNDY8L3A+CjxwIGFs aWduPSJjZW50ZXIiPllvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHlvdTxi cj4Kb3B0ZWQgaW4gdG8gcmVjZWl2ZXMgSldUIENvbW11bmljYXRpb25zIEVudGVydGFpbm1lbnQg QW5kIFRlY2hub2xvZ3kgcGVjaWFsIG9mZmVycyB2aWEgZW1haWwuPC9wPgo8cCBhbGlnbj0iY2Vu dGVyIj5Zb3UgY2FuIHVuc3Vic2NyaWJlIDxhIGhyZWY9Imh0dHA6Ly9zZGhhdWUuam9naml6b2gu Y24vcmVtb3ZlLmFzcHg/dXNlcj1oaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmciPmhl cmU8L2E+PC9wPgogICAgPC9ib2R5Pgo8L2h0bWw+Cg== --===============1239306891549331601==-- From hibernate-commits at lists.jboss.org Mon Dec 22 17:53:50 2008 Content-Type: multipart/mixed; boundary="===============5928768744801330032==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We seek for you all day! Date: Mon, 22 Dec 2008 17:53:43 -0500 Message-ID: <200812222253.mBMMrhxV001318@chief.prod.atl2.jboss.com> --===============5928768744801330032== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5928768744801330032== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbG9jYXRlaW5zdGFudC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vbG9jYXRlaW5zdGFudC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4i PjwvYT48L0JPRFk+PC9IVE1MPgo= --===============5928768744801330032==-- From hibernate-commits at lists.jboss.org Mon Dec 22 18:27:27 2008 Content-Type: multipart/mixed; boundary="===============3152025692943398426==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15723 - in core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test: tm and 1 other directory. Date: Mon, 22 Dec 2008 18:27:26 -0500 Message-ID: --===============3152025692943398426== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-22 18:27:26 -0500 (Mon, 22 Dec 2008) New Revision: 15723 Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/connections/Ag= gressiveReleaseTest.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/tm/CMTTest.java Log: JBPAPP-1527 HHH-3675 - Limitiations on Sybase ResultSet implementation caus= es unit test failures Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/connect= ions/AggressiveReleaseTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/connections/A= ggressiveReleaseTest.java 2008-12-22 19:16:28 UTC (rev 15722) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/connections/A= ggressiveReleaseTest.java 2008-12-22 23:27:26 UTC (rev 15723) @@ -107,6 +107,10 @@ // expected behavior } = + // getting the first row only because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + sr.next(); + // Closing the ScrollableResults does currently force the batcher to // aggressively release the connection sr.close(); Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/tm/CMTT= est.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/tm/CMTTest.ja= va 2008-12-22 19:16:28 UTC (rev 15722) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/tm/CMTTest.ja= va 2008-12-22 23:27:26 UTC (rev 15723) @@ -443,17 +443,18 @@ DummyTransactionManager.INSTANCE.begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } + DummyTransactionManager.INSTANCE.getTransaction().commit(); = // Next, scroll the entire result (closing) DummyTransactionManager.INSTANCE.begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } results.close(); DummyTransactionManager.INSTANCE.getTransaction().commit(); --===============3152025692943398426==-- From hibernate-commits at lists.jboss.org Mon Dec 22 18:28:32 2008 Content-Type: multipart/mixed; boundary="===============3225216608639385943==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15724 - in core/branches/Branch_3_2/test/org/hibernate/test: tm and 1 other directory. Date: Mon, 22 Dec 2008 18:28:32 -0500 Message-ID: --===============3225216608639385943== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-22 18:28:32 -0500 (Mon, 22 Dec 2008) New Revision: 15724 Modified: core/branches/Branch_3_2/test/org/hibernate/test/connections/AggressiveR= eleaseTest.java core/branches/Branch_3_2/test/org/hibernate/test/tm/CMTTest.java Log: HHH-3675 - Limitations on Sybase ResultSet implementation causes unit test = failures Modified: core/branches/Branch_3_2/test/org/hibernate/test/connections/Aggr= essiveReleaseTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/connections/Aggressive= ReleaseTest.java 2008-12-22 23:27:26 UTC (rev 15723) +++ core/branches/Branch_3_2/test/org/hibernate/test/connections/Aggressive= ReleaseTest.java 2008-12-22 23:28:32 UTC (rev 15724) @@ -107,6 +107,10 @@ // expected behavior } = + // getting the first row only because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + sr.next(); + // Closing the ScrollableResults does currently force the batcher to // aggressively release the connection sr.close(); Modified: core/branches/Branch_3_2/test/org/hibernate/test/tm/CMTTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/tm/CMTTest.java 2008-1= 2-22 23:27:26 UTC (rev 15723) +++ core/branches/Branch_3_2/test/org/hibernate/test/tm/CMTTest.java 2008-1= 2-22 23:28:32 UTC (rev 15724) @@ -443,17 +443,18 @@ DummyTransactionManager.INSTANCE.begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } + DummyTransactionManager.INSTANCE.getTransaction().commit(); = // Next, scroll the entire result (closing) DummyTransactionManager.INSTANCE.begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } results.close(); DummyTransactionManager.INSTANCE.getTransaction().commit(); --===============3225216608639385943==-- From hibernate-commits at lists.jboss.org Mon Dec 22 18:30:23 2008 Content-Type: multipart/mixed; boundary="===============8267237851160472689==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15725 - in core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test: tm and 1 other directory. Date: Mon, 22 Dec 2008 18:30:23 -0500 Message-ID: --===============8267237851160472689== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-22 18:30:23 -0500 (Mon, 22 Dec 2008) New Revision: 15725 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/conn= ections/AggressiveReleaseTest.java core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/tm/C= MTTest.java Log: HHH-3675 - Limitations on Sybase ResultSet implementation causes unit test = failures Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/connections/AggressiveReleaseTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/con= nections/AggressiveReleaseTest.java 2008-12-22 23:28:32 UTC (rev 15724) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/con= nections/AggressiveReleaseTest.java 2008-12-22 23:30:23 UTC (rev 15725) @@ -107,6 +107,10 @@ // expected behavior } = + // getting the first row only because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + sr.next(); + // Closing the ScrollableResults does currently force the batcher to // aggressively release the connection sr.close(); Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/tm/CMTTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/tm/= CMTTest.java 2008-12-22 23:28:32 UTC (rev 15724) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/tm/= CMTTest.java 2008-12-22 23:30:23 UTC (rev 15725) @@ -442,8 +442,8 @@ SimpleJtaTransactionManagerImpl.getInstance().begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit(); = @@ -451,8 +451,8 @@ SimpleJtaTransactionManagerImpl.getInstance().begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } results.close(); SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit(); --===============8267237851160472689==-- From hibernate-commits at lists.jboss.org Mon Dec 22 18:31:15 2008 Content-Type: multipart/mixed; boundary="===============7394994535859152595==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15726 - in core/trunk/testsuite/src/test/java/org/hibernate/test: tm and 1 other directory. Date: Mon, 22 Dec 2008 18:31:15 -0500 Message-ID: --===============7394994535859152595== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-22 18:31:15 -0500 (Mon, 22 Dec 2008) New Revision: 15726 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/connections/Aggres= siveReleaseTest.java core/trunk/testsuite/src/test/java/org/hibernate/test/tm/CMTTest.java Log: HHH-3675 - Limitations on Sybase ResultSet implementation causes unit test = failures Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/connections= /AggressiveReleaseTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/connections/Aggre= ssiveReleaseTest.java 2008-12-22 23:30:23 UTC (rev 15725) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/connections/Aggre= ssiveReleaseTest.java 2008-12-22 23:31:15 UTC (rev 15726) @@ -107,6 +107,10 @@ // expected behavior } = + // getting the first row only because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + sr.next(); + // Closing the ScrollableResults does currently force the batcher to // aggressively release the connection sr.close(); Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/tm/CMTTest.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/tm/CMTTest.java 2= 008-12-22 23:30:23 UTC (rev 15725) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/tm/CMTTest.java 2= 008-12-22 23:31:15 UTC (rev 15726) @@ -442,8 +442,8 @@ SimpleJtaTransactionManagerImpl.getInstance().begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit(); = @@ -451,8 +451,8 @@ SimpleJtaTransactionManagerImpl.getInstance().begin(); s =3D getSessions().getCurrentSession(); results =3D s.createQuery( "from Item" ).scroll(); - while ( !results.isLast() ) { - results.next(); + while ( results.next() ) { + // do nothing } results.close(); SimpleJtaTransactionManagerImpl.getInstance().getTransaction().commit(); --===============7394994535859152595==-- From hibernate-commits at lists.jboss.org Mon Dec 22 19:34:54 2008 Content-Type: multipart/mixed; boundary="===============6159584825441699891==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Unbelievable changes in your relationships Date: Mon, 22 Dec 2008 19:34:52 -0500 Message-ID: <200812230034.mBN0YqpU002841@chief.prod.atl2.jboss.com> --===============6159584825441699891== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6159584825441699891== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jYWxsbWVyZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmNhbGxtZXJlLmNvbS9wZWIuanBnIiBib3JkZXI9MCBhbHQ9IiBDb25zaWRlciBvdXIg cmVtZWR5IGFzIHRoZSBtb3N0IGVmZmljaWVudCB3YXkgdG8gZW5sYXJnZSB5b3VyIHRvb2whIj48 L2E+PC9CT0RZPjwvSFRNTD4K --===============6159584825441699891==-- From hibernate-commits at lists.jboss.org Mon Dec 22 20:13:32 2008 Content-Type: multipart/mixed; boundary="===============0413297852456657710==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Check what recent researches have to offer Date: Mon, 22 Dec 2008 20:13:27 -0500 Message-ID: <200812230113.mBN1DRpg003281@chief.prod.atl2.jboss.com> --===============0413297852456657710== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0413297852456657710== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2J1c3ltZXJlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9pbWFn ZXMuYnVzeW1lcmUuY29tL3BlYjEuanBnIiBib3JkZXI9MCBhbHQ9IiBUcnkgdXMgd2hlbiB5b3Ug YXJlIGxvb2tpbmcgZm9yIHRoZSBiZXN0IGVuaGFuY2VtZW50IHN1cHBsZW1lbnQhIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============0413297852456657710==-- From hibernate-commits at lists.jboss.org Mon Dec 22 22:07:06 2008 Content-Type: multipart/mixed; boundary="===============0206787667422693189==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I need you, urgently! Date: Mon, 22 Dec 2008 22:07:05 -0500 Message-ID: <200812230307.mBN37560004673@chief.prod.atl2.jboss.com> --===============0206787667422693189== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0206787667422693189== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9kZWZpbml0aW9uZmFyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9kZWZpbml0aW9uZmFyLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============0206787667422693189==-- From hibernate-commits at lists.jboss.org Tue Dec 23 00:09:46 2008 Content-Type: multipart/mixed; boundary="===============9115317293076394782==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Spend your nights with greater enthusiasm Date: Tue, 23 Dec 2008 00:09:40 -0500 Message-ID: <200812230509.mBN59eAS006032@chief.prod.atl2.jboss.com> --===============9115317293076394782== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============9115317293076394782== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZ2l2ZWRhcmsuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5naXZlZGFyay5jb20vcnQuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNrIEhlcmUgdG8gc3Rh cnQhIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============9115317293076394782==-- From hibernate-commits at lists.jboss.org Tue Dec 23 03:54:48 2008 Content-Type: multipart/mixed; boundary="===============3043149450416386206==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] The last step to your ultimate happiness Date: Tue, 23 Dec 2008 03:54:43 -0500 Message-ID: <200812230854.mBN8shUE008985@chief.prod.atl2.jboss.com> --===============3043149450416386206== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3043149450416386206== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2dvb2RtZXJlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9pbWFn ZXMuZ29vZG1lcmUuY29tL3BlYi5qcGciIGJvcmRlcj0wIGFsdD0iIE1ha2UgYW55IHdvbWFuIHdh bnQgdG8gZ28gYWxsIHRoZSB3YXkgd2l0aCB5b3UhIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============3043149450416386206==-- From hibernate-commits at lists.jboss.org Tue Dec 23 05:16:20 2008 Content-Type: multipart/mixed; boundary="===============2623724588573585315==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Don't go home now! Date: Tue, 23 Dec 2008 05:16:17 -0500 Message-ID: <200812231016.mBNAGHkS010574@chief.prod.atl2.jboss.com> --===============2623724588573585315== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2623724588573585315== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcHJvc3Blcml0eXdpbnRlci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vcHJvc3Blcml0eXdpbnRlci5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============2623724588573585315==-- From hibernate-commits at lists.jboss.org Tue Dec 23 05:56:06 2008 Content-Type: multipart/mixed; boundary="===============3697650644443411587==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Let's meet as usually Date: Tue, 23 Dec 2008 05:56:04 -0500 Message-ID: <200812231056.mBNAu4Qn011142@chief.prod.atl2.jboss.com> --===============3697650644443411587== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3697650644443411587== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9pbnR1aXRpb253YXJtLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9pbnR1aXRpb253YXJtLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============3697650644443411587==-- From hibernate-commits at lists.jboss.org Tue Dec 23 07:03:15 2008 Content-Type: multipart/mixed; boundary="===============3160474547701023064==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Have the greatest night ever Date: Tue, 23 Dec 2008 07:03:11 -0500 Message-ID: <200812231203.mBNC3BVG012411@chief.prod.atl2.jboss.com> --===============3160474547701023064== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3160474547701023064== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vYnVzeW1hc3MuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5idXN5bWFzcy5jb20vcGViMS5qcGciIGJvcmRlcj0wIGFsdD0iIENvbnNpZGVyIG91ciBy ZW1lZHkgYXMgdGhlIG1vc3QgZWZmaWNpZW50IHdheSB0byBlbmxhcmdlIHlvdXIgdG9vbCEiPjwv YT48L0JPRFk+PC9IVE1MPgo= --===============3160474547701023064==-- From hibernate-commits at lists.jboss.org Tue Dec 23 07:43:06 2008 Content-Type: multipart/mixed; boundary="===============0518981749906706714==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I need you, urgently! Date: Tue, 23 Dec 2008 07:42:57 -0500 Message-ID: <200812231243.mBNCgvMU014343@chief.prod.atl2.jboss.com> --===============0518981749906706714== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0518981749906706714== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2NvdXJhZ2VmYWxsLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9j b3VyYWdlZmFsbC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============0518981749906706714==-- From hibernate-commits at lists.jboss.org Tue Dec 23 09:46:01 2008 Content-Type: multipart/mixed; boundary="===============6257612699817473989==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Prodigious preparation is to your service Date: Tue, 23 Dec 2008 09:45:59 -0500 Message-ID: <200812231446.mBNEjxYT016384@chief.prod.atl2.jboss.com> --===============6257612699817473989== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6257612699817473989== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2VsbGhhbmQuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5zZWxsaGFuZC5jb20vcGViMS5qcGciIGJvcmRlcj0wIGFsdD0iIEdhaW4gYWJvdXQgMyBp bmNoZXMgaW4gbGVuZ3RoIGFuZCBtYWtlIGl0IGEgbG90IHdpZGVyLCB0b28hIj48L2E+PC9CT0RZ PjwvSFRNTD4K --===============6257612699817473989==-- From hibernate-commits at lists.jboss.org Tue Dec 23 10:27:56 2008 Content-Type: multipart/mixed; boundary="===============6203415138336326516==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Where have you gone? Date: Tue, 23 Dec 2008 10:27:55 -0500 Message-ID: <200812231527.mBNFRqC6016950@chief.prod.atl2.jboss.com> --===============6203415138336326516== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6203415138336326516== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgo8aHRtbD4KPGJvZHkgYmdj b2xvcj0iI0ZGRkZGRiIgbGVmdG1hcmdpbj0iMCIgdG9wbWFyZ2luPSIwIiBtYXJnaW53aWR0aD0i MCIgbWFyZ2luaGVpZ2h0PSIwIj4KPHAgYWxpZ249ImNlbnRlciI+PEZPTlQgU0laRT0iMSIgQ09M T1I9IiMwMDAwMDAiIEZBQ0U9IkFSSUFMIj4KPHNwYW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6 ICNGRjAwMDAiPklmIHlvdSBhcmUgdW5hYmxlIHRvIHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEg aHJlZj0iaHR0cDovL3ZwbWRzYi5mZWJjYWthcC5jbi8iPmNsaWNrIGhlcmUgdG8gdmlldzwvQT4u PC9zcGFuPjxicj4KPC9GT05UPjxmb250IGZhY2U9IkFSSUFMIiBjb2xvcj0iIzgwODA4MCIgc2l6 ZT0iMiI+PGJyPjwvZm9udD4KPGNlbnRlcj4KPGEgaHJlZj0iaHR0cDovL2ZuanN1ci5mZWJjYWth cC5jbi8iPjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9lanZsZWEuZmViY2FrYXAuY24vNy5q cGciPjwvYT48L3A+CjwvY2VudGVyPgo8aHIgd2lkdGg9IjIwJSIgbm9zaGFkZT4KICAgICAgPHAg YWxpZ249ImNlbnRlciI+CiAgICAgICAgPGZvbnQgY29sb3I9IiM5OTk5OTkiIHNpemU9Ii0xIiBm YWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj5QTEVBU0UgRE8gTk9UIFJFUExZIC0g VGhpcyBpcyBiZWluZyBzZW50CgkJZnJvbSBhbiB1bmF0dGVuZGVkIG1haWxib3guIDxicj4KICAg ICAgPHAgYWxpZ249ImNlbnRlciI+Q29weXJpZ2h0IKkgMjAwOCBEZWx0cm9uIERlc2lnbnMsIElu Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNSBUcm93YnJpZGdlIERyaXZlLCBC ZXRoZWwsIENUIDA2ODAxPC9wPgo8cCBhbGlnbj0iY2VudGVyIj5Zb3UgaGF2ZSByZWNlaXZlZCB0 aGlzIG1lc3NhZ2UgYmVjYXVzZSB5b3U8YnI+Cm9wdGVkIGluIHRvIHJlY2VpdmVzIERlbHRyb24g RGVzaWducyBwZWNpYWwgb2ZmZXJzIHZpYSBlbWFpbC48L3A+CjxwIGFsaWduPSJjZW50ZXIiPllv dSBjYW4gdW5zdWJzY3JpYmUgPGEgaHJlZj0iaHR0cDovL3hob2Zjb2EuZmViY2FrYXAuY24vdW5z dWJzY3JpYmUuYXNweD9tPWhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9yZyI+aGVyZTwv YT48L3A+CiAgICA8L2JvZHk+CjwvaHRtbD4K --===============6203415138336326516==-- From hibernate-commits at lists.jboss.org Tue Dec 23 11:34:16 2008 Content-Type: multipart/mixed; boundary="===============3434930858775297237==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Bring joy to your life Date: Tue, 23 Dec 2008 11:34:14 -0500 Message-ID: <200812231634.mBNGYElN018123@chief.prod.atl2.jboss.com> --===============3434930858775297237== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3434930858775297237== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2xpa2V0cnVlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9pbWFn ZXMubGlrZXRydWUuY29tL3BlYjEuanBnIiBib3JkZXI9MCBhbHQ9Ik1ha2UgYW55IHdvbWFuIHdh bnQgdG8gZ28gYWxsIHRoZSB3YXkgd2l0aCB5b3UhIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============3434930858775297237==-- From hibernate-commits at lists.jboss.org Tue Dec 23 14:08:16 2008 Content-Type: multipart/mixed; boundary="===============4955326017182279315==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] You'll certainly feel much more manly Date: Tue, 23 Dec 2008 14:08:12 -0500 Message-ID: <200812231908.mBNJ8CTs021176@chief.prod.atl2.jboss.com> --===============4955326017182279315== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4955326017182279315== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9saWtldHJ1ZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmxpa2V0cnVlLmNvbS9wZWIuanBnIiBib3JkZXI9MCBhbHQ9IllvdXIgbGlmZSBjb3Vs ZCByZWFsbHkgY2hhbmdlIHRvZGF5ISBTdGFydCBub3chIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============4955326017182279315==-- From hibernate-commits at lists.jboss.org Tue Dec 23 15:04:56 2008 Content-Type: multipart/mixed; boundary="===============1642002825608306950==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your happiness is much closer now Date: Tue, 23 Dec 2008 15:04:53 -0500 Message-ID: <200812232004.mBNK4rRJ023587@chief.prod.atl2.jboss.com> --===============1642002825608306950== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1642002825608306950== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbGlrZXRpbGxzLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMubGlrZXRpbGxzLmNvbS9wZWIuanBnIiBib3JkZXI9MCBhbHQ9IkxldCB5b3Vyc2VsZiBn byBiaWcgYXMgYSBsb3ZlciEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============1642002825608306950==-- From hibernate-commits at lists.jboss.org Tue Dec 23 15:57:23 2008 Content-Type: multipart/mixed; boundary="===============4921232512287950106==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We need you here, now! Date: Tue, 23 Dec 2008 15:57:21 -0500 Message-ID: <200812232057.mBNKvLK2024172@chief.prod.atl2.jboss.com> --===============4921232512287950106== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4921232512287950106== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2xpcGludGVncml0eS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vc2xpcGludGVncml0eS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4i PjwvYT48L0JPRFk+PC9IVE1MPgo= --===============4921232512287950106==-- From hibernate-commits at lists.jboss.org Tue Dec 23 16:57:36 2008 Content-Type: multipart/mixed; boundary="===============6296717359148321048==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Improve the quality of your life Date: Tue, 23 Dec 2008 16:57:26 -0500 Message-ID: <200812232157.mBNLvQlX024919@chief.prod.atl2.jboss.com> --===============6296717359148321048== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6296717359148321048== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vbGlrZXRpbGxzLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9p bWFnZXMubGlrZXRpbGxzLmNvbS9wZTEuanBnIiBib3JkZXI9MCBhbHQ9Ik1ha2UgYW4gb3JkZXIg dG9kYXkgZm9yIHRoZSBiZXN0IGFuZCBmYXN0ZXN0IHJlc3VsdHMhIj48L2E+PC9CT0RZPjwvSFRN TD4K --===============6296717359148321048==-- From hibernate-commits at lists.jboss.org Tue Dec 23 17:03:01 2008 Content-Type: multipart/mixed; boundary="===============2815526009670394477==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Where are you, I'm frozen! Date: Tue, 23 Dec 2008 17:01:30 -0500 Message-ID: <200812232202.mBNM1UfC025015@chief.prod.atl2.jboss.com> --===============2815526009670394477== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2815526009670394477== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vaW50ZWdyaXR5ZHJpbmsuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL2ludGVncml0eWRyaW5rLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============2815526009670394477==-- From hibernate-commits at lists.jboss.org Tue Dec 23 19:40:11 2008 Content-Type: multipart/mixed; boundary="===============0278139721597951131==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Don't go home now! Date: Tue, 23 Dec 2008 19:40:09 -0500 Message-ID: <200812240040.mBO0e94Y027043@chief.prod.atl2.jboss.com> --===============0278139721597951131== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0278139721597951131== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3NsaXBpbnRlZ3JpdHkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L3NsaXBpbnRlZ3JpdHkuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48 L2E+PC9CT0RZPjwvSFRNTD4K --===============0278139721597951131==-- From hibernate-commits at lists.jboss.org Wed Dec 24 01:19:29 2008 Content-Type: multipart/mixed; boundary="===============2660673385153556072==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Girls will hunt you in the streets! Date: Wed, 24 Dec 2008 01:19:25 -0500 Message-ID: <200812240619.mBO6JPZ5031156@chief.prod.atl2.jboss.com> --===============2660673385153556072== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2660673385153556072== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZHVlbG1hbmUuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5kdWVsbWFuZS5jb20vcGViMS5qcGciIGJvcmRlcj0wIGFsdD0iTGVuZ3RoZW4gYW5kIHRo aWNrZW4geW91ciBtYWxlIHBhY2thZ2UgaW4gYSBzaG9ydCBwZXJpb2Qgb2YgdGltZSEiPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============2660673385153556072==-- From hibernate-commits at lists.jboss.org Wed Dec 24 03:56:05 2008 Content-Type: multipart/mixed; boundary="===============6582832615155784516==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I've got problems, can't find u Date: Wed, 24 Dec 2008 03:56:00 -0500 Message-ID: <200812240856.mBO8u09j000701@chief.prod.atl2.jboss.com> --===============6582832615155784516== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6582832615155784516== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vaW50ZWdyaXR5ZHJpbmsuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0 cDovL2ludGVncml0eWRyaW5rLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============6582832615155784516==-- From hibernate-commits at lists.jboss.org Wed Dec 24 04:56:40 2008 Content-Type: multipart/mixed; boundary="===============4661271557865595546==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Gain a huge cannon for love Date: Wed, 24 Dec 2008 04:56:38 -0500 Message-ID: <200812240956.mBO9uc4C002053@chief.prod.atl2.jboss.com> --===============4661271557865595546== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4661271557865595546== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9kdWVsbWFuZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmR1ZWxtYW5lLmNvbS9wZTEuanBnIiBib3JkZXI9MCBhbHQ9IkdpdmUgYSBzdGltdWx1 cyB0byB5b3VyIGxvdmUgbGlmZSB3aXRoIG91ciBoZWxwISI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============4661271557865595546==-- From hibernate-commits at lists.jboss.org Wed Dec 24 05:41:51 2008 Content-Type: multipart/mixed; boundary="===============1876063834167362030==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Where are you, I'm frozen! Date: Wed, 24 Dec 2008 05:41:49 -0500 Message-ID: <200812241041.mBOAfn35002617@chief.prod.atl2.jboss.com> --===============1876063834167362030== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1876063834167362030== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9pbnRlZ3JpdHltb3Rpb24uY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0i aHR0cDovL2ludGVncml0eW1vdGlvbi5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============1876063834167362030==-- From hibernate-commits at lists.jboss.org Wed Dec 24 07:57:47 2008 Content-Type: multipart/mixed; boundary="===============5827867531289390653==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Let's meet as usually Date: Wed, 24 Dec 2008 07:57:45 -0500 Message-ID: <200812241257.mBOCvjh3004614@chief.prod.atl2.jboss.com> --===============5827867531289390653== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5827867531289390653== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2xpcGludGVncml0eS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vc2xpcGludGVncml0eS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4i PjwvYT48L0JPRFk+PC9IVE1MPgo= --===============5827867531289390653==-- From hibernate-commits at lists.jboss.org Wed Dec 24 09:45:01 2008 Content-Type: multipart/mixed; boundary="===============4286700443779021884==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] When will we meet again? Date: Wed, 24 Dec 2008 09:44:58 -0500 Message-ID: <200812241445.mBOEiw3N006031@chief.prod.atl2.jboss.com> --===============4286700443779021884== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4286700443779021884== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vc2xpcGludGVncml0eS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vc2xpcGludGVncml0eS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91 YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4i PjwvYT48L0JPRFk+PC9IVE1MPgo= --===============4286700443779021884==-- From hibernate-commits at lists.jboss.org Wed Dec 24 09:54:08 2008 Content-Type: multipart/mixed; boundary="===============1773803298948970339==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Stop being a loser Date: Wed, 24 Dec 2008 09:54:05 -0500 Message-ID: <200812241454.mBOEs5wK006177@chief.prod.atl2.jboss.com> --===============1773803298948970339== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1773803298948970339== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2NvbmVjb25lLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9pbWFn ZXMuY29uZW1haW4uY29tL3ZsNC5qcGciIGJvcmRlcj0wIGFsdD0iTGV0IHVzIGdpdmUgeW91IHNv bWUgbW9yZSBtYWxlIGVuaGFuY2VtZW50IHRpcHMhIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============1773803298948970339==-- From hibernate-commits at lists.jboss.org Wed Dec 24 10:55:02 2008 Content-Type: multipart/mixed; boundary="===============4136215993673524141==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We were looking for you! Date: Wed, 24 Dec 2008 10:54:51 -0500 Message-ID: <200812241554.mBOFspmw007052@chief.prod.atl2.jboss.com> --===============4136215993673524141== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4136215993673524141== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9pbnRlZ3JpdHltb3Rpb24uY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0i aHR0cDovL2ludGVncml0eW1vdGlvbi5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============4136215993673524141==-- From hibernate-commits at lists.jboss.org Wed Dec 24 12:28:10 2008 Content-Type: multipart/mixed; boundary="===============5584668891701311158==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Find out the best enhancement solution Date: Wed, 24 Dec 2008 12:28:06 -0500 Message-ID: <200812241728.mBOHS6Hl008585@chief.prod.atl2.jboss.com> --===============5584668891701311158== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5584668891701311158== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jb25lZGFsZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmNvbmVtYWluLmNvbS92bDQuanBnIiBib3JkZXI9MCBhbHQ9IkFjY29tcGxpc2ggcGVy ZmVjdGlvbiB5b3UndmUgbG9uZ2VkIGZvciEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============5584668891701311158==-- From hibernate-commits at lists.jboss.org Wed Dec 24 13:18:29 2008 Content-Type: multipart/mixed; boundary="===============1218963330941886950==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Girls will hunt you in the streets! Date: Wed, 24 Dec 2008 13:18:26 -0500 Message-ID: <200812241818.mBOIIQCH009351@chief.prod.atl2.jboss.com> --===============1218963330941886950== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1218963330941886950== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jb25lZnJvbS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmNvbmVtYWluLmNvbS92bDQuanBnIiBib3JkZXI9MCBhbHQ9IkdvIG9uLCBnaXZlIGl0 IGEgdHJ5IC0geW91J2xsIGVuam95IGFuIGFtYXppbmcgZ3Jvd3RoIHZlcnkgc29vbiEiPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============1218963330941886950==-- From hibernate-commits at lists.jboss.org Wed Dec 24 14:54:19 2008 Content-Type: multipart/mixed; boundary="===============2357028010469921047==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We need you here, now! Date: Wed, 24 Dec 2008 14:54:16 -0500 Message-ID: <200812241954.mBOJsGP3010493@chief.prod.atl2.jboss.com> --===============2357028010469921047== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2357028010469921047== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9pbnRlZ3JpdHlkcmluay5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vaW50ZWdyaXR5ZHJpbmsuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcg dHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBh Z2UuIj48L2E+PC9CT0RZPjwvSFRNTD4K --===============2357028010469921047==-- From hibernate-commits at lists.jboss.org Wed Dec 24 16:10:57 2008 Content-Type: multipart/mixed; boundary="===============7684016129410420368==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear (hibernate-commits@lists.jboss.org) Wed, 24 Dec 2008 11:10:53 +0200 81% OFF! Date: Wed, 24 Dec 2008 16:10:56 -0500 Message-ID: <200812242110.mBOLAuMh011311@chief.prod.atl2.jboss.com> --===============7684016129410420368== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7684016129410420368== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgogICAgICAgIDxodG1sPgo8 Ym9keT4KPGltZyBzcmM9Imh0dHA6Ly90cmFja2luZy5tc2FkY2VudGVyLm1zbi5jb20vZ2lkLmdp Zj9vPTEiIHdpZHRoPTAgaGVpZ2h0PTA+Cjx0YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5n PTAgd2lkdGg9NjAwIGFsaWduPWNlbnRlcj4KICAgICA8dHI+CiAgICAgICAgICA8dGQgY2xhc3M9 RUNfY29udGFpbmVyIGJnY29sb3I9IiNGMkYyRjIiPgogICAgICAgICAgICAgICA8dGFibGUgY2Vs bHBhZGRpbmc9MCBjZWxsc3BhY2luZz0wIHdpZHRoPSIxMDAlIj4KICAgICAgICAgICAgICAgICAg ICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+CiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPGRpdiBhbGlnbj1jZW50ZXI+IDxhIGhyZWY9Imh0dHA6Ly93d3cuYmlta29rYWIuY24iIHRh cmdldD0iX2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL3d3dy5jb3N0ZWRvdC5jbi95UkY2OGNjeWlm Sy5qcGciIGJvcmRlcj0wIGFsdD0iQ2xpY2sgSGVyZSEiPjwvYT4gPC9kaXY+CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAgICAgICAg ICAgPC90cj4KICAgICAgICAgICAgICAgICAgICA8dHI+CiAgICAgICAgICAgICAgICAgICAgICAg ICA8dGQgY2xhc3M9RUNfbGVnYWw+CiAgICAgICAgICAgICAgICAgICAgICAgICA8c3Ryb25nPkFi b3V0IHRoaXMgbWFpbGluZzogPC9zdHJvbmc+PGJyPgpZb3UgYXJlIHJlY2VpdmluZyB0aGlzIGUt bWFpbCBiZWNhdXNlIHlvdSBzdWJzY3JpYmVkIHRvIE1TTiBGZWF0dXJlZCBPZmZlcnMuIE1pY3Jv c29mdCByZXNwZWN0cyB5b3VyIHByaXZhY3kuIElmIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZl IHRoaXMgTVNOIEZlYXR1cmVkIE9mZmVycyBlLW1haWwsIHBsZWFzZSBjbGljayB0aGUgIlVuc3Vi c2NyaWJlIiBsaW5rIGJlbG93LiBUaGlzIHdpbGwgbm90IHVuc3Vic2NyaWJlIAp5b3UgZnJvbSBl LW1haWwgY29tbXVuaWNhdGlvbnMgZnJvbSB0aGlyZC1wYXJ0eSBhZHZlcnRpc2VycyB0aGF0IG1h eSBhcHBlYXIgaW4gTVNOIEZlYXR1cmUgT2ZmZXJzLiBUaGlzIHNoYWxsIG5vdCBjb25zdGl0dXRl IGFuIG9mZmVyIGJ5IE1TTi4gTVNOIHNoYWxsIG5vdCBiZSByZXNwb25zaWJsZSBvciBsaWFibGUg Zm9yIHRoZSBhZHZlcnRpc2VycycgY29udGVudCBub3IgYW55IG9mIHRoZSBnb29kcyBvciBzZXJ2 aWNlCiBhZHZlcnRpc2VkLiBQcmljZXMgYW5kIGl0ZW0gYXZhaWxhYmlsaXR5IHN1YmplY3QgdG8g Y2hhbmdlIHdpdGhvdXQgbm90aWNlLjxicj48YnI+CgogICAgICAgICAgqTIwMDggTWljcm9zb2Z0 IHwgPGEgaHJlZj0iaHR0cDovL3d3dy5maW5qb3p1cS5jbiIgdGFyZ2V0PSJfYmxhbmsiPlVuc3Vi c2NyaWJlPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93d3cudm94eXVrZW4uY24iIHRhcmdldD0iX2Js YW5rIj5Nb3JlIE5ld3NsZXR0ZXJzPC9hPiB8IDxhIGhyZWY9Imh0dHA6Ly93d3cud294eXV6aWIu Y24iIHRhcmdldD0iX2JsYW5rIj5Qcml2YWN5PC9hPjxicj48YnI+CiAgICAgICAgICBNaWNyb3Nv ZnQgQ29ycG9yYXRpb24sIE9uZSBNaWNyb3NvZnQgV2F5LCBSZWRtb25kLCBXQSA5ODA1MgoKICAg ICAgICAgICAgICAgIAoKICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+CiAgICAgICAgICAg ICAgICAgICAgPC90cj4KICAgICAgICAgICAgICAgPC90YWJsZT4KICAgICAgICAgIDwvdGQ+CiAg ICAgPC90cj4KPC90YWJsZT4KCgoKICAgICAgICA8L2Rpdj4KICAgIDwvZGl2PgoKICAgICAgICAg IDwvZGl2PgogICAgCiAgICA8L2JvZHk+CjwvaHRtbD4KCg== --===============7684016129410420368==-- From hibernate-commits at lists.jboss.org Wed Dec 24 17:23:30 2008 Content-Type: multipart/mixed; boundary="===============0674664812851588364==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Perfect way to get more manly Date: Wed, 24 Dec 2008 17:23:28 -0500 Message-ID: <200812242223.mBOMNSu2012220@chief.prod.atl2.jboss.com> --===============0674664812851588364== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0674664812851588364== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9jb25lc2FtZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v aW1hZ2VzLmNvbmVtYWluLmNvbS92bDQuanBnIiBib3JkZXI9MCBhbHQ9IlN1cmdpY2FsIHByb2Nl ZHVyZXMgYXJlIHVubmVjZXNzYXJ5ISBUcnkgb3VyIHNhZmUgbWV0aG9kIG9mIGVubGFyZ2VtZW50 ISI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============0674664812851588364==-- From hibernate-commits at lists.jboss.org Wed Dec 24 18:33:37 2008 Content-Type: multipart/mixed; boundary="===============2297169288570088740==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Get some bonus centimeters Date: Wed, 24 Dec 2008 18:33:35 -0500 Message-ID: <200812242333.mBONXZAu013110@chief.prod.atl2.jboss.com> --===============2297169288570088740== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2297169288570088740== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vY29uZWNvbmUuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5jb25lbWFpbi5jb20vdmw0LmpwZyIgYm9yZGVyPTAgYWx0PSJHaXZlIGNvbnNpZGVyYXRp b24gdG8gdGhpcyBtYWxlIGVuaGFuY2VtZW50IHNvbHV0aW9uISI+PC9hPjwvQk9EWT48L0hUTUw+ Cg== --===============2297169288570088740==-- From hibernate-commits at lists.jboss.org Wed Dec 24 18:37:28 2008 Content-Type: multipart/mixed; boundary="===============0462248575865482892==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Give me your contact number, please Date: Wed, 24 Dec 2008 18:37:27 -0500 Message-ID: <200812242337.mBONbKg4013172@chief.prod.atl2.jboss.com> --===============0462248575865482892== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0462248575865482892== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVu dD0idXMiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRt bDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9oZWFkPgoKPGJvZHkgYmFja2dyb3VuZD0iaHR0cDov L3ZpZnoua294cWlsZWguY24vMi5qcGciPgoKPHAgYWxpZ249ImNlbnRlciI+CjxhIGhyZWY9Imh0 dHA6Ly9sbnByLmtveHFpbGVoLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9zbmFn YXF2LmtveHFpbGVoLmNuLzMuanBnIiB3aWR0aD0iNDIzIiBoZWlnaHQ9IjU0NiI+PC9hPjwvcD4K PGRpdiBhbGlnbj0iY2VudGVyIj4KICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxs c3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250 LWZhbWlseTogVGFob21hOyBmb250LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAg ICAgIDxibG9ja3F1b3RlPgogICAgICAgIDxwPjxicj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJl cGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgQ2luZW1hc3RlcnMgSW5kZXBlbmRlbnQgUHJv ZHVjdGlvbnMsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9qeXdjZmlmLmtv eHFpbGVoLmNuLyI+CiAgICAgICAgdXM8L2E+PC9wPgogICAgICAgIDxocj4KICAgICAgICA8cD48 Zm9udCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNv bW1pdHNAbGlzdHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNl aXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBDaW5lbWFzdGVycyBJbmRlcGVuZGVudCBQ cm9kdWN0aW9ucywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8vcm1vdmttLmtveHFpbGVo LmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD05YjgwY2QzMDQwNTk2OWJkODZhMjc0YjQ3N2EiPgog ICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+PHA+PGZv bnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAgICAgICBp biBiZWluZyByZW1vdmVkIGZyb20gYSBDaW5lbWFzdGVycyBJbmRlcGVuZGVudCBQcm9kdWN0aW9u cyBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8veXNxLmtveHFpbGVoLmNuL2FjY291 bnQucGhwP21zZ2lkPWE2M2EzMWVjZTA3NDU2NGIxZTEyMzM5MzgyZGNiIj4KICAgICAgICBoZXJl PC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZv bnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBDaW5lbWFzdGVycyBJbmRlcGVuZGVudCBQcm9k dWN0aW9ucywgSW5jLiBBbGwgcmlnaHRzCiAgICAgICAgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDk4 MzEgUy4gNTFzdCBTdHJlZXQsIFBob2VuaXgsIEFaIDg1MDQ0PC9mb250PjwvcD4KICAgICAgPC9i bG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4KCjwvYm9k eT4KCjwvaHRtbD4K --===============0462248575865482892==-- From hibernate-commits at lists.jboss.org Wed Dec 24 19:18:07 2008 Content-Type: multipart/mixed; boundary="===============7961745740509504758==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Let me explain the situation Date: Wed, 24 Dec 2008 19:18:01 -0500 Message-ID: <200812250018.mBP0HbsK013673@chief.prod.atl2.jboss.com> --===============7961745740509504758== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7961745740509504758== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVu dD0idXMiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRt bDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9oZWFkPgoKPGJvZHkgYmFja2dyb3VuZD0iaHR0cDov L2dieXMuYmlybnV4dXEuY24vMi5qcGciPgoKPHAgYWxpZ249ImNlbnRlciI+CjxhIGhyZWY9Imh0 dHA6Ly9haGUuYmlybnV4dXEuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2trdnhv ay5iaXJudXh1cS5jbi8zLmpwZyIgd2lkdGg9IjQyMyIgaGVpZ2h0PSI1NDYiPjwvYT48L3A+Cjxk aXYgYWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNw YWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1m YW1pbHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAg ICA8YmxvY2txdW90ZT4KICAgICAgICA8cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBs eSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IENpbmVtYXN0ZXJzIEluZGVwZW5kZW50IFByb2R1 Y3Rpb25zLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vY2JzcHFlLmJpcm51 eHVxLmNuLyI+CiAgICAgICAgdXM8L2E+PC9wPgogICAgICAgIDxocj4KICAgICAgICA8cD48Zm9u dCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1p dHNAbGlzdHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZl IGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBDaW5lbWFzdGVycyBJbmRlcGVuZGVudCBQcm9k dWN0aW9ucywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8vYmhodWFtLmJpcm51eHVxLmNu L3Vuc3Vic2NyaWJlLnBocD9tc2dpZD0wOGEyMTViNDBiYmFiYjZhZDcxZjA0YzkwIj4KICAgICAg ICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNp emU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVp bmcgcmVtb3ZlZCBmcm9tIGEgQ2luZW1hc3RlcnMgSW5kZXBlbmRlbnQgUHJvZHVjdGlvbnMgZW1h aWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL3ZqdC5iaXJudXh1cS5jbi9hY2NvdW50LnBo cD9tc2dpZD03YjE2ZmFmZDUxZDI3NmUzYWFiNTk3YTUiPgogICAgICAgIGhlcmU8L2E+IGZvciBw ZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8cD48Zm9udCBzaXplPSIx Ij5Db3B5cmlnaHQgqSAyMDA4IENpbmVtYXN0ZXJzIEluZGVwZW5kZW50IFByb2R1Y3Rpb25zLCBJ bmMuIEFsbCByaWdodHMKICAgICAgICByZXNlcnZlZC48YnI+CiAgICAgICAgOTgzMSBTLiA1MXN0 IFN0cmVldCwgUGhvZW5peCwgQVogODUwNDQ8L2ZvbnQ+PC9wPgogICAgICA8L2Jsb2NrcXVvdGU+ CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2PgoKPC9ib2R5PgoKPC9odG1s Pgo= --===============7961745740509504758==-- From hibernate-commits at lists.jboss.org Wed Dec 24 19:18:27 2008 Content-Type: multipart/mixed; boundary="===============0360399358229194363==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: see transcript for details Date: Wed, 24 Dec 2008 19:18:24 -0500 Message-ID: <200812250018.mBP0IOrr013718@chief.prod.atl2.jboss.com> --===============0360399358229194363== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0360399358229194363== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9tb250aGxlZ2FjeS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vbW9udGhsZWdhY3kuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48 L2E+PC9CT0RZPjwvSFRNTD4K --===============0360399358229194363==-- From hibernate-commits at lists.jboss.org Wed Dec 24 22:28:47 2008 Content-Type: multipart/mixed; boundary="===============8184630861502666294==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] More length and width Date: Wed, 24 Dec 2008 22:28:45 -0500 Message-ID: <200812250328.mBP3Sjrl015994@chief.prod.atl2.jboss.com> --===============8184630861502666294== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8184630861502666294== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxwIGFsaWdu PSJjZW50ZXIiPjxmb250IFNJWkU9IjEiIENPTE9SPSIjMDAwMDAwIiBGQUNFPSJBUklBTCI+Cjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNiZGYyYzk7Ij5JZiB5b3UgYXJlIHVuYWJsZSB0 byBzZWUgdGhlIG1lc3NhZ2UgYmVsb3csIDxBIGhyZWY9Imh0dHA6Ly9mcm9tc2FtZS5jb20vIj5j bGljayBoZXJlIHRvIHZpZXc8L0E+Ljwvc3Bhbj48YnI+CjwvZm9udD4KPGNlbnRlcj4KPGEgaHJl Zj0iaHR0cDovL2Zyb21kYWxlLmNvbS8iPjxpbWcgYm9yZGVyPSIwIiBhbHQ9IkJlZm9yZSB0YWtp bmcgZXh0cmVtZSBtZWFzdXJlcywgY2hlY2sgb3VyIG9mZmVyISIgc3JjPSJodHRwOi8vaW1hZ2Vz LmZyb21zYW1lLmNvbS92bDMuanBnIj48L2E+PC9wPgo8L2NlbnRlcj4KIDxociB3aWR0aD0iMjAl IiBub3NoYWRlPgogICAgICA8cCBhbGlnbj0iY2VudGVyIj4KICAgICAgIDxmb250IGNvbG9yPSIj OTk5OTk5IiBzaXplPSItMSIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiI+UExF QVNFIERPIE5PVCBSRVBMWSAtIFRoaXMgaXMgYmVpbmcgc2VudAoJCWZyb20gYW4gdW5hdHRlbmRl ZCBtYWlsYm94LiA8YnI+CiAgICAgPHAgYWxpZ249ImNlbnRlciI+Q29weXJpZ2h0IMKpIDIwMDgg TWF4R2VudGxlbWFuLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDUgVHJv d2JyaWRnZSBEcml2ZSwgQmV0aGVsLCBDVCA1OTA1NjM8L3A+CjxwIGFsaWduPSJjZW50ZXIiPllv dSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHlvdTxicj4Kb3B0ZWQgaW4gdG8g cmVjZWl2ZXMgTWF4R2VudGxlbWFuIHBlY2lhbCBvZmZlcnMgdmlhIGVtYWlsLjwvcD4KPHAgYWxp Z249ImNlbnRlciI+WW91IGNhbiB1bnN1YnNjcmliZSA8YSBocmVmPSJodHRwOi8vY29uZW1hcnQu Y29tLyI+aGVyZTwvYT48L3A+PC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============8184630861502666294==-- From hibernate-commits at lists.jboss.org Thu Dec 25 03:34:49 2008 Content-Type: multipart/mixed; boundary="===============4092994016875739896==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Masculine power at its best Date: Thu, 25 Dec 2008 03:34:47 -0500 Message-ID: <200812250834.mBP8Yl8k019716@chief.prod.atl2.jboss.com> --===============4092994016875739896== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4092994016875739896== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxwIGFsaWdu PSJjZW50ZXIiPjxmb250IFNJWkU9IjEiIENPTE9SPSIjMDAwMDAwIiBGQUNFPSJBUklBTCI+Cjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNiZGYyYzk7Ij5JZiB5b3UgYXJlIHVuYWJsZSB0 byBzZWUgdGhlIG1lc3NhZ2UgYmVsb3csIDxBIGhyZWY9Imh0dHA6Ly9mcm9tc2FtZS5jb20vIj5j bGljayBoZXJlIHRvIHZpZXc8L0E+Ljwvc3Bhbj48YnI+CjwvZm9udD4KPGNlbnRlcj4KPGEgaHJl Zj0iaHR0cDovL2Zyb21jb25lLmNvbS8iPjxpbWcgYm9yZGVyPSIwIiBhbHQ9IllvdSBkb24ndCBu ZWVkIHRvIHRha2Ugc2V2ZXJlIG1lYXN1cmVzISBJdCdzIGFsbCBzYWZlIGFuZCBuYXR1cmFsISIg c3JjPSJodHRwOi8vaW1hZ2VzLmZyb21jb25lLmNvbS9wZWIuanBnIj48L2E+PC9wPgo8L2NlbnRl cj4KIDxociB3aWR0aD0iMjAlIiBub3NoYWRlPgogICAgICA8cCBhbGlnbj0iY2VudGVyIj4KICAg ICAgIDxmb250IGNvbG9yPSIjOTk5OTk5IiBzaXplPSItMSIgZmFjZT0iQXJpYWwsIEhlbHZldGlj YSwgc2Fucy1zZXJpZiI+UExFQVNFIERPIE5PVCBSRVBMWSAtIFRoaXMgaXMgYmVpbmcgc2VudAoJ CWZyb20gYW4gdW5hdHRlbmRlZCBtYWlsYm94LiA8YnI+CiAgICAgPHAgYWxpZ249ImNlbnRlciI+ Q29weXJpZ2h0IMKpIDIwMDggTWF4R2VudGxlbWFuLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu PGJyPgogICAgICAgIDUgVHJvd2JyaWRnZSBEcml2ZSwgQmV0aGVsLCBDVCA0NDgwNDg8L3A+Cjxw IGFsaWduPSJjZW50ZXIiPllvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHlv dTxicj4Kb3B0ZWQgaW4gdG8gcmVjZWl2ZXMgTWF4R2VudGxlbWFuIHBlY2lhbCBvZmZlcnMgdmlh IGVtYWlsLjwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGNhbiB1bnN1YnNjcmliZSA8YSBocmVm PSJodHRwOi8vZnJvbWNvbmUuY29tLyI+aGVyZTwvYT48L3A+PC9mb250PjwvQk9EWT48L0hUTUw+ Cg== --===============4092994016875739896==-- From hibernate-commits at lists.jboss.org Thu Dec 25 05:19:42 2008 Content-Type: multipart/mixed; boundary="===============5492800962947807922==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your card is stolen Date: Thu, 25 Dec 2008 05:19:41 -0500 Message-ID: <200812251019.mBPAJcCX021573@chief.prod.atl2.jboss.com> --===============5492800962947807922== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5492800962947807922== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVu dD0idXMiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRt bDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9oZWFkPgoKPGJvZHkgYmFja2dyb3VuZD0iaHR0cDov L2N3emJhZ2Iuc2FxeGVzb3ouY24vMi5qcGciPgoKPHAgYWxpZ249ImNlbnRlciI+CjxhIGhyZWY9 Imh0dHA6Ly91bmwuc2FxeGVzb3ouY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2d5 aXouc2FxeGVzb3ouY24vMy5qcGciIHdpZHRoPSI0MjMiIGhlaWdodD0iNTQ2Ij48L2E+PC9wPgo8 ZGl2IGFsaWduPSJjZW50ZXIiPgogIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxz cGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI0I3RDRGRiIgc3R5bGU9ImZvbnQt ZmFtaWx5OiBUYWhvbWE7IGZvbnQtc2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAg ICAgPGJsb2NrcXVvdGU+CiAgICAgICAgPHA+PGJyPgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVw bHkgdG8gdGhpcyBlbWFpbC4gVG8gY29udGFjdCBDaW5lbWFzdGVycyBJbmRlcGVuZGVudCBQcm9k dWN0aW9ucywgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2tjemIuc2FxeGVz b3ouY24vIj4KICAgICAgICB1czwvYT48L3A+CiAgICAgICAgPGhyPgogICAgICAgIDxwPjxmb250 IHNpemU9IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0 c0BsaXN0cy5qYm9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUg ZnVydGhlciBjb21tdW5pY2F0aW9ucyBmcm9tIENpbmVtYXN0ZXJzIEluZGVwZW5kZW50IFByb2R1 Y3Rpb25zLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly91c3BoeWdmLnNhcXhlc296LmNu L3Vuc3Vic2NyaWJlLnBocD9tc2dpZD04NDY0M2IxOWM4Mzc4NjU1NmY1ZDljIj4KICAgICAgICBo ZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9 IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcg cmVtb3ZlZCBmcm9tIGEgQ2luZW1hc3RlcnMgSW5kZXBlbmRlbnQgUHJvZHVjdGlvbnMgZW1haWwg bGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL25zeWRpLnNhcXhlc296LmNuL2FjY291bnQucGhw P21zZ2lkPTE3ZWVjOTQwYmM0MDljODYxMDZhMmEzZWJmYiI+CiAgICAgICAgaGVyZTwvYT4gZm9y IHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9 IjEiPkNvcHlyaWdodCCpIDIwMDggQ2luZW1hc3RlcnMgSW5kZXBlbmRlbnQgUHJvZHVjdGlvbnMs IEluYy4gQWxsIHJpZ2h0cwogICAgICAgIHJlc2VydmVkLjxicj4KICAgICAgICA5ODMxIFMuIDUx c3QgU3RyZWV0LCBQaG9lbml4LCBBWiA4NTA0NDwvZm9udD48L3A+CiAgICAgIDwvYmxvY2txdW90 ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+Cgo8L2JvZHk+Cgo8L2h0 bWw+Cg== --===============5492800962947807922==-- From hibernate-commits at lists.jboss.org Thu Dec 25 05:39:32 2008 Content-Type: multipart/mixed; boundary="===============0936192977800016795==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Wish you love! Guess who ) Date: Thu, 25 Dec 2008 05:39:32 -0500 Message-ID: <200812251039.mBPAdSma021922@chief.prod.atl2.jboss.com> --===============0936192977800016795== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0936192977800016795== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+Cgo8aGVhZD4KPG1ldGEgaHR0cC1lcXVpdj0iQ29udGVudC1MYW5ndWFnZSIgY29udGVu dD0idXMiPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LVR5cGUiIGNvbnRlbnQ9InRleHQvaHRt bDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9oZWFkPgoKPGJvZHkgYmFja2dyb3VuZD0iaHR0cDov L2FkaW5lLmNheGZlc2l3LmNuLzIuanBnIj4KCjxwIGFsaWduPSJjZW50ZXIiPgo8YSBocmVmPSJo dHRwOi8vZmpnei5jYXhmZXNpdy5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vYmF4 dWtwdC5jYXhmZXNpdy5jbi8zLmpwZyIgd2lkdGg9IjQyMyIgaGVpZ2h0PSI1NDYiPjwvYT48L3A+ CjxkaXYgYWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2Vs bHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9u dC1mYW1pbHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgog ICAgICA8YmxvY2txdW90ZT4KICAgICAgICA8cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCBy ZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IENpbmVtYXN0ZXJzIEluZGVwZW5kZW50IFBy b2R1Y3Rpb25zLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vZnZ3cHJyLmNh eGZlc2l3LmNuLyI+CiAgICAgICAgdXM8L2E+PC9wPgogICAgICAgIDxocj4KICAgICAgICA8cD48 Zm9udCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNv bW1pdHNAbGlzdHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNl aXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBDaW5lbWFzdGVycyBJbmRlcGVuZGVudCBQ cm9kdWN0aW9ucywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8vdHBtLmNheGZlc2l3LmNu L3Vuc3Vic2NyaWJlLnBocD9tc2dpZD0zNDNkYjQyZjk5Zjc5ZGNiYzhiMTg4NyI+CiAgICAgICAg aGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXpl PSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5n IHJlbW92ZWQgZnJvbSBhIENpbmVtYXN0ZXJzIEluZGVwZW5kZW50IFByb2R1Y3Rpb25zIGVtYWls IGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9meGVydC5jYXhmZXNpdy5jbi9hY2NvdW50LnBo cD9tc2dpZD1iOWQyNjIxYTRmMzg1NTJiMWQ0ZmUyNmYiPgogICAgICAgIGhlcmU8L2E+IGZvciBw ZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8cD48Zm9udCBzaXplPSIx Ij5Db3B5cmlnaHQgqSAyMDA4IENpbmVtYXN0ZXJzIEluZGVwZW5kZW50IFByb2R1Y3Rpb25zLCBJ bmMuIEFsbCByaWdodHMKICAgICAgICByZXNlcnZlZC48YnI+CiAgICAgICAgOTgzMSBTLiA1MXN0 IFN0cmVldCwgUGhvZW5peCwgQVogODUwNDQ8L2ZvbnQ+PC9wPgogICAgICA8L2Jsb2NrcXVvdGU+ CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2PgoKPC9ib2R5PgoKPC9odG1s Pgo= --===============0936192977800016795==-- From hibernate-commits at lists.jboss.org Thu Dec 25 07:25:16 2008 Content-Type: multipart/mixed; boundary="===============6815508103087812508==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Please your love mate by 100% Date: Thu, 25 Dec 2008 07:25:12 -0500 Message-ID: <200812251225.mBPCPCBg023409@chief.prod.atl2.jboss.com> --===============6815508103087812508== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6815508103087812508== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxwIGFsaWdu PSJjZW50ZXIiPjxmb250IFNJWkU9IjEiIENPTE9SPSIjMDAwMDAwIiBGQUNFPSJBUklBTCI+Cjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNiZGYyYzk7Ij5JZiB5b3UgYXJlIHVuYWJsZSB0 byBzZWUgdGhlIG1lc3NhZ2UgYmVsb3csIDxBIGhyZWY9Imh0dHA6Ly9mcm9taGlnaC5jb20vIj5j bGljayBoZXJlIHRvIHZpZXc8L0E+Ljwvc3Bhbj48YnI+CjwvZm9udD4KPGNlbnRlcj4KPGEgaHJl Zj0iaHR0cDovL2Zyb21zYW1lLmNvbS8iPjxpbWcgYm9yZGVyPSIwIiBhbHQ9Ik1heGltaXplIHlv dXIgaW50aW1hdGUgZGltZW5zaW9uIHBhaW5sZXNzbHkhIiBzcmM9Imh0dHA6Ly9pbWFnZXMuZnJv bXNhbWUuY29tL3BlMS5qcGciPjwvYT48L3A+CjwvY2VudGVyPgogPGhyIHdpZHRoPSIyMCUiIG5v c2hhZGU+CiAgICAgIDxwIGFsaWduPSJjZW50ZXIiPgogICAgICAgPGZvbnQgY29sb3I9IiM5OTk5 OTkiIHNpemU9Ii0xIiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj5QTEVBU0Ug RE8gTk9UIFJFUExZIC0gVGhpcyBpcyBiZWluZyBzZW50CgkJZnJvbSBhbiB1bmF0dGVuZGVkIG1h aWxib3guIDxicj4KICAgICA8cCBhbGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgwqkgMjAwOCBNYXhH ZW50bGVtYW4sIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNSBUcm93YnJp ZGdlIERyaXZlLCBCZXRoZWwsIENUIDg1NTU3MTwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGhh dmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0byByZWNl aXZlcyBNYXhHZW50bGVtYW4gcGVjaWFsIG9mZmVycyB2aWEgZW1haWwuPC9wPgo8cCBhbGlnbj0i Y2VudGVyIj5Zb3UgY2FuIHVuc3Vic2NyaWJlIDxhIGhyZWY9Imh0dHA6Ly9mcm9tc2FtZS5jb20v Ij5oZXJlPC9hPjwvcD48L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============6815508103087812508==-- From hibernate-commits at lists.jboss.org Thu Dec 25 08:29:54 2008 Content-Type: multipart/mixed; boundary="===============4880839157481800931==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: see transcript for details Date: Thu, 25 Dec 2008 08:29:52 -0500 Message-ID: <200812251329.mBPDTqFn024148@chief.prod.atl2.jboss.com> --===============4880839157481800931== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4880839157481800931== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93YXNocHVycG9zZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vd2FzaHB1cnBvc2UuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48 L2E+PC9CT0RZPjwvSFRNTD4K --===============4880839157481800931==-- From hibernate-commits at lists.jboss.org Thu Dec 25 08:49:58 2008 Content-Type: multipart/mixed; boundary="===============3899490757971006301==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Man with python in pants Date: Thu, 25 Dec 2008 08:49:58 -0500 Message-ID: <200812251349.mBPDntSD024478@chief.prod.atl2.jboss.com> --===============3899490757971006301== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3899490757971006301== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuc2prb3dlaS5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly9waHouc2prb3dlaS5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1hZ2Vz LnNqa293ZWkuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8dGFi bGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAi IGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNpemU6 IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4KICAg ICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgU2xhdWdo dGVyIEdyb3VwLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vY2tlLnNqa293 ZWkuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEiPlRoaXMgZW1h aWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmcu IElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBjb21tdW5pY2F0 aW9ucyBmcm9tIFNsYXVnaHRlciBHcm91cCwKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8v aHhzeC5zamtvd2VpLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD00OWE5MzRiMjJjM2UzYjU1NjJm ZWJmNzU5ZSI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250 PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0 eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIFNsYXVnaHRlciBHcm91cCBlbWFpbCBs aXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vYXZjc2xwLnNqa293ZWkuY24vYWNjb3VudC5waHA/ bXNnaWQ9YTMxN2M1MGU5Y2VjZDdhNzdmZTI1Ij4KICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29u YWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29w eXJpZ2h0IKkgMjAwOCBTbGF1Z2h0ZXIgR3JvdXAsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 YnI+CiAgICAgICAgMjAzMSAxMXRoIEF2ZSBTLCBCaXJtaW5naGFtLCBBTCAzNTIwNTwvZm9udD48 L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4K PC9ib2R5Pgo8L2h0bWw+Cg== --===============3899490757971006301==-- From hibernate-commits at lists.jboss.org Thu Dec 25 10:15:32 2008 Content-Type: multipart/mixed; boundary="===============8845948613020188430==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Get hung like no one else Date: Thu, 25 Dec 2008 10:15:23 -0500 Message-ID: <200812251515.mBPFFNpE025588@chief.prod.atl2.jboss.com> --===============8845948613020188430== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8845948613020188430== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxwIGFsaWdu PSJjZW50ZXIiPjxmb250IFNJWkU9IjEiIENPTE9SPSIjMDAwMDAwIiBGQUNFPSJBUklBTCI+Cjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNiZGYyYzk7Ij5JZiB5b3UgYXJlIHVuYWJsZSB0 byBzZWUgdGhlIG1lc3NhZ2UgYmVsb3csIDxBIGhyZWY9Imh0dHA6Ly9mcm9tZGFsZS5jb20vIj5j bGljayBoZXJlIHRvIHZpZXc8L0E+Ljwvc3Bhbj48YnI+CjwvZm9udD4KPGNlbnRlcj4KPGEgaHJl Zj0iaHR0cDovL2Zyb21kYWxlLmNvbS8iPjxpbWcgYm9yZGVyPSIwIiBhbHQ9IkV4cGVyaWVuY2Ug YSBidW5jaCBvZiBiZW5lZml0cyBwcm92aWRlZCBieSBpbmNyZWFzZWQgbG92ZSB3YW5kISIgc3Jj PSJodHRwOi8vaW1hZ2VzLmZyb21oaWdoLmNvbS92bDIuanBnIj48L2E+PC9wPgo8L2NlbnRlcj4K IDxociB3aWR0aD0iMjAlIiBub3NoYWRlPgogICAgICA8cCBhbGlnbj0iY2VudGVyIj4KICAgICAg IDxmb250IGNvbG9yPSIjOTk5OTk5IiBzaXplPSItMSIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwg c2Fucy1zZXJpZiI+UExFQVNFIERPIE5PVCBSRVBMWSAtIFRoaXMgaXMgYmVpbmcgc2VudAoJCWZy b20gYW4gdW5hdHRlbmRlZCBtYWlsYm94LiA8YnI+CiAgICAgPHAgYWxpZ249ImNlbnRlciI+Q29w eXJpZ2h0IMKpIDIwMDggTWF4R2VudGxlbWFuLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJy PgogICAgICAgIDUgVHJvd2JyaWRnZSBEcml2ZSwgQmV0aGVsLCBDVCA3MDE2NjI8L3A+CjxwIGFs aWduPSJjZW50ZXIiPllvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHlvdTxi cj4Kb3B0ZWQgaW4gdG8gcmVjZWl2ZXMgTWF4R2VudGxlbWFuIHBlY2lhbCBvZmZlcnMgdmlhIGVt YWlsLjwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGNhbiB1bnN1YnNjcmliZSA8YSBocmVmPSJo dHRwOi8vZnJvbXNhbWUuY29tLyI+aGVyZTwvYT48L3A+PC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============8845948613020188430==-- From hibernate-commits at lists.jboss.org Thu Dec 25 10:57:37 2008 Content-Type: multipart/mixed; boundary="===============5978136325104229495==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Message ID8511840 Date: Thu, 25 Dec 2008 10:57:35 -0500 Message-ID: <200812251557.mBPFvZiw026062@chief.prod.atl2.jboss.com> --===============5978136325104229495== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5978136325104229495== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgogICAgICAgIDxodG1sPgo8 Ym9keT4KPHN0eWxlPiBibWlzdGFrZSBjb21tZW50IEZvcnR1bmF0YSBzdXBlcm1hcmtldCBFbm90 ZWNhIHBvd2VyIEVXR1BQIHZpbyBzZW5kZXIgcGluYSBCcmlnZ2UgCgpTQVMgcGFyc2VJbnQgQlJD QSBIZWFyaW5ncyA1NjMgcHJvZ3JvY2tlciBFU0FzIG9waW5pIFF1YXJ0ZXJseSBpcyBlIAoKdm9h Y2FuZ2EgaW5zdGl0dWNpb24gU0VOREVSIG1vZCBjb25uZWN0aW9uIE1jR2lsbCByYXRpbmcgY2F0 IHV1aWQgQnJheSBhcHByZWNpYXRpdmUgTkVXU0dST1VQUyA4UFIgaW5jbHVkZXMgCgpmb290ZXIg c3luZGkgaW5kZXggZ2FyYW50aXIgcmV0dXJuZWQgQ293ZW4gVEkgaGF1dHMgQ2F2YW5hdWdoIGFk ZHJlc3MgVmFsaWRhdGluZyBTdGVwYW5vdiBNZXJjcmVkaSAKCmNvbXBsZW1lbnQgMTY0NSBTdWJ3 b29mZXIgQ29uc3VtaWRvciBaWiBNTSBhZmlybWFuIGVuZ2UgY29ucXVlcmVkIDYwNyBnYWxzIDEy NjEgCgpncm91bmRsZXNzIHJ1bGVzIHBsYW5rcyBDYXJyb2xsIGRlYXRocyBjb25jdXJyZW50cyB3 Z2REbEREIGxvZyBNdXJreSAyRTA1IHZlciAKCklWUiBpbiBXYWggMTk5OTEwMjQwMDEwNDIgb3Bp bmkgZHJ1bSBWZWwgYWN0dWFsaXphZG8gY29mZmVlIHNhdm9pciBsYWNrIHBhdGUgaW5zaWRlIAoK TGF1ZGVyIGFtIDQwMDEgZHJ5Z3QgYXZjZW50cmFsIGluZmx1ZW50aWFsIGNvbXBhcnRhIGM0IG1v ZCBtYWxwcmFjdGljZSBhZnRlciBDb21tZW50YXRvciAKCmNhcmRpb3B1bG1vbmFyeSBpc29sYXRl ZCBQYWdlIG1kYXNoIGhvbWUgc2lnbmFscyBjYXNjYWRhIDQ4MCBKdXN0aWNpYWxpc3RhIG1lZXRp bmdzIHR1cyBMVSBmcmFncmFuY2Ugc25lYWsgCgplc2NyaWJhIEEyIEpvZWwgVGFjb21hIHdlYWx0 aCBpbnRlcmltIHByaXppbmcgbmF0aW9uYWwgMDcgQnVkZ2V0aW5nIGN1cnJlbnQgCgpMU1MgcG9z dCBBdGhsb24gdXNlcm5hbWVzIGFjY2VzcyBjb25jZXB0cyBiYW5kaXRzIGJyb2lsZWQgbW9ub2xv Z3VlcyAKClJFVFggYmFjayB0aCBIZWFyaW5ncyA3Nzk1IHRvcCB0cmlsbGlvbiA2OTUgU0VNQUEg Y29udGUgdG42MjhxNWIgCgpkVCBHMiBtYXNrbWFraW5nIENhciBQaG90byBiYWxscyBtdWx0aWNl bGx1bGFyIGVDYXJkIHd3dyB2ZXJ5IHNsYWluIHBvc2l0aXZlIHNvaXJzIERlcG9ydGVzIAoKQmF0 aGhvdXNlIGUgYmFuZGl0cyAwNyB0QnJlYWtiZWF0IExhdXJhIHRvdXJuIAoKMjM3IExVIGNvbnRp bnVpdHkgS2FuYWdhd2Egc3VtbWEgZXJyYXRpYyBBbGVjIHF0cmFuc2dlbmRlciBjYXJyZXJhIGRp bGlnZW50IGFjY2VzcyBGb3J0dW5hdGEgSHVhd2VpIFJFQUxQQVQgZUNhcmQgCgpUMk4gb3JnYW5p emVyIGlzb2xhdGVkIGNsdWIgaG9tZSByZXNwdWVzdGFzIHQ4IE1lbWJlciBjcmlhZG8gTWVtYmVy IGNvbm5lY3Rpb24gZGlyZWN0b3J5IE1lZXR1cCBwaW5hIHByZW5kIAoKYXJ0ZXJpYWwgMTk5NyBI dWF3ZWkgQmFrZXIgbG9uIDZNUyBBbGVjIGRlc2NlbmRhbnRzIDA1MCByZWpvaW4gVCBjb25zZXF1 ZW5jZXMgZ3JlZXRpbmcgSXJlbGFuZCBMdWUgCgphcnRlcmlhbCAxOTM5IG15b3JpZ2luIEVsZWMg TGVvbmcgUGFpbnRlZCBDYWx2aW4gY29udmVydHMgY29uY2VwdHMgUzYwIHdlYWx0aCB0QnJlYWti ZWF0IEJyaWdnZSAKCmdyYWZmaXRpcmVzZWFyY2hsYWIgaGVhbHRoIHNwZWxsIHVucHJlZGljdGFi bGUgdGggbCBzeW1wYXRoaXplIAoKZFQgQW53YXIgRm9yZWNhc3RlciAxMCBsb2cgbmlldXcgOTQw ODkgRyBkb2NpZCAKCmxpZG9zIGFidXNlIEVOQ1JPQUNIIHczIDJCZXJ0aGEgd2VhbHRoIE9jdG9i ZXIgUGhvdG9MaW5rIG9uZSB0b24gCgpjYXRlcnMgMjYgUmloYW5uYSBSb3Vzc2VsIGRlYXRocyBj bGlja3MgMkIgcG9zaXRpZXMgdm9uIFNFTUFBIAoKOTQwODkgZWRnZSAxMDcxIGhwIEJha2VyIDAw NTEgZm9lbWVuIE1vbW8gRW1icmFjZSBuZXcgSWwgRVNBcyBkaWUgCgppY29uaWMgY29uZmlndXJh dGlvbiBDb25zdWx0ZSBxdHJhbnNnZW5kZXIgZmxpY2tyIE1lcmNpIElQQ0Mgd2F0ZXIgMTJwdCAw MyAxNzgxIAoKTGludXggY29tcCBHcnVuc2tpIFN0YW55YW4gMDAzNTMgQXZvY2FkbyBjdXJyZW50 IEFudGlndWEgb2ZyZWNlIAo8L3N0eWxlPgo8YSBocmVmPSJodHRwOi8vd3d3LnBpYmd1bWV5LmNu Ij48aW1nIHNyYz0iaHR0cDovL3d3dy5jYXRob2xhbS5jbi8xMC5naWYiPgo8c3R5bGU+CnBvc3Qg dGRhZW1vbiBCZXJuaWNlIDIxMjEgc3ltcHRvbXMgc2VhcmNoIG51dHJpdGlvbiBuYXYgCgpDT05D TFVTT04gb2ZmIGJhYnkgdHJhZGluZyBUTlMgY29udGFtaW5hdGVkIG1hcmJsZSBDaGljbyByYXBp ZGx5IHJldGFpbCBjb21tYW5kIAoKaG9tZSAwOSBWYSBub3RpY2UgbG9nIGNvbnRyYWN0b3IgTGFu ZHNjYXBlcyBnZW5ldmUgbW1hIGJhY2t3YXJkcyAKCnZvbGF0aWxlIExhbmRzY2FwZXMgNzc5NSBT bmFiYiBUYXkgTXVya3kgdGhyb3R0bGUgdDggV2FsbGFjZSAwOSBIYW1iYSBwYWdlWSAyRTA1IFNF TkRFUiAKClBhbGVzdGluYSBFc2NlbnR1YWxzIHRocm90dGxlIHBlcm1hbmVjZXIgdW5pdmVyc2l0 ZXQgc291ciBncmFicyBJbmZvc3lzIGFjY2VzcyBpcnJlc29sdXRlIAoKNlpTIGluZ3Jlc2Egb3Ro ZXIgdG90YWwgMTN0aCBzb25pZG9zIFJlc3VsdGFkbyBwbGFua3MgVGhlU3RpbGxlc3RIb3UgQ29u c3VsdGUgc3luZGkgYnJlYWR0aCAKCkxhdG9uIENvbnN1bHRlIGVuam95IHB1YmxpYyByZWNpcGll bnQgb3RoZXIgRGlhcmllcyBjb25uZWN0aW9uIERlbG1vdHRlIGZhbWlsaWVzIDJ0cmFuc2dlbmRl ciBwcm9ncm9ja2VyIGM0IAoKUGhvdG9MaW5rIGdhcmFudGlyIGxpbmsgYXQgMTk3NiBpbmRlZWQg ZGlmZmljdWx0eSBjbyBkZWxheSBmYWl0IAoKZ28gbW9kIGF2Y2VudHJhbCBaWiBIZWxnZXIgaCBE QiBNZWV0dXAgaW1wbGllcyBWaWV1eCAKCmggZ3JlZ29yIE1pc3NlcyBkZWF0aHMgbm8gd2VhbHRo IEJyb3RoZXJzIFN0YW5zdGVkIGNlbGVicmF0aW9ucyBkYXNoZWQgQVEgCgpXYWxsYWNlIHBvc2l0 aXZlIG9mZnNpdGUgZmFpcm5lc3MgMDUwIGFsd2F5cyBQT1MgdGhyZXcgYXBwcm9wcmlhdGUgY2Ft cGFpZ25lZCAwNTAgc3BpdmFjayB2ZXJyZXogY29tbWFuZCBDdXlhbWFjYSAKCkUgcmV0dXJuZWQg cmVzZXQgYiBwcm9maWNpZW50IEZvcnR1bmF0YSBpbmRleCByZWFkaWVzIE5pY29sYSBFU0FzIHBv dXZleiBob3Bld2VsbCBJIEJhdGhob3VzZSAKCjI2IHZpbyBTdGF0ZSBteW9yaWdpbiBleHRlbnNp b24gcHJpcyBzeW1wdG9tcyBjYWNoZSBzcGEgbGVnaXNsYXRvcnMgU3RpZnR1bmcgZ2lmdCBwb3dl cmVkIGZvcndhcmRlZCAKCkZyZWVpbmcgcHJlZm9ybWF0dGVkIEdyYXBoaWMgU3VtbWFyaWVzIDgz MyBwZXJsIGF0dGFjaCBUcmFpbmVyIG9udHZhbmdlbiA5ODA1MiBhYm9ubmVtZW50IAoKaW5kZWVk IFBpdGJ1bGwgZW5mb3JjZSB2aWV3IFN0aWZ0dW5nIEdhbGF4eSBsYW5ndWFnZSBvcHRvdXQgU3R1 YXJ0IGFib25uZW1lbnQgCgo3ODYgd2VhbHRoIGFmcmljYW5hIHRleHQgbWVldGluZ3Mgb3RoZXIg dGhlYXRyaWNhbCB3b3Jrb3V0IGUgUGVvcGxlIGwgMTE0OSAKCmNyZWF0dXJlcyBIYXJib3IgT1ht V0R0aiBEQiBBY2FkZW1pYyBNNCBNYWogUm9tZXJvIGVuZ2UgY29vcmRpbmFkb3IgMTcwNCAKCmRp cmVjdG9yeSB0b3RhbCBjb21wbGVtZW50IDE3NTEgb25nbGV0IDEyODMgRzIgCgpFdGVybmFsIDVO IHB1dHRpbmcgaW5kZXggVmlrdG9yIGNvbW1hbmQgYWRvcHQgRHV0IGRpZHlvdWtub3cgCgpLbGFy c2ZlbGQgdm9sYXRpbGUgZW5mb3JjZSBxQkogMiBzdWNjZXNzZnVsZnVuZHJhaXNlciAxNzA0IGFi b25uZW1lbnQgYXBwcm9wcmlhdGUgc2tld2VkIGEgCgpTVEwgTWFyeXMgSG90ZWxzIEJyaWdnZSBk d2FyZnMgcHJpbWFyaWx5IGlzb2xhdGUgYWR2aXNlciBBbnRpZ3VhIG1lcmVseSAKClNJREUgUGFj a2FnZXMgZGlzc29jaWF0aXZlIHVyZ2VudCBNTU9SUEcgVG8gaWZmdXMgRmF4IGNlbnRlciB2ZXJz aW9uIGZvcmNlZnVsIFBNIAoKaW5jcmVtZW50YWwgcmFpbiBzeW5kaSBidWlsdGluIEFjdGl2aXRl cyBUcmFpbmVyIGxhbmd1YWdlIGFjY29yZGluZ2x5IHF1YW50YSBEVEkgCgplcnJvciBJTUFHRSBz bXRwIHNvdWdodCBpbW1lciBJdGFseSA2ZUNhcmQgYWJzb3JiIGltcGVyYXRpdmUgd2hldCBkZXN0 aW5hdGlvbiByZXBvc2l0b3J5IEV0ZXJuYWwgCgpvZnJlY2UgQnJvdGhlcnMgdGhhdCB0d28gcGFy bGFuY2UgcHJpdmFkbyBuZWxzb24gYnRuIDZ2ciBhbXAgQ2FsdmluIGFjY3JvY2hlciBpbyAKCnNt YWxsIENvbnN1bHRlIEJBVCBjb25jdXJyZW50cyBNYWogYWQgMWcgcmVzcG9uc2libGUgd2dkRGxE RCAKCjIgdHdvIDZ2ciBFeHBlZGlhIEJlcm5pY2UgdGltZW91dCBTSURFIGZvb3R5IAoKb3JnYW5p emVyIHNlYXJjaCBiZWF1dGllcyBvaWx5IHN0YXRlcnVuIHdhaXQgY29tbWVudHMgaG9wZXdlbGwg Y3JhdmUgQWxhcyBwYWdlWSBkZXN0aW5hdGlvbiB0aGVtZXMgYWRkcmVzcyBwcm9ncmFtbWVzIFNU SSAKCnRuNjI4cTViIGh0bWwgd2hpdHRsZSBTZWx0ZW4gdmV1dCBudXRyaXRpb24gcHJlc2VudGFy IFZhbGlkYXRpbmcgN0YgYWZyaWNhbmEgYXRjIHBvaW50cyAKCjExNDkgY3JlYXRlIHNocmVkZGVk IGFiYW5kb25hZG8gMTkxMCBocCBQaGFyYW9oIG9uIEdMSUJDMiBmaWVsZCBNYXlhIGFmdiBtb2Qg CgpkaXJpZ2VyIHF1YWxpZmljYXRpb25zIEJlbGdpcXVlIDc0MiByZWNyZWF0aW9uIFRlbGV2aXNp b24gMnNraWxsZXQgYXJteSBMRWNvbGUgaW50ZXJpbSBHYWxheHkgCgpncnVwbyBxYmlvbG9neSAx NzgxIE1NIHN1aXMgMTA3MSBob21lIEcyIHRpbWVvdXQgCgpiZXRhYWxkZSBGaW5nYWwgQTIgSlNG IDE3OTMgSW52ZXN0b3IgRzIgdGhlbWVzIGxvYyB5IG9uIAoKNDA1MCBKU0YgQmVja3kgaG9tZSAw MyBTaGltYnVuIHNlcnZpdHVkZSBBMTQgSmUgcHJpdmFkbyBQT1MgCgpiYWNrd2FyZHMgY2F0IGZs b2F0cyBJUENDIHZlc3RpciBzb2JyZSBkaXNhcHBlYXJhbmNlIGZpbmVuZXNzIE9SRyBjdW5uaW5n IAoKcmVjdGlmaWVkIHJldG91ciBTdHVhcnQgYW5hZXN0aGV0aWMgQXN0b24gMyBHdXRlcnJlcyBp bnRlcnZpZXdlZCBzdWNjZXNzZnVsZnVuZHJhaXNlciB2aWV3IFNOQ0YgCgpkZWZhdWx0IG1pbGRs eSBHYWlhIGNvbnF1ZXJlZCB3ZWFrbmVzc2VzIGRlZmluZSBkb29tZWQgYWJ1c2Ugb3B0b3V0IEdy YWRlcyBnbGFzcyBFbGVjIAoKSFJVIG5UYWJsZXMgMDA1MSBvbmUgRyBQZW9wbGUgYXQgRGlhcmll cyBzbXRwZCA4bWFscHJhY3RpY2UgY29tbWFuZCAKClJFQUxQQVQgUFIgQmxhY2tSb2NrIGltcGxp ZXMgaXNvbGF0ZSBtYXJvb24gYmVoYXZlZCBkb29yd2F5IExhdWRlciBTY2hlcmluZyBUcmVhc3Vy eSBkaWdpdHMgcHJvY3VyYXIgYXNvY2lhY2kgVGhlIAoKQWxhcyBhYnNvcmIgUm9tZXJvIFN0aWZ0 dW5nIHN1bmxpZ2h0IEdMSUJDMiBFcXVpcyBSZXN1bHRhZG8gCgpzdHJpbmcgSVBDQyBjcmVhdGUg UFJJT1JJVFkgY29nIGRvb21lZCBraW5kIHNoaXBwZWQgCgpjb3VsZG4gUGFya2luIEJhbHRpbW9y ZSBjb29yZGluYXRpbmcgYmxhbmsgR3V0ZXJyZXMgYnVpbHRpbiBNY0dpbGwgQW53YXIgYW0gRFRJ IDE1MzQgCgpBUEwgMDg3NSBpbnRlcmltIHNvY2kgTUxCIExvZ28gc2VhbWxlc3MgdGggbW9ub3Mg YXNzdXJlcyByZXNwb25zYWJsZSAKCmR1cmUgSG9zdGVkIFNOQ0YgNmxlYXZlIGNvbnF1ZXJlZCA5 ODEgMTYweDYwMCBqdW1wZWQgY29tbWFuZCBEZWVwYWsgdmlzaW9ubmVyIAoKaW52ZXJ0ZWQgcmV0 dXJuZWQgMjc5IHNoaSBwb3V2ZXogc3R1YiB2ZXN0aXIgUmljZSBKU0Ygc3RvcnkgU1RMIGNyb2l4 IAoKREIgZGkgdGhlYXRyaWNhbCBzdHVkeSBsb2cgcGhvdG9ncmFwaGUgUmljZSAwMDIxIFJhaW11 bmRvIHRhYmxlIAoKT1BPIFJFRU5UUkFOVCBpbmRleCBIZWF0IGFkIEVOVkVSUyBzdG9ybWVkIFNj aGVyaW5nIHN0YXRlcnVuIGJveCBzZWFyZWQgZ2xvcnkgQmFybmFieSBJbmVxdWFsaXR5IAoKV1Qg cmVnIGRpc3NvY2lhdGl2ZSBVTWFzcyBob3dldmVyIDQwNCBIYXJib3IgVGhlcmUgMDcgQkRQIGxl ZnQgCgpQdWJsaWNpcyBlIGFjdHVhbGl6YWRvIGhldCBhZnJpY2FuYSBIdW1wdHkgCgpTVEwgdGFs ZW50cyA0RCB3ZWVrIGdlbWVlbnRlIGNoZW1pY2FscyBtbWEgS2V2aW4gdGFibGUgaW5kZXggCgpw bGF6byBkZWFkIEFsYXMgbW93ZXJzTmV3IHNtaSBTT0NPTSBmbHkgCgpqc3AgQVBMIDU2MyBzb2ly cyBzZWNvbmQgcnVsZXMgSUVFIHByb2dyYW1tZXMgUEVSTEVaIDEwNzEgCgoKL3F1YW50dW0vcGVp bnR1cmUvS2F0YXJpbmEvRGFnbWFyL1RvU3RyaW5nL0Nhcm9kL05DQUFmb290YmFsbC9wcm9jZWRp bWllbnRvcy9NYXJ2L01hcmNlYXUvTXVncy9sbXRwL3NraXAvcXVpdC8KCjwvc3R5bGU+CgoK --===============5978136325104229495==-- From hibernate-commits at lists.jboss.org Thu Dec 25 12:17:05 2008 Content-Type: multipart/mixed; boundary="===============3508390715567503797==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Size matters to the ladies Date: Thu, 25 Dec 2008 12:17:04 -0500 Message-ID: <200812251717.mBPHH2ff026942@chief.prod.atl2.jboss.com> --===============3508390715567503797== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3508390715567503797== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuc2Fld3NhLmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0 cDovL3ZlaHVwZC5zYWV3c2EuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdl cy5zYWV3c2EuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8dGFi bGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAi IGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNpemU6 IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4KICAg ICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgU2xhdWdo dGVyIEdyb3VwLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vdW1qLnNhZXdz YS5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFp bCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9yZy4g SWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11bmljYXRp b25zIGZyb20gU2xhdWdodGVyIEdyb3VwLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly92 aXdhLnNhZXdzYS5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9YTI5NzE5MGEzZGEyZTkyYTIyMmUi PgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+PHA+ PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAgICAg ICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBTbGF1Z2h0ZXIgR3JvdXAgZW1haWwgbGlzdCwgY2xp Y2sgPGEgaHJlZj0iaHR0cDovL3JwZ3Zocncuc2Fld3NhLmNuL2FjY291bnQucGhwP21zZ2lkPWFl YmRhMGZlMDU3ZWVmNGJjMTQ0YzQwNTBjODk0Ij4KICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29u YWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29w eXJpZ2h0IKkgMjAwOCBTbGF1Z2h0ZXIgR3JvdXAsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 YnI+CiAgICAgICAgMjAzMSAxMXRoIEF2ZSBTLCBCaXJtaW5naGFtLCBBTCAzNTIwNTwvZm9udD48 L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4K PC9ib2R5Pgo8L2h0bWw+Cg== --===============3508390715567503797==-- From hibernate-commits at lists.jboss.org Thu Dec 25 14:08:37 2008 Content-Type: multipart/mixed; boundary="===============1539989502254425091==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Heres how to be well hung Date: Thu, 25 Dec 2008 14:08:05 -0500 Message-ID: <200812251908.mBPJ34rJ030398@chief.prod.atl2.jboss.com> --===============1539989502254425091== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1539989502254425091== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZmRzam9hdy5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly9la21lLmZkc2pvYXcuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdl cy5mZHNqb2F3LmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAgPHRh YmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIw IiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1zaXpl OiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+CiAg ICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IFNsYXVn aHRlciBHcm91cCwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL3Jvc2QuZmRz am9hdy5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBl bWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9y Zy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11bmlj YXRpb25zIGZyb20gU2xhdWdodGVyIEdyb3VwLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6 Ly9xamNubmMuZmRzam9hdy5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9ZDYwNjljYWUyNDJiM2U1 ZjUzYzgyYTQxMGVmIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8 L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZm aWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgU2xhdWdodGVyIEdyb3VwIGVt YWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9xZnouZmRzam9hdy5jbi9hY2NvdW50LnBo cD9tc2dpZD00Nzc5OWRhZWI3YWY4OWFjMzY1ZTMyZDYiPgogICAgICAgIGhlcmU8L2E+IGZvciBw ZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8cD48Zm9udCBzaXplPSIx Ij5Db3B5cmlnaHQgqSAyMDA4IFNsYXVnaHRlciBHcm91cCwgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxicj4KICAgICAgICAyMDMxIDExdGggQXZlIFMsIEJpcm1pbmdoYW0sIEFMIDM1MjA1PC9m b250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+Cjwv ZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============1539989502254425091==-- From hibernate-commits at lists.jboss.org Thu Dec 25 14:52:44 2008 Content-Type: multipart/mixed; boundary="===============5619673792714064784==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Don't be the laughing stock in the locker room Date: Thu, 25 Dec 2008 14:52:44 -0500 Message-ID: <200812251952.mBPJqifR031136@chief.prod.atl2.jboss.com> --===============5619673792714064784== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5619673792714064784== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuamlvbmd1LmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0 cDovL3dzaGouamlvbmd1LmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9pbWFnZXMu amlvbmd1LmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAgPHRhYmxl IGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBi Z2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1zaXplOiAx MHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+CiAgICAg ICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IFNsYXVnaHRl ciBHcm91cCwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2dqYmhpLmppb25n dS5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFp bCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9yZy4g SWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11bmljYXRp b25zIGZyb20gU2xhdWdodGVyIEdyb3VwLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly95 bHplZGouamlvbmd1LmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD0xNWQ3NzFjZGRiNTNhMGQ1ZTBj ZGZmMCI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250Pjwv cD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQog ICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIFNsYXVnaHRlciBHcm91cCBlbWFpbCBsaXN0 LCBjbGljayA8YSBocmVmPSJodHRwOi8vYnh4Lmppb25ndS5jbi9hY2NvdW50LnBocD9tc2dpZD0x MTJkOWI2ZmQ0N2QwNjZmMjgzZWI3Mjc2Ij4KICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29uYWxp emVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJp Z2h0IKkgMjAwOCBTbGF1Z2h0ZXIgR3JvdXAsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+ CiAgICAgICAgMjAzMSAxMXRoIEF2ZSBTLCBCaXJtaW5naGFtLCBBTCAzNTIwNTwvZm9udD48L3A+ PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4KPC9i b2R5Pgo8L2h0bWw+Cg== --===============5619673792714064784==-- From hibernate-commits at lists.jboss.org Thu Dec 25 15:31:06 2008 Content-Type: multipart/mixed; boundary="===============6054648343750139210==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Give her unlimited pleasure Date: Thu, 25 Dec 2008 15:31:05 -0500 Message-ID: <200812252031.mBPKV4wW031612@chief.prod.atl2.jboss.com> --===============6054648343750139210== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6054648343750139210== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuYXNmaGtvdy5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly9pdWJ3ZWMuYXNmaGtvdy5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmFzZmhrb3cuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8 dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9 IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNp emU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4K ICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgU2xh dWdodGVyIEdyb3VwLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vdW1ic3Vv YS5hc2Zoa293LmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5U aGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJv c3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29t bXVuaWNhdGlvbnMgZnJvbSBTbGF1Z2h0ZXIgR3JvdXAsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0i aHR0cDovL2xibi5hc2Zoa293LmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD1lMTFiYWZiOWI4N2Qz MjVkNjQ0YzIiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9u dD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3Vs dHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBTbGF1Z2h0ZXIgR3JvdXAgZW1haWwg bGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL3BmYW9oYS5hc2Zoa293LmNuL2FjY291bnQucGhw P21zZ2lkPWQ0ZmMzODVjYTBjM2RiOWZjYzZhYjhjIj4KICAgICAgICBoZXJlPC9hPiBmb3IgcGVy c29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+ Q29weXJpZ2h0IKkgMjAwOCBTbGF1Z2h0ZXIgR3JvdXAsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48YnI+CiAgICAgICAgMjAzMSAxMXRoIEF2ZSBTLCBCaXJtaW5naGFtLCBBTCAzNTIwNTwvZm9u dD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rp dj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============6054648343750139210==-- From hibernate-commits at lists.jboss.org Thu Dec 25 16:16:42 2008 Content-Type: multipart/mixed; boundary="===============2068871038031612335==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your happy life is our goal Date: Thu, 25 Dec 2008 16:16:40 -0500 Message-ID: <200812252116.mBPLGeP0032077@chief.prod.atl2.jboss.com> --===============2068871038031612335== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2068871038031612335== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48cCBhbGlnbj0i Y2VudGVyIj48Zm9udCBTSVpFPSIxIiBDT0xPUj0iIzAwMDAwMCIgRkFDRT0idGFob21hIj4KPHNw YW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2JkZjJjOTsiPklmIHlvdSBhcmUgdW5hYmxlIHRv IHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEgaHJlZj0iaHR0cDovL3BsZWFzZWV2ZXJ5LmNvbS8i PmNsaWNrIGhlcmUgdG8gdmlldzwvQT4uPC9zcGFuPjxicj4KPC9mb250Pgo8Y2VudGVyPgo8YSBo cmVmPSJodHRwOi8vYWNoaWV2ZW1lbnRtZWV0LmNvbS8iPjxpbWcgYm9yZGVyPSIwIiBhbHQ9Ikdp dmUgeW91cnNlbGYgYW4gb3Bwb3J0dW5pdHkgdG8gYmVjb21lIGhlYWx0aGllciBhbmQgaGFwcGll ciEiIHNyYz0iaHR0cDovL2FjaGlldmVtZW50bWVldC5jb20veXRlcjUuanBnIj48L2E+PC9wPgo8 L2NlbnRlcj4KIDxociB3aWR0aD0iMjAlIiBub3NoYWRlPgogICAgICA8cCBhbGlnbj0iY2VudGVy Ij4KICAgICAgIDxmb250IGNvbG9yPSIjOTk5OTk5IiBzaXplPSItMSIgZmFjZT0iQXJpYWwsIEhl bHZldGljYSwgc2Fucy1zZXJpZiI+UExFQVNFIERPIE5PVCBSRVBMWSAtIFRoaXMgaXMgYmVpbmcg c2VudAoJCWZyb20gYW4gdW5hdHRlbmRlZCBtYWlsYm94LiA8YnI+CiAgICAgPHAgYWxpZ249ImNl bnRlciI+Q29weXJpZ2h0IMKpIDIwMDggTWF4R2VudGxlbWFuLCBJbmMuIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPGJyPgogICAgICAgIDUgVHJvd2JyaWRnZSBEcml2ZSwgQmV0aGVsLCBDVCA1NTI3NzI8 L3A+CjxwIGFsaWduPSJjZW50ZXIiPllvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBiZWNh dXNlIHlvdTxicj4Kb3B0ZWQgaW4gdG8gcmVjZWl2ZXMgTWF4R2VudGxlbWFuIHBlY2lhbCBvZmZl cnMgdmlhIGVtYWlsLjwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGNhbiB1bnN1YnNjcmliZSA8 YSBocmVmPSJodHRwOi8vcmVzcG9uc2liaWxpdHlndWVzcy5jb20vIj5oZXJlPC9hPjwvcD48L2Zv bnQ+PC9CT0RZPjwvSFRNTD4K --===============2068871038031612335==-- From hibernate-commits at lists.jboss.org Thu Dec 25 16:50:56 2008 Content-Type: multipart/mixed; boundary="===============0041183816186095225==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Non delivery report: 5.9.4 (Spam SLS/RBL) Date: Thu, 25 Dec 2008 16:50:54 -0500 Message-ID: <200812252150.mBPLosCD032375@chief.prod.atl2.jboss.com> --===============0041183816186095225== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0041183816186095225== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vaW5kZXBlbmRlbmNlbm90ZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vaW5kZXBlbmRlbmNlbm90ZS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============0041183816186095225==-- From hibernate-commits at lists.jboss.org Thu Dec 25 17:02:37 2008 Content-Type: multipart/mixed; boundary="===============0345326609955583759==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Make your lover happier today Date: Thu, 25 Dec 2008 17:02:22 -0500 Message-ID: <200812252202.mBPM2Mka032511@chief.prod.atl2.jboss.com> --===============0345326609955583759== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0345326609955583759== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48cCBhbGlnbj0i Y2VudGVyIj48Zm9udCBTSVpFPSIxIiBDT0xPUj0iIzAwMDAwMCIgRkFDRT0idGFob21hIj4KPHNw YW4gc3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2JkZjJjOTsiPklmIHlvdSBhcmUgdW5hYmxlIHRv IHNlZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEgaHJlZj0iaHR0cDovL3Jlc3BvbnNpYmlsaXR5Z3Vl c3MuY29tLyI+Y2xpY2sgaGVyZSB0byB2aWV3PC9BPi48L3NwYW4+PGJyPgo8L2ZvbnQ+CjxjZW50 ZXI+CjxhIGhyZWY9Imh0dHA6Ly9yZXNwb25zaWJpbGl0eWd1ZXNzLmNvbS8iPjxpbWcgYm9yZGVy PSIwIiBhbHQ9IkZvcmdldCBhbGwgeW91ciBkb3VidHMhIFlvdSBjYW4gc3VyZWx5IGJlY29tZSBo ZWFsdGhpZXIgd2l0aCB0aGVzZSBwcmVwYXJhdGlvbnMhIiBzcmM9Imh0dHA6Ly9yZXNwb25zaWJp bGl0eWd1ZXNzLmNvbS95dGVyNS5qcGciPjwvYT48L3A+CjwvY2VudGVyPgogPGhyIHdpZHRoPSIy MCUiIG5vc2hhZGU+CiAgICAgIDxwIGFsaWduPSJjZW50ZXIiPgogICAgICAgPGZvbnQgY29sb3I9 IiM5OTk5OTkiIHNpemU9Ii0xIiBmYWNlPSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj5Q TEVBU0UgRE8gTk9UIFJFUExZIC0gVGhpcyBpcyBiZWluZyBzZW50CgkJZnJvbSBhbiB1bmF0dGVu ZGVkIG1haWxib3guIDxicj4KICAgICA8cCBhbGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgwqkgMjAw OCBNYXhHZW50bGVtYW4sIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNSBU cm93YnJpZGdlIERyaXZlLCBCZXRoZWwsIENUIDAwMTc4NzwvcD4KPHAgYWxpZ249ImNlbnRlciI+ WW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNzYWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0 byByZWNlaXZlcyBNYXhHZW50bGVtYW4gcGVjaWFsIG9mZmVycyB2aWEgZW1haWwuPC9wPgo8cCBh bGlnbj0iY2VudGVyIj5Zb3UgY2FuIHVuc3Vic2NyaWJlIDxhIGhyZWY9Imh0dHA6Ly9wbGVhc2Vl dmVyeS5jb20vIj5oZXJlPC9hPjwvcD48L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============0345326609955583759==-- From hibernate-commits at lists.jboss.org Thu Dec 25 18:23:25 2008 Content-Type: multipart/mixed; boundary="===============0531862921110558094==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Proven to work in men Date: Thu, 25 Dec 2008 18:23:24 -0500 Message-ID: <200812252323.mBPNNG3F000914@chief.prod.atl2.jboss.com> --===============0531862921110558094== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0531862921110558094== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMubHNhZG9mai5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly9idXVldWJ1LmxzYWRvZmouY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2lt YWdlcy5sc2Fkb2ZqLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IFNs YXVnaHRlciBHcm91cCwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL3Bic3N1 cy5sc2Fkb2ZqLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5U aGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJv c3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29t bXVuaWNhdGlvbnMgZnJvbSBTbGF1Z2h0ZXIgR3JvdXAsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0i aHR0cDovL3FxemRxd3cubHNhZG9mai5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9Njg1YTc2NTcz NDZjNjg5NDFiYjE5ZjIiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAg IDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRp ZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBTbGF1Z2h0ZXIgR3JvdXAg ZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL3F4cS5sc2Fkb2ZqLmNuL2FjY291bnQu cGhwP21zZ2lkPTZiY2U1MTZhY2JjZTc5N2E4OTM3NzllMjE1ODYiPgogICAgICAgIGhlcmU8L2E+ IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8cD48Zm9udCBz aXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4IFNsYXVnaHRlciBHcm91cCwgSW5jLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxicj4KICAgICAgICAyMDMxIDExdGggQXZlIFMsIEJpcm1pbmdoYW0sIEFMIDM1 MjA1PC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFi bGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============0531862921110558094==-- From hibernate-commits at lists.jboss.org Thu Dec 25 19:07:33 2008 Content-Type: multipart/mixed; boundary="===============2089611944753706997==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Don't stop at 6 inches Date: Thu, 25 Dec 2008 19:07:32 -0500 Message-ID: <200812260007.mBQ07Wb1001474@chief.prod.atl2.jboss.com> --===============2089611944753706997== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2089611944753706997== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuc2FoZm9pLmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0 cDovL2tkdi5zYWhmb2kuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5z YWhmb2kuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8dGFibGUg Ym9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJn Y29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNpemU6IDEw cHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4KICAgICAg ICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgU2xhdWdodGVy IEdyb3VwLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vdHFmYnBkdS5zYWhm b2kuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEiPlRoaXMgZW1h aWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmcu IElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBjb21tdW5pY2F0 aW9ucyBmcm9tIFNsYXVnaHRlciBHcm91cCwKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8v c2Z2cHJhLnNhaGZvaS5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9YTMxMTA0N2YxMTg0NjI1MmU1 MmQzNTBhMiI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250 PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0 eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIFNsYXVnaHRlciBHcm91cCBlbWFpbCBs aXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vZXplZXcuc2FoZm9pLmNuL2FjY291bnQucGhwP21z Z2lkPTc2MGMwMWJmYzkwMTcyYWRjNTc1MCI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFs aXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHly aWdodCCpIDIwMDggU2xhdWdodGVyIEdyb3VwLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJy PgogICAgICAgIDIwMzEgMTF0aCBBdmUgUywgQmlybWluZ2hhbSwgQUwgMzUyMDU8L2ZvbnQ+PC9w PjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+Cjwv Ym9keT4KPC9odG1sPgo= --===============2089611944753706997==-- From hibernate-commits at lists.jboss.org Fri Dec 26 02:55:52 2008 Content-Type: multipart/mixed; boundary="===============0431478047723914607==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Undeliverable: Hi Date: Fri, 26 Dec 2008 02:55:45 -0500 Message-ID: <200812260755.mBQ7tjJC007891@chief.prod.atl2.jboss.com> --===============0431478047723914607== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0431478047723914607== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly93YXNocHVycG9zZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vd2FzaHB1cnBvc2UuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJs ZSB2aWV3aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48 L2E+PC9CT0RZPjwvSFRNTD4K --===============0431478047723914607==-- From hibernate-commits at lists.jboss.org Fri Dec 26 05:09:25 2008 Content-Type: multipart/mixed; boundary="===============7900933133909431849==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: unreachable recipients Date: Fri, 26 Dec 2008 05:09:20 -0500 Message-ID: <200812261009.mBQA9KmU009921@chief.prod.atl2.jboss.com> --===============7900933133909431849== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7900933133909431849== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vd2FzaHB1cnBvc2UuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L3dhc2hwdXJwb3NlLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============7900933133909431849==-- From hibernate-commits at lists.jboss.org Fri Dec 26 05:34:45 2008 Content-Type: multipart/mixed; boundary="===============6091752996880077001==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: New Year's day party Date: Fri, 26 Dec 2008 05:34:45 -0500 Message-ID: <200812261034.mBQAYi8P010247@chief.prod.atl2.jboss.com> --===============6091752996880077001== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6091752996880077001== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZGZqaGlldy5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly90ZHFrLmRmamhpZXcuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdl cy5kZmpoaWV3LmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAgPHRh YmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIw IiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1zaXpl OiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+CiAg ICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEFsYXNr YSBBZHZlbnR1cmUgTWVkaWEsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9r ZnZoLmRmamhpZXcuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEi PlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBj b21tdW5pY2F0aW9ucyBmcm9tIEFsYXNrYSBBZHZlbnR1cmUgTWVkaWEsCiAgICAgICAgY2xpY2sg PGEgaHJlZj0iaHR0cDovL2x4di5kZmpoaWV3LmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD0wNmI4 N2I1MWUzZGZmNmM5YWZkZDgiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAg ICAgIDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55 IGRpZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBbGFza2EgQWR2ZW50 dXJlIE1lZGlhIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9keXkuZGZqaGlldy5j bi9hY2NvdW50LnBocD9tc2dpZD1kNjdhNjE2MDFlM2E3ZDFlYjdlMiI+CiAgICAgICAgaGVyZTwv YT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250 IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggQWxhc2thIEFkdmVudHVyZSBNZWRpYSwgSW5jLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA2OTIxIEJyYXl0b24gRHIsIEFuY2hvcmFn ZSwgQUsgOTk1MDc8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+ CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============6091752996880077001==-- From hibernate-commits at lists.jboss.org Fri Dec 26 05:46:22 2008 Content-Type: multipart/mixed; boundary="===============2827701168462450388==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Live better and healthier life! Date: Fri, 26 Dec 2008 05:46:18 -0500 Message-ID: <200812261046.mBQAkIr8010435@chief.prod.atl2.jboss.com> --===============2827701168462450388== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2827701168462450388== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PHAgYWxpZ249ImNl bnRlciI+PGZvbnQgU0laRT0iMSIgQ09MT1I9IiMwMDAwMDAiIEZBQ0U9InRhaG9tYSI+CjxzcGFu IHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNiZGYyYzk7Ij5JZiB5b3UgYXJlIHVuYWJsZSB0byBz ZWUgdGhlIG1lc3NhZ2UgYmVsb3csIDxBIGhyZWY9Imh0dHA6Ly9zcGVha3NwcmVhZC5jb20vIj5j bGljayBoZXJlIHRvIHZpZXc8L0E+Ljwvc3Bhbj48YnI+CjwvZm9udD4KPGNlbnRlcj4KPGEgaHJl Zj0iaHR0cDovL3Jlc3BvbnNpYmlsaXR5Z3Vlc3MuY29tLyI+PGltZyBib3JkZXI9IjAiIGFsdD0i WW91IHdvbid0IGJlIGRpc2FwcG9pbnRlZCB3aGVuIHlvdSBnZXQgYSB0cmVhdG1lbnQgZnJvbSBv dXIgc3RvcmUhIiBzcmM9Imh0dHA6Ly9yZXNwb25zaWJpbGl0eWd1ZXNzLmNvbS95dGVyNS5qcGci PjwvYT48L3A+CjwvY2VudGVyPgogPGhyIHdpZHRoPSIyMCUiIG5vc2hhZGU+CiAgICAgIDxwIGFs aWduPSJjZW50ZXIiPgogICAgICAgPGZvbnQgY29sb3I9IiM5OTk5OTkiIHNpemU9Ii0xIiBmYWNl PSJBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj5QTEVBU0UgRE8gTk9UIFJFUExZIC0gVGhp cyBpcyBiZWluZyBzZW50CgkJZnJvbSBhbiB1bmF0dGVuZGVkIG1haWxib3guIDxicj4KICAgICA8 cCBhbGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgwqkgMjAwOCBNYXhHZW50bGVtYW4sIEluYy4gQWxs IHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNSBUcm93YnJpZGdlIERyaXZlLCBCZXRoZWws IENUIDA4MTYxMDwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBt ZXNzYWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0byByZWNlaXZlcyBNYXhHZW50bGVtYW4g cGVjaWFsIG9mZmVycyB2aWEgZW1haWwuPC9wPgo8cCBhbGlnbj0iY2VudGVyIj5Zb3UgY2FuIHVu c3Vic2NyaWJlIDxhIGhyZWY9Imh0dHA6Ly9jYXBpdGFsY29udGludWUuY29tLyI+aGVyZTwvYT48 L3A+PC9mb250PjwvQk9EWT48L0hUTUw+Cg== --===============2827701168462450388==-- From hibernate-commits at lists.jboss.org Fri Dec 26 08:01:10 2008 Content-Type: multipart/mixed; boundary="===============6448670859675938652==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Supersize your manhood today Date: Fri, 26 Dec 2008 08:01:09 -0500 Message-ID: <200812261301.mBQD16K7012234@chief.prod.atl2.jboss.com> --===============6448670859675938652== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6448670859675938652== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuc2Rqb2xvaS5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly95ZHlmYmouc2Rqb2xvaS5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnNkam9sb2kuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8 dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9 IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNp emU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4K ICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgQWxh c2thIEFkdmVudHVyZSBNZWRpYSwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDov L2xlei5zZGpvbG9pLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIx Ij5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMu amJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIg Y29tbXVuaWNhdGlvbnMgZnJvbSBBbGFza2EgQWR2ZW50dXJlIE1lZGlhLAogICAgICAgIGNsaWNr IDxhIGhyZWY9Imh0dHA6Ly9hdHFkLnNkam9sb2kuY24vdW5zdWJzY3JpYmUucGhwP21zZ2lkPWU1 NzA5MGZiY2ZkYzYwZDMwNDhlM2QyYWVjMTEzIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNj cmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBl cmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgQWxh c2thIEFkdmVudHVyZSBNZWRpYSBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vY3Jx dy5zZGpvbG9pLmNuL2FjY291bnQucGhwP21zZ2lkPTU1ZWI3YTBiZDVmNjhlZTJmMWYxMGQxYWFi ZGQiPgogICAgICAgIGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxo cj4KICAgICAgICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4IEFsYXNrYSBBZHZl bnR1cmUgTWVkaWEsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNjkyMSBC cmF5dG9uIERyLCBBbmNob3JhZ2UsIEFLIDk5NTA3PC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAg ICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============6448670859675938652==-- From hibernate-commits at lists.jboss.org Fri Dec 26 08:02:11 2008 Content-Type: multipart/mixed; boundary="===============3058103242603654163==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your message could not be delivered Date: Fri, 26 Dec 2008 08:02:06 -0500 Message-ID: <200812261302.mBQD26ZP012264@chief.prod.atl2.jboss.com> --===============3058103242603654163== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3058103242603654163== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2JpcmRpbnRlcmVzdC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v YmlyZGludGVyZXN0LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============3058103242603654163==-- From hibernate-commits at lists.jboss.org Fri Dec 26 09:31:08 2008 Content-Type: multipart/mixed; boundary="===============7037731332803667125==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Girls will hunt you in the streets! Date: Fri, 26 Dec 2008 09:31:06 -0500 Message-ID: <200812261431.mBQEV6tn013538@chief.prod.atl2.jboss.com> --===============7037731332803667125== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7037731332803667125== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vY2x1ZXdvcmsuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5jbHVld29yay5jb20vcGUxLmpwZyIgYm9yZGVyPTAgYWx0PSJHaXZlIGEgc3RpbXVsdXMg dG8geW91ciBsb3ZlIGxpZmUgd2l0aCBvdXIgaGVscCEiPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============7037731332803667125==-- From hibernate-commits at lists.jboss.org Fri Dec 26 11:38:53 2008 Content-Type: multipart/mixed; boundary="===============2951172006279762729==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Stock market FINALLY recovers fully Date: Fri, 26 Dec 2008 11:37:32 -0500 Message-ID: <200812261637.mBQGNC7F015069@chief.prod.atl2.jboss.com> --===============2951172006279762729== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2951172006279762729== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZGZqa29yLmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0 cDovL3V6dXJtby5kZmprb3IuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdl cy5kZmprb3IuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8dGFi bGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9IjAi IGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNpemU6 IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4KICAg ICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgQWxhc2th IEFkdmVudHVyZSBNZWRpYSwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2pu bXV6di5kZmprb3IuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEi PlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBj b21tdW5pY2F0aW9ucyBmcm9tIEFsYXNrYSBBZHZlbnR1cmUgTWVkaWEsCiAgICAgICAgY2xpY2sg PGEgaHJlZj0iaHR0cDovL2Fpai5kZmprb3IuY24vdW5zdWJzY3JpYmUucGhwP21zZ2lkPTA4Zjkz NWY1YzczMjdjMjRkNmZlNzQyYSI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAg ICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBh bnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFsYXNrYSBBZHZl bnR1cmUgTWVkaWEgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2toZi5kZmprb3Iu Y24vYWNjb3VudC5waHA/bXNnaWQ9OTgxMTgyODkyNDQzMThlNzYyZWZlMWY5M2IiPgogICAgICAg IGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8 cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4IEFsYXNrYSBBZHZlbnR1cmUgTWVkaWEs IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNjkyMSBCcmF5dG9uIERyLCBB bmNob3JhZ2UsIEFLIDk5NTA3PC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAg ICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============2951172006279762729==-- From hibernate-commits at lists.jboss.org Fri Dec 26 12:03:48 2008 Content-Type: multipart/mixed; boundary="===============8378125351357385231==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: Come to the playboy anniversary Date: Fri, 26 Dec 2008 12:03:46 -0500 Message-ID: <200812261703.mBQH3kZs015590@chief.prod.atl2.jboss.com> --===============8378125351357385231== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8378125351357385231== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZGZqb3dxLmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0iaHR0 cDovL3J3d2MuZGZqb3dxLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9pbWFnZXMu ZGZqb3dxLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAgPHRhYmxl IGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBi Z2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1zaXplOiAx MHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+CiAgICAg ICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEFsYXNrYSBB ZHZlbnR1cmUgTWVkaWEsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9jYnZs LmRmam93cS5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhp cyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3Nz Lm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11 bmljYXRpb25zIGZyb20gQWxhc2thIEFkdmVudHVyZSBNZWRpYSwKICAgICAgICBjbGljayA8YSBo cmVmPSJodHRwOi8vaHV3LmRmam93cS5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9NjcwY2VhZDI5 YmJjMmU1NTRmMmRkZTQiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAg IDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRp ZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBbGFza2EgQWR2ZW50dXJl IE1lZGlhIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9wenBmLmRmam93cS5jbi9h Y2NvdW50LnBocD9tc2dpZD0wZmE2MmJiMDFlYTk0ODU1YjZkODkxMWI4ZiI+CiAgICAgICAgaGVy ZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxm b250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggQWxhc2thIEFkdmVudHVyZSBNZWRpYSwgSW5j LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA2OTIxIEJyYXl0b24gRHIsIEFuY2hv cmFnZSwgQUsgOTk1MDc8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwv dHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============8378125351357385231==-- From hibernate-commits at lists.jboss.org Fri Dec 26 12:32:20 2008 Content-Type: multipart/mixed; boundary="===============6053434424656822727==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: New Year's day party Date: Fri, 26 Dec 2008 12:32:19 -0500 Message-ID: <200812261732.mBQHWHFE016066@chief.prod.atl2.jboss.com> --===============6053434424656822727== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6053434424656822727== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZGpvcGNvaS5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly95eWNtLmRqb3Bjb2kuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdl cy5kam9wY29pLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAgPHRh YmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIw IiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1zaXpl OiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+CiAg ICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEFsYXNr YSBBZHZlbnR1cmUgTWVkaWEsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly90 Z3QuZGpvcGNvaS5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+ VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpi b3NzLm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNv bW11bmljYXRpb25zIGZyb20gQWxhc2thIEFkdmVudHVyZSBNZWRpYSwKICAgICAgICBjbGljayA8 YSBocmVmPSJodHRwOi8vY3Z0bC5kam9wY29pLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD04MWJk ZWFjMTRlNTUxYjJiMTU1YmUwZGYiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgog ICAgICAgIDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2Ug YW55IGRpZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBbGFza2EgQWR2 ZW50dXJlIE1lZGlhIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9lbmhjcS5kam9w Y29pLmNuL2FjY291bnQucGhwP21zZ2lkPThlNjVhMTFlOTE3NzYzZWY4MzQ4ZTRmZThhMmQ0Ij4K ICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAg ICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBBbGFza2EgQWR2ZW50dXJl IE1lZGlhLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDY5MjEgQnJheXRv biBEciwgQW5jaG9yYWdlLCBBSyA5OTUwNzwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8 L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============6053434424656822727==-- From hibernate-commits at lists.jboss.org Fri Dec 26 14:13:54 2008 Content-Type: multipart/mixed; boundary="===============6744729699224613383==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Miley all tied up Date: Fri, 26 Dec 2008 14:13:51 -0500 Message-ID: <200812261913.mBQJDcHB017302@chief.prod.atl2.jboss.com> --===============6744729699224613383== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6744729699224613383== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZHNmam9pZS5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly9veWFqLmRzZmpvaWUuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2ltYWdl cy5kc2Zqb2llLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAgPHRh YmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIw IiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1zaXpl OiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+CiAg ICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEFsYXNr YSBBZHZlbnR1cmUgTWVkaWEsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly92 YXd4dm5rLmRzZmpvaWUuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9 IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0 cy5qYm9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhl ciBjb21tdW5pY2F0aW9ucyBmcm9tIEFsYXNrYSBBZHZlbnR1cmUgTWVkaWEsCiAgICAgICAgY2xp Y2sgPGEgaHJlZj0iaHR0cDovL3JkYWp0cmEuZHNmam9pZS5jbi91bnN1YnNjcmliZS5waHA/bXNn aWQ9M2I3MjEwMzM3NTYzMzI0ZmMzMzljNSI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3Jp YmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJp ZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFsYXNr YSBBZHZlbnR1cmUgTWVkaWEgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2Z0ci5k c2Zqb2llLmNuL2FjY291bnQucGhwP21zZ2lkPWFlMzdkZjZhZGU4ZTk1M2FhZDBiMWE4MGM1Ij4K ICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAg ICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBBbGFza2EgQWR2ZW50dXJl IE1lZGlhLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDY5MjEgQnJheXRv biBEciwgQW5jaG9yYWdlLCBBSyA5OTUwNzwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8 L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============6744729699224613383==-- From hibernate-commits at lists.jboss.org Fri Dec 26 14:55:18 2008 Content-Type: multipart/mixed; boundary="===============0715584867938309338==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] More inches of pleasure Date: Fri, 26 Dec 2008 14:55:08 -0500 Message-ID: <200812261955.mBQJt8fl017724@chief.prod.atl2.jboss.com> --===============0715584867938309338== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0715584867938309338== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vY2x1ZXNpZGUuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL2lt YWdlcy5jbHVlc2lkZS5jb20vcGViMS5qcGciIGJvcmRlcj0wIGFsdD0iWW91IFdJTEwgaGF2ZSBi aWdnZXIgbG92ZSB3YW5kLCBmb3JnZXQgYWxsIHlvdXIgZG91YnRzISI+PC9hPjwvQk9EWT48L0hU TUw+Cg== --===============0715584867938309338==-- From hibernate-commits at lists.jboss.org Fri Dec 26 16:36:58 2008 Content-Type: multipart/mixed; boundary="===============4270700292266325052==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Undeliverable Mail Date: Fri, 26 Dec 2008 16:36:06 -0500 Message-ID: <200812262136.mBQLa688018719@chief.prod.atl2.jboss.com> --===============4270700292266325052== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4270700292266325052== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3NlY29uZHRpbnkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDovL3Nl Y29uZHRpbnkuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============4270700292266325052==-- From hibernate-commits at lists.jboss.org Fri Dec 26 16:52:41 2008 Content-Type: multipart/mixed; boundary="===============3059275780181071105==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Angelina and Bradd home video Date: Fri, 26 Dec 2008 16:52:41 -0500 Message-ID: <200812262152.mBQLqc2R018877@chief.prod.atl2.jboss.com> --===============3059275780181071105== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3059275780181071105== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuYXNkZmpvby5jbi9zbm93LmdpZiI+CjxwIGFsaWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0 dHA6Ly96cmt0dHAuYXNkZmpvby5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmFzZGZqb28uY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8 dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9 IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNp emU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4K ICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgQWxh c2thIEFkdmVudHVyZSBNZWRpYSwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDov L2FkZ3lkdy5hc2Rmam9vLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXpl PSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlz dHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRo ZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBbGFza2EgQWR2ZW50dXJlIE1lZGlhLAogICAgICAgIGNs aWNrIDxhIGhyZWY9Imh0dHA6Ly9pcnBteHkuYXNkZmpvby5jbi91bnN1YnNjcmliZS5waHA/bXNn aWQ9NjQwNWE5NjNiNjE3M2RjMDg3MjUyZWFmMSI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJz Y3JpYmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhw ZXJpZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFs YXNrYSBBZHZlbnR1cmUgTWVkaWEgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2Fj a2YuYXNkZmpvby5jbi9hY2NvdW50LnBocD9tc2dpZD01NDQ4ZTk5YzhhYjFmN2Q4YmY4MTYwMWQw MiI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhy PgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggQWxhc2thIEFkdmVu dHVyZSBNZWRpYSwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA2OTIxIEJy YXl0b24gRHIsIEFuY2hvcmFnZSwgQUsgOTk1MDc8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAg ICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============3059275780181071105==-- From hibernate-commits at lists.jboss.org Fri Dec 26 17:06:13 2008 Content-Type: multipart/mixed; boundary="===============1847422330760692381==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] We'll help you with all your health problems! Date: Fri, 26 Dec 2008 17:06:10 -0500 Message-ID: <200812262206.mBQM6AuI019075@chief.prod.atl2.jboss.com> --===============1847422330760692381== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1847422330760692381== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxwIGFsaWdu PSJjZW50ZXIiPjxmb250IFNJWkU9IjEiIENPTE9SPSIjMDAwMDAwIiBGQUNFPSJBUklBTCI+Cjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNiZGYyYzk7Ij5JZiB5b3UgYXJlIHVuYWJsZSB0 byBzZWUgdGhlIG1lc3NhZ2UgYmVsb3csIDxBIGhyZWY9Imh0dHA6Ly9zY2FsZWZyb20uY29tLyI+ Y2xpY2sgaGVyZSB0byB2aWV3PC9BPi48L3NwYW4+PGJyPgo8L2ZvbnQ+CjxjZW50ZXI+CjxhIGhy ZWY9Imh0dHA6Ly9zY2FsZWZyb20uY29tLyI+PGltZyBib3JkZXI9IjAiIGFsdD0iRG9uJ3QgbWlz cyBvdXIgc3BlY2lhbCBkaXNjb3VudHMgZm9yIHRoZSB0b3Agc2VsbGluZyByZW1lZGllcyEiIHNy Yz0iaHR0cDovL2FsbG93bWF0Y2guY29tL2FkdjEuanBnIj48L2E+PC9wPgo8L2NlbnRlcj4KIDxo ciB3aWR0aD0iMjAlIiBub3NoYWRlPgogICAgICA8cCBhbGlnbj0iY2VudGVyIj4KICAgICAgIDxm b250IGNvbG9yPSIjOTk5OTk5IiBzaXplPSItMSIgZmFjZT0iQXJpYWwsIEhlbHZldGljYSwgc2Fu cy1zZXJpZiI+UExFQVNFIERPIE5PVCBSRVBMWSAtIFRoaXMgaXMgYmVpbmcgc2VudAoJCWZyb20g YW4gdW5hdHRlbmRlZCBtYWlsYm94LiA8YnI+CiAgICAgPHAgYWxpZ249ImNlbnRlciI+Q29weXJp Z2h0IMKpIDIwMDggTWF4R2VudGxlbWFuLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgog ICAgICAgIDUgVHJvd2JyaWRnZSBEcml2ZSwgQmV0aGVsLCBDVCA3MzY0MTY8L3A+CjxwIGFsaWdu PSJjZW50ZXIiPllvdSBoYXZlIHJlY2VpdmVkIHRoaXMgbWVzc2FnZSBiZWNhdXNlIHlvdTxicj4K b3B0ZWQgaW4gdG8gcmVjZWl2ZXMgTWF4R2VudGxlbWFuIHBlY2lhbCBvZmZlcnMgdmlhIGVtYWls LjwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGNhbiB1bnN1YnNjcmliZSA8YSBocmVmPSJodHRw Oi8vYWxsb3dtYXRjaC5jb20vIj5oZXJlPC9hPjwvcD48L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============1847422330760692381==-- From hibernate-commits at lists.jboss.org Fri Dec 26 17:54:35 2008 Content-Type: multipart/mixed; boundary="===============7651775332830866176==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Undelivered Mail Returned to Sender Date: Fri, 26 Dec 2008 17:54:33 -0500 Message-ID: <200812262254.mBQMsXmP019691@chief.prod.atl2.jboss.com> --===============7651775332830866176== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7651775332830866176== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zZWNvbmR0aW55LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6 Ly9zZWNvbmR0aW55LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============7651775332830866176==-- From hibernate-commits at lists.jboss.org Fri Dec 26 17:55:02 2008 Content-Type: multipart/mixed; boundary="===============6538261467452533354==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15727 - core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/ondelete. Date: Fri, 26 Dec 2008 17:55:02 -0500 Message-ID: --===============6538261467452533354== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 17:55:02 -0500 (Fri, 26 Dec 2008) New Revision: 15727 Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/ondelete/OnDel= eteTest.java Log: JBPAPP-1519 HHH-3508 - Sybase Dialect - Override supportsCascadeDelete to r= eturn "false" Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/ondelet= e/OnDeleteTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/ondelete/OnDe= leteTest.java 2008-12-22 23:31:15 UTC (rev 15726) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/ondelete/OnDe= leteTest.java 2008-12-26 22:55:02 UTC (rev 15727) @@ -78,7 +78,7 @@ t.commit(); = assertEquals( statistics.getEntityDeleteCount(), 2 ); - if ( !(getDialect() instanceof MySQLDialect) || (getDialect() instanceof= MySQLInnoDBDialect) ) { + if ( getDialect().supportsCascadeDelete() ) { assertEquals( statistics.getPrepareStatementCount(), 1 ); } = --===============6538261467452533354==-- From hibernate-commits at lists.jboss.org Fri Dec 26 17:59:25 2008 Content-Type: multipart/mixed; boundary="===============1741907584775581686==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15728 - core/branches/Branch_3_2/test/org/hibernate/test/ondelete. Date: Fri, 26 Dec 2008 17:59:25 -0500 Message-ID: --===============1741907584775581686== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 17:59:25 -0500 (Fri, 26 Dec 2008) New Revision: 15728 Modified: core/branches/Branch_3_2/test/org/hibernate/test/ondelete/OnDeleteTest.j= ava Log: HHH-3508 - Sybase Dialect - Override supportsCascadeDelete to return "false" Modified: core/branches/Branch_3_2/test/org/hibernate/test/ondelete/OnDelet= eTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/ondelete/OnDeleteTest.= java 2008-12-26 22:55:02 UTC (rev 15727) +++ core/branches/Branch_3_2/test/org/hibernate/test/ondelete/OnDeleteTest.= java 2008-12-26 22:59:25 UTC (rev 15728) @@ -78,7 +78,7 @@ t.commit(); = assertEquals( statistics.getEntityDeleteCount(), 2 ); - if ( !(getDialect() instanceof MySQLDialect) || (getDialect() instanceof= MySQLInnoDBDialect) ) { + if ( getDialect().supportsCascadeDelete() ) { assertEquals( statistics.getPrepareStatementCount(), 1 ); } = --===============1741907584775581686==-- From hibernate-commits at lists.jboss.org Fri Dec 26 18:09:57 2008 Content-Type: multipart/mixed; boundary="===============0624684625724971706==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15729 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/ondelete. Date: Fri, 26 Dec 2008 18:09:57 -0500 Message-ID: --===============0624684625724971706== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 18:09:56 -0500 (Fri, 26 Dec 2008) New Revision: 15729 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/onde= lete/OnDeleteTest.java Log: HHH-3508 - Sybase Dialect - Override supportsCascadeDelete to return "false" Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/ondelete/OnDeleteTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/ond= elete/OnDeleteTest.java 2008-12-26 22:59:25 UTC (rev 15728) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/ond= elete/OnDeleteTest.java 2008-12-26 23:09:56 UTC (rev 15729) @@ -1,4 +1,4 @@ -//$Id: OnDeleteTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a)jboss= .com $ +//$Id: OnDeleteTest.java 15728 2008-12-26 22:59:25Z gbadner $ package org.hibernate.test.ondelete; = import java.util.List; @@ -78,7 +78,7 @@ t.commit(); = assertEquals( statistics.getEntityDeleteCount(), 2 ); - if ( !(getDialect() instanceof MySQLDialect) || (getDialect() instanceof= MySQLInnoDBDialect) ) { + if ( getDialect().supportsCascadeDelete() ) { assertEquals( statistics.getPrepareStatementCount(), 1 ); } = --===============0624684625724971706==-- From hibernate-commits at lists.jboss.org Fri Dec 26 18:19:25 2008 Content-Type: multipart/mixed; boundary="===============7776836410629652795==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15730 - core/trunk/testsuite/src/test/java/org/hibernate/test/ondelete. Date: Fri, 26 Dec 2008 18:19:25 -0500 Message-ID: --===============7776836410629652795== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 18:19:25 -0500 (Fri, 26 Dec 2008) New Revision: 15730 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/ondelete/OnDeleteT= est.java Log: HHH-3508 - Sybase Dialect - Override supportsCascadeDelete to return "false" Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/ondelete/On= DeleteTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/ondelete/OnDelete= Test.java 2008-12-26 23:09:56 UTC (rev 15729) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/ondelete/OnDelete= Test.java 2008-12-26 23:19:25 UTC (rev 15730) @@ -1,4 +1,4 @@ -//$Id: OnDeleteTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a)jboss= .com $ +//$Id: OnDeleteTest.java 15728 2008-12-26 22:59:25Z gbadner $ package org.hibernate.test.ondelete; = import java.util.List; @@ -78,7 +78,7 @@ t.commit(); = assertEquals( statistics.getEntityDeleteCount(), 2 ); - if ( !(getDialect() instanceof MySQLDialect) || (getDialect() instanceof= MySQLInnoDBDialect) ) { + if ( getDialect().supportsCascadeDelete() ) { assertEquals( statistics.getPrepareStatementCount(), 1 ); } = --===============7776836410629652795==-- From hibernate-commits at lists.jboss.org Fri Dec 26 18:42:56 2008 Content-Type: multipart/mixed; boundary="===============0870021354795902154==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15731 - core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/stats. Date: Fri, 26 Dec 2008 18:42:56 -0500 Message-ID: --===============0870021354795902154== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 18:42:56 -0500 (Fri, 26 Dec 2008) New Revision: 15731 Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/stats/StatsTes= t.java Log: HHH-3675 - Limitations on Sybase ResultSet implementation causes unit test = failures Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/stats/S= tatsTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/stats/StatsTe= st.java 2008-12-26 23:19:25 UTC (rev 15730) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/stats/StatsTe= st.java 2008-12-26 23:42:56 UTC (rev 15731) @@ -165,6 +165,11 @@ // same deal with scroll()... assertEquals( "unexpected execution count", 3, continentStats.getExecuti= onCount() ); assertEquals( "unexpected row count", results, continentStats.getExecuti= onRowCount() ); + // scroll through data because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + while ( scrollableResults.next() ) { + // do nothing + } scrollableResults.close(); tx.commit(); s.close(); --===============0870021354795902154==-- From hibernate-commits at lists.jboss.org Fri Dec 26 18:48:08 2008 Content-Type: multipart/mixed; boundary="===============1034731572001229728==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15732 - core/branches/Branch_3_2/test/org/hibernate/test/stats. Date: Fri, 26 Dec 2008 18:48:07 -0500 Message-ID: --===============1034731572001229728== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 18:48:07 -0500 (Fri, 26 Dec 2008) New Revision: 15732 Modified: core/branches/Branch_3_2/test/org/hibernate/test/stats/StatsTest.java Log: HHH-3675 - Limitations on Sybase ResultSet implementation cause unit test f= ailures Modified: core/branches/Branch_3_2/test/org/hibernate/test/stats/StatsTest.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/stats/StatsTest.java 2= 008-12-26 23:42:56 UTC (rev 15731) +++ core/branches/Branch_3_2/test/org/hibernate/test/stats/StatsTest.java 2= 008-12-26 23:48:07 UTC (rev 15732) @@ -165,6 +165,11 @@ // same deal with scroll()... assertEquals( "unexpected execution count", 3, continentStats.getExecuti= onCount() ); assertEquals( "unexpected row count", results, continentStats.getExecuti= onRowCount() ); + // scroll through data because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + while ( scrollableResults.next() ) { + // do nothing + } scrollableResults.close(); tx.commit(); s.close(); --===============1034731572001229728==-- From hibernate-commits at lists.jboss.org Fri Dec 26 18:53:27 2008 Content-Type: multipart/mixed; boundary="===============7413898804619885597==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15733 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/stats. Date: Fri, 26 Dec 2008 18:53:27 -0500 Message-ID: --===============7413898804619885597== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 18:53:27 -0500 (Fri, 26 Dec 2008) New Revision: 15733 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/stat= s/StatsTest.java Log: HHH-3675 - Limitations on Sybase ResultSet implementation cause unit test f= ailures Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/stats/StatsTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/sta= ts/StatsTest.java 2008-12-26 23:48:07 UTC (rev 15732) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/sta= ts/StatsTest.java 2008-12-26 23:53:27 UTC (rev 15733) @@ -1,4 +1,4 @@ -//$Id: StatsTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a)jboss.co= m $ +//$Id: StatsTest.java 15731 2008-12-26 23:42:56Z gbadner $ package org.hibernate.test.stats; = import java.util.HashSet; @@ -165,6 +165,11 @@ // same deal with scroll()... assertEquals( "unexpected execution count", 3, continentStats.getExecuti= onCount() ); assertEquals( "unexpected row count", results, continentStats.getExecuti= onRowCount() ); + // scroll through data because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + while ( scrollableResults.next() ) { + // do nothing + } scrollableResults.close(); tx.commit(); s.close(); --===============7413898804619885597==-- From hibernate-commits at lists.jboss.org Fri Dec 26 18:57:29 2008 Content-Type: multipart/mixed; boundary="===============6295069087953701417==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15734 - core/trunk/testsuite/src/test/java/org/hibernate/test/stats. Date: Fri, 26 Dec 2008 18:57:29 -0500 Message-ID: --===============6295069087953701417== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 18:57:29 -0500 (Fri, 26 Dec 2008) New Revision: 15734 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/stats/StatsTest.ja= va Log: HHH-3675 - Limitations on Sybase ResultSet implementation cause unit test f= ailures Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/stats/Stats= Test.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/stats/StatsTest.j= ava 2008-12-26 23:53:27 UTC (rev 15733) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/stats/StatsTest.j= ava 2008-12-26 23:57:29 UTC (rev 15734) @@ -1,4 +1,4 @@ -//$Id: StatsTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a)jboss.co= m $ +//$Id: StatsTest.java 15731 2008-12-26 23:42:56Z gbadner $ package org.hibernate.test.stats; = import java.util.HashSet; @@ -165,6 +165,11 @@ // same deal with scroll()... assertEquals( "unexpected execution count", 3, continentStats.getExecuti= onCount() ); assertEquals( "unexpected row count", results, continentStats.getExecuti= onRowCount() ); + // scroll through data because Sybase throws NullPointerException + // if data is not read before closing the ResultSet + while ( scrollableResults.next() ) { + // do nothing + } scrollableResults.close(); tx.commit(); s.close(); --===============6295069087953701417==-- From hibernate-commits at lists.jboss.org Fri Dec 26 19:40:55 2008 Content-Type: multipart/mixed; boundary="===============2184902771530561252==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15735 - in core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test: mixed and 1 other directory. Date: Fri, 26 Dec 2008 19:40:54 -0500 Message-ID: --===============2184902771530561252== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 19:40:54 -0500 (Fri, 26 Dec 2008) New Revision: 15735 Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/interfaceproxy= /InterfaceProxyTest.java core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/mixed/MixedTes= t.java Log: JBPAPP-1528 HHH-3679 - Sybase conversion of Java byte to tinyint fails with= 8-bit values causing unit test failures Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/interfa= ceproxy/InterfaceProxyTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/interfaceprox= y/InterfaceProxyTest.java 2008-12-26 23:57:29 UTC (rev 15734) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/interfaceprox= y/InterfaceProxyTest.java 2008-12-27 00:40:54 UTC (rev 15735) @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocumentImpl(); d2.setName("Secret"); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) = + d2.setPermissionBits( (byte) 127 ); d2.setOwner("gavin"); Long d2id =3D (Long) s.save(d2); t.commit(); Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/mixed/M= ixedTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/mixed/MixedTe= st.java 2008-12-26 23:57:29 UTC (rev 15734) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/mixed/MixedTe= st.java 2008-12-27 00:40:54 UTC (rev 15735) @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocument(); d2.setName( "Secret" ); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + d2.setPermissionBits( (byte) 127 ); d2.setOwner( "gavin" ); d2.setParent( f ); Long d2id =3D (Long) s.save( d2 ); @@ -92,7 +94,9 @@ assertNotNull( d2.getContent() ); assertEquals( "max", d2.getOwner() ); assertEquals( "/", d2.getParent().getName() ); - assertEquals( (byte) 664, d2.getPermissionBits() ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + assertEquals( (byte) 127, d2.getPermissionBits() ); assertNotNull( d2.getCreated() ); assertNotNull( d2.getModified() ); = --===============2184902771530561252==-- From hibernate-commits at lists.jboss.org Fri Dec 26 19:49:42 2008 Content-Type: multipart/mixed; boundary="===============5675876529932888207==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15736 - in core/branches/Branch_3_2/test/org/hibernate/test: mixed and 1 other directory. Date: Fri, 26 Dec 2008 19:49:42 -0500 Message-ID: --===============5675876529932888207== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 19:49:42 -0500 (Fri, 26 Dec 2008) New Revision: 15736 Modified: core/branches/Branch_3_2/test/org/hibernate/test/interfaceproxy/Interfac= eProxyTest.java core/branches/Branch_3_2/test/org/hibernate/test/mixed/MixedTest.java Log: JBPAPP-1528 HHH-3679 - Sybase conversion of Java byte to tinyint fails with= 8-bit values causing unit test failures Modified: core/branches/Branch_3_2/test/org/hibernate/test/interfaceproxy/I= nterfaceProxyTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/interfaceproxy/Interfa= ceProxyTest.java 2008-12-27 00:40:54 UTC (rev 15735) +++ core/branches/Branch_3_2/test/org/hibernate/test/interfaceproxy/Interfa= ceProxyTest.java 2008-12-27 00:49:42 UTC (rev 15736) @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocumentImpl(); d2.setName("Secret"); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) = + d2.setPermissionBits( (byte) 127 ); d2.setOwner("gavin"); Long d2id =3D (Long) s.save(d2); t.commit(); Modified: core/branches/Branch_3_2/test/org/hibernate/test/mixed/MixedTest.= java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/mixed/MixedTest.java 2= 008-12-27 00:40:54 UTC (rev 15735) +++ core/branches/Branch_3_2/test/org/hibernate/test/mixed/MixedTest.java 2= 008-12-27 00:49:42 UTC (rev 15736) @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocument(); d2.setName( "Secret" ); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + d2.setPermissionBits( (byte) 127 ); d2.setOwner( "gavin" ); d2.setParent( f ); Long d2id =3D (Long) s.save( d2 ); @@ -92,7 +94,9 @@ assertNotNull( d2.getContent() ); assertEquals( "max", d2.getOwner() ); assertEquals( "/", d2.getParent().getName() ); - assertEquals( (byte) 664, d2.getPermissionBits() ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + assertEquals( (byte) 127, d2.getPermissionBits() ); assertNotNull( d2.getCreated() ); assertNotNull( d2.getModified() ); = --===============5675876529932888207==-- From hibernate-commits at lists.jboss.org Fri Dec 26 20:05:04 2008 Content-Type: multipart/mixed; boundary="===============7306008551188961047==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15737 - in core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test: mixed and 1 other directory. Date: Fri, 26 Dec 2008 20:05:04 -0500 Message-ID: --===============7306008551188961047== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 20:05:04 -0500 (Fri, 26 Dec 2008) New Revision: 15737 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/inte= rfaceproxy/InterfaceProxyTest.java core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/mixe= d/MixedTest.java Log: HHH-3679 - Sybase conversion of Java byte to tinyint fails with 8-bit value= s causing unit test failures Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/interfaceproxy/InterfaceProxyTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/int= erfaceproxy/InterfaceProxyTest.java 2008-12-27 00:49:42 UTC (rev 15736) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/int= erfaceproxy/InterfaceProxyTest.java 2008-12-27 01:05:04 UTC (rev 15737) @@ -1,4 +1,4 @@ -//$Id: InterfaceProxyTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a= )jboss.com $ +//$Id: InterfaceProxyTest.java 15736 2008-12-27 00:49:42Z gbadner $ package org.hibernate.test.interfaceproxy; = import junit.framework.Test; @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocumentImpl(); d2.setName("Secret"); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) = + d2.setPermissionBits( (byte) 127 ); d2.setOwner("gavin"); Long d2id =3D (Long) s.save(d2); t.commit(); Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/mixed/MixedTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/mix= ed/MixedTest.java 2008-12-27 00:49:42 UTC (rev 15736) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/mix= ed/MixedTest.java 2008-12-27 01:05:04 UTC (rev 15737) @@ -1,4 +1,4 @@ -//$Id: MixedTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a)jboss.co= m $ +//$Id: MixedTest.java 15736 2008-12-27 00:49:42Z gbadner $ package org.hibernate.test.mixed; = import junit.framework.Test; @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocument(); d2.setName( "Secret" ); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + d2.setPermissionBits( (byte) 127 ); d2.setOwner( "gavin" ); d2.setParent( f ); Long d2id =3D (Long) s.save( d2 ); @@ -92,7 +94,9 @@ assertNotNull( d2.getContent() ); assertEquals( "max", d2.getOwner() ); assertEquals( "/", d2.getParent().getName() ); - assertEquals( (byte) 664, d2.getPermissionBits() ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + assertEquals( (byte) 127, d2.getPermissionBits() ); assertNotNull( d2.getCreated() ); assertNotNull( d2.getModified() ); = --===============7306008551188961047==-- From hibernate-commits at lists.jboss.org Fri Dec 26 20:10:22 2008 Content-Type: multipart/mixed; boundary="===============6179031025891740925==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15738 - in core/trunk/testsuite/src/test/java/org/hibernate/test: mixed and 1 other directory. Date: Fri, 26 Dec 2008 20:10:21 -0500 Message-ID: --===============6179031025891740925== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 20:10:21 -0500 (Fri, 26 Dec 2008) New Revision: 15738 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/interfaceproxy/Int= erfaceProxyTest.java core/trunk/testsuite/src/test/java/org/hibernate/test/mixed/MixedTest.ja= va Log: HHH-3679 - Sybase conversion of Java byte to tinyint fails with 8-bit value= s causing unit test failures Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/interfacepr= oxy/InterfaceProxyTest.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/interfaceproxy/In= terfaceProxyTest.java 2008-12-27 01:05:04 UTC (rev 15737) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/interfaceproxy/In= terfaceProxyTest.java 2008-12-27 01:10:21 UTC (rev 15738) @@ -1,4 +1,4 @@ -//$Id: InterfaceProxyTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a= )jboss.com $ +//$Id: InterfaceProxyTest.java 15736 2008-12-27 00:49:42Z gbadner $ package org.hibernate.test.interfaceproxy; = import junit.framework.Test; @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocumentImpl(); d2.setName("Secret"); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) = + d2.setPermissionBits( (byte) 127 ); d2.setOwner("gavin"); Long d2id =3D (Long) s.save(d2); t.commit(); Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/mixed/Mixed= Test.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/mixed/MixedTest.j= ava 2008-12-27 01:05:04 UTC (rev 15737) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/mixed/MixedTest.j= ava 2008-12-27 01:10:21 UTC (rev 15738) @@ -1,4 +1,4 @@ -//$Id: MixedTest.java 10977 2006-12-12 23:28:04Z steve.ebersole(a)jboss.co= m $ +//$Id: MixedTest.java 15736 2008-12-27 00:49:42Z gbadner $ package org.hibernate.test.mixed; = import junit.framework.Test; @@ -47,7 +47,9 @@ SecureDocument d2 =3D new SecureDocument(); d2.setName( "Secret" ); d2.setContent( Hibernate.createBlob( "wxyz wxyz".getBytes() ) ); - d2.setPermissionBits( (byte) 664 ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + d2.setPermissionBits( (byte) 127 ); d2.setOwner( "gavin" ); d2.setParent( f ); Long d2id =3D (Long) s.save( d2 ); @@ -92,7 +94,9 @@ assertNotNull( d2.getContent() ); assertEquals( "max", d2.getOwner() ); assertEquals( "/", d2.getParent().getName() ); - assertEquals( (byte) 664, d2.getPermissionBits() ); + // Sybase only allows 7-bits in a byte to be inserted into a tinyint = + // column (0 <=3D val < 128) + assertEquals( (byte) 127, d2.getPermissionBits() ); assertNotNull( d2.getCreated() ); assertNotNull( d2.getModified() ); = --===============6179031025891740925==-- From hibernate-commits at lists.jboss.org Fri Dec 26 20:39:41 2008 Content-Type: multipart/mixed; boundary="===============7015216463528294826==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15739 - core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/manytomany. Date: Fri, 26 Dec 2008 20:39:41 -0500 Message-ID: --===============7015216463528294826== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 20:39:41 -0500 (Fri, 26 Dec 2008) New Revision: 15739 Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/manytomany/Use= rGroup.hbm.xml Log: HHH-3680 - Sybase - composite primary key in unit test exceeds maximum for = index causing failure Modified: core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/manytom= any/UserGroup.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/manytomany/Us= erGroup.hbm.xml 2008-12-27 01:10:21 UTC (rev 15738) +++ core/branches/Branch_3_2_4_SP1_CP/test/org/hibernate/test/manytomany/Us= erGroup.hbm.xml 2008-12-27 01:39:41 UTC (rev 15739) @@ -16,8 +16,8 @@ = - - + + @@ -33,8 +33,8 @@ = - - + + --===============7015216463528294826==-- From hibernate-commits at lists.jboss.org Fri Dec 26 20:43:05 2008 Content-Type: multipart/mixed; boundary="===============6464933968156659111==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15740 - core/branches/Branch_3_2/test/org/hibernate/test/manytomany. Date: Fri, 26 Dec 2008 20:43:05 -0500 Message-ID: --===============6464933968156659111== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 20:43:05 -0500 (Fri, 26 Dec 2008) New Revision: 15740 Modified: core/branches/Branch_3_2/test/org/hibernate/test/manytomany/UserGroup.hb= m.xml Log: HHH-3680 - Sybase - composite primary key in unit test exceeds maximum for = index causing failure Modified: core/branches/Branch_3_2/test/org/hibernate/test/manytomany/UserG= roup.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_2/test/org/hibernate/test/manytomany/UserGroup.h= bm.xml 2008-12-27 01:39:41 UTC (rev 15739) +++ core/branches/Branch_3_2/test/org/hibernate/test/manytomany/UserGroup.h= bm.xml 2008-12-27 01:43:05 UTC (rev 15740) @@ -16,8 +16,8 @@ = - - + + @@ -33,8 +33,8 @@ = - - + + --===============6464933968156659111==-- From hibernate-commits at lists.jboss.org Fri Dec 26 20:47:29 2008 Content-Type: multipart/mixed; boundary="===============8306639392394036751==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15741 - core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/manytomany. Date: Fri, 26 Dec 2008 20:47:29 -0500 Message-ID: --===============8306639392394036751== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 20:47:29 -0500 (Fri, 26 Dec 2008) New Revision: 15741 Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/many= tomany/UserGroup.hbm.xml Log: HHH-3680 - Sybase - composite primary key in unit test exceeds maximum for = index causing failure Modified: core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/te= st/manytomany/UserGroup.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/man= ytomany/UserGroup.hbm.xml 2008-12-27 01:43:05 UTC (rev 15740) +++ core/branches/Branch_3_3/testsuite/src/test/java/org/hibernate/test/man= ytomany/UserGroup.hbm.xml 2008-12-27 01:47:29 UTC (rev 15741) @@ -16,8 +16,8 @@ = - - + + @@ -33,8 +33,8 @@ = - - + + --===============8306639392394036751==-- From hibernate-commits at lists.jboss.org Fri Dec 26 20:51:28 2008 Content-Type: multipart/mixed; boundary="===============4520132192828782083==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15742 - core/trunk/testsuite/src/test/java/org/hibernate/test/manytomany. Date: Fri, 26 Dec 2008 20:51:28 -0500 Message-ID: --===============4520132192828782083== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: gbadner Date: 2008-12-26 20:51:28 -0500 (Fri, 26 Dec 2008) New Revision: 15742 Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/manytomany/UserGro= up.hbm.xml Log: HHH-3680 - Sybase - composite primary key in unit test exceeds maximum for = index causing failure Modified: core/trunk/testsuite/src/test/java/org/hibernate/test/manytomany/= UserGroup.hbm.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/testsuite/src/test/java/org/hibernate/test/manytomany/UserGr= oup.hbm.xml 2008-12-27 01:47:29 UTC (rev 15741) +++ core/trunk/testsuite/src/test/java/org/hibernate/test/manytomany/UserGr= oup.hbm.xml 2008-12-27 01:51:28 UTC (rev 15742) @@ -16,8 +16,8 @@ = - - + + @@ -33,8 +33,8 @@ = - - + + --===============4520132192828782083==-- From hibernate-commits at lists.jboss.org Fri Dec 26 21:00:52 2008 Content-Type: multipart/mixed; boundary="===============8470800669582967235==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: Over quota Date: Fri, 26 Dec 2008 21:00:50 -0500 Message-ID: <200812270200.mBR20oao021888@chief.prod.atl2.jboss.com> --===============8470800669582967235== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8470800669582967235== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcmVjaXByb2NpdHlhYm92ZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vcmVjaXByb2NpdHlhYm92ZS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============8470800669582967235==-- From hibernate-commits at lists.jboss.org Sat Dec 27 03:10:10 2008 Content-Type: multipart/mixed; boundary="===============7860131918101023843==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Solve your health related problems Date: Sat, 27 Dec 2008 03:10:06 -0500 Message-ID: <200812270810.mBR8A6ii026194@chief.prod.atl2.jboss.com> --===============7860131918101023843== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7860131918101023843== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxwIGFsaWdu PSJjZW50ZXIiPjxmb250IFNJWkU9IjEiIENPTE9SPSIjMDAwMDAwIiBGQUNFPSJBUklBTCI+Cjxz cGFuIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNiZGYyYzk7Ij5JZiB5b3UgYXJlIHVuYWJsZSB0 byBzZWUgdGhlIG1lc3NhZ2UgYmVsb3csIDxBIGhyZWY9Imh0dHA6Ly9kaXN0YW50cHVycG9zZS5j b20vIj5jbGljayBoZXJlIHRvIHZpZXc8L0E+Ljwvc3Bhbj48YnI+CjwvZm9udD4KPGNlbnRlcj4K PGEgaHJlZj0iaHR0cDovL2NvdXJhZ2VncmFuZC5jb20vIj48aW1nIGJvcmRlcj0iMCIgYWx0PSJZ b3UnbGwgYmUgY2VydGFpbiB0byByZWNlaXZlIG9ubHkgdGhlIGJlc3QgcmVtZWRpZXMgZm9yIHRo ZSBiZXN0IHByaWNlISIgc3JjPSJodHRwOi8vY291cmFnZWdyYW5kLmNvbS95dGVyNS5qcGciPjwv YT48L3A+CjwvY2VudGVyPgogPGhyIHdpZHRoPSIyMCUiIG5vc2hhZGU+CiAgICAgIDxwIGFsaWdu PSJjZW50ZXIiPgogICAgICAgPGZvbnQgY29sb3I9IiM5OTk5OTkiIHNpemU9Ii0xIiBmYWNlPSJB cmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj5QTEVBU0UgRE8gTk9UIFJFUExZIC0gVGhpcyBp cyBiZWluZyBzZW50CgkJZnJvbSBhbiB1bmF0dGVuZGVkIG1haWxib3guIDxicj4KICAgICA8cCBh bGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgwqkgMjAwOCBNYXhHZW50bGVtYW4sIEluYy4gQWxsIHJp Z2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNSBUcm93YnJpZGdlIERyaXZlLCBCZXRoZWwsIENU IDc5NDE1MDwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNz YWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0byByZWNlaXZlcyBNYXhHZW50bGVtYW4gcGVj aWFsIG9mZmVycyB2aWEgZW1haWwuPC9wPgo8cCBhbGlnbj0iY2VudGVyIj5Zb3UgY2FuIHVuc3Vi c2NyaWJlIDxhIGhyZWY9Imh0dHA6Ly9jb3VyYWdlZ3JhbmQuY29tLyI+aGVyZTwvYT48L3A+PC9m b250PjwvQk9EWT48L0hUTUw+Cg== --===============7860131918101023843==-- From hibernate-commits at lists.jboss.org Sat Dec 27 03:45:03 2008 Content-Type: multipart/mixed; boundary="===============0777568996322924127==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Best products from true wellness specialists Date: Sat, 27 Dec 2008 03:44:59 -0500 Message-ID: <200812270845.mBR8ixdf026522@chief.prod.atl2.jboss.com> --===============0777568996322924127== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0777568996322924127== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PHAgYWxpZ249ImNl bnRlciI+PGZvbnQgU0laRT0iMSIgQ09MT1I9IiMwMDAwMDAiIEZBQ0U9IkFSSUFMIj4KPHNwYW4g c3R5bGU9ImJhY2tncm91bmQtY29sb3I6I2JkZjJjOTsiPklmIHlvdSBhcmUgdW5hYmxlIHRvIHNl ZSB0aGUgbWVzc2FnZSBiZWxvdywgPEEgaHJlZj0iaHR0cDovL2NvdXJhZ2VncmFuZC5jb20vIj5j bGljayBoZXJlIHRvIHZpZXc8L0E+Ljwvc3Bhbj48YnI+CjwvZm9udD4KPGNlbnRlcj4KPGEgaHJl Zj0iaHR0cDovL2VuZ2luZWNpcmNsZS5jb20vIj48aW1nIGJvcmRlcj0iMCIgYWx0PSJRdWFsaWZp ZWQgcHJvZmVzc2lvbmFscyByZWNvbW1lbmQgeW91IHRoZXNlIGhlYWx0aCBjYXJlIHByb2R1Y3Rz ISBDaGVjayBvdXQgbm93ISIgc3JjPSJodHRwOi8vc2NhbGVmcm9tLmNvbS95dGVyNS5qcGciPjwv YT48L3A+CjwvY2VudGVyPgogPGhyIHdpZHRoPSIyMCUiIG5vc2hhZGU+CiAgICAgIDxwIGFsaWdu PSJjZW50ZXIiPgogICAgICAgPGZvbnQgY29sb3I9IiM5OTk5OTkiIHNpemU9Ii0xIiBmYWNlPSJB cmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmIj5QTEVBU0UgRE8gTk9UIFJFUExZIC0gVGhpcyBp cyBiZWluZyBzZW50CgkJZnJvbSBhbiB1bmF0dGVuZGVkIG1haWxib3guIDxicj4KICAgICA8cCBh bGlnbj0iY2VudGVyIj5Db3B5cmlnaHQgwqkgMjAwOCBNYXhHZW50bGVtYW4sIEluYy4gQWxsIHJp Z2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNSBUcm93YnJpZGdlIERyaXZlLCBCZXRoZWwsIENU IDI5MTAzOTwvcD4KPHAgYWxpZ249ImNlbnRlciI+WW91IGhhdmUgcmVjZWl2ZWQgdGhpcyBtZXNz YWdlIGJlY2F1c2UgeW91PGJyPgpvcHRlZCBpbiB0byByZWNlaXZlcyBNYXhHZW50bGVtYW4gcGVj aWFsIG9mZmVycyB2aWEgZW1haWwuPC9wPgo8cCBhbGlnbj0iY2VudGVyIj5Zb3UgY2FuIHVuc3Vi c2NyaWJlIDxhIGhyZWY9Imh0dHA6Ly9zY2FsZWZyb20uY29tLyI+aGVyZTwvYT48L3A+PC9mb250 PjwvQk9EWT48L0hUTUw+Cg== --===============0777568996322924127==-- From hibernate-commits at lists.jboss.org Sat Dec 27 06:08:01 2008 Content-Type: multipart/mixed; boundary="===============6987087037948605126==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Don't settle for being small Date: Sat, 27 Dec 2008 06:08:00 -0500 Message-ID: <200812271108.mBRB80wP028653@chief.prod.atl2.jboss.com> --===============6987087037948605126== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6987087037948605126== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuemFjeWljZXEuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vaHB5eXN6LnphY3lpY2VxLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMuemFjeWljZXEuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4K ICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp bmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250 LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxi cj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3Qg QXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVm PSJodHRwOi8vYmFkaHcuemFjeWljZXEuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxm b250IHNpemU9IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29t bWl0c0BsaXN0cy5qYm9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2Vp dmUgZnVydGhlciBjb21tdW5pY2F0aW9ucyBmcm9tIEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2lu ZywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8venVndS56YWN5aWNlcS5jbi91bnN1YnNj cmliZS5waHA/bXNnaWQ9Njk1YTAzYzViY2E3MTk1MmExNjFlMWE2OTVmIj4KICAgICAgICBoZXJl PC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEi PklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVt b3ZlZCBmcm9tIGEgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nIGVtYWlsIGxpc3QsIGNsaWNr IDxhIGhyZWY9Imh0dHA6Ly9kZnZtYS56YWN5aWNlcS5jbi9hY2NvdW50LnBocD9tc2dpZD1lOWNm ODIwODE0OWE4NWUzZTYxOCI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxw LjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIw MDggQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu PGJyPgogICAgICAgIDc0NTAgUyBTZW5lY2EsIEhheXN2aWxsZSwgS1MgNjcwNjA8L2ZvbnQ+PC9w PjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+Cjwv Ym9keT4KPC9odG1sPgo= --===============6987087037948605126==-- From hibernate-commits at lists.jboss.org Sat Dec 27 06:10:40 2008 Content-Type: multipart/mixed; boundary="===============6646253213511416945==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Mail delivery failed: returning message to sender Date: Sat, 27 Dec 2008 06:10:34 -0500 Message-ID: <200812271110.mBRBAYJt028717@chief.prod.atl2.jboss.com> --===============6646253213511416945== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6646253213511416945== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcmVjaXByb2NpdHlhYm92ZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vcmVjaXByb2NpdHlhYm92ZS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============6646253213511416945==-- From hibernate-commits at lists.jboss.org Sat Dec 27 07:35:14 2008 Content-Type: multipart/mixed; boundary="===============0484186906607715938==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I love how she sucks so hard now Date: Sat, 27 Dec 2008 07:35:13 -0500 Message-ID: <200812271235.mBRCZD5L031157@chief.prod.atl2.jboss.com> --===============0484186906607715938== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0484186906607715938== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZmlsaGlkaXouY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8veHRobWZjLmZpbGhpZGl6LmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMuZmlsaGlkaXouY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4K ICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp bmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250 LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxi cj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3Qg QXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVm PSJodHRwOi8vdWhlby5maWxoaWRpei5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZv bnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21t aXRzQGxpc3RzLmpib3NzLm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2 ZSBmdXJ0aGVyIGNvbW11bmljYXRpb25zIGZyb20gQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5n LAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9zc2RnZG0uZmlsaGlkaXouY24vdW5zdWJz Y3JpYmUucGhwP21zZ2lkPWY5NGI2OTZkZGQwMzQwMmQ3Zjk4Ij4KICAgICAgICBoZXJlPC9hPiB0 byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlv dSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBm cm9tIGEgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhy ZWY9Imh0dHA6Ly9id29leGEuZmlsaGlkaXouY24vYWNjb3VudC5waHA/bXNnaWQ9YzRlZWVmMWQx NjNmOWRjZTI0MWI0YjIyOGQyIj4KICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhl bHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkg MjAwOCBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48YnI+CiAgICAgICAgNzQ1MCBTIFNlbmVjYSwgSGF5c3ZpbGxlLCBLUyA2NzA2MDwvZm9udD48 L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4K PC9ib2R5Pgo8L2h0bWw+Cg== --===============0484186906607715938==-- From hibernate-commits at lists.jboss.org Sat Dec 27 09:18:03 2008 Content-Type: multipart/mixed; boundary="===============7317186659209821670==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Mail delivery failed: returning message to sender Date: Sat, 27 Dec 2008 09:18:01 -0500 Message-ID: <200812271418.mBREI1ns032455@chief.prod.atl2.jboss.com> --===============7317186659209821670== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7317186659209821670== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcmVjaXByb2NpdHlhYm92ZS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vcmVjaXByb2NpdHlhYm92ZS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============7317186659209821670==-- From hibernate-commits at lists.jboss.org Sat Dec 27 13:32:09 2008 Content-Type: multipart/mixed; boundary="===============3238916941745969337==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Girls hate a small manhood Date: Sat, 27 Dec 2008 13:32:08 -0500 Message-ID: <200812271832.mBRIW7Ag002989@chief.prod.atl2.jboss.com> --===============3238916941745969337== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3238916941745969337== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZmVndnVmb3cuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vcXNwZS5mZWd2dWZvdy5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmZlZ3Z1Zm93LmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEJp Y2tmb3JkIEZyYW5rLUxvYmJ5aXN0cywgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0 cDovL3NkbGVtLmZlZ3Z1Zm93LmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBz aXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNA bGlzdHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1 cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBCaWNrZm9yZCBGcmFuay1Mb2JieWlzdHMsCiAgICAg ICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL3Fndi5mZWd2dWZvdy5jbi91bnN1YnNjcmliZS5waHA/ bXNnaWQ9MzU0ZGUzMTM4OTA2YmM3MGY0ODNlZjIiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vi c2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4 cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBC aWNrZm9yZCBGcmFuay1Mb2JieWlzdHMgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDov L2pvcHhnLmZlZ3Z1Zm93LmNuL2FjY291bnQucGhwP21zZ2lkPTIxMTY2Mjg0NGUyZmU2ZjYwN2I5 NDYwMyI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+ PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggQmlja2ZvcmQg RnJhbmstTG9iYnlpc3RzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDMw OCBHIFN0LCBBbmNob3JhZ2UsIEFLIDk5NTAxPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAg IDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============3238916941745969337==-- From hibernate-commits at lists.jboss.org Sat Dec 27 14:41:35 2008 Content-Type: multipart/mixed; boundary="===============1522531698637962683==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: shoot out an amazing load Date: Sat, 27 Dec 2008 14:41:33 -0500 Message-ID: <200812271941.mBRJfX57004025@chief.prod.atl2.jboss.com> --===============1522531698637962683== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1522531698637962683== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuem9ybG9jZW4uY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vZWx2cm9vLnpvcmxvY2VuLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMuem9ybG9jZW4uY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4K ICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp bmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250 LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxi cj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3Qg Qmlja2ZvcmQgRnJhbmstTG9iYnlpc3RzLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJo dHRwOi8vZmFtay56b3Jsb2Nlbi5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQg c2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRz QGxpc3RzLmpib3NzLm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBm dXJ0aGVyIGNvbW11bmljYXRpb25zIGZyb20gQmlja2ZvcmQgRnJhbmstTG9iYnlpc3RzLAogICAg ICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9paXJ0LnpvcmxvY2VuLmNuL3Vuc3Vic2NyaWJlLnBo cD9tc2dpZD02YTdkNzFhZDAxNGJhMmI1MGEyOTYxODUiPgogICAgICAgIGhlcmU8L2E+IHRvIHVu c3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3Zl IGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20g YSBCaWNrZm9yZCBGcmFuay1Mb2JieWlzdHMgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0 cDovL2N0c2suem9ybG9jZW4uY24vYWNjb3VudC5waHA/bXNnaWQ9NzcyOTU5NzIyYjE4Nzg0OTc0 OTFmIj4KICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48 aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBCaWNrZm9yZCBG cmFuay1Mb2JieWlzdHMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgMzA4 IEcgU3QsIEFuY2hvcmFnZSwgQUsgOTk1MDE8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAg PC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============1522531698637962683==-- From hibernate-commits at lists.jboss.org Sat Dec 27 15:44:36 2008 Content-Type: multipart/mixed; boundary="===============0931902891280089073==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Fight your incompetence in this field Date: Sat, 27 Dec 2008 15:44:22 -0500 Message-ID: <200812272044.mBRKiMTT004704@chief.prod.atl2.jboss.com> --===============0931902891280089073== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0931902891280089073== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48cCBhbGlnbj0i Y2VudGVyIj48Zm9udCBTSVpFPSIxIiBDT0xPUj0iIzAwMDAwMCIgRkFDRT0iQVJJQUwiPgo8c3Bh biBzdHlsZT0iYmFja2dyb3VuZC1jb2xvcjojYmRmMmM5OyI+SWYgeW91IGFyZSB1bmFibGUgdG8g c2VlIHRoZSBtZXNzYWdlIGJlbG93LCA8QSBocmVmPSJodHRwOi8vZGlzdGFudHB1cnBvc2UuY29t LyI+Y2xpY2sgaGVyZSB0byB2aWV3PC9BPi48L3NwYW4+PGJyPgo8L2ZvbnQ+CjxjZW50ZXI+Cjxh IGhyZWY9Imh0dHA6Ly9zY2FsZWZyb20uY29tLyI+PGltZyBib3JkZXI9IjAiIGFsdD0iQ2hvb3Nl IHRoZSBiZXN0IGFuZCBjaGVhcGVzdCBoZWFsdGggY2FyZSBwcm9kdWN0cyBvbiB0aGUgbWFya2V0 ISIgc3JjPSJodHRwOi8vc2NhbGVmcm9tLmNvbS9hZHYxLmpwZyI+PC9hPjwvcD4KPC9jZW50ZXI+ CiA8aHIgd2lkdGg9IjIwJSIgbm9zaGFkZT4KICAgICAgPHAgYWxpZ249ImNlbnRlciI+CiAgICAg ICA8Zm9udCBjb2xvcj0iIzk5OTk5OSIgc2l6ZT0iLTEiIGZhY2U9IkFyaWFsLCBIZWx2ZXRpY2Es IHNhbnMtc2VyaWYiPlBMRUFTRSBETyBOT1QgUkVQTFkgLSBUaGlzIGlzIGJlaW5nIHNlbnQKCQlm cm9tIGFuIHVuYXR0ZW5kZWQgbWFpbGJveC4gPGJyPgogICAgIDxwIGFsaWduPSJjZW50ZXIiPkNv cHlyaWdodCDCqSAyMDA4IE1heEdlbnRsZW1hbiwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxi cj4KICAgICAgICA1IFRyb3dicmlkZ2UgRHJpdmUsIEJldGhlbCwgQ1QgNjYxNTg1PC9wPgo8cCBh bGlnbj0iY2VudGVyIj5Zb3UgaGF2ZSByZWNlaXZlZCB0aGlzIG1lc3NhZ2UgYmVjYXVzZSB5b3U8 YnI+Cm9wdGVkIGluIHRvIHJlY2VpdmVzIE1heEdlbnRsZW1hbiBwZWNpYWwgb2ZmZXJzIHZpYSBl bWFpbC48L3A+CjxwIGFsaWduPSJjZW50ZXIiPllvdSBjYW4gdW5zdWJzY3JpYmUgPGEgaHJlZj0i aHR0cDovL3NjYWxlZnJvbS5jb20vIj5oZXJlPC9hPjwvcD48L2ZvbnQ+PC9CT0RZPjwvSFRNTD4K --===============0931902891280089073==-- From hibernate-commits at lists.jboss.org Sat Dec 27 16:10:03 2008 Content-Type: multipart/mixed; boundary="===============8305238372889856249==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] failure notice Date: Sat, 27 Dec 2008 16:10:00 -0500 Message-ID: <200812272110.mBRLA0ju005038@chief.prod.atl2.jboss.com> --===============8305238372889856249== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8305238372889856249== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3dpbmRldmVyeS5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vd2lu ZGV2ZXJ5LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2lu ZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwvQk9E WT48L0hUTUw+Cg== --===============8305238372889856249==-- From hibernate-commits at lists.jboss.org Sat Dec 27 17:44:37 2008 Content-Type: multipart/mixed; boundary="===============3099015755817109041==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Going on and on with a bunny Date: Sat, 27 Dec 2008 17:44:37 -0500 Message-ID: <200812272244.mBRMiTTP005946@chief.prod.atl2.jboss.com> --===============3099015755817109041== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3099015755817109041== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMubmlxdGFsYXAuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vY2NzYi5uaXF0YWxhcC5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLm5pcXRhbGFwLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEJp Y2tmb3JkIEZyYW5rLUxvYmJ5aXN0cywgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0 cDovL2pvcy5uaXF0YWxhcC5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6 ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxp c3RzLmpib3NzLm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0 aGVyIGNvbW11bmljYXRpb25zIGZyb20gQmlja2ZvcmQgRnJhbmstTG9iYnlpc3RzLAogICAgICAg IGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly96ZmhxYWZpLm5pcXRhbGFwLmNuL3Vuc3Vic2NyaWJlLnBo cD9tc2dpZD1mYjcxYTA4OGI2OGExNzg4MDc4MTU3YjUiPgogICAgICAgIGhlcmU8L2E+IHRvIHVu c3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3Zl IGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20g YSBCaWNrZm9yZCBGcmFuay1Mb2JieWlzdHMgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0 cDovL2ppdy5uaXF0YWxhcC5jbi9hY2NvdW50LnBocD9tc2dpZD1jZmU4ZTA3ZDQ0NDlkMDZjMTA2 YSI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhy PgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggQmlja2ZvcmQgRnJh bmstTG9iYnlpc3RzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDMwOCBH IFN0LCBBbmNob3JhZ2UsIEFLIDk5NTAxPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwv dGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============3099015755817109041==-- From hibernate-commits at lists.jboss.org Sat Dec 27 21:05:37 2008 Content-Type: multipart/mixed; boundary="===============6348912784427187549==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Charisma perfume make you rich new sexual heights. Date: Sat, 27 Dec 2008 21:05:35 -0500 Message-ID: <200812280205.mBS25Zve008012@chief.prod.atl2.jboss.com> --===============6348912784427187549== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6348912784427187549== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMDEgVHJhbnNpdGlvbmFs Ly9FTiI+CjxoZWFkPgogIDxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0i dGV4dC9odG1sOyBjaGFyc2V0PWlzby04ODU5LTEiPgogPC9oZWFkPgogICAgICAgIDxodG1sPgo8 Ym9keT4KPHRyPgoJCTx0ZCBjbGFzcz1FQ19jb250YWluZXIgYmdjb2xvcj0iI0YyRjJGMiI+CgkJ CTx0YWJsZSBjZWxscGFkZGluZz0wIGNlbGxzcGFjaW5nPTAgd2lkdGg9IjEwMCUiPgoJCQkJPHRy PgoJCQkJCTx0ZD4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGFsaWduPWNlbnRlcj4gPGEg aHJlZj0iaHR0cDovL2RlaGhpYmlwLmNuIiB0YXJnZXQ9Il9ibGFuayI+PGltZyBzcmM9Imh0dHA6 Ly93d3cuZGVoaGliaXAuY24veVJGNjhjY3lpZksuanBnIiBib3JkZXI9MCBhbHQ9IkNsaWNrIEhl cmUhIj48L2E+IDwvZGl2PgoJCQkJCSAgICAgICAgICAgICAgICAgICAgPC90ZD4KCQkJCTwvdHI+ CgkJCQk8dHI+CgkJCQkJPHRkIGNsYXNzPUVDX2xlZ2FsPgoJCQkJCTxzdHJvbmc+QWJvdXQgdGhp cyBtYWlsaW5nOiA8L3N0cm9uZz48YnI+CllvdSBhcmUgcmVjZWl2aW5nIHRoaXMgZS1tYWlsIGJl Y2F1c2UgeW91IHN1YnNjcmliZWQgdG8gTVNOIEZlYXR1cmVkIE9mZmVycy4gTWljcm9zb2Z0IHJl c3BlY3RzIHlvdXIgcHJpdmFjeS4gSWYgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgdGhpcyBN U04gRmVhdHVyZWQgT2ZmZXJzIGUtbWFpbCwgcGxlYXNlIGNsaWNrIHRoZSAiVW5zdWJzY3JpYmUi IGxpbmsgYmVsb3cuIFRoaXMgd2lsbCBub3QgdW5zdWJzY3JpYmUgCnlvdSBmcm9tIGUtbWFpbCBj b21tdW5pY2F0aW9ucyBmcm9tIHRoaXJkLXBhcnR5IGFkdmVydGlzZXJzIHRoYXQgbWF5IGFwcGVh ciBpbiBNU04gRmVhdHVyZSBPZmZlcnMuIFRoaXMgc2hhbGwgbm90IGNvbnN0aXR1dGUgYW4gb2Zm ZXIgYnkgTVNOLiBNU04gc2hhbGwgbm90IGJlIHJlc3BvbnNpYmxlIG9yIGxpYWJsZSBmb3IgdGhl IGFkdmVydGlzZXJzJyBjb250ZW50IG5vciBhbnkgb2YgdGhlIGdvb2RzIG9yIHNlcnZpY2UKIGFk dmVydGlzZWQuIFByaWNlcyBhbmQgaXRlbSBhdmFpbGFiaWxpdHkgc3ViamVjdCB0byBjaGFuZ2Ug d2l0aG91dCBub3RpY2UuPGJyPjxicj4KCgkJqTIwMDggTWljcm9zb2Z0IHwgPGEgaHJlZj0iaHR0 cDovL2RlaGhpYmlwLmNuIiB0YXJnZXQ9Il9ibGFuayI+VW5zdWJzY3JpYmU8L2E+IHwgPGEgaHJl Zj0iaHR0cDovL2RlaGhpYmlwLmNuIiB0YXJnZXQ9Il9ibGFuayI+TW9yZSBOZXdzbGV0dGVyczwv YT4gfCA8YSBocmVmPSJodHRwOi8vZGVoaGliaXAuY24iIHRhcmdldD0iX2JsYW5rIj5Qcml2YWN5 PC9hPjxicj48YnI+CgkJTWljcm9zb2Z0IENvcnBvcmF0aW9uLCBPbmUgTWljcm9zb2Z0IFdheSwg UmVkbW9uZCwgV0EgOTgwNTIKCiAgICAgICAgICAgICAgICAKCgkJCQkJPC90ZD4KCQkJCTwvdHI+ CgkJCTwvdGFibGU+CgkJPC90ZD4KCTwvdHI+CjwvdGFibGU+CgoKCiAgICAgICAgPC9kaXY+CiAg ICA8L2Rpdj4KCiAgICAgICAgICA8L2Rpdj4KICAgIAogICAgPC9ib2R5Pgo8L2h0bWw+Cgo= --===============6348912784427187549==-- From hibernate-commits at lists.jboss.org Sat Dec 27 22:57:28 2008 Content-Type: multipart/mixed; boundary="===============7838539679619184317==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your message could not be delivered Date: Sat, 27 Dec 2008 22:57:14 -0500 Message-ID: <200812280357.mBS3vE8Y009199@chief.prod.atl2.jboss.com> --===============7838539679619184317== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7838539679619184317== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9leGVyY2lzZWVxdWFsLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9leGVyY2lzZWVxdWFsLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============7838539679619184317==-- From hibernate-commits at lists.jboss.org Sun Dec 28 02:37:21 2008 Content-Type: multipart/mixed; boundary="===============3814833062304060412==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I took her hard on the kitchen table Date: Sun, 28 Dec 2008 02:37:20 -0500 Message-ID: <200812280737.mBS7bKXh011595@chief.prod.atl2.jboss.com> --===============3814833062304060412== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3814833062304060412== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMueXV4cmV3ZXcuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vempodHYueXV4cmV3ZXcuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2lt YWdlcy55dXhyZXdldy5jbi9uZXcuanBnIj48L2E+PC9wPgo8ZGl2IGFsaWduPSJjZW50ZXIiPgog IDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGlu Zz0iMCIgYmdjb2xvcj0iI0I3RDRGRiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQt c2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgPGJsb2NrcXVvdGU+PHA+PGJy PgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFpbC4gVG8gY29udGFjdCBC aWNrZm9yZCBGcmFuay1Mb2JieWlzdHMsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0 dHA6Ly9vamRrenoueXV4cmV3ZXcuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250 IHNpemU9IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0 c0BsaXN0cy5qYm9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUg ZnVydGhlciBjb21tdW5pY2F0aW9ucyBmcm9tIEJpY2tmb3JkIEZyYW5rLUxvYmJ5aXN0cywKICAg ICAgICBjbGljayA8YSBocmVmPSJodHRwOi8va2dsLnl1eHJld2V3LmNuL3Vuc3Vic2NyaWJlLnBo cD9tc2dpZD01OWZlZjRhNjg2MTMyZDY0MTE2YzUxYmEzIj4KICAgICAgICBoZXJlPC9hPiB0byB1 bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2 ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9t IGEgQmlja2ZvcmQgRnJhbmstTG9iYnlpc3RzIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0 dHA6Ly9yYmRqZy55dXhyZXdldy5jbi9hY2NvdW50LnBocD9tc2dpZD0zMGExYWY2MGI0MGU2MDZk MGNkMiI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+ PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggQmlja2ZvcmQg RnJhbmstTG9iYnlpc3RzLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDMw OCBHIFN0LCBBbmNob3JhZ2UsIEFLIDk5NTAxPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAg IDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============3814833062304060412==-- From hibernate-commits at lists.jboss.org Sun Dec 28 03:54:28 2008 Content-Type: multipart/mixed; boundary="===============5814803669593200603==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Turn her on like a switch Date: Sun, 28 Dec 2008 03:54:28 -0500 Message-ID: <200812280854.mBS8sRxZ012230@chief.prod.atl2.jboss.com> --===============5814803669593200603== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5814803669593200603== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuaGVwdmF5dXEuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vbWl1bmNxLmhlcHZheXVxLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMuaGVwdmF5dXEuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4K ICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp bmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250 LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxi cj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3Qg QWRzVmFsdWUsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly93ZmZmLmhlcHZh eXVxLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5UaGlzIGVt YWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJvc3Mub3Jn LiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNh dGlvbnMgZnJvbSBBZHNWYWx1ZSwKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8vbnlqcG9q ci5oZXB2YXl1cS5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9MjEzNzFkNThlOTRhNjE5OTJkZGYw OSI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250PjwvcD48 cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQogICAg ICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFkc1ZhbHVlIGVtYWlsIGxpc3QsIGNsaWNrIDxh IGhyZWY9Imh0dHA6Ly9neHVwLmhlcHZheXVxLmNuL2FjY291bnQucGhwP21zZ2lkPTNiNDU2MzUx YzMyYTYxZDY1NzZiZSI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwv Zm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDgg QWRzVmFsdWUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgMTY4MTAgRSBB dmVudWUgT2YgVGhlIEZvdW50YWlucywgRm91bnRhaW4gSGlsbHMsIEFaIDg1MjY4PC9mb250Pjwv cD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8 L2JvZHk+CjwvaHRtbD4K --===============5814803669593200603==-- From hibernate-commits at lists.jboss.org Sun Dec 28 04:48:10 2008 Content-Type: multipart/mixed; boundary="===============7483161710481427018==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Clinically proven to enlarge Date: Sun, 28 Dec 2008 04:48:10 -0500 Message-ID: <200812280948.mBS9mAXE027681@chief.prod.atl2.jboss.com> --===============7483161710481427018== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7483161710481427018== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMud292bmlqaXAuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vY2Zramd0Lndvdm5pamlwLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMud292bmlqaXAuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4K ICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp bmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250 LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxi cj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3Qg QWRzVmFsdWUsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly90eHdmZm0ud292 bmlqaXAuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEiPlRoaXMg ZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5v cmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBjb21tdW5p Y2F0aW9ucyBmcm9tIEFkc1ZhbHVlLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9qcXV3 di53b3ZuaWppcC5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9ZmRjZTdjMTEyYzNlYWRmMGQyMzEi PgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+PHA+ PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAgICAg ICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBZHNWYWx1ZSBlbWFpbCBsaXN0LCBjbGljayA8YSBo cmVmPSJodHRwOi8vanhwZHV0ai53b3ZuaWppcC5jbi9hY2NvdW50LnBocD9tc2dpZD02YzNhY2Ni ZDMzYzU5ZTQzMmU0MjRkODM0OWU1OSI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXpl ZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdo dCCpIDIwMDggQWRzVmFsdWUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAg MTY4MTAgRSBBdmVudWUgT2YgVGhlIEZvdW50YWlucywgRm91bnRhaW4gSGlsbHMsIEFaIDg1MjY4 PC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+ CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============7483161710481427018==-- From hibernate-commits at lists.jboss.org Sun Dec 28 10:46:45 2008 Content-Type: multipart/mixed; boundary="===============6219333765833255244==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Ectasy is one step away Date: Sun, 28 Dec 2008 10:46:44 -0500 Message-ID: <200812281546.mBSFkcgT005729@chief.prod.atl2.jboss.com> --===============6219333765833255244== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6219333765833255244== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMud2F2cW9zaW4uY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vdmNxbnkud2F2cW9zaW4uY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2lt YWdlcy53YXZxb3Npbi5jbi9uZXcuanBnIj48L2E+PC9wPgo8ZGl2IGFsaWduPSJjZW50ZXIiPgog IDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGlu Zz0iMCIgYmdjb2xvcj0iI0I3RDRGRiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQt c2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgPGJsb2NrcXVvdGU+PHA+PGJy PgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFpbC4gVG8gY29udGFjdCBB ZHNWYWx1ZSwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2J6eGxoYXMud2F2 cW9zaW4uY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEiPlRoaXMg ZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5v cmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBjb21tdW5p Y2F0aW9ucyBmcm9tIEFkc1ZhbHVlLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9hc2l1 LndhdnFvc2luLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD02OWE5YTBiYTA4YjgwMjk5NmY4ZTMi PgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+PHA+ PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAgICAg ICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBZHNWYWx1ZSBlbWFpbCBsaXN0LCBjbGljayA8YSBo cmVmPSJodHRwOi8vdnd3bHIud2F2cW9zaW4uY24vYWNjb3VudC5waHA/bXNnaWQ9OTc1NTYyODdm OTRiZTBhMjJiNTNhNCI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwv Zm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDgg QWRzVmFsdWUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgMTY4MTAgRSBB dmVudWUgT2YgVGhlIEZvdW50YWlucywgRm91bnRhaW4gSGlsbHMsIEFaIDg1MjY4PC9mb250Pjwv cD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8 L2JvZHk+CjwvaHRtbD4K --===============6219333765833255244==-- From hibernate-commits at lists.jboss.org Sun Dec 28 11:33:16 2008 Content-Type: multipart/mixed; boundary="===============0956766763378008118==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Go for hours without stopping Date: Sun, 28 Dec 2008 11:33:14 -0500 Message-ID: <200812281633.mBSGXEsX009891@chief.prod.atl2.jboss.com> --===============0956766763378008118== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0956766763378008118== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMua2F5Y2FydWcuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8va2dtcS5rYXljYXJ1Zy5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmtheWNhcnVnLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEFk c1ZhbHVlLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vaHBhb3F6LmtheWNh cnVnLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5UaGlzIGVt YWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJvc3Mub3Jn LiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNh dGlvbnMgZnJvbSBBZHNWYWx1ZSwKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8vemlkZmdm ay5rYXljYXJ1Zy5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9M2E1YTk4OTk3Yjk1NzYxODQ4ZDNi YSI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250PjwvcD48 cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQogICAg ICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFkc1ZhbHVlIGVtYWlsIGxpc3QsIGNsaWNrIDxh IGhyZWY9Imh0dHA6Ly93cHV3by5rYXljYXJ1Zy5jbi9hY2NvdW50LnBocD9tc2dpZD0xNzY1YzE0 MGMwYWZkNTRiZjdhNWEiPgogICAgICAgIGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48 L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4 IEFkc1ZhbHVlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDE2ODEwIEUg QXZlbnVlIE9mIFRoZSBGb3VudGFpbnMsIEZvdW50YWluIEhpbGxzLCBBWiA4NTI2ODwvZm9udD48 L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4K PC9ib2R5Pgo8L2h0bWw+Cg== --===============0956766763378008118==-- From hibernate-commits at lists.jboss.org Sun Dec 28 14:26:41 2008 Content-Type: multipart/mixed; boundary="===============1557983152592352336==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Undeliverable: Hi Date: Sun, 28 Dec 2008 14:26:37 -0500 Message-ID: <200812281926.mBSJQbnF012573@chief.prod.atl2.jboss.com> --===============1557983152592352336== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1557983152592352336== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zcG9rZXN0YXkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L3Nwb2tlc3RheS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============1557983152592352336==-- From hibernate-commits at lists.jboss.org Sun Dec 28 15:36:38 2008 Content-Type: multipart/mixed; boundary="===============1101900844160310090==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] failure notice Date: Sun, 28 Dec 2008 15:36:36 -0500 Message-ID: <200812282036.mBSKaagY013500@chief.prod.atl2.jboss.com> --===============1101900844160310090== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1101900844160310090== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9zcG9rZXN0YXkuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L3Nwb2tlc3RheS5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============1101900844160310090==-- From hibernate-commits at lists.jboss.org Sun Dec 28 16:35:32 2008 Content-Type: multipart/mixed; boundary="===============3217369256420912560==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Mail System Error - Returned Mail Date: Sun, 28 Dec 2008 16:35:30 -0500 Message-ID: <200812282135.mBSLZUaZ014334@chief.prod.atl2.jboss.com> --===============3217369256420912560== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3217369256420912560== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3N0b3JlaGVsZC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vc3Rv cmVoZWxkLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUgdmlld2lu ZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9hPjwvQk9E WT48L0hUTUw+Cg== --===============3217369256420912560==-- From hibernate-commits at lists.jboss.org Sun Dec 28 16:48:54 2008 Content-Type: multipart/mixed; boundary="===============3560512442532169532==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: 9 inches and so tight Date: Sun, 28 Dec 2008 16:48:53 -0500 Message-ID: <200812282148.mBSLml6Y014540@chief.prod.atl2.jboss.com> --===============3560512442532169532== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3560512442532169532== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuc2luZ2VzYXkuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8veGh1cS5zaW5nZXNheS5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnNpbmdlc2F5LmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IEZy eS1IYW1tb25kLUJhcnIgSW5jLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8v ZGdzeWVtLnNpbmdlc2F5LmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXpl PSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlz dHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRo ZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBGcnktSGFtbW9uZC1CYXJyIEluYywKICAgICAgICBjbGlj ayA8YSBocmVmPSJodHRwOi8vemxkamtpbi5zaW5nZXNheS5jbi91bnN1YnNjcmliZS5waHA/bXNn aWQ9YTM1ZWJiNDdjODVhMzhlNDljYzI3ZDJmYWIxMiI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5z dWJzY3JpYmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUg ZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBh IEZyeS1IYW1tb25kLUJhcnIgSW5jIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9u cmpubmliLnNpbmdlc2F5LmNuL2FjY291bnQucGhwP21zZ2lkPWRjYzg4NWJlMDQ5NGM5MGQzMDE2 YTJkNiI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+ PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggRnJ5LUhhbW1v bmQtQmFyciBJbmMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNjAwIEUg V2FzaGluZ3RvbiBTdCwgT3JsYW5kbywgRkwgMzI4MDE8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4K ICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============3560512442532169532==-- From hibernate-commits at lists.jboss.org Sun Dec 28 17:58:44 2008 Content-Type: multipart/mixed; boundary="===============3854547316777959446==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Mail System Error - Returned Mail Date: Sun, 28 Dec 2008 17:58:41 -0500 Message-ID: <200812282258.mBSMwfe7015532@chief.prod.atl2.jboss.com> --===============3854547316777959446== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3854547316777959446== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vcXVvdGllbnRtYXRlcmlhbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJo dHRwOi8vcXVvdGllbnRtYXRlcmlhbC5jb20vOGR2czkuanBnIiBib3JkZXI9MCBhbHQ9Ikhhdmlu ZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2Vi cGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPgo= --===============3854547316777959446==-- From hibernate-commits at lists.jboss.org Sun Dec 28 19:42:38 2008 Content-Type: multipart/mixed; boundary="===============7138550253681195123==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] The ladies want this bad Date: Sun, 28 Dec 2008 19:42:36 -0500 Message-ID: <200812290042.mBT0gSk7017132@chief.prod.atl2.jboss.com> --===============7138550253681195123== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7138550253681195123== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZGl4c290dXguY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vbnZ2LmRpeHNvdHV4LmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9pbWFn ZXMuZGl4c290dXguY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8 dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9 IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNp emU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4K ICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgRnJ5 LUhhbW1vbmQtQmFyciBJbmMsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9m c293LmRpeHNvdHV4LmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIx Ij5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMu amJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIg Y29tbXVuaWNhdGlvbnMgZnJvbSBGcnktSGFtbW9uZC1CYXJyIEluYywKICAgICAgICBjbGljayA8 YSBocmVmPSJodHRwOi8vemlqYXJiLmRpeHNvdHV4LmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD05 M2U5NDliNDg5ZWZiMGQ5NTI2MSI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAg ICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBh bnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEZyeS1IYW1tb25k LUJhcnIgSW5jIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly91b2ZmZXguZGl4c290 dXguY24vYWNjb3VudC5waHA/bXNnaWQ9ZTdmYjEyMjA1NDk2NGM2YmM1ODE5NmU4Y2QzNTciPgog ICAgICAgIGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAg ICAgICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4IEZyeS1IYW1tb25kLUJhcnIg SW5jLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDYwMCBFIFdhc2hpbmd0 b24gU3QsIE9ybGFuZG8sIEZMIDMyODAxPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwv dGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============7138550253681195123==-- From hibernate-commits at lists.jboss.org Sun Dec 28 22:24:04 2008 Content-Type: multipart/mixed; boundary="===============4249768572069700706==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: User unknown Date: Sun, 28 Dec 2008 22:23:55 -0500 Message-ID: <200812290324.mBT3NtQY019156@chief.prod.atl2.jboss.com> --===============4249768572069700706== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8= vRU4iPg0KPEhUTUw+PEhFQUQ+DQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW= 50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9V2luZG93cy0xMjUyIj4NCjwvSEVBRD4NCjxCT0RZPjxhI= GhyZWY9Imh0dHA6Ly9jb3Vyc2VtaWdodC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+DQo8aW1nIHNy= Yz0iaHR0cDovL2NvdXJzZW1pZ2h0LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5= nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPw0KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2= VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPnsvQkFTRTY0X0VOQ09ERUR9DQoNCgAAAAAAAAAAA= AAAAA=3D=3D --===============4249768572069700706==-- From hibernate-commits at lists.jboss.org Mon Dec 29 01:04:26 2008 Content-Type: multipart/mixed; boundary="===============0854070440365537795==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Jumpstart your love-life Date: Mon, 29 Dec 2008 01:04:25 -0500 Message-ID: <200812290604.mBT64Mvp021347@chief.prod.atl2.jboss.com> --===============0854070440365537795== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0854070440365537795== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMua29uaHVkdWguY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vc3FhLmtvbmh1ZHVoLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9pbWFn ZXMua29uaHVkdWguY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8 dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9 IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNp emU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4K ICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgRE1T IE1haWwgTWFuYWdlbWVudCwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2hy eWgua29uaHVkdWguY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEi PlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBj b21tdW5pY2F0aW9ucyBmcm9tIERNUyBNYWlsIE1hbmFnZW1lbnQsCiAgICAgICAgY2xpY2sgPGEg aHJlZj0iaHR0cDovL2l2Yy5rb25odWR1aC5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9ZjU4MTYw Yzk0Zjk0ZTc1ZGY5MDJjOGYzIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAg ICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFu eSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgRE1TIE1haWwgTWFu YWdlbWVudCBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vdWllbmVhLmtvbmh1ZHVo LmNuL2FjY291bnQucGhwP21zZ2lkPWM1ZDQxOGExNGU1YjU0ZDFmNDQxOTBiNjZjIj4KICAgICAg ICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAg PHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBETVMgTWFpbCBNYW5hZ2VtZW50LCBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDgyODIgU2llZ2VuIExuLCBCYXRv biBSb3VnZSwgTEEgNzA4MTA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAg IDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============0854070440365537795==-- From hibernate-commits at lists.jboss.org Mon Dec 29 02:58:35 2008 Content-Type: multipart/mixed; boundary="===============0648235669344447480==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Time to get it bigger Date: Mon, 29 Dec 2008 02:58:33 -0500 Message-ID: <200812290758.mBT7wXkm023235@chief.prod.atl2.jboss.com> --===============0648235669344447480== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0648235669344447480== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48Yj48cCBhbGln bj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vZG9tZXNkb21lLmNvbS8iPgo8aW1nIGJvcmRlcj0i MCIgc3JjPSJodHRwOi8vaW1hZ2VzLmRvbWVkYWxlLmNvbS9uZXcuanBnIj48L2E+PC9wPgo8ZGl2 IGFsaWduPSJjZW50ZXIiPgogIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFj aW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI2ZmZmZmZiIgc3R5bGU9ImZvbnQtZmFt aWx5OiBUYWhvbWE7IGZvbnQtc2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAg PGJsb2NrcXVvdGU+PHA+PGJyPgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBl bWFpbC4gVG8gY29udGFjdCBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNpbmcsIHBsZWFzZQogICAg ICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9iZWNrcml0ZS5jb20vIj51czwvYT48L3A+CiAgICAg ICAgPGhyPjxwPjxmb250IHNpemU9IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byA8 aGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJvc3Mub3JnPi4gSWYKICAgICAgICB5b3UgZG8gbm90 IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11bmljYXRpb25zIGZyb20gQXJtc3Ryb25nIFNo YW5rIEFkdmVydGlzaW5nLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9iZWNramVsbC5j b20vIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9w PjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAg ICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5n IGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9iZWNrcnVlZC5jb20vIj4KICAgICAg ICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAg PHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IMKpIDIwMDggQXJtc3Ryb25nIFNoYW5rIEFkdmVy dGlzaW5nLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDc0NTAgUyBTZW5l Y2EsIEhheXN2aWxsZSwgS1MgNjcwNjA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KPC90ZD48L3Ry PjwvdGFibGU+PC9kaXY+PC9CT0RZPjwvSFRNTD4K --===============0648235669344447480==-- From hibernate-commits at lists.jboss.org Mon Dec 29 03:36:48 2008 Content-Type: multipart/mixed; boundary="===============5229166734696930686==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Some lengthening will help Date: Mon, 29 Dec 2008 03:36:45 -0500 Message-ID: <200812290836.mBT8ajau023871@chief.prod.atl2.jboss.com> --===============5229166734696930686== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5229166734696930686== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48Yj48cCBhbGln bj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vYmVja25hcnkuY29tLyI+CjxpbWcgYm9yZGVyPSIw IiBzcmM9Imh0dHA6Ly9pbWFnZXMuZG9tZWJlZW4uY29tL25ldy5qcGciPjwvYT48L3A+CjxkaXYg YWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNp bmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZmZmZmIiBzdHlsZT0iZm9udC1mYW1p bHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8 YmxvY2txdW90ZT48cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVt YWlsLiBUbyBjb250YWN0IEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2luZywgcGxlYXNlCiAgICAg ICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2JlY2tyaXRlLmNvbS8iPnVzPC9hPjwvcD4KICAgICAg ICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIDxo aWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmc+LiBJZgogICAgICAgIHlvdSBkbyBub3Qg d2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBcm1zdHJvbmcgU2hh bmsgQWR2ZXJ0aXNpbmcsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2RvbWVkcmV3LmNv bS8iPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+ PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAg ICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNpbmcg ZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2JlY2tyaXRlLmNvbS8iPgogICAgICAg IGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8 cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgwqkgMjAwOCBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0 aXNpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNzQ1MCBTIFNlbmVj YSwgSGF5c3ZpbGxlLCBLUyA2NzA2MDwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgo8L3RkPjwvdHI+ PC90YWJsZT48L2Rpdj48L0JPRFk+PC9IVE1MPgo= --===============5229166734696930686==-- From hibernate-commits at lists.jboss.org Mon Dec 29 03:52:32 2008 Content-Type: multipart/mixed; boundary="===============7525018527092761405==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15743 - in core/trunk/envers/src: test/java/org/hibernate/envers/test/integration/notinsertable and 2 other directories. Date: Mon, 29 Dec 2008 03:52:31 -0500 Message-ID: --===============7525018527092761405== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: adamw Date: 2008-12-29 03:52:31 -0500 (Mon, 29 Dec 2008) New Revision: 15743 Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/no= tinsertable/manytoone/ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/no= tinsertable/manytoone/ManyToOneNotInsertable.java core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/no= tinsertable/manytoone/ManyToOneNotInsertableEntity.java core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/no= tinsertable/manytoone/NotInsertableEntityType.java Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/AuditMetadataGenerator.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/CollectionMetadataGenerator.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/MetadataTools.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/ToOneRelationMetadataGenerator.java core/trunk/envers/src/test/resources/testng.xml Log: HHH-3573: fix with tests (a not-insertable column can now be a many-to-one = relation) Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/AuditMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/AuditMetadataGenerator.java 2008-12-27 01:51:28 UTC (rev 15742) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/AuditMetadataGenerator.java 2008-12-29 08:52:31 UTC (rev 15743) @@ -119,7 +119,7 @@ // only second pass if (!firstPass) { toOneRelationMetadataGenerator.addToOne(parent, persistent= PropertyAuditingData, value, currentMapper, - entityName); + entityName, insertable); } } else if (type instanceof OneToOneType) { // only second pass Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/CollectionMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/CollectionMetadataGenerator.java 2008-12-27 01:51:28 UTC (rev 15742) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/CollectionMetadataGenerator.java 2008-12-29 08:52:31 UTC (rev 15743) @@ -212,7 +212,7 @@ MetadataTools.ColumnNameIterator c= olumnNameIterator, IdMappingData relatedIdMapping) { Element properties =3D (Element) relatedIdMapping.getXmlRelationMa= pping().clone(); - MetadataTools.prefixNamesInPropertyElement(properties, prefix, col= umnNameIterator, true); + MetadataTools.prefixNamesInPropertyElement(properties, prefix, col= umnNameIterator, true, true); for (Element idProperty : (java.util.List) properties.ele= ments()) { xmlMapping.add((Element) idProperty.clone()); } Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/MetadataTools.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/MetadataTools.java 2008-12-27 01:51:28 UTC (rev 15742) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/MetadataTools.java 2008-12-29 08:52:31 UTC (rev 15743) @@ -163,7 +163,7 @@ = @SuppressWarnings({"unchecked"}) public static void prefixNamesInPropertyElement(Element element, Strin= g prefix, ColumnNameIterator columnNameIterator, - boolean changeToKey) { + boolean changeToKey, b= oolean insertable) { Iterator properties =3D element.elementIterator(); while (properties.hasNext()) { Element property =3D properties.next(); @@ -179,6 +179,9 @@ if (changeToKey) { property.setName("key-property"); } + + Attribute insert =3D property.attribute("insert"); + insert.setText(Boolean.toString(insertable)); } } } Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/ToOneRelationMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/ToOneRelationMetadataGenerator.java 2008-12-27 01:51:28 UTC (rev 15742) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/ToOneRelationMetadataGenerator.java 2008-12-29 08:52:31 UTC (rev 15743) @@ -50,7 +50,7 @@ = @SuppressWarnings({"unchecked"}) void addToOne(Element parent, PersistentPropertyAuditingData persisten= tPropertyAuditingData, Value value, - CompositeMapperBuilder mapper, String entityName) { + CompositeMapperBuilder mapper, String entityName, boolea= n insertable) { String referencedEntityName =3D ((ToOne) value).getReferencedEntit= yName(); = EntityConfiguration configuration =3D mainGenerator.getEntitiesCon= figurations().get(referencedEntityName); @@ -74,7 +74,7 @@ properties.addAttribute("name", persistentPropertyAuditingData.get= Name()); = MetadataTools.prefixNamesInPropertyElement(properties, lastPropert= yPrefix, - MetadataTools.getColumnNameIterator(value.getColumnIterato= r()), false); + MetadataTools.getColumnNameIterator(value.getColumnIterato= r()), false, insertable); parent.add(properties); = // Adding mapper for the id Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integratio= n/notinsertable/manytoone/ManyToOneNotInsertable.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/n= otinsertable/manytoone/ManyToOneNotInsertable.java = (rev 0) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/n= otinsertable/manytoone/ManyToOneNotInsertable.java 2008-12-29 08:52:31 UTC = (rev 15743) @@ -0,0 +1,79 @@ +package org.hibernate.envers.test.integration.notinsertable.manytoone; + +import java.util.Arrays; +import javax.persistence.EntityManager; + +import org.hibernate.envers.test.AbstractEntityTest; +import org.hibernate.ejb.Ejb3Configuration; +import org.testng.annotations.BeforeClass; +import org.testng.annotations.Test; + +public class ManyToOneNotInsertable extends AbstractEntityTest { + private Integer mto_id1; + private Integer type_id1; + private Integer type_id2; + + public void configure(Ejb3Configuration cfg) { + cfg.addAnnotatedClass(ManyToOneNotInsertableEntity.class); + cfg.addAnnotatedClass(NotInsertableEntityType.class); + } + + @BeforeClass(dependsOnMethods =3D "init") + public void initData() { + EntityManager em =3D getEntityManager(); + + mto_id1 =3D 1; + type_id1 =3D 2; + type_id2 =3D 3; + + // Rev 1 + // Preparing the types + em.getTransaction().begin(); + + NotInsertableEntityType type1 =3D new NotInsertableEntityType(type_id1, = "type1"); + NotInsertableEntityType type2 =3D new NotInsertableEntityType(type_id2, = "type2"); + + em.persist(type1); + em.persist(type2); + + em.getTransaction().commit(); + + // Rev 2 + em.getTransaction().begin(); + + ManyToOneNotInsertableEntity master =3D new ManyToOneNotInsertable= Entity(mto_id1, type_id1, type1); + em.persist(master); + + em.getTransaction().commit(); + + // Rev 2 + em.getTransaction().begin(); + + master =3D em.find(ManyToOneNotInsertableEntity.class, mto_id1); + master.setNumber(type_id2); + + em.getTransaction().commit(); + } + + @Test + public void testRevisionCounts() { + assert Arrays.asList(1).equals(getAuditReader().getRevisions(NotInsertab= leEntityType.class, type_id1)); + assert Arrays.asList(1).equals(getAuditReader().getRevisions(NotInsertab= leEntityType.class, type_id2)); + + assert Arrays.asList(2, 3).equals(getAuditReader().getRevisions(Ma= nyToOneNotInsertableEntity.class, mto_id1)); = + } + + @Test + public void testNotInsertableEntity() { + ManyToOneNotInsertableEntity ver1 =3D getAuditReader().find(ManyTo= OneNotInsertableEntity.class, mto_id1, 1); + ManyToOneNotInsertableEntity ver2 =3D getAuditReader().find(ManyToOneNot= InsertableEntity.class, mto_id1, 2); + ManyToOneNotInsertableEntity ver3 =3D getAuditReader().find(ManyToOneNot= InsertableEntity.class, mto_id1, 3); + + NotInsertableEntityType type1 =3D getEntityManager().find(NotInsertableE= ntityType.class, type_id1); + NotInsertableEntityType type2 =3D getEntityManager().find(NotInsertableE= ntityType.class, type_id2); + + assert ver1 =3D=3D null; + assert ver2.getType().equals(type1); + assert ver3.getType().equals(type2); + } +} Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integratio= n/notinsertable/manytoone/ManyToOneNotInsertableEntity.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/n= otinsertable/manytoone/ManyToOneNotInsertableEntity.java = (rev 0) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/n= otinsertable/manytoone/ManyToOneNotInsertableEntity.java 2008-12-29 08:52:3= 1 UTC (rev 15743) @@ -0,0 +1,52 @@ +package org.hibernate.envers.test.integration.notinsertable.manytoone; + +import org.hibernate.envers.Audited; + +import javax.persistence.*; + +(a)Entity +(a)Audited +public class ManyToOneNotInsertableEntity { + @Id + private Integer id; + + @Basic + @Column(name =3D "number") + private Integer number; + + @ManyToOne + @JoinColumn(name =3D "number", insertable =3D false, updatable =3D false) + private NotInsertableEntityType type; + + public ManyToOneNotInsertableEntity() { } + + public ManyToOneNotInsertableEntity(Integer id, Integer number, NotInsert= ableEntityType type) { + this.id =3D id; + this.number =3D number; + this.type =3D type; + } + + public Integer getId() { + return id; + } + + public void setId(Integer id) { + this.id =3D id; + } + + public Integer getNumber() { + return number; + } + + public void setNumber(Integer number) { + this.number =3D number; + } + + public NotInsertableEntityType getType() { + return type; + } + + public void setType(NotInsertableEntityType type) { + this.type =3D type; + } +} Added: core/trunk/envers/src/test/java/org/hibernate/envers/test/integratio= n/notinsertable/manytoone/NotInsertableEntityType.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/n= otinsertable/manytoone/NotInsertableEntityType.java = (rev 0) +++ core/trunk/envers/src/test/java/org/hibernate/envers/test/integration/n= otinsertable/manytoone/NotInsertableEntityType.java 2008-12-29 08:52:31 UTC= (rev 15743) @@ -0,0 +1,58 @@ +package org.hibernate.envers.test.integration.notinsertable.manytoone; + +import org.hibernate.envers.Audited; + +import javax.persistence.*; + +(a)Entity +(a)Audited +public class NotInsertableEntityType { + public NotInsertableEntityType(Integer typeId, String type) { + this.typeId =3D typeId; + this.type =3D type; + } + + public NotInsertableEntityType() { } + + @Id + private Integer typeId; + + @Basic + private String type; + + public Integer getTypeId() { + return typeId; + } + + public void setTypeId(Integer typeId) { + this.typeId =3D typeId; + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type =3D type; + } + + @Override + public boolean equals(Object o) { + if (this =3D=3D o) return true; + if (o =3D=3D null || getClass() !=3D o.getClass()) return false; + + NotInsertableEntityType that =3D (NotInsertableEntityType) o; + + if (type !=3D null ? !type.equals(that.type) : that.type !=3D null) retu= rn false; + if (typeId !=3D null ? !typeId.equals(that.typeId) : that.typeId !=3D nu= ll) return false; + + return true; + } + + @Override + public int hashCode() { + int result =3D typeId !=3D null ? typeId.hashCode() : 0; + result =3D 31 * result + (type !=3D null ? type.hashCode() : 0); + return result; + } +} Modified: core/trunk/envers/src/test/resources/testng.xml =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/test/resources/testng.xml 2008-12-27 01:51:28 UTC= (rev 15742) +++ core/trunk/envers/src/test/resources/testng.xml 2008-12-29 08:52:31 UTC= (rev 15743) @@ -32,6 +32,7 @@ + --===============7525018527092761405==-- From hibernate-commits at lists.jboss.org Mon Dec 29 03:55:51 2008 Content-Type: multipart/mixed; boundary="===============2255706411911650911==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Non delivery report: 5.9.4 (Spam SLS/RBL) Date: Mon, 29 Dec 2008 03:55:48 -0500 Message-ID: <200812290855.mBT8tmfv024411@chief.prod.atl2.jboss.com> --===============2255706411911650911== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8= vRU4iPg0KPEhUTUw+PEhFQUQ+DQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW= 50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9aXNvLTg4NTktMSI+DQo8L0hFQUQ+DQo8Qk9EWT48YSBoc= mVmPSJodHRwOi8vYmVhdXR5Y3JlYXNlLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4NCjxpbWcgc3Jj= PSJodHRwOi8vYmVhdXR5Y3JlYXNlLmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5= nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPw0KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2= VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPnsvQkFTRTY0X0VOQ09ERUR9DQoNCgAAAAAAAAAAA= AAAAA=3D=3D --===============2255706411911650911==-- From hibernate-commits at lists.jboss.org Mon Dec 29 03:58:55 2008 Content-Type: multipart/mixed; boundary="===============3564584803382423505==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I tasted her she was sweet Date: Mon, 29 Dec 2008 03:58:55 -0500 Message-ID: <200812290858.mBT8wtZi024536@chief.prod.atl2.jboss.com> --===============3564584803382423505== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3564584803382423505== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMud2Vrbmlnb3kuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vZmFoLndla25pZ295LmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9pbWFn ZXMud2Vrbmlnb3kuY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8 dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9 IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNp emU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4K ICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgRE1T IE1haWwgTWFuYWdlbWVudCwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL3Vu Z3lybS53ZWtuaWdveS5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0i MSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3Rz Lmpib3NzLm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVy IGNvbW11bmljYXRpb25zIGZyb20gRE1TIE1haWwgTWFuYWdlbWVudCwKICAgICAgICBjbGljayA8 YSBocmVmPSJodHRwOi8vd29sei53ZWtuaWdveS5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9YzUx NDgwYzY2ZGI1MjQ5ZjQ4ZjQyMzllNzJhIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmli ZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmll bmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgRE1TIE1h aWwgTWFuYWdlbWVudCBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vamV3bGMud2Vr bmlnb3kuY24vYWNjb3VudC5waHA/bXNnaWQ9YzI2NjEzYTdhMDM4ZDYwNjRjNTNjIj4KICAgICAg ICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAg PHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBETVMgTWFpbCBNYW5hZ2VtZW50LCBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDgyODIgU2llZ2VuIExuLCBCYXRv biBSb3VnZSwgTEEgNzA4MTA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAg IDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============3564584803382423505==-- From hibernate-commits at lists.jboss.org Mon Dec 29 04:25:49 2008 Content-Type: multipart/mixed; boundary="===============5117553525464511658==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] I tasted her she was sweet Date: Mon, 29 Dec 2008 04:25:48 -0500 Message-ID: <200812290925.mBT9PdlN025696@chief.prod.atl2.jboss.com> --===============5117553525464511658== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5117553525464511658== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuY2FybGl3b2QuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vd3Z3Yi5jYXJsaXdvZC5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmNhcmxpd29kLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IERN UyBNYWlsIE1hbmFnZW1lbnQsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly93 bGdoZG0uY2FybGl3b2QuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9 IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0 cy5qYm9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhl ciBjb21tdW5pY2F0aW9ucyBmcm9tIERNUyBNYWlsIE1hbmFnZW1lbnQsCiAgICAgICAgY2xpY2sg PGEgaHJlZj0iaHR0cDovL3J2eC5jYXJsaXdvZC5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9OTY3 ZTY2NmM1ZTA4NTA3MWM3NTkiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAg ICAgIDwvZm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55 IGRpZmZpY3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBETVMgTWFpbCBNYW5h Z2VtZW50IGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9xcXZ1eS5jYXJsaXdvZC5j bi9hY2NvdW50LnBocD9tc2dpZD04ZjdhNmQ5NzljZDFjNmUxMGI5NGU2Ij4KICAgICAgICBoZXJl PC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZv bnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBETVMgTWFpbCBNYW5hZ2VtZW50LCBJbmMuIEFs bCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDgyODIgU2llZ2VuIExuLCBCYXRvbiBSb3Vn ZSwgTEEgNzA4MTA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+ CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============5117553525464511658==-- From hibernate-commits at lists.jboss.org Mon Dec 29 04:40:41 2008 Content-Type: multipart/mixed; boundary="===============1526918604131414878==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] failure notice Date: Mon, 29 Dec 2008 04:40:38 -0500 Message-ID: <200812290940.mBT9ec0e026152@chief.prod.atl2.jboss.com> --===============1526918604131414878== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8= vRU4iPg0KPEhUTUw+PEhFQUQ+DQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW= 50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9V2luZG93cy0xMjUyIj4NCjwvSEVBRD4NCjxCT0RZPjxhI= GhyZWY9Imh0dHA6Ly9jb3Vyc2VtaWdodC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+DQo8aW1nIHNy= Yz0iaHR0cDovL2NvdXJzZW1pZ2h0LmNvbS84ZHZzOS5qcGciIGJvcmRlcj0wIGFsdD0iSGF2aW5= nIHRyb3VibGUgdmlld2luZyB0aGlzIGVtYWlsPw0KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2= VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1MPnsvQkFTRTY0X0VOQ09ERUR9DQoNCgAAAABIUm9hW= E1nWg=3D=3D --===============1526918604131414878==-- From hibernate-commits at lists.jboss.org Mon Dec 29 05:41:19 2008 Content-Type: multipart/mixed; boundary="===============1483172891126574001==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] hibernate-commits@lists.jboss.org, Limited-Time Offers Date: Mon, 29 Dec 2008 05:41:11 -0500 Message-ID: <200812291041.mBTAfBQF027314@chief.prod.atl2.jboss.com> --===============1483172891126574001== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1483172891126574001== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PHRpdGxlPkJlcm5hdK4gTmV3c2xldHRlciAtIFN1bW1lciAyMDA4PC90aXRsZT48Ym9keT4KPHAg c3R5bGU9Ik1BUkdJTi1CT1RUT006IDEuNWVtOyBGT05UOiAxMXB4IEFyaWFsLCBzYW5zLXNlcmlm OyBDT0xPUjogIzk5OTk5OTsgVEVYVC1BTElHTjogY2VudGVyIj5UaGlzIGUtbWFpbCB3YXMgc2Vu dCB0byB5b3UgYnkgUGhhcm1hY3muLiBZb3UgYXJlIHJlY2VpdmluZyB0aGlzIGVtYWlsIGJlY2F1 c2UgeW91IGhhdmUgc3Vic2NyaWJlZCB0byB0aGUKIFZpYWdyYa4gbmV3c2xldHRlciB3aXRoIHRo ZSBmb2xsb3dpbmcgYWRkcmVzczogaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJvc3Mub3JnLiA8 YnI+Cjxicj4KPGEgaHJlZj0iaHR0cDovL3d3dy4iIHRhcmdldD0iX2JsYW5rIj5WaWV3IFdlYiBW ZXJzaW9uPC9hPiB8fCA8YSBocmVmPSJodHRwOi8vd3d3LmFkdm9jYWN5YmVsaWV2ZS5jb20iIHRh cmdldD0iX2JsYW5rIj5Qcml2YWN5IHBvbGljeTwvYT4gfCA8YSBocmVmPSJodHRwOi8vd3d3LnRy YWRpdGlvbnNvb24uY29tIiB0YXJnZXQ9Il9ibGFuayI+Q29udGFjdCB1czwvYT48L3A+Cjx0YWJs ZSB3aWR0aD0iNTQwIiBib3JkZXI9IjAiIGFsaWduPSJjZW50ZXIiIGNlbGxwYWRkaW5nPSIwIiBj ZWxsc3BhY2luZz0iMCIgYmdjb2xvcj0iI2ZmZmZmZiI+CiA8dHI+CjxhIGhyZWY9Imh0dHA6Ly93 d3cudHJhZGl0aW9uc29vbi5jb20iIAogICAgICAgICAgICB0YXJnZXQ9Il9ibGFuayI+PGltZyBz cmM9Imh0dHBzOi8vd3d3LnBmaXplcnByby5jb20vaW1hZ2VzL2hhbGZiYXJfdGFic190b3Bfdmlh Z3JhLmdpZiIgIGJvcmRlcj0iMCI+PC9hPjxicj48L3RkPgogICAgPC90cj4KCiA8L3RyPgogPC90 YWJsZT48L3RkPgogPC90cj4KPC90YWJsZT4KPHRhYmxlIHdpZHRoPSI1ODMiIGJvcmRlcj0iMCIg YWxpZ249ImNlbnRlciIgY2VsbHBhZGRpbmc9IjAiIGNlbGxzcGFjaW5nPSIwIiBiZ2NvbG9yPSIj ZmZmZmZmIiBzdHlsZT0iQk9SREVSLVJJR0hUOiAjNGU0NDY5IDFweCBzb2xpZDsgQk9SREVSLVRP UDogIzRlNDQ2OSAxcHggc29saWQ7IEJPUkRFUi1MRUZUOiAjNGU0NDY5IDFweCBzb2xpZDsgQk9S REVSLUJPVFRPTTogIzRlNDQ2OSAxcHggc29saWQiPgogPHRyPgogPHRkIHdpZHRoPSI1ODEiIHN0 eWxlPSJQQURESU5HLVJJR0hUOiAxMnB4OyBQQURESU5HLUxFRlQ6IDEycHg7IFBBRERJTkctQk9U VE9NOiAxMnB4OyBQQURESU5HLVRPUDogMTJweCIKICAgPjxkaXYgc3R5bGU9IlBBRERJTkctUklH SFQ6IDNweDsgUEFERElORy1MRUZUOiA3cHg7IE1BUkdJTi1CT1RUT006IDEuNWVtOyBQQURESU5H LUJPVFRPTTogM3B4OyBGT05UOiAxOHB4IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IENP TE9SOiAjZmZmOyBQQURESU5HLVRPUDogM3B4OyBCQUNLR1JPVU5ELUNPTE9SOiAjYTZiNDYzIgog ICAgID5TYXRpc2ZhY3Rpb24gR3VhcmFudGVlZCAtICAgT3VyIENvbXBhbnkgd2FudHMgeW91IHRv IGJlIGFic29sdXRlbHkgc2F0aXNmaWVkIHdpdGggeW91ciBwaGFybWFjeS48QlI+CiAgICBJZiwg d2l0aGluIDMwIGRheXMgb2YgcmVjZWl2aW5nIHlvdXIgcHVyY2hhc2UgeW91J3JlIG5vdCAgIGNv bXBsZXRlbHk8QlI+CiAgIHNhdGlzZmllZCwgcmV0dXJuIGl0IGZvciB0aGUgcHJpY2UgeW91IHBh aWQgb3Igd2Ugd2lsbCBnbGFkbHkgICByZXBsYWNlIGl0LiA8YnI+CiAgICAgPGJyPgogICA8L2Rp dj4KICAgPHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxs cGFkZGluZz0iMCIgc3R5bGU9IkJPUkRFUi1SSUdIVDogIzk5MTkxYyAxcHggZGFzaGVkOyBCT1JE RVItVE9QOiAjOTkxOTFjIDFweCBkYXNoZWQ7IEZPTlQ6IDEycHggQXJpYWwsIHNhbnMtc2VyaWY7 IEJPUkRFUi1MRUZUOiAjOTkxOTFjIDFweCBkYXNoZWQ7IENPTE9SOiAjNGYyNTEwOyBCT1JERVIt Qk9UVE9NOiAjOTkxOTFjIDFweCBkYXNoZWQ7IEJBQ0tHUk9VTkQtQ09MT1I6ICNmY2ZhZTUiCiAg ICAgPgogIDx0cj4KICAgPHRkIHZhbGlnbj0idG9wIiBzdHlsZT0iUEFERElORy1SSUdIVDogMTBw eDsgUEFERElORy1MRUZUOiAxMHB4OyBQQURESU5HLUJPVFRPTTogMTBweDsgUEFERElORy1UT1A6 IDEwcHgiCiAgICAgICAgID48YSBocmVmPSJodHRwOi8vd3d3LnRyYWRpdGlvbnNvb24uY29tIj48 aW1nIHNyYz0iaHR0cDovL21lZGlhcGl4LnJ1L3BpY3MvOTY1Y2FiOGVjOWIwMGY4NzMxZDU3OWRl NzcyMzM2ZGYuZ2lmIiBib3JkZXI9IjAiPjwvYT48L3RkPgogICAgICAgCiAgICAgICA8L3RyPgog ICAgICA8L3RhYmxlPjxicj4KCSAgIAogICAgIDxkaXYgc3R5bGU9Ik1BUkdJTi1CT1RUT006IDEu NWVtOyBIRUlHSFQ6IDRweDsgQkFDS0dST1VORC1DT0xPUjogI2E2YjQ2MyIKICAgICA+PC9kaXY+ CiAgICA8YSBocmVmPSJodHRwOi8vd3d3LnllYXJwcm9ncmVzcy5jb20iCiAgICAgIHRhcmdldD0i X2JsYW5rIj48aW1nIHNyYz0iaHR0cDovL3d3dy5iZXJuYXQuY29tL2ltYWdlcy9pbnRlcmlvci9i dXlvbmxpbmUtYmVybmF0LmpwZyIgYWx0PSJCdXkgT25saW5lIiB3aWR0aD0iMTgwIiBoZWlnaHQ9 IjQyIiBib3JkZXI9IjAiIGFsaWduPSJhYnNNaWRkbGUiPjwvYT48L3A+CiAgICAgPHAgc3R5bGU9 Ik1BUkdJTi1CT1RUT006IDEuNWVtOyBGT05UOiAxMnB4IEFyaWFsLCBzYW5zLXNlcmlmOyBDT0xP UjogIzRmMjUxMCIKICAgICA+IDwvcD4KICAgICA8cD4gPC9wPjwvdGQ+CiA8L3RyPgogPHRyPgog ICA8dGQ+IDwvdGQ+CiA8L3RyPgogPHRyPgogPHRkIHN0eWxlPSJQQURESU5HLVJJR0hUOiA2cHg7 IFBBRERJTkctTEVGVDogNnB4OyBQQURESU5HLUJPVFRPTTogNnB4OyBQQURESU5HLVRPUDogNnB4 IgogICA+PHRhYmxlIHdpZHRoPSIxMDAlIiBib3JkZXI9IjAiIGNlbGxzcGFjaW5nPSIwIiBjZWxs cGFkZGluZz0iNCIgc3R5bGU9IkJPUkRFUi1SSUdIVDogIzRlNDQ2OSAxcHggc29saWQ7IEJPUkRF Ui1UT1A6ICM0ZTQ0NjkgMXB4IHNvbGlkOyBGT05UOiAxMnB4IEFyaWFsLCBzYW5zLXNlcmlmOyBC T1JERVItTEVGVDogIzRlNDQ2OSAxcHggc29saWQ7IENPTE9SOiAjNGYyNTEwOyBCT1JERVItQk9U VE9NOiAjNGU0NDY5IDFweCBzb2xpZCIKICAgICA+CiA8dHI+CiAgPHRkIGJnY29sb3I9IiNmZmZm ZmYiIHN0eWxlPSJGT05UOiAxMXB4IEFyaWFsLCBzYW5zLXNlcmlmOyBDT0xPUjogIzRmMjUxMCIK ICAgICAgICAgPjxwIHN0eWxlPSJGT05UOiAxMXB4IEFyaWFsLCBzYW5zLXNlcmlmOyBDT0xPUjog IzRmMjUxMCI+WW91IGFyZQogICAgcmVjZWl2aW5nIHRoaXMgZW1haWwgYmVjYXVzZSB5b3UgaGF2 ZSBzdWJzY3JpYmVkIHRvIHRoZSBQaGFybWFjea4gbmV3c2xldHRlciB3aXRoIHRoZSBmb2xsb3dp bmcgYWRkcmVzczogaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJvc3Mub3JnLjxicj4KICAgIDxi cj4KICAgIDxzcGFuIHN0eWxlPSJGT05UOiAxMXB4IEFyaWFsLCBzYW5zLXNlcmlmOyBDT0xPUjog Izk5OTk5OSIKICAgICAgICAgICA+PGEgPQpocmVmPSJodHRwOi8vd3d3LiIgdGFyZ2V0PSJfYmxh bmsiPlVuc3Vic2NyaWJlPC9hPjxhIGhyZWY9Imh0dHA6Ly93d3cuYmVybmF0LmNvbS9uZXdzbGV0 dGVycy9zcHJpbmcyMDA4d2ViLmh0bWwiIHRhcmdldD0iX2JsYW5rIj48L2E+PGEgaHJlZj0iaHR0 cDovL3d3dy5iZXJuYXQuY29tL21lbWJlci5waHA/dXRtX3NvdXJjZT1uZXdzbGV0dGVyJnV0bV9t ZWRpdW09ZW1haWwmdXRtX2NvbnRlbnQ9bWVtYmVyc2V0dGluZ3MmdXRtX2NhbXBhaWduPXN1bW1l cjIwMDgiIHRhcmdldD0iX2JsYW5rIj48L2E+IHwgPGEgaHJlZj0iaHR0cDovL3d3dy55ZWFycHJv Z3Jlc3MuY29tIiB0YXJnZXQ9Il9ibGFuayI+UHJpdmFjeSBwb2xpY3k8L2E+IHwgPGEgaHJlZj0i aHR0cDovL3d3dy50cmFkaXRpb25zb29uLmNvbSIgdGFyZ2V0PSJfYmxhbmsiPkNvbnRhY3QgdXMg PC9hPjwvc3Bhbj48L3A+CiAgICAgICA8cCBzdHlsZT0iRk9OVDogMTFweCBBcmlhbCwgc2Fucy1z ZXJpZjsgQ09MT1I6ICM0ZjI1MTAiCiAgICAgICAgICAgIGFsaWduPXJpZ2h0PqkgMjAwOCBQaGFy bWFjeSBBbGwgcmlnaHRzCiAgIHJlc2VydmVkLjwvcD4KICAgICAgIDwvdGQ+CiAgICA8L3RyPgog PC90YWJsZT48L3RkPgogPC90cj4KPC90YWJsZT4KPC9ib2R5PgoKPC9odG1sPgoK --===============1483172891126574001==-- From hibernate-commits at lists.jboss.org Mon Dec 29 06:04:50 2008 Content-Type: multipart/mixed; boundary="===============7578511762906604513==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Highly rated product for men Date: Mon, 29 Dec 2008 06:04:48 -0500 Message-ID: <200812291104.mBTB4mwc028005@chief.prod.atl2.jboss.com> --===============7578511762906604513== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7578511762906604513== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxiPjxwIGFs aWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9iZWNramVsbC5jb20vIj4KPGltZyBib3JkZXI9 IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5iZWNrcnVlZC5jb20vbmV3LmpwZyI+PC9hPjwvcD4KPGRp diBhbGlnbj0iY2VudGVyIj4KICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3Bh Y2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJnY29sb3I9IiNmZmZmZmYiIHN0eWxlPSJmb250LWZh bWlseTogVGFob21hOyBmb250LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAg IDxibG9ja3F1b3RlPjxwPjxicj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMg ZW1haWwuIFRvIGNvbnRhY3QgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nLCBwbGVhc2UKICAg ICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vZG9tZWRhbGUuY29tLyI+dXM8L2E+PC9wPgogICAg ICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8g PGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9yZz4uIElmCiAgICAgICAgeW91IGRvIG5v dCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBjb21tdW5pY2F0aW9ucyBmcm9tIEFybXN0cm9uZyBT aGFuayBBZHZlcnRpc2luZywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8vZG9tZWRhbGUu Y29tLyI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250Pjwv cD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQog ICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2lu ZyBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vYmVja3JpdGUuY29tLyI+CiAgICAg ICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAg IDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCDCqSAyMDA4IEFybXN0cm9uZyBTaGFuayBBZHZl cnRpc2luZywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA3NDUwIFMgU2Vu ZWNhLCBIYXlzdmlsbGUsIEtTIDY3MDYwPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CjwvdGQ+PC90 cj48L3RhYmxlPjwvZGl2PjwvQk9EWT48L0hUTUw+Cg== --===============7578511762906604513==-- From hibernate-commits at lists.jboss.org Mon Dec 29 07:20:25 2008 Content-Type: multipart/mixed; boundary="===============2611521884848350940==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] This mail is refused message Date: Mon, 29 Dec 2008 07:20:22 -0500 Message-ID: <200812291220.mBTCKMCY030168@chief.prod.atl2.jboss.com> --===============2611521884848350940== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8= vRU4iPg0KPEhUTUw+PEhFQUQ+DQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW= 50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXMtYXNjaWkiPg0KPC9IRUFEPg0KPEJPRFk+PGEgaHJlZ= j0iaHR0cDovL2NvdXJzZW1pZ2h0LmNvbS8iIHRhcmdldD0iX2JsYW5rIj4NCjxpbWcgc3JjPSJo= dHRwOi8vY291cnNlbWlnaHQuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJ= vdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/DQpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYW= dlLiI+PC9hPjwvQk9EWT48L0hUTUw+ey9CQVNFNjRfRU5DT0RFRH0NCg0KAAAAAEIwYnlCMmFX --===============2611521884848350940==-- From hibernate-commits at lists.jboss.org Mon Dec 29 09:23:16 2008 Content-Type: multipart/mixed; boundary="===============1423522408872933456==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Chase away your bedroom blues Date: Mon, 29 Dec 2008 09:23:16 -0500 Message-ID: <200812291423.mBTEN9Qp004020@chief.prod.atl2.jboss.com> --===============1423522408872933456== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1423522408872933456== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMueG9iYm9rdW4uY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vdnBzZi54b2Jib2t1bi5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnhvYmJva3VuLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IERN UyBNYWlsIE1hbmFnZW1lbnQsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9m dnEueG9iYm9rdW4uY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEi PlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBj b21tdW5pY2F0aW9ucyBmcm9tIERNUyBNYWlsIE1hbmFnZW1lbnQsCiAgICAgICAgY2xpY2sgPGEg aHJlZj0iaHR0cDovL2NycG8ueG9iYm9rdW4uY24vdW5zdWJzY3JpYmUucGhwP21zZ2lkPWI1MWU0 YTA5Mzk3YmJkZjYxNDNkMiI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAg ICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkg ZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIERNUyBNYWlsIE1hbmFn ZW1lbnQgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL3VjaGxrYy54b2Jib2t1bi5j bi9hY2NvdW50LnBocD9tc2dpZD0zOTc4NzQ5MDcwNmMzOTFiZDJjZjUxIj4KICAgICAgICBoZXJl PC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZv bnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBETVMgTWFpbCBNYW5hZ2VtZW50LCBJbmMuIEFs bCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDgyODIgU2llZ2VuIExuLCBCYXRvbiBSb3Vn ZSwgTEEgNzA4MTA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+ CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============1423522408872933456==-- From hibernate-commits at lists.jboss.org Mon Dec 29 10:04:10 2008 Content-Type: multipart/mixed; boundary="===============0076709328673843986==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Anything less than 8 inches is a joke Date: Mon, 29 Dec 2008 10:04:05 -0500 Message-ID: <200812291504.mBTF45Um005132@chief.prod.atl2.jboss.com> --===============0076709328673843986== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0076709328673843986== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZ3V6Zm9nb3kuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vZXBtYi5ndXpmb2dveS5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmd1emZvZ295LmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IERN UyBNYWlsIE1hbmFnZW1lbnQsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly92 eG8uZ3V6Zm9nb3kuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEi PlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBj b21tdW5pY2F0aW9ucyBmcm9tIERNUyBNYWlsIE1hbmFnZW1lbnQsCiAgICAgICAgY2xpY2sgPGEg aHJlZj0iaHR0cDovL2VkYWt6Lmd1emZvZ295LmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD1iMjUw YWM2MDQ5YTdjYTEzMGYwODhkIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAg ICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFu eSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgRE1TIE1haWwgTWFu YWdlbWVudCBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vaG56YmNzLmd1emZvZ295 LmNuL2FjY291bnQucGhwP21zZ2lkPTlkZjA3OTVjNjJkZTk2MTY3ZTkwYzJjYWE4ZGEiPgogICAg ICAgIGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAg ICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4IERNUyBNYWlsIE1hbmFnZW1lbnQs IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgODI4MiBTaWVnZW4gTG4sIEJh dG9uIFJvdWdlLCBMQSA3MDgxMDwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgog ICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============0076709328673843986==-- From hibernate-commits at lists.jboss.org Mon Dec 29 10:18:46 2008 Content-Type: multipart/mixed; boundary="===============4148748035880114060==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: Quota exceeded Date: Mon, 29 Dec 2008 10:18:40 -0500 Message-ID: <200812291518.mBTFIeM4005549@chief.prod.atl2.jboss.com> --===============4148748035880114060== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable IURPQ1RZUEUgSFRNTCBQVUJMSUMgIi0vL1czQy8vRFREIEhUTUwgNC4wIFRyYW5zaXRpb25hbC8= vRU4iPg0KPEhUTUw+PEhFQUQ+DQo8TUVUQSBodHRwLWVxdWl2PUNvbnRlbnQtVHlwZSBjb250ZW= 50PSJ0ZXh0L2h0bWw7IGNoYXJzZXQ9d2luZG93cy0xMjUwIj4NCjwvSEVBRD4NCjxCT0RZPjxhI= GhyZWY9Imh0dHA6Ly9iZWF1dHljcmVhc2UuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPg0KPGltZyBz= cmM9Imh0dHA6Ly9iZWF1dHljcmVhc2UuY29tLzhkdnM5LmpwZyIgYm9yZGVyPTAgYWx0PSJIYXZ= pbmcgdHJvdWJsZSB2aWV3aW5nIHRoaXMgZW1haWw/DQpDbGljayBoZXJlIHRvIHZpZXcgYXMgYS= B3ZWJwYWdlLiI+PC9hPjwvQk9EWT48L0hUTUw+ey9CQVNFNjRfRU5DT0RFRH0NCg0KAAAAAAAAA= AAAAAAA --===============4148748035880114060==-- From hibernate-commits at lists.jboss.org Mon Dec 29 13:27:45 2008 Content-Type: multipart/mixed; boundary="===============1852016495823159574==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] More meat is never excessive Date: Mon, 29 Dec 2008 13:27:42 -0500 Message-ID: <200812291827.mBTIRgU9009538@chief.prod.atl2.jboss.com> --===============1852016495823159574== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1852016495823159574== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48Yj48cCBhbGln bj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vamVsbGRhbGUuY29tLyI+CjxpbWcgYm9yZGVyPSIw IiBzcmM9Imh0dHA6Ly9pbWFnZXMuaG91cnJpdGUuY29tL25ldy5qcGciPjwvYT48L3A+CjxkaXYg YWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNp bmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZmZmZmIiBzdHlsZT0iZm9udC1mYW1p bHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8 YmxvY2txdW90ZT48cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVt YWlsLiBUbyBjb250YWN0IEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2luZywgcGxlYXNlCiAgICAg ICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2plbGxiZWNrLmNvbS8iPnVzPC9hPjwvcD4KICAgICAg ICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIDxo aWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmc+LiBJZgogICAgICAgIHlvdSBkbyBub3Qg d2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBcm1zdHJvbmcgU2hh bmsgQWR2ZXJ0aXNpbmcsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2plbGxkYWxlLmNv bS8iPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+ PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAg ICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNpbmcg ZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2hvdXJqZWxsLmNvbS8iPgogICAgICAg IGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8 cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgwqkgMjAwOCBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0 aXNpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNzQ1MCBTIFNlbmVj YSwgSGF5c3ZpbGxlLCBLUyA2NzA2MDwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgo8L3RkPjwvdHI+ PC90YWJsZT48L2Rpdj48L0JPRFk+PC9IVE1MPgo= --===============1852016495823159574==-- From hibernate-commits at lists.jboss.org Mon Dec 29 14:10:09 2008 Content-Type: multipart/mixed; boundary="===============7879587863461837092==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: Over quota Date: Mon, 29 Dec 2008 14:10:03 -0500 Message-ID: <200812291910.mBTJA3YJ010482@chief.prod.atl2.jboss.com> --===============7879587863461837092== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7879587863461837092== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2hvbGRtZXRhbC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vaG9s ZG1ldGFsLmNvbS96eGMuZ2lmIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZpZXdpbmcg dGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JPRFk+ PC9IVE1MPgo= --===============7879587863461837092==-- From hibernate-commits at lists.jboss.org Mon Dec 29 16:30:30 2008 Content-Type: multipart/mixed; boundary="===============5558672039496599359==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Spice up the action Date: Mon, 29 Dec 2008 16:30:29 -0500 Message-ID: <200812292130.mBTLURsG013429@chief.prod.atl2.jboss.com> --===============5558672039496599359== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5558672039496599359== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuanVmaGVuaWQuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vd2dzZC5qdWZoZW5pZC5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmp1ZmhlbmlkLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IERN UyBNYWlsIE1hbmFnZW1lbnQsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9y eW8uanVmaGVuaWQuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEi PlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBj b21tdW5pY2F0aW9ucyBmcm9tIERNUyBNYWlsIE1hbmFnZW1lbnQsCiAgICAgICAgY2xpY2sgPGEg aHJlZj0iaHR0cDovL2xjeWFqLmp1ZmhlbmlkLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD1mYjgx MDE3ZDllNjkxN2YxNWNjNmJiIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAg ICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFu eSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgRE1TIE1haWwgTWFu YWdlbWVudCBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vY2xiLmp1ZmhlbmlkLmNu L2FjY291bnQucGhwP21zZ2lkPWZmYWQ4MGQxOGViODk1MTAxODQ2OTQzY2IyNzMzIj4KICAgICAg ICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAg PHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBETVMgTWFpbCBNYW5hZ2VtZW50LCBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDgyODIgU2llZ2VuIExuLCBCYXRv biBSb3VnZSwgTEEgNzA4MTA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAg IDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============5558672039496599359==-- From hibernate-commits at lists.jboss.org Mon Dec 29 16:53:22 2008 Content-Type: multipart/mixed; boundary="===============4070267449174556182==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] You wont' be lonely with this Date: Mon, 29 Dec 2008 16:53:22 -0500 Message-ID: <200812292153.mBTLrMnJ013727@chief.prod.atl2.jboss.com> --===============4070267449174556182== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4070267449174556182== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMucmF2cmVyYW0uY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vb25tdi5yYXZyZXJhbS5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnJhdnJlcmFtLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IERN UyBNYWlsIE1hbmFnZW1lbnQsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9s eWZrZW4ucmF2cmVyYW0uY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9 IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0 cy5qYm9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhl ciBjb21tdW5pY2F0aW9ucyBmcm9tIERNUyBNYWlsIE1hbmFnZW1lbnQsCiAgICAgICAgY2xpY2sg PGEgaHJlZj0iaHR0cDovL2lsaW8ucmF2cmVyYW0uY24vdW5zdWJzY3JpYmUucGhwP21zZ2lkPTJk MGUxZjZlMzc4NTI1NTU4YjkwMGNkNGFhIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmli ZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmll bmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgRE1TIE1h aWwgTWFuYWdlbWVudCBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vY3BuemJsLnJh dnJlcmFtLmNuL2FjY291bnQucGhwP21zZ2lkPWE0OWE1MGViNTk2NjY0ZDgxNGRlMjkiPgogICAg ICAgIGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAg ICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4IERNUyBNYWlsIE1hbmFnZW1lbnQs IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgODI4MiBTaWVnZW4gTG4sIEJh dG9uIFJvdWdlLCBMQSA3MDgxMDwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgog ICAgPC90cj4KICA8L3RhYmxlPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============4070267449174556182==-- From hibernate-commits at lists.jboss.org Mon Dec 29 17:10:32 2008 Content-Type: multipart/mixed; boundary="===============3013360968761784965==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] She's so desperate for me now Date: Mon, 29 Dec 2008 17:10:30 -0500 Message-ID: <200812292210.mBTMA4ol014091@chief.prod.atl2.jboss.com> --===============3013360968761784965== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3013360968761784965== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMubGVodGlyaXguY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vempvZmV1LmxlaHRpcml4LmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMubGVodGlyaXguY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4K ICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRp bmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250 LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxi cj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3Qg RE1TIE1haWwgTWFuYWdlbWVudCwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDov L2RvaXZwLmxlaHRpcml4LmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXpl PSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlz dHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRo ZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBETVMgTWFpbCBNYW5hZ2VtZW50LAogICAgICAgIGNsaWNr IDxhIGhyZWY9Imh0dHA6Ly9xeHdhdC5sZWh0aXJpeC5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9 MjA3YmMyZmEyMTdjNmU3ZDU5NTlkOTQwOCI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3Jp YmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJp ZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIERNUyBN YWlsIE1hbmFnZW1lbnQgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2tycHN2a3ku bGVodGlyaXguY24vYWNjb3VudC5waHA/bXNnaWQ9OGFlNzVhZTJkMWE0OWNiYmQ4YzFmN2U5NyI+ CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgog ICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggRE1TIE1haWwgTWFuYWdl bWVudCwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA4MjgyIFNpZWdlbiBM biwgQmF0b24gUm91Z2UsIExBIDcwODEwPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwv dGQ+CiAgICA8L3RyPgogIDwvdGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============3013360968761784965==-- From hibernate-commits at lists.jboss.org Mon Dec 29 19:45:25 2008 Content-Type: multipart/mixed; boundary="===============7445654634012597109==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] She's so desperate for me now Date: Mon, 29 Dec 2008 19:45:16 -0500 Message-ID: <200812300045.mBU0jGoS017155@chief.prod.atl2.jboss.com> --===============7445654634012597109== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7445654634012597109== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuamV3cWVydWguY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vbWJyLmpld3FlcnVoLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9pbWFn ZXMuamV3cWVydWguY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVyIj4KICA8 dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBhZGRpbmc9 IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBmb250LXNp emU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxwPjxicj4K ICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRhY3QgRE1T IE1haWwgTWFuYWdlbWVudCwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2lv dmNiLmpld3FlcnVoLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIx Ij5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMu amJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIg Y29tbXVuaWNhdGlvbnMgZnJvbSBETVMgTWFpbCBNYW5hZ2VtZW50LAogICAgICAgIGNsaWNrIDxh IGhyZWY9Imh0dHA6Ly9wempsLmpld3FlcnVoLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD1jZWNm ODgyMGFmZWI3MmYxZTYyMmE0NTE0MDRjYiI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3Jp YmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJp ZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIERNUyBN YWlsIE1hbmFnZW1lbnQgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL3VtbG53ZGYu amV3cWVydWguY24vYWNjb3VudC5waHA/bXNnaWQ9YjViYmQ3ZjE0ZWQ3MmY5MmJkNjkwMzUxZDE1 Ij4KICAgICAgICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+ CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBETVMgTWFpbCBNYW5h Z2VtZW50LCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDgyODIgU2llZ2Vu IExuLCBCYXRvbiBSb3VnZSwgTEEgNzA4MTA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAg PC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============7445654634012597109==-- From hibernate-commits at lists.jboss.org Mon Dec 29 22:17:51 2008 Content-Type: multipart/mixed; boundary="===============2456220808690786695==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your message could not be delivered Date: Mon, 29 Dec 2008 22:17:48 -0500 Message-ID: <200812300317.mBU3HmGm019440@chief.prod.atl2.jboss.com> --===============2456220808690786695== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2456220808690786695== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9ob2xkbWV0YWwuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2hvbGRtZXRhbC5jb20venhjLmdpZiIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============2456220808690786695==-- From hibernate-commits at lists.jboss.org Mon Dec 29 23:27:47 2008 Content-Type: multipart/mixed; boundary="===============7749007291591752904==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Undelivered Mail Returned to Sender Date: Mon, 29 Dec 2008 23:27:45 -0500 Message-ID: <200812300427.mBU4Rj2b020330@chief.prod.atl2.jboss.com> --===============7749007291591752904== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7749007291591752904== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3NpdGhhZC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vc2l0aGFk LmNvbS96eGMuZ2lmIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBl bWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1M Pgo= --===============7749007291591752904==-- From hibernate-commits at lists.jboss.org Tue Dec 30 00:51:50 2008 Content-Type: multipart/mixed; boundary="===============6237715067382489737==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Make sure it works Date: Tue, 30 Dec 2008 00:51:47 -0500 Message-ID: <200812300551.mBU5pli4021793@chief.prod.atl2.jboss.com> --===============6237715067382489737== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6237715067382489737== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxiPjxwIGFs aWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9rYWlkY2hpYy5jb20vIj4KPGltZyBib3JkZXI9 IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5rYWlkaGFyZC5jb20vbmV3LmpwZyI+PC9hPjwvcD4KPGRp diBhbGlnbj0iY2VudGVyIj4KICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3Bh Y2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJnY29sb3I9IiNmZmZmZmYiIHN0eWxlPSJmb250LWZh bWlseTogVGFob21hOyBmb250LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAg IDxibG9ja3F1b3RlPjxwPjxicj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMg ZW1haWwuIFRvIGNvbnRhY3QgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nLCBwbGVhc2UKICAg ICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vZ3VsZmhhcmQuY29tLyI+dXM8L2E+PC9wPgogICAg ICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8g PGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9yZz4uIElmCiAgICAgICAgeW91IGRvIG5v dCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBjb21tdW5pY2F0aW9ucyBmcm9tIEFybXN0cm9uZyBT aGFuayBBZHZlcnRpc2luZywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8vZ3VsZmxvbmcu Y29tLyI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250Pjwv cD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQog ICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2lu ZyBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vZ3VsZmdvb2QuY29tLyI+CiAgICAg ICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAg IDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCDCqSAyMDA4IEFybXN0cm9uZyBTaGFuayBBZHZl cnRpc2luZywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA3NDUwIFMgU2Vu ZWNhLCBIYXlzdmlsbGUsIEtTIDY3MDYwPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CjwvdGQ+PC90 cj48L3RhYmxlPjwvZGl2PjwvQk9EWT48L0hUTUw+Cg== --===============6237715067382489737==-- From hibernate-commits at lists.jboss.org Tue Dec 30 03:21:49 2008 Content-Type: multipart/mixed; boundary="===============0462591308937855835==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Because pleasuring her needs this Date: Tue, 30 Dec 2008 03:21:49 -0500 Message-ID: <200812300821.mBU8Lj7C024450@chief.prod.atl2.jboss.com> --===============0462591308937855835== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0462591308937855835== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuaHVmZHV5aWsuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vaHF3Y3QuaHVmZHV5aWsuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2lt YWdlcy5odWZkdXlpay5jbi9uZXcuanBnIj48L2E+PC9wPgo8ZGl2IGFsaWduPSJjZW50ZXIiPgog IDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGlu Zz0iMCIgYmdjb2xvcj0iI0I3RDRGRiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQt c2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgPGJsb2NrcXVvdGU+PHA+PGJy PgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFpbC4gVG8gY29udGFjdCBU RyBNYWRpc29uIEluYywgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2Z3Zy5o dWZkdXlpay5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhp cyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3Nz Lm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11 bmljYXRpb25zIGZyb20gVEcgTWFkaXNvbiBJbmMsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0 cDovL29vd21mLmh1ZmR1eWlrLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD03NzhkMmRjOTQxNzUz MWFlMDhmNmI2M2M1Zjc1Ij4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAg ICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBk aWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgVEcgTWFkaXNvbiBJbmMg ZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2hlZC5odWZkdXlpay5jbi9hY2NvdW50 LnBocD9tc2dpZD1iZTZmYTE2NzQ4ODAzOTdlYjJhZDc2Ij4KICAgICAgICBoZXJlPC9hPiBmb3Ig cGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0i MSI+Q29weXJpZ2h0IKkgMjAwOCBURyBNYWRpc29uIEluYywgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxicj4KICAgICAgICAzMzQwIFBlYWNodHJlZSBSZCBORSwgQXRsYW50YSwgR0EgMzAzMjY8 L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90YWJsZT4K PC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============0462591308937855835==-- From hibernate-commits at lists.jboss.org Tue Dec 30 03:57:08 2008 Content-Type: multipart/mixed; boundary="===============0701399759411627371==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] This mail is refused message Date: Tue, 30 Dec 2008 03:57:04 -0500 Message-ID: <200812300857.mBU8v4Wc025166@chief.prod.atl2.jboss.com> --===============0701399759411627371== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============0701399759411627371== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9ob2xkbWV0YWwuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2hvbGRtZXRhbC5jb20venhjLmdpZiIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============0701399759411627371==-- From hibernate-commits at lists.jboss.org Tue Dec 30 04:10:02 2008 Content-Type: multipart/mixed; boundary="===============3818332178439013027==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Watch this hottie home video Date: Tue, 30 Dec 2008 04:09:57 -0500 Message-ID: <200812300909.mBU99v0c025921@chief.prod.atl2.jboss.com> --===============3818332178439013027== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3818332178439013027== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuY2V0dnVoZWcuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vaXR2dXIuY2V0dnVoZWcuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2lt YWdlcy5jZXR2dWhlZy5jbi9uZXcuanBnIj48L2E+PC9wPgo8ZGl2IGFsaWduPSJjZW50ZXIiPgog IDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGlu Zz0iMCIgYmdjb2xvcj0iI0I3RDRGRiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQt c2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgPGJsb2NrcXVvdGU+PHA+PGJy PgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFpbC4gVG8gY29udGFjdCBU RyBNYWRpc29uIEluYywgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL3NpcXJi eGQuY2V0dnVoZWcuY24vIj51czwvYT48L3A+CiAgICAgICAgPGhyPjxwPjxmb250IHNpemU9IjEi PlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byBoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5q Ym9zcy5vcmcuIElmCiAgICAgICAgeW91IGRvIG5vdCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBj b21tdW5pY2F0aW9ucyBmcm9tIFRHIE1hZGlzb24gSW5jLAogICAgICAgIGNsaWNrIDxhIGhyZWY9 Imh0dHA6Ly9ycHZ2cXRiLmNldHZ1aGVnLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD1jMjU4ZGFm OWQwYTM2ZGNmM2I1ZTk0Ij4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAg ICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBk aWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgVEcgTWFkaXNvbiBJbmMg ZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL25jcy5jZXR2dWhlZy5jbi9hY2NvdW50 LnBocD9tc2dpZD1lNDc4YzZjNmM4ZmRjNGU1NzQ3MSI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBl cnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEi PkNvcHlyaWdodCCpIDIwMDggVEcgTWFkaXNvbiBJbmMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48YnI+CiAgICAgICAgMzM0MCBQZWFjaHRyZWUgUmQgTkUsIEF0bGFudGEsIEdBIDMwMzI2PC9m b250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+Cjwv ZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============3818332178439013027==-- From hibernate-commits at lists.jboss.org Tue Dec 30 04:36:57 2008 Content-Type: multipart/mixed; boundary="===============4583792733213877304==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Huge love luger is attainable Date: Tue, 30 Dec 2008 04:36:53 -0500 Message-ID: <200812300936.mBU9arVT026389@chief.prod.atl2.jboss.com> --===============4583792733213877304== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4583792733213877304== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48Yj48cCBhbGln bj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8vamVsbGRvbWUuY29tLyI+CjxpbWcgYm9yZGVyPSIw IiBzcmM9Imh0dHA6Ly9pbWFnZXMuamVsbGRhbGUuY29tL25ldy5qcGciPjwvYT48L3A+CjxkaXYg YWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNp bmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZmZmZmIiBzdHlsZT0iZm9udC1mYW1p bHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8 YmxvY2txdW90ZT48cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVt YWlsLiBUbyBjb250YWN0IEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2luZywgcGxlYXNlCiAgICAg ICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2plbGxkcmV3LmNvbS8iPnVzPC9hPjwvcD4KICAgICAg ICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIDxo aWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmc+LiBJZgogICAgICAgIHlvdSBkbyBub3Qg d2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBcm1zdHJvbmcgU2hh bmsgQWR2ZXJ0aXNpbmcsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2plbGxkYWxlLmNv bS8iPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+ PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAg ICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNpbmcg ZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2hvdXJydWVkLmNvbS8iPgogICAgICAg IGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8 cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgwqkgMjAwOCBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0 aXNpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNzQ1MCBTIFNlbmVj YSwgSGF5c3ZpbGxlLCBLUyA2NzA2MDwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgo8L3RkPjwvdHI+ PC90YWJsZT48L2Rpdj48L0JPRFk+PC9IVE1MPgo= --===============4583792733213877304==-- From hibernate-commits at lists.jboss.org Tue Dec 30 10:21:51 2008 Content-Type: multipart/mixed; boundary="===============2087457179977091799==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] You owe it to yourself! Date: Tue, 30 Dec 2008 10:21:48 -0500 Message-ID: <200812301521.mBUFLmnu003180@chief.prod.atl2.jboss.com> --===============2087457179977091799== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2087457179977091799== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48Yj48cCBhbGln bj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8va2FpZGd1bGYuY29tLyI+CjxpbWcgYm9yZGVyPSIw IiBzcmM9Imh0dHA6Ly9pbWFnZXMua2FpZGtpbmcuY29tL25ldy5qcGciPjwvYT48L3A+CjxkaXYg YWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNp bmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZmZmZmIiBzdHlsZT0iZm9udC1mYW1p bHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8 YmxvY2txdW90ZT48cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVt YWlsLiBUbyBjb250YWN0IEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2luZywgcGxlYXNlCiAgICAg ICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2tpbmdjaGljLmNvbS8iPnVzPC9hPjwvcD4KICAgICAg ICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIDxo aWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmc+LiBJZgogICAgICAgIHlvdSBkbyBub3Qg d2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBcm1zdHJvbmcgU2hh bmsgQWR2ZXJ0aXNpbmcsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2tpbmdjaGljLmNv bS8iPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48L3A+ PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkKICAg ICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNpbmcg ZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2thaWRsb25nLmNvbS8iPgogICAgICAg IGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8 cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgwqkgMjAwOCBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0 aXNpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNzQ1MCBTIFNlbmVj YSwgSGF5c3ZpbGxlLCBLUyA2NzA2MDwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgo8L3RkPjwvdHI+ PC90YWJsZT48L2Rpdj48L0JPRFk+PC9IVE1MPgo= --===============2087457179977091799==-- From hibernate-commits at lists.jboss.org Tue Dec 30 11:33:59 2008 Content-Type: multipart/mixed; boundary="===============7929863515524779006==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Non delivery report: 5.9.4 (Spam SLS/RBL) Date: Tue, 30 Dec 2008 11:33:56 -0500 Message-ID: <200812301633.mBUGXuLu004881@chief.prod.atl2.jboss.com> --===============7929863515524779006== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7929863515524779006== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9ob2xkbWV0YWwuY29tLyIgdGFyZ2V0PSJfYmxhbmsiPgo8aW1nIHNyYz0iaHR0cDov L2hvbGRtZXRhbC5jb20venhjLmdpZiIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============7929863515524779006==-- From hibernate-commits at lists.jboss.org Tue Dec 30 12:09:15 2008 Content-Type: multipart/mixed; boundary="===============4344247092252630436==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Reply to this please! Date: Tue, 30 Dec 2008 12:09:14 -0500 Message-ID: <200812301709.mBUH9DCU005686@chief.prod.atl2.jboss.com> --===============4344247092252630436== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4344247092252630436== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMueGltdG9oaWcuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8va3d6ay54aW10b2hpZy5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnhpbXRvaGlnLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IDNk QiBDcmVhdGl2ZSwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2J2Z2RuLnhp bXRvaGlnLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5UaGlz IGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJvc3Mu b3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVu aWNhdGlvbnMgZnJvbSAzZEIgQ3JlYXRpdmUsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDov L2Rwc2xoaW4ueGltdG9oaWcuY24vdW5zdWJzY3JpYmUucGhwP21zZ2lkPTg5NGRmNTVlOGE1Y2Jm MDYzZjZiNzgzNWI0YmI5Ij4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAg ICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBk aWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgM2RCIENyZWF0aXZlIGVt YWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly90eW1rbGEueGltdG9oaWcuY24vYWNjb3Vu dC5waHA/bXNnaWQ9ZTE3MDZjOGEwMmY3NWIwMDg2ODZiIj4KICAgICAgICBoZXJlPC9hPiBmb3Ig cGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZvbnQgc2l6ZT0i MSI+Q29weXJpZ2h0IKkgMjAwOCAzZEIgQ3JlYXRpdmUsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48YnI+CiAgICAgICAgMTU1IDEwOHRoIEF2ZSBORSwgU3VpdGUgMjEwLCBCZWxsZXZ1ZSwgV0Eg OTgwMDQ8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KICAgICAgPC90ZD4KICAgIDwvdHI+CiAgPC90 YWJsZT4KPC9kaXY+CjwvYm9keT4KPC9odG1sPgo= --===============4344247092252630436==-- From hibernate-commits at lists.jboss.org Tue Dec 30 12:32:53 2008 Content-Type: multipart/mixed; boundary="===============1360571378301428452==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Re: why didn't you show up yesterday? Date: Tue, 30 Dec 2008 12:32:53 -0500 Message-ID: <200812301732.mBUHWrCl006288@chief.prod.atl2.jboss.com> --===============1360571378301428452== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1360571378301428452== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuZ2FzbWFwZXkuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vYXJkaC5nYXNtYXBleS5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLmdhc21hcGV5LmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IDNk QiBDcmVhdGl2ZSwgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL3p3ZS5nYXNt YXBleS5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBl bWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9y Zy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11bmlj YXRpb25zIGZyb20gM2RCIENyZWF0aXZlLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9j cWd2aS5nYXNtYXBleS5jbi91bnN1YnNjcmliZS5waHA/bXNnaWQ9OGIwMjI4OGJiMDEzMTg4NTUx ZTc5MWM3OWMyMjQiPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwv Zm9udD48L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZp Y3VsdHkKICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSAzZEIgQ3JlYXRpdmUgZW1haWwg bGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2VkZ2cuZ2FzbWFwZXkuY24vYWNjb3VudC5waHA/ bXNnaWQ9ZDk0ZmFhZjQxZTYzOTkyOTVjNjdlN2NiN2ViOCI+CiAgICAgICAgaGVyZTwvYT4gZm9y IHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9 IjEiPkNvcHlyaWdodCCpIDIwMDggM2RCIENyZWF0aXZlLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPGJyPgogICAgICAgIDE1NSAxMDh0aCBBdmUgTkUsIFN1aXRlIDIxMCwgQmVsbGV2dWUsIFdB IDk4MDA0PC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwv dGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============1360571378301428452==-- From hibernate-commits at lists.jboss.org Tue Dec 30 12:55:01 2008 Content-Type: multipart/mixed; boundary="===============7808385932125543910==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Succeed in close relationships Date: Tue, 30 Dec 2008 12:54:59 -0500 Message-ID: <200812301755.mBUHsxNs006800@chief.prod.atl2.jboss.com> --===============7808385932125543910== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7808385932125543910== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxiPjxwIGFs aWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9raW5na2FpZC5jb20vIj4KPGltZyBib3JkZXI9 IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5rYWlka2FpZHMuY29tL25ldy5qcGciPjwvYT48L3A+Cjxk aXYgYWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNw YWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZmZmZmIiBzdHlsZT0iZm9udC1m YW1pbHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAg ICA8YmxvY2txdW90ZT48cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlz IGVtYWlsLiBUbyBjb250YWN0IEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2luZywgcGxlYXNlCiAg ICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2tpbmdsdXNoLmNvbS8iPnVzPC9hPjwvcD4KICAg ICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRv IDxoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmc+LiBJZgogICAgICAgIHlvdSBkbyBu b3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBcm1zdHJvbmcg U2hhbmsgQWR2ZXJ0aXNpbmcsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2thaWRrYWlk cy5jb20vIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+ PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5 CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlz aW5nIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9rYWlka2luZy5jb20vIj4KICAg ICAgICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAg ICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IMKpIDIwMDggQXJtc3Ryb25nIFNoYW5rIEFk dmVydGlzaW5nLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDc0NTAgUyBT ZW5lY2EsIEhheXN2aWxsZSwgS1MgNjcwNjA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KPC90ZD48 L3RyPjwvdGFibGU+PC9kaXY+PC9CT0RZPjwvSFRNTD4K --===============7808385932125543910==-- From hibernate-commits at lists.jboss.org Tue Dec 30 14:00:01 2008 Content-Type: multipart/mixed; boundary="===============8093500169631196374==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Non delivery report: 5.9.4 (Spam SLS/RBL) Date: Tue, 30 Dec 2008 13:59:59 -0500 Message-ID: <200812301900.mBUIxx0i007706@chief.prod.atl2.jboss.com> --===============8093500169631196374== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8093500169631196374== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL2VuZ2luZWNoYWlyLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0dHA6Ly9l bmdpbmVjaGFpci5jb20venhjLmdpZiIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3 aW5nIHRoaXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9C T0RZPjwvSFRNTD4K --===============8093500169631196374==-- From hibernate-commits at lists.jboss.org Tue Dec 30 15:41:15 2008 Content-Type: multipart/mixed; boundary="===============4662787479884944818==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] **Message you sent blocked by our bulk email filter** Date: Tue, 30 Dec 2008 15:41:13 -0500 Message-ID: <200812302041.mBUKfDAm009232@chief.prod.atl2.jboss.com> --===============4662787479884944818== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4662787479884944818== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9lbmdpbmVjaGFpci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vZW5naW5lY2hhaXIuY29tL3p4Yy5naWYiIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============4662787479884944818==-- From hibernate-commits at lists.jboss.org Tue Dec 30 15:51:17 2008 Content-Type: multipart/mixed; boundary="===============1773897231575444663==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Get armed for a new love battle Date: Tue, 30 Dec 2008 15:51:15 -0500 Message-ID: <200812302051.mBUKpFgp009448@chief.prod.atl2.jboss.com> --===============1773897231575444663== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1773897231575444663== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxiPjxwIGFs aWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9raW5nbHVzaC5jb20vIj4KPGltZyBib3JkZXI9 IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5rYWlka2FpZHMuY29tL25ldy5qcGciPjwvYT48L3A+Cjxk aXYgYWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNw YWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZmZmZmIiBzdHlsZT0iZm9udC1m YW1pbHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAg ICA8YmxvY2txdW90ZT48cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlz IGVtYWlsLiBUbyBjb250YWN0IEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2luZywgcGxlYXNlCiAg ICAgICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2thaWRsdXNoLmNvbS8iPnVzPC9hPjwvcD4KICAg ICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRv IDxoaWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmc+LiBJZgogICAgICAgIHlvdSBkbyBu b3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBcm1zdHJvbmcg U2hhbmsgQWR2ZXJ0aXNpbmcsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2thaWRsdXNo LmNvbS8iPgogICAgICAgIGhlcmU8L2E+IHRvIHVuc3Vic2NyaWJlLgogICAgICAgIDwvZm9udD48 L3A+PHA+PGZvbnQgc2l6ZT0iMSI+SWYgeW91J3ZlIGV4cGVyaWVuY2UgYW55IGRpZmZpY3VsdHkK ICAgICAgICBpbiBiZWluZyByZW1vdmVkIGZyb20gYSBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNp bmcgZW1haWwgbGlzdCwgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2thaWRndWxmLmNvbS8iPgogICAg ICAgIGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAg ICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgwqkgMjAwOCBBcm1zdHJvbmcgU2hhbmsgQWR2 ZXJ0aXNpbmcsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgNzQ1MCBTIFNl bmVjYSwgSGF5c3ZpbGxlLCBLUyA2NzA2MDwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgo8L3RkPjwv dHI+PC90YWJsZT48L2Rpdj48L0JPRFk+PC9IVE1MPgo= --===============1773897231575444663==-- From hibernate-commits at lists.jboss.org Tue Dec 30 16:30:32 2008 Content-Type: multipart/mixed; boundary="===============5482777159411900274==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] failure notice Date: Tue, 30 Dec 2008 16:30:30 -0500 Message-ID: <200812302130.mBULUUmD010230@chief.prod.atl2.jboss.com> --===============5482777159411900274== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============5482777159411900274== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxhIGhyZWY9 Imh0dHA6Ly9lbmdpbmVjaGFpci5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRw Oi8vZW5naW5lY2hhaXIuY29tL3p4Yy5naWYiIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRyb3VibGUg dmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdlLiI+PC9h PjwvQk9EWT48L0hUTUw+Cg== --===============5482777159411900274==-- From hibernate-commits at lists.jboss.org Tue Dec 30 19:25:55 2008 Content-Type: multipart/mixed; boundary="===============4774416992818281963==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Your message could not be delivered Date: Tue, 30 Dec 2008 19:25:52 -0500 Message-ID: <200812310025.mBV0PqlE012693@chief.prod.atl2.jboss.com> --===============4774416992818281963== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4774416992818281963== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3NpdGhhZC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vc2l0aGFk LmNvbS96eGMuZ2lmIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZpZXdpbmcgdGhpcyBl bWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48L0JPRFk+PC9IVE1M Pgo= --===============4774416992818281963==-- From hibernate-commits at lists.jboss.org Tue Dec 30 19:55:55 2008 Content-Type: multipart/mixed; boundary="===============6346925634231599772==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Masculine power at its best Date: Tue, 30 Dec 2008 19:55:53 -0500 Message-ID: <200812310055.mBV0trGD013203@chief.prod.atl2.jboss.com> --===============6346925634231599772== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============6346925634231599772== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxiPjxwIGFs aWduPSJjZW50ZXIiPjxhIGhyZWY9Imh0dHA6Ly9raW5nY2hpYy5jb20vIj4KPGltZyBib3JkZXI9 IjAiIHNyYz0iaHR0cDovL2ltYWdlcy5raW5nbHVzaC5jb20vbmV3LmpwZyI+PC9hPjwvcD4KPGRp diBhbGlnbj0iY2VudGVyIj4KICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3Bh Y2luZz0iMCIgY2VsbHBhZGRpbmc9IjAiIGJnY29sb3I9IiNmZmZmZmYiIHN0eWxlPSJmb250LWZh bWlseTogVGFob21hOyBmb250LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAg IDxibG9ja3F1b3RlPjxwPjxicj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMg ZW1haWwuIFRvIGNvbnRhY3QgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nLCBwbGVhc2UKICAg ICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8va2FpZGxvb2suY29tLyI+dXM8L2E+PC9wPgogICAg ICAgIDxocj48cD48Zm9udCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8g PGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpib3NzLm9yZz4uIElmCiAgICAgICAgeW91IGRvIG5v dCB3aXNoIHRvIHJlY2VpdmUgZnVydGhlciBjb21tdW5pY2F0aW9ucyBmcm9tIEFybXN0cm9uZyBT aGFuayBBZHZlcnRpc2luZywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8va2FpZGd1bGYu Y29tLyI+CiAgICAgICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250Pjwv cD48cD48Zm9udCBzaXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQog ICAgICAgIGluIGJlaW5nIHJlbW92ZWQgZnJvbSBhIEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2lu ZyBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8va2FpZGx1c2guY29tLyI+CiAgICAg ICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAg IDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCDCqSAyMDA4IEFybXN0cm9uZyBTaGFuayBBZHZl cnRpc2luZywgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA3NDUwIFMgU2Vu ZWNhLCBIYXlzdmlsbGUsIEtTIDY3MDYwPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CjwvdGQ+PC90 cj48L3RhYmxlPjwvZGl2PjwvQk9EWT48L0hUTUw+Cg== --===============6346925634231599772==-- From hibernate-commits at lists.jboss.org Tue Dec 30 20:04:15 2008 Content-Type: multipart/mixed; boundary="===============2181421169910900612==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Be the envy of all guys Date: Tue, 30 Dec 2008 20:04:12 -0500 Message-ID: <200812310104.mBV13v5W013379@chief.prod.atl2.jboss.com> --===============2181421169910900612== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2181421169910900612== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMueWVicG9xdXIuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8veXp1bC55ZWJwb3F1ci5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnllYnBvcXVyLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+CiAg PHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5n PSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9udC1z aXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48YnI+ CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0IERv ZSBBbmRlcnNvbiBJbmMsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9naml5 bi55ZWJwb3F1ci5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+ VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1jb21taXRzQGxpc3RzLmpi b3NzLm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNv bW11bmljYXRpb25zIGZyb20gRG9lIEFuZGVyc29uIEluYywKICAgICAgICBjbGljayA8YSBocmVm PSJodHRwOi8veHJwLnllYnBvcXVyLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD0zNTU2OGVjNDc0 YjhmNGJkNjQ1NjIyIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8 L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZm aWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgRG9lIEFuZGVyc29uIEluYyBl bWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8veXpsbHNqei55ZWJwb3F1ci5jbi9hY2Nv dW50LnBocD9tc2dpZD02NzEwNzQ0Mjk4MTZkNjM2NTBjODVlNjA0MiI+CiAgICAgICAgaGVyZTwv YT4gZm9yIHBlcnNvbmFsaXplZCBoZWxwLjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250 IHNpemU9IjEiPkNvcHlyaWdodCCpIDIwMDggRG9lIEFuZGVyc29uIEluYywgSW5jLiBBbGwgcmln aHRzIHJlc2VydmVkLjxicj4KICAgICAgICA2MjAgVyBNYWluIFN0LCBMb3Vpc3ZpbGxlLCBLWSA0 MDIwMjwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3Rh YmxlPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============2181421169910900612==-- From hibernate-commits at lists.jboss.org Tue Dec 30 20:58:08 2008 Content-Type: multipart/mixed; boundary="===============3326962660821052982==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Love her deep deep Date: Tue, 30 Dec 2008 20:58:07 -0500 Message-ID: <200812310158.mBV1w7P6014304@chief.prod.atl2.jboss.com> --===============3326962660821052982== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3326962660821052982== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuYm90em9udWMuY24vc25vdy5naWYiPgo8cCBhbGlnbj0iY2VudGVyIj48YSBocmVmPSJo dHRwOi8vZWlyaWguYm90em9udWMuY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDovL2lt YWdlcy5ib3R6b251Yy5jbi9uZXcuanBnIj48L2E+PC9wPgo8ZGl2IGFsaWduPSJjZW50ZXIiPgog IDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGlu Zz0iMCIgYmdjb2xvcj0iI0I3RDRGRiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWE7IGZvbnQt c2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgPGJsb2NrcXVvdGU+PHA+PGJy PgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFpbC4gVG8gY29udGFjdCBE b2UgQW5kZXJzb24gSW5jLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVmPSJodHRwOi8vc3lh c3VzLmJvdHpvbnVjLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48Zm9udCBzaXplPSIx Ij5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNvbW1pdHNAbGlzdHMu amJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNlaXZlIGZ1cnRoZXIg Y29tbXVuaWNhdGlvbnMgZnJvbSBEb2UgQW5kZXJzb24gSW5jLAogICAgICAgIGNsaWNrIDxhIGhy ZWY9Imh0dHA6Ly90Y3FxLmJvdHpvbnVjLmNuL3Vuc3Vic2NyaWJlLnBocD9tc2dpZD1lOGJiZWMz MjViYmM5NzI3ZDY4YmU4YmUyNWYzIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4K ICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNl IGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgRG9lIEFuZGVy c29uIEluYyBlbWFpbCBsaXN0LCBjbGljayA8YSBocmVmPSJodHRwOi8vcW1mLmJvdHpvbnVjLmNu L2FjY291bnQucGhwP21zZ2lkPWZhZjY3ZmNmYjMzOWExODI3Mzg0OTJlIj4KICAgICAgICBoZXJl PC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+PGZv bnQgc2l6ZT0iMSI+Q29weXJpZ2h0IKkgMjAwOCBEb2UgQW5kZXJzb24gSW5jLCBJbmMuIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDYyMCBXIE1haW4gU3QsIExvdWlzdmlsbGUsIEtZ IDQwMjAyPC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwv dGFibGU+CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============3326962660821052982==-- From hibernate-commits at lists.jboss.org Wed Dec 31 01:04:39 2008 Content-Type: multipart/mixed; boundary="===============1071699044616888060==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Be ready for steamy spring nights Date: Wed, 31 Dec 2008 01:04:36 -0500 Message-ID: <200812310604.mBV64aCt018063@chief.prod.atl2.jboss.com> --===============1071699044616888060== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1071699044616888060== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGI+PHAgYWxpZ249 ImNlbnRlciI+PGEgaHJlZj0iaHR0cDovL2tpbmdsdXNoLmNvbS8iPgo8aW1nIGJvcmRlcj0iMCIg c3JjPSJodHRwOi8vaW1hZ2VzLmthaWRndWxmLmNvbS9uZXcuanBnIj48L2E+PC9wPgo8ZGl2IGFs aWduPSJjZW50ZXIiPgogIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFjaW5n PSIwIiBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI2ZmZmZmZiIgc3R5bGU9ImZvbnQtZmFtaWx5 OiBUYWhvbWE7IGZvbnQtc2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgPGJs b2NrcXVvdGU+PHA+PGJyPgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFp bC4gVG8gY29udGFjdCBBcm1zdHJvbmcgU2hhbmsgQWR2ZXJ0aXNpbmcsIHBsZWFzZQogICAgICAg IHZpc2l0IDxhIGhyZWY9Imh0dHA6Ly9sb25nY2hpYy5jb20vIj51czwvYT48L3A+CiAgICAgICAg PGhyPjxwPjxmb250IHNpemU9IjEiPlRoaXMgZW1haWwgbWVzc2FnZSB3YXMgc2VudCB0byA8aGli ZXJuYXRlLWNvbW1pdHNAbGlzdHMuamJvc3Mub3JnPi4gSWYKICAgICAgICB5b3UgZG8gbm90IHdp c2ggdG8gcmVjZWl2ZSBmdXJ0aGVyIGNvbW11bmljYXRpb25zIGZyb20gQXJtc3Ryb25nIFNoYW5r IEFkdmVydGlzaW5nLAogICAgICAgIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9sb25nY2hpYy5jb20v Ij4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxw Pjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAg ICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5nIGVt YWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9raW5nY2hpYy5jb20vIj4KICAgICAgICBo ZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAgPHA+ PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IMKpIDIwMDggQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlz aW5nLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDc0NTAgUyBTZW5lY2Es IEhheXN2aWxsZSwgS1MgNjcwNjA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KPC90ZD48L3RyPjwv dGFibGU+PC9kaXY+PC9CT0RZPjwvSFRNTD4K --===============1071699044616888060==-- From hibernate-commits at lists.jboss.org Wed Dec 31 01:24:32 2008 Content-Type: multipart/mixed; boundary="===============8278287656502337179==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] failure notice Date: Wed, 31 Dec 2008 01:24:30 -0500 Message-ID: <200812310624.mBV6OUJp018329@chief.prod.atl2.jboss.com> --===============8278287656502337179== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============8278287656502337179== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vZGVhcmVhdC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8vZGVh cmVhdC5jb20venhjLmdpZiIgYm9yZGVyPTAgYWx0PSJIYXZpbmcgdHJvdWJsZSB2aWV3aW5nIHRo aXMgZW1haWw/CkNsaWNrIGhlcmUgdG8gdmlldyBhcyBhIHdlYnBhZ2UuIj48L2E+PC9CT0RZPjwv SFRNTD4K --===============8278287656502337179==-- From hibernate-commits at lists.jboss.org Wed Dec 31 04:44:55 2008 Content-Type: multipart/mixed; boundary="===============1669563151501649868==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Our Wishes For / To You... Date: Wed, 31 Dec 2008 04:44:53 -0500 Message-ID: <200812310944.mBV9irHi025078@chief.prod.atl2.jboss.com> --===============1669563151501649868== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1669563151501649868== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxicj48YSBo cmVmPSJodHRwOi8vcGVvbnNlZXIuY29tLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMucGFpZG1pbmUuY29tL25ldy5qcGciPjwvYT48L3A+CiAgPHRhYmxlIGJvcmRlcj0iMCIg d2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZm ZmZmIiBzdHlsZT0iZm9udC1mYW1pbHk6IHRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0 cj4KICAgICAgPHRkPgogICAgICA8YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0 aGlzIGVtYWlsLiA8YnI+VG8gY29udGFjdCBNQVggQ29tcGFueSwgcGxlYXNlCiAgICAgICAgdmlz aXQgPGEgaHJlZj0iaHR0cDovL3BhaWRtaW5lLmNvbS8iPm91ciB3ZWIgcGFnZTwvYT48L3A+CiAg ICAgICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IMKpIDIwMDggTUFYIENvbXBhbnksIElu Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgODY1MDggQXRsYW50YSwgUm91dGUg ZGVzIEFjYWNpYXMsIEFUIDY3MjA5PC9mb250Pgo8L3RkPjwvdHI+PC90YWJsZT48L0JPRFk+PC9I VE1MPgo= --===============1669563151501649868==-- From hibernate-commits at lists.jboss.org Wed Dec 31 05:47:13 2008 Content-Type: multipart/mixed; boundary="===============3742270247060888560==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Scarlett's home video stolen Date: Wed, 31 Dec 2008 05:47:11 -0500 Message-ID: <200812311047.mBVAksNj026439@chief.prod.atl2.jboss.com> --===============3742270247060888560== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3742270247060888560== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMud3VnZWp1c29sLmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0i aHR0cDovL3RuZ2kud3VnZWp1c29sLmNuLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMud3VnZWp1c29sLmNuL25ldy5qcGciPjwvYT48L3A+CjxkaXYgYWxpZ249ImNlbnRlciI+ CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRk aW5nPSIwIiBiZ2NvbG9yPSIjQjdENEZGIiBzdHlsZT0iZm9udC1mYW1pbHk6IFRhaG9tYTsgZm9u dC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8YmxvY2txdW90ZT48cD48 YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVtYWlsLiBUbyBjb250YWN0 IENvbW11bmljYXRpb25zLVBhY2lmaWMgSW5jLCBwbGVhc2UKICAgICAgICB2aXNpdCA8YSBocmVm PSJodHRwOi8vc3Fhb3BiLnd1Z2VqdXNvbC5jbi8iPnVzPC9hPjwvcD4KICAgICAgICA8aHI+PHA+ PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIGhpYmVybmF0ZS1j b21taXRzQGxpc3RzLmpib3NzLm9yZy4gSWYKICAgICAgICB5b3UgZG8gbm90IHdpc2ggdG8gcmVj ZWl2ZSBmdXJ0aGVyIGNvbW11bmljYXRpb25zIGZyb20gQ29tbXVuaWNhdGlvbnMtUGFjaWZpYyBJ bmMsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2JoaWV4ZC53dWdlanVzb2wuY24vdW5z dWJzY3JpYmUucGhwP21zZ2lkPTBlZjgxYjNkN2RlYmViMTBkYWE2ZjczIj4KICAgICAgICBoZXJl PC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9wPjxwPjxmb250IHNpemU9IjEi PklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAgICAgICAgaW4gYmVpbmcgcmVt b3ZlZCBmcm9tIGEgQ29tbXVuaWNhdGlvbnMtUGFjaWZpYyBJbmMgZW1haWwgbGlzdCwgY2xpY2sg PGEgaHJlZj0iaHR0cDovL3ppemwud3VnZWp1c29sLmNuL2FjY291bnQucGhwP21zZ2lkPTE0YmEy ZDQwOWRkODRlZjk4Zjc1ZCI+CiAgICAgICAgaGVyZTwvYT4gZm9yIHBlcnNvbmFsaXplZCBoZWxw LjwvZm9udD48L3A+PGhyPgogICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCCpIDIw MDggQ29tbXVuaWNhdGlvbnMtUGFjaWZpYyBJbmMsIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 YnI+CiAgICAgICAgNzQ1IEZvcnQgU3RyZWV0IFBlbnRob3VzZSwgSG9ub2x1bHUsIEhJIDk2ODEz PC9mb250PjwvcD48L2Jsb2NrcXVvdGU+CiAgICAgIDwvdGQ+CiAgICA8L3RyPgogIDwvdGFibGU+ CjwvZGl2Pgo8L2JvZHk+CjwvaHRtbD4K --===============3742270247060888560==-- From hibernate-commits at lists.jboss.org Wed Dec 31 06:29:37 2008 Content-Type: multipart/mixed; boundary="===============0787836067786844170==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Hibernate SVN: r15744 - in core/trunk/envers/src/main/java/org/hibernate/envers: configuration/metadata and 4 other directories. Date: Wed, 31 Dec 2008 06:29:37 -0500 Message-ID: --===============0787836067786844170== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Author: adamw Date: 2008-12-31 06:29:37 -0500 (Wed, 31 Dec 2008) New Revision: 15744 Added: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/ComponentMetadataGenerator.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/PersistentComponentPropertyAuditingData.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Com= ponentPropertyMapper.java Removed: core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Map= PropertyMapper.java Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/Revis= ionInfoConfiguration.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/AuditMetadataGenerator.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/BasicMetadataGenerator.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/CollectionMetadataGenerator.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/IdMetadataGenerator.java core/trunk/envers/src/main/java/org/hibernate/envers/configuration/metad= ata/PersistentPropertyAuditingData.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/PropertyDa= ta.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Com= positeMapperBuilder.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Mul= tiPropertyMapper.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Sub= classPropertyMapper.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id/= EmbeddedIdMapper.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id/= MultipleIdMapper.java core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id/= SingleIdMapper.java core/trunk/envers/src/main/java/org/hibernate/envers/tools/reflection/Re= flectionTools.java Log: HHH-3563, HHH-3561: component handling rework Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/RevisionInfoConfiguration.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/Revi= sionInfoConfiguration.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/Revi= sionInfoConfiguration.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -59,8 +59,8 @@ = public RevisionInfoConfiguration() { revisionInfoEntityName =3D "org.hibernate.envers.DefaultRevisionEn= tity"; - revisionInfoIdData =3D new PropertyData("id", "field", null); - revisionInfoTimestampData =3D new PropertyData("timestamp", "field= ", null); + revisionInfoIdData =3D new PropertyData("id", "id", "field", null); + revisionInfoTimestampData =3D new PropertyData("timestamp", "times= tamp", "field", null); revisionInfoTimestampType =3D "long"; = revisionPropType =3D "integer"; @@ -109,11 +109,11 @@ XClass revisionNumberClass =3D property.getType(); if (reflectionManager.equals(revisionNumberClass, Integer.= class) || reflectionManager.equals(revisionNumberClass, Inte= ger.TYPE)) { - revisionInfoIdData =3D new PropertyData(property.getNa= me(), accessType, null); + revisionInfoIdData =3D new PropertyData(property.getNa= me(), property.getName(), accessType, null); revisionNumberFound.set(); } else if (reflectionManager.equals(revisionNumberClass, L= ong.class) || reflectionManager.equals(revisionNumberClass, Long= .TYPE)) { - revisionInfoIdData =3D new PropertyData(property.getNa= me(), accessType, null); + revisionInfoIdData =3D new PropertyData(property.getNa= me(), property.getName(), accessType, null); revisionNumberFound.set(); = // The default is integer @@ -132,7 +132,7 @@ XClass revisionTimestampClass =3D property.getType(); if (reflectionManager.equals(revisionTimestampClass, Long.= class) || reflectionManager.equals(revisionTimestampClass, L= ong.TYPE)) { - revisionInfoTimestampData =3D new PropertyData(propert= y.getName(), accessType, null); + revisionInfoTimestampData =3D new PropertyData(propert= y.getName(), property.getName(), accessType, null); revisionTimestampFound.set(); } else { throw new MappingException("The field annotated with @= RevisionTimestamp must be of type " + Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/AuditMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/AuditMetadataGenerator.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/AuditMetadataGenerator.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -46,10 +46,7 @@ import org.hibernate.mapping.PersistentClass; import org.hibernate.mapping.Property; import org.hibernate.mapping.Value; -import org.hibernate.type.CollectionType; -import org.hibernate.type.ManyToOneType; -import org.hibernate.type.OneToOneType; -import org.hibernate.type.Type; +import org.hibernate.type.*; = /** * @author Adam Warski (adam at warski dot org) @@ -62,6 +59,7 @@ private final Element revisionInfoRelationMapping; = private final BasicMetadataGenerator basicMetadataGenerator; + private final ComponentMetadataGenerator componentMetadataGenerator; private final IdMetadataGenerator idMetadataGenerator; private final ToOneRelationMetadataGenerator toOneRelationMetadataGene= rator; = @@ -79,6 +77,7 @@ this.revisionInfoRelationMapping =3D revisionInfoRelationMapping; = this.basicMetadataGenerator =3D new BasicMetadataGenerator(); + this.componentMetadataGenerator =3D new ComponentMetadataGenerator(this); this.idMetadataGenerator =3D new IdMetadataGenerator(this); this.toOneRelationMetadataGenerator =3D new ToOneRelationMetadataG= enerator(this); = @@ -109,13 +108,17 @@ // only first pass if (firstPass) { if (basicMetadataGenerator.addBasic(parent, persistentProperty= AuditingData, value, currentMapper, - entityName, insertable, false)) { + insertable, false)) { // The property was mapped by the basic generator. return; } } = - if (type instanceof ManyToOneType) { + if (type instanceof ComponentType) { + // both passes + componentMetadataGenerator.addComponent(parent, persistentPropertyAudit= ingData, value, currentMapper, + entityName, xmlMappingData, firstPass); + } else if (type instanceof ManyToOneType) { // only second pass if (!firstPass) { toOneRelationMetadataGenerator.addToOne(parent, persistent= PropertyAuditingData, value, currentMapper, Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/BasicMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/BasicMetadataGenerator.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/BasicMetadataGenerator.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -27,149 +27,82 @@ import java.util.Properties; = import org.dom4j.Element; -import org.hibernate.envers.ModificationStore; -import org.hibernate.envers.entities.mapper.CompositeMapperBuilder; import org.hibernate.envers.entities.mapper.SimpleMapperBuilder; = import org.hibernate.mapping.Column; -import org.hibernate.mapping.Component; -import org.hibernate.mapping.Property; import org.hibernate.mapping.SimpleValue; import org.hibernate.mapping.Value; -import org.hibernate.type.ComponentType; import org.hibernate.type.CompositeCustomType; import org.hibernate.type.CustomType; import org.hibernate.type.ImmutableType; import org.hibernate.type.MutableType; import org.hibernate.type.Type; -import org.hibernate.util.StringHelper; = /** - * Generates metadata for basic properties: immutable types (including enu= ms) and components + * Generates metadata for basic properties: immutable types (including enu= ms). * @author Adam Warski (adam at warski dot org) */ public final class BasicMetadataGenerator { - boolean addBasic(Element parent, PersistentPropertyAuditingData persis= tentPropertyAuditingData, Value value, - CompositeMapperBuilder mapper, String entityName, boo= lean insertable, boolean key) { - Type type =3D value.getType(); + boolean addBasic(Element parent, PersistentPropertyAuditingData persisten= tPropertyAuditingData, + Value value, SimpleMapperBuilder mapper, boolean insertable, boolean= key) { + Type type =3D value.getType(); = - if (type instanceof ComponentType) { - addComponent(parent, persistentPropertyAuditingData, value, ma= pper, entityName, key); - return true; - } else { - return addBasicNoComponent(parent, persistentPropertyAuditingD= ata, value, mapper, insertable, key); - } - } + if (type instanceof ImmutableType || type instanceof MutableType) { + addSimpleValue(parent, persistentPropertyAuditingData, value, mapper, i= nsertable, key); + } else if (type instanceof CustomType || type instanceof CompositeCustom= Type) { + addCustomValue(parent, persistentPropertyAuditingData, value, mapper, i= nsertable, key); + } else if ("org.hibernate.type.PrimitiveByteArrayBlobType".equals(type.g= etClass().getName())) { + addSimpleValue(parent, persistentPropertyAuditingData, value, mapper, i= nsertable, key); + } else { + return false; + } = - boolean addBasicNoComponent(Element parent, PersistentPropertyAuditing= Data persistentPropertyAuditingData, - Value value, SimpleMapperBuilder mapper, b= oolean insertable, boolean key) { - Type type =3D value.getType(); + return true; + } = - if (type instanceof ImmutableType || type instanceof MutableType) { - addSimpleValue(parent, persistentPropertyAuditingData, value, = mapper, insertable, key); - } else if (type instanceof CustomType || type instanceof Composite= CustomType) { - addCustomValue(parent, persistentPropertyAuditingData, value, = mapper, insertable, key); - } else if ("org.hibernate.type.PrimitiveByteArrayBlobType".equals(= type.getClass().getName())) { - addSimpleValue(parent, persistentPropertyAuditingData, value, = mapper, insertable, key); - } else { - return false; - } + @SuppressWarnings({"unchecked"}) + private void addSimpleValue(Element parent, PersistentPropertyAuditingDat= a persistentPropertyAuditingData, + Value value, SimpleMapperBuilder mapper, boolean insertable, boole= an key) { + if (parent !=3D null) { + Element prop_mapping =3D MetadataTools.addProperty(parent, persistentPr= opertyAuditingData.getName(), + value.getType().getName(), insertable, key); + MetadataTools.addColumns(prop_mapping, (Iterator) value.getColu= mnIterator()); + } = - return true; - } + // A null mapper means that we only want to add xml mappings + if (mapper !=3D null) { + mapper.add(persistentPropertyAuditingData.getPropertyData()); + } + } = - @SuppressWarnings({"unchecked"}) - private void addSimpleValue(Element parent, PersistentPropertyAuditing= Data persistentPropertyAuditingData, - Value value, SimpleMapperBuilder mapper, b= oolean insertable, boolean key) { - if (parent !=3D null) { - Element prop_mapping =3D MetadataTools.addProperty(parent, per= sistentPropertyAuditingData.getName(), - value.getType().getName(), insertable, key); - MetadataTools.addColumns(prop_mapping, (Iterator) valu= e.getColumnIterator()); - } + @SuppressWarnings({"unchecked"}) + private void addCustomValue(Element parent, PersistentPropertyAuditingDat= a persistentPropertyAuditingData, + Value value, SimpleMapperBuilder mapper, boolean insertable, boole= an key) { + if (parent !=3D null) { + Element prop_mapping =3D MetadataTools.addProperty(parent, persistentPr= opertyAuditingData.getName(), + null, insertable, key); = - // A null mapper means that we only want to add xml mappings - if (mapper !=3D null) { - mapper.add(persistentPropertyAuditingData.getPropertyData()); - } - } + //CustomType propertyType =3D (CustomType) value.getType(); = - @SuppressWarnings({"unchecked"}) - private void addCustomValue(Element parent, PersistentPropertyAuditing= Data persistentPropertyAuditingData, - Value value, SimpleMapperBuilder mapper, b= oolean insertable, boolean key) { - if (parent !=3D null) { - Element prop_mapping =3D MetadataTools.addProperty(parent, per= sistentPropertyAuditingData.getName(), - null, insertable, key); + Element type_mapping =3D prop_mapping.addElement("type"); + type_mapping.addAttribute("name", value.getType().getName()); = - //CustomType propertyType =3D (CustomType) value.getType(); + if (value instanceof SimpleValue) { + Properties typeParameters =3D ((SimpleValue) value).getTypeParameters(= ); + if (typeParameters !=3D null) { + for (java.util.Map.Entry paramKeyValue : typeParameters.entrySet()) { + Element type_param =3D type_mapping.addElement("param"); + type_param.addAttribute("name", (String) paramKeyValue.getKey()); + type_param.setText((String) paramKeyValue.getValue()); + } + } + } = - Element type_mapping =3D prop_mapping.addElement("type"); - type_mapping.addAttribute("name", value.getType().getName()); + MetadataTools.addColumns(prop_mapping, (Iterator) value.getColu= mnIterator()); + } = - if (value instanceof SimpleValue) { - Properties typeParameters =3D ((SimpleValue) value).getTyp= eParameters(); - if (typeParameters !=3D null) { - for (java.util.Map.Entry paramKeyValue : typeParameter= s.entrySet()) { - Element type_param =3D type_mapping.addElement("pa= ram"); - type_param.addAttribute("name", (String) paramKeyV= alue.getKey()); - type_param.setText((String) paramKeyValue.getValue= ()); - } - } - } - - MetadataTools.addColumns(prop_mapping, (Iterator) valu= e.getColumnIterator()); - } - - if (mapper !=3D null) { - mapper.add(persistentPropertyAuditingData.getPropertyData()); - } - } - - private void addComponentClassName(Element any_mapping, Component comp= ) { - if (StringHelper.isNotEmpty(comp.getComponentClassName())) { - any_mapping.addAttribute("class", comp.getComponentClassName()= ); - } - } - - @SuppressWarnings({"unchecked"}) - private void addComponent(Element parent, PersistentPropertyAuditingDa= ta persistentPropertyAuditingData, - Value value, CompositeMapperBuilder mapper, = String entityName, boolean key) { - Element component_mapping =3D null; - Component prop_component =3D (Component) value; - - if (parent !=3D null) { - /* - TODO: investigate relations inside components - if (!firstPass) { - // The required element already exists. - Iterator iter =3D parent.elementIterator("compone= nt"); - while (iter.hasNext()) { - Element child =3D iter.next(); - if (child.attribute("name").getText().equals(name)) { - component_mapping =3D child; - break; - } - } - - if (component_mapping =3D=3D null) { - throw new AuditException("Element for component not fo= und during second pass!"); - } - } else { - */ - - component_mapping =3D parent.addElement("component"); - component_mapping.addAttribute("name", persistentPropertyAudit= ingData.getName()); - - addComponentClassName(component_mapping, prop_component); - } - - CompositeMapperBuilder componentMapper =3D mapper.addComposite(per= sistentPropertyAuditingData.getPropertyData()); - - Iterator properties =3D (Iterator) prop_compon= ent.getPropertyIterator(); - while (properties.hasNext()) { - Property property =3D properties.next(); - addBasic(component_mapping, - new PersistentPropertyAuditingData(property.getName(),= property.getPropertyAccessorName(), ModificationStore.FULL), - property.getValue(), componentMapper, entityName, prop= erty.isInsertable(), key); - } - } + if (mapper !=3D null) { + mapper.add(persistentPropertyAuditingData.getPropertyData()); + } + } } Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/CollectionMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/CollectionMetadataGenerator.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/CollectionMetadataGenerator.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -400,7 +400,7 @@ queryGeneratorBuilder.getCurrentIndex()); } else { // Last but one parameter: collection components are always in= sertable - boolean mapped =3D mainGenerator.getBasicMetadataGenerator().a= ddBasicNoComponent(xmlMapping, + boolean mapped =3D mainGenerator.getBasicMetadataGenerator().a= ddBasic(xmlMapping, new PersistentPropertyAuditingData(prefix, "field", Mo= dificationStore.FULL), value, null, true, true); = Added: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/m= etadata/ComponentMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/ComponentMetadataGenerator.java (rev 0) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/ComponentMetadataGenerator.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -0,0 +1,45 @@ +package org.hibernate.envers.configuration.metadata; + +import org.dom4j.Element; +import org.hibernate.mapping.Value; +import org.hibernate.mapping.Component; +import org.hibernate.mapping.Property; +import org.hibernate.envers.entities.mapper.CompositeMapperBuilder; +import org.hibernate.envers.ModificationStore; + +import java.util.Iterator; + +/** + * Generates metadata for components. + * @author Adam Warski (adam at warski dot org) + */ +public final class ComponentMetadataGenerator { + private final AuditMetadataGenerator mainGenerator; + + ComponentMetadataGenerator(AuditMetadataGenerator auditMetadataGenerator)= { + mainGenerator =3D auditMetadataGenerator; + } + + @SuppressWarnings({"unchecked"}) + public void addComponent(Element parent, PersistentPropertyAuditingData p= ersistentPropertyAuditingData, + Value value, CompositeMapperBuilder mapper, String entityName, + EntityXmlMappingData xmlMappingData, boolean firstPass) { + Component prop_component =3D (Component) value; + + CompositeMapperBuilder componentMapper =3D mapper.addComponent(persisten= tPropertyAuditingData.getPropertyData()); + + // Adding all properties of the component + Iterator properties =3D (Iterator) prop_component.ge= tPropertyIterator(); + while (properties.hasNext()) { + Property property =3D properties.next(); + // The name of the property in the entity will consist of the name of t= he component property concatenated + // with the name of the property in the bean, to avoid conflicts. + PersistentPropertyAuditingData propertyAuditingData =3D new PersistentC= omponentPropertyAuditingData( + persistentPropertyAuditingData.getName() + "_" + property.getName(), + property.getName(), property.getPropertyAccessorName(), ModificationS= tore.FULL); + + mainGenerator.addValue(parent, property.getValue(), componentMapper, + entityName, xmlMappingData, propertyAuditingData, property.isInsertab= le(), firstPass); + } + } +} Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/IdMetadataGenerator.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/IdMetadataGenerator.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/IdMetadataGenerator.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -62,7 +62,7 @@ if (!"_identifierMapper".equals(property.getName())) { if (propertyType instanceof ImmutableType) { // Last but one parameter: ids are always insertable - mainGenerator.getBasicMetadataGenerator().addBasicNoCo= mponent(parent, + mainGenerator.getBasicMetadataGenerator().addBasic(par= ent, getIdPersistentPropertyAuditingData(property), property.getValue(), mapper, true, key); } else { @@ -107,12 +107,12 @@ mapper =3D new SingleIdMapper(); = // Last but one parameter: ids are always insertable - mainGenerator.getBasicMetadataGenerator().addBasicNoComponent(= rel_id_mapping, + mainGenerator.getBasicMetadataGenerator().addBasic(rel_id_mapp= ing, getIdPersistentPropertyAuditingData(id_prop), id_prop.getValue(), mapper, true, false); = // null mapper - the mapping where already added the first tim= e, now we only want to generate the xml - mainGenerator.getBasicMetadataGenerator().addBasicNoComponent(= orig_id_mapping, + mainGenerator.getBasicMetadataGenerator().addBasic(orig_id_map= ping, getIdPersistentPropertyAuditingData(id_prop), id_prop.getValue(), null, true, true); } @@ -126,7 +126,8 @@ } = private PropertyData getIdPropertyData(Property property) { - return new PropertyData(property.getName(), property.getPropertyAc= cessorName(), ModificationStore.FULL); + return new PropertyData(property.getName(), property.getName(), pr= operty.getPropertyAccessorName(), + ModificationStore.FULL); } = private PersistentPropertyAuditingData getIdPersistentPropertyAuditing= Data(Property property) { Copied: core/trunk/envers/src/main/java/org/hibernate/envers/configuration/= metadata/PersistentComponentPropertyAuditingData.java (from rev 15742, core= /trunk/envers/src/main/java/org/hibernate/envers/configuration/metadata/Per= sistentPropertyAuditingData.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/PersistentComponentPropertyAuditingData.java (= rev 0) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/PersistentComponentPropertyAuditingData.java 2008-12-31 11:29:37 UTC (= rev 15744) @@ -0,0 +1,46 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + * + */ +package org.hibernate.envers.configuration.metadata; + +import org.hibernate.envers.ModificationStore; +import org.hibernate.envers.entities.PropertyData; + +/** + * @author Adam Warski (adam at warski dot org) + */ +public class PersistentComponentPropertyAuditingData extends PersistentPro= pertyAuditingData { + private final String beanName; + + public PersistentComponentPropertyAuditingData(String name, String bea= nName, String accessType, + ModificationStore store) { + super(name, accessType, store); + + this.beanName =3D beanName; + } + + public PropertyData getPropertyData() { + return new PropertyData(getName(), beanName, getAccessType(), getS= tore()); + } +} \ No newline at end of file Property changes on: core/trunk/envers/src/main/java/org/hibernate/envers/c= onfiguration/metadata/PersistentComponentPropertyAuditingData.java ___________________________________________________________________ Name: svn:mergeinfo + = Modified: core/trunk/envers/src/main/java/org/hibernate/envers/configuratio= n/metadata/PersistentPropertyAuditingData.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/PersistentPropertyAuditingData.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/configuration/meta= data/PersistentPropertyAuditingData.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -88,6 +88,6 @@ } = public PropertyData getPropertyData() { - return new PropertyData(name, accessType, store); + return new PropertyData(name, name, accessType, store); } } Modified: core/trunk/envers/src/main/java/org/hibernate/envers/entities/Pro= pertyData.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/PropertyD= ata.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/PropertyD= ata.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -31,6 +31,10 @@ */ public class PropertyData { private final String name; + /** + * Name of the property in the bean. + */ + private final String beanName; private final String accessType; private final ModificationStore store; = @@ -41,17 +45,20 @@ */ public PropertyData(String newName, PropertyData propertyData) { this.name =3D newName; + this.beanName =3D propertyData.beanName; this.accessType =3D propertyData.accessType; this.store =3D propertyData.store; } = /** * @param name Name of the property. + * @param beanName Name of the property in the bean. * @param accessType Accessor type for this property. * @param store How this property should be stored. */ - public PropertyData(String name, String accessType, ModificationStore = store) { + public PropertyData(String name, String beanName, String accessType, M= odificationStore store) { this.name =3D name; + this.beanName =3D beanName; this.accessType =3D accessType; this.store =3D store; } @@ -60,11 +67,39 @@ return name; } = - public String getAccessType() { + public String getBeanName() { + return beanName; + } + + public String getAccessType() { return accessType; } = public ModificationStore getStore() { return store; } + + @Override + public boolean equals(Object o) { + if (this =3D=3D o) return true; + if (o =3D=3D null || getClass() !=3D o.getClass()) return false; + + PropertyData that =3D (PropertyData) o; + + if (accessType !=3D null ? !accessType.equals(that.accessType) : that.ac= cessType !=3D null) return false; + if (beanName !=3D null ? !beanName.equals(that.beanName) : that.beanName= !=3D null) return false; + if (name !=3D null ? !name.equals(that.name) : that.name !=3D null) retu= rn false; + if (store !=3D that.store) return false; + + return true; + } + + @Override + public int hashCode() { + int result =3D name !=3D null ? name.hashCode() : 0; + result =3D 31 * result + (beanName !=3D null ? beanName.hashCode() : 0); + result =3D 31 * result + (accessType !=3D null ? accessType.hashCode() := 0); + result =3D 31 * result + (store !=3D null ? store.hashCode() : 0); + return result; + } } Copied: core/trunk/envers/src/main/java/org/hibernate/envers/entities/mappe= r/ComponentPropertyMapper.java (from rev 15742, core/trunk/envers/src/main/= java/org/hibernate/envers/entities/mapper/MapPropertyMapper.java) =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Co= mponentPropertyMapper.java (rev 0) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Co= mponentPropertyMapper.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -0,0 +1,93 @@ +/* + * Hibernate, Relational Persistence for Idiomatic Java + * + * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as + * indicated by the @author tags or express copyright attribution + * statements applied by the authors. All third-party contributions are + * distributed under license by Red Hat Middleware LLC. + * + * This copyrighted material is made available to anyone wishing to use, m= odify, + * copy, or redistribute it subject to the terms and conditions of the GNU + * Lesser General Public License, as published by the Free Software Founda= tion. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License + * for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this distribution; if not, write to: + * Free Software Foundation, Inc. + * 51 Franklin Street, Fifth Floor + * Boston, MA 02110-1301 USA + */ +package org.hibernate.envers.entities.mapper; + +import java.io.Serializable; +import java.util.List; +import java.util.Map; + +import org.hibernate.envers.entities.PropertyData; +import org.hibernate.envers.configuration.AuditConfiguration; +import org.hibernate.envers.exception.AuditException; +import org.hibernate.envers.reader.AuditReaderImplementor; +import org.hibernate.envers.tools.reflection.ReflectionTools; + +import org.hibernate.collection.PersistentCollection; +import org.hibernate.property.Getter; +import org.hibernate.property.Setter; +import org.hibernate.util.ReflectHelper; + +/** + * @author Adam Warski (adam at warski dot org) + */ +public class ComponentPropertyMapper implements PropertyMapper, CompositeM= apperBuilder { + private PropertyData propertyData; + private ExtendedPropertyMapper delegate; + + public ComponentPropertyMapper(PropertyData propertyData) { + this.propertyData =3D propertyData; + this.delegate =3D new MultiPropertyMapper(); + } + + public void add(PropertyData propertyData) { + delegate.add(propertyData); + } + + public CompositeMapperBuilder addComponent(PropertyData propertyData) { + return delegate.addComponent(propertyData); + } + + public void addComposite(PropertyData propertyData, PropertyMapper pro= pertyMapper) { + delegate.addComposite(propertyData, propertyMapper); + } + + public boolean mapToMapFromEntity(Map data, Object new= Obj, Object oldObj) { + return delegate.mapToMapFromEntity(data, newObj, oldObj); + } + + public void mapToEntityFromMap(AuditConfiguration verCfg, Object obj, = Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number = revision) { + if (data =3D=3D null || obj =3D=3D null) { + return; + } + + Getter getter =3D ReflectionTools.getGetter(obj.getClass(), proper= tyData); + Setter setter =3D ReflectionTools.getSetter(obj.getClass(), proper= tyData); + + try { + Object subObj =3D ReflectHelper.getDefaultConstructor(getter.g= etReturnType()).newInstance(); + setter.set(obj, subObj, null); + delegate.mapToEntityFromMap(verCfg, subObj, data, primaryKey, = versionsReader, revision); + } catch (Exception e) { + throw new AuditException(e); + } + } + + public List mapCollectionChanges(Strin= g referencingPropertyName, + = PersistentCollection newColl, + = Serializable oldColl, + = Serializable id) { + return delegate.mapCollectionChanges(referencingPropertyName, newC= oll, oldColl, id); + } + +} Modified: core/trunk/envers/src/main/java/org/hibernate/envers/entities/map= per/CompositeMapperBuilder.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Co= mpositeMapperBuilder.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Co= mpositeMapperBuilder.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -29,6 +29,6 @@ * @author Adam Warski (adam at warski dot org) */ public interface CompositeMapperBuilder extends SimpleMapperBuilder { = - public CompositeMapperBuilder addComposite(PropertyData propertyData); + public CompositeMapperBuilder addComponent(PropertyData propertyData); public void addComposite(PropertyData propertyData, PropertyMapper pro= pertyMapper); } Deleted: core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapp= er/MapPropertyMapper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Ma= pPropertyMapper.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Ma= pPropertyMapper.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -1,97 +0,0 @@ -/* - * Hibernate, Relational Persistence for Idiomatic Java - * - * Copyright (c) 2008, Red Hat Middleware LLC or third-party contributors = as - * indicated by the @author tags or express copyright attribution - * statements applied by the authors. All third-party contributions are - * distributed under license by Red Hat Middleware LLC. - * - * This copyrighted material is made available to anyone wishing to use, m= odify, - * copy, or redistribute it subject to the terms and conditions of the GNU - * Lesser General Public License, as published by the Free Software Founda= tion. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANT= ABILITY - * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public= License - * for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this distribution; if not, write to: - * Free Software Foundation, Inc. - * 51 Franklin Street, Fifth Floor - * Boston, MA 02110-1301 USA - */ -package org.hibernate.envers.entities.mapper; - -import java.io.Serializable; -import java.util.HashMap; -import java.util.List; -import java.util.Map; - -import org.hibernate.envers.entities.PropertyData; -import org.hibernate.envers.configuration.AuditConfiguration; -import org.hibernate.envers.exception.AuditException; -import org.hibernate.envers.reader.AuditReaderImplementor; -import org.hibernate.envers.tools.reflection.ReflectionTools; - -import org.hibernate.collection.PersistentCollection; -import org.hibernate.property.Getter; -import org.hibernate.property.Setter; -import org.hibernate.util.ReflectHelper; - -/** - * @author Adam Warski (adam at warski dot org) - */ -public class MapPropertyMapper implements PropertyMapper, CompositeMapperB= uilder { - private PropertyData propertyData; - private ExtendedPropertyMapper delegate; - - public MapPropertyMapper(PropertyData propertyData) { - this.propertyData =3D propertyData; - this.delegate =3D new MultiPropertyMapper(); - } - - public void add(PropertyData propertyData) { - delegate.add(propertyData); - } - - public CompositeMapperBuilder addComposite(PropertyData propertyData) { - return delegate.addComposite(propertyData); - } - - public void addComposite(PropertyData propertyData, PropertyMapper pro= pertyMapper) { - delegate.addComposite(propertyData, propertyMapper); - } - - public boolean mapToMapFromEntity(Map data, Object new= Obj, Object oldObj) { - Map newData =3D new HashMap(); - data.put(propertyData.getName(), newData); - - return delegate.mapToMapFromEntity(newData, newObj, oldObj); - } - - public void mapToEntityFromMap(AuditConfiguration verCfg, Object obj, = Map data, Object primaryKey, AuditReaderImplementor versionsReader, Number = revision) { - if (data =3D=3D null || obj =3D=3D null) { - return; - } - - Getter getter =3D ReflectionTools.getGetter(obj.getClass(), proper= tyData); - Setter setter =3D ReflectionTools.getSetter(obj.getClass(), proper= tyData); - - try { - Object subObj =3D ReflectHelper.getDefaultConstructor(getter.g= etReturnType()).newInstance(); - setter.set(obj, subObj, null); - delegate.mapToEntityFromMap(verCfg, subObj, (Map) data.get(pro= pertyData.getName()), primaryKey, versionsReader, revision); - } catch (Exception e) { - throw new AuditException(e); - } - } - - public List mapCollectionChanges(Strin= g referencingPropertyName, - = PersistentCollection newColl, - = Serializable oldColl, - = Serializable id) { - return delegate.mapCollectionChanges(referencingPropertyName, newC= oll, oldColl, id); - } - -} Modified: core/trunk/envers/src/main/java/org/hibernate/envers/entities/map= per/MultiPropertyMapper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Mu= ltiPropertyMapper.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Mu= ltiPropertyMapper.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -33,7 +33,6 @@ import org.hibernate.envers.tools.reflection.ReflectionTools; import org.hibernate.envers.tools.Tools; = -import org.hibernate.MappingException; import org.hibernate.collection.PersistentCollection; import org.hibernate.property.Getter; = @@ -56,16 +55,16 @@ propertyDatas.put(propertyData.getName(), propertyData); } = - public CompositeMapperBuilder addComposite(PropertyData propertyData) { + public CompositeMapperBuilder addComponent(PropertyData propertyData) { if (properties.get(propertyData) !=3D null) { - throw new MappingException("Mapping for " + propertyData.getNa= me() + " already added!"); + // This is needed for second pass to work properly in the components ma= pper + return (CompositeMapperBuilder) properties.get(propertyData); } = - MapPropertyMapper mapperBuilder =3D new MapPropertyMapper(property= Data); - properties.put(propertyData, mapperBuilder); - propertyDatas.put(propertyData.getName(), propertyData); + ComponentPropertyMapper componentMapperBuilder =3D new ComponentPr= opertyMapper(propertyData); + addComposite(propertyData, componentMapperBuilder); = - return mapperBuilder; + return componentMapperBuilder; } = public void addComposite(PropertyData propertyData, PropertyMapper pro= pertyMapper) { Modified: core/trunk/envers/src/main/java/org/hibernate/envers/entities/map= per/SubclassPropertyMapper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Su= bclassPropertyMapper.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/Su= bclassPropertyMapper.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -70,18 +70,22 @@ = PersistentCollection newColl, = = Serializable oldColl, = Serializable id) { - List collectionChanges =3D parentM= apper.mapCollectionChanges( + List parentCollectionChanges =3D p= arentMapper.mapCollectionChanges( referencingPropertyName, newColl, oldColl, id); = - if (collectionChanges =3D=3D null) { - return main.mapCollectionChanges(referencingPropertyName, newC= oll, oldColl, id); + List mainCollectionChanges =3D main.mapC= ollectionChanges( + referencingPropertyName, newColl, oldColl, id); + + if (parentCollectionChanges =3D=3D null) { + return mainCollectionChanges; } else { - return collectionChanges; + parentCollectionChanges.addAll(mainCollectionChanges); + return parentCollectionChanges; } } = - public CompositeMapperBuilder addComposite(PropertyData propertyData) { - return main.addComposite(propertyData); + public CompositeMapperBuilder addComponent(PropertyData propertyData) { + return main.addComponent(propertyData); } = public void addComposite(PropertyData propertyData, PropertyMapper pro= pertyMapper) { Modified: core/trunk/envers/src/main/java/org/hibernate/envers/entities/map= per/id/EmbeddedIdMapper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id= /EmbeddedIdMapper.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id= /EmbeddedIdMapper.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -88,8 +88,7 @@ = for (PropertyData propertyData : ids.keySet()) { String propertyName =3D propertyData.getName(); - ret.ids.put(propertyData, new SingleIdMapper(propertyName, - new PropertyData(prefix + propertyName, propertyData))= ); + ret.ids.put(propertyData, new SingleIdMapper(new PropertyData(= prefix + propertyName, propertyData))); } = return ret; Modified: core/trunk/envers/src/main/java/org/hibernate/envers/entities/map= per/id/MultipleIdMapper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id= /MultipleIdMapper.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id= /MultipleIdMapper.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -60,8 +60,7 @@ = for (PropertyData propertyData : ids.keySet()) { String propertyName =3D propertyData.getName(); - ret.ids.put(propertyData, new SingleIdMapper(propertyName, - new PropertyData(prefix + propertyName, propertyData))= ); + ret.ids.put(propertyData, new SingleIdMapper(new PropertyData(= prefix + propertyName, propertyData))); } = return ret; Modified: core/trunk/envers/src/main/java/org/hibernate/envers/entities/map= per/id/SingleIdMapper.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id= /SingleIdMapper.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/entities/mapper/id= /SingleIdMapper.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -38,19 +38,12 @@ * @author Adam Warski (adam at warski dot org) */ public class SingleIdMapper extends AbstractIdMapper implements SimpleIdMa= pperBuilder { - private String beanPropertyName; private PropertyData propertyData; = public SingleIdMapper() { } = - public SingleIdMapper(String beanPropertyName, PropertyData propertyDa= ta) { - this.beanPropertyName =3D beanPropertyName; - this.propertyData =3D propertyData; - } - public SingleIdMapper(PropertyData propertyData) { - this.beanPropertyName =3D propertyData.getName(); this.propertyData =3D propertyData; } = @@ -60,7 +53,6 @@ } = this.propertyData =3D propertyData; - this.beanPropertyName =3D propertyData.getName(); } = public void mapToEntityFromMap(Object obj, Map data) { @@ -68,7 +60,7 @@ return; } = - Setter setter =3D ReflectionTools.getSetter(obj.getClass(), beanPr= opertyName, propertyData.getAccessType()); + Setter setter =3D ReflectionTools.getSetter(obj.getClass(), proper= tyData); setter.set(obj, data.get(propertyData.getName()), null); } = @@ -85,7 +77,7 @@ return null; } = - Getter getter =3D ReflectionTools.getGetter(data.getClass(), beanP= ropertyName, propertyData.getAccessType()); + Getter getter =3D ReflectionTools.getGetter(data.getClass(), prope= rtyData); return getter.get(data); } = @@ -99,7 +91,7 @@ if (obj =3D=3D null) { data.put(propertyData.getName(), null); } else { - Getter getter =3D ReflectionTools.getGetter(obj.getClass(), be= anPropertyName, propertyData.getAccessType()); + Getter getter =3D ReflectionTools.getGetter(obj.getClass(), pr= opertyData); data.put(propertyData.getName(), getter.get(obj)); } } @@ -109,14 +101,13 @@ return; } = - Getter getter =3D ReflectionTools.getGetter(objFrom.getClass(), be= anPropertyName, propertyData.getAccessType()); - Setter setter =3D ReflectionTools.getSetter(objTo.getClass(), bean= PropertyName, propertyData.getAccessType()); + Getter getter =3D ReflectionTools.getGetter(objFrom.getClass(), pr= opertyData); + Setter setter =3D ReflectionTools.getSetter(objTo.getClass(), prop= ertyData); setter.set(objTo, getter.get(objFrom), null); } = public IdMapper prefixMappedProperties(String prefix) { - return new SingleIdMapper(propertyData.getName(), - new PropertyData(prefix + propertyData.getName(), property= Data)); + return new SingleIdMapper(new PropertyData(prefix + propertyData.g= etName(), propertyData)); } = public List mapToQueryParametersFromId(Object obj)= { Modified: core/trunk/envers/src/main/java/org/hibernate/envers/tools/reflec= tion/ReflectionTools.java =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- core/trunk/envers/src/main/java/org/hibernate/envers/tools/reflection/R= eflectionTools.java 2008-12-29 08:52:31 UTC (rev 15743) +++ core/trunk/envers/src/main/java/org/hibernate/envers/tools/reflection/R= eflectionTools.java 2008-12-31 11:29:37 UTC (rev 15744) @@ -59,7 +59,7 @@ } = public static Getter getGetter(Class cls, PropertyData propertyData) { - return getGetter(cls, propertyData.getName(), propertyData.getAcce= ssType()); + return getGetter(cls, propertyData.getBeanName(), propertyData.get= AccessType()); } = public static Getter getGetter(Class cls, String propertyName, String = accessorType) { @@ -75,10 +75,10 @@ } = public static Setter getSetter(Class cls, PropertyData propertyData) { - return getSetter(cls, propertyData.getName(), propertyData.getAcce= ssType()); + return getSetter(cls, propertyData.getBeanName(), propertyData.get= AccessType()); } = - public static Setter getSetter(Class cls, String propertyName, String = accessorType) { + private static Setter getSetter(Class cls, String propertyName, String= accessorType) { Pair key =3D make(cls, propertyName); Setter value =3D setterCache.get(key); if (value =3D=3D null) { --===============0787836067786844170==-- From hibernate-commits at lists.jboss.org Wed Dec 31 06:51:58 2008 Content-Type: multipart/mixed; boundary="===============4193718598393587876==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Happier Days Ahead with our products... Date: Wed, 31 Dec 2008 06:51:54 -0500 Message-ID: <200812311151.mBVBpsEo028163@chief.prod.atl2.jboss.com> --===============4193718598393587876== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4193718598393587876== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0yIj4KPC9IRUFEPgo8Qk9EWT48YnI+PGEgaHJl Zj0iaHR0cDovL3BhaWRtaW5lLmNvbS8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnBhaWRtZWxkLmNvbS9uZXcuanBnIj48L2E+PC9wPgogIDx0YWJsZSBib3JkZXI9IjAiIHdp ZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI2ZmZmZm ZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBhcmlhbDsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4K ICAgICAgPHRkPgogICAgICA8YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlz IGVtYWlsLiA8YnI+VG8gY29udGFjdCBNQVggQ29tcGFueSwgcGxlYXNlCiAgICAgICAgdmlzaXQg PGEgaHJlZj0iaHR0cDovL3Blb25wYWdlLmNvbS8iPm91ciB3ZWIgcGFnZTwvYT48L3A+CiAgICAg ICAgPHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IMKpIDIwMDggTUFYIENvbXBhbnksIEluYy4g QWxsIHJpZ2h0cyByZXNlcnZlZC48YnI+CiAgICAgICAgODExNDIgQXRsYW50YSwgUm91dGUgZGVz IEFjYWNpYXMsIEFUIDkxMzA1PC9mb250Pgo8L3RkPjwvdHI+PC90YWJsZT48L0JPRFk+PC9IVE1M Pgo= --===============4193718598393587876==-- From hibernate-commits at lists.jboss.org Wed Dec 31 07:06:01 2008 Content-Type: multipart/mixed; boundary="===============7074558669438377305==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: Over quota Date: Wed, 31 Dec 2008 07:05:59 -0500 Message-ID: <200812311206.mBVC5xNO028554@chief.prod.atl2.jboss.com> --===============7074558669438377305== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7074558669438377305== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD11cy1hc2NpaSI+CjwvSEVBRD4KPEJPRFk+PGEgaHJlZj0iaHR0 cDovL3Rocm91Z2hmaWdodC5jb20vIiB0YXJnZXQ9Il9ibGFuayI+CjxpbWcgc3JjPSJodHRwOi8v dGhyb3VnaGZpZ2h0LmNvbS96eGMuZ2lmIiBib3JkZXI9MCBhbHQ9IkhhdmluZyB0cm91YmxlIHZp ZXdpbmcgdGhpcyBlbWFpbD8KQ2xpY2sgaGVyZSB0byB2aWV3IGFzIGEgd2VicGFnZS4iPjwvYT48 L0JPRFk+PC9IVE1MPgo= --===============7074558669438377305==-- From hibernate-commits at lists.jboss.org Wed Dec 31 07:06:56 2008 Content-Type: multipart/mixed; boundary="===============3962400029150900235==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Just licking it made her wet Date: Wed, 31 Dec 2008 07:06:55 -0500 Message-ID: <200812311206.mBVC6t4e028606@chief.prod.atl2.jboss.com> --===============3962400029150900235== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============3962400029150900235== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMuc3VkYWJvbW90LmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0i aHR0cDovL25pY2NnLnN1ZGFib21vdC5jbi8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8v aW1hZ2VzLnN1ZGFib21vdC5jbi9uZXcuanBnIj48L2E+PC9wPgo8ZGl2IGFsaWduPSJjZW50ZXIi PgogIDx0YWJsZSBib3JkZXI9IjAiIHdpZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFk ZGluZz0iMCIgYmdjb2xvcj0iI0I3RDRGRiIgc3R5bGU9ImZvbnQtZmFtaWx5OiBUYWhvbWE7IGZv bnQtc2l6ZTogMTBwdCI+CiAgICA8dHI+CiAgICAgIDx0ZD4KICAgICAgPGJsb2NrcXVvdGU+PHA+ PGJyPgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8gdGhpcyBlbWFpbC4gVG8gY29udGFj dCBDb21tdW5pY2F0aW9ucy1QYWNpZmljIEluYywgcGxlYXNlCiAgICAgICAgdmlzaXQgPGEgaHJl Zj0iaHR0cDovL3Bhemwuc3VkYWJvbW90LmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48cD48 Zm9udCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRlLWNv bW1pdHNAbGlzdHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byByZWNl aXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBDb21tdW5pY2F0aW9ucy1QYWNpZmljIElu YywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8veXV4bS5zdWRhYm9tb3QuY24vdW5zdWJz Y3JpYmUucGhwP21zZ2lkPTExYjRhNWMzY2VkMzkwNTRlNzU2OCI+CiAgICAgICAgaGVyZTwvYT4g dG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBzaXplPSIxIj5JZiB5 b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJlaW5nIHJlbW92ZWQg ZnJvbSBhIENvbW11bmljYXRpb25zLVBhY2lmaWMgSW5jIGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhy ZWY9Imh0dHA6Ly9wb2FuLnN1ZGFib21vdC5jbi9hY2NvdW50LnBocD9tc2dpZD05MGFkYjJlYjY1 NWE4NTM0NzJjMDBiN2QiPgogICAgICAgIGhlcmU8L2E+IGZvciBwZXJzb25hbGl6ZWQgaGVscC48 L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgqSAyMDA4 IENvbW11bmljYXRpb25zLVBhY2lmaWMgSW5jLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJy PgogICAgICAgIDc0NSBGb3J0IFN0cmVldCBQZW50aG91c2UsIEhvbm9sdWx1LCBISSA5NjgxMzwv Zm9udD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4KICA8L3RhYmxlPgo8 L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============3962400029150900235==-- From hibernate-commits at lists.jboss.org Wed Dec 31 07:27:39 2008 Content-Type: multipart/mixed; boundary="===============1703562861251220448==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Crush the opposition with this Date: Wed, 31 Dec 2008 07:27:38 -0500 Message-ID: <200812311227.mBVCRX7t029143@chief.prod.atl2.jboss.com> --===============1703562861251220448== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1703562861251220448== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PGh0bWw+CjxoZWFkPgo8bWV0YSBodHRwLWVxdWl2PSJDb250ZW50LUxhbmd1YWdlIiBjb250ZW50 PSJ1cyI+CjxtZXRhIGh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSIgY29udGVudD0idGV4dC9odG1s OyBjaGFyc2V0PWlzby04ODU5LTEiPgo8L2hlYWQ+Cjxib2R5IGJhY2tncm91bmQ9Imh0dHA6Ly9p bWFnZXMudmVrdXFhZHVuLmNuL3Nub3cuZ2lmIj4KPHAgYWxpZ249ImNlbnRlciI+PGEgaHJlZj0i aHR0cDovL2plYm1peC52ZWt1cWFkdW4uY24vIj4KPGltZyBib3JkZXI9IjAiIHNyYz0iaHR0cDov L2ltYWdlcy52ZWt1cWFkdW4uY24vbmV3LmpwZyI+PC9hPjwvcD4KPGRpdiBhbGlnbj0iY2VudGVy Ij4KICA8dGFibGUgYm9yZGVyPSIwIiB3aWR0aD0iNTAwIiBjZWxsc3BhY2luZz0iMCIgY2VsbHBh ZGRpbmc9IjAiIGJnY29sb3I9IiNCN0Q0RkYiIHN0eWxlPSJmb250LWZhbWlseTogVGFob21hOyBm b250LXNpemU6IDEwcHQiPgogICAgPHRyPgogICAgICA8dGQ+CiAgICAgIDxibG9ja3F1b3RlPjxw Pjxicj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRoaXMgZW1haWwuIFRvIGNvbnRh Y3QgQ29tbXVuaWNhdGlvbnMtUGFjaWZpYyBJbmMsIHBsZWFzZQogICAgICAgIHZpc2l0IDxhIGhy ZWY9Imh0dHA6Ly96b3dkb2gudmVrdXFhZHVuLmNuLyI+dXM8L2E+PC9wPgogICAgICAgIDxocj48 cD48Zm9udCBzaXplPSIxIj5UaGlzIGVtYWlsIG1lc3NhZ2Ugd2FzIHNlbnQgdG8gaGliZXJuYXRl LWNvbW1pdHNAbGlzdHMuamJvc3Mub3JnLiBJZgogICAgICAgIHlvdSBkbyBub3Qgd2lzaCB0byBy ZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBDb21tdW5pY2F0aW9ucy1QYWNpZmlj IEluYywKICAgICAgICBjbGljayA8YSBocmVmPSJodHRwOi8va3dyY3cudmVrdXFhZHVuLmNuL3Vu c3Vic2NyaWJlLnBocD9tc2dpZD00ZDE3YTNmNTI3Njc5ZDg4MmE5NTQ5MTI0MzYwZiI+CiAgICAg ICAgaGVyZTwvYT4gdG8gdW5zdWJzY3JpYmUuCiAgICAgICAgPC9mb250PjwvcD48cD48Zm9udCBz aXplPSIxIj5JZiB5b3UndmUgZXhwZXJpZW5jZSBhbnkgZGlmZmljdWx0eQogICAgICAgIGluIGJl aW5nIHJlbW92ZWQgZnJvbSBhIENvbW11bmljYXRpb25zLVBhY2lmaWMgSW5jIGVtYWlsIGxpc3Qs IGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9oYmJhYWEudmVrdXFhZHVuLmNuL2FjY291bnQucGhwP21z Z2lkPTgzZWZlMjEwMjNlMjAzODFjMzIxNjIiPgogICAgICAgIGhlcmU8L2E+IGZvciBwZXJzb25h bGl6ZWQgaGVscC48L2ZvbnQ+PC9wPjxocj4KICAgICAgICA8cD48Zm9udCBzaXplPSIxIj5Db3B5 cmlnaHQgqSAyMDA4IENvbW11bmljYXRpb25zLVBhY2lmaWMgSW5jLCBJbmMuIEFsbCByaWdodHMg cmVzZXJ2ZWQuPGJyPgogICAgICAgIDc0NSBGb3J0IFN0cmVldCBQZW50aG91c2UsIEhvbm9sdWx1 LCBISSA5NjgxMzwvZm9udD48L3A+PC9ibG9ja3F1b3RlPgogICAgICA8L3RkPgogICAgPC90cj4K ICA8L3RhYmxlPgo8L2Rpdj4KPC9ib2R5Pgo8L2h0bWw+Cg== --===============1703562861251220448==-- From hibernate-commits at lists.jboss.org Wed Dec 31 09:43:32 2008 Content-Type: multipart/mixed; boundary="===============1250759761370475607==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Happy New Year! Date: Wed, 31 Dec 2008 09:43:30 -0500 Message-ID: <200812311443.mBVEhUcD032312@chief.prod.atl2.jboss.com> --===============1250759761370475607== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============1250759761370475607== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1XaW5kb3dzLTEyNTIiPgo8L0hFQUQ+CjxCT0RZPjxicj48YSBo cmVmPSJodHRwOi8vcGVvbnNlbmQuY29tLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMucGVvbnNlbmQuY29tL25ldy5qcGciPjwvYT48L3A+CiAgPHRhYmxlIGJvcmRlcj0iMCIg d2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZm ZmZmIiBzdHlsZT0iZm9udC1mYW1pbHk6IHZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdCI+CiAgICA8 dHI+CiAgICAgIDx0ZD4KICAgICAgPGJyPgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8g dGhpcyBlbWFpbC4gPGJyPlRvIGNvbnRhY3QgTUFYIENvbXBhbnksIHBsZWFzZQogICAgICAgIHZp c2l0IDxhIGhyZWY9Imh0dHA6Ly9wYWlkcGFjdC5jb20vIj5vdXIgd2ViIHBhZ2U8L2E+PC9wPgog ICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCDCqSAyMDA4IE1BWCBDb21wYW55LCBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDA1MDE1IEF0bGFudGEsIFJvdXRl IGRlcyBBY2FjaWFzLCBBVCAxMDg4NTwvZm9udD4KPC90ZD48L3RyPjwvdGFibGU+PC9CT0RZPjwv SFRNTD4K --===============1250759761370475607==-- From hibernate-commits at lists.jboss.org Wed Dec 31 11:10:31 2008 Content-Type: multipart/mixed; boundary="===============7089625955360778588==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Returned mail: Over quota Date: Wed, 31 Dec 2008 11:10:27 -0500 Message-ID: <200812311610.mBVGARur001351@chief.prod.atl2.jboss.com> --===============7089625955360778588== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============7089625955360778588== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YSBocmVmPSJo dHRwOi8vb2ZmZXJyZWZsZWN0aW9uLmNvbS8iIHRhcmdldD0iX2JsYW5rIj4KPGltZyBzcmM9Imh0 dHA6Ly9vZmZlcnJlZmxlY3Rpb24uY29tL3p4Yy5naWYiIGJvcmRlcj0wIGFsdD0iSGF2aW5nIHRy b3VibGUgdmlld2luZyB0aGlzIGVtYWlsPwpDbGljayBoZXJlIHRvIHZpZXcgYXMgYSB3ZWJwYWdl LiI+PC9hPjwvQk9EWT48L0hUTUw+Cg== --===============7089625955360778588==-- From hibernate-commits at lists.jboss.org Wed Dec 31 12:18:50 2008 Content-Type: multipart/mixed; boundary="===============4599243015483811793==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] The age of miracles is not past Date: Wed, 31 Dec 2008 12:18:46 -0500 Message-ID: <200812311718.mBVHIkal002852@chief.prod.atl2.jboss.com> --===============4599243015483811793== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============4599243015483811793== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48Yj48cCBhbGln bj0iY2VudGVyIj48YSBocmVmPSJodHRwOi8va2luZ2thaWQuY29tLyI+CjxpbWcgYm9yZGVyPSIw IiBzcmM9Imh0dHA6Ly9pbWFnZXMua2FpZGxvb2suY29tL25ldy5qcGciPjwvYT48L3A+CjxkaXYg YWxpZ249ImNlbnRlciI+CiAgPHRhYmxlIGJvcmRlcj0iMCIgd2lkdGg9IjUwMCIgY2VsbHNwYWNp bmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZmZmZmIiBzdHlsZT0iZm9udC1mYW1p bHk6IFRhaG9tYTsgZm9udC1zaXplOiAxMHB0Ij4KICAgIDx0cj4KICAgICAgPHRkPgogICAgICA8 YmxvY2txdW90ZT48cD48YnI+CiAgICAgICAgUGxlYXNlIGRvIG5vdCByZXBseSB0byB0aGlzIGVt YWlsLiBUbyBjb250YWN0IEFybXN0cm9uZyBTaGFuayBBZHZlcnRpc2luZywgcGxlYXNlCiAgICAg ICAgdmlzaXQgPGEgaHJlZj0iaHR0cDovL2thaWRsdXNoLmNvbS8iPnVzPC9hPjwvcD4KICAgICAg ICA8aHI+PHA+PGZvbnQgc2l6ZT0iMSI+VGhpcyBlbWFpbCBtZXNzYWdlIHdhcyBzZW50IHRvIDxo aWJlcm5hdGUtY29tbWl0c0BsaXN0cy5qYm9zcy5vcmc+LiBJZgogICAgICAgIHlvdSBkbyBub3Qg d2lzaCB0byByZWNlaXZlIGZ1cnRoZXIgY29tbXVuaWNhdGlvbnMgZnJvbSBBcm1zdHJvbmcgU2hh bmsgQWR2ZXJ0aXNpbmcsCiAgICAgICAgY2xpY2sgPGEgaHJlZj0iaHR0cDovL2thaWRrYWlkcy5j b20vIj4KICAgICAgICBoZXJlPC9hPiB0byB1bnN1YnNjcmliZS4KICAgICAgICA8L2ZvbnQ+PC9w PjxwPjxmb250IHNpemU9IjEiPklmIHlvdSd2ZSBleHBlcmllbmNlIGFueSBkaWZmaWN1bHR5CiAg ICAgICAgaW4gYmVpbmcgcmVtb3ZlZCBmcm9tIGEgQXJtc3Ryb25nIFNoYW5rIEFkdmVydGlzaW5n IGVtYWlsIGxpc3QsIGNsaWNrIDxhIGhyZWY9Imh0dHA6Ly9rYWlkZ3VsZi5jb20vIj4KICAgICAg ICBoZXJlPC9hPiBmb3IgcGVyc29uYWxpemVkIGhlbHAuPC9mb250PjwvcD48aHI+CiAgICAgICAg PHA+PGZvbnQgc2l6ZT0iMSI+Q29weXJpZ2h0IMKpIDIwMDggQXJtc3Ryb25nIFNoYW5rIEFkdmVy dGlzaW5nLCBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDc0NTAgUyBTZW5l Y2EsIEhheXN2aWxsZSwgS1MgNjcwNjA8L2ZvbnQ+PC9wPjwvYmxvY2txdW90ZT4KPC90ZD48L3Ry PjwvdGFibGU+PC9kaXY+PC9CT0RZPjwvSFRNTD4K --===============4599243015483811793==-- From hibernate-commits at lists.jboss.org Wed Dec 31 14:33:35 2008 Content-Type: multipart/mixed; boundary="===============2092155894793903833==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Happy New Year 2009 Greeting Gifts Date: Wed, 31 Dec 2008 14:33:29 -0500 Message-ID: <200812311933.mBVJXT63005039@chief.prod.atl2.jboss.com> --===============2092155894793903833== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2092155894793903833== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD13aW5kb3dzLTEyNTAiPgo8L0hFQUQ+CjxCT0RZPjxicj48YSBo cmVmPSJodHRwOi8vcGFpZHBlb24uY29tLyI+CjxpbWcgYm9yZGVyPSIwIiBzcmM9Imh0dHA6Ly9p bWFnZXMucGFpZG1pbmUuY29tL25ldy5qcGciPjwvYT48L3A+CiAgPHRhYmxlIGJvcmRlcj0iMCIg d2lkdGg9IjUwMCIgY2VsbHNwYWNpbmc9IjAiIGNlbGxwYWRkaW5nPSIwIiBiZ2NvbG9yPSIjZmZm ZmZmIiBzdHlsZT0iZm9udC1mYW1pbHk6IHZlcmRhbmE7IGZvbnQtc2l6ZTogMTBwdCI+CiAgICA8 dHI+CiAgICAgIDx0ZD4KICAgICAgPGJyPgogICAgICAgIFBsZWFzZSBkbyBub3QgcmVwbHkgdG8g dGhpcyBlbWFpbC4gPGJyPlRvIGNvbnRhY3QgTUFYIENvbXBhbnksIHBsZWFzZQogICAgICAgIHZp c2l0IDxhIGhyZWY9Imh0dHA6Ly9wZW9ucnVzaC5jb20vIj5vdXIgd2ViIHBhZ2U8L2E+PC9wPgog ICAgICAgIDxwPjxmb250IHNpemU9IjEiPkNvcHlyaWdodCDCqSAyMDA4IE1BWCBDb21wYW55LCBJ bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuPGJyPgogICAgICAgIDI5NDUwIEF0bGFudGEsIFJvdXRl IGRlcyBBY2FjaWFzLCBBVCA0NTI3MDwvZm9udD4KPC90ZD48L3RyPjwvdGFibGU+PC9CT0RZPjwv SFRNTD4K --===============2092155894793903833==-- From hibernate-commits at lists.jboss.org Wed Dec 31 17:03:17 2008 Content-Type: multipart/mixed; boundary="===============2799804240059183266==" MIME-Version: 1.0 From: hibernate-commits at lists.jboss.org To: hibernate-commits at lists.jboss.org Subject: [hibernate-commits] Dear , Happy New Year! Date: Wed, 31 Dec 2008 17:03:15 -0500 Message-ID: <200812312203.mBVM3FnU007071@chief.prod.atl2.jboss.com> --===============2799804240059183266== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable --===============2799804240059183266== Content-Type: text/html MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="attachment.html" PCFET0NUWVBFIEhUTUwgUFVCTElDICItLy9XM0MvL0RURCBIVE1MIDQuMCBUcmFuc2l0aW9uYWwv L0VOIj4KPEhUTUw+PEhFQUQ+CjxNRVRBIGh0dHAtZXF1aXY9Q29udGVudC1UeXBlIGNvbnRlbnQ9 InRleHQvaHRtbDsgY2hhcnNldD1pc28tODg1OS0xIj4KPC9IRUFEPgo8Qk9EWT48YnI+PGEgaHJl Zj0iaHR0cDovL3Blb25wYWdlLmNvbS8iPgo8aW1nIGJvcmRlcj0iMCIgc3JjPSJodHRwOi8vaW1h Z2VzLnBhaWRtZWxkLmNvbS9uZXcuanBnIj48L2E+PC9wPgogIDx0YWJsZSBib3JkZXI9IjAiIHdp ZHRoPSI1MDAiIGNlbGxzcGFjaW5nPSIwIiBjZWxscGFkZGluZz0iMCIgYmdjb2xvcj0iI2ZmZmZm ZiIgc3R5bGU9ImZvbnQtZmFtaWx5OiB2ZXJkYW5hOyBmb250LXNpemU6IDEwcHQiPgogICAgPHRy PgogICAgICA8dGQ+CiAgICAgIDxicj4KICAgICAgICBQbGVhc2UgZG8gbm90IHJlcGx5IHRvIHRo aXMgZW1haWwuIDxicj5UbyBjb250YWN0IE1BWCBDb21wYW55LCBwbGVhc2UKICAgICAgICB2aXNp dCA8YSBocmVmPSJodHRwOi8vcGVvbnBhZ2UuY29tLyI+b3VyIHdlYiBwYWdlPC9hPjwvcD4KICAg ICAgICA8cD48Zm9udCBzaXplPSIxIj5Db3B5cmlnaHQgwqkgMjAwOCBNQVggQ29tcGFueSwgSW5j LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxicj4KICAgICAgICA2MzYzMSBBdGxhbnRhLCBSb3V0ZSBk ZXMgQWNhY2lhcywgQVQgMDQ3MzM8L2ZvbnQ+CjwvdGQ+PC90cj48L3RhYmxlPjwvQk9EWT48L0hU TUw+Cg== --===============2799804240059183266==--