Refactoring: rename method and optimize cycles in methods

This commit is contained in:
Nikolay Krasko
2014-04-21 16:47:12 +04:00
parent 3a5592ee34
commit da0efe2a9e
3 changed files with 17 additions and 10 deletions
@@ -28,7 +28,7 @@ public class ConfigureKotlinInProjectAction extends AnAction {
}
Collection<KotlinProjectConfigurator> configurators =
Collections2.filter(ConfigureKotlinInProjectUtils.getApplicableConfigurators(project), new Predicate<KotlinProjectConfigurator>() {
Collections2.filter(ConfigureKotlinInProjectUtils.getAbleToRunConfigurators(project), new Predicate<KotlinProjectConfigurator>() {
@Override
public boolean apply(KotlinProjectConfigurator input) {
return !input.getName().equals(KotlinJsModuleConfigurator.NAME);
@@ -98,16 +98,20 @@ public class ConfigureKotlinInProjectUtils {
}
@NotNull
public static Collection<KotlinProjectConfigurator> getApplicableConfigurators(@NotNull Project project) {
Set<KotlinProjectConfigurator> applicableConfigurators = Sets.newHashSet();
public static Collection<KotlinProjectConfigurator> getAbleToRunConfigurators(@NotNull Project project) {
Collection<Module> modules = getModulesWithKotlinFiles(project);
Set<KotlinProjectConfigurator> canRunConfigurators = Sets.newHashSet();
for (KotlinProjectConfigurator configurator : Extensions.getExtensions(KotlinProjectConfigurator.EP_NAME)) {
for (Module module : getNonConfiguredModules(project, configurator)) {
if (configurator.isApplicable(module)) {
applicableConfigurators.add(configurator);
for (Module module : modules) {
if (configurator.isApplicable(module) && !configurator.isConfigured(module)) {
canRunConfigurators.add(configurator);
break;
}
}
}
return applicableConfigurators;
return canRunConfigurators;
}
@NotNull
@@ -145,13 +149,16 @@ public class ConfigureKotlinInProjectUtils {
@NotNull
public static Collection<Module> getNonConfiguredModules(@NotNull Project project) {
Set<Module> modules = Sets.newHashSet();
for (KotlinProjectConfigurator configurator : getApplicableConfigurators(project)) {
for (Module module : getModulesWithKotlinFiles(project)) {
Collection<Module> modulesWithKotlinFiles = getModulesWithKotlinFiles(project);
for (KotlinProjectConfigurator configurator : getAbleToRunConfigurators(project)) {
for (Module module : modulesWithKotlinFiles) {
if (!configurator.isConfigured(module)) {
modules.add(module);
}
}
}
return modules;
}
@@ -73,7 +73,7 @@ public class ConfigureKotlinNotification extends Notification {
builder.append(" in '").append(project.getName()).append("' project");
builder.append("<br/>");
String links = StringUtil.join(ConfigureKotlinInProjectUtils.getApplicableConfigurators(project), new Function<KotlinProjectConfigurator, String>() {
String links = StringUtil.join(ConfigureKotlinInProjectUtils.getAbleToRunConfigurators(project), new Function<KotlinProjectConfigurator, String>() {
@Override
public String fun(KotlinProjectConfigurator configurator) {
return getLink(configurator, isOnlyOneModule);