SLING-9668 Make clamd service a content analyzer
make operation and provider configurable
diff --git a/src/main/java/org/apache/sling/commons/clam/internal/ClamdService.java b/src/main/java/org/apache/sling/commons/clam/internal/ClamdService.java
index 80da576..9753126 100644
--- a/src/main/java/org/apache/sling/commons/clam/internal/ClamdService.java
+++ b/src/main/java/org/apache/sling/commons/clam/internal/ClamdService.java
@@ -49,10 +49,7 @@
@Component(
property = {
Constants.SERVICE_DESCRIPTION + "=Sling Commons Clamd Service",
- Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
- "operation=malware detection",
- "provider=clam",
- "provider=clamd",
+ Constants.SERVICE_VENDOR + "=The Apache Software Foundation"
}
)
@Designate(
diff --git a/src/main/java/org/apache/sling/commons/clam/internal/ClamdServiceConfiguration.java b/src/main/java/org/apache/sling/commons/clam/internal/ClamdServiceConfiguration.java
index c6d8b19..99a62a0 100644
--- a/src/main/java/org/apache/sling/commons/clam/internal/ClamdServiceConfiguration.java
+++ b/src/main/java/org/apache/sling/commons/clam/internal/ClamdServiceConfiguration.java
@@ -52,4 +52,16 @@
)
int chunk_length() default 2048;
+ @AttributeDefinition(
+ name = "content analyzer operation",
+ description = "operation(s) this analyzer performs"
+ )
+ String[] content_analyzer_operation() default {"malware detection"};
+
+ @AttributeDefinition(
+ name = "content analyzer provider",
+ description = "provider which performs the operation(s)"
+ )
+ String[] content_analyzer_provider() default {"clam", "clamd"};
+
}
diff --git a/src/test/java/org/apache/sling/commons/clam/it/tests/ClamdServiceIT.java b/src/test/java/org/apache/sling/commons/clam/it/tests/ClamdServiceIT.java
index e17b5a1..d3204ed 100644
--- a/src/test/java/org/apache/sling/commons/clam/it/tests/ClamdServiceIT.java
+++ b/src/test/java/org/apache/sling/commons/clam/it/tests/ClamdServiceIT.java
@@ -53,7 +53,7 @@
private ClamService clamService;
@Inject
- @Filter(value = "(&(operation=malware detection)(provider=clamd))")
+ @Filter(value = "(&(content.analyzer.operation=malware detection)(content.analyzer.provider=clamd))")
private ContentAnalyzer contentAnalyzer;
private static final String INSTREAM_SIZE_LIMIT_EXCEEDED_ERROR_MESSAGE = "INSTREAM size limit exceeded. ERROR";