Author: rombert Date: Thu Aug 17 13:04:32 2017 New Revision: 1805281 URL: http://svn.apache.org/viewvc?rev=1805281&view=rev Log: SLING-6519 - Remove dependency to org.json
Fix source references parsing Added: sling/trunk/tooling/ide/api-test/src/test/resources/sourceReferences.json Modified: sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/osgi/impl/HttpOsgiClientTest.java sling/trunk/tooling/ide/api/src/org/apache/sling/ide/osgi/impl/HttpOsgiClient.java Modified: sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/osgi/impl/HttpOsgiClientTest.java URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/osgi/impl/HttpOsgiClientTest.java?rev=1805281&r1=1805280&r2=1805281&view=diff ============================================================================== --- sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/osgi/impl/HttpOsgiClientTest.java (original) +++ sling/trunk/tooling/ide/api-test/src/test/java/org/apache/sling/ide/osgi/impl/HttpOsgiClientTest.java Thu Aug 17 13:04:32 2017 @@ -16,12 +16,18 @@ */ package org.apache.sling.ide.osgi.impl; +import static org.hamcrest.CoreMatchers.equalTo; +import static org.junit.Assert.assertThat; + import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader; import java.nio.charset.StandardCharsets; +import java.util.List; +import org.apache.sling.ide.osgi.MavenSourceReference; +import org.apache.sling.ide.osgi.SourceReference; import org.junit.Assert; import org.junit.Test; import org.osgi.framework.Version; @@ -30,9 +36,26 @@ public class HttpOsgiClientTest { @Test public void testGetBundleVersionFromReader() throws IOException { - try (InputStream input = this.getClass().getClassLoader().getResourceAsStream("bundles.json"); + try (InputStream input = getClass().getClassLoader().getResourceAsStream("bundles.json"); Reader reader = new InputStreamReader(input, StandardCharsets.UTF_8)) { Assert.assertEquals(new Version("3.4.0"), HttpOsgiClient.getBundleVersionFromReader("org.apache.commons.lang3", reader)); } } + + @Test + public void parseSourceReferences() throws IOException { + + try ( InputStream input = getClass().getClassLoader().getResourceAsStream("sourceReferences.json")) { + List<SourceReference> references = HttpOsgiClient.parseSourceReferences(input); + assertThat("references.size", references.size(), equalTo(241)); + + SourceReference first = references.get(0); + assertThat(first.getType(), equalTo(SourceReference.Type.MAVEN)); + + MavenSourceReference mavenSR = (MavenSourceReference) first; + assertThat(mavenSR.getGroupId(), equalTo("org.apache.felix")); + assertThat(mavenSR.getArtifactId(), equalTo("org.apache.felix.framework")); + assertThat(mavenSR.getVersion(), equalTo("5.6.6")); + } + } } Added: sling/trunk/tooling/ide/api-test/src/test/resources/sourceReferences.json URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api-test/src/test/resources/sourceReferences.json?rev=1805281&view=auto ============================================================================== --- sling/trunk/tooling/ide/api-test/src/test/resources/sourceReferences.json (added) +++ sling/trunk/tooling/ide/api-test/src/test/resources/sourceReferences.json Thu Aug 17 13:04:32 2017 @@ -0,0 +1,2404 @@ +[ + + { + "Bundle-SymbolicName": "org.apache.felix.framework", + "Bundle-Version": "5.6.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.framework", + "version": "5.6.6" + }, + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.fragment.ws", + "version": "1.0.2" + }, + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.fragment.xml", + "version": "1.0.2" + }, + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.fragment.transaction", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.geronimo.specs.geronimo-atinject_1.0_spec", + "Bundle-Version": "1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.geronimo.specs", + "artifactId": "geronimo-atinject_1.0_spec", + "version": "1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.installer.core", + "Bundle-Version": "3.8.10", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.installer.core", + "version": "3.8.10" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.javax.activation", + "Bundle-Version": "0.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.javax.activation", + "version": "0.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.settings", + "Bundle-Version": "1.3.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.settings", + "version": "1.3.8" + } + ] + }, + { + "Bundle-SymbolicName": "log4j.over.slf4j", + "Bundle-Version": "1.7.21", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.slf4j", + "artifactId": "log4j-over-slf4j", + "version": "1.7.21" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.installer.provider.file", + "Bundle-Version": "1.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.installer.provider.file", + "version": "1.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.eventadmin", + "Bundle-Version": "1.4.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.eventadmin", + "version": "1.4.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.installer.factory.configuration", + "Bundle-Version": "1.1.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.installer.factory.configuration", + "version": "1.1.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.log", + "Bundle-Version": "5.0.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.log", + "version": "5.0.2" + }, + { + "__type__": "maven", + "groupId": "ch.qos.logback", + "artifactId": "logback-core", + "version": "1.1.7" + }, + { + "__type__": "maven", + "groupId": "ch.qos.logback", + "artifactId": "logback-classic", + "version": "1.1.7" + } + ] + }, + { + "Bundle-SymbolicName": "slf4j.api", + "Bundle-Version": "1.7.21", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.slf4j", + "artifactId": "slf4j-api", + "version": "1.7.21" + } + ] + }, + { + "Bundle-SymbolicName": "jcl.over.slf4j", + "Bundle-Version": "1.7.21", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.slf4j", + "artifactId": "jcl-over-slf4j", + "version": "1.7.21" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.aries.util", + "Bundle-Version": "1.1.3", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.aries", + "artifactId": "org.apache.aries.util", + "version": "1.1.3" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.logservice", + "Bundle-Version": "1.0.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.logservice", + "version": "1.0.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.launchpad.installer", + "Bundle-Version": "1.2.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.launchpad.installer", + "version": "1.2.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.configadmin", + "Bundle-Version": "1.8.10", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.configadmin", + "version": "1.8.10" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.fileupload", + "Bundle-Version": "1.3.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "commons-fileupload", + "artifactId": "commons-fileupload", + "version": "1.3.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.io", + "Bundle-Version": "2.5.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "commons-io", + "artifactId": "commons-io", + "version": "2.5" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.aries.jmx.api", + "Bundle-Version": "1.1.5", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.aries.jmx", + "artifactId": "org.apache.aries.jmx.api", + "version": "1.1.5" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.aries.jmx.core", + "Bundle-Version": "1.1.7", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.aries.jmx", + "artifactId": "org.apache.aries.jmx.core", + "version": "1.1.7" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.aries.jmx.whiteboard", + "Bundle-Version": "1.1.5", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.aries.jmx", + "artifactId": "org.apache.aries.jmx.whiteboard", + "version": "1.1.5" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.bundlerepository", + "Bundle-Version": "1.6.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.bundlerepository", + "version": "1.6.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.http.jetty", + "Bundle-Version": "3.4.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.http.jetty", + "version": "3.4.2" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty", + "artifactId": "jetty-servlet", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty", + "artifactId": "jetty-server", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty", + "artifactId": "jetty-util", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty", + "artifactId": "jetty-jmx", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty", + "artifactId": "jetty-security", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty", + "artifactId": "jetty-webapp", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty.websocket", + "artifactId": "websocket-servlet", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.eclipse.jetty.websocket", + "artifactId": "websocket-server", + "version": "9.3.15.v20161220" + }, + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.http.api", + "version": "3.0.0" + }, + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.http.base", + "version": "3.0.18" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.http.servlet-api", + "Bundle-Version": "1.1.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.http.servlet-api", + "version": "1.1.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.inventory", + "Bundle-Version": "1.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.inventory", + "version": "1.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.prefs", + "Bundle-Version": "1.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.prefs", + "version": "1.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.webconsole", + "Bundle-Version": "4.3.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.webconsole", + "version": "4.3.4" + }, + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.extensions.webconsolebranding", + "version": "1.0.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.webconsole.plugins.ds", + "Bundle-Version": "2.0.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.webconsole.plugins.ds", + "version": "2.0.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.webconsole.plugins.event", + "Bundle-Version": "1.1.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.webconsole.plugins.event", + "version": "1.1.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.webconsole.plugins.memoryusage", + "Bundle-Version": "1.0.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.webconsole.plugins.memoryusage", + "version": "1.0.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.webconsole.plugins.obr", + "Bundle-Version": "1.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.webconsole.plugins.obr", + "version": "1.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.webconsole.plugins.packageadmin", + "Bundle-Version": "1.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.webconsole.plugins.packageadmin", + "version": "1.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.johnzon", + "Bundle-Version": "1.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.johnzon", + "version": "1.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.log.webconsole", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.log.webconsole", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.extensions.threaddump", + "Bundle-Version": "0.2.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.extensions.threaddump", + "version": "0.2.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.extensions.webconsolesecurityprovider", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.extensions.webconsolesecurityprovider", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.launchpad.test-services", + "Bundle-Version": "2.0.13.SNAPSHOT", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.launchpad.test-services", + "version": "2.0.13-SNAPSHOT" + }, + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.launchpad.test-fragment", + "version": "2.0.13-SNAPSHOT" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.launchpad.test-services-war", + "Bundle-Version": "2.0.13.SNAPSHOT", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.launchpad.test-services-war", + "version": "2.0.13-SNAPSHOT" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.http.sslfilter", + "Bundle-Version": "1.2.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.http.sslfilter", + "version": "1.2.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.jaas", + "Bundle-Version": "1.0.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.jaas", + "version": "1.0.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.metatype", + "Bundle-Version": "1.1.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.metatype", + "version": "1.1.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.scr", + "Bundle-Version": "2.0.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.scr", + "version": "2.0.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.tika.bundle", + "Bundle-Version": "1.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.tika", + "artifactId": "tika-bundle", + "version": "1.14" + }, + { + "__type__": "maven", + "groupId": "org.apache.tika", + "artifactId": "tika-parsers", + "version": "1.14" + }, + { + "__type__": "maven", + "groupId": "org.apache.commons", + "artifactId": "commons-compress", + "version": "1.12" + }, + { + "__type__": "maven", + "groupId": "commons-codec", + "artifactId": "commons-codec", + "version": "1.10" + }, + { + "__type__": "maven", + "groupId": "org.apache.commons", + "artifactId": "commons-csv", + "version": "1.0" + }, + { + "__type__": "maven", + "groupId": "commons-io", + "artifactId": "commons-io", + "version": "2.5" + }, + { + "__type__": "maven", + "groupId": "org.apache.commons", + "artifactId": "commons-exec", + "version": "1.3" + }, + { + "__type__": "maven", + "groupId": "org.apache.commons", + "artifactId": "commons-collections4", + "version": "4.1" + }, + { + "__type__": "maven", + "groupId": "com.github.junrar", + "artifactId": "junrar", + "version": "0.7" + }, + { + "__type__": "maven", + "groupId": "org.apache.pdfbox", + "artifactId": "pdfbox", + "version": "2.0.3" + }, + { + "__type__": "maven", + "groupId": "org.apache.pdfbox", + "artifactId": "pdfbox-tools", + "version": "2.0.3" + }, + { + "__type__": "maven", + "groupId": "org.apache.pdfbox", + "artifactId": "pdfbox-debugger", + "version": "2.0.3" + }, + { + "__type__": "maven", + "groupId": "org.apache.pdfbox", + "artifactId": "fontbox", + "version": "2.0.3" + }, + { + "__type__": "maven", + "groupId": "org.apache.pdfbox", + "artifactId": "jempbox", + "version": "1.8.12" + }, + { + "__type__": "maven", + "groupId": "com.github.virtuald", + "artifactId": "curvesapi", + "version": "1.04" + }, + { + "__type__": "maven", + "groupId": "com.healthmarketscience.jackcess", + "artifactId": "jackcess", + "version": "2.1.4" + }, + { + "__type__": "maven", + "groupId": "commons-lang", + "artifactId": "commons-lang", + "version": "2.6" + }, + { + "__type__": "maven", + "groupId": "com.googlecode.juniversalchardet", + "artifactId": "juniversalchardet", + "version": "1.0.3" + }, + { + "__type__": "maven", + "groupId": "org.gagravarr", + "artifactId": "vorbis-java-core", + "version": "0.8" + }, + { + "__type__": "maven", + "groupId": "org.gagravarr", + "artifactId": "vorbis-java-tika", + "version": "0.8" + }, + { + "__type__": "maven", + "groupId": "com.googlecode.mp4parser", + "artifactId": "isoparser", + "version": "1.1.18" + }, + { + "__type__": "maven", + "groupId": "com.drewnoakes", + "artifactId": "metadata-extractor", + "version": "2.9.1" + }, + { + "__type__": "maven", + "groupId": "com.googlecode.json-simple", + "artifactId": "json-simple", + "version": "1.1.1" + }, + { + "__type__": "maven", + "groupId": "com.rometools", + "artifactId": "rome", + "version": "1.5.1" + }, + { + "__type__": "maven", + "groupId": "com.rometools", + "artifactId": "rome-utils", + "version": "1.5.1" + }, + { + "__type__": "maven", + "groupId": "org.apache.opennlp", + "artifactId": "opennlp-tools", + "version": "1.5.3" + }, + { + "__type__": "maven", + "groupId": "org.apache.opennlp", + "artifactId": "opennlp-maxent", + "version": "3.0.3" + }, + { + "__type__": "maven", + "groupId": "org.opengis", + "artifactId": "geoapi", + "version": "3.0.0" + }, + { + "__type__": "maven", + "groupId": "org.apache.james", + "artifactId": "apache-mime4j-core", + "version": "0.7.2" + }, + { + "__type__": "maven", + "groupId": "org.apache.james", + "artifactId": "apache-mime4j-dom", + "version": "0.7.2" + }, + { + "__type__": "maven", + "groupId": "javax.measure", + "artifactId": "jsr-275", + "version": "0.9.3" + }, + { + "__type__": "maven", + "groupId": "org.codelibs", + "artifactId": "jhighlight", + "version": "1.0.2" + }, + { + "__type__": "maven", + "groupId": "com.pff", + "artifactId": "java-libpst", + "version": "0.8.1" + }, + { + "__type__": "maven", + "groupId": "edu.ucar", + "artifactId": "netcdf4", + "version": "4.5.5" + }, + { + "__type__": "maven", + "groupId": "edu.ucar", + "artifactId": "grib", + "version": "4.5.5" + }, + { + "__type__": "maven", + "groupId": "edu.ucar", + "artifactId": "cdm", + "version": "4.5.5" + }, + { + "__type__": "maven", + "groupId": "edu.ucar", + "artifactId": "httpservices", + "version": "4.5.5" + }, + { + "__type__": "maven", + "groupId": "org.tallison", + "artifactId": "jmatio", + "version": "1.2" + }, + { + "__type__": "maven", + "groupId": "com.google.guava", + "artifactId": "guava", + "version": "17.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.tika.core", + "Bundle-Version": "1.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.tika", + "artifactId": "tika-core", + "version": "1.14" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.oak-segment-tar", + "Bundle-Version": "1.6.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "oak-segment-tar", + "version": "1.6.1" + }, + { + "__type__": "maven", + "groupId": "io.netty", + "artifactId": "netty-common", + "version": "4.0.41.Final" + }, + { + "__type__": "maven", + "groupId": "org.jctools", + "artifactId": "jctools-core", + "version": "1.2.1" + }, + { + "__type__": "maven", + "groupId": "io.netty", + "artifactId": "netty-buffer", + "version": "4.0.41.Final" + }, + { + "__type__": "maven", + "groupId": "io.netty", + "artifactId": "netty-transport", + "version": "4.0.41.Final" + }, + { + "__type__": "maven", + "groupId": "io.netty", + "artifactId": "netty-codec", + "version": "4.0.41.Final" + }, + { + "__type__": "maven", + "groupId": "io.netty", + "artifactId": "netty-handler", + "version": "4.0.41.Final" + } + ] + }, + { + "Bundle-SymbolicName": "com.google.guava", + "Bundle-Version": "15.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.google.guava", + "artifactId": "guava", + "version": "15.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.jackrabbit-api", + "Bundle-Version": "2.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-api", + "version": "2.14.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.jackrabbit-data", + "Bundle-Version": "2.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-data", + "version": "2.14.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.jackrabbit-jcr-commons", + "Bundle-Version": "2.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-jcr-commons", + "version": "2.14.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.jackrabbit-jcr-rmi", + "Bundle-Version": "2.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-jcr-rmi", + "version": "2.14.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.jackrabbit-spi", + "Bundle-Version": "2.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-spi", + "version": "2.14.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.jackrabbit-spi-commons", + "Bundle-Version": "2.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-spi-commons", + "version": "2.14.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.jackrabbit-webdav", + "Bundle-Version": "2.14.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-webdav", + "version": "2.14.0" + } + ] + }, + { + "Bundle-SymbolicName": "io.dropwizard.metrics.core", + "Bundle-Version": "3.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "io.dropwizard.metrics", + "artifactId": "metrics-core", + "version": "3.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.oak-blob", + "Bundle-Version": "1.6.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "oak-blob", + "version": "1.6.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.oak-commons", + "Bundle-Version": "1.6.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "oak-commons", + "version": "1.6.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.oak-core", + "Bundle-Version": "1.6.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "oak-core", + "version": "1.6.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.oak-jcr", + "Bundle-Version": "1.6.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "oak-jcr", + "version": "1.6.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.oak-lucene", + "Bundle-Version": "1.6.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "oak-lucene", + "version": "1.6.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.metrics", + "Bundle-Version": "1.2.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.metrics", + "version": "1.2.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.api", + "Bundle-Version": "2.4.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.api", + "version": "2.4.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.base", + "Bundle-Version": "3.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.base", + "version": "3.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.davex", + "Bundle-Version": "1.3.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.davex", + "version": "1.3.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.jackrabbit.accessmanager", + "Bundle-Version": "3.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.jackrabbit.accessmanager", + "version": "3.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.jackrabbit.usermanager", + "Bundle-Version": "2.2.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.jackrabbit.usermanager", + "version": "2.2.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.jcr-wrapper", + "Bundle-Version": "2.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.jcr-wrapper", + "version": "2.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.registration", + "Bundle-Version": "1.0.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.registration", + "version": "1.0.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.webconsole", + "Bundle-Version": "1.0.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.webconsole", + "version": "1.0.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.webdav", + "Bundle-Version": "2.3.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-jcr-server", + "version": "2.14.0" + }, + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.webdav", + "version": "2.3.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.oak.server", + "Bundle-Version": "1.1.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.oak.server", + "version": "1.1.4" + } + ] + }, + { + "Bundle-SymbolicName": "com.composum.core.commons", + "Bundle-Version": "1.8.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.composum.sling.core", + "artifactId": "composum-sling-core-commons", + "version": "1.8.2" + } + ] + }, + { + "Bundle-SymbolicName": "com.composum.core.config", + "Bundle-Version": "1.8.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.composum.sling.core", + "artifactId": "composum-sling-core-config", + "version": "1.8.2" + } + ] + }, + { + "Bundle-SymbolicName": "com.composum.core.console", + "Bundle-Version": "1.8.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.composum.sling.core", + "artifactId": "composum-sling-core-console", + "version": "1.8.2" + } + ] + }, + { + "Bundle-SymbolicName": "com.composum.core.jslibs", + "Bundle-Version": "1.8.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.composum.sling.core", + "artifactId": "composum-sling-core-jslibs", + "version": "1.8.2" + } + ] + }, + { + "Bundle-SymbolicName": "com.composum.core.pckgmgr", + "Bundle-Version": "1.8.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.composum.sling.core", + "artifactId": "composum-sling-package-manager", + "version": "1.8.2" + } + ] + }, + { + "Bundle-SymbolicName": "com.composum.core.usermgnt", + "Bundle-Version": "1.8.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.composum.sling.core", + "artifactId": "composum-sling-user-management", + "version": "1.8.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.jackrabbit.vault", + "Bundle-Version": "3.1.30", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit.vault", + "artifactId": "org.apache.jackrabbit.vault", + "version": "3.1.30" + }, + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-spi-commons", + "version": "2.11.3" + }, + { + "__type__": "maven", + "groupId": "org.apache.jackrabbit", + "artifactId": "jackrabbit-spi", + "version": "2.11.3" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.codec", + "Bundle-Version": "1.9.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "commons-codec", + "artifactId": "commons-codec", + "version": "1.9" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.collections", + "Bundle-Version": "3.2.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "commons-collections", + "artifactId": "commons-collections", + "version": "3.2.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.collections4", + "Bundle-Version": "4.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.commons", + "artifactId": "commons-collections4", + "version": "4.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.geronimo.bundles.commons-httpclient", + "Bundle-Version": "3.1.0.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.geronimo.bundles", + "artifactId": "commons-httpclient", + "version": "3.1_1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.lang", + "Bundle-Version": "2.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "commons-lang", + "artifactId": "commons-lang", + "version": "2.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.lang3", + "Bundle-Version": "3.5.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.commons", + "artifactId": "commons-lang3", + "version": "3.5" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.commons.math", + "Bundle-Version": "2.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.commons", + "artifactId": "commons-math", + "version": "2.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.httpcomponents.httpclient", + "Bundle-Version": "4.4.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "commons-codec", + "artifactId": "commons-codec", + "version": "1.9" + }, + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "fluent-hc", + "version": "4.4.1" + }, + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "httpclient-cache", + "version": "4.4.1" + }, + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "httpclient-osgi", + "version": "4.4.1" + }, + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "httpclient", + "version": "4.4.1" + }, + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "httpmime", + "version": "4.4.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.httpcomponents.httpcore", + "Bundle-Version": "4.4.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "httpcore-nio", + "version": "4.4.1" + }, + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "httpcore-osgi", + "version": "4.4.1" + }, + { + "__type__": "maven", + "groupId": "org.apache.httpcomponents", + "artifactId": "httpcore", + "version": "4.4.1" + } + ] + }, + { + "Bundle-SymbolicName": "com.fasterxml.jackson.core.jackson-annotations", + "Bundle-Version": "2.8.7", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.fasterxml.jackson.core", + "artifactId": "jackson-annotations", + "version": "2.8.7" + } + ] + }, + { + "Bundle-SymbolicName": "com.fasterxml.jackson.core.jackson-core", + "Bundle-Version": "2.8.7", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.fasterxml.jackson.core", + "artifactId": "jackson-core", + "version": "2.8.7" + } + ] + }, + { + "Bundle-SymbolicName": "com.fasterxml.jackson.core.jackson-databind", + "Bundle-Version": "2.8.7", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "com.fasterxml.jackson.core", + "artifactId": "jackson-databind", + "version": "2.8.7" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.geronimo.bundles.jstl", + "Bundle-Version": "1.2.0.1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.geronimo.bundles", + "artifactId": "jstl", + "version": "1.2_1" + } + ] + }, + { + "Bundle-SymbolicName": "javax.mail", + "Bundle-Version": "1.4.7", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "javax.mail", + "artifactId": "mail", + "version": "1.4.7" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.felix.http.whiteboard", + "Bundle-Version": "3.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.felix", + "artifactId": "org.apache.felix.http.whiteboard", + "version": "3.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.servicemix.bundles.rhino", + "Bundle-Version": "1.7.7.1_1", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.servicemix.bundles", + "artifactId": "org.apache.servicemix.bundles.rhino", + "version": "1.7.7.1_1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.adapter", + "Bundle-Version": "2.1.10", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.adapter", + "version": "2.1.10" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.api", + "Bundle-Version": "2.16.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.api", + "version": "2.16.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.auth.core", + "Bundle-Version": "1.4.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.auth.core", + "version": "1.4.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.auth.form", + "Bundle-Version": "1.0.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.auth.form", + "version": "1.0.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.bundleresource.impl", + "Bundle-Version": "2.2.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.bundleresource.impl", + "version": "2.2.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.caconfig.api", + "Bundle-Version": "1.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.caconfig.api", + "version": "1.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.caconfig.impl", + "Bundle-Version": "1.4.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.caconfig.impl", + "version": "1.4.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.caconfig.spi", + "Bundle-Version": "1.3.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.caconfig.spi", + "version": "1.3.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.classloader", + "Bundle-Version": "1.4.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.classloader", + "version": "1.4.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.compiler", + "Bundle-Version": "2.3.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.compiler", + "version": "2.3.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.fsclassloader", + "Bundle-Version": "1.0.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.fsclassloader", + "version": "1.0.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.mime", + "Bundle-Version": "2.1.10", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.mime", + "version": "2.1.10" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.osgi", + "Bundle-Version": "2.4.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.osgi", + "version": "2.4.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.scheduler", + "Bundle-Version": "2.6.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.scheduler", + "version": "2.6.2" + }, + { + "__type__": "maven", + "groupId": "org.quartz-scheduler", + "artifactId": "quartz", + "version": "2.2.3" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.commons.threads", + "Bundle-Version": "3.2.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.commons.threads", + "version": "3.2.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.discovery.api", + "Bundle-Version": "1.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.discovery.api", + "version": "1.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.discovery.base", + "Bundle-Version": "2.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.discovery.base", + "version": "2.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.discovery.commons", + "Bundle-Version": "1.0.20", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.discovery.commons", + "version": "1.0.20" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.discovery.oak", + "Bundle-Version": "1.2.18", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.discovery.oak", + "version": "1.2.18" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.discovery.support", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.discovery.support", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.engine", + "Bundle-Version": "2.6.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.engine", + "version": "2.6.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.event", + "Bundle-Version": "4.2.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.event", + "version": "4.2.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.event.dea", + "Bundle-Version": "1.1.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.event.dea", + "version": "1.1.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.fsresource", + "Bundle-Version": "2.1.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.fsresource", + "version": "2.1.8" + }, + { + "__type__": "maven", + "groupId": "org.apache.johnzon", + "artifactId": "johnzon-core", + "version": "1.0.0" + }, + { + "__type__": "maven", + "groupId": "org.apache.geronimo.specs", + "artifactId": "geronimo-json_1.0_spec", + "version": "1.0-alpha-1" + }, + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.contentparser", + "version": "1.2.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.hc.api", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.hc.api", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.hc.core", + "Bundle-Version": "1.2.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.hc.core", + "version": "1.2.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.hc.webconsole", + "Bundle-Version": "1.1.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.hc.webconsole", + "version": "1.1.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.i18n", + "Bundle-Version": "2.5.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.i18n", + "version": "2.5.8" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.installer.console", + "Bundle-Version": "1.0.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.installer.console", + "version": "1.0.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.installer.provider.jcr", + "Bundle-Version": "3.1.26", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.installer.provider.jcr", + "version": "3.1.26" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.contentloader", + "Bundle-Version": "2.2.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.contentloader", + "version": "2.2.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.repoinit", + "Bundle-Version": "1.1.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.repoinit", + "version": "1.1.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.jcr.resource", + "Bundle-Version": "3.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.jcr.resource", + "version": "3.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.junit.core", + "Bundle-Version": "1.0.26", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.junit.core", + "version": "1.0.26" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.junit.remote", + "Bundle-Version": "1.0.12", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.junit.remote", + "version": "1.0.12" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.junit.scriptable", + "Bundle-Version": "1.0.12", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.junit.scriptable", + "version": "1.0.12" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.launchpad.content", + "Bundle-Version": "2.0.12", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.launchpad.content", + "version": "2.0.12" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.models.api", + "Bundle-Version": "1.3.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.models.api", + "version": "1.3.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.models.impl", + "Bundle-Version": "1.4.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.models.impl", + "version": "1.4.2" + }, + { + "__type__": "maven", + "groupId": "commons-beanutils", + "artifactId": "commons-beanutils", + "version": "1.8.3" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.models.jacksonexporter", + "Bundle-Version": "1.0.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.models.jacksonexporter", + "version": "1.0.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.provisioning.model", + "Bundle-Version": "1.8.2", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.provisioning.model", + "version": "1.8.2" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.repoinit.parser", + "Bundle-Version": "1.1.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.repoinit.parser", + "version": "1.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.resourceresolver", + "Bundle-Version": "1.5.30", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.resourceresolver", + "version": "1.5.30" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.sample.slingshot", + "Bundle-Version": "0.8.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.sample.slingshot", + "version": "0.8.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.api", + "Bundle-Version": "2.2.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.api", + "version": "2.2.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.core", + "Bundle-Version": "2.0.46", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.core", + "version": "2.0.46" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.el-api", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.el-api", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.javascript", + "Bundle-Version": "3.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.javascript", + "version": "3.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.jsp", + "Bundle-Version": "2.3.1.SNAPSHOT", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.jsp", + "version": "2.3.1-SNAPSHOT" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.jsp-api", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.jsp-api", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.jsp.taglib", + "Bundle-Version": "2.2.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.jsp.taglib", + "version": "2.2.6" + }, + { + "__type__": "maven", + "groupId": "org.owasp.esapi", + "artifactId": "esapi", + "version": "2.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.sightly", + "Bundle-Version": "1.0.34", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.sightly", + "version": "1.0.34" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.sightly.compiler", + "Bundle-Version": "1.0.8", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.sightly.compiler", + "version": "1.0.8" + }, + { + "__type__": "maven", + "groupId": "org.antlr", + "artifactId": "antlr4-runtime", + "version": "4.1" + }, + { + "__type__": "maven", + "groupId": "org.abego.treelayout", + "artifactId": "org.abego.treelayout.core", + "version": "1.0.1" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.sightly.compiler.java", + "Bundle-Version": "1.0.10", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.sightly.compiler.java", + "version": "1.0.10" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.sightly.js.provider", + "Bundle-Version": "1.0.22", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.sightly.js.provider", + "version": "1.0.22" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.sightly.models.provider", + "Bundle-Version": "1.0.6", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.sightly.models.provider", + "version": "1.0.6" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.scripting.sightly.repl", + "Bundle-Version": "1.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.scripting.sightly.repl", + "version": "1.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.serviceusermapper", + "Bundle-Version": "1.3.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.serviceusermapper", + "version": "1.3.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.servlets.get", + "Bundle-Version": "2.1.26", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.servlets.get", + "version": "2.1.26" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.servlets.post", + "Bundle-Version": "2.3.22", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.servlets.post", + "version": "2.3.22" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.servlets.resolver", + "Bundle-Version": "2.4.12", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.servlets.resolver", + "version": "2.4.12" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.validation.api", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.validation.api", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.validation.core", + "Bundle-Version": "1.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.validation.core", + "version": "1.0.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.xss", + "Bundle-Version": "2.0.0", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.xss", + "version": "2.0.0" + }, + { + "__type__": "maven", + "groupId": "org.owasp.antisamy", + "artifactId": "antisamy", + "version": "1.5.2" + }, + { + "__type__": "maven", + "groupId": "org.owasp.encoder", + "artifactId": "encoder", + "version": "1.1.1" + }, + { + "__type__": "maven", + "groupId": "org.owasp.esapi", + "artifactId": "esapi", + "version": "2.1.0" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.tooling.support.source", + "Bundle-Version": "1.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.tooling.support.source", + "version": "1.0.4" + } + ] + }, + { + "Bundle-SymbolicName": "org.apache.sling.tooling.support.install", + "Bundle-Version": "1.0.4", + "sourceReferences": [ + { + "__type__": "maven", + "groupId": "org.apache.sling", + "artifactId": "org.apache.sling.tooling.support.install", + "version": "1.0.4" + } + ] + } + +] \ No newline at end of file Modified: sling/trunk/tooling/ide/api/src/org/apache/sling/ide/osgi/impl/HttpOsgiClient.java URL: http://svn.apache.org/viewvc/sling/trunk/tooling/ide/api/src/org/apache/sling/ide/osgi/impl/HttpOsgiClient.java?rev=1805281&r1=1805280&r2=1805281&view=diff ============================================================================== --- sling/trunk/tooling/ide/api/src/org/apache/sling/ide/osgi/impl/HttpOsgiClient.java (original) +++ sling/trunk/tooling/ide/api/src/org/apache/sling/ide/osgi/impl/HttpOsgiClient.java Thu Aug 17 13:04:32 2017 @@ -215,24 +215,6 @@ public class HttpOsgiClient implements O }.installBundle(); } - private static final class SourceReferenceFromJson { - @SerializedName("__type__") - private String type; // should be "maven" - private String groupId; - private String artifactId; - private String version; - - public boolean isMavenType() { - return "maven".equals(type); - } - - public MavenSourceReferenceImpl getMavenSourceReference() { - if (!isMavenType()) { - throw new IllegalStateException("The type is not a Maven source reference but a " + type); - } - return new MavenSourceReferenceImpl(groupId, artifactId, version); - } - } @Override public List<SourceReference> findSourceReferences() throws OsgiClientException { GetMethod method = new GetMethod(repositoryInfo.appendPath("system/sling/tooling/sourceReferences.json")); @@ -243,24 +225,7 @@ public class HttpOsgiClient implements O if (result != HttpStatus.SC_OK) { throw new HttpException("Got status code " + result + " for call to " + method.getURI()); } - Gson gson = new Gson(); - List<SourceReference> refs = new ArrayList<>(); - try (JsonReader jsonReader = new JsonReader( - new InputStreamReader(method.getResponseBodyAsStream(), StandardCharsets.US_ASCII))) { - jsonReader.beginArray(); - while (jsonReader.hasNext()) { - if (jsonReader.nextName().equals("sourceReference")){ - SourceReferenceFromJson sourceReference = gson.fromJson(jsonReader, SourceReference.class); - if (sourceReference.isMavenType()) { - refs.add(sourceReference.getMavenSourceReference()); - } - } else { - jsonReader.skipValue(); - } - } - jsonReader.endArray(); - return refs; - } + return parseSourceReferences(method.getResponseBodyAsStream()); } catch (IOException e) { throw new OsgiClientException(e); } finally { @@ -268,6 +233,26 @@ public class HttpOsgiClient implements O } } + // visible for testing + static List<SourceReference> parseSourceReferences(InputStream response) throws IOException { + + try (JsonReader jsonReader = new JsonReader( + new InputStreamReader(response, StandardCharsets.US_ASCII))) { + + SourceBundleData[] refs = new Gson().fromJson(jsonReader, SourceBundleData[].class); + List<SourceReference> res = new ArrayList<>(refs.length); + for ( SourceBundleData sourceData : refs ) { + for ( SourceReferenceFromJson ref : sourceData.sourceReferences ) { + if ( ref.isMavenType() ) { + res.add(ref.getMavenSourceReference()); + } + } + } + + return res; + } + } + /** * Encapsulates the JSON response from the tooling.installer */ @@ -290,6 +275,36 @@ public class HttpOsgiClient implements O return "OK".equalsIgnoreCase(status); } } + + private static final class SourceBundleData { + + @SerializedName("Bundle-SymbolicName") + private String bsn; + @SerializedName("Bundle-Version") + private String version; + + private List<SourceReferenceFromJson> sourceReferences; + } + + private static final class SourceReferenceFromJson { + @SerializedName("__type__") + private String type; // should be "maven" + private String groupId; + private String artifactId; + private String version; + + public boolean isMavenType() { + return "maven".equals(type); + } + + public MavenSourceReferenceImpl getMavenSourceReference() { + if (!isMavenType()) { + throw new IllegalStateException("The type is not a Maven source reference but a " + type); + } + return new MavenSourceReferenceImpl(groupId, artifactId, version); + } + } + static abstract class LocalBundleInstaller { private final HttpClient httpClient;