You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by bd...@apache.org on 2018/10/11 15:06:08 UTC
[sling-org-apache-sling-capabilities] branch master updated
(799c1ac -> f9653c2)
This is an automated email from the ASF dual-hosted git repository.
bdelacretaz pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-capabilities.git.
from 799c1ac CapabilitiesBundleIT added + bnd / Maven plugin fixes
new 10851ce Fix cardinality
new f9653c2 Test multiple sources
The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails. The revisions
listed as "add" were already present in the repository and have only
been added to this reference.
Summary of changes:
.../capabilities/internal/CapabilitiesServlet.java | 7 +++-
.../capabilities/it/CapabilitiesBundleIT.java | 37 +++++++++++++++++-----
2 files changed, 35 insertions(+), 9 deletions(-)
[sling-org-apache-sling-capabilities] 02/02: Test multiple sources
Posted by bd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bdelacretaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-capabilities.git
commit f9653c234e3f319a1e66a21b60fe16aa13e32c74
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Thu Oct 11 17:05:26 2018 +0200
Test multiple sources
---
.../capabilities/internal/CapabilitiesServlet.java | 5 +++
.../capabilities/it/CapabilitiesBundleIT.java | 37 +++++++++++++++++-----
2 files changed, 34 insertions(+), 8 deletions(-)
diff --git a/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java b/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java
index ae7e2b8..b1a91a0 100644
--- a/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java
+++ b/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java
@@ -71,6 +71,11 @@ public class CapabilitiesServlet extends SlingSafeMethodsServlet {
}
@Override
+ public String toString() {
+ return getClass().getSimpleName() + ": " + sources.size() + " " + CapabilitiesSource.class.getSimpleName() + " active";
+ }
+
+ @Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) throws ServletException, IOException {
// Resource Path must match a configurable set of patterns, to prevent
diff --git a/src/test/java/org/apache/sling/capabilities/it/CapabilitiesBundleIT.java b/src/test/java/org/apache/sling/capabilities/it/CapabilitiesBundleIT.java
index 00dc3dc..6541579 100644
--- a/src/test/java/org/apache/sling/capabilities/it/CapabilitiesBundleIT.java
+++ b/src/test/java/org/apache/sling/capabilities/it/CapabilitiesBundleIT.java
@@ -20,9 +20,11 @@ package org.apache.sling.capabilities.it;
import java.util.Map;
import javax.inject.Inject;
+import javax.servlet.Servlet;
import org.apache.sling.capabilities.CapabilitiesSource;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
@@ -31,6 +33,8 @@ import org.ops4j.pax.exam.spi.reactors.ExamReactorStrategy;
import org.ops4j.pax.exam.spi.reactors.PerClass;
import org.osgi.framework.Bundle;
import org.osgi.framework.BundleContext;
+import org.osgi.framework.InvalidSyntaxException;
+import org.osgi.framework.ServiceReference;
import org.osgi.framework.ServiceRegistration;
@RunWith(PaxExam.class)
@@ -42,6 +46,11 @@ public class CapabilitiesBundleIT extends CapabilitiesTestSupport {
private Bundle testBundle;
+ private static class TestCapabilitiesSource implements CapabilitiesSource {
+ public String getNamespace() { return null; }
+ public Map<String, Object> getCapabilities() { return null; }
+ };
+
@Before
public void setup() {
final String symbolicName = "org.apache.sling.capabilities";
@@ -61,16 +70,28 @@ public class CapabilitiesBundleIT extends CapabilitiesTestSupport {
}
@Test
- public void testRegisterSource() {
+ public void testRegisterSources() throws InvalidSyntaxException {
// Verify that the bundle setup (exported packages) allows us to
// register a source from the outside
- final CapabilitiesSource src = new CapabilitiesSource() {
- public String getNamespace() { return null; }
- public Map<String, Object> getCapabilities() { return null; }
- };
+ final ServiceRegistration [] reg = new ServiceRegistration[3];
+ for(int i=0 ; i < reg.length; i++) {
+ reg[i] = bundleContext.registerService(CapabilitiesSource.class.getName(), new TestCapabilitiesSource(), null);
+ assertNotNull("Expecting ServiceRegistration", reg[i]);
+ }
- final ServiceRegistration reg = bundleContext.registerService(CapabilitiesSource.class.getName(), src, null);
- assertNotNull("Expecting ServiceRegistration", reg);
- reg.unregister();
+ try {
+ // Now check that all sources are registered
+ // using toString() trick from CapabilitiesServlet
+ final String expected = reg.length + " CapabilitiesSource";
+ final ServiceReference[] refs = bundleContext.getServiceReferences(Servlet.class.getName(), "(sling.servlet.resourceTypes=sling/capabilities)");
+ assertTrue("Expecting a single Servlet service", refs != null && refs.length == 1);
+ final String str = bundleContext.getService(refs[0]).toString();
+ assertTrue("Expecting " + expected + " but got " + str, str.contains(expected));
+ bundleContext.ungetService(refs[0]);
+ } finally {
+ for(int i=0 ; i < reg.length; i++) {
+ reg[i].unregister();
+ }
+ }
}
}
[sling-org-apache-sling-capabilities] 01/02: Fix cardinality
Posted by bd...@apache.org.
This is an automated email from the ASF dual-hosted git repository.
bdelacretaz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-capabilities.git
commit 10851ce09cf83fc0774eecacb3f348ba853c39cf
Author: Bertrand Delacretaz <bd...@apache.org>
AuthorDate: Thu Oct 11 16:43:44 2018 +0200
Fix cardinality
---
.../org/apache/sling/capabilities/internal/CapabilitiesServlet.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java b/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java
index d43b937..ae7e2b8 100644
--- a/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java
+++ b/src/main/java/org/apache/sling/capabilities/internal/CapabilitiesServlet.java
@@ -103,7 +103,7 @@ public class CapabilitiesServlet extends SlingSafeMethodsServlet {
@Reference(
policy=ReferencePolicy.DYNAMIC,
- cardinality=ReferenceCardinality.OPTIONAL,
+ cardinality=ReferenceCardinality.MULTIPLE,
policyOption=ReferencePolicyOption.GREEDY)
void bindSource(CapabilitiesSource src) {
sources.add(src);