Skip to content

Commit 742c91a

Browse files
committed
J2K KotlinRuntimeConfigurationSuggestor: convert and prettify
1 parent 571273c commit 742c91a

File tree

1 file changed

+38
-55
lines changed

1 file changed

+38
-55
lines changed
Lines changed: 38 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*******************************************************************************
2-
* Copyright 2000-2014 JetBrains s.r.o.
2+
* Copyright 2000-2016 JetBrains s.r.o.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -14,63 +14,46 @@
1414
* limitations under the License.
1515
*
1616
*******************************************************************************/
17-
package org.jetbrains.kotlin.ui.launch;
17+
package org.jetbrains.kotlin.ui.launch
1818

19-
import org.eclipse.core.resources.IProject;
20-
import org.eclipse.core.runtime.CoreException;
21-
import org.eclipse.jface.dialogs.MessageDialogWithToggle;
22-
import org.eclipse.swt.widgets.Display;
23-
import org.jetbrains.annotations.NotNull;
24-
import org.jetbrains.kotlin.core.log.KotlinLogger;
25-
import org.jetbrains.kotlin.core.utils.ProjectUtils;
26-
import org.jetbrains.kotlin.eclipse.ui.utils.ProjectScopedPreferenceUtils;
27-
import org.osgi.service.prefs.BackingStoreException;
19+
import org.eclipse.core.resources.IProject
20+
import org.eclipse.jface.dialogs.MessageDialogWithToggle
21+
import org.eclipse.swt.widgets.Display
22+
import org.jetbrains.kotlin.core.utils.ProjectUtils
23+
import org.jetbrains.kotlin.eclipse.ui.utils.ProjectScopedPreferenceUtils
2824

29-
public class KotlinRuntimeConfigurationSuggestor implements Runnable {
30-
31-
private static final String SUGGESTION = "the Kotlin runtime library";
32-
private static final String MESSAGE_DIALOG_TITLE = String.format("Add %s", SUGGESTION);
33-
private static final String MESSAGE_DIALOG_TEXT_FORMAT = "Would you like to add %s to the project \'%s\'?";
34-
35-
private static final String MESSAGE_DIALOG_TOOGLE_TEXT = "Don't ask again for this project";
36-
37-
private static final String PREFERENCE_KEY = "suggest.Configure.Runtime";
38-
39-
@NotNull
40-
private final IProject project;
41-
42-
protected KotlinRuntimeConfigurationSuggestor(@NotNull IProject project) {
43-
this.project = project;
25+
class KotlinRuntimeConfigurationSuggestor(private val project: IProject) : Runnable {
26+
companion object {
27+
private val SUGGESTION = "the Kotlin runtime library"
28+
private val MESSAGE_DIALOG_TITLE = "Add $SUGGESTION"
29+
private val MESSAGE_DIALOG_TEXT_FORMAT = "Would you like to add %s to the project \'%s\'?"
30+
private val MESSAGE_DIALOG_TOOGLE_TEXT = "Don't ask again for this project"
31+
private val PREFERENCE_KEY = "suggest.Configure.Runtime"
32+
33+
@JvmStatic fun suggestForProject(project: IProject) {
34+
Display.getDefault().asyncExec(KotlinRuntimeConfigurationSuggestor(project))
35+
}
4436
}
45-
46-
@Override
47-
public final void run() {
48-
try {
49-
if (!ProjectUtils.hasKotlinRuntime(project)) {
50-
if (ProjectScopedPreferenceUtils.getBooleanPreference(project, PREFERENCE_KEY, true)) {
51-
MessageDialogWithToggle dialogWithToogle = MessageDialogWithToggle.openYesNoQuestion(
52-
Display.getDefault().getActiveShell(),
53-
MESSAGE_DIALOG_TITLE,
54-
String.format(MESSAGE_DIALOG_TEXT_FORMAT, SUGGESTION, project.getName()),
55-
MESSAGE_DIALOG_TOOGLE_TEXT,
56-
false,
57-
null,
58-
null);
59-
60-
if (dialogWithToogle.getReturnCode() == 2) {
61-
ProjectUtils.addKotlinRuntime(project);
62-
}
63-
if (dialogWithToogle.getToggleState()) {
64-
ProjectScopedPreferenceUtils.putBooleanPreference(project, PREFERENCE_KEY, false);
65-
}
66-
}
37+
38+
override fun run() {
39+
if (ProjectUtils.hasKotlinRuntime(project)) return
40+
41+
if (ProjectScopedPreferenceUtils.getBooleanPreference(project, PREFERENCE_KEY, true)) {
42+
val dialogWithToogle = MessageDialogWithToggle.openYesNoQuestion(
43+
Display.getDefault().getActiveShell(),
44+
MESSAGE_DIALOG_TITLE,
45+
String.format(MESSAGE_DIALOG_TEXT_FORMAT, SUGGESTION, project.getName()),
46+
MESSAGE_DIALOG_TOOGLE_TEXT,
47+
false,
48+
null,
49+
null)
50+
if (dialogWithToogle.returnCode == 2) {
51+
ProjectUtils.addKotlinRuntime(project)
52+
}
53+
54+
if (dialogWithToogle.getToggleState()) {
55+
ProjectScopedPreferenceUtils.putBooleanPreference(project, PREFERENCE_KEY, false)
6756
}
68-
} catch (CoreException | BackingStoreException e) {
69-
KotlinLogger.logAndThrow(e);
7057
}
7158
}
72-
73-
public static void suggestForProject(@NotNull IProject project) {
74-
Display.getDefault().asyncExec(new KotlinRuntimeConfigurationSuggestor(project));
75-
}
76-
}
59+
}

0 commit comments

Comments
 (0)