You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by dk...@apache.org on 2018/01/10 13:36:25 UTC

[sling-org-apache-sling-serviceusermapper] branch master updated (7651a36 -> 3a53f77)

This is an automated email from the ASF dual-hosted git repository.

dklco pushed a change to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-serviceusermapper.git.


    from 7651a36  [maven-release-plugin] prepare for next development iteration
     new 61a7a11  Exposing the Mapping POJO and the getActiveMappings method
     new 3a53f77  Removing the install profile

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:
 .../serviceusermapping/{impl => }/Mapping.java     | 14 ++---
 .../serviceusermapping/ServiceUserMapper.java      | 71 +++++++++++++---------
 .../impl/MappingConfigAmendment.java               |  1 +
 .../impl/MappingInventoryPrinter.java              |  1 +
 .../impl/ServiceUserMappedBundleFilter.java        |  1 +
 .../impl/ServiceUserMapperImpl.java                |  3 +-
 .../sling/serviceusermapping/package-info.java     |  2 +-
 .../sling/serviceusermapping/impl/MappingTest.java |  2 +
 .../impl/ServiceUserMappedBundleFilterTest.java    |  2 +
 9 files changed, 60 insertions(+), 37 deletions(-)
 rename src/main/java/org/apache/sling/serviceusermapping/{impl => }/Mapping.java (93%)

-- 
To stop receiving notification emails like this one, please contact
['"commits@sling.apache.org" <co...@sling.apache.org>'].

[sling-org-apache-sling-serviceusermapper] 01/02: Exposing the Mapping POJO and the getActiveMappings method

Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-serviceusermapper.git

commit 61a7a11ff503dee607a0ea7590f0a56d6def8f5e
Author: Dan Klco <da...@gmail.com>
AuthorDate: Tue Jan 9 20:47:04 2018 -0800

    Exposing the Mapping POJO and the getActiveMappings method
---
 pom.xml                                            | 23 +++++++
 .../serviceusermapping/{impl => }/Mapping.java     | 14 ++---
 .../serviceusermapping/ServiceUserMapper.java      | 71 +++++++++++++---------
 .../impl/MappingConfigAmendment.java               |  1 +
 .../impl/MappingInventoryPrinter.java              |  1 +
 .../impl/ServiceUserMappedBundleFilter.java        |  1 +
 .../impl/ServiceUserMapperImpl.java                |  3 +-
 .../sling/serviceusermapping/package-info.java     |  2 +-
 .../sling/serviceusermapping/impl/MappingTest.java |  2 +
 .../impl/ServiceUserMappedBundleFilterTest.java    |  2 +
 10 files changed, 83 insertions(+), 37 deletions(-)

diff --git a/pom.xml b/pom.xml
index a2cece3..c69423d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,4 +135,27 @@
         </dependency>
     </dependencies>
 
+	<profiles>
+		<profile>
+			<id>autoInstallBundle</id>
+			<build>
+				<plugins>
+					<plugin>
+						<groupId>org.apache.sling</groupId>
+						<artifactId>maven-sling-plugin</artifactId>
+						<version>2.1.0</version>
+						<executions>
+							<execution>
+								<id>install-bundle</id>
+								<goals>
+									<goal>install</goal>
+								</goals>
+							</execution>
+						</executions>
+					</plugin>
+				</plugins>
+			</build>
+		</profile>
+	</profiles>
+
 </project>
diff --git a/src/main/java/org/apache/sling/serviceusermapping/impl/Mapping.java b/src/main/java/org/apache/sling/serviceusermapping/Mapping.java
similarity index 93%
rename from src/main/java/org/apache/sling/serviceusermapping/impl/Mapping.java
rename to src/main/java/org/apache/sling/serviceusermapping/Mapping.java
index 9dfc7c3..87608c0 100644
--- a/src/main/java/org/apache/sling/serviceusermapping/impl/Mapping.java
+++ b/src/main/java/org/apache/sling/serviceusermapping/Mapping.java
@@ -16,7 +16,7 @@
  * specific language governing permissions and limitations
  * under the License.
  */
-package org.apache.sling.serviceusermapping.impl;
+package org.apache.sling.serviceusermapping;
 
 import java.util.LinkedHashSet;
 import java.util.Set;
@@ -25,13 +25,13 @@ import java.util.Set;
  * The <code>Mapping</code> class defines the mapping of a service's name and
  * optional service information to a user name and optionally to a set of principal names.
  */
-class Mapping implements Comparable<Mapping> {
+public class Mapping implements Comparable<Mapping> {
 
 
     /**
      * The name of the osgi property holding the service name.
      */
-    static String SERVICENAME = ".serviceName";
+    public static String SERVICENAME = ".serviceName";
 
     private final String serviceName;
 
@@ -54,7 +54,7 @@ class Mapping implements Comparable<Mapping> {
      * @throws IllegalArgumentException if {@code spec} does not match the
      *             expected pattern.
      */
-    Mapping(final String spec) {
+    public Mapping(final String spec) {
 
         final int colon = spec.indexOf(':');
         final int equals = spec.indexOf('=');
@@ -85,7 +85,7 @@ class Mapping implements Comparable<Mapping> {
         }
     }
 
-    static Set<String> extractPrincipalNames(String s) {
+    public static Set<String> extractPrincipalNames(String s) {
         String[] sArr = s.substring(1, s.length() - 1).split(",");
         Set<String> set = new LinkedHashSet<>();
         for (String name : sArr) {
@@ -108,7 +108,7 @@ class Mapping implements Comparable<Mapping> {
      *            {@code null}.
      * @return The user name if this mapping matches and the configuration doesn't specify a set of principal names; {@code null} otherwise.
      */
-    String map(final String serviceName, final String subServiceName) {
+    public String map(final String serviceName, final String subServiceName) {
         if (this.serviceName.equals(serviceName) && equals(this.subServiceName, subServiceName)) {
             return userName;
         }
@@ -130,7 +130,7 @@ class Mapping implements Comparable<Mapping> {
      * does specify a set of principal names (intstead of a single user name); {@code null}
      * otherwise.
      */
-    Iterable<String> mapPrincipals(final String serviceName, final String subServiceName) {
+    public Iterable<String> mapPrincipals(final String serviceName, final String subServiceName) {
         if (this.serviceName.equals(serviceName) && equals(this.subServiceName, subServiceName)) {
             return principalNames;
         }
diff --git a/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java b/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java
index 8431d7e..303c2d6 100644
--- a/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java
+++ b/src/main/java/org/apache/sling/serviceusermapping/ServiceUserMapper.java
@@ -18,6 +18,8 @@
  */
 package org.apache.sling.serviceusermapping;
 
+import java.util.List;
+
 import org.osgi.annotation.versioning.ProviderType;
 import org.osgi.framework.Bundle;
 
@@ -57,33 +59,46 @@ import org.osgi.framework.Bundle;
 @ProviderType
 public interface ServiceUserMapper {
 
-    /**
-     * Returns the ID of a user to access the data store on behalf of the
-     * service.
-     *
-     * @param bundle The bundle implementing the service request access to
-     *            resources.
-     * @param subServiceName Name of the sub service. This parameter is optional and
-     *            may be an empty string or {@code null}.
-     * @return The ID of the user to use to provide access to the resources for
-     *         the service. This may be {@code null} if no particular user can
-     *         be derived for the service identified by the bundle and the
-     *         optional {@code serviceInfo}.
-     */
-    String getServiceUserID(Bundle bundle, String subServiceName);
+	/**
+	 * Returns the ID of a user to access the data store on behalf of the
+	 * service.
+	 *
+	 * @param bundle
+	 *            The bundle implementing the service request access to
+	 *            resources.
+	 * @param subServiceName
+	 *            Name of the sub service. This parameter is optional and may be
+	 *            an empty string or {@code null}.
+	 * @return The ID of the user to use to provide access to the resources for
+	 *         the service. This may be {@code null} if no particular user can
+	 *         be derived for the service identified by the bundle and the
+	 *         optional {@code serviceInfo}.
+	 */
+	String getServiceUserID(Bundle bundle, String subServiceName);
+
+	/**
+	 * Returns the principal names to access the data store on behalf of the
+	 * service.
+	 *
+	 * @param bundle
+	 *            The bundle implementing the service request access to
+	 *            resources.
+	 * @param subServiceName
+	 *            Name of the sub service. This parameter is optional and may be
+	 *            an empty string or {@code null}.
+	 * @return The principal names to use to provide access to the resources for
+	 *         the service. This may be {@code null} if no mapping has been
+	 *         defined for the service identified by the bundle and the optional
+	 *         {@code serviceInfo} or if no principal names have been specified
+	 *         with the mapping. In this case
+	 *         {@link #getServiceUserID(Bundle, String)} should be used instead.
+	 */
+	Iterable<String> getServicePrincipalNames(Bundle bundle, String subServiceName);
 
-    /**
-     * Returns the principal names to access the data store on behalf of the
-     * service.
-     *
-     * @param bundle The bundle implementing the service request access to resources.
-     * @param subServiceName Name of the sub service. This parameter is optional
-     *                       and may be an empty string or {@code null}.
-     * @return The principal names to use to provide access to the resources for
-     *         the service. This may be {@code null} if no mapping has been defined
-     *         for the service identified by the bundle and the optional {@code serviceInfo}
-     *         or if no principal names have been specified with the mapping.
-     *         In this case {@link #getServiceUserID(Bundle, String)} should be used instead.
-     */
-    Iterable<String> getServicePrincipalNames(Bundle bundle, String subServiceName);
+	/**
+	 * Returns a list of all of the active mappings in the Service User Mapper.
+	 * 
+	 * @return A list of the currently active mapped Service users
+	 */
+	List<Mapping> getActiveMappings();
 }
diff --git a/src/main/java/org/apache/sling/serviceusermapping/impl/MappingConfigAmendment.java b/src/main/java/org/apache/sling/serviceusermapping/impl/MappingConfigAmendment.java
index 60a425d..7db359a 100644
--- a/src/main/java/org/apache/sling/serviceusermapping/impl/MappingConfigAmendment.java
+++ b/src/main/java/org/apache/sling/serviceusermapping/impl/MappingConfigAmendment.java
@@ -20,6 +20,7 @@ package org.apache.sling.serviceusermapping.impl;
 
 import java.util.ArrayList;
 
+import org.apache.sling.serviceusermapping.Mapping;
 import org.osgi.service.component.annotations.Activate;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.ConfigurationPolicy;
diff --git a/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java b/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java
index 8f32898..821a72c 100644
--- a/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java
+++ b/src/main/java/org/apache/sling/serviceusermapping/impl/MappingInventoryPrinter.java
@@ -30,6 +30,7 @@ import java.util.TreeMap;
 import org.apache.felix.inventory.Format;
 import org.apache.felix.inventory.InventoryPrinter;
 import org.apache.felix.utils.json.JSONWriter;
+import org.apache.sling.serviceusermapping.Mapping;
 import org.osgi.service.component.annotations.Component;
 import org.osgi.service.component.annotations.Reference;
 
diff --git a/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilter.java b/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilter.java
index a8b0719..bdf794c 100644
--- a/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilter.java
+++ b/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilter.java
@@ -23,6 +23,7 @@ import java.util.Collection;
 import java.util.Iterator;
 import java.util.Map;
 
+import org.apache.sling.serviceusermapping.Mapping;
 import org.osgi.framework.BundleContext;
 import org.osgi.framework.Constants;
 import org.osgi.framework.ServiceEvent;
diff --git a/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMapperImpl.java b/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMapperImpl.java
index a963b95..7fb23e4 100644
--- a/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMapperImpl.java
+++ b/src/main/java/org/apache/sling/serviceusermapping/impl/ServiceUserMapperImpl.java
@@ -35,6 +35,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
 
+import org.apache.sling.serviceusermapping.Mapping;
 import org.apache.sling.serviceusermapping.ServicePrincipalsValidator;
 import org.apache.sling.serviceusermapping.ServiceUserMapped;
 import org.apache.sling.serviceusermapping.ServiceUserMapper;
@@ -500,7 +501,7 @@ public class ServiceUserMapperImpl implements ServiceUserMapper {
         return bundle.getSymbolicName();
     }
 
-    List<Mapping> getActiveMappings() {
+    public List<Mapping> getActiveMappings() {
         return Collections.unmodifiableList(Arrays.asList(activeMappings));
     }
 
diff --git a/src/main/java/org/apache/sling/serviceusermapping/package-info.java b/src/main/java/org/apache/sling/serviceusermapping/package-info.java
index 1ee3078..547a6af 100644
--- a/src/main/java/org/apache/sling/serviceusermapping/package-info.java
+++ b/src/main/java/org/apache/sling/serviceusermapping/package-info.java
@@ -17,6 +17,6 @@
  * under the License.
  */
 
-@org.osgi.annotation.versioning.Version("1.3.0")
+@org.osgi.annotation.versioning.Version("1.4.0")
 package org.apache.sling.serviceusermapping;
 
diff --git a/src/test/java/org/apache/sling/serviceusermapping/impl/MappingTest.java b/src/test/java/org/apache/sling/serviceusermapping/impl/MappingTest.java
index 2ade43e..423de1b 100644
--- a/src/test/java/org/apache/sling/serviceusermapping/impl/MappingTest.java
+++ b/src/test/java/org/apache/sling/serviceusermapping/impl/MappingTest.java
@@ -23,6 +23,8 @@ import java.util.Arrays;
 import java.util.Set;
 
 import junit.framework.TestCase;
+
+import org.apache.sling.serviceusermapping.Mapping;
 import org.junit.Test;
 
 public class MappingTest {
diff --git a/src/test/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilterTest.java b/src/test/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilterTest.java
index 9f12426..e95ef7e 100644
--- a/src/test/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilterTest.java
+++ b/src/test/java/org/apache/sling/serviceusermapping/impl/ServiceUserMappedBundleFilterTest.java
@@ -21,6 +21,8 @@ package org.apache.sling.serviceusermapping.impl;
 
 
 import junit.framework.TestCase;
+
+import org.apache.sling.serviceusermapping.Mapping;
 import org.junit.Test;
 import org.osgi.framework.Bundle;
 import org.osgi.framework.BundleContext;

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.

[sling-org-apache-sling-serviceusermapper] 02/02: Removing the install profile

Posted by dk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

dklco pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/sling-org-apache-sling-serviceusermapper.git

commit 3a53f77055ad8aa3b4b0ce1870272f6e534e3905
Author: Dan Klco <da...@gmail.com>
AuthorDate: Wed Jan 10 05:36:15 2018 -0800

    Removing the install profile
---
 pom.xml | 23 -----------------------
 1 file changed, 23 deletions(-)

diff --git a/pom.xml b/pom.xml
index c69423d..a2cece3 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,27 +135,4 @@
         </dependency>
     </dependencies>
 
-	<profiles>
-		<profile>
-			<id>autoInstallBundle</id>
-			<build>
-				<plugins>
-					<plugin>
-						<groupId>org.apache.sling</groupId>
-						<artifactId>maven-sling-plugin</artifactId>
-						<version>2.1.0</version>
-						<executions>
-							<execution>
-								<id>install-bundle</id>
-								<goals>
-									<goal>install</goal>
-								</goals>
-							</execution>
-						</executions>
-					</plugin>
-				</plugins>
-			</build>
-		</profile>
-	</profiles>
-
 </project>

-- 
To stop receiving notification emails like this one, please contact
"commits@sling.apache.org" <co...@sling.apache.org>.