2323import consulo .application .progress .ProgressIndicator ;
2424import consulo .application .progress .ProgressManager ;
2525import consulo .application .progress .Task ;
26- import consulo .application .util .function .Computable ;
2726import consulo .content .bundle .Sdk ;
2827import consulo .content .bundle .SdkUtil ;
2928import consulo .ide .impl .idea .webcore .packaging .PackagesNotificationPanel ;
4241import consulo .util .lang .StringUtil ;
4342import consulo .virtualFileSystem .LocalFileSystem ;
4443import consulo .virtualFileSystem .VirtualFile ;
45-
4644import jakarta .annotation .Nonnull ;
4745import jakarta .annotation .Nullable ;
4846
5149import java .io .File ;
5250import java .util .Collections ;
5351import java .util .List ;
52+ import java .util .function .Supplier ;
5453
5554public abstract class AbstractCreateVirtualEnvDialog extends IdeaDialog {
5655 @ Nullable
@@ -66,35 +65,30 @@ public interface VirtualEnvCallback {
6665 }
6766
6867 @ RequiredUIAccess
69- public static void setupVirtualEnvSdk (final String path , boolean associateWithProject , VirtualEnvCallback callback ) {
70- final VirtualFile sdkHome = Application .get ().runWriteAction (new Computable <VirtualFile >() {
71- @ Nullable
72- @ Override
73- public VirtualFile compute () {
74- return LocalFileSystem .getInstance ().refreshAndFindFileByPath (path );
75- }
76- });
68+ public static void setupVirtualEnvSdk (String path , boolean associateWithProject , VirtualEnvCallback callback ) {
69+ VirtualFile sdkHome =
70+ Application .get ().runWriteAction ((Supplier <VirtualFile >)() -> LocalFileSystem .getInstance ().refreshAndFindFileByPath (path ));
7771 if (sdkHome != null ) {
78- final Sdk sdk =
72+ Sdk sdk =
7973 SdkUtil .createAndAddSDK (FileUtil .toSystemDependentName (sdkHome .getPath ()), PythonSdkType .getInstance (), UIAccess .current ());
8074 callback .virtualEnvCreated (sdk , associateWithProject );
8175 }
8276 }
8377
84- public AbstractCreateVirtualEnvDialog (Project project , final List <Sdk > allSdks ) {
78+ public AbstractCreateVirtualEnvDialog (Project project , List <Sdk > allSdks ) {
8579 super (project );
8680 setupDialog (project , allSdks );
8781 }
8882
89- public AbstractCreateVirtualEnvDialog (Component owner , final List <Sdk > allSdks ) {
83+ public AbstractCreateVirtualEnvDialog (Component owner , List <Sdk > allSdks ) {
9084 super (owner );
9185 setupDialog (null , allSdks );
9286 }
9387
94- void setupDialog (Project project , final List <Sdk > allSdks ) {
88+ void setupDialog (Project project , List <Sdk > allSdks ) {
9589 myProject = project ;
9690
97- final GridBagLayout layout = new GridBagLayout ();
91+ GridBagLayout layout = new GridBagLayout ();
9892 myMainPanel = new JPanel (layout );
9993 myName = new JTextField ();
10094 myDestination = new TextFieldWithBrowseButton ();
@@ -130,26 +124,26 @@ public void validate() {
130124 protected void setInitialDestination () {
131125 myInitialPath = "" ;
132126
133- final VirtualFile file = VirtualEnvSdkFlavor .getDefaultLocation ();
127+ VirtualFile file = VirtualEnvSdkFlavor .getDefaultLocation ();
134128
135129 if (file != null ) {
136130 myInitialPath = file .getPath ();
137131 }
138132 else {
139- final String savedPath = PyPackageService .getInstance ().getVirtualEnvBasePath ();
133+ String savedPath = PyPackageService .getInstance ().getVirtualEnvBasePath ();
140134 if (!StringUtil .isEmptyOrSpaces (savedPath )) {
141135 myInitialPath = savedPath ;
142136 }
143137 else if (myProject != null ) {
144- final VirtualFile baseDir = myProject .getBaseDir ();
138+ VirtualFile baseDir = myProject .getBaseDir ();
145139 if (baseDir != null ) {
146140 myInitialPath = baseDir .getPath ();
147141 }
148142 }
149143 }
150144 }
151145
152- /*protected void registerValidators(final FacetValidatorsManager validatorsManager) {
146+ /*protected void registerValidators(FacetValidatorsManager validatorsManager) {
153147 myDestination.getTextField().getDocument().addDocumentListener(new DocumentAdapter() {
154148 @Override
155149 protected void textChanged(DocumentEvent e) {
@@ -179,10 +173,10 @@ public void caretUpdate(CaretEvent event) {
179173 }*/
180174
181175 protected void checkValid () {
182- final String projectName = myName .getText ();
183- final File destFile = new File (getDestination ());
176+ String projectName = myName .getText ();
177+ File destFile = new File (getDestination ());
184178 if (destFile .exists ()) {
185- final String [] content = destFile .list ();
179+ String [] content = destFile .list ();
186180 if (content != null && content .length != 0 ) {
187181 setOKActionEnabled (false );
188182 setErrorText (PyLocalize .sdkCreateVenvDialogErrorNotEmptyDirectory ());
@@ -209,7 +203,7 @@ protected void checkValid() {
209203 clearErrorText ();
210204 }
211205
212- abstract protected void layoutPanel (final List <Sdk > allSdks );
206+ abstract protected void layoutPanel (List <Sdk > allSdks );
213207
214208 @ Override
215209 protected JComponent createCenterPanel () {
@@ -233,22 +227,22 @@ public boolean associateWithProject() {
233227 return !myMakeAvailableToAllProjectsCheckbox .isSelected ();
234228 }
235229
236- public void createVirtualEnv (final VirtualEnvCallback callback ) {
237- final ProgressManager progman = ProgressManager .getInstance ();
238- final Sdk basicSdk = getSdk ();
239- final Task .Modal createTask = new Task .Modal (myProject , PyLocalize .sdkCreateVenvDialogCreatingVenv (), false ) {
230+ public void createVirtualEnv (VirtualEnvCallback callback ) {
231+ ProgressManager progman = ProgressManager .getInstance ();
232+ Sdk basicSdk = getSdk ();
233+ Task .Modal createTask = new Task .Modal (myProject , PyLocalize .sdkCreateVenvDialogCreatingVenv (), false ) {
240234 String myPath ;
241235
242236 @ Override
243- public void run (@ Nonnull final ProgressIndicator indicator ) {
237+ public void run (@ Nonnull ProgressIndicator indicator ) {
244238 try {
245239 indicator .setTextValue (PyLocalize .sdkCreateVenvDialogCreatingVenv ());
246240 myPath = createEnvironment (basicSdk );
247241 }
248- catch (final ExecutionException e ) {
242+ catch (ExecutionException e ) {
249243 Application .get ().invokeLater (
250244 () -> {
251- final PackageManagementService .ErrorDescription description =
245+ PackageManagementService .ErrorDescription description =
252246 PyPackageManagementService .toErrorDescription (Collections .singletonList (e ), basicSdk );
253247 if (description != null ) {
254248 PackagesNotificationPanel .showError (
0 commit comments