diff --git a/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java b/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java index ae6d30da651f..8b9cc7f52029 100644 --- a/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java +++ b/platform/remote-servers/impl/src/com/intellij/remoteServer/util/CloudServerRuntimeInstance.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2014 JetBrains s.r.o. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -23,11 +23,13 @@ import com.intellij.remoteServer.agent.util.CloudRemoteApplication; import com.intellij.remoteServer.configuration.deployment.DeploymentConfiguration; import com.intellij.remoteServer.runtime.ServerTaskExecutor; import com.intellij.remoteServer.runtime.deployment.ServerRuntimeInstance; +import com.intellij.util.Function; import com.intellij.util.ThrowableRunnable; +import com.intellij.util.containers.ContainerUtil; import org.jetbrains.annotations.NotNull; import java.io.File; -import java.util.ArrayList; +import java.util.Collections; import java.util.List; /** @@ -86,7 +88,7 @@ public abstract class CloudServerRuntimeInstance } @Override - public void computeDeployments(@NotNull final ServerRuntimeInstance.ComputeDeploymentsCallback callback) { + public void computeDeployments(@NotNull final ComputeDeploymentsCallback callback) { getTaskExecutor().submit(new ThrowableRunnable() { @Override @@ -109,11 +111,16 @@ public abstract class CloudServerRuntimeInstance @Override public List compute() { - List result = new ArrayList(); - for (CloudRemoteApplication application : getAgent().getApplications()) { - result.add(createApplicationRuntime(application)); + CloudRemoteApplication[] applications = getAgent().getApplications(); + if (applications == null) { + return Collections.emptyList(); } - return result; + return ContainerUtil.map(applications, new Function() { + @Override + public CloudApplicationRuntime fun(CloudRemoteApplication application) { + return createApplicationRuntime(application); + } + }); } }); }