You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by cz...@apache.org on 2017/08/09 15:27:11 UTC

svn commit: r1804544 [1/2] - in /sling/trunk/bundles/jcr/contentloader: ./ src/main/java/org/apache/sling/jcr/contentloader/ src/main/java/org/apache/sling/jcr/contentloader/internal/ src/main/java/org/apache/sling/jcr/contentloader/internal/readers/ s...

Author: cziegeler
Date: Wed Aug  9 15:27:11 2017
New Revision: 1804544

URL: http://svn.apache.org/viewvc?rev=1804544&view=rev
Log:
SLING-7040 : Update commons lang 2.x to 3.5

Removed:
    sling/trunk/bundles/jcr/contentloader/src/main/resources/
Modified:
    sling/trunk/bundles/jcr/contentloader/pom.xml
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentCreator.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImportListener.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImporter.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentReader.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentTypeUtil.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ImportOptions.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentReaderWhiteboard.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/OrderedJsonReader.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/XmlReader.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/ZipReader.java
    sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/package-info.java
    sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/internal/BundleContentLoaderTest.java
    sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/ContentBundleTestBase.java
    sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/PaxExamUtilities.java

Modified: sling/trunk/bundles/jcr/contentloader/pom.xml
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/pom.xml?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/pom.xml (original)
+++ sling/trunk/bundles/jcr/contentloader/pom.xml Wed Aug  9 15:27:11 2017
@@ -19,338 +19,347 @@
 -->
 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
 
-  <modelVersion>4.0.0</modelVersion>
+    <modelVersion>4.0.0</modelVersion>
 
-  <parent>
-    <groupId>org.apache.sling</groupId>
-    <artifactId>sling</artifactId>
-    <version>26</version>
-    <relativePath />
-  </parent>
+    <parent>
+        <groupId>org.apache.sling</groupId>
+        <artifactId>sling</artifactId>
+        <version>31</version>
+        <relativePath />
+    </parent>
 
-  <artifactId>org.apache.sling.jcr.contentloader</artifactId>
-  <version>2.2.5-SNAPSHOT</version>
-  <packaging>bundle</packaging>
+    <artifactId>org.apache.sling.jcr.contentloader</artifactId>
+    <version>2.2.5-SNAPSHOT</version>
+    <packaging>bundle</packaging>
 
-  <name>Apache Sling Initial Content Loader</name>
-  <description>This bundle provides initial content installation through bundles.</description>
+    <name>Apache Sling Initial Content Loader</name>
+    <description>This bundle provides initial content installation through bundles.</description>
 
-  <properties>
-    <exam.version>3.5.0</exam.version>
-    <url.version>1.5.2</url.version>
-    <bundle.file.name>${basedir}/target/${project.build.finalName}.jar</bundle.file.name>
-    <sling.launchpad.version>7</sling.launchpad.version>
-    <pax.vm.options>-Xmx256M -XX:MaxPermSize=256m</pax.vm.options>
-    <dump.test.bundles>false</dump.test.bundles>
-    <sling.java.version>7</sling.java.version>
-    <!-- argLine needs to be here so that jacoco plugin adds its own stuff to it -->
-    <argLine>${pax.vm.options}</argLine>
-  </properties>
+    <properties>
+        <exam.version>4.11.0</exam.version>
+        <url.version>2.5.2</url.version>
+        <bundle.file.name>${basedir}/target/${project.build.finalName}.jar</bundle.file.name>
+        <sling.launchpad.version>9</sling.launchpad.version>
+        <pax.vm.options>-Xmx256M -XX:MaxPermSize=256m</pax.vm.options>
+        <dump.test.bundles>false</dump.test.bundles>
+        <!-- argLine needs to be here so that jacoco plugin adds its own stuff to it -->
+        <argLine>${pax.vm.options}</argLine>
+    </properties>
 
-  <scm>
-    <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/contentloader</connection>
-    <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/contentloader</developerConnection>
-    <url>http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader</url>
-  </scm>
+    <scm>
+        <connection>scm:svn:http://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/contentloader</connection>
+        <developerConnection>scm:svn:https://svn.apache.org/repos/asf/sling/trunk/bundles/jcr/contentloader</developerConnection>
+        <url>http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader</url>
+    </scm>
 
-  <build>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-scr-plugin</artifactId>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.felix</groupId>
-        <artifactId>maven-bundle-plugin</artifactId>
-        <extensions>true</extensions>
-        <configuration>
-          <instructions>
-            <Bundle-Category>
-              sling,
-              jcr,
-              jackrabbit
-            </Bundle-Category>
-            <Private-Package>
-              org.apache.sling.jcr.contentloader.internal.*,
-              org.kxml2.io,
-              org.xmlpull.v1
-            </Private-Package>
-            <Embed-Dependency>
-              kxml2,
-              org.apache.sling.jcr.contentparser;inline="org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.class"
-            </Embed-Dependency>
-          </instructions>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.rat</groupId>
-        <artifactId>apache-rat-plugin</artifactId>
-        <configuration>
-          <excludes>
-            <exclude>src/test/**/*.json</exclude>
-            <exclude>src/test/**/*.ordered-json</exclude>
-            <exclude>src/test/**/*.xml</exclude>
-            <exclude>src/test/**/*.txt</exclude>
-            <exclude>jackrabbit/**</exclude>
-            <exclude>derby.log</exclude>
-          </excludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-failsafe-plugin</artifactId>
-        <executions>
-          <execution>
-            <goals>
-              <goal>integration-test</goal>
-              <goal>verify</goal>
-            </goals>
-          </execution>
-        </executions>
-        <configuration>
-          <systemPropertyVariables>
-            <java.protocol.handler.pkgs>org.ops4j.pax.url</java.protocol.handler.pkgs>
-            <bundle.file.name>${bundle.file.name}</bundle.file.name>
-            <sling.launchpad.version>${sling.launchpad.version}</sling.launchpad.version>
-            <dump.test.bundles>${dump.test.bundles}</dump.test.bundles>
-          </systemPropertyVariables>
-          <classpathDependencyExcludes>
-            <!-- The osgi.org dependencies cause trouble with pax exam -->
-            <classpathDependencyExcludes>org.osgi:org.osgi.core</classpathDependencyExcludes>
-            <classpathDependencyExcludes>org.osgi:org.osgi.compendium</classpathDependencyExcludes>
-          </classpathDependencyExcludes>
-        </configuration>
-      </plugin>
-      <plugin>
-        <groupId>org.apache.servicemix.tooling</groupId>
-        <artifactId>depends-maven-plugin</artifactId>
-        <version>1.3.1</version>
-        <executions>
-          <execution>
-            <id>generate-depends-file</id>
-            <goals>
-              <goal>generate-depends-file</goal>
-            </goals>
-          </execution>
-        </executions>
-      </plugin>
-    </plugins>
-  </build>
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.felix</groupId>
+                <artifactId>maven-bundle-plugin</artifactId>
+                <extensions>true</extensions>
+                <configuration>
+                    <instructions>
+                        <Bundle-Category>
+                            sling,
+                            jcr,
+                            jackrabbit
+                        </Bundle-Category>
+                        <Private-Package>
+                            org.apache.sling.jcr.contentloader.internal.*,
+                            org.kxml2.io,
+                            org.xmlpull.v1
+                        </Private-Package>
+                        <Embed-Dependency>
+                            kxml2,
+                            org.apache.sling.jcr.contentparser;inline="org/apache/sling/jcr/contentparser/impl/JsonTicksConverter.class"
+                        </Embed-Dependency>
+                    </instructions>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.rat</groupId>
+                <artifactId>apache-rat-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>src/test/**/*.json</exclude>
+                        <exclude>src/test/**/*.ordered-json</exclude>
+                        <exclude>src/test/**/*.xml</exclude>
+                        <exclude>src/test/**/*.txt</exclude>
+                        <exclude>jackrabbit/**</exclude>
+                        <exclude>derby.log</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-failsafe-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <goals>
+                            <goal>integration-test</goal>
+                            <goal>verify</goal>
+                        </goals>
+                    </execution>
+                </executions>
+                <configuration>
+                    <systemPropertyVariables>
+                        <java.protocol.handler.pkgs>org.ops4j.pax.url</java.protocol.handler.pkgs>
+                        <bundle.file.name>${bundle.file.name}</bundle.file.name>
+                        <sling.launchpad.version>${sling.launchpad.version}</sling.launchpad.version>
+                        <dump.test.bundles>${dump.test.bundles}</dump.test.bundles>
+                    </systemPropertyVariables>
+                    <classpathDependencyExcludes>
+                        <!-- The osgi.org dependencies cause trouble with pax exam -->
+                        <classpathDependencyExcludes>org.osgi:org.osgi.core</classpathDependencyExcludes>
+                        <classpathDependencyExcludes>org.osgi:org.osgi.compendium</classpathDependencyExcludes>
+                    </classpathDependencyExcludes>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.servicemix.tooling</groupId>
+                <artifactId>depends-maven-plugin</artifactId>
+                <version>1.3.1</version>
+                <executions>
+                    <execution>
+                        <id>generate-depends-file</id>
+                        <goals>
+                            <goal>generate-depends-file</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
 
-  <reporting>
-    <plugins>
-      <plugin>
-        <groupId>org.apache.maven.plugins</groupId>
-        <artifactId>maven-javadoc-plugin</artifactId>
-        <configuration>
-          <excludePackageNames>
-            org.apache.sling.jcr.contentloader.internal
-          </excludePackageNames>
-        </configuration>
-      </plugin>
-    </plugins>
-  </reporting>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-javadoc-plugin</artifactId>
+                <configuration>
+                    <excludePackageNames> org.apache.sling.jcr.contentloader.internal</excludePackageNames>
+                </configuration>
+            </plugin>
+        </plugins>
+    </reporting>
 
-  <dependencies>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.core</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.osgi</groupId>
-      <artifactId>org.osgi.compendium</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.scr.annotations</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>biz.aQute.bnd</groupId>
-      <artifactId>bndlib</artifactId>
-      <version>2.1.0</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>javax.jcr</groupId>
-      <artifactId>jcr</artifactId>
-      <version>2.0</version>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.jcr.api</artifactId>
-      <version>2.0.6</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.jcr.contentparser</artifactId>
-      <version>1.2.2</version>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-            <groupId>*</groupId>
-            <artifactId>*</artifactId>
-        </exclusion>
-    </exclusions>
-    </dependency>
-    <dependency>
+    <dependencies>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.service.component.annotations</artifactId>
+            <version>1.3.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>osgi.core</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>javax.jcr</groupId>
+            <artifactId>jcr</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.jcr.api</artifactId>
+            <version>2.0.6</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.jcr.contentparser</artifactId>
+            <version>1.2.2</version>
+            <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
       <!-- for security content loader (users/groups/acls) -->
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.jcr.base</artifactId>
-      <version>2.1.0</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.commons.mime</artifactId>
-      <version>2.1.2</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.commons.testing</artifactId>
-      <version>2.0.18</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.commons.osgi</artifactId>
-      <version>2.2.2</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.settings</artifactId>
-      <version>1.1.0</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.jackrabbit</groupId>
-      <artifactId>jackrabbit-api</artifactId>
-      <version>2.2.0</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-api</artifactId>
-    </dependency>
-    <dependency>
-      <groupId>net.sf.kxml</groupId>
-      <artifactId>kxml2</artifactId>
-      <version>2.2.2</version>
-      <scope>provided</scope>
-      <exclusions>
-        <exclusion>
-          <groupId>xmlpull</groupId>
-          <artifactId>xmlpull</artifactId>
-        </exclusion>
-      </exclusions>
-    </dependency>
-    <dependency>
-      <groupId>commons-io</groupId>
-      <artifactId>commons-io</artifactId>
-      <version>2.4</version>
-      <scope>provided</scope>
-    </dependency>
-    <dependency>
-      <groupId>commons-lang</groupId>
-      <artifactId>commons-lang</artifactId>
-      <version>2.4</version>
-      <scope>provided</scope>
-    </dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.jcr.base</artifactId>
+            <version>2.1.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.mime</artifactId>
+            <version>2.1.2</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.testing</artifactId>
+            <version>2.0.18</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.osgi</artifactId>
+            <version>2.3.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.settings</artifactId>
+            <version>1.1.0</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.jackrabbit</groupId>
+            <artifactId>jackrabbit-api</artifactId>
+            <version>2.12.1</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-api</artifactId>
+        </dependency>
+        <dependency>
+            <groupId>net.sf.kxml</groupId>
+            <artifactId>kxml2</artifactId>
+            <version>2.2.2</version>
+            <scope>provided</scope>
+            <exclusions>
+                <exclusion>
+                    <groupId>xmlpull</groupId>
+                    <artifactId>xmlpull</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>commons-io</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>2.4</version>
+            <scope>provided</scope>
+        </dependency>
     <!-- testing -->
-    <dependency>
-      <groupId>junit</groupId>
-      <artifactId>junit</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.jmock</groupId>
-      <artifactId>jmock-junit4</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.slf4j</groupId>
-      <artifactId>slf4j-simple</artifactId>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.sling</groupId>
-        <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
-        <version>1.6.0</version>
-        <scope>test</scope>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.sling</groupId>
-        <artifactId>org.apache.sling.testing.jcr-mock</artifactId>
-        <version>1.1.10</version>
-        <scope>test</scope>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.sling</groupId>
-        <artifactId>org.apache.sling.testing.sling-mock</artifactId>
-        <version>1.6.0</version>
-        <scope>test</scope>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.geronimo.specs</groupId>
-        <artifactId>geronimo-json_1.0_spec</artifactId>
-        <version>1.0-alpha-1</version>
-        <scope>provided</scope>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.sling</groupId>
-        <artifactId>org.apache.sling.commons.johnzon</artifactId>
-        <version>1.0.0</version>
-        <scope>test</scope>
-    </dependency>
-    <dependency>
-        <groupId>org.apache.sling</groupId>
-        <artifactId>org.apache.sling.testing.sling-mock-oak</artifactId>
-        <version>1.0.0</version>
-        <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>junit-addons</groupId>
-      <artifactId>junit-addons</artifactId>
-      <version>1.4</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.apache.sling</groupId>
-      <artifactId>org.apache.sling.paxexam.util</artifactId>
-      <version>1.0.4</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-container-native</artifactId>
-      <version>${exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.exam</groupId>
-      <artifactId>pax-exam-link-mvn</artifactId>
-      <version>${exam.version}</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.url</groupId>
-      <artifactId>pax-url-wrap</artifactId>
-      <version>2.1.0</version>
-      <scope>test</scope>
-    </dependency>
-     <dependency>
-      <groupId>org.apache.felix</groupId>
-      <artifactId>org.apache.felix.framework</artifactId>
-      <version>4.2.1</version>
-      <scope>test</scope>
-    </dependency>
-    <dependency>
-      <groupId>org.ops4j.pax.tinybundles</groupId>
-      <artifactId>tinybundles</artifactId>
-      <version>2.0.0</version>
-      <scope>test</scope>
-    </dependency>
-  </dependencies>
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.jmock</groupId>
+            <artifactId>jmock-junit4</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.slf4j</groupId>
+            <artifactId>slf4j-simple</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.api</artifactId>
+            <version>2.11.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.testing.osgi-mock</artifactId>
+            <version>2.3.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.testing.jcr-mock</artifactId>
+            <version>1.3.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.testing.sling-mock</artifactId>
+            <version>2.2.12</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.geronimo.specs</groupId>
+            <artifactId>geronimo-json_1.0_spec</artifactId>
+            <version>1.0-alpha-1</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.commons.johnzon</artifactId>
+            <version>1.0.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.sling</groupId>
+            <artifactId>org.apache.sling.testing.sling-mock-oak</artifactId>
+            <version>2.0.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>junit-addons</groupId>
+            <artifactId>junit-addons</artifactId>
+            <version>1.4</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-container-forked</artifactId>
+            <version>${exam.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-junit4</artifactId>
+            <version>${exam.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-link-mvn</artifactId>
+            <version>${exam.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.url</groupId>
+            <artifactId>pax-url-aether</artifactId>
+            <version>${url.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.exam</groupId>
+            <artifactId>pax-exam-cm</artifactId>
+            <version>${exam.version}</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.url</groupId>
+            <artifactId>pax-url-wrap</artifactId>
+            <version>2.5.2</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.ops4j.pax.tinybundles</groupId>
+            <artifactId>tinybundles</artifactId>
+            <version>2.0.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>biz.aQute.bnd</groupId>
+            <artifactId>bndlib</artifactId>
+            <version>2.1.0</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.apache.felix</groupId>
+            <artifactId>org.apache.felix.framework</artifactId>
+            <version>5.6.6</version>
+            <scope>test</scope>
+        </dependency>
+        <dependency>
+        	<groupId>org.apache.sling</groupId>
+        	<artifactId>org.apache.sling.launchpad.api</artifactId>
+        	<version>1.2.0</version>
+        	<type>bundle</type>
+        	<scope>test</scope>
+        </dependency>
+    </dependencies>
 </project>

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentCreator.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentCreator.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentCreator.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentCreator.java Wed Aug  9 15:27:11 2017
@@ -23,7 +23,8 @@ import java.util.Map;
 
 import javax.jcr.RepositoryException;
 
-import aQute.bnd.annotation.ProviderType;
+import org.osgi.annotation.versioning.ProviderType;
+
 
 /**
  * The <code>ContentCreator</code> is used by the {@link org.apache.sling.jcr.contentloader.ContentReader} to create the actual content.

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImportListener.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImportListener.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImportListener.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImportListener.java Wed Aug  9 15:27:11 2017
@@ -18,7 +18,7 @@
  */
 package org.apache.sling.jcr.contentloader;
 
-import aQute.bnd.annotation.ConsumerType;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * Listener interface to provide callbacks for all imported updates
@@ -39,7 +39,7 @@ public interface ContentImportListener {
      * deleted Item.
      */
 	void onDelete(String srcPath);
-	
+
     /**
      * An Item has been moved to a new location. The source provides the
      * original path of the Item, the destination provides the new path of the
@@ -63,19 +63,19 @@ public interface ContentImportListener {
     /**
      * A child Node has been reordered. The orderedPath provides the path of the
      * node, which has been reordered. ThebeforeSibbling provides the name of
-     * the sibling node before which the source Node has been ordered. 
+     * the sibling node before which the source Node has been ordered.
      */
 	void onReorder(String orderedPath, String beforeSibbling);
-	
+
     /**
-     * A versionable Node has been checked in. The source path provides the path of the 
+     * A versionable Node has been checked in. The source path provides the path of the
      * newly checked in Node.
      * @since 2.1.4
      */
 	void onCheckin(String srcPath);
 
 	/**
-     * A versionable Node has been checked out. The source path provides the path of the 
+     * A versionable Node has been checked out. The source path provides the path of the
      * newly checked out Node.
      * @since 2.1.4
      */

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImporter.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImporter.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentImporter.java Wed Aug  9 15:27:11 2017
@@ -24,7 +24,7 @@ import java.io.InputStream;
 import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 
-import aQute.bnd.annotation.ProviderType;
+import org.osgi.annotation.versioning.ProviderType;
 
 
 /**

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentReader.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentReader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentReader.java Wed Aug  9 15:27:11 2017
@@ -24,7 +24,7 @@ import java.net.URL;
 
 import javax.jcr.RepositoryException;
 
-import aQute.bnd.annotation.ConsumerType;
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
  * The <code>ContentReader</code>

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentTypeUtil.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentTypeUtil.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentTypeUtil.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ContentTypeUtil.java Wed Aug  9 15:27:11 2017
@@ -18,8 +18,6 @@
  */
 package org.apache.sling.jcr.contentloader;
 
-import org.apache.commons.lang.StringUtils;
-
 public class ContentTypeUtil {
 
     public static final String EXT_JSON = ".json";
@@ -44,20 +42,20 @@ public class ContentTypeUtil {
     public static final String TYPE_JAR = "application/java-archive";
 
     public static String detectContentType(final String filename) {
-        if (StringUtils.isNotBlank(filename)) {
-            if (StringUtils.endsWithIgnoreCase(filename, EXT_JSON)) {
+        if (filename != null && !filename.isEmpty()) {
+            if ( filename.toLowerCase().endsWith(EXT_JSON) ) {
                 return TYPE_JSON;
             }
-            if (StringUtils.endsWithIgnoreCase(filename, EXT_JCR_XML)) {
+            if ( filename.toLowerCase().endsWith(EXT_JCR_XML)) {
                 return TYPE_JCR_XML;
             }
-            if (StringUtils.endsWithIgnoreCase(filename, EXT_XML)) {
+            if ( filename.toLowerCase().endsWith(EXT_XML)) {
                 return TYPE_XML;
             }
-            if (StringUtils.endsWithIgnoreCase(filename, EXT_ZIP)) {
+            if ( filename.toLowerCase().endsWith(EXT_ZIP)) {
                 return TYPE_ZIP;
             }
-            if (StringUtils.endsWithIgnoreCase(filename, EXT_JAR)) {
+            if ( filename.toLowerCase().endsWith(EXT_JAR)) {
                 return TYPE_JAR;
             }
         }
@@ -65,7 +63,7 @@ public class ContentTypeUtil {
     }
 
     public static String getDefaultExtension(final String contentType) {
-        if (StringUtils.isNotBlank(contentType)) {
+        if (contentType != null && !contentType.isEmpty()) {
             if (TYPE_JSON.equalsIgnoreCase(contentType)) {
                 return EXT_JSON;
             }

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ImportOptions.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ImportOptions.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ImportOptions.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/ImportOptions.java Wed Aug  9 15:27:11 2017
@@ -18,18 +18,17 @@
  */
 package org.apache.sling.jcr.contentloader;
 
-import aQute.bnd.annotation.ConsumerType;
-
+import org.osgi.annotation.versioning.ConsumerType;
 
 /**
- * Encapsulates the options for the content import. 
+ * Encapsulates the options for the content import.
  */
 @ConsumerType
 public abstract class ImportOptions {
 
 	/**
 	 * Specifies whether imported nodes should overwrite existing nodes.
-	 * NOTE: this means the existing node will be deleted and a new node 
+	 * NOTE: this means the existing node will be deleted and a new node
 	 * will be created in the same location.
 	 * @return true to overwrite nodes, false otherwise
 	 */
@@ -61,7 +60,7 @@ public abstract class ImportOptions {
 	/**
 	 * Check if the content reader for the given file extension should
 	 * be ignored.
-	 * 
+	 *
 	 * @param extension the extension to check
 	 * @return true to ignore the reader, false otherwise
 	 */

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/BaseImportLoader.java Wed Aug  9 15:27:11 2017
@@ -34,7 +34,7 @@ public abstract class BaseImportLoader e
 
     public static final String EXT_JCR_XML = ".jcr.xml";
 
-    private ContentReaderWhiteboard contentReaderWhiteboard;
+    protected ContentReaderWhiteboard contentReaderWhiteboard;
 
     // This constructor is meant to be used by the OSGi
     public BaseImportLoader() {
@@ -45,18 +45,8 @@ public abstract class BaseImportLoader e
         this.contentReaderWhiteboard = contentReaderWhiteboard;
     }
 
-    protected void bindContentReaderWhiteboard(final ContentReaderWhiteboard service) {
-        this.contentReaderWhiteboard = service;
-    }
-
-    protected void unbindContentReaderWhiteboard(final ContentReaderWhiteboard service) {
-        if ( this.contentReaderWhiteboard == service ) {
-            this.contentReaderWhiteboard = null;
-        }
-    }
-
     public Map<String, ContentReader> getContentReaders() {
-        Map<String, ContentReader> readers = new LinkedHashMap<String, ContentReader>();
+        Map<String, ContentReader> readers = new LinkedHashMap<>();
         readers.put(EXT_JCR_XML, null);
         for (Entry<String, ContentReader> e : contentReaderWhiteboard.getReadersByExtension().entrySet()) {
             readers.put('.' + e.getKey(), e.getValue());

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentLoaderService.java Wed Aug  9 15:27:11 2017
@@ -32,17 +32,18 @@ import javax.jcr.Session;
 import javax.jcr.Value;
 import javax.jcr.lock.LockException;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
 import org.apache.sling.commons.mime.MimeTypeService;
 import org.apache.sling.jcr.api.SlingRepository;
 import org.apache.sling.settings.SlingSettingsService;
 import org.osgi.framework.Bundle;
+import org.osgi.framework.BundleContext;
 import org.osgi.framework.BundleEvent;
 import org.osgi.framework.Constants;
 import org.osgi.framework.SynchronousBundleListener;
-import org.osgi.service.component.ComponentContext;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Deactivate;
+import org.osgi.service.component.annotations.Reference;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -54,11 +55,11 @@ import org.slf4j.LoggerFactory;
  * </ul>
  *
  */
-@Component
-@Property(
-    name = Constants.SERVICE_DESCRIPTION,
-    value = "Apache Sling Content Loader Implementation"
-)
+@Component(service = {},
+    property = {
+            Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+            Constants.SERVICE_DESCRIPTION + "=Apache Sling Content Loader Implementation"
+    })
 public class ContentLoaderService implements SynchronousBundleListener, BundleHelper {
 
     public static final String PROPERTY_CONTENT_LOADED = "content-loaded";
@@ -106,7 +107,7 @@ public class ContentLoaderService implem
     /**
      * List of currently updated bundles.
      */
-    private final Set<String> updatedBundles = new HashSet<String>();
+    private final Set<String> updatedBundles = new HashSet<>();
 
     /** Sling settings service. */
     @Reference
@@ -122,6 +123,7 @@ public class ContentLoaderService implem
      * @param event The <code>BundleEvent</code> representing the bundle state
      *            change.
      */
+    @Override
     public synchronized void bundleChanged(BundleEvent event) {
 
         //
@@ -178,6 +180,7 @@ public class ContentLoaderService implem
     // ---------- Implementation helpers --------------------------------------
 
     /** Returns the MIME type from the MimeTypeService for the given name */
+    @Override
     public String getMimeType(String name) {
         // local copy to not get NPE despite check for null due to concurrent
         // unbind
@@ -185,6 +188,7 @@ public class ContentLoaderService implem
         return (mts != null) ? mts.getMimeType(name) : null;
     }
 
+    @Override
     public void createRepositoryPath(final Session writerSession, final String repositoryPath)
     throws RepositoryException {
         if ( !writerSession.itemExists(repositoryPath) ) {
@@ -213,11 +217,12 @@ public class ContentLoaderService implem
     // ---------- SCR Integration ---------------------------------------------
 
     /** Activates this component, called by SCR before registering as a service */
-    protected synchronized void activate(ComponentContext componentContext) {
+    @Activate
+    protected synchronized void activate(BundleContext bundleContext) {
         this.slingId = this.settingsService.getSlingId();
         this.bundleContentLoader = new BundleContentLoader(this, contentReaderWhiteboard);
 
-        componentContext.getBundleContext().addBundleListener(this);
+        bundleContext.addBundleListener(this);
 
         Session session = null;
         try {
@@ -228,7 +233,7 @@ public class ContentLoaderService implem
                     + "bundles which are neither INSTALLED nor UNINSTALLED");
 
             int ignored = 0;
-            Bundle[] bundles = componentContext.getBundleContext().getBundles();
+            Bundle[] bundles = bundleContext.getBundles();
             for (Bundle bundle : bundles) {
                 if ((bundle.getState() & (Bundle.INSTALLED | Bundle.UNINSTALLED)) == 0) {
 
@@ -266,8 +271,9 @@ public class ContentLoaderService implem
     }
 
     /** Deactivates this component, called by SCR to take out of service */
-    protected synchronized void deactivate(ComponentContext componentContext) {
-        componentContext.getBundleContext().removeBundleListener(this);
+    @Deactivate
+    protected synchronized void deactivate(BundleContext bundleContext) {
+        bundleContext.removeBundleListener(this);
 
         if ( this.bundleContentLoader != null ) {
             this.bundleContentLoader.dispose();
@@ -285,6 +291,7 @@ public class ContentLoaderService implem
     /**
      * Returns an administrative session to the default workspace.
      */
+    @Override
     public Session getSession()
     throws RepositoryException {
         return getRepository().loginAdministrative(null);
@@ -293,6 +300,7 @@ public class ContentLoaderService implem
     /**
      * Returns an administrative session for the named workspace.
      */
+    @Override
     public Session getSession(final String workspace) throws RepositoryException {
         return getRepository().loginAdministrative(workspace);
     }
@@ -317,6 +325,7 @@ public class ContentLoaderService implem
      * @return The map of bundle content info or null.
      * @throws RepositoryException
      */
+    @Override
     public Map<String, Object> getBundleContentInfo(final Session session, final Bundle bundle, boolean create)
     throws RepositoryException {
         final String nodeName = bundle.getSymbolicName();
@@ -344,7 +353,7 @@ public class ContentLoaderService implem
         } catch (LockException le) {
             return null;
         }
-        final Map<String, Object> info = new HashMap<String, Object>();
+        final Map<String, Object> info = new HashMap<>();
         if ( bcNode.hasProperty(PROPERTY_CONTENT_LOADED_AT)) {
             info.put(PROPERTY_CONTENT_LOADED_AT, bcNode.getProperty(PROPERTY_CONTENT_LOADED_AT).getDate());
         }
@@ -365,6 +374,7 @@ public class ContentLoaderService implem
         return info;
     }
 
+    @Override
     public void unlockBundleContentInfo(final Session session,
                                         final Bundle  bundle,
                                         final boolean contentLoaded,
@@ -387,6 +397,7 @@ public class ContentLoaderService implem
         bcNode.unlock();
     }
 
+    @Override
     public void contentIsUninstalled(final Session session,
                                      final Bundle  bundle) {
         final String nodeName = bundle.getSymbolicName();

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentReaderWhiteboard.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentReaderWhiteboard.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentReaderWhiteboard.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/ContentReaderWhiteboard.java Wed Aug  9 15:27:11 2017
@@ -3,9 +3,9 @@
  * NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF
  * licenses this file to you under the Apache License, Version 2.0 (the "License"); you may not use this file
  * except in compliance with the License. You may obtain a copy of the License at
- * 
+ *
  * http://www.apache.org/licenses/LICENSE-2.0
- * 
+ *
  * Unless required by applicable law or agreed to in writing, software distributed under the License is
  * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and limitations under the License.
@@ -16,23 +16,23 @@ package org.apache.sling.jcr.contentload
 import java.util.LinkedHashMap;
 import java.util.Map;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.ReferencePolicy;
-import org.apache.felix.scr.annotations.References;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.osgi.PropertiesUtil;
 import org.apache.sling.jcr.contentloader.ContentReader;
-
-@Component
-@Service(value = ContentReaderWhiteboard.class)
-@References({ @Reference(name = "contentReader", referenceInterface = ContentReader.class, cardinality = ReferenceCardinality.OPTIONAL_MULTIPLE, policy = ReferencePolicy.DYNAMIC) })
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
+import org.osgi.service.component.annotations.ReferencePolicy;
+
+@Component(service = ContentReaderWhiteboard.class,
+    property = {
+        Constants.SERVICE_VENDOR + "=The Apache Software Foundation"
+    })
 public class ContentReaderWhiteboard {
 
-    private Map<String, ContentReader> readersByExtension = new LinkedHashMap<String, ContentReader>();
+    private Map<String, ContentReader> readersByExtension = new LinkedHashMap<>();
 
-    private Map<String, ContentReader> readersByType = new LinkedHashMap<String, ContentReader>();
+    private Map<String, ContentReader> readersByType = new LinkedHashMap<>();
 
     public Map<String, ContentReader> getReadersByExtension() {
         return readersByExtension;
@@ -42,6 +42,8 @@ public class ContentReaderWhiteboard {
         return readersByType;
     }
 
+    @Reference(name = "contentReader", service = ContentReader.class,
+            cardinality = ReferenceCardinality.MULTIPLE, policy = ReferencePolicy.DYNAMIC)
     protected void bindContentReader(final ContentReader operation, final Map<String, Object> properties) {
         final String[] extensions = PropertiesUtil.toStringArray(properties.get(ContentReader.PROPERTY_EXTENSIONS));
         final String[] types = PropertiesUtil.toStringArray(properties.get(ContentReader.PROPERTY_TYPES));

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/DefaultContentImporter.java Wed Aug  9 15:27:11 2017
@@ -27,12 +27,6 @@ import javax.jcr.Node;
 import javax.jcr.RepositoryException;
 import javax.jcr.Session;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Reference;
-import org.apache.felix.scr.annotations.ReferenceCardinality;
-import org.apache.felix.scr.annotations.ReferencePolicy;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.commons.mime.MimeTypeService;
 import org.apache.sling.jcr.contentloader.ContentImportListener;
 import org.apache.sling.jcr.contentloader.ContentImporter;
@@ -40,6 +34,9 @@ import org.apache.sling.jcr.contentloade
 import org.apache.sling.jcr.contentloader.ContentTypeUtil;
 import org.apache.sling.jcr.contentloader.ImportOptions;
 import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+import org.osgi.service.component.annotations.Reference;
+import org.osgi.service.component.annotations.ReferenceCardinality;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -49,14 +46,12 @@ import org.slf4j.LoggerFactory;
  * <li>Import content into the content repository.
  * </ul>
  */
-@Component
-@Service(ContentImporter.class)
-@Property(
-        name = Constants.SERVICE_DESCRIPTION,
-        value = "Apache Sling JCR Content Import Service"
-    )
-@Reference(name="contentReaderWhiteboard", cardinality=ReferenceCardinality.MANDATORY_UNARY,
-           policy=ReferencePolicy.DYNAMIC, referenceInterface=ContentReaderWhiteboard.class)
+@Component(service = ContentImporter.class,
+    property = {
+            Constants.SERVICE_DESCRIPTION + "=Apache Sling JCR Content Import Service",
+            Constants.SERVICE_VENDOR + "=The Apache Software Foundation"
+    })
+
 public class DefaultContentImporter extends BaseImportLoader implements ContentHelper, ContentImporter {
 
     /**
@@ -67,12 +62,23 @@ public class DefaultContentImporter exte
 
     private final Logger logger = LoggerFactory.getLogger(DefaultContentImporter.class);
 
-    public DefaultContentImporter() {
+    @Reference(name="contentReaderWhiteboard",
+            cardinality=ReferenceCardinality.MANDATORY,
+             service=ContentReaderWhiteboard.class)
+    protected void bindContentReaderWhiteboard(final ContentReaderWhiteboard service) {
+        this.contentReaderWhiteboard = service;
+    }
+
+    protected void unbindContentReaderWhiteboard(final ContentReaderWhiteboard service) {
+        if ( this.contentReaderWhiteboard == service ) {
+            this.contentReaderWhiteboard = null;
+        }
     }
 
     /* (non-Javadoc)
      * @see org.apache.sling.jcr.contentloader.ContentImporter#importContent(javax.jcr.Node, java.lang.String, java.io.InputStream, org.apache.sling.jcr.contentloader.ImportOptions, org.apache.sling.jcr.contentloader.ContentImportListener)
      */
+    @Override
     public void importContent(Node parent, String filename, InputStream contentStream, ImportOptions importOptions, ContentImportListener importListener) throws RepositoryException, IOException {
 
         // special treatment for system view imports
@@ -91,6 +97,7 @@ public class DefaultContentImporter exte
         importContent(contentCreator, contentReader, parent, name, contentStream, importOptions, importListener);
     }
 
+    @Override
     public void importContent(final Node parent, final String name, final String contentType, final InputStream contentStream, final ImportOptions importOptions, final ContentImportListener importListener) throws RepositoryException, IOException {
 
         // special treatment for system view imports
@@ -108,7 +115,7 @@ public class DefaultContentImporter exte
     }
 
     private void importContent(final DefaultContentCreator contentCreator, final ContentReader contentReader, final Node parent, final String name, final InputStream contentStream, final ImportOptions importOptions, final ContentImportListener importListener) throws RepositoryException, IOException {
-        List<String> createdPaths = new ArrayList<String>();
+        List<String> createdPaths = new ArrayList<>();
         contentCreator.init(importOptions, getContentReaders(), createdPaths, importListener);
         contentCreator.prepareParsing(parent, name);
         contentReader.parse(contentStream, contentCreator);
@@ -142,6 +149,7 @@ public class DefaultContentImporter exte
     /* (non-Javadoc)
      * @see org.apache.sling.jcr.contentloader.internal.ContentHelper#getMimeType(java.lang.String)
      */
+    @Override
     public String getMimeType(String name) {
         // local copy to not get NPE despite check for null due to concurrent unbind
         MimeTypeService mts = mimeTypeService;

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/JsonReader.java Wed Aug  9 15:27:11 2017
@@ -18,6 +18,8 @@
  */
 package org.apache.sling.jcr.contentloader.internal.readers;
 
+import static org.apache.sling.jcr.contentparser.impl.JsonTicksConverter.tickToDoubleQuote;
+
 import java.io.BufferedInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.IOException;
@@ -40,13 +42,10 @@ import javax.json.JsonObject;
 import javax.json.JsonString;
 import javax.json.JsonValue;
 
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.jcr.contentloader.ContentCreator;
 import org.apache.sling.jcr.contentloader.ContentReader;
-import static org.apache.sling.jcr.contentparser.impl.JsonTicksConverter.tickToDoubleQuote;
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
 
 /**
  * The <code>JsonReader</code> Parses a Json document on content load and creates the
@@ -97,11 +96,11 @@ import static org.apache.sling.jcr.conte
  *
  * </pre>
  */
-@Component
-@Service
-@Properties({
-    @Property(name = ContentReader.PROPERTY_EXTENSIONS, value = "json"),
-    @Property(name = ContentReader.PROPERTY_TYPES, value = "application/json")
+@Component(service = ContentReader.class,
+property = {
+    Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+    ContentReader.PROPERTY_EXTENSIONS + "=json",
+    ContentReader.PROPERTY_TYPES + "=application/json"
 })
 public class JsonReader implements ContentReader {
 
@@ -111,7 +110,7 @@ public class JsonReader implements Conte
     private static final String NAME = "jcr:name:";
     private static final String URI = "jcr:uri:";
 
-    protected static final Set<String> ignoredNames = new HashSet<String>();
+    protected static final Set<String> ignoredNames = new HashSet<>();
     static {
         ignoredNames.add("jcr:primaryType");
         ignoredNames.add("jcr:mixinTypes");
@@ -123,7 +122,7 @@ public class JsonReader implements Conte
         ignoredNames.add("jcr:created");
     }
 
-    private static final Set<String> ignoredPrincipalPropertyNames = new HashSet<String>();
+    private static final Set<String> ignoredPrincipalPropertyNames = new HashSet<>();
     static {
     	ignoredPrincipalPropertyNames.add("name");
     	ignoredPrincipalPropertyNames.add("isgroup");
@@ -137,6 +136,7 @@ public class JsonReader implements Conte
     /**
      * @see org.apache.sling.jcr.contentloader.ContentReader#parse(java.net.URL, org.apache.sling.jcr.contentloader.ContentCreator)
      */
+    @Override
     public void parse(java.net.URL url, ContentCreator contentCreator)
     throws IOException, RepositoryException {
         InputStream ins = null;
@@ -153,6 +153,7 @@ public class JsonReader implements Conte
         }
     }
 
+    @Override
     public void parse(InputStream ins, ContentCreator contentCreator) throws IOException, RepositoryException {
         try {
             String jsonString = toString(ins).trim();
@@ -368,7 +369,7 @@ public class JsonReader implements Conte
     	boolean isGroup = json.getBoolean("isgroup", false);
 
     	//collect the extra property names to assign to the new principal
-    	Map<String, Object> extraProps = new LinkedHashMap<String, Object>();
+    	Map<String, Object> extraProps = new LinkedHashMap<>();
 		for(Map.Entry<String, JsonValue> entry : json.entrySet()) {
 			String propName = entry.getKey();
 			if (!ignoredPrincipalPropertyNames.contains(propName)) {

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/OrderedJsonReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/OrderedJsonReader.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/OrderedJsonReader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/OrderedJsonReader.java Wed Aug  9 15:27:11 2017
@@ -18,14 +18,6 @@
  */
 package org.apache.sling.jcr.contentloader.internal.readers;
 
-import org.apache.commons.lang.StringUtils;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
-import org.apache.sling.jcr.contentloader.ContentCreator;
-import org.apache.sling.jcr.contentloader.ContentReader;
-
 import java.util.Map;
 
 import javax.jcr.RepositoryException;
@@ -36,6 +28,11 @@ import javax.json.JsonObject;
 import javax.json.JsonObjectBuilder;
 import javax.json.JsonValue;
 
+import org.apache.sling.jcr.contentloader.ContentCreator;
+import org.apache.sling.jcr.contentloader.ContentReader;
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
+
 /**
  * Specific <code>JsonReader</code>, <code>OrderedJsonReader</code> parse json document exactly the same,
  * but does specific look up for SLING:ordered : [{SLING:name: "first", ...},{SLING:name: "second", ...}]
@@ -43,11 +40,11 @@ import javax.json.JsonValue;
  * children, in that order.
  * Note that this is the reponsability of the json file to set appropriate node type / mixins.
  */
-@Component(inherit = false)
-@Service
-@Properties({
-        @Property(name = ContentReader.PROPERTY_EXTENSIONS, value = "ordered-json"),
-        @Property(name = ContentReader.PROPERTY_TYPES, value = "application/json")
+@Component(service = ContentReader.class,
+property = {
+    Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+    ContentReader.PROPERTY_EXTENSIONS + "=ordered-json",
+    ContentReader.PROPERTY_TYPES + "=application/json"
 })
 public class OrderedJsonReader extends JsonReader {
 
@@ -73,7 +70,7 @@ public class OrderedJsonReader extends J
                                     if (oc instanceof JsonObject) {
                                         JsonObject child = (JsonObject) oc;
                                         String childName = child.getString(PN_ORDEREDCHILDNAME, null);
-                                        if (StringUtils.isNotBlank(childName)) {
+                                        if (childName != null && !childName.isEmpty() ) {
                                             JsonObjectBuilder builder = Json.createObjectBuilder();
                                             for (Map.Entry<String, JsonValue> e : child.entrySet())
                                             {

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/XmlReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/XmlReader.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/XmlReader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/XmlReader.java Wed Aug  9 15:27:11 2017
@@ -49,14 +49,12 @@ import javax.xml.transform.TransformerFa
 import javax.xml.transform.stream.StreamResult;
 import javax.xml.transform.stream.StreamSource;
 
-import org.apache.felix.scr.annotations.Activate;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.jcr.contentloader.ContentCreator;
 import org.apache.sling.jcr.contentloader.ContentReader;
 import org.kxml2.io.KXmlParser;
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Activate;
+import org.osgi.service.component.annotations.Component;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.xmlpull.v1.XmlPullParser;
@@ -98,11 +96,12 @@ import org.xmlpull.v1.XmlPullParserExcep
  * If you want to include a binary file in your loaded content, you may specify it using a
  * {@link org.apache.sling.jcr.contentloader.internal.readers.XmlReader.FileDescription} <code>&lt;nt:file&gt;</code> element.
  */
-@Component
-@Service
-@Properties({
-    @Property(name = ContentReader.PROPERTY_EXTENSIONS, value = "xml"),
-    @Property(name = ContentReader.PROPERTY_TYPES, value = {"application/xml", "text/xml"})
+@Component(service = ContentReader.class,
+property = {
+    Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+    ContentReader.PROPERTY_EXTENSIONS + "=xml",
+    ContentReader.PROPERTY_TYPES + "=application/xml",
+    ContentReader.PROPERTY_TYPES + "=text/xml"
 })
 public class XmlReader implements ContentReader {
 
@@ -159,6 +158,7 @@ public class XmlReader implements Conten
     /**
      * @see org.apache.sling.jcr.contentloader.ContentReader#parse(URL, org.apache.sling.jcr.contentloader.ContentCreator)
      */
+    @Override
     public synchronized void parse(final URL url, final ContentCreator creator)
     throws IOException, RepositoryException {
         BufferedInputStream bufferedInput = null;
@@ -176,7 +176,8 @@ public class XmlReader implements Conten
     /* (non-Javadoc)
 	 * @see org.apache.sling.jcr.contentloader.ContentReader#parse(java.io.InputStream, org.apache.sling.jcr.contentloader.ContentCreator)
 	 */
-	public void parse(InputStream ins, ContentCreator creator)
+	@Override
+    public void parse(InputStream ins, ContentCreator creator)
 			throws IOException, RepositoryException {
         BufferedInputStream bufferedInput = null;
         try {
@@ -366,6 +367,7 @@ public class XmlReader implements Conten
 
             transformerThread = new Thread(
                     new Runnable() {
+                        @Override
                         public void run() {
                             try {
                                 Source xml = new StreamSource(inputXml);
@@ -422,7 +424,7 @@ public class XmlReader implements Conten
 
         public void addMixinType(String v) {
             if ( this.mixinTypes == null ) {
-                this.mixinTypes = new ArrayList<String>();
+                this.mixinTypes = new ArrayList<>();
             }
             this.mixinTypes.add(v);
         }
@@ -471,7 +473,7 @@ public class XmlReader implements Conten
 
         public void addValue(String v) {
             if ( this.values == null ) {
-                this.values = new ArrayList<String>();
+                this.values = new ArrayList<>();
             }
             this.values.add(v);
         }
@@ -500,7 +502,7 @@ public class XmlReader implements Conten
      */
     private static class ProcessingInstruction {
 
-        private Map<String, String> attributes = new HashMap<String, String>();
+        private Map<String, String> attributes = new HashMap<>();
         private static final Pattern ATTRIBUTE_PATTERN = Pattern.compile("\\s(.[^=\\s]*)\\s?=\\s?\"(.[^\"]*)\"");
         private static final Pattern NAME_PATTERN = Pattern.compile("^(.[^\\s\\?>]*)");
         private String name;

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/ZipReader.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/ZipReader.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/ZipReader.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/internal/readers/ZipReader.java Wed Aug  9 15:27:11 2017
@@ -26,12 +26,10 @@ import java.util.zip.ZipInputStream;
 import javax.jcr.RepositoryException;
 
 import org.apache.commons.io.input.CloseShieldInputStream;
-import org.apache.felix.scr.annotations.Component;
-import org.apache.felix.scr.annotations.Properties;
-import org.apache.felix.scr.annotations.Property;
-import org.apache.felix.scr.annotations.Service;
 import org.apache.sling.jcr.contentloader.ContentCreator;
 import org.apache.sling.jcr.contentloader.ContentReader;
+import org.osgi.framework.Constants;
+import org.osgi.service.component.annotations.Component;
 
 
 /**
@@ -39,11 +37,13 @@ import org.apache.sling.jcr.contentloade
  *
  * @since 2.0.4
  */
-@Component
-@Service
-@Properties({
-    @Property(name = ContentReader.PROPERTY_EXTENSIONS, value = {"zip", "jar"}),
-    @Property(name = ContentReader.PROPERTY_TYPES, value = {"application/zip", "application/java-archive"})
+@Component(service = ContentReader.class,
+    property = {
+        Constants.SERVICE_VENDOR + "=The Apache Software Foundation",
+        ContentReader.PROPERTY_EXTENSIONS + "=zip",
+        ContentReader.PROPERTY_EXTENSIONS + "=jar",
+        ContentReader.PROPERTY_TYPES + "=application/zip",
+        ContentReader.PROPERTY_TYPES + "=application/java-archive"
 })
 public class ZipReader implements ContentReader {
 
@@ -52,6 +52,7 @@ public class ZipReader implements Conten
     /**
      * @see org.apache.sling.jcr.contentloader.ContentReader#parse(java.net.URL, org.apache.sling.jcr.contentloader.ContentCreator)
      */
+    @Override
     public void parse(java.net.URL url, ContentCreator creator)
     		throws IOException, RepositoryException {
     	parse(url.openStream(), creator);
@@ -60,7 +61,8 @@ public class ZipReader implements Conten
 	/**
 	 * @see org.apache.sling.jcr.contentloader.ContentReader#parse(java.io.InputStream, org.apache.sling.jcr.contentloader.ContentCreator)
 	 */
-	public void parse(InputStream ins, ContentCreator creator)
+	@Override
+    public void parse(InputStream ins, ContentCreator creator)
 			throws IOException, RepositoryException {
         try {
             creator.createNode(null, NT_FOLDER, null);

Modified: sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/package-info.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/package-info.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/package-info.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/main/java/org/apache/sling/jcr/contentloader/package-info.java Wed Aug  9 15:27:11 2017
@@ -17,7 +17,6 @@
  * under the License.
  */
 
-@Version("0.2")
+@org.osgi.annotation.versioning.Version("0.2.2")
 package org.apache.sling.jcr.contentloader;
 
-import aQute.bnd.annotation.Version;

Modified: sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/internal/BundleContentLoaderTest.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/internal/BundleContentLoaderTest.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/internal/BundleContentLoaderTest.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/internal/BundleContentLoaderTest.java Wed Aug  9 15:27:11 2017
@@ -52,75 +52,75 @@ public class BundleContentLoaderTest {
         context.registerInjectActivateService(new JsonReader());
         context.registerInjectActivateService(new XmlReader());
         context.registerInjectActivateService(new ZipReader());
-        
+
         // whiteboard which holds readers
         context.registerInjectActivateService(new ContentReaderWhiteboard());
-        
+
         // TODO - SlingRepository should be registered out of the box, not after calling context.resourceResolver()
         // TODO - sling node types should _always_ be registered
         Session session = context.resourceResolver().adaptTo(Session.class);
         RepositoryUtil.registerSlingNodeTypes(session);
-        
+
         // register the content loader service
         BundleHelper bundleHelper = context.registerInjectActivateService(new ContentLoaderService());
-        
+
         ContentReaderWhiteboard whiteboard = context.getService(ContentReaderWhiteboard.class);
-        
-        contentLoader = new BundleContentLoader(bundleHelper, whiteboard);        
+
+        contentLoader = new BundleContentLoader(bundleHelper, whiteboard);
     }
-    
-    
+
+
     @Test
     public void loadContentWithSpecificPath() throws Exception {
 
         Bundle mockBundle = newBundleWithInitialContent("SLING-INF/libs/app;path:=/libs/app");
-        
+
         contentLoader.registerBundle(context.resourceResolver().adaptTo(Session.class), mockBundle, false);
-        
+
         Resource imported = context.resourceResolver().getResource("/libs/app");
-        
+
         assertThat("Resource was not imported", imported, notNullValue());
         assertThat("sling:resourceType was not properly set", imported.getResourceType(), equalTo("sling:Folder"));
     }
 
     @Test
     public void loadContentWithRootPath() throws Exception {
-        
+
         Bundle mockBundle = newBundleWithInitialContent("SLING-INF/");
-        
+
         contentLoader.registerBundle(context.resourceResolver().adaptTo(Session.class), mockBundle, false);
-        
+
         Resource imported = context.resourceResolver().getResource("/libs/app");
-        
+
         assertThat("Resource was not imported", imported, notNullValue());
         assertThat("sling:resourceType was not properly set", imported.getResourceType(), equalTo("sling:Folder"));
     }
-    
+
     @Test
     @Ignore("TODO - unregister or somehow ignore the XmlReader component for this test")
     public void loadXmlAsIs() throws Exception {
 
         dumpRepo("/", 2);
-        
+
         Bundle mockBundle = newBundleWithInitialContent("SLING-INF/libs/app;path:=/libs/app;ignoreImportProviders:=xml");
-        
+
         contentLoader.registerBundle(context.resourceResolver().adaptTo(Session.class), mockBundle, false);
-        
+
         Resource imported = context.resourceResolver().getResource("/libs/app");
-        
+
         assertThat("Resource was not imported", imported, notNullValue());
         assertThat("sling:resourceType was not properly set", imported.getResourceType(), equalTo("sling:Folder"));
-        
+
         Resource xmlFile = context.resourceResolver().getResource("/libs/app.xml");
-        
+
         dumpRepo("/", 2);
-        
+
         assertThat("XML file was was not imported", xmlFile, notNullValue());
 
     }
 
     private MockBundle newBundleWithInitialContent(String initialContentHeader) {
-        
+
         MockBundle mockBundle = new MockBundle(context.bundleContext());
         mockBundle.setHeaders(singletonMap("Sling-Initial-Content", initialContentHeader));
         return mockBundle;
@@ -128,7 +128,7 @@ public class BundleContentLoaderTest {
 
 
     private void dumpRepo(String startPath, int maxDepth) {
-        
+
         dumpRepo0(startPath, maxDepth, 0);
     }
 

Modified: sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/ContentBundleTestBase.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/ContentBundleTestBase.java?rev=1804544&r1=1804543&r2=1804544&view=diff
==============================================================================
--- sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/ContentBundleTestBase.java (original)
+++ sling/trunk/bundles/jcr/contentloader/src/test/java/org/apache/sling/jcr/contentloader/it/ContentBundleTestBase.java Wed Aug  9 15:27:11 2017
@@ -56,52 +56,52 @@ import org.slf4j.LoggerFactory;
 /** Base class for testing bundles that provide initial content */
 @RunWith(PaxExam.class)
 public abstract class ContentBundleTestBase {
-    
+
     private final Logger log = LoggerFactory.getLogger(getClass());
-    
+
     @Rule
     public final RetryRule retry = new RetryRule(RETRY_TIMEOUT, RETRY_INTERVAL);
-    
+
     @Inject
     protected BundleContext bundleContext;
 
     @Inject
     protected SlingRepository repository;
-    
+
     protected static Session session;
     protected static String bundleSymbolicName;
     protected static String contentRootPath;
-    private static final List<Bundle> bundlesToRemove = new ArrayList<Bundle>();
-    
+    private static final List<Bundle> bundlesToRemove = new ArrayList<>();
+
     protected static final int RETRY_TIMEOUT = 5000;
     protected static final int RETRY_INTERVAL = 100;
     protected static final String SLING_INITIAL_CONTENT_HEADER = "Sling-Initial-Content";
     protected static final String DEFAULT_PATH_IN_BUNDLE = "test-initial-content";
-    
+
     @org.ops4j.pax.exam.Configuration
     public Option[] config() {
         return PaxExamUtilities.paxConfig();
     }
-    
+
     @BeforeClass
     public static void setupClass() {
         bundleSymbolicName = "TEST-" + UUID.randomUUID();
         contentRootPath = "/test-content/" + bundleSymbolicName;
     }
-    
+
     @Before
     public void setup() throws Exception {
         registerStartupHandler();
 
         session = repository.loginAdministrative(null);
-        
+
         // The RetryRule executes this method on every retry, make
         // sure to install our test bundle only once
         if(!bundlesToRemove.isEmpty()) {
             return;
         }
         assertFalse("Expecting no content before test", session.itemExists(contentRootPath));
-        
+
         // Create, install and start a bundle that has initial content
         final InputStream is = getTestBundleStream();
         try {
@@ -111,10 +111,10 @@ public abstract class ContentBundleTestB
         } finally {
             is.close();
         }
-        
+
         maybeDumpTestBundle();
     }
-    
+
     /** Optionally dump our test bundle, for troubleshooting it */
     private void maybeDumpTestBundle() throws Exception {
         final boolean doDump = Boolean.valueOf(System.getProperty("dump.test.bundles", "false"));
@@ -129,15 +129,15 @@ public abstract class ContentBundleTestB
             }
         }
     }
-    
+
     private InputStream getTestBundleStream() throws Exception {
         return setupTestBundle(TinyBundles.bundle()
             .set(Constants.BUNDLE_SYMBOLICNAME, bundleSymbolicName)
             ).build(TinyBundles.withBnd());
     }
-    
+
     abstract protected TinyBundle setupTestBundle(TinyBundle b) throws Exception;
-    
+
     /** Add content to our test bundle */
     protected void addContent(TinyBundle b, String pathInBundle, String resourcePath) throws IOException {
         pathInBundle += "/" + resourcePath;
@@ -153,14 +153,14 @@ public abstract class ContentBundleTestB
             }
         }
     }
-    
+
     @AfterClass
     public static void cleanupClass() throws BundleException {
         for(Bundle b : bundlesToRemove) {
             b.uninstall();
         }
         bundlesToRemove.clear();
-        
+
         session.logout();
         session = null;
     }
@@ -174,13 +174,16 @@ public abstract class ContentBundleTestB
         // TODO should be provided by a utility/bootstrap bundle
         final StartupHandler h = new StartupHandler() {
 
+            @Override
             public void waitWithStartup(boolean b) {
             }
 
+            @Override
             public boolean isFinished() {
                 return true;
             }
 
+            @Override
             public StartupMode getMode() {
                 return StartupMode.INSTALL;
             }
@@ -189,5 +192,4 @@ public abstract class ContentBundleTestB
 
         bundleContext.registerService(StartupHandler.class.getName(), h, null);
     }
-
 }
\ No newline at end of file