diff options
author | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-07-19 14:02:17 +0200 |
---|---|---|
committer | Bjørn Christian Seime <bjorncs@yahoo-inc.com> | 2017-07-20 13:15:21 +0200 |
commit | d6b8211a77ff66b1f945710e3997d51f8d1c8fd9 (patch) | |
tree | dfea0502c1c54bbbc62bb3bf4dc6a7aba29d9f21 /container-di/src/main | |
parent | 43298ad59815c9731e0d2f0cd8604af08a119021 (diff) |
Remove scalalib
Diffstat (limited to 'container-di/src/main')
-rw-r--r-- | container-di/src/main/scala/com/yahoo/container/di/osgi/OsgiUtil.scala | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/container-di/src/main/scala/com/yahoo/container/di/osgi/OsgiUtil.scala b/container-di/src/main/scala/com/yahoo/container/di/osgi/OsgiUtil.scala index d119f7b0cd4..489760dcbc8 100644 --- a/container-di/src/main/scala/com/yahoo/container/di/osgi/OsgiUtil.scala +++ b/container-di/src/main/scala/com/yahoo/container/di/osgi/OsgiUtil.scala @@ -12,8 +12,6 @@ import com.yahoo.component.ComponentSpecification import com.yahoo.container.di.Osgi.RelativePath import com.yahoo.osgi.maven.ProjectBundleClassPaths import com.yahoo.osgi.maven.ProjectBundleClassPaths.BundleClasspathMapping -import com.yahoo.vespa.scalalib.arm.Using.using -import com.yahoo.vespa.scalalib.java.function.FunctionConverters._ import org.osgi.framework.Bundle import org.osgi.framework.wiring.BundleWiring @@ -119,15 +117,27 @@ object OsgiUtil { if (packagePathsToScan.isEmpty) (name: String) => true else (name: String) => packagePathsToScan(packagePath(name)) - using(new JarFile(jarPath.toFile)) { jarFile => + var jarFile: JarFile = null + try { + jarFile = new JarFile(jarPath.toFile) jarFile.stream(). map[String] { entry: JarEntry => entry.getName}. filter { name: String => name.endsWith(classFileTypeSuffix)}. filter(acceptedPackage). collect(Collectors.toList()). asScala + } finally { + if (jarFile != null) jarFile.close() } } def packageToPath(packageName: String) = packageName.replaceAllLiterally(".", "/") + + implicit class JavaPredicate[T](f: T => Boolean) extends Predicate[T] { + override def test(t: T): Boolean = f(t) + } + + implicit class JavaFunction[T, R](f: T => R) extends java.util.function.Function[T, R] { + override def apply(t: T): R = f(t) + } } |