From fec0ee32a531d565392a291f73b73504cf7d5425 Mon Sep 17 00:00:00 2001 From: Vladimir Krivosheev Date: Fri, 22 May 2015 16:14:53 +0200 Subject: [PATCH] =?UTF-8?q?move=20built-in=20server=20to=20platform-impl?= =?UTF-8?q?=20=E2=80=94=20prepare=20to=20merge=20SocketLock?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ide/BuiltInServerManagerImpl.java | 17 +++++++++++++ .../src/org/jetbrains/io/SubServer.java | 2 +- platform/platform-impl/platform-impl.iml | 1 + .../src/org/jetbrains/io/BuiltInServer.java | 24 ++----------------- .../org/jetbrains/io/ChannelRegistrar.java | 15 ++++++++++++ .../io/DelegatingHttpRequestHandler.java | 0 .../io/DelegatingHttpRequestHandlerBase.java | 0 .../src/org/jetbrains/io/FileResponses.java | 2 +- .../io/PortUnificationServerHandler.java | 0 .../src/org/jetbrains/io/Responses.java | 0 10 files changed, 37 insertions(+), 24 deletions(-) rename platform/{built-in-server => platform-impl}/src/org/jetbrains/io/BuiltInServer.java (84%) rename platform/{built-in-server => platform-impl}/src/org/jetbrains/io/ChannelRegistrar.java (71%) rename platform/{built-in-server => platform-impl}/src/org/jetbrains/io/DelegatingHttpRequestHandler.java (100%) rename platform/{built-in-server => platform-impl}/src/org/jetbrains/io/DelegatingHttpRequestHandlerBase.java (100%) rename platform/{built-in-server => platform-impl}/src/org/jetbrains/io/FileResponses.java (99%) rename platform/{built-in-server => platform-impl}/src/org/jetbrains/io/PortUnificationServerHandler.java (100%) rename platform/{built-in-server => platform-impl}/src/org/jetbrains/io/Responses.java (100%) diff --git a/platform/built-in-server/src/org/jetbrains/ide/BuiltInServerManagerImpl.java b/platform/built-in-server/src/org/jetbrains/ide/BuiltInServerManagerImpl.java index d16f60bc1006..577a2f32dffa 100644 --- a/platform/built-in-server/src/org/jetbrains/ide/BuiltInServerManagerImpl.java +++ b/platform/built-in-server/src/org/jetbrains/ide/BuiltInServerManagerImpl.java @@ -14,6 +14,7 @@ import org.jetbrains.annotations.NonNls; import org.jetbrains.annotations.NotNull; import org.jetbrains.annotations.Nullable; import org.jetbrains.io.BuiltInServer; +import org.jetbrains.io.SubServer; import java.util.concurrent.ExecutionException; import java.util.concurrent.Future; @@ -97,6 +98,7 @@ public class BuiltInServerManagerImpl extends BuiltInServerManager { try { server = BuiltInServer.start(workerCount, defaultPort, PORTS_COUNT, true); + bindCustomPorts(server); } catch (Throwable e) { LOG.info(e); @@ -127,4 +129,19 @@ public class BuiltInServerManagerImpl extends BuiltInServerManager { public Disposable getServerDisposable() { return server; } + + private static void bindCustomPorts(@NotNull BuiltInServer server) { + if (ApplicationManager.getApplication().isUnitTestMode()) { + return; + } + + for (CustomPortServerManager customPortServerManager : CustomPortServerManager.EP_NAME.getExtensions()) { + try { + new SubServer(customPortServerManager, server).bind(customPortServerManager.getPort()); + } + catch (Throwable e) { + LOG.error(e); + } + } + } } \ No newline at end of file diff --git a/platform/built-in-server/src/org/jetbrains/io/SubServer.java b/platform/built-in-server/src/org/jetbrains/io/SubServer.java index 82f670ce4b5c..393c9c89767d 100644 --- a/platform/built-in-server/src/org/jetbrains/io/SubServer.java +++ b/platform/built-in-server/src/org/jetbrains/io/SubServer.java @@ -34,7 +34,7 @@ import java.io.IOException; import java.net.InetSocketAddress; import java.util.Map; -final class SubServer implements CustomPortServerManager.CustomPortService, Disposable { +public final class SubServer implements CustomPortServerManager.CustomPortService, Disposable { private ChannelRegistrar channelRegistrar; private final CustomPortServerManager user; diff --git a/platform/platform-impl/platform-impl.iml b/platform/platform-impl/platform-impl.iml index 70b50f7e0888..64dc847f675a 100644 --- a/platform/platform-impl/platform-impl.iml +++ b/platform/platform-impl/platform-impl.iml @@ -41,5 +41,6 @@ + \ No newline at end of file diff --git a/platform/built-in-server/src/org/jetbrains/io/BuiltInServer.java b/platform/platform-impl/src/org/jetbrains/io/BuiltInServer.java similarity index 84% rename from platform/built-in-server/src/org/jetbrains/io/BuiltInServer.java rename to platform/platform-impl/src/org/jetbrains/io/BuiltInServer.java index 00ee54626d05..50244dd1e367 100644 --- a/platform/built-in-server/src/org/jetbrains/io/BuiltInServer.java +++ b/platform/platform-impl/src/org/jetbrains/io/BuiltInServer.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2015 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. @@ -16,7 +16,6 @@ package org.jetbrains.io; import com.intellij.openapi.Disposable; -import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.diagnostic.Logger; import com.intellij.openapi.util.SystemInfo; import com.intellij.util.net.NetUtils; @@ -24,7 +23,6 @@ import io.netty.bootstrap.ServerBootstrap; import io.netty.channel.*; import io.netty.channel.nio.NioEventLoopGroup; import org.jetbrains.annotations.NotNull; -import org.jetbrains.ide.CustomPortServerManager; import org.jetbrains.ide.PooledThreadExecutor; import java.io.IOException; @@ -55,10 +53,7 @@ public class BuiltInServer implements Disposable { ChannelRegistrar channelRegistrar = new ChannelRegistrar(); ServerBootstrap bootstrap = NettyUtil.nioServerBootstrap(eventLoopGroup); configureChildHandler(bootstrap, channelRegistrar); - int port = bind(firstPort, portsCount, tryAnyPort, bootstrap, channelRegistrar); - BuiltInServer server = new BuiltInServer(eventLoopGroup, port); - bindCustomPorts(server); - return server; + return new BuiltInServer(eventLoopGroup, bind(firstPort, portsCount, tryAnyPort, bootstrap, channelRegistrar)); } public int getPort() { @@ -75,21 +70,6 @@ public class BuiltInServer implements Disposable { }); } - private static void bindCustomPorts(@NotNull BuiltInServer server) { - if (ApplicationManager.getApplication().isUnitTestMode()) { - return; - } - - for (CustomPortServerManager customPortServerManager : CustomPortServerManager.EP_NAME.getExtensions()) { - try { - new SubServer(customPortServerManager, server).bind(customPortServerManager.getPort()); - } - catch (Throwable e) { - LOG.error(e); - } - } - } - private static int bind(int firstPort, int portsCount, boolean tryAnyPort, @NotNull ServerBootstrap bootstrap, @NotNull ChannelRegistrar channelRegistrar) throws Throwable { InetAddress loopbackAddress = NetUtils.getLoopbackAddress(); for (int i = 0; i < portsCount; i++) { diff --git a/platform/built-in-server/src/org/jetbrains/io/ChannelRegistrar.java b/platform/platform-impl/src/org/jetbrains/io/ChannelRegistrar.java similarity index 71% rename from platform/built-in-server/src/org/jetbrains/io/ChannelRegistrar.java rename to platform/platform-impl/src/org/jetbrains/io/ChannelRegistrar.java index 179d2db5cf81..ccbc57a67d2d 100644 --- a/platform/built-in-server/src/org/jetbrains/io/ChannelRegistrar.java +++ b/platform/platform-impl/src/org/jetbrains/io/ChannelRegistrar.java @@ -1,3 +1,18 @@ +/* + * Copyright 2000-2015 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. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ package org.jetbrains.io; import io.netty.channel.*; diff --git a/platform/built-in-server/src/org/jetbrains/io/DelegatingHttpRequestHandler.java b/platform/platform-impl/src/org/jetbrains/io/DelegatingHttpRequestHandler.java similarity index 100% rename from platform/built-in-server/src/org/jetbrains/io/DelegatingHttpRequestHandler.java rename to platform/platform-impl/src/org/jetbrains/io/DelegatingHttpRequestHandler.java diff --git a/platform/built-in-server/src/org/jetbrains/io/DelegatingHttpRequestHandlerBase.java b/platform/platform-impl/src/org/jetbrains/io/DelegatingHttpRequestHandlerBase.java similarity index 100% rename from platform/built-in-server/src/org/jetbrains/io/DelegatingHttpRequestHandlerBase.java rename to platform/platform-impl/src/org/jetbrains/io/DelegatingHttpRequestHandlerBase.java diff --git a/platform/built-in-server/src/org/jetbrains/io/FileResponses.java b/platform/platform-impl/src/org/jetbrains/io/FileResponses.java similarity index 99% rename from platform/built-in-server/src/org/jetbrains/io/FileResponses.java rename to platform/platform-impl/src/org/jetbrains/io/FileResponses.java index b572d3972441..ff4197b0a775 100644 --- a/platform/built-in-server/src/org/jetbrains/io/FileResponses.java +++ b/platform/platform-impl/src/org/jetbrains/io/FileResponses.java @@ -1,5 +1,5 @@ /* - * Copyright 2000-2013 JetBrains s.r.o. + * Copyright 2000-2015 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. diff --git a/platform/built-in-server/src/org/jetbrains/io/PortUnificationServerHandler.java b/platform/platform-impl/src/org/jetbrains/io/PortUnificationServerHandler.java similarity index 100% rename from platform/built-in-server/src/org/jetbrains/io/PortUnificationServerHandler.java rename to platform/platform-impl/src/org/jetbrains/io/PortUnificationServerHandler.java diff --git a/platform/built-in-server/src/org/jetbrains/io/Responses.java b/platform/platform-impl/src/org/jetbrains/io/Responses.java similarity index 100% rename from platform/built-in-server/src/org/jetbrains/io/Responses.java rename to platform/platform-impl/src/org/jetbrains/io/Responses.java