This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new 485288d555 OAK-10043: refactor AbstractDataStoreService so that it
doesn't need the statisticsProvider OSGi reference (#1113)
485288d555 is described below
commit 485288d5557f85681ebaff1f2e9846ee4d94e2f5
Author: Julian Reschke <[email protected]>
AuthorDate: Mon Sep 11 18:13:13 2023 +0200
OAK-10043: refactor AbstractDataStoreService so that it doesn't need the
statisticsProvider OSGi reference (#1113)
---
.../azure/blobstorage/AbstractAzureDataStoreService.java | 13 +++++++++++++
.../oak/blob/cloud/s3/AbstractS3DataStoreService.java | 14 ++++++++++++++
.../plugins/blob/datastore/AbstractDataStoreService.java | 16 +++-------------
.../oak/plugins/blob/datastore/DbDataStoreService.java | 12 ++++++++++++
.../oak/plugins/blob/datastore/FileDataStoreService.java | 13 +++++++++++++
5 files changed, 55 insertions(+), 13 deletions(-)
diff --git
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AbstractAzureDataStoreService.java
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AbstractAzureDataStoreService.java
index 6e4a325e04..8dfd6841b6 100644
---
a/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AbstractAzureDataStoreService.java
+++
b/oak-blob-cloud-azure/src/main/java/org/apache/jackrabbit/oak/blob/cloud/azure/blobstorage/AbstractAzureDataStoreService.java
@@ -19,10 +19,12 @@
package org.apache.jackrabbit.oak.blob.cloud.azure.blobstorage;
+import org.apache.felix.scr.annotations.Reference;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.core.data.DataStoreException;
import org.apache.jackrabbit.oak.plugins.blob.AbstractSharedCachingDataStore;
import
org.apache.jackrabbit.oak.plugins.blob.datastore.AbstractDataStoreService;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
@@ -37,6 +39,9 @@ public abstract class AbstractAzureDataStoreService extends
AbstractDataStoreSer
private ServiceRegistration delegateReg;
+ @Reference
+ private StatisticsProvider statisticsProvider;
+
@Override
protected DataStore createDataStore(ComponentContext context, Map<String,
Object> config) {
Properties properties = new Properties();
@@ -65,6 +70,14 @@ public abstract class AbstractAzureDataStoreService extends
AbstractDataStoreSer
super.deactivate();
}
+ protected StatisticsProvider getStatisticsProvider(){
+ return statisticsProvider;
+ }
+
+ protected void setStatisticsProvider(StatisticsProvider
statisticsProvider) {
+ this.statisticsProvider = statisticsProvider;
+ }
+
@Override
protected String[] getDescription() {
return new String[] {"type=AzureBlob"};
diff --git
a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/AbstractS3DataStoreService.java
b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/AbstractS3DataStoreService.java
index 47fa51ddfa..f2c823a436 100644
---
a/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/AbstractS3DataStoreService.java
+++
b/oak-blob-cloud/src/main/java/org/apache/jackrabbit/oak/blob/cloud/s3/AbstractS3DataStoreService.java
@@ -25,10 +25,12 @@ import java.util.Map;
import java.util.Properties;
import org.apache.felix.scr.annotations.Component;
+import org.apache.felix.scr.annotations.Reference;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.core.data.DataStoreException;
import org.apache.jackrabbit.oak.plugins.blob.AbstractSharedCachingDataStore;
import
org.apache.jackrabbit.oak.plugins.blob.datastore.AbstractDataStoreService;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
@@ -39,6 +41,9 @@ public abstract class AbstractS3DataStoreService extends
AbstractDataStoreServic
private ServiceRegistration delegateReg;
+ @Reference
+ private StatisticsProvider statisticsProvider;
+
@Override
protected DataStore createDataStore(ComponentContext context, Map<String,
Object> config) {
Properties properties = new Properties();
@@ -67,6 +72,15 @@ public abstract class AbstractS3DataStoreService extends
AbstractDataStoreServic
super.deactivate();
}
+ @Override
+ protected StatisticsProvider getStatisticsProvider(){
+ return statisticsProvider;
+ }
+
+ protected void setStatisticsProvider(StatisticsProvider
statisticsProvider) {
+ this.statisticsProvider = statisticsProvider;
+ }
+
@Override
protected String[] getDescription() {
return new String[] {"type=S3"};
diff --git
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
index ab9ebc1ad3..bfb3c68eb3 100644
---
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
+++
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/AbstractDataStoreService.java
@@ -30,8 +30,6 @@ import javax.jcr.RepositoryException;
import org.apache.jackrabbit.guava.common.base.Strings;
import org.apache.jackrabbit.guava.common.collect.Maps;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.core.data.DataStoreException;
import org.apache.jackrabbit.oak.api.blob.BlobAccessProvider;
@@ -53,7 +51,6 @@ import org.osgi.service.component.ComponentContext;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-@Component(componentAbstract = true)
public abstract class AbstractDataStoreService {
private static final String PROP_HOME = "repository.home";
private static final String PATH = "path";
@@ -67,9 +64,6 @@ public abstract class AbstractDataStoreService {
private Logger log = LoggerFactory.getLogger(getClass());
- @Reference
- private StatisticsProvider statisticsProvider;
-
private DataStoreBlobStore dataStore;
protected void activate(ComponentContext context, Map<String, Object>
config) throws RepositoryException {
@@ -124,18 +118,14 @@ public abstract class AbstractDataStoreService {
protected abstract DataStore createDataStore(ComponentContext context,
Map<String, Object> config);
- protected StatisticsProvider getStatisticsProvider(){
- return statisticsProvider;
- }
+ protected abstract StatisticsProvider getStatisticsProvider();
+
+ protected abstract void setStatisticsProvider(StatisticsProvider
statisticsProvider);
protected String[] getDescription(){
return new String[] {"type=unknown"};
}
- void setStatisticsProvider(StatisticsProvider statisticsProvider) {
- this.statisticsProvider = statisticsProvider;
- }
-
protected static String lookup(ComponentContext context, String property) {
//Prefer property from BundleContext first
if (context.getBundleContext().getProperty(property) != null) {
diff --git
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DbDataStoreService.java
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DbDataStoreService.java
index 5143ef260c..fc7f69baa4 100644
---
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DbDataStoreService.java
+++
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/DbDataStoreService.java
@@ -27,6 +27,7 @@ import org.apache.felix.scr.annotations.Reference;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.core.data.db.DbDataStore;
import org.apache.jackrabbit.core.util.db.ConnectionFactory;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.osgi.service.component.ComponentContext;
@Component(policy = ConfigurationPolicy.REQUIRE, name =
DbDataStoreService.NAME)
@@ -36,6 +37,17 @@ public class DbDataStoreService extends
AbstractDataStoreService{
@Reference
private ConnectionFactory connectionFactory;
+ @Reference
+ private StatisticsProvider statisticsProvider;
+
+ protected StatisticsProvider getStatisticsProvider(){
+ return statisticsProvider;
+ }
+
+ protected void setStatisticsProvider(StatisticsProvider
statisticsProvider) {
+ this.statisticsProvider = statisticsProvider;
+ }
+
@Override
protected DataStore createDataStore(ComponentContext context, Map<String,
Object> config) {
DbDataStore dataStore = new DbDataStore();
diff --git
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FileDataStoreService.java
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FileDataStoreService.java
index 97304fc37f..901e9308eb 100644
---
a/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FileDataStoreService.java
+++
b/oak-blob-plugins/src/main/java/org/apache/jackrabbit/oak/plugins/blob/datastore/FileDataStoreService.java
@@ -22,9 +22,11 @@ package org.apache.jackrabbit.oak.plugins.blob.datastore;
import org.apache.jackrabbit.guava.common.base.Preconditions;
import org.apache.felix.scr.annotations.Component;
import org.apache.felix.scr.annotations.ConfigurationPolicy;
+import org.apache.felix.scr.annotations.Reference;
import org.apache.jackrabbit.core.data.DataStore;
import org.apache.jackrabbit.oak.commons.PropertiesUtil;
import org.apache.jackrabbit.oak.plugins.blob.AbstractSharedCachingDataStore;
+import org.apache.jackrabbit.oak.stats.StatisticsProvider;
import org.osgi.framework.Constants;
import org.osgi.framework.ServiceRegistration;
import org.osgi.service.component.ComponentContext;
@@ -49,6 +51,9 @@ public class FileDataStoreService extends
AbstractDataStoreService {
private ServiceRegistration delegateReg;
+ @Reference
+ private StatisticsProvider statisticsProvider;
+
private Logger log = LoggerFactory.getLogger(getClass());
@Override
@@ -97,6 +102,14 @@ public class FileDataStoreService extends
AbstractDataStoreService {
return dataStore;
}
+ protected StatisticsProvider getStatisticsProvider(){
+ return statisticsProvider;
+ }
+
+ protected void setStatisticsProvider(StatisticsProvider
statisticsProvider) {
+ this.statisticsProvider = statisticsProvider;
+ }
+
@Override
protected String[] getDescription() {
return new String[]{"type=filesystem"};