# HG changeset patch
# Parent 0f595d315a628b4010fce7d1da8393d761b3d2aa
hinter to MIMEResolver.Registration
diff --git a/apisupport.refactoring/nbproject/project.xml b/apisupport.refactoring/nbproject/project.xml
--- a/apisupport.refactoring/nbproject/project.xml
+++ b/apisupport.refactoring/nbproject/project.xml
@@ -1,4 +1,4 @@
-
+
-
- org.netbeans.modules.apisupport.project
-
-
- org.netbeans.modules.apisupport.refactoring
-
-
- org.netbeans.api.annotations.common
-
-
-
- 1
- 1.6
-
-
-
- org.netbeans.api.java
-
-
-
- 1
- 1.18
-
-
-
- org.netbeans.api.java.classpath
-
-
-
- 1
- 1.0
-
-
-
- org.netbeans.libs.javacapi
-
-
-
- 0.5
-
-
-
- org.netbeans.modules.apisupport.project
-
-
-
- 1
- 1.33
-
-
-
- org.netbeans.modules.editor.errorstripe.api
-
-
-
- 1
- 2.14
-
-
-
- org.netbeans.modules.editor.mimelookup
-
-
-
- 1
- 1.20
-
-
-
- org.netbeans.modules.java.project
-
-
-
- 1
- 1.10
-
-
-
- org.netbeans.modules.java.source
-
-
-
- 0.99
-
-
-
- org.netbeans.modules.projectapi
-
-
-
- 1
- 1.6
-
-
-
- org.netbeans.modules.projectuiapi
-
-
-
- 1
- 1.34
-
-
-
- org.netbeans.modules.queries
-
-
-
- 1
- 1.8
-
-
-
- org.netbeans.modules.refactoring.api
-
-
-
- 1.0
-
-
-
- org.netbeans.spi.editor.hints
-
-
-
- 0
- 1.15
-
-
-
- org.netbeans.spi.java.hints
-
-
-
- 1.0
-
-
-
- org.openide.awt
-
-
-
- 7.33
-
-
-
- org.openide.dialogs
-
-
-
- 7.17
-
-
-
- org.openide.filesystems
-
-
-
- 7.57
-
-
-
- org.openide.loaders
-
-
-
- 5.5
-
-
-
- org.openide.nodes
-
-
-
- 7.23
-
-
-
- org.openide.text
-
-
-
- 6.16
-
-
-
- org.openide.util
-
-
-
- 8.0
-
-
-
- org.openide.util.lookup
-
-
-
- 8.0
-
-
-
- org.openide.windows
-
-
-
- 6.2
-
-
-
-
-
- qa-functional
-
- org.netbeans.api.java
-
-
-
- org.netbeans.api.java.classpath
-
-
-
- org.netbeans.libs.junit4
-
-
-
- org.netbeans.modules.nbjunit
-
-
-
-
- org.openide.filesystems
-
-
-
- org.openide.loaders
-
-
-
- org.openide.nodes
-
-
-
- org.openide.text
-
-
-
- org.openide.util
-
-
-
- org.openide.util.lookup
-
-
-
-
- unit
-
- org.netbeans.libs.junit4
-
-
-
- org.netbeans.modules.java.hints.test
-
-
-
-
-
-
-
-
+-->
+
+ org.netbeans.modules.apisupport.project
+
+
+ org.netbeans.modules.apisupport.refactoring
+
+
+ org.netbeans.api.annotations.common
+
+
+
+ 1
+ 1.6
+
+
+
+ org.netbeans.api.java
+
+
+
+ 1
+ 1.18
+
+
+
+ org.netbeans.api.java.classpath
+
+
+
+ 1
+ 1.0
+
+
+
+ org.netbeans.libs.javacapi
+
+
+
+ 0.5
+
+
+
+ org.netbeans.modules.apisupport.project
+
+
+
+ 1
+ 1.33
+
+
+
+ org.netbeans.modules.editor.errorstripe.api
+
+
+
+ 1
+ 2.14
+
+
+
+ org.netbeans.modules.editor.mimelookup
+
+
+
+ 1
+ 1.20
+
+
+
+ org.netbeans.modules.java.project
+
+
+
+ 1
+ 1.10
+
+
+
+ org.netbeans.modules.java.source
+
+
+
+ 0.99
+
+
+
+ org.netbeans.modules.projectapi
+
+
+
+ 1
+ 1.6
+
+
+
+ org.netbeans.modules.projectuiapi
+
+
+
+ 1
+ 1.34
+
+
+
+ org.netbeans.modules.queries
+
+
+
+ 1
+ 1.8
+
+
+
+ org.netbeans.modules.refactoring.api
+
+
+
+ 1.0
+
+
+
+ org.netbeans.spi.editor.hints
+
+
+
+ 0
+ 1.15
+
+
+
+ org.netbeans.spi.java.hints
+
+
+
+ 1.0
+
+
+
+ org.openide.awt
+
+
+
+ 7.33
+
+
+
+ org.openide.dialogs
+
+
+
+ 7.17
+
+
+
+ org.openide.filesystems
+
+
+
+ 7.57
+
+
+
+ org.openide.loaders
+
+
+
+ 5.5
+
+
+
+ org.openide.nodes
+
+
+
+ 7.23
+
+
+
+ org.openide.text
+
+
+
+ 6.16
+
+
+
+ org.openide.util
+
+
+
+ 8.0
+
+
+
+ org.openide.util.lookup
+
+
+
+ 8.0
+
+
+
+ org.openide.windows
+
+
+
+ 6.2
+
+
+
+
+
+ qa-functional
+
+ org.netbeans.api.java
+
+
+
+ org.netbeans.api.java.classpath
+
+
+
+ org.netbeans.libs.junit4
+
+
+
+ org.netbeans.modules.nbjunit
+
+
+
+
+ org.openide.filesystems
+
+
+
+ org.openide.loaders
+
+
+
+ org.openide.nodes
+
+
+
+ org.openide.text
+
+
+
+ org.openide.util
+
+
+
+ org.openide.util.lookup
+
+
+
+
+ unit
+
+ org.netbeans.insane
+
+
+
+ org.netbeans.libs.junit4
+
+
+
+ org.netbeans.modules.java.hints.test
+
+
+
+ org.netbeans.modules.nbjunit
+
+
+
+
+
+
+
+
diff --git a/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/DataObjectRegistrationHinter.java b/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/DataObjectRegistrationHinter.java
--- a/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/DataObjectRegistrationHinter.java
+++ b/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/DataObjectRegistrationHinter.java
@@ -73,6 +73,7 @@
import com.sun.source.tree.ModifiersTree;
import com.sun.source.tree.NewArrayTree;
import com.sun.source.tree.Tree;
+import org.openide.filesystems.FileStateInvalidException;
/**
* #207219: {@code DataObject.Registration} conversion.
@@ -117,30 +118,10 @@
String actionsMime = Utility.getMimeTypeFromActionsPath(file.getPath());
//
// try get DataObject / DataObject.Factory available in this project
- Map> visibleLoaderFactories = new HashMap>();
+ Map> visibleLoaderFactories = Utility.getVisibleLoader(ctx, file);
FileObject startingPath = file.getFileSystem().findResource(LOADERS_FOLDER);
if (startingPath != null) {
- for (FileObject aLoadersFileObject : NbCollections.iterable(startingPath.getChildren(true))) {
- if (aLoadersFileObject.getPath().contains(FACTORIES_FOLDER)) { // its a factory
- final Object instanceCreate = ctx.instanceAttribute(aLoadersFileObject);
- if (instanceCreate != null) {
-
- if (!METHOD_DOPOOL_FACTORY.equals(instanceCreate)) {
-
- String ic = instanceCreate.toString();
-
- if (visibleLoaderFactories.containsKey(ic)) {
- visibleLoaderFactories.get(ic).add(Utility.getMimeTypeFromFactoryPath(aLoadersFileObject.getPath()));
- } else {
- List mime = new LinkedList();
- mime.add(Utility.getMimeTypeFromFactoryPath(aLoadersFileObject.getPath()));
- visibleLoaderFactories.put(ic, mime);
- }
- }
- }
- }
- }
if (visibleLoaderFactories.isEmpty()) {
ctx.addHint(Severity.VERIFIER, DataObjectRegistrationHinter_no_DataObject());
} else {
@@ -490,5 +471,32 @@
private static String getMimeTypeFromActionsPath(String path) {
return getMime(path, ACTIONS_FOLDER);
}
+
+ protected static Map> getVisibleLoader(final Context ctx, final FileObject file) throws FileStateInvalidException {
+ Map> visibleLoaderFactories = new HashMap>();
+ FileObject startingPath = file.getFileSystem().findResource(LOADERS_FOLDER);
+ for (FileObject aLoadersFileObject : NbCollections.iterable(startingPath.getChildren(true))) {
+ if (aLoadersFileObject.getPath().contains(FACTORIES_FOLDER)) { // its a factory
+
+ final Object instanceCreate = ctx.instanceAttribute(aLoadersFileObject);
+ if (instanceCreate != null) {
+
+ if (!METHOD_DOPOOL_FACTORY.equals(instanceCreate)) {
+
+ String ic = instanceCreate.toString();
+
+ if (visibleLoaderFactories.containsKey(ic)) {
+ visibleLoaderFactories.get(ic).add(Utility.getMimeTypeFromFactoryPath(aLoadersFileObject.getPath()));
+ } else {
+ List mime = new LinkedList();
+ mime.add(Utility.getMimeTypeFromFactoryPath(aLoadersFileObject.getPath()));
+ visibleLoaderFactories.put(ic, mime);
+ }
+ }
+ }
+ }
+ }
+ return visibleLoaderFactories;
+ }
}
}
diff --git a/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/Hinter.java b/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/Hinter.java
--- a/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/Hinter.java
+++ b/apisupport.refactoring/src/org/netbeans/modules/apisupport/hints/Hinter.java
@@ -323,6 +323,55 @@
}
}
+
+ public void findAndModifyMultipleDeclaration(Map