summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--bundle-plugin-test/src/test/java/com/yahoo/BundleIT.java5
-rw-r--r--bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/Artifacts.scala7
-rw-r--r--config-model/src/test/scala/com/yahoo/vespa/model/container/search/searchchain/FederationSearcherTest.scala39
-rw-r--r--configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala11
-rw-r--r--container-core/src/main/scala/com/yahoo/container/http/filter/FilterChainRepository.scala34
-rw-r--r--container-di/src/main/scala/com/yahoo/container/di/CloudSubscriberFactory.scala22
-rw-r--r--container-di/src/main/scala/com/yahoo/container/di/ConfigRetriever.scala14
-rw-r--r--container-di/src/main/scala/com/yahoo/container/di/Container.scala16
-rw-r--r--container-di/src/test/scala/com/yahoo/container/di/ConfigRetrieverTest.scala17
-rw-r--r--container-di/src/test/scala/com/yahoo/container/di/ContainerTest.scala32
-rw-r--r--service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokAndConfigIntersector.scala7
-rw-r--r--service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokMonitor.scala7
-rw-r--r--service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/config/InstancesObservables.scala17
-rw-r--r--standalone-container/src/main/scala/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.scala27
-rw-r--r--standalone-container/src/main/scala/com/yahoo/container/standalone/LocalFileDb.scala12
-rw-r--r--standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala6
-rw-r--r--standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneSubscriberFactory.scala11
17 files changed, 138 insertions, 146 deletions
diff --git a/bundle-plugin-test/src/test/java/com/yahoo/BundleIT.java b/bundle-plugin-test/src/test/java/com/yahoo/BundleIT.java
index aab918a910f..a7d27a449e6 100644
--- a/bundle-plugin-test/src/test/java/com/yahoo/BundleIT.java
+++ b/bundle-plugin-test/src/test/java/com/yahoo/BundleIT.java
@@ -5,7 +5,7 @@ import com.yahoo.vespa.scalalib.osgi.maven.ProjectBundleClassPaths;
import org.junit.Before;
import org.junit.Ignore;
import org.junit.Test;
-import scala.collection.JavaConversions;
+import scala.collection.JavaConverters;
import java.io.File;
import java.io.FilenameFilter;
@@ -28,7 +28,6 @@ import static org.hamcrest.CoreMatchers.is;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertThat;
-import static org.junit.Assert.assertTrue;
/**
* Verifies the bundle jar file built and its manifest.
@@ -144,7 +143,7 @@ public class BundleIT {
assertThat(bundleClassPaths.mainBundle().bundleSymbolicName(), is("bundle-plugin-test"));
Collection<String> mainBundleClassPaths =
- JavaConversions.asJavaCollection(bundleClassPaths.mainBundle().classPathElements());
+ JavaConverters.asJavaCollectionConverter(bundleClassPaths.mainBundle().classPathElements()).asJavaCollection();
assertThat(mainBundleClassPaths,
hasItems(
diff --git a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/Artifacts.scala b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/Artifacts.scala
index 8e9f06cdde6..8370f8c615e 100644
--- a/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/Artifacts.scala
+++ b/bundle-plugin/src/main/scala/com/yahoo/container/plugin/mojo/Artifacts.scala
@@ -1,11 +1,10 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.plugin.mojo
-
-import scala.collection.JavaConversions._
-import org.apache.maven.project.MavenProject
import org.apache.maven.artifact.Artifact
+import org.apache.maven.project.MavenProject
+import scala.collection.JavaConverters._
/**
* @author tonytv
@@ -13,7 +12,7 @@ import org.apache.maven.artifact.Artifact
object Artifacts {
def getArtifacts(project : MavenProject) = {
type artifactSet = java.util.Set[Artifact]
- val artifacts = project.getArtifacts.asInstanceOf[artifactSet].groupBy(_.getScope)
+ val artifacts = project.getArtifacts.asInstanceOf[artifactSet].asScala.groupBy(_.getScope)
def isTypeJar(artifact : Artifact) = artifact.getType == "jar"
def getByScope(scope: String) =
diff --git a/config-model/src/test/scala/com/yahoo/vespa/model/container/search/searchchain/FederationSearcherTest.scala b/config-model/src/test/scala/com/yahoo/vespa/model/container/search/searchchain/FederationSearcherTest.scala
index 322b47ad3b5..318e35a2173 100644
--- a/config-model/src/test/scala/com/yahoo/vespa/model/container/search/searchchain/FederationSearcherTest.scala
+++ b/config-model/src/test/scala/com/yahoo/vespa/model/container/search/searchchain/FederationSearcherTest.scala
@@ -1,31 +1,28 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.model.container.search.searchchain
+import java.util.Collections.{emptyList, emptySet}
import java.util.Optional
-import scala.language.implicitConversions
-import org.junit.Test
-import org.junit.runner.RunWith
-import org.scalatest.junit.JUnitRunner
-import org.scalatest.FunSuite
-import com.yahoo.search.searchchain.model.federation.{FederationOptions, FederationSearcherModel}
-import com.yahoo.component.{ComponentSpecification, ComponentId}
import com.yahoo.component.chain.dependencies.Dependencies
-import java.util.Collections.{emptyList, emptySet}
-import com.yahoo.component.provider.ComponentRegistry
-
-import FederationSearcherTest._
import com.yahoo.component.chain.model.ChainSpecification
-import com.yahoo.search.federation.FederationConfig
+import com.yahoo.component.provider.ComponentRegistry
+import com.yahoo.component.{ComponentId, ComponentSpecification}
import com.yahoo.config.ConfigInstance
+import com.yahoo.search.federation.FederationConfig
+import com.yahoo.search.searchchain.model.federation.FederationSearcherModel.TargetSpec
+import com.yahoo.search.searchchain.model.federation.{FederationOptions, FederationSearcherModel}
import com.yahoo.vespa.model.ConfigProducer
-import scala.reflect.ClassTag
-import scala.collection.JavaConversions._
-import scala.collection.breakOut
+import com.yahoo.vespa.model.container.search.searchchain.FederationSearcherTest._
import com.yahoo.vespa.model.container.search.searchchain.Source.GroupOption
-import com.yahoo.search.federation.sourceref.Target
-import com.yahoo.search.searchchain.model.federation.FederationSearcherModel.TargetSpec
+import org.junit.runner.RunWith
+import org.scalatest.FunSuite
+import org.scalatest.junit.JUnitRunner
+import scala.collection.JavaConverters._
+import scala.collection.breakOut
+import scala.language.implicitConversions
+import scala.reflect.ClassTag
/**
* @author tonytv
@@ -43,7 +40,7 @@ class FederationSearcherTest extends FunSuite{
}
def registerProviderWithSources(provider: Provider) = {
- provider :: provider.getSources.toList foreach { chain => searchChainRegistry.register(chain.getId, chain) }
+ provider :: provider.getSources.asScala.toList foreach { chain => searchChainRegistry.register(chain.getId, chain) }
sourceGroupRegistry.addSources(provider)
}
}
@@ -77,7 +74,7 @@ class FederationSearcherTest extends FunSuite{
}
def toMapByKey[KEY, VALUE](collection: java.util.Collection[VALUE])(f: VALUE => KEY): Map[KEY, VALUE] =
- collection.map(e => (f(e), e))(breakOut)
+ collection.asScala.map(e => (f(e), e))(breakOut)
test("source groups are inherited when inheritDefaultSources=true") {
val f = new ProvidersWithSourceFixture
@@ -92,7 +89,7 @@ class FederationSearcherTest extends FunSuite{
//val chainsByProviderId = toMapByKey(target.searchChain())(_.providerId())
- assert(Set("provider1", "provider2") === target.searchChain().map(_.providerId()).toSet)
+ assert(Set("provider1", "provider2") === target.searchChain().asScala.map(_.providerId()).toSet)
}
test("source groups are not inherited when inheritDefaultSources=false") {
@@ -124,7 +121,7 @@ class FederationSearcherTest extends FunSuite{
registerProviderWithSources(createProvider("provider1"))
val federation = newFederationSearcher(inheritDefaultSources = true,
- targets = List(new TargetSpec("provider1", new FederationOptions().setTimeoutInMilliseconds(12345))))
+ targets = List(new TargetSpec("provider1", new FederationOptions().setTimeoutInMilliseconds(12345))).asJava)
initializeFederationSearcher(federation)
diff --git a/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala b/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala
index c8c0b659b2f..578a8215750 100644
--- a/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala
+++ b/configgen/src/main/scala/com/yahoo/config/codegen/JavaClassBuilder.scala
@@ -1,11 +1,12 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.config.codegen
-import java.io.{FileNotFoundException, FileOutputStream, PrintStream, File}
-import ConfigGenerator.{indentCode, createClassName}
-import util.Random
-import scala.collection.JavaConversions._
+import java.io.{File, FileNotFoundException, FileOutputStream, PrintStream}
+import com.yahoo.config.codegen.ConfigGenerator.{createClassName, indentCode}
+
+import scala.collection.JavaConverters._
+import scala.util.Random
/**
* Builds one Java class based on the given CNode tree.
*
@@ -104,7 +105,7 @@ class JavaClassBuilder(
}
private def getDefSchema: String = {
- nd.getNormalizedContent.map { line =>
+ nd.getNormalizedContent.asScala.map { line =>
"\"" +
line.replace("\"", "\\\"") +
"\""
diff --git a/container-core/src/main/scala/com/yahoo/container/http/filter/FilterChainRepository.scala b/container-core/src/main/scala/com/yahoo/container/http/filter/FilterChainRepository.scala
index 3d74fbaf223..18195b7dc50 100644
--- a/container-core/src/main/scala/com/yahoo/container/http/filter/FilterChainRepository.scala
+++ b/container-core/src/main/scala/com/yahoo/container/http/filter/FilterChainRepository.scala
@@ -1,17 +1,17 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.http.filter
-import com.yahoo.container.core.ChainsConfig
-import com.yahoo.component.provider.ComponentRegistry
-import com.yahoo.jdisc.http.filter.chain.{RequestFilterChain, ResponseFilterChain}
-import com.yahoo.jdisc.http.filter.{RequestFilter, ResponseFilter}
-import com.yahoo.jdisc.http.filter.{SecurityResponseFilterChain, SecurityRequestFilterChain, SecurityResponseFilter, SecurityRequestFilter}
-import com.yahoo.component.{ComponentSpecification, ComponentId, AbstractComponent}
import com.yahoo.component.chain.model.ChainsModelBuilder
import com.yahoo.component.chain.{Chain, ChainedComponent, ChainsConfigurer}
+import com.yahoo.component.provider.ComponentRegistry
+import com.yahoo.component.{AbstractComponent, ComponentId, ComponentSpecification}
+import com.yahoo.container.core.ChainsConfig
+import com.yahoo.container.http.filter.FilterChainRepository._
+import com.yahoo.jdisc.http.filter.chain.{RequestFilterChain, ResponseFilterChain}
+import com.yahoo.jdisc.http.filter.{RequestFilter, ResponseFilter, SecurityRequestFilter, SecurityRequestFilterChain, SecurityResponseFilter, SecurityResponseFilterChain}
import com.yahoo.processing.execution.chain.ChainRegistry
-import FilterChainRepository._
-import scala.collection.JavaConversions._
+
+import scala.collection.JavaConverters._
/**
@@ -48,7 +48,7 @@ class FilterChainRepository(chainsConfig: ChainsConfig,
val wrappedFilters = new ComponentRegistry[FilterWrapper]
def registerWrappedFilters(registry: ComponentRegistry[_ <: AnyRef]) {
- for ((id, filter) <- registry.allComponentsById())
+ for ((id, filter) <- registry.allComponentsById().asScala)
wrappedFilters.register(id, new FilterWrapper(id, filter))
}
@@ -65,14 +65,14 @@ class FilterChainRepository(chainsConfig: ChainsConfig,
for {
registry <- registries
- (id, filter) <- registry.allComponentsById()
+ (id, filter) <- registry.allComponentsById().asScala
} destination.register(id, wrapSecurityFilter(filter))
}
private def addAllChains(destination: ComponentRegistry[AnyRef], chainsConfig: ChainsConfig, filters: ComponentRegistry[_ <: AnyRef]*) {
val chainRegistry = buildChainsRegistry(chainsConfig, filters)
- for (chain <- chainRegistry.allComponents()) {
+ for (chain <- chainRegistry.allComponents().asScala) {
destination.register(chain.getId, toJDiscChain(chain))
}
}
@@ -89,7 +89,7 @@ class FilterChainRepository(chainsConfig: ChainsConfig,
private def toJDiscChain(chain: Chain[FilterWrapper]): AnyRef = {
checkFilterTypesCompatible(chain)
- val jDiscFilters = chain.components() map {_.filter}
+ val jDiscFilters = chain.components().asScala map {_.filter}
wrapJDiscChain(wrapSecurityFilters(jDiscFilters.toList))
}
@@ -98,8 +98,8 @@ class FilterChainRepository(chainsConfig: ChainsConfig,
if (filters.size == 1) filters.head
else {
filters.head match {
- case _: RequestFilter => RequestFilterChain.newInstance(filters.asInstanceOf[List[RequestFilter]])
- case _: ResponseFilter => ResponseFilterChain.newInstance(filters.asInstanceOf[List[ResponseFilter]])
+ case _: RequestFilter => RequestFilterChain.newInstance(filters.asInstanceOf[List[RequestFilter]].asJava)
+ case _: ResponseFilter => ResponseFilterChain.newInstance(filters.asInstanceOf[List[ResponseFilter]].asJava)
}
}
}
@@ -119,8 +119,8 @@ class FilterChainRepository(chainsConfig: ChainsConfig,
def createSecurityChain(filters: List[AnyRef]): AnyRef = {
filters.head match {
- case _: SecurityRequestFilter => SecurityRequestFilterChain.newInstance(filters.asInstanceOf[List[SecurityRequestFilter]])
- case _: SecurityResponseFilter => SecurityResponseFilterChain.newInstance(filters.asInstanceOf[List[SecurityResponseFilter]])
+ case _: SecurityRequestFilter => SecurityRequestFilterChain.newInstance(filters.asInstanceOf[List[SecurityRequestFilter]].asJava)
+ case _: SecurityResponseFilter => SecurityResponseFilterChain.newInstance(filters.asInstanceOf[List[SecurityResponseFilter]].asJava)
case _ => throw new IllegalArgumentException("Unexpected class " + filters.head.getClass)
}
}
@@ -142,7 +142,7 @@ class FilterChainRepository(chainsConfig: ChainsConfig,
throw new RuntimeException("Can't mix request and response filters in chain %s: %s, %s".format(chain.getId, a.getId, b.getId))
}
- overlappingPairIterator(chain.components).foreach {
+ overlappingPairIterator(chain.components.asScala).foreach {
case Seq(_) =>
case Seq(filter1: FilterWrapper, filter2: FilterWrapper) =>
check(filter1, filter2)
diff --git a/container-di/src/main/scala/com/yahoo/container/di/CloudSubscriberFactory.scala b/container-di/src/main/scala/com/yahoo/container/di/CloudSubscriberFactory.scala
index 2e9856fd0c8..25ec75da5b1 100644
--- a/container-di/src/main/scala/com/yahoo/container/di/CloudSubscriberFactory.scala
+++ b/container-di/src/main/scala/com/yahoo/container/di/CloudSubscriberFactory.scala
@@ -1,16 +1,16 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.di
-import com.yahoo.config.{ConfigInstance}
-import CloudSubscriberFactory._
-import config.{Subscriber, SubscriberFactory}
-import scala.collection.JavaConversions._
-import com.yahoo.vespa.config.ConfigKey
-import scala.Some
-import com.yahoo.config.subscription.{ConfigHandle, ConfigSource, ConfigSourceSet, ConfigSubscriber}
-import java.lang.IllegalArgumentException
import java.util.logging.Logger
+
+import com.yahoo.config.ConfigInstance
+import com.yahoo.config.subscription.{ConfigHandle, ConfigSource, ConfigSourceSet, ConfigSubscriber}
+import com.yahoo.container.di.CloudSubscriberFactory._
+import com.yahoo.container.di.config.{Subscriber, SubscriberFactory}
import com.yahoo.log.LogLevel
+import com.yahoo.vespa.config.ConfigKey
+
+import scala.collection.JavaConverters._
/**
@@ -24,7 +24,7 @@ class CloudSubscriberFactory(configSource: ConfigSource) extends SubscriberFacto
private val activeSubscribers = new java.util.WeakHashMap[CloudSubscriber, Int]()
override def getSubscriber(configKeys: java.util.Set[_ <: ConfigKey[_]]): Subscriber = {
- val subscriber = new CloudSubscriber(configKeys.toSet.asInstanceOf[Set[ConfigKeyT]], configSource)
+ val subscriber = new CloudSubscriber(configKeys.asScala.toSet.asInstanceOf[Set[ConfigKeyT]], configSource)
testGeneration.foreach(subscriber.subscriber.reload(_)) //TODO: test specific code, remove
activeSubscribers.put(subscriber, 0)
@@ -36,7 +36,7 @@ class CloudSubscriberFactory(configSource: ConfigSource) extends SubscriberFacto
override def reloadActiveSubscribers(generation: Long) {
testGeneration = Some(generation)
- val l = activeSubscribers.keySet().toSet
+ val l = activeSubscribers.keySet().asScala.toSet
l.foreach { _.subscriber.reload(generation) }
}
}
@@ -59,7 +59,7 @@ object CloudSubscriberFactory {
//mapValues returns a view,, so we need to force evaluation of it here to prevent deferred evaluation.
override def config = handles.mapValues(_.getConfig).toMap.view.force.
- asInstanceOf[Map[ConfigKey[ConfigInstance], ConfigInstance]]
+ asInstanceOf[Map[ConfigKey[ConfigInstance], ConfigInstance]].asJava
override def waitNextGeneration() = {
require(!handles.isEmpty)
diff --git a/container-di/src/main/scala/com/yahoo/container/di/ConfigRetriever.scala b/container-di/src/main/scala/com/yahoo/container/di/ConfigRetriever.scala
index ec857e439f9..a4d7370429e 100644
--- a/container-di/src/main/scala/com/yahoo/container/di/ConfigRetriever.scala
+++ b/container-di/src/main/scala/com/yahoo/container/di/ConfigRetriever.scala
@@ -2,17 +2,15 @@
package com.yahoo.container.di
-import config.Subscriber
import java.util.logging.{Level, Logger}
-import com.yahoo.log.LogLevel
-import ConfigRetriever._
-
-import annotation.tailrec
import com.yahoo.config.ConfigInstance
+import com.yahoo.container.di.ConfigRetriever._
+import com.yahoo.container.di.config.Subscriber
+import com.yahoo.log.LogLevel
-import scala.collection.JavaConversions._
-import com.yahoo.vespa.config.ConfigKey
+import scala.annotation.tailrec
+import scala.collection.JavaConverters._
/**
* @author tonytv
@@ -64,7 +62,7 @@ final class ConfigRetriever(bootstrapKeys: Set[ConfigKeyT],
private def configIfChanged[T <: ConfigSnapshot](subscriber: Subscriber,
constructor: Map[ConfigKeyT, ConfigInstance] => T ):
Option[T] = {
- if (subscriber.configChanged) Some(constructor(subscriber.config.toMap))
+ if (subscriber.configChanged) Some(constructor(subscriber.config.asScala.toMap))
else None
}
diff --git a/container-di/src/main/scala/com/yahoo/container/di/Container.scala b/container-di/src/main/scala/com/yahoo/container/di/Container.scala
index 550f61c0cf2..af73730afa2 100644
--- a/container-di/src/main/scala/com/yahoo/container/di/Container.scala
+++ b/container-di/src/main/scala/com/yahoo/container/di/Container.scala
@@ -1,8 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.di
-import java.util.{IdentityHashMap, Random}
import java.util.logging.{Level, Logger}
+import java.util.{IdentityHashMap, Random}
import com.google.inject.{Guice, Injector}
import com.yahoo.config._
@@ -17,10 +17,10 @@ import com.yahoo.container.{BundlesConfig, ComponentsConfig}
import com.yahoo.protect.Process
import com.yahoo.vespa.config.ConfigKey
-import scala.collection.JavaConversions._
-import scala.math.max
+import scala.collection.JavaConverters._
import scala.concurrent.duration._
import scala.language.postfixOps
+import scala.math.max
/**
@@ -38,7 +38,7 @@ class Container(
val bundlesConfigKey = new ConfigKey(classOf[BundlesConfig], configId)
val componentsConfigKey = new ConfigKey(classOf[ComponentsConfig], configId)
- var configurer = new ConfigRetriever(Set(bundlesConfigKey, componentsConfigKey), subscriberFactory.getSubscriber(_))
+ var configurer = new ConfigRetriever(Set(bundlesConfigKey, componentsConfigKey), (keys) => subscriberFactory.getSubscriber(keys.asJava))
var previousConfigGeneration = -1L
var leastGeneration = -1L
@@ -51,7 +51,7 @@ class Container(
val oldComponents = new IdentityHashMap[AnyRef, AnyRef]()
oldGraph.allComponentsAndProviders foreach (oldComponents.put(_, null))
newGraph.allComponentsAndProviders foreach (oldComponents.remove(_))
- oldComponents.keySet foreach (componentDeconstructor.deconstruct(_))
+ oldComponents.keySet.asScala foreach (componentDeconstructor.deconstruct(_))
}
try {
@@ -157,8 +157,8 @@ class Container(
def injectNodes(config: ComponentsConfig, graph: ComponentGraph) {
for {
- component <- config.components()
- inject <- component.inject()
+ component <- config.components().asScala
+ inject <- component.inject().asScala
} {
def getNode = ComponentGraph.getNode(graph, _: String)
@@ -194,7 +194,7 @@ class Container(
def isRestApiContext(clazz: Class[_]) = classOf[RestApiContext].isAssignableFrom(clazz)
def asRestApiContext(clazz: Class[_]) = clazz.asInstanceOf[Class[RestApiContext]]
- for (config : ComponentsConfig.Components <- componentsConfig.components) {
+ for (config : ComponentsConfig.Components <- componentsConfig.components.asScala) {
val specification = bundleInstatiationSpecification(config)
val componentClass = osgi.resolveClass(specification)
diff --git a/container-di/src/test/scala/com/yahoo/container/di/ConfigRetrieverTest.scala b/container-di/src/test/scala/com/yahoo/container/di/ConfigRetrieverTest.scala
index 9d343ce74cf..93618f90e92 100644
--- a/container-di/src/test/scala/com/yahoo/container/di/ConfigRetrieverTest.scala
+++ b/container-di/src/test/scala/com/yahoo/container/di/ConfigRetrieverTest.scala
@@ -1,15 +1,16 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.di
-import org.junit.Assert._
-import org.hamcrest.CoreMatchers.{is, instanceOf => hamcrestInstanceOf}
+import com.yahoo.config.test.{Bootstrap1Config, Bootstrap2Config, TestConfig}
+import com.yahoo.container.di.ConfigRetriever.{BootstrapConfigs, ComponentsConfigs}
import com.yahoo.vespa.config.ConfigKey
-import com.yahoo.config.test.{TestConfig, Bootstrap2Config, Bootstrap1Config}
-import com.yahoo.container.di.ConfigRetriever.{ComponentsConfigs, BootstrapConfigs}
-import org.junit.{Ignore, After, Before, Test}
-import scala.collection.JavaConversions._
-import scala.reflect.ClassTag
+import org.hamcrest.CoreMatchers.{is, instanceOf => hamcrestInstanceOf}
import org.hamcrest.Matcher
+import org.junit.Assert._
+import org.junit.{After, Before, Ignore, Test}
+
+import scala.reflect.ClassTag
+import scala.collection.JavaConverters._
/**
*
@@ -79,7 +80,7 @@ class ConfigRetrieverTest {
new ConfigRetriever(
Set(new ConfigKey(classOf[Bootstrap1Config], configId),
new ConfigKey(classOf[Bootstrap2Config], configId)),
- subscriber.getSubscriber(_))
+ (keys) => subscriber.getSubscriber(keys.asJava))
}
def writeConfig = dirConfigSource.writeConfig _
diff --git a/container-di/src/test/scala/com/yahoo/container/di/ContainerTest.scala b/container-di/src/test/scala/com/yahoo/container/di/ContainerTest.scala
index a571369a759..d8734e81948 100644
--- a/container-di/src/test/scala/com/yahoo/container/di/ContainerTest.scala
+++ b/container-di/src/test/scala/com/yahoo/container/di/ContainerTest.scala
@@ -1,28 +1,26 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.di
-import com.yahoo.container.di.componentgraph.core.ComponentGraphTest.{SimpleComponent, SimpleComponent2}
-import com.yahoo.container.di.componentgraph.Provider
-import com.yahoo.container.di.componentgraph.core.{ComponentGraph, ComponentNode, Node}
-import org.junit.{After, Before, Ignore, Test}
-import org.junit.Assert._
-import org.hamcrest.CoreMatchers._
-import com.yahoo.config.test.TestConfig
import com.yahoo.component.AbstractComponent
-import ContainerTest._
-
-import scala.collection.JavaConversions
import com.yahoo.config.di.IntConfig
-
-import scala.concurrent.{Await, Future, future}
-import scala.concurrent.duration._
-import scala.concurrent.ExecutionContext.Implicits.global
-import scala.util.Try
-import com.yahoo.container.di.config.RestApiContext
+import com.yahoo.config.test.TestConfig
import com.yahoo.container.bundle.MockBundle
+import com.yahoo.container.di.ContainerTest._
+import com.yahoo.container.di.componentgraph.Provider
+import com.yahoo.container.di.componentgraph.core.ComponentGraphTest.{SimpleComponent, SimpleComponent2}
import com.yahoo.container.di.componentgraph.core.ComponentNode.ComponentConstructorException
+import com.yahoo.container.di.componentgraph.core.{ComponentGraph, Node}
+import com.yahoo.container.di.config.RestApiContext
+import org.hamcrest.CoreMatchers._
+import org.junit.Assert._
+import org.junit.{After, Before, Ignore, Test}
+import scala.collection.JavaConverters._
+import scala.concurrent.ExecutionContext.Implicits.global
+import scala.concurrent.duration._
+import scala.concurrent.{Await, Future}
import scala.language.postfixOps
+import scala.util.Try
/**
* @author tonytv
@@ -396,5 +394,5 @@ object ContainerTest {
componentGraph.getInstance(classOf[ComponentTakingConfig])
}
- def convertMap[K, V](map: java.util.Map[K, V]): Map[K, V] = JavaConversions.mapAsScalaMap(map).toMap
+ def convertMap[K, V](map: java.util.Map[K, V]): Map[K, V] = map.asScala.toMap
}
diff --git a/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokAndConfigIntersector.scala b/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokAndConfigIntersector.scala
index 2c259d6f56e..958a9bc462c 100644
--- a/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokAndConfigIntersector.scala
+++ b/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokAndConfigIntersector.scala
@@ -1,8 +1,8 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.vespa.service.monitor
-import java.util.{Collections, Optional}
import java.util.logging.Logger
+import java.util.{Collections, Optional}
import com.google.inject.Inject
import com.yahoo.cloud.config.ConfigserverConfig
@@ -15,10 +15,9 @@ import com.yahoo.vespa.service.monitor.SlobrokAndConfigIntersector._
import com.yahoo.vespa.service.monitor.SlobrokMonitor._
import com.yahoo.vespa.service.monitor.config.InstancesObservables
import com.yahoo.vespa.service.monitor.config.InstancesObservables._
-import rx.lang.scala.{Subscription, Observable}
+import rx.lang.scala.{Observable, Subscription}
-import scala.collection.convert.decorateAsJava._
-import scala.collection.convert.decorateAsScala._
+import scala.collection.JavaConverters._
import scala.collection.immutable.Set
import scala.concurrent.duration._
import scala.language.postfixOps
diff --git a/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokMonitor.scala b/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokMonitor.scala
index 03f47b7192c..f5ae2eeb510 100644
--- a/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokMonitor.scala
+++ b/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/SlobrokMonitor.scala
@@ -3,9 +3,10 @@ package com.yahoo.vespa.service.monitor
import com.yahoo.jrt.slobrok.api.Mirror.Entry
import com.yahoo.jrt.slobrok.api.{Mirror, SlobrokList}
-import com.yahoo.jrt.{Transport, Supervisor}
+import com.yahoo.jrt.{Supervisor, Transport}
import com.yahoo.vespa.service.monitor.SlobrokMonitor._
-import scala.collection.convert.wrapAsJava._
+
+import scala.collection.JavaConverters._
/**
* @author bakksjo
@@ -16,7 +17,7 @@ class SlobrokMonitor {
private val mirror = new Mirror(supervisor, slobrokList)
def setSlobrokConnectionSpecs(slobrokConnectionSpecs: Traversable[String]): Unit = {
- val slobrokConnectionSpecsJavaList: java.util.List[String] = slobrokConnectionSpecs.toList
+ val slobrokConnectionSpecsJavaList: java.util.List[String] = slobrokConnectionSpecs.toList.asJava
slobrokList.setup(slobrokConnectionSpecsJavaList.toArray(new Array[java.lang.String](0)))
}
diff --git a/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/config/InstancesObservables.scala b/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/config/InstancesObservables.scala
index 9388549046f..ac9b8f5e5b0 100644
--- a/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/config/InstancesObservables.scala
+++ b/service-monitor/src/main/scala/com/yahoo/vespa/service/monitor/config/InstancesObservables.scala
@@ -8,14 +8,13 @@ import com.yahoo.cloud.config.LbServicesConfig
import com.yahoo.cloud.config.LbServicesConfig.Tenants.Applications.Hosts
import com.yahoo.cloud.config.LbServicesConfig.Tenants.Applications.Hosts.Services.Ports
import com.yahoo.config.subscription.ConfigSourceSet
-import com.yahoo.vespa.applicationmodel.{ApplicationInstanceId, TenantId, ServiceClusterKey, ServiceCluster, ServiceInstance, ApplicationInstance, ServiceType, HostName, ConfigId, ClusterId, ApplicationInstanceReference}
+import com.yahoo.vespa.applicationmodel.{ApplicationInstance, ApplicationInstanceId, ApplicationInstanceReference, ClusterId, ConfigId, HostName, ServiceCluster, ServiceClusterKey, ServiceInstance, ServiceType, TenantId}
import com.yahoo.vespa.service.monitor.config.InstancesObservables._
import rx.lang.scala.JavaConversions._
import rx.lang.scala.{Observable, Subscription}
import rx.schedulers.Schedulers
-import scala.collection.convert.decorateAsJava._
-import scala.collection.convert.wrapAsScala._
+import scala.collection.JavaConverters._
import scala.concurrent.duration._
/**
@@ -63,8 +62,8 @@ object InstancesObservables {
private def asInstanceReferenceToHostConfigMap(config: LbServicesConfig) = {
for {
- (tenantIdString, tenantConfig) <- config.tenants()
- (applicationIdString, applicationConfig) <- tenantConfig.applications()
+ (tenantIdString, tenantConfig) <- config.tenants().asScala
+ (applicationIdString, applicationConfig) <- tenantConfig.applications().asScala
} yield {
val applicationInstanceReference: ApplicationInstanceReference = new ApplicationInstanceReference(
new TenantId(tenantIdString),
@@ -80,19 +79,19 @@ object InstancesObservables {
}
for {
- (hostName, hostConfig) <- hostsConfigs
+ (hostName, hostConfig) <- hostsConfigs.asScala
slobrokService <- Option(hostConfig.services("slobrok"))
} yield SlobrokService(
hostName,
- rpcPort(slobrokService.ports()).getOrElse(throw new RuntimeException("Found slobrok without rpc port")))
+ rpcPort(slobrokService.ports().asScala).getOrElse(throw new RuntimeException("Found slobrok without rpc port")))
}
private def asServiceClusterSet(hostsConfigs: java.util.Map[String, Hosts])
: java.util.Set[ServiceCluster[Void]] = {
val serviceInstancesGroupedByCluster: Map[ServiceClusterKey, Iterable[ServiceInstance[Void]]] = (for {
- (hostName, hostConfig) <- hostsConfigs.view
- (serviceName, servicesConfig) <- hostConfig.services()
+ (hostName, hostConfig) <- hostsConfigs.asScala.view
+ (serviceName, servicesConfig) <- hostConfig.services().asScala
} yield {
(new ServiceClusterKey(new ClusterId(servicesConfig.clustername()), new ServiceType(servicesConfig.`type`())),
new ServiceInstance(new ConfigId(servicesConfig.configId()), new HostName(hostName), null.asInstanceOf[Void]))
diff --git a/standalone-container/src/main/scala/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.scala b/standalone-container/src/main/scala/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.scala
index e07957db5a7..02ff2c60ce6 100644
--- a/standalone-container/src/main/scala/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.scala
+++ b/standalone-container/src/main/scala/com/yahoo/application/container/impl/ClassLoaderOsgiFramework.scala
@@ -1,20 +1,21 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.application.container.impl
-import com.yahoo.jdisc.application.{OsgiHeader, OsgiFramework}
-import java.util
-import org.osgi.framework._
import java.io.InputStream
-import util.concurrent.atomic.AtomicInteger
-import util.jar.JarFile
-import util.{Dictionary, Collections, Hashtable}
+import java.net.{URL, URLClassLoader}
+import java.util
+import java.util.concurrent.atomic.AtomicInteger
+import java.util.jar.JarFile
+import java.util.{Collections, Dictionary, Hashtable}
-import scala.collection.JavaConversions._
import com.yahoo.container.standalone.StandaloneContainerApplication
-import collection.mutable.ArrayBuffer
-import java.net.{URL, URLClassLoader}
+import com.yahoo.jdisc.application.{OsgiFramework, OsgiHeader}
+import org.osgi.framework._
import org.osgi.framework.wiring._
-import org.osgi.resource.{Wire, Capability, Requirement}
+import org.osgi.resource.{Capability, Requirement, Wire}
+
+import scala.collection.JavaConverters._
+import scala.collection.mutable.ArrayBuffer
/**
* A (mock) OSGI implementation which loads classes from the system classpath
@@ -55,7 +56,7 @@ final class ClassLoaderOsgiFramework extends OsgiFramework {
override def bundleContext():BundleContext = BundleContextImpl
- override def bundles() = bundleList
+ override def bundles() = bundleList.asJava
override def start() {}
@@ -139,7 +140,7 @@ final class ClassLoaderOsgiFramework extends OsgiFramework {
private object SystemBundleImpl extends BundleImpl {
override val getBundleId = 0L
override def getVersion = Version.emptyVersion
- override def getHeaders: Dictionary[String, String] = new Hashtable[String, String](Map(OsgiHeader.APPLICATION -> classOf[StandaloneContainerApplication].getName))
+ override def getHeaders: Dictionary[String, String] = new Hashtable[String, String](Map(OsgiHeader.APPLICATION -> classOf[StandaloneContainerApplication].getName).asJava)
}
@@ -157,7 +158,7 @@ final class ClassLoaderOsgiFramework extends OsgiFramework {
val jarFile = new JarFile(location.getFile)
try {
val attributes = jarFile.getManifest.getMainAttributes
- new Hashtable[String, String](attributes.entrySet().map( entry => entry.getKey.toString -> entry.getValue.toString).toMap)
+ new Hashtable[String, String](attributes.entrySet().asScala.map( entry => entry.getKey.toString -> entry.getValue.toString).toMap.asJava)
} finally {
jarFile.close()
}
diff --git a/standalone-container/src/main/scala/com/yahoo/container/standalone/LocalFileDb.scala b/standalone-container/src/main/scala/com/yahoo/container/standalone/LocalFileDb.scala
index c237aa25663..69443c73b3a 100644
--- a/standalone-container/src/main/scala/com/yahoo/container/standalone/LocalFileDb.scala
+++ b/standalone-container/src/main/scala/com/yahoo/container/standalone/LocalFileDb.scala
@@ -3,19 +3,19 @@ package com.yahoo.container.standalone
import java.io.File
import java.lang.reflect.Constructor
+import java.nio.file.Path
import java.util
import java.util.concurrent.TimeUnit
+
import com.yahoo.config.FileReference
import com.yahoo.config.application.api.FileRegistry
import com.yahoo.config.application.api.FileRegistry.Entry
+import com.yahoo.container.standalone.LocalFileDb._
import com.yahoo.filedistribution.fileacquirer.FileAcquirer
import com.yahoo.net.HostName
-import scala.collection.JavaConversions._
-
-import LocalFileDb._
+import scala.collection.JavaConverters._
import scala.collection.mutable
-import java.nio.file.Path
/**
@@ -52,11 +52,11 @@ class LocalFileDb(appPath: Path) extends FileAcquirer with FileRegistry {
HostName.getLocalhost
def allRelativePaths: java.util.Set[String] = {
- new java.util.HashSet(fileReferenceToFile.values.map(_.getPath))
+ new java.util.HashSet(fileReferenceToFile.values.map(_.getPath).asJavaCollection)
}
override def export(): util.List[Entry] = {
- new java.util.ArrayList(fileReferenceToFile.keys.map{ (ref: FileReference) => new Entry(fileReferenceToFile.get(ref).get.getPath, ref)})
+ new java.util.ArrayList(fileReferenceToFile.keys.map{ (ref: FileReference) => new Entry(fileReferenceToFile.get(ref).get.getPath, ref)}.asJavaCollection)
}
}
diff --git a/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala b/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala
index 210394dcf88..14187afdaaa 100644
--- a/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala
+++ b/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneContainerApplication.scala
@@ -29,7 +29,7 @@ import com.yahoo.vespa.model.container.xml.ContainerModelBuilder.Networking
import com.yahoo.vespa.model.container.xml.{ConfigServerContainerModelBuilder, ContainerModelBuilder}
import org.w3c.dom.Element
-import scala.collection.JavaConversions._
+import scala.collection.JavaConverters._
import scala.util.Try
/**
@@ -210,7 +210,7 @@ object StandaloneContainerApplication {
elements map { e => s"${e.getNodeName} id='${e.getAttribute("id")}'" }
}
- val jDiscElements = ContainerModelBuilder.configModelIds flatMap { name => XML.getChildren(element, name.getName) }
+ val jDiscElements = ContainerModelBuilder.configModelIds.asScala flatMap { name => XML.getChildren(element, name.getName).asScala }
jDiscElements.toList match {
case List(e) => e
case Nil => throw new RuntimeException("No jdisc element found under services.")
@@ -222,7 +222,7 @@ object StandaloneContainerApplication {
val element = XmlHelper.getDocument(applicationPackage.getServices).getDocumentElement
val nodeName = element.getNodeName
- if (ContainerModelBuilder.configModelIds.map(_.getName).contains(nodeName)) element
+ if (ContainerModelBuilder.configModelIds.asScala.map(_.getName).contains(nodeName)) element
else getJDiscInServices(element)
}
diff --git a/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneSubscriberFactory.scala b/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneSubscriberFactory.scala
index 5ae300edc22..47219d2893a 100644
--- a/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneSubscriberFactory.scala
+++ b/standalone-container/src/main/scala/com/yahoo/container/standalone/StandaloneSubscriberFactory.scala
@@ -1,15 +1,14 @@
// Copyright 2017 Yahoo Holdings. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
package com.yahoo.container.standalone
-import com.yahoo.config.model.test.MockRoot
import com.yahoo.config.{ConfigBuilder, ConfigInstance}
import com.yahoo.container.di.ConfigKeyT
+import com.yahoo.container.di.config.{Subscriber, SubscriberFactory}
+import com.yahoo.container.standalone.StandaloneSubscriberFactory._
+import com.yahoo.vespa.config.ConfigKey
import com.yahoo.vespa.model.VespaModel
-import scala.collection.JavaConversions._
+
import scala.collection.JavaConverters._
-import com.yahoo.vespa.config.ConfigKey
-import com.yahoo.container.di.config.{SubscriberFactory, Subscriber}
-import StandaloneSubscriberFactory._
/**
* @author tonytv
@@ -50,7 +49,7 @@ class StandaloneSubscriberFactory(root: VespaModel) extends SubscriberFactory {
}
override def getSubscriber(configKeys: java.util.Set[_ <: ConfigKey[_]]) =
- new StandaloneSubscriber(configKeys.toSet.asInstanceOf[Set[ConfigKeyT]])
+ new StandaloneSubscriber(configKeys.asScala.toSet.asInstanceOf[Set[ConfigKeyT]])
def reloadActiveSubscribers(generation: Long) {
throw new RuntimeException("unsupported")