Skip to content

Commit 7333143

Browse files
Added Javadoc
1 parent ea99874 commit 7333143

File tree

8 files changed

+48
-5
lines changed

8 files changed

+48
-5
lines changed

spring-data-eclipse-store-demo/src/main/java/software/xdev/spring/data/eclipse/store/demo/dual/storage/invoice/PersistenceInvoiceConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
public class PersistenceInvoiceConfiguration extends EclipseStoreClientConfiguration
2121
{
2222
@Override
23-
public EmbeddedStorageFoundation<?> getEmbeddedStorageFoundation()
23+
public EmbeddedStorageFoundation<?> createEmbeddedStorageFoundation()
2424
{
2525
return Foundation(Storage.Configuration(Storage.FileProvider(Path.of("storage-invoice"))));
2626
}

spring-data-eclipse-store-demo/src/main/java/software/xdev/spring/data/eclipse/store/demo/dual/storage/person/PersistencePersonConfiguration.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
public class PersistencePersonConfiguration extends EclipseStoreClientConfiguration
2121
{
2222
@Override
23-
public EmbeddedStorageFoundation<?> getEmbeddedStorageFoundation()
23+
public EmbeddedStorageFoundation<?> createEmbeddedStorageFoundation()
2424
{
2525
return Foundation(Storage.Configuration(Storage.FileProvider(Path.of("storage-person"))));
2626
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -78,7 +78,7 @@ private synchronized void ensureEntitiesInRoot()
7878
LOG.info("Starting storage...");
7979
this.root = new Root();
8080
final EmbeddedStorageFoundation<?> embeddedStorageFoundation =
81-
this.foundationProvider.getEmbeddedStorageFoundation();
81+
this.foundationProvider.createEmbeddedStorageFoundation();
8282
embeddedStorageFoundation.registerTypeHandler(BinaryHandlerImmutableCollectionsSet12.New());
8383
embeddedStorageFoundation.registerTypeHandler(BinaryHandlerImmutableCollectionsList12.New());
8484
this.storageManager = embeddedStorageFoundation.start(this.root);

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

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,11 @@
1818
import org.springframework.context.annotation.Configuration;
1919

2020

21+
/**
22+
* Provides the Default implementation of an {@link EclipseStoreClientConfiguration}. The class can't be final because
23+
* of the {@link Configuration}-Annotation. It's mostly used to check if the user wants the default implementation or if
24+
* he created a different {@link EclipseStoreClientConfiguration}.
25+
*/
2126
@Configuration(proxyBeanMethods = false)
2227
public class DefaultEclipseStoreClientConfiguration extends EclipseStoreClientConfiguration
2328
{

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

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,31 @@
2020
import org.eclipse.store.integrations.spring.boot.types.configuration.EclipseStoreProperties;
2121
import org.eclipse.store.storage.embedded.types.EmbeddedStorageFoundation;
2222
import org.springframework.beans.factory.annotation.Autowired;
23+
import org.springframework.beans.factory.annotation.Qualifier;
2324
import org.springframework.context.annotation.Configuration;
2425

2526
import software.xdev.spring.data.eclipse.store.repository.EclipseStoreStorage;
2627

2728

29+
/**
30+
* Defines the configuration of a single EclipseStore-Storage.
31+
* <p>
32+
* Configuration is possible through default EclipseStore-Behavior.<br/> See <a
33+
* href="https://docs.eclipsestore.io/manual/misc/integrations/spring-boot.html">EclipseStore documentation</a>
34+
* </p>
35+
* <p>
36+
* It's also possible to inherit this configuration and override {@link #createEmbeddedStorageFoundation()}
37+
* </p>
38+
* <p>
39+
* Also creates a singleton reference to a {@link EclipseStoreStorage}. This is to only create one EclipseStore-Storage
40+
* for one configuration.
41+
* </p>
42+
*/
2843
@Configuration(proxyBeanMethods = false)
2944
public abstract class EclipseStoreClientConfiguration implements EclipseStoreStorageFoundationProvider
3045
{
3146
@Autowired
47+
@Qualifier("eclipseStoreProperties")
3248
private EclipseStoreProperties defaultEclipseStoreProperties;
3349

3450
@Autowired
@@ -46,8 +62,12 @@ public EclipseStoreProvider getStoreProvider()
4662
return this.defaultEclipseStoreProvider;
4763
}
4864

65+
/**
66+
* Creates a {@link EmbeddedStorageFoundation} out of the two other provided functions {@link #getStoreProvider()}
67+
* and {@link #getStoreConfiguration()}.
68+
*/
4969
@Override
50-
public EmbeddedStorageFoundation<?> getEmbeddedStorageFoundation()
70+
public EmbeddedStorageFoundation<?> createEmbeddedStorageFoundation()
5171
{
5272
return this.getStoreProvider().createStorageFoundation(this.getStoreConfiguration());
5373
}

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

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,12 @@ public String getRepositoryFactoryBeanClassName()
7070
return EclipseStoreRepositoryFactoryBean.class.getName();
7171
}
7272

73+
/**
74+
* This method puts the {@link EclipseStoreRepositoryFactoryBean#configuration} in the created
75+
* {@link EclipseStoreRepositoryFactoryBean}. This is important to link
76+
* {@link EnableEclipseStoreRepositories#clientConfiguration()} with the actual
77+
* {@link software.xdev.spring.data.eclipse.store.repository.EclipseStoreStorage}.
78+
*/
7379
@Override
7480
public void postProcess(final BeanDefinitionBuilder builder, final AnnotationRepositoryConfigurationSource config)
7581
{

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

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,11 @@
1818
import org.eclipse.store.storage.embedded.types.EmbeddedStorageFoundation;
1919

2020

21+
/**
22+
* Wraps access to a {@link EmbeddedStorageFoundation} into a single interface to have looser coupling towards
23+
* EclipseStore.
24+
*/
2125
public interface EclipseStoreStorageFoundationProvider
2226
{
23-
EmbeddedStorageFoundation<?> getEmbeddedStorageFoundation();
27+
EmbeddedStorageFoundation<?> createEmbeddedStorageFoundation();
2428
}

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

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,10 +83,18 @@
8383

8484
String CLIENT_CONFIGURATION_ANNOTATION_VALUE = "clientConfiguration";
8585

86+
/**
87+
* @return the name of a {@link EclipseStoreClientConfiguration} to use.
88+
* {@link DefaultEclipseStoreClientConfiguration} is used if not defined.
89+
*/
8690
String clientConfiguration() default "defaultEclipseStoreClientConfiguration";
8791

8892
String CLIENT_CONFIGURATION_CLASS_ANNOTATION_VALUE = "clientConfigurationClass";
8993

94+
/**
95+
* @return the class of a {@link EclipseStoreClientConfiguration} to use.
96+
* {@link DefaultEclipseStoreClientConfiguration} is used if not defined.
97+
*/
9098
Class<? extends EclipseStoreClientConfiguration> clientConfigurationClass() default DefaultEclipseStoreClientConfiguration.class;
9199

92100
/**

0 commit comments

Comments
 (0)