mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
Javafx: Migration to JDK 9 (IDEA-157536)
This commit is contained in:
@@ -37,7 +37,7 @@ import java.util.ArrayList;
|
||||
/**
|
||||
* @author ven
|
||||
*/
|
||||
class MigrationProcessor extends BaseRefactoringProcessor {
|
||||
public class MigrationProcessor extends BaseRefactoringProcessor {
|
||||
private static final Logger LOG = Logger.getInstance("#com.intellij.refactoring.migration.MigrationProcessor");
|
||||
private final MigrationMap myMigrationMap;
|
||||
private static final String REFACTORING_NAME = RefactoringBundle.message("migration.title");
|
||||
@@ -103,7 +103,7 @@ class MigrationProcessor extends BaseRefactoringProcessor {
|
||||
myPsiMigration.finish();
|
||||
myPsiMigration = null;
|
||||
}
|
||||
return usagesVector.toArray(new MigrationUsageInfo[usagesVector.size()]);
|
||||
return usagesVector.toArray(UsageInfo.EMPTY_ARRAY);
|
||||
}
|
||||
|
||||
protected boolean preprocessUsages(@NotNull Ref<UsageInfo[]> refUsages) {
|
||||
@@ -147,10 +147,10 @@ class MigrationProcessor extends BaseRefactoringProcessor {
|
||||
return REFACTORING_NAME;
|
||||
}
|
||||
|
||||
public static class MigrationUsageInfo extends UsageInfo {
|
||||
public MigrationMapEntry mapEntry;
|
||||
static class MigrationUsageInfo extends UsageInfo {
|
||||
MigrationMapEntry mapEntry;
|
||||
|
||||
public MigrationUsageInfo(UsageInfo info, MigrationMapEntry mapEntry) {
|
||||
MigrationUsageInfo(UsageInfo info, MigrationMapEntry mapEntry) {
|
||||
super(info.getElement(), info.getRangeInElement().getStartOffset(), info.getRangeInElement().getEndOffset());
|
||||
this.mapEntry = mapEntry;
|
||||
}
|
||||
|
||||
+45
@@ -0,0 +1,45 @@
|
||||
package org.jetbrains.plugins.javaFX.fxml;
|
||||
|
||||
import com.intellij.openapi.application.PluginPathManager;
|
||||
import com.intellij.openapi.fileEditor.FileDocumentManager;
|
||||
import com.intellij.refactoring.migration.MigrationMap;
|
||||
import com.intellij.refactoring.migration.MigrationMapSet;
|
||||
import com.intellij.refactoring.migration.MigrationProcessor;
|
||||
import com.intellij.testFramework.fixtures.LightCodeInsightFixtureTestCase;
|
||||
import com.intellij.util.containers.ContainerUtil;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
/**
|
||||
* @author Pavel.Dolgov
|
||||
*/
|
||||
public class JavaFxMigrationTest extends LightCodeInsightFixtureTestCase {
|
||||
|
||||
public void testImportClasses() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testImportSkinPackage() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
public void testImportCssPackage() throws Exception {
|
||||
doTest();
|
||||
}
|
||||
|
||||
private void doTest() {
|
||||
myFixture.configureByFile(getTestName(false) + ".java");
|
||||
MigrationMap[] maps = new MigrationMapSet().getMaps();
|
||||
MigrationMap migrationMap = ContainerUtil.find(maps, m -> "JavaFX (8 -> 9)".equals(m.getName()));
|
||||
assertNotNull(migrationMap);
|
||||
|
||||
new MigrationProcessor(getProject(), migrationMap).run();
|
||||
FileDocumentManager.getInstance().saveAllDocuments();
|
||||
myFixture.checkResultByFile(getTestName(false) + "_after.java");
|
||||
}
|
||||
|
||||
@NotNull
|
||||
@Override
|
||||
protected String getTestDataPath() {
|
||||
return PluginPathManager.getPluginHomePath("javaFX") + "/testData/migration/";
|
||||
}
|
||||
}
|
||||
@@ -64,6 +64,7 @@
|
||||
<javaMainMethodProvider implementation="org.jetbrains.plugins.javaFX.JavaFxMainMethodRunConfigurationProvider"/>
|
||||
<deadCode implementation="org.jetbrains.plugins.javaFX.JavaFxEntryPoint"/>
|
||||
<projectSdkSetupValidator implementation="org.jetbrains.plugins.javaFX.JavaFxProjectSdkSetupValidator" order="after javaSdk"/>
|
||||
<predefinedMigrationMapProvider implementation="org.jetbrains.plugins.javaFX.refactoring.migration.JavaFx9Migration"/>
|
||||
</extensions>
|
||||
|
||||
<actions>
|
||||
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0"?>
|
||||
|
||||
<migrationMap>
|
||||
<name value="JavaFX (8 -> 9)"/>
|
||||
<description value="Fix imports of JavaFX API classes according to JEP 253. Note that a few classes are no longer public."/>
|
||||
<entry oldName="com.sun.javafx.scene.control.skin" newName="javafx.scene.control.skin" type="package"/>
|
||||
<entry oldName="com.sun.javafx.css" newName="javafx.css" type="package"/>
|
||||
</migrationMap>
|
||||
+17
@@ -0,0 +1,17 @@
|
||||
package org.jetbrains.plugins.javaFX.refactoring.migration;
|
||||
|
||||
import com.intellij.refactoring.migration.PredefinedMigrationProvider;
|
||||
import org.jetbrains.annotations.NotNull;
|
||||
|
||||
import java.net.URL;
|
||||
|
||||
/**
|
||||
* @author Pavel.Dolgov
|
||||
*/
|
||||
public class JavaFx9Migration implements PredefinedMigrationProvider {
|
||||
@NotNull
|
||||
@Override
|
||||
public URL getMigrationMap() {
|
||||
return JavaFx9Migration.class.getResource("JavaFx8__9.xml");
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import com.sun.javafx.css.CompoundSelector;
|
||||
import com.sun.javafx.scene.control.skin.AccordionSkin;
|
||||
|
||||
class ImportClasses {
|
||||
CompoundSelector compoundSelector;
|
||||
AccordionSkin accordionSkin;
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import javafx.css.CompoundSelector;
|
||||
import javafx.scene.control.skin.AccordionSkin;
|
||||
|
||||
class ImportClasses {
|
||||
CompoundSelector compoundSelector;
|
||||
AccordionSkin accordionSkin;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import com.sun.javafx.css.*;
|
||||
|
||||
class ImportSkinPackage {
|
||||
CompoundSelector compoundSelector;
|
||||
SimpleSelector simpleSelector;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import javafx.css.*;
|
||||
|
||||
class ImportSkinPackage {
|
||||
CompoundSelector compoundSelector;
|
||||
SimpleSelector simpleSelector;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import com.sun.javafx.scene.control.skin.*;
|
||||
|
||||
class ImportSkinPackage {
|
||||
ButtonBarSkin buttonBarSkin;
|
||||
ChoiceBoxSkin choiceBoxSkin;
|
||||
}
|
||||
@@ -0,0 +1,6 @@
|
||||
import javafx.scene.control.skin.*;
|
||||
|
||||
class ImportSkinPackage {
|
||||
ButtonBarSkin buttonBarSkin;
|
||||
ChoiceBoxSkin choiceBoxSkin;
|
||||
}
|
||||
Reference in New Issue
Block a user