Author: fdesbois Date: 2010-12-29 17:18:26 +0100 (Wed, 29 Dec 2010) New Revision: 446 Url: http://nuiton.org/repositories/revision/sandbox/446 Log: Missing new classes Added: jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/DataProviderLimit.java jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/UseDataProvider.java jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/test/RandomFunction.java Added: jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/DataProviderLimit.java =================================================================== --- jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/DataProviderLimit.java (rev 0) +++ jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/DataProviderLimit.java 2010-12-29 16:18:26 UTC (rev 446) @@ -0,0 +1,43 @@ +package org.nuiton.sandbox.jsr317.jpa2.sample; + +/** + * Limit creation in {@link DataSampleProvider} avoiding too many insertion on each usage. + * <p/> + * Created on 29 nov. 2010 + * + * @author fdesbois <florian.desbois@wiztivi.com> + * @version $Id: DataProviderLimit.java 52484 2010-12-27 14:52:28Z fdesbois $ + */ +public enum DataProviderLimit { + + /** + * Location objets only (Town, Department, Region, Country) + */ + LOCATIONS_ONLY, + + /** + * ClassifiedAd objects only inluding Locations (Attorney, ClassifiedAd, RealEstate, RealEstateAgency, + * RealEstateNetwork, RealEstatePartner). + */ + CLASSIFIED_ADS_ONLY, + + /** + * VideoPartners objects only inluding Locations (Video, VideoPartner, VideoLocation, VideoPartnerLocation, + * Category, EntryPoint). + */ + VIDEOS_ONLY, + + /** + * All model objects + */ + ALL; + + boolean hasVideos() { + return VIDEOS_ONLY.equals(this) || ALL.equals(this); + } + + boolean hasClassifiedAds() { + return CLASSIFIED_ADS_ONLY.equals(this) || ALL.equals(this); + } + +} Added: jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/UseDataProvider.java =================================================================== --- jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/UseDataProvider.java (rev 0) +++ jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/sample/UseDataProvider.java 2010-12-29 16:18:26 UTC (rev 446) @@ -0,0 +1,27 @@ +package org.nuiton.sandbox.jsr317.jpa2.sample; + +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +import static org.nuiton.sandbox.jsr317.jpa2.sample.DataProviderLimit.ALL; + +/** + * Created on 15 nov. 2010 + * + * @author fdesbois <florian.desbois@wiztivi.com> + * @version $Id$ + */ +@Target({ElementType.METHOD, ElementType.TYPE}) +@Retention(RetentionPolicy.RUNTIME) +public @interface UseDataProvider { + + boolean value() default true; + + /** + * @return Limit the insertions to a part of the model defined by {@link DataProviderLimit} + */ + DataProviderLimit limit() default ALL; + +} Added: jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/test/RandomFunction.java =================================================================== --- jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/test/RandomFunction.java (rev 0) +++ jpa2-validation/trunk/jsr317-jpa2/src/test/java/org/nuiton/sandbox/jsr317/jpa2/test/RandomFunction.java 2010-12-29 16:18:26 UTC (rev 446) @@ -0,0 +1,24 @@ +package org.nuiton.sandbox.jsr317.jpa2.test; + +import javax.persistence.criteria.CriteriaBuilder; + +import org.hibernate.ejb.criteria.CriteriaBuilderImpl; +import org.hibernate.ejb.criteria.expression.function.BasicFunctionExpression; + +/** + * Extension of {@link BasicFunctionExpression} from Hibernate used to execute rand function in orderBy. + * <p/> + * Created on 17 nov. 2010 + * + * @author fdesbois <florian.desbois@wiztivi.com> + * @version $Id: RandomFunction.java 48848 2010-11-18 09:48:00Z fdesbois $ + */ +public class RandomFunction extends BasicFunctionExpression<Object> { + + public static final String NAME = "rand"; + + public RandomFunction(CriteriaBuilder criteriaBuilder) { + super((CriteriaBuilderImpl) criteriaBuilder, Object.class, NAME); + } + +}