Link Here
|
52 |
import java.util.Map; |
52 |
import java.util.Map; |
53 |
import java.util.logging.Level; |
53 |
import java.util.logging.Level; |
54 |
import java.util.logging.Logger; |
54 |
import java.util.logging.Logger; |
55 |
import org.netbeans.editor.SideBarFactory; |
|
|
56 |
import org.netbeans.modules.editor.impl.CustomizableSideBar.SideBarPosition; |
55 |
import org.netbeans.modules.editor.impl.CustomizableSideBar.SideBarPosition; |
57 |
import org.netbeans.spi.editor.mimelookup.InstanceProvider; |
56 |
import org.netbeans.spi.editor.mimelookup.InstanceProvider; |
58 |
import org.netbeans.spi.editor.mimelookup.MimeLocation; |
57 |
import org.netbeans.spi.editor.mimelookup.MimeLocation; |
Link Here
|
72 |
public static final String SIDEBAR_COMPONENTS_FOLDER_NAME = "SideBar"; //NOI18N |
71 |
public static final String SIDEBAR_COMPONENTS_FOLDER_NAME = "SideBar"; //NOI18N |
73 |
|
72 |
|
74 |
private final List<FileObject> instanceFiles; |
73 |
private final List<FileObject> instanceFiles; |
75 |
private Map<CustomizableSideBar.SideBarPosition, List<SideBarFactory>> factories; |
74 |
private Map<CustomizableSideBar.SideBarPosition, List> factories; |
76 |
|
75 |
|
77 |
public SideBarFactoriesProvider() { |
76 |
public SideBarFactoriesProvider() { |
78 |
this(Collections.<FileObject>emptyList()); |
77 |
this(Collections.<FileObject>emptyList()); |
Link Here
|
82 |
this.instanceFiles = instanceFiles; |
81 |
this.instanceFiles = instanceFiles; |
83 |
} |
82 |
} |
84 |
|
83 |
|
85 |
public Map<CustomizableSideBar.SideBarPosition, List<SideBarFactory>> getFactories() { |
84 |
public Map<CustomizableSideBar.SideBarPosition, List> getFactories() { |
86 |
if (factories == null) { |
85 |
if (factories == null) { |
87 |
factories = computeInstances(); |
86 |
factories = computeInstances(); |
88 |
} |
87 |
} |
Link Here
|
93 |
return new SideBarFactoriesProvider(fileObjectList); |
92 |
return new SideBarFactoriesProvider(fileObjectList); |
94 |
} |
93 |
} |
95 |
|
94 |
|
96 |
private Map<CustomizableSideBar.SideBarPosition, List<SideBarFactory>> computeInstances() { |
95 |
@SuppressWarnings({"deprecation", "unchecked"}) |
97 |
Map <CustomizableSideBar.SideBarPosition, List<SideBarFactory>> factoriesMap = new HashMap<CustomizableSideBar.SideBarPosition, List<SideBarFactory>>(); |
96 |
private Map<CustomizableSideBar.SideBarPosition, List> computeInstances() { |
|
|
97 |
Map <CustomizableSideBar.SideBarPosition, List> factoriesMap = new HashMap<CustomizableSideBar.SideBarPosition, List>(); |
98 |
|
98 |
|
99 |
for(FileObject f : instanceFiles) { |
99 |
for(FileObject f : instanceFiles) { |
100 |
SideBarFactory factory = null; |
100 |
org.netbeans.editor.SideBarFactory factory = null; |
|
|
101 |
org.netbeans.spi.editor.SideBarFactory factory2 = null; |
101 |
|
102 |
|
102 |
if (!f.isValid() || !f.isData()) { |
103 |
if (!f.isValid() || !f.isData()) { |
103 |
continue; |
104 |
continue; |
Link Here
|
105 |
|
106 |
|
106 |
try { |
107 |
try { |
107 |
DataObject dob = DataObject.find(f); |
108 |
DataObject dob = DataObject.find(f); |
108 |
InstanceCookie ic = dob.getCookie(InstanceCookie.class); |
109 |
InstanceCookie.Of ic = dob.getCookie(InstanceCookie.Of.class); |
109 |
if (ic != null && SideBarFactory.class.isAssignableFrom(ic.instanceClass())) { |
110 |
if (ic != null) { |
110 |
factory = (SideBarFactory) ic.instanceCreate(); |
111 |
if (ic.instanceOf(org.netbeans.editor.SideBarFactory.class)) { |
|
|
112 |
factory = (org.netbeans.editor.SideBarFactory) ic.instanceCreate(); |
113 |
} else if (ic.instanceOf(org.netbeans.spi.editor.SideBarFactory.class)) { |
114 |
factory2 = (org.netbeans.spi.editor.SideBarFactory) ic.instanceCreate(); |
115 |
} |
111 |
} |
116 |
} |
112 |
} catch (ClassNotFoundException cnfe) { |
117 |
} catch (ClassNotFoundException cnfe) { |
113 |
LOG.log(Level.INFO, null, cnfe); |
118 |
LOG.log(Level.INFO, null, cnfe); |
Link Here
|
117 |
continue; |
122 |
continue; |
118 |
} |
123 |
} |
119 |
|
124 |
|
120 |
if (factory != null) { |
125 |
if (factory != null || factory2 != null) { |
121 |
SideBarPosition position = new SideBarPosition(f); |
126 |
SideBarPosition position = new SideBarPosition(f); |
122 |
List<SideBarFactory> factoriesList = factoriesMap.get(position); |
127 |
List factoriesList = factoriesMap.get(position); |
123 |
|
128 |
|
124 |
if (factoriesList == null) { |
129 |
if (factoriesList == null) { |
125 |
factoriesList = new ArrayList<SideBarFactory>(); |
130 |
factoriesList = new ArrayList(); |
126 |
factoriesMap.put(position, factoriesList); |
131 |
factoriesMap.put(position, factoriesList); |
127 |
} |
132 |
} |
128 |
|
133 |
if (factory != null) { |
129 |
factoriesList.add(factory); |
134 |
factoriesList.add(factory); |
|
|
135 |
} else { |
136 |
factoriesList.add(factory2); |
137 |
} |
130 |
} |
138 |
} |
131 |
} |
139 |
} |
132 |
|
140 |
|