From a7335115525651bcc3c46db356b6448d13ebfd45 Mon Sep 17 00:00:00 2001 From: Dmitry Jemerov Date: Tue, 22 Jun 2010 18:05:38 +0400 Subject: [PATCH] misc JikesCompiler config ui issues (IDEA-26149) --- .../javaCompiler/jikes/JikesCompiler.java | 20 ++++++++++++++----- .../src/messages/CompilerBundle.properties | 2 +- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/jikes/JikesCompiler.java b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/jikes/JikesCompiler.java index c8bd78118569..5ab1b1d9b67d 100644 --- a/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/jikes/JikesCompiler.java +++ b/java/compiler/impl/src/com/intellij/compiler/impl/javaCompiler/jikes/JikesCompiler.java @@ -15,11 +15,14 @@ */ package com.intellij.compiler.impl.javaCompiler.jikes; +import com.intellij.compiler.CompilerConfiguration; +import com.intellij.compiler.CompilerConfigurationImpl; import com.intellij.compiler.OutputParser; import com.intellij.compiler.impl.CompilerUtil; +import com.intellij.compiler.impl.javaCompiler.BackendCompiler; import com.intellij.compiler.impl.javaCompiler.ExternalCompiler; import com.intellij.compiler.impl.javaCompiler.ModuleChunk; -import com.intellij.compiler.options.CompilerConfigurable; +import com.intellij.compiler.options.JavaCompilersTab; import com.intellij.openapi.application.ApplicationManager; import com.intellij.openapi.compiler.CompileContext; import com.intellij.openapi.compiler.CompileScope; @@ -31,6 +34,7 @@ import com.intellij.openapi.project.Project; import com.intellij.openapi.projectRoots.Sdk; import com.intellij.openapi.ui.Messages; import com.intellij.openapi.util.io.FileUtil; +import com.intellij.openapi.util.text.StringUtil; import com.intellij.openapi.vfs.VirtualFile; import com.intellij.pom.java.LanguageLevel; import com.intellij.util.ArrayUtil; @@ -43,6 +47,7 @@ import java.io.FileWriter; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; +import java.util.Collection; import java.util.List; import java.util.StringTokenizer; @@ -57,7 +62,7 @@ public class JikesCompiler extends ExternalCompiler { public boolean checkCompiler(final CompileScope scope) { String compilerPath = getCompilerPath(); - if (compilerPath == null) { + if (StringUtil.isEmpty(compilerPath)) { Messages.showMessageDialog( myProject, CompilerBundle.message("jikes.error.path.to.compiler.unspecified"), CompilerBundle.message("compiler.jikes.name"), @@ -65,7 +70,7 @@ public class JikesCompiler extends ExternalCompiler { ); openConfigurationDialog(); compilerPath = getCompilerPath(); // update path - if (compilerPath == null) { + if (StringUtil.isEmpty(compilerPath)) { return false; } } @@ -80,7 +85,7 @@ public class JikesCompiler extends ExternalCompiler { ); openConfigurationDialog(); compilerPath = getCompilerPath(); // update path - if (compilerPath == null) { + if (StringUtil.isEmpty(compilerPath)) { return false; } if (!new File(compilerPath).exists()) { @@ -92,7 +97,12 @@ public class JikesCompiler extends ExternalCompiler { } private void openConfigurationDialog() { - ShowSettingsUtil.getInstance().editConfigurable(myProject, CompilerConfigurable.getInstance(myProject)); + final CompilerConfigurationImpl configuration = (CompilerConfigurationImpl)CompilerConfiguration.getInstance(myProject); + final Collection compilers = configuration.getRegisteredJavaCompilers(); + final BackendCompiler defaultCompiler = configuration.getDefaultCompiler(); + final JavaCompilersTab compilersTab = new JavaCompilersTab(myProject, compilers, defaultCompiler); + + ShowSettingsUtil.getInstance().editConfigurable(myProject, compilersTab); } private String getCompilerPath() { diff --git a/resources-en/src/messages/CompilerBundle.properties b/resources-en/src/messages/CompilerBundle.properties index 5a7f2a310922..67b844444e1a 100644 --- a/resources-en/src/messages/CompilerBundle.properties +++ b/resources-en/src/messages/CompilerBundle.properties @@ -100,7 +100,7 @@ javac.error.tools.jar.missing=Cannot obtain path javac classes for JDK {0}.\nUpd javac.error.unknown.jdk.version=Cannot determine version for JDK {0}.\nUpdate JDK configuration. javac.error.1_0_compilation.not.supported=Compilation is not supported for JDK 1.0 compiler.jikes.name=Jikes -jikes.error.path.to.compiler.unspecified=Cannot start Jikes compiler.nThe path to compiler executable is not configured +jikes.error.path.to.compiler.unspecified=Cannot start Jikes compiler.\nThe path to compiler executable is not configured jikes.error.path.to.compiler.missing=Cannot start Jikes compiler.\nThe file {0} not found. compiler.configurable.display.name=Compiler label.option.honor.dependencies=Honor &dependencies on "Compile" command