diff options
Diffstat (limited to 'plugins/git4idea/remote-servers-git/src')
3 files changed, 20 insertions, 16 deletions
diff --git a/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepBase.java b/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepBase.java index 20fe160cb399..1f8f93accd89 100644 --- a/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepBase.java +++ b/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepBase.java @@ -16,6 +16,7 @@ package com.intellij.remoteServer.util.importProject; import com.intellij.ide.util.projectWizard.ModuleWizardStep; +import com.intellij.ide.util.projectWizard.WizardContext; import com.intellij.openapi.module.Module; import com.intellij.openapi.options.ConfigurationException; import com.intellij.remoteServer.ServerType; @@ -25,11 +26,12 @@ import com.intellij.remoteServer.util.CloudDeploymentNameConfiguration; import com.intellij.remoteServer.util.CloudGitDeploymentDetector; import javax.swing.*; +import java.util.Collections; /** * @author michael.golubev */ -public abstract class CloudGitChooseAccountStepBase extends ModuleWizardStep { +public class CloudGitChooseAccountStepBase extends ModuleWizardStep { private JPanel myAccountSelectionPanelPlaceHolder; private JPanel myMainPanel; @@ -38,14 +40,15 @@ public abstract class CloudGitChooseAccountStepBase extends ModuleWizardStep { private CloudAccountSelectionEditor myEditor; private final CloudGitDeploymentDetector myDeploymentDetector; + private final WizardContext myContext; - public CloudGitChooseAccountStepBase(CloudGitDeploymentDetector deploymentDetector) { + public CloudGitChooseAccountStepBase(CloudGitDeploymentDetector deploymentDetector, WizardContext context) { myDeploymentDetector = deploymentDetector; + myContext = context; ServerType cloudType = deploymentDetector.getCloudType(); myTitleLabel.setText(CloudBundle.getText("choose.account.title", cloudType.getPresentableName())); - myEditor = new CloudAccountSelectionEditor(cloudType); + myEditor = new CloudAccountSelectionEditor(Collections.<ServerType<?>>singletonList(cloudType)); myAccountSelectionPanelPlaceHolder.add(myEditor.getMainPanel()); - myEditor.initUI(); } protected CloudGitDeploymentDetector getDeploymentDetector() { @@ -63,6 +66,11 @@ public abstract class CloudGitChooseAccountStepBase extends ModuleWizardStep { return super.validate(); } + @Override + public void updateDataModel() { + myEditor.setAccountOnContext(myContext); + } + public void createRunConfiguration(Module module, String applicationName) { CloudDeploymentNameConfiguration deploymentConfiguration = myDeploymentDetector.createDeploymentConfiguration(); @@ -72,6 +80,6 @@ public abstract class CloudGitChooseAccountStepBase extends ModuleWizardStep { deploymentConfiguration.setDeploymentName(applicationName); } - myEditor.createRunConfiguration(module, deploymentConfiguration); + CloudAccountSelectionEditor.createRunConfiguration(myContext, myDeploymentDetector.getCloudType(), module, deploymentConfiguration); } } diff --git a/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepImpl.java b/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepImpl.java index 74f4d22e32c3..1de4eff05368 100644 --- a/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepImpl.java +++ b/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitChooseAccountStepImpl.java @@ -55,7 +55,7 @@ public class CloudGitChooseAccountStepImpl extends CloudGitChooseAccountStepBase CloudGitProjectStructureDetector structureDetector, ProjectFromSourcesBuilder builder, ProjectDescriptor projectDescriptor) { - super(deploymentDetector); + super(deploymentDetector, builder.getContext()); myBuilder = builder; myProjectDescriptor = projectDescriptor; @@ -82,6 +82,7 @@ public class CloudGitChooseAccountStepImpl extends CloudGitChooseAccountStepBase @Override public void updateDataModel() { + super.updateDataModel(); final MultiMap<CloudGitProjectRoot, DetectedSourceRoot> project2sourceRoots = new MultiMap<CloudGitProjectRoot, DetectedSourceRoot>(); new RootIterator() { diff --git a/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitRemoteDetector.java b/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitRemoteDetector.java index f253a3de2894..704ced7f3d05 100644 --- a/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitRemoteDetector.java +++ b/plugins/git4idea/remote-servers-git/src/com/intellij/remoteServer/util/importProject/CloudGitRemoteDetector.java @@ -34,6 +34,7 @@ import com.intellij.openapi.module.Module; import com.intellij.openapi.module.ModuleManager; import com.intellij.openapi.project.Project; import com.intellij.openapi.ui.MessageType; +import com.intellij.openapi.util.Ref; import com.intellij.openapi.util.io.FileUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.remoteServer.ServerType; @@ -258,20 +259,14 @@ public class CloudGitRemoteDetector extends AbstractProjectComponent implements ImportModuleAction.createFromWizard(myProject, wizard); } else { - final CloudGitChooseAccountStepBase chooseAccountStep - = new CloudGitChooseAccountStepBase(myDeploymentDetector) { - - @Override - public void updateDataModel() { - - } - }; - + final Ref<CloudGitChooseAccountStepBase> chooseAccountStepRef = new Ref<CloudGitChooseAccountStepBase>(); if (!new AbstractProjectWizard(CloudBundle.getText("choose.account.wizzard.title", myCloudName), myProject, (String)null) { final StepSequence myStepSequence; { + CloudGitChooseAccountStepBase chooseAccountStep = new CloudGitChooseAccountStepBase(myDeploymentDetector, myWizardContext); + chooseAccountStepRef.set(chooseAccountStep); myStepSequence = new StepSequence(chooseAccountStep); addStep(chooseAccountStep); init(); @@ -284,7 +279,7 @@ public class CloudGitRemoteDetector extends AbstractProjectComponent implements }.showAndGet()) { return; } - chooseAccountStep.createRunConfiguration(targetModule, myApplicationName); + chooseAccountStepRef.get().createRunConfiguration(targetModule, myApplicationName); } } } |