Skip to content

Commit 54f11e4

Browse files
Constraints now work with supplied validator
1 parent c5bb33a commit 54f11e4

11 files changed

Lines changed: 68 additions & 23 deletions

File tree

spring-data-eclipse-store/pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,6 +182,12 @@
182182
<groupId>org.hibernate.orm</groupId>
183183
<artifactId>hibernate-core</artifactId>
184184
<version>${hibernate-core.version}</version>
185+
<exclusions>
186+
<exclusion>
187+
<artifactId>antlr4-runtime</artifactId>
188+
<groupId>org.antlr</groupId>
189+
</exclusion>
190+
</exclusions>
185191
</dependency>
186192
<dependency>
187193
<groupId>jakarta.el</groupId>

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/importer/EclipseStoreDataImporter.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ public EclipseStoreDataImporter(final EclipseStoreClientConfiguration configurat
5151
{
5252
this.configuration = configuration;
5353
}
54-
54+
5555
/**
5656
* Imports entities from all given {@link EntityManagerFactory}s that are available into the EclipseStore storage.
5757
* <p>
@@ -265,7 +265,8 @@ private <T> void createRepositoryForType(
265265
storageInstance,
266266
storageInstance,
267267
new SupportedChecker.Implementation(),
268-
storageInstance
268+
storageInstance,
269+
this.configuration.getValidator()
269270
),
270271
domainClass,
271272
new EclipseStoreTransactionManager(),

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/config/EclipseStoreClientConfiguration.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,16 @@
1515
*/
1616
package software.xdev.spring.data.eclipse.store.repository.config;
1717

18+
import jakarta.validation.Validation;
19+
import jakarta.validation.Validator;
20+
1821
import org.eclipse.store.integrations.spring.boot.types.configuration.EclipseStoreProperties;
1922
import org.eclipse.store.integrations.spring.boot.types.factories.EmbeddedStorageFoundationFactory;
2023
import org.eclipse.store.storage.embedded.types.EmbeddedStorageFoundation;
2124
import org.springframework.beans.factory.ObjectProvider;
2225
import org.springframework.beans.factory.annotation.Autowired;
2326
import org.springframework.boot.autoconfigure.transaction.TransactionManagerCustomizers;
27+
import org.springframework.context.annotation.Bean;
2428
import org.springframework.context.annotation.ComponentScan;
2529
import org.springframework.context.annotation.Configuration;
2630
import org.springframework.transaction.PlatformTransactionManager;
@@ -113,4 +117,10 @@ public EclipseStoreTransactionManager getTransactionManagerInstance()
113117
}
114118
return this.transactionManager;
115119
}
120+
121+
@Bean
122+
public Validator getValidator()
123+
{
124+
return Validation.buildDefaultValidatorFactory().getValidator();
125+
}
116126
}

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/EclipseStoreRepositoryFactory.java

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
import java.util.Optional;
1919

2020
import jakarta.annotation.Nonnull;
21+
import jakarta.validation.Validator;
2122

2223
import org.springframework.data.mapping.model.BasicPersistentEntity;
2324
import org.springframework.data.repository.core.EntityInformation;
@@ -46,13 +47,16 @@ public class EclipseStoreRepositoryFactory extends RepositoryFactorySupport
4647
{
4748
private final EclipseStoreStorage storage;
4849
private final PlatformTransactionManager transactionManager;
50+
private final Validator validator;
4951

5052
public EclipseStoreRepositoryFactory(
5153
final EclipseStoreStorage storage,
52-
final PlatformTransactionManager transactionManager)
54+
final PlatformTransactionManager transactionManager,
55+
final Validator validator)
5356
{
5457
this.storage = storage;
5558
this.transactionManager = transactionManager;
59+
this.validator = validator;
5660
}
5761

5862
@Override
@@ -82,7 +86,8 @@ private <T> WorkingCopier<T> createWorkingCopier(
8286
storage,
8387
storage,
8488
new SupportedChecker.Implementation(),
85-
storage
89+
storage,
90+
this.validator
8691
);
8792
}
8893

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/EclipseStoreRepositoryFactoryBean.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ protected RepositoryFactorySupport createRepositoryFactory()
8181
final EclipseStoreClientConfiguration ensuredConfiguration = this.ensureConfiguration();
8282
return new EclipseStoreRepositoryFactory(
8383
ensuredConfiguration.getStorageInstance(),
84-
ensuredConfiguration.getTransactionManagerInstance()
84+
ensuredConfiguration.getTransactionManagerInstance(),
85+
ensuredConfiguration.getValidator()
8586
);
8687
}
8788

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/copier/registering/AbstractRegisteringCopier.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package software.xdev.spring.data.eclipse.store.repository.support.copier.registering;
1717

18+
import jakarta.validation.Validator;
19+
1820
import org.eclipse.serializer.Serializer;
1921
import org.eclipse.serializer.SerializerFoundation;
2022
import org.eclipse.serializer.persistence.binary.jdk17.java.util.BinaryHandlerImmutableCollectionsList12;
@@ -42,7 +44,8 @@ protected AbstractRegisteringCopier(
4244
final SupportedChecker supportedChecker,
4345
final RegisteringWorkingCopyAndOriginal register,
4446
final ObjectSwizzling objectSwizzling,
45-
final WorkingCopier<?> copier)
47+
final WorkingCopier<?> copier,
48+
final Validator validator)
4649
{
4750
this.actualCopier = new EclipseSerializerRegisteringCopier(
4851
supportedChecker,
@@ -52,7 +55,8 @@ protected AbstractRegisteringCopier(
5255
this.createSerializerFoundation(),
5356
objectSwizzling,
5457
copier
55-
)
58+
),
59+
validator
5660
);
5761
}
5862

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/copier/registering/EclipseSerializerRegisteringCopier.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,15 +58,15 @@ public class EclipseSerializerRegisteringCopier implements AutoCloseable
5858
public EclipseSerializerRegisteringCopier(
5959
final SupportedChecker supportedChecker,
6060
final RegisteringWorkingCopyAndOriginal register,
61-
final Supplier<PersistenceManager<Binary>> persistenceManagerSupplier)
61+
final Supplier<PersistenceManager<Binary>> persistenceManagerSupplier,
62+
final Validator validator
63+
)
6264
{
6365
this.supportedChecker = supportedChecker;
6466
this.register = register;
6567
this.persistenceManagerSupplier = persistenceManagerSupplier;
68+
this.validator = validator;
6669
this.persistenceManagers = new ConcurrentLinkedQueue<>();
67-
68-
final ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
69-
this.validator = validatorFactory.getValidator();
7070
}
7171

7272
private PersistenceManager<Binary> ensurePersistenceManager()

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/copier/registering/RegisteringStorageToWorkingCopyCopier.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package software.xdev.spring.data.eclipse.store.repository.support.copier.registering;
1717

18+
import jakarta.validation.Validator;
19+
1820
import org.eclipse.serializer.reference.ObjectSwizzling;
1921

2022
import software.xdev.spring.data.eclipse.store.repository.SupportedChecker;
@@ -32,13 +34,15 @@ public RegisteringStorageToWorkingCopyCopier(
3234
final WorkingCopyRegistry registry,
3335
final SupportedChecker supportedChecker,
3436
final ObjectSwizzling objectSwizzling,
35-
final WorkingCopier<?> copier)
37+
final WorkingCopier<?> copier,
38+
final Validator validator)
3639
{
3740
super(
3841
supportedChecker,
3942
registry::register,
4043
objectSwizzling,
41-
copier
44+
copier,
45+
validator
4246
);
4347
}
4448
}

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/copier/registering/RegisteringWorkingCopyToStorageCopier.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package software.xdev.spring.data.eclipse.store.repository.support.copier.registering;
1717

18+
import jakarta.validation.Validator;
19+
1820
import org.eclipse.serializer.reference.ObjectSwizzling;
1921

2022
import software.xdev.spring.data.eclipse.store.repository.SupportedChecker;
@@ -33,13 +35,15 @@ public RegisteringWorkingCopyToStorageCopier(
3335
final WorkingCopyRegistry registry,
3436
final SupportedChecker supportedChecker,
3537
final ObjectSwizzling objectSwizzling,
36-
final WorkingCopier<?> copier)
38+
final WorkingCopier<?> copier,
39+
final Validator validator)
3740
{
3841
super(
3942
supportedChecker,
4043
registry::invertRegister,
4144
objectSwizzling,
42-
copier
45+
copier,
46+
validator
4347
);
4448
}
4549
}

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/support/copier/working/RecursiveWorkingCopier.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import java.util.TreeMap;
2929
import java.util.TreeSet;
3030

31+
import jakarta.validation.Validator;
32+
3133
import org.eclipse.serializer.reference.Lazy;
3234
import org.eclipse.serializer.reference.ObjectSwizzling;
3335
import org.slf4j.Logger;
@@ -72,15 +74,16 @@ public RecursiveWorkingCopier(
7274
final VersionManagerProvider versionManagerProvider,
7375
final PersistableChecker persistableChecker,
7476
final SupportedChecker supportedChecker,
75-
final ObjectSwizzling objectSwizzling
77+
final ObjectSwizzling objectSwizzling,
78+
final Validator validator
7679
)
7780
{
7881
this.domainClass = domainClass;
7982
this.registry = registry;
8083
this.workingCopyToStorageCopier =
81-
new RegisteringWorkingCopyToStorageCopier(registry, supportedChecker, objectSwizzling, this);
84+
new RegisteringWorkingCopyToStorageCopier(registry, supportedChecker, objectSwizzling, this, validator);
8285
this.storageToWorkingCopyCopier =
83-
new RegisteringStorageToWorkingCopyCopier(registry, supportedChecker, objectSwizzling, this);
86+
new RegisteringStorageToWorkingCopyCopier(registry, supportedChecker, objectSwizzling, this, validator);
8487
this.idManagerProvider = idManagerProvider;
8588
this.versionManagerProvider = versionManagerProvider;
8689
this.persistableChecker = persistableChecker;

0 commit comments

Comments
 (0)