Skip to content

Commit 93f5e03

Browse files
Cleanup Lazy
1 parent a8f408f commit 93f5e03

7 files changed

Lines changed: 35 additions & 87 deletions

File tree

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/lazy/LazyInterceptor.java

Lines changed: 0 additions & 22 deletions
This file was deleted.

spring-data-eclipse-store/src/main/java/software/xdev/spring/data/eclipse/store/repository/lazy/LazyProxyGenerator.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

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

Lines changed: 21 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,13 @@
2020
import org.eclipse.serializer.persistence.binary.jdk17.java.util.BinaryHandlerImmutableCollectionsList12;
2121
import org.eclipse.serializer.persistence.binary.jdk17.java.util.BinaryHandlerImmutableCollectionsSet12;
2222
import org.eclipse.serializer.persistence.binary.types.Binary;
23+
import org.eclipse.serializer.persistence.types.PersistenceManager;
24+
import org.eclipse.serializer.reference.ObjectSwizzling;
2325
import org.eclipse.serializer.reference.Reference;
2426
import org.eclipse.serializer.util.X;
2527

2628
import software.xdev.spring.data.eclipse.store.repository.SupportedChecker;
29+
import software.xdev.spring.data.eclipse.store.repository.lazy.SpringDataEclipseStoreLazyBinaryHandler;
2730

2831

2932
/**
@@ -37,25 +40,36 @@ public abstract class AbstractRegisteringCopier implements RegisteringObjectCopi
3740
public AbstractRegisteringCopier(
3841
final SupportedChecker supportedChecker,
3942
final RegisteringWorkingCopyAndOriginal register,
40-
final PersistenceManagerProvider persistenceManagerProvider)
43+
final ObjectSwizzling objectSwizzling)
4144
{
4245
this.actualCopier = new EclipseSerializerRegisteringCopier(
4346
supportedChecker,
4447
register,
45-
persistenceManagerProvider.createPersistenceManager(this.createSerializerFoundation())
48+
this.createPersistenceManager(
49+
this.createSerializerFoundation(),
50+
objectSwizzling
51+
)
4652
);
4753
}
4854

55+
private PersistenceManager<Binary> createPersistenceManager(
56+
final SerializerFoundation<?> serializerFoundation,
57+
final ObjectSwizzling objectSwizzling)
58+
{
59+
return serializerFoundation
60+
.registerCustomTypeHandler(BinaryHandlerImmutableCollectionsSet12.New())
61+
.registerCustomTypeHandler(BinaryHandlerImmutableCollectionsList12.New())
62+
.registerCustomTypeHandlers(new SpringDataEclipseStoreLazyBinaryHandler(objectSwizzling))
63+
.createPersistenceManager();
64+
}
65+
4966
protected SerializerFoundation<?> createSerializerFoundation()
5067
{
51-
final SerializerFoundation<?> newFoundation = SerializerFoundation.New();
52-
newFoundation.registerCustomTypeHandler(BinaryHandlerImmutableCollectionsSet12.New());
53-
newFoundation.registerCustomTypeHandler(BinaryHandlerImmutableCollectionsList12.New());
54-
5568
final Reference<Binary> buffer = X.Reference(null);
5669
final Serializer.Source source = () -> X.Constant(buffer.get());
5770
final Serializer.Target target = buffer::set;
58-
return newFoundation
71+
72+
return SerializerFoundation.New()
5973
.setPersistenceSource(source)
6074
.setPersistenceTarget(target)
6175
// Make every type persistable.

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

Lines changed: 0 additions & 12 deletions
This file was deleted.

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

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,10 @@
1515
*/
1616
package software.xdev.spring.data.eclipse.store.repository.support.copier.copier;
1717

18-
import org.eclipse.serializer.SerializerFoundation;
19-
import org.eclipse.serializer.persistence.binary.types.Binary;
20-
import org.eclipse.serializer.persistence.types.PersistenceManager;
2118
import org.eclipse.serializer.reference.ObjectSwizzling;
2219

2320
import software.xdev.spring.data.eclipse.store.repository.SupportedChecker;
2421
import software.xdev.spring.data.eclipse.store.repository.WorkingCopyRegistry;
25-
import software.xdev.spring.data.eclipse.store.repository.lazy.SpringDataEclipseStoreLazyBinaryHandler;
2622

2723

2824
/**
@@ -39,16 +35,7 @@ public RegisteringStorageToWorkingCopyCopier(
3935
super(
4036
supportedChecker,
4137
(workingCopy, objectToStore) -> registry.register(workingCopy, objectToStore),
42-
(serializerFoundation) -> createPersistenceManager(serializerFoundation, objectSwizzling)
38+
objectSwizzling
4339
);
4440
}
45-
46-
private static PersistenceManager<Binary> createPersistenceManager(
47-
final SerializerFoundation<?> serializerFoundation,
48-
final ObjectSwizzling objectSwizzling)
49-
{
50-
return serializerFoundation
51-
.registerCustomTypeHandlers(new SpringDataEclipseStoreLazyBinaryHandler(objectSwizzling))
52-
.createPersistenceManager();
53-
}
5441
}

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

Lines changed: 1 addition & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -15,14 +15,10 @@
1515
*/
1616
package software.xdev.spring.data.eclipse.store.repository.support.copier.copier;
1717

18-
import org.eclipse.serializer.SerializerFoundation;
19-
import org.eclipse.serializer.persistence.binary.types.Binary;
20-
import org.eclipse.serializer.persistence.types.PersistenceManager;
2118
import org.eclipse.serializer.reference.ObjectSwizzling;
2219

2320
import software.xdev.spring.data.eclipse.store.repository.SupportedChecker;
2421
import software.xdev.spring.data.eclipse.store.repository.WorkingCopyRegistry;
25-
import software.xdev.spring.data.eclipse.store.repository.lazy.SpringDataEclipseStoreLazyBinaryHandler;
2622

2723

2824
/**
@@ -40,16 +36,7 @@ public RegisteringWorkingCopyToStorageCopier(
4036
super(
4137
supportedChecker,
4238
(workingCopy, objectToStore) -> registry.invertRegister(workingCopy, objectToStore),
43-
(serializerFoundation) -> createPersistenceManager(serializerFoundation, objectSwizzling)
39+
objectSwizzling
4440
);
4541
}
46-
47-
private static PersistenceManager<Binary> createPersistenceManager(
48-
final SerializerFoundation<?> serializerFoundation,
49-
final ObjectSwizzling objectSwizzling)
50-
{
51-
return serializerFoundation
52-
.registerCustomTypeHandlers(new SpringDataEclipseStoreLazyBinaryHandler(objectSwizzling))
53-
.createPersistenceManager();
54-
}
5542
}

spring-data-eclipse-store/src/test/java/software/xdev/spring/data/eclipse/store/integration/isolated/tests/lazy/LazyTest.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import org.eclipse.serializer.collections.lazy.LazyList;
2222
import org.eclipse.serializer.reference.Lazy;
2323
import org.junit.jupiter.api.Assertions;
24+
import org.junit.jupiter.api.Disabled;
2425
import org.junit.jupiter.api.Test;
2526
import org.springframework.beans.factory.annotation.Autowired;
2627
import org.springframework.test.context.ContextConfiguration;
@@ -39,6 +40,7 @@ class LazyTest
3940
private LazyTestConfiguration configuration;
4041

4142
@Test
43+
@Disabled("This should work at some point. At least a warning should be displayed.")
4244
void lazyListStore(@Autowired final ObjectWithLazyListRepository repository)
4345
{
4446
final ObjectWithLazyList newList = new ObjectWithLazyList();
@@ -86,6 +88,16 @@ void lazyClearBeforeSave(@Autowired final ObjectWithLazyRepository repository)
8688
Assertions.assertThrows(IllegalStateException.class, () -> newLazy.getLazy().clear());
8789
}
8890

91+
@Test
92+
@Disabled("This should work at some point. At least a warning should be displayed.")
93+
void lazyUseEclipseStoreLazy(@Autowired final ObjectWithLazyRepository repository)
94+
{
95+
final ObjectWithLazy newLazy = new ObjectWithLazy();
96+
final SimpleObject objectToStore = new SimpleObject(TestData.DUMMY_STRING);
97+
newLazy.setLazy(Lazy.Reference(objectToStore));
98+
Assertions.assertThrows(Exception.class, () -> repository.save(newLazy));
99+
}
100+
89101
@Test
90102
void lazyClearAfterSave(@Autowired final ObjectWithLazyRepository repository)
91103
{

0 commit comments

Comments
 (0)