remote servers: generified

This commit is contained in:
nik
2013-11-01 15:53:42 +04:00
parent ff4f1bda80
commit 02b1eab35f
6 changed files with 13 additions and 12 deletions
@@ -41,7 +41,7 @@ public abstract class ServerType<C extends ServerConfiguration> {
public abstract UnnamedConfigurable createConfigurable(@NotNull C configuration);
@NotNull
public abstract DeploymentConfigurator<?> createDeploymentConfigurator(Project project);
public abstract DeploymentConfigurator<?, C> createDeploymentConfigurator(Project project);
@NotNull
public abstract ServerConnector<?> createConnector(@NotNull C configuration, @NotNull ServerTaskExecutor asyncTasksExecutor);
@@ -17,6 +17,7 @@ package com.intellij.remoteServer.configuration.deployment;
import com.intellij.openapi.options.SettingsEditor;
import com.intellij.remoteServer.configuration.RemoteServer;
import com.intellij.remoteServer.configuration.ServerConfiguration;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
@@ -25,7 +26,7 @@ import java.util.List;
/**
* @author nik
*/
public abstract class DeploymentConfigurator<D extends DeploymentConfiguration> {
public abstract class DeploymentConfigurator<D extends DeploymentConfiguration, S extends ServerConfiguration> {
@NotNull
public abstract List<DeploymentSource> getAvailableDeploymentSources();
@@ -33,5 +34,5 @@ public abstract class DeploymentConfigurator<D extends DeploymentConfiguration>
public abstract D createDefaultConfiguration(@NotNull DeploymentSource source);
@Nullable
public abstract SettingsEditor<D> createEditor(@NotNull DeploymentSource source, @NotNull RemoteServer<?> server);
public abstract SettingsEditor<D> createEditor(@NotNull DeploymentSource source, @NotNull RemoteServer<S> server);
}
@@ -66,7 +66,7 @@ public class DeployToServerConfigurationType extends ConfigurationTypeBase {
@Override
public void onNewConfigurationCreated(@NotNull RunConfiguration configuration) {
DeployToServerRunConfiguration deployConfiguration = (DeployToServerRunConfiguration)configuration;
DeployToServerRunConfiguration<?,?> deployConfiguration = (DeployToServerRunConfiguration<?,?>)configuration;
if (deployConfiguration.getServerName() == null) {
RemoteServer<?> server = ContainerUtil.getFirstItem(RemoteServersManager.getInstance().getServers(myServerType));
if (server != null) {
@@ -87,7 +87,7 @@ public class DeployToServerConfigurationType extends ConfigurationTypeBase {
@Override
public RunConfiguration createTemplateConfiguration(Project project) {
DeploymentConfigurator<?> deploymentConfigurator = myServerType.createDeploymentConfigurator(project);
DeploymentConfigurator<?, ?> deploymentConfigurator = myServerType.createDeploymentConfigurator(project);
return new DeployToServerRunConfiguration(project, this, "", myServerType, deploymentConfigurator);
}
}
@@ -52,12 +52,12 @@ public class DeployToServerRunConfiguration<S extends ServerConfiguration, D ext
@NonNls public static final String SETTINGS_ELEMENT = "settings";
public static final SkipDefaultValuesSerializationFilters SERIALIZATION_FILTERS = new SkipDefaultValuesSerializationFilters();
private final ServerType<S> myServerType;
private final DeploymentConfigurator<D> myDeploymentConfigurator;
private final DeploymentConfigurator<D, S> myDeploymentConfigurator;
private String myServerName;
private DeploymentSource myDeploymentSource;
private D myDeploymentConfiguration;
public DeployToServerRunConfiguration(Project project, ConfigurationFactory factory, String name, ServerType<S> serverType, DeploymentConfigurator<D> deploymentConfigurator) {
public DeployToServerRunConfiguration(Project project, ConfigurationFactory factory, String name, ServerType<S> serverType, DeploymentConfigurator<D, S> deploymentConfigurator) {
super(project, factory, name);
myServerType = serverType;
myDeploymentConfigurator = deploymentConfigurator;
@@ -73,7 +73,7 @@ public class DeployToServerRunConfiguration<S extends ServerConfiguration, D ext
}
@NotNull
public DeploymentConfigurator<D> getDeploymentConfigurator() {
public DeploymentConfigurator<D, S> getDeploymentConfigurator() {
return myDeploymentConfigurator;
}
@@ -47,7 +47,7 @@ import java.util.Comparator;
*/
public class DeployToServerSettingsEditor<S extends ServerConfiguration, D extends DeploymentConfiguration> extends SettingsEditor<DeployToServerRunConfiguration<S, D>> {
private final ServerType<S> myServerType;
private final DeploymentConfigurator<D> myDeploymentConfigurator;
private final DeploymentConfigurator<D, S> myDeploymentConfigurator;
private final Project myProject;
private final ComboboxWithBrowseButton myServerComboBox;
private final ComboBox mySourceComboBox;
@@ -58,7 +58,7 @@ public class DeployToServerSettingsEditor<S extends ServerConfiguration, D exten
private DeploymentSource myLastSelectedSource;
private RemoteServer<S> myLastSelectedServer;
public DeployToServerSettingsEditor(final ServerType<S> type, DeploymentConfigurator<D> deploymentConfigurator, Project project) {
public DeployToServerSettingsEditor(final ServerType<S> type, DeploymentConfigurator<D, S> deploymentConfigurator, Project project) {
myServerType = type;
myDeploymentConfigurator = deploymentConfigurator;
myProject = project;
@@ -121,7 +121,7 @@ public class AppEngineCloudType extends ServerType<AppEngineServerConfiguration>
}
}
private static class AppEngineDeploymentConfigurator extends DeploymentConfigurator<DummyDeploymentConfiguration> {
private static class AppEngineDeploymentConfigurator extends DeploymentConfigurator<DummyDeploymentConfiguration, AppEngineServerConfiguration> {
private final Project myProject;
public AppEngineDeploymentConfigurator(Project project) {
@@ -142,7 +142,7 @@ public class AppEngineCloudType extends ServerType<AppEngineServerConfiguration>
}
@Override
public SettingsEditor<DummyDeploymentConfiguration> createEditor(@NotNull DeploymentSource source, RemoteServer<?> server) {
public SettingsEditor<DummyDeploymentConfiguration> createEditor(@NotNull DeploymentSource source, @NotNull RemoteServer<AppEngineServerConfiguration> server) {
return null;
}
}