From a41d89fa7da37c73dd6be3bff1422621d53ff8af Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Wed, 16 Aug 2017 17:57:19 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E8=AE=BE=E7=BD=AE=E7=95=8C?= =?UTF-8?q?=E9=9D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- LICENSE | 0 README.md | 0 build.gradle.kts | 2 +- gradle/wrapper/gradle-wrapper.jar | Bin gradle/wrapper/gradle-wrapper.properties | 0 gradlew.bat | 0 .../completion/config/ConfigurationView.form | 84 ++++++++++++++++++ .../completion/config/ConfigurationView.java | 83 +++++++++++++++++ .../completion/GradleArtifactSearcher.kt | 22 +++-- ...GradleDependenciesCompletionContributor.kt | 0 ...dleKtsDependenciesCompletionContributor.kt | 0 .../GradlePluginsCompletionContributor.kt | 0 .../completion/GradlePluginsSearcher.kt | 0 .../codeInsight/completion/GradleProject.kt | 60 ++++++------- .../OpenJcenterOrMavenCentralProvider.kt | 0 .../gradle/codeInsight/completion/Util.kt | 0 .../completion/config/GDPHConfigurable.kt | 72 +++++++++++++++ .../codeInsight/completion/config/Settings.kt | 39 ++++++++ src/main/resources/META-INF/plugin.xml | 10 ++- src/main/resources/icons/repo.png | Bin src/test/kotlin/ResultTest.kt | 13 ++- src/test/resources/result.json | 0 22 files changed, 344 insertions(+), 41 deletions(-) mode change 100644 => 100755 LICENSE mode change 100644 => 100755 README.md mode change 100644 => 100755 build.gradle.kts mode change 100644 => 100755 gradle/wrapper/gradle-wrapper.jar mode change 100644 => 100755 gradle/wrapper/gradle-wrapper.properties mode change 100644 => 100755 gradlew.bat create mode 100755 src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.form create mode 100755 src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.java mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleArtifactSearcher.kt mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleDependenciesCompletionContributor.kt mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleKtsDependenciesCompletionContributor.kt mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradlePluginsCompletionContributor.kt mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradlePluginsSearcher.kt mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleProject.kt mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/OpenJcenterOrMavenCentralProvider.kt mode change 100644 => 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/Util.kt create mode 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/GDPHConfigurable.kt create mode 100755 src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/Settings.kt mode change 100644 => 100755 src/main/resources/META-INF/plugin.xml mode change 100644 => 100755 src/main/resources/icons/repo.png mode change 100644 => 100755 src/test/kotlin/ResultTest.kt mode change 100644 => 100755 src/test/resources/result.json diff --git a/LICENSE b/LICENSE old mode 100644 new mode 100755 diff --git a/README.md b/README.md old mode 100644 new mode 100755 diff --git a/build.gradle.kts b/build.gradle.kts old mode 100644 new mode 100755 index 483928f..ab85cae --- a/build.gradle.kts +++ b/build.gradle.kts @@ -11,7 +11,7 @@ intellij { pluginName = "Gradle Dependencies And Plugins Helper" updateSinceUntilBuild = false version = "IC-2017.2.1" -// version = "145.184.1" +// version = "145.258.11" setPlugins("Groovy", "gradle", "Kotlin", "maven") } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar old mode 100644 new mode 100755 diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties old mode 100644 new mode 100755 diff --git a/gradlew.bat b/gradlew.bat old mode 100644 new mode 100755 diff --git a/src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.form b/src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.form new file mode 100755 index 0000000..1330689 --- /dev/null +++ b/src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.form @@ -0,0 +1,84 @@ + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.java b/src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.java new file mode 100755 index 0000000..f629641 --- /dev/null +++ b/src/main/java/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/ConfigurationView.java @@ -0,0 +1,83 @@ +package cn.bestwu.intellij.plugins.gradle.codeInsight.completion.config; + +import java.util.HashSet; +import java.util.Set; +import javax.swing.JButton; +import javax.swing.JCheckBox; +import javax.swing.JPanel; +import javax.swing.JTextField; +import org.jetbrains.idea.maven.model.MavenRemoteRepository; + + +public class ConfigurationView { + + private JPanel nexusPanel; + private JButton resetButton; + private JCheckBox useNexus; + private JTextField nexusSearchUrlField; + private JPanel dpPanel; + private JPanel mavenIndexPanel; + private JCheckBox useMavenIndex; +// private JButton addRemoteRepo; + private Set remoteRepositories = new HashSet<>(); + + public ConfigurationView() { + useNexus.addActionListener( + actionEvent -> nexusSearchUrlField.setEnabled(useNexus.isSelected())); +// useMavenIndex.addActionListener( +// actionEvent -> addRemoteRepo.setEnabled(useMavenIndex.isSelected())); +// addRemoteRepo.addActionListener(e -> { +// final RemoteRepositoryEditor repositoryEditor = new RemoteRepositoryEditor( +// "Add Maven Remote Repository", "", "", new EditValidator()); +// if (repositoryEditor.showAndGet()) { +// remoteRepositories.add(new MavenRemoteRepository(repositoryEditor.getName(), null, +// repositoryEditor.getValue(), null, null, null)); +// } +// }); + } + + public JPanel getDpPanel() { + return dpPanel; + } + + + public String getNexusSearchUrlField() { + return nexusSearchUrlField.getText(); + } + + public void setNexusSearchUrlField(String nexusSearchUrlField) { + this.nexusSearchUrlField.setText(nexusSearchUrlField); + } + + public boolean getUseNexus() { + return useNexus.isSelected(); + } + + public void setUseNexus(boolean selected) { + useNexus.setSelected(selected); + nexusSearchUrlField.setEnabled(selected); + } + + + public Set getRemoteRepositories() { + return remoteRepositories; + } + + public void setRemoteRepositories( + Set remoteRepositories) { + this.remoteRepositories = remoteRepositories; + } + + public boolean getUseMavenIndex() { + return useMavenIndex.isSelected(); + } + + public void setUseMavenIndex(boolean selected) { + useMavenIndex.setSelected(selected); +// addRemoteRepo.setEnabled(selected); + } + + public JButton getResetButton() { + return resetButton; + } +} diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleArtifactSearcher.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleArtifactSearcher.kt old mode 100644 new mode 100755 index a139005..dbc379d --- a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleArtifactSearcher.kt +++ b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleArtifactSearcher.kt @@ -1,5 +1,6 @@ package cn.bestwu.intellij.plugins.gradle.codeInsight.completion +import cn.bestwu.intellij.plugins.gradle.codeInsight.completion.config.Settings import com.intellij.notification.NotificationType import com.intellij.openapi.project.Project import groovy.json.JsonSlurper @@ -183,14 +184,19 @@ class GradleArtifactSearcher { } var result: MutableList if (searchParam.advancedSearch.isNotEmpty()) { - result = searchByClassNameInNexus(searchParam, project) - if (result.isEmpty()) + if (Settings.getInstance(project).useNexus) { + result = searchByClassNameInNexus(searchParam, project) + if (result.isEmpty()) + result = searchByClassNameInMavenCentral(searchParam, project) + } else { result = searchByClassNameInMavenCentral(searchParam, project) + } } else { - - result = searchInMavenIndexs(searchParam, project) -// result = searchInNexus(searchParam, project) -// result = searchInJcenter(searchParam, project) +// result = searchInMavenIndexs(searchParam, project) + if (Settings.getInstance(project).useNexus) + result = searchInNexus(searchParam, project) + else + result = searchInJcenter(searchParam, project) } artifactsCaches.put(searchParam.q, result) return result @@ -221,7 +227,7 @@ class GradleArtifactSearcher { @Suppress("UNCHECKED_CAST") private fun searchByClassNameInNexus(searchParam: SearchParam, project: Project): MutableList { val result: MutableList = mutableListOf() - val url = "http://maven.aliyun.com/nexus/service/local/lucene/search?repositoryId=central&cn=${searchParam.id}" + val url = "${Settings.getInstance(project).nexusSearchUrl}?repositoryId=central&cn=${searchParam.id}" val connection = getConnection(url) connection.setRequestProperty("Accept", "application/json") val stream = getResponse(connection, project) ?: return result @@ -236,7 +242,7 @@ class GradleArtifactSearcher { return result } - private fun searchInMavenIndexs(searchParam: SearchParam, project: Project): MutableList { + private fun searchInMavenIndexes(searchParam: SearchParam, project: Project): MutableList { val result: MutableList = mutableListOf() MavenRepositoriesHolder.getInstance(project).checkNotIndexedRepositories() val m = MavenProjectIndicesManager.getInstance(project) diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleDependenciesCompletionContributor.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleDependenciesCompletionContributor.kt old mode 100644 new mode 100755 diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleKtsDependenciesCompletionContributor.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleKtsDependenciesCompletionContributor.kt old mode 100644 new mode 100755 diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradlePluginsCompletionContributor.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradlePluginsCompletionContributor.kt old mode 100644 new mode 100755 diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradlePluginsSearcher.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradlePluginsSearcher.kt old mode 100644 new mode 100755 diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleProject.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleProject.kt old mode 100644 new mode 100755 index 020addd..0632d5c --- a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleProject.kt +++ b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/GradleProject.kt @@ -1,5 +1,6 @@ package cn.bestwu.intellij.plugins.gradle.codeInsight.completion +import cn.bestwu.intellij.plugins.gradle.codeInsight.completion.config.Settings import com.intellij.openapi.application.ApplicationManager import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskId import com.intellij.openapi.externalSystem.model.task.ExternalSystemTaskNotificationListenerAdapter @@ -27,49 +28,47 @@ import java.util.stream.Collectors class ImportMavenRepositoriesTask(project: Project) : ReadTask() { - private val mavenCentralRemoteRepository: MavenRemoteRepository private var myProject: Project = project private var myDumbService: DumbService + + companion object { + fun performTask(project: Project, remoteRepositories: MutableSet) { + if (project.isDisposed) return + if (ApplicationManager.getApplication().isUnitTestMode) return + + val repositoriesHolder = MavenRepositoriesHolder.getInstance(project) +// remoteRepositories.addAll(repositoriesHolder.remoteRepositories) + repositoriesHolder.update(remoteRepositories) + MavenProjectIndicesManager.getInstance(project).scheduleUpdateIndicesList(Consumer> { indexes -> + if (project.isDisposed) return@Consumer + + val repositoriesWithEmptyIndex = indexes.stream() + .filter({ index -> + index.updateTimestamp == -1L && + index.failureMessage == null && + repositoriesHolder.contains(index.repositoryPathOrUrl) + }) + .map(MavenIndex::getRepositoryPathOrUrl) + .collect(Collectors.toList()) + repositoriesHolder.updateNotIndexedUrls(repositoriesWithEmptyIndex) + }) + } + } + init { myDumbService = DumbService.getInstance(myProject) - mavenCentralRemoteRepository = MavenRemoteRepository("central", null, "https://repo1.maven.org/maven2/", null, null, null) } @Throws(ProcessCanceledException::class) override fun runBackgroundProcess(indicator: ProgressIndicator): ReadTask.Continuation { return myDumbService.runReadActionInSmartMode { Continuation({ - performTask() + performTask(myProject, Settings.getInstance(myProject).remoteRepositories.toMutableSet()) }) } } - private fun performTask() { - if (myProject.isDisposed) return - if (ApplicationManager.getApplication().isUnitTestMode) return - -// val remoteRepository = MavenRemoteRepository("my", null, "http://127.0.0.1:8081/remote-repos/", null, null, null) - val repositoriesHolder = MavenRepositoriesHolder.getInstance(myProject) - val remoteRepositories = mutableSetOf() - remoteRepositories.addAll(repositoriesHolder.remoteRepositories) - remoteRepositories.add(mavenCentralRemoteRepository) - repositoriesHolder.update(remoteRepositories) - MavenProjectIndicesManager.getInstance(myProject).scheduleUpdateIndicesList(Consumer> { indexes -> - if (myProject.isDisposed) return@Consumer - - val repositoriesWithEmptyIndex = indexes.stream() - .filter({ index -> - index.updateTimestamp == -1L && - index.failureMessage == null && - repositoriesHolder.contains(index.repositoryPathOrUrl) - }) - .map(MavenIndex::getRepositoryPathOrUrl) - .collect(Collectors.toList()) - repositoriesHolder.updateNotIndexedUrls(repositoriesWithEmptyIndex) - }) - } - override fun onCanceled(indicator: ProgressIndicator) { if (!myProject.isDisposed) { ProgressIndicatorUtils.scheduleWithWriteActionPriority(this) @@ -81,7 +80,7 @@ class ImportMavenRepositoriesTask(project: Project) : ReadTask() { class GradleProjectStartupActivity : StartupActivity { override fun runActivity(project: Project) { - if (ApplicationManager.getApplication().isUnitTestMode) return + if (ApplicationManager.getApplication().isUnitTestMode || !Settings.getInstance(project).useMavenIndex) return ProgressIndicatorUtils.scheduleWithWriteActionPriority(ImportMavenRepositoriesTask(project)) } } @@ -91,7 +90,8 @@ class GradleMavenProjectImportNotificationListener : ExternalSystemTaskNotificat override fun onSuccess(id: ExternalSystemTaskId) { if (GradleConstants.SYSTEM_ID.id == id.projectSystemId.id && id.type == ExternalSystemTaskType.RESOLVE_PROJECT) { val project = id.findProject() ?: return - ProgressIndicatorUtils.scheduleWithWriteActionPriority(ImportMavenRepositoriesTask(project)) + if (Settings.getInstance(project).useMavenIndex) + ProgressIndicatorUtils.scheduleWithWriteActionPriority(ImportMavenRepositoriesTask(project)) } } } \ No newline at end of file diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/OpenJcenterOrMavenCentralProvider.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/OpenJcenterOrMavenCentralProvider.kt old mode 100644 new mode 100755 diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/Util.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/Util.kt old mode 100644 new mode 100755 diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/GDPHConfigurable.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/GDPHConfigurable.kt new file mode 100755 index 0000000..0bcf70c --- /dev/null +++ b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/GDPHConfigurable.kt @@ -0,0 +1,72 @@ +package cn.bestwu.intellij.plugins.gradle.codeInsight.completion.config + +import cn.bestwu.intellij.plugins.gradle.codeInsight.completion.ImportMavenRepositoriesTask +import com.intellij.openapi.options.Configurable +import com.intellij.openapi.options.ConfigurationException +import com.intellij.openapi.project.Project +import org.jetbrains.annotations.Nls +import javax.swing.JComponent + + +class GDPHConfigurable(val project: Project) : Configurable { + + private var view: ConfigurationView? = null + + @Nls + override fun getDisplayName(): String { + return "Gradle Dependencies And Plugins Helper" + } + + override fun getHelpTopic(): String? { + return "Configure the default settings for the Gradle Dependencies And Plugins Helper" + } + + override fun createComponent(): JComponent? { + if (view == null) { + view = ConfigurationView() + } + + // Reset on click. + view!!.resetButton.addActionListener { + view!!.useNexus = Settings.useNexus + view!!.useMavenIndex = Settings.useMavenIndex + view!!.nexusSearchUrlField = Settings.nexusSearchUrl + view!!.remoteRepositories = Settings.remoteRepositories + } + + reset() + + return view!!.dpPanel + } + + override fun isModified(): Boolean { + val settings = Settings.getInstance(project) + return settings.useNexus != view!!.useNexus || settings.useMavenIndex != view!!.useMavenIndex || settings.nexusSearchUrl != view!!.nexusSearchUrlField || settings.remoteRepositories == view!!.remoteRepositories + } + + @Throws(ConfigurationException::class) + override fun apply() { + val settings = Settings.getInstance(project) + settings.useNexus = view!!.useNexus + settings.useMavenIndex = view!!.useMavenIndex + settings.nexusSearchUrl = view!!.nexusSearchUrlField + settings.remoteRepositories = view!!.remoteRepositories + if (settings.useMavenIndex) { + ImportMavenRepositoriesTask.performTask(project, settings.remoteRepositories) + } else { + ImportMavenRepositoriesTask.performTask(project, mutableSetOf()) + } + } + + override fun reset() { + val settings = Settings.getInstance(project) + view!!.useNexus = settings.useNexus + view!!.useMavenIndex = settings.useMavenIndex + view!!.nexusSearchUrlField = settings.nexusSearchUrl + view!!.remoteRepositories = settings.remoteRepositories + } + + override fun disposeUIResources() { + view = null + } +} diff --git a/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/Settings.kt b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/Settings.kt new file mode 100755 index 0000000..c1cb04d --- /dev/null +++ b/src/main/kotlin/cn/bestwu/intellij/plugins/gradle/codeInsight/completion/config/Settings.kt @@ -0,0 +1,39 @@ +package cn.bestwu.intellij.plugins.gradle.codeInsight.completion.config + +import com.intellij.openapi.components.PersistentStateComponent +import com.intellij.openapi.components.ServiceManager +import com.intellij.openapi.components.Storage +import com.intellij.openapi.project.Project +import org.jetbrains.idea.maven.model.MavenRemoteRepository +import java.util.* + +@com.intellij.openapi.components.State( + name = "GDPHConfig", + storages = arrayOf(Storage("gdph.xml")) +) +class Settings(var useNexus: Boolean = Settings.useNexus, var nexusSearchUrl: String = Settings.nexusSearchUrl, var useMavenIndex: Boolean = Settings.useMavenIndex, var remoteRepositories: MutableSet = Settings.remoteRepositories) : PersistentStateComponent { + override fun loadState(state: Settings?) { + this.useNexus = state?.useNexus ?: Settings.useNexus + this.useMavenIndex = state?.useMavenIndex ?: Settings.useMavenIndex + this.remoteRepositories = state?.remoteRepositories ?: Settings.remoteRepositories + this.nexusSearchUrl = state?.nexusSearchUrl ?: Settings.nexusSearchUrl + } + + override fun getState(): Settings? { + return this + } + + companion object { + val useNexus: Boolean = Locale.getDefault() == Locale.CHINA + val useMavenIndex: Boolean = false + val nexusSearchUrl: String = "http://maven.aliyun.com/nexus/service/local/lucene/search" + val mavenCentralRemoteRepository = MavenRemoteRepository("central", null, "https://repo1.maven.org/maven2/", null, null, null) + val remoteRepositories = mutableSetOf(mavenCentralRemoteRepository) + + fun getInstance(project: Project): Settings { + return ServiceManager.getService(project, Settings::class.java) + } + } + + +} diff --git a/src/main/resources/META-INF/plugin.xml b/src/main/resources/META-INF/plugin.xml old mode 100644 new mode 100755 index 58ca7f7..0339c8f --- a/src/main/resources/META-INF/plugin.xml +++ b/src/main/resources/META-INF/plugin.xml @@ -26,6 +26,7 @@
  • 0.0.2
    + Add Maven Index search option.
    Add Nexus search option.
    Support search by classname in mavenCentral search.
    use "c:"(classname) or "fc:"( fully-qualified classname ) in dependencies/plugins script block
    @@ -44,7 +45,7 @@ ]]> - + + + + + diff --git a/src/main/resources/icons/repo.png b/src/main/resources/icons/repo.png old mode 100644 new mode 100755 diff --git a/src/test/kotlin/ResultTest.kt b/src/test/kotlin/ResultTest.kt old mode 100644 new mode 100755 index 55aaf4a..743f770 --- a/src/test/kotlin/ResultTest.kt +++ b/src/test/kotlin/ResultTest.kt @@ -1,3 +1,4 @@ + import cn.bestwu.intellij.plugins.gradle.codeInsight.completion.ArtifactInfo import cn.bestwu.intellij.plugins.gradle.codeInsight.completion.GradleArtifactSearcher import groovy.json.JsonSlurper @@ -117,7 +118,17 @@ class ParseResultTest { } println(jsonResult.size) } -// find e + + @Test + fun local() { + println(Locale.getDefault()) + println(Locale.CHINESE) + println(Locale.getDefault()== Locale.CHINA) + println(Locale.getDefault()== Locale.CHINESE) + println(Locale.getDefault()== Locale.SIMPLIFIED_CHINESE) + } + + // find e //var e = element // var i = 0 // do { diff --git a/src/test/resources/result.json b/src/test/resources/result.json old mode 100644 new mode 100755