Revision created by MOE tool push_codebase.
[gae.git] / java / src / main / com / google / appengine / tools / development / AutomaticServer.java
bloba6b4e341e9c17299662c08e0b4ef34ca27f2f08b
1 package com.google.appengine.tools.development;
3 import com.google.appengine.tools.development.ApplicationConfigurationManager.ServerConfigurationHandle;
4 import com.google.common.collect.ImmutableList;
6 import java.io.File;
7 import java.util.List;
8 import java.util.Map;
10 /**
11 * {@link Server} implementation for automatic servers.
13 class AutomaticServer extends AbstractServer {
14 private final int devAppServerPort;
16 /**
17 * @param devAppServerPort port from the DevAppServerImple constructor for
18 * the primary container and 0 otherwise.
20 AutomaticServer(ServerConfigurationHandle serverConfigurationHandle,
21 String serverInfo, File externalResourceDir, String address, int devAppServerPort,
22 Map<String, Object> containerConfigProperties, DevAppServerImpl devAppServer) {
23 super(serverConfigurationHandle, serverInfo, externalResourceDir, address,
24 containerConfigProperties, devAppServer, makeInstanceHolders());
25 this.devAppServerPort = devAppServerPort;
28 private static List<InstanceHolder> makeInstanceHolders() {
29 return ImmutableList.of(new InstanceHolder(ContainerUtils.loadContainer(),
30 LocalEnvironment.MAIN_INSTANCE));
33 @Override
34 public LocalServerEnvironment doConfigure(
35 ServerConfigurationHandle serverConfigurationHandle, String serverInfo,
36 File externalResourceDir, String address, Map<String, Object> containerConfigProperties,
37 DevAppServerImpl devAppServer) throws Exception{
38 int port = devAppServerPort;
39 if (port == 0) {
40 port = DevAppServerPortPropertyHelper.getPort(getServerName(),
41 devAppServer.getServiceProperties());
43 return getInstanceHolders().get(0).getContainerService().configure(serverInfo, address, port,
44 serverConfigurationHandle, externalResourceDir, containerConfigProperties,
45 LocalEnvironment.MAIN_INSTANCE, devAppServer);