# HG changeset patch # Parent ce6bc81690ff22d02d93d425763ce3ab817891c3 diff --git a/editor.lib/apichanges.xml b/editor.lib/apichanges.xml --- a/editor.lib/apichanges.xml +++ b/editor.lib/apichanges.xml @@ -107,6 +107,21 @@ + + SidebarFactory interface moved to editor.lib2 + + + + + +

The interface org.netbeans.editor.SideBarFactory was + adopted to editor.lib2. The original interface was + deprecated. Clients should start using the moved interface. +

+
+ + +
Moving find implementations to module editor.search diff --git a/editor.lib/nbproject/project.properties b/editor.lib/nbproject/project.properties --- a/editor.lib/nbproject/project.properties +++ b/editor.lib/nbproject/project.properties @@ -42,7 +42,7 @@ javac.compilerargs=-Xlint:unchecked javac.source=1.6 -spec.version.base=3.36.0 +spec.version.base=3.37.0 is.autoload=true javadoc.arch=${basedir}/arch.xml diff --git a/editor.lib/src/org/netbeans/editor/SideBarFactory.java b/editor.lib/src/org/netbeans/editor/SideBarFactory.java --- a/editor.lib/src/org/netbeans/editor/SideBarFactory.java +++ b/editor.lib/src/org/netbeans/editor/SideBarFactory.java @@ -51,9 +51,11 @@ /** * This interface should implement all components that need to be added * in the editor sidebar. Known implementing class is i.e GlyphGutter. - * + * * @author Martin Roskanin + * @deprecated use {@link org.netbeans.spi.editor.SideBarFactory} from editor.lib2 module. */ +@Deprecated @MimeLocation(subfolderName="SideBar") public interface SideBarFactory { diff --git a/editor.lib2/apichanges.xml b/editor.lib2/apichanges.xml --- a/editor.lib2/apichanges.xml +++ b/editor.lib2/apichanges.xml @@ -107,6 +107,21 @@ + + SidebarFactory interface adopted + + + + + +

The interface org.netbeans.spi.editor.SideBarFactory was + adopted from the legacy editor.lib module, with unchanged semantic. + The original interface was deprecated. +

+
+ + +
Added EditorActionRegistration.noKeyBinding and EditorActionRegistration.noIconInMenu diff --git a/editor.lib2/nbproject/project.properties b/editor.lib2/nbproject/project.properties --- a/editor.lib2/nbproject/project.properties +++ b/editor.lib2/nbproject/project.properties @@ -43,7 +43,7 @@ is.autoload=true javac.source=1.6 javac.compilerargs=-Xlint:unchecked -spec.version.base=1.75.0 +spec.version.base=1.76.0 javadoc.arch=${basedir}/arch.xml javadoc.apichanges=${basedir}/apichanges.xml diff --git a/editor.lib2/nbproject/project.xml b/editor.lib2/nbproject/project.xml --- a/editor.lib2/nbproject/project.xml +++ b/editor.lib2/nbproject/project.xml @@ -194,6 +194,7 @@ org.netbeans.api.editor org.netbeans.api.editor.document + org.netbeans.spi.editor org.netbeans.spi.editor.codegen org.netbeans.spi.editor.document org.netbeans.spi.editor.highlighting diff --git a/editor.lib/src/org/netbeans/editor/SideBarFactory.java b/editor.lib2/src/org/netbeans/spi/editor/SideBarFactory.java copy from editor.lib/src/org/netbeans/editor/SideBarFactory.java copy to editor.lib2/src/org/netbeans/spi/editor/SideBarFactory.java --- a/editor.lib/src/org/netbeans/editor/SideBarFactory.java +++ b/editor.lib2/src/org/netbeans/spi/editor/SideBarFactory.java @@ -42,7 +42,7 @@ * made subject to such option by the copyright holder. */ -package org.netbeans.editor; +package org.netbeans.spi.editor; import javax.swing.JComponent; import javax.swing.text.JTextComponent; @@ -51,12 +51,11 @@ /** * This interface should implement all components that need to be added * in the editor sidebar. Known implementing class is i.e GlyphGutter. - * + * * @author Martin Roskanin */ @MimeLocation(subfolderName="SideBar") public interface SideBarFactory { - public JComponent createSideBar(JTextComponent target); } diff --git a/editor/src/org/netbeans/modules/editor/NbEditorKit.java b/editor/src/org/netbeans/modules/editor/NbEditorKit.java --- a/editor/src/org/netbeans/modules/editor/NbEditorKit.java +++ b/editor/src/org/netbeans/modules/editor/NbEditorKit.java @@ -86,7 +86,6 @@ import org.netbeans.api.editor.settings.SimpleValueNames; import org.netbeans.editor.ActionFactory; import org.netbeans.editor.EditorUI; -import org.netbeans.editor.SideBarFactory; import org.netbeans.editor.ext.ExtKit; import org.netbeans.modules.editor.impl.CustomizableSideBar.SideBarPosition; import org.openide.awt.DynamicMenuContent; @@ -950,10 +949,10 @@ @Override public Object call() { - Map> factoriesMap = CustomizableSideBar.getFactoriesMap(getContentType()); + Map factoriesMap = CustomizableSideBar.getFactoriesMap(getContentType()); //initialize all factories - for (Entry> e : factoriesMap.entrySet()) { - for (SideBarFactory f : e.getValue()) { + for (Entry e : factoriesMap.entrySet()) { + for (Object f : e.getValue()) { if (f instanceof MimeTypeInitializer) { //TODO: SideBarFactory should probably implement MimeTypeInitializer try { ((MimeTypeInitializer) f).init(getContentType()); diff --git a/editor/src/org/netbeans/modules/editor/impl/CustomizableSideBar.java b/editor/src/org/netbeans/modules/editor/impl/CustomizableSideBar.java --- a/editor/src/org/netbeans/modules/editor/impl/CustomizableSideBar.java +++ b/editor/src/org/netbeans/modules/editor/impl/CustomizableSideBar.java @@ -66,7 +66,6 @@ import javax.swing.text.JTextComponent; import org.netbeans.api.editor.mimelookup.MimeLookup; import org.netbeans.api.editor.mimelookup.MimePath; -import org.netbeans.editor.SideBarFactory; import org.netbeans.editor.WeakEventListenerList; import org.openide.filesystems.FileObject; import org.openide.util.Lookup; @@ -212,9 +211,10 @@ } } + @SuppressWarnings("deprecation") private static Map> createSideBarsMap(JTextComponent target) { String mimeType = NbEditorUtilities.getMimeType(target); - Map> factoriesMap = getFactoriesMap(mimeType); + Map factoriesMap = getFactoriesMap(mimeType); Map> sideBarsMap = new HashMap>(factoriesMap.size()); Collection locations = null; @@ -232,7 +232,7 @@ !locations.contains(pos.getPositionName())) { continue; } - List factoriesList = factoriesMap.get(pos); + List factoriesList = factoriesMap.get(pos); // Get sideBars list List sideBars = sideBarsMap.get(pos); @@ -242,8 +242,16 @@ } // Create side bars from the factories for this position - for(SideBarFactory f : factoriesList) { - JComponent sideBar = f.createSideBar(target); + for(Object f : factoriesList) { + final JComponent sideBar; + if (f instanceof org.netbeans.editor.SideBarFactory) { + sideBar = ((org.netbeans.editor.SideBarFactory)f).createSideBar(target); + } else if (f instanceof org.netbeans.spi.editor.SideBarFactory) { + sideBar = ((org.netbeans.spi.editor.SideBarFactory)f).createSideBar(target); + } else { + LOG.fine("Unexpected sidebar instance: " + f); + continue; + } if (sideBar == null) { LOG.fine("Ignoring null side bar created by the factory: " + f); //NOI18N continue; @@ -265,7 +273,7 @@ return sideBarsMap; } - public static Map> getFactoriesMap(String mimeType) { + public static Map getFactoriesMap(String mimeType) { MimePath mimePath = MimePath.parse(mimeType); Lookup.Result lR = LR.get(mimePath); diff --git a/editor/src/org/netbeans/modules/editor/impl/SideBarFactoriesProvider.java b/editor/src/org/netbeans/modules/editor/impl/SideBarFactoriesProvider.java --- a/editor/src/org/netbeans/modules/editor/impl/SideBarFactoriesProvider.java +++ b/editor/src/org/netbeans/modules/editor/impl/SideBarFactoriesProvider.java @@ -52,7 +52,6 @@ import java.util.Map; import java.util.logging.Level; import java.util.logging.Logger; -import org.netbeans.editor.SideBarFactory; import org.netbeans.modules.editor.impl.CustomizableSideBar.SideBarPosition; import org.netbeans.spi.editor.mimelookup.InstanceProvider; import org.netbeans.spi.editor.mimelookup.MimeLocation; @@ -72,7 +71,7 @@ public static final String SIDEBAR_COMPONENTS_FOLDER_NAME = "SideBar"; //NOI18N private final List instanceFiles; - private Map> factories; + private Map factories; public SideBarFactoriesProvider() { this(Collections.emptyList()); @@ -82,7 +81,7 @@ this.instanceFiles = instanceFiles; } - public Map> getFactories() { + public Map getFactories() { if (factories == null) { factories = computeInstances(); } @@ -93,11 +92,13 @@ return new SideBarFactoriesProvider(fileObjectList); } - private Map> computeInstances() { - Map > factoriesMap = new HashMap>(); + @SuppressWarnings({"deprecation", "unchecked"}) + private Map computeInstances() { + Map factoriesMap = new HashMap(); for(FileObject f : instanceFiles) { - SideBarFactory factory = null; + org.netbeans.editor.SideBarFactory factory = null; + org.netbeans.spi.editor.SideBarFactory factory2 = null; if (!f.isValid() || !f.isData()) { continue; @@ -105,9 +106,13 @@ try { DataObject dob = DataObject.find(f); - InstanceCookie ic = dob.getCookie(InstanceCookie.class); - if (ic != null && SideBarFactory.class.isAssignableFrom(ic.instanceClass())) { - factory = (SideBarFactory) ic.instanceCreate(); + InstanceCookie.Of ic = dob.getCookie(InstanceCookie.Of.class); + if (ic != null) { + if (ic.instanceOf(org.netbeans.editor.SideBarFactory.class)) { + factory = (org.netbeans.editor.SideBarFactory) ic.instanceCreate(); + } else if (ic.instanceOf(org.netbeans.spi.editor.SideBarFactory.class)) { + factory2 = (org.netbeans.spi.editor.SideBarFactory) ic.instanceCreate(); + } } } catch (ClassNotFoundException cnfe) { LOG.log(Level.INFO, null, cnfe); @@ -117,16 +122,19 @@ continue; } - if (factory != null) { + if (factory != null || factory2 != null) { SideBarPosition position = new SideBarPosition(f); - List factoriesList = factoriesMap.get(position); + List factoriesList = factoriesMap.get(position); if (factoriesList == null) { - factoriesList = new ArrayList(); + factoriesList = new ArrayList(); factoriesMap.put(position, factoriesList); } - - factoriesList.add(factory); + if (factory != null) { + factoriesList.add(factory); + } else { + factoriesList.add(factory2); + } } } diff --git a/editor/test/unit/src/org/netbeans/modules/editor/impl/KitsTracker-test-layer.xml b/editor/test/unit/src/org/netbeans/modules/editor/impl/SideBarFactoriesProvider-test-layer.xml copy from editor/test/unit/src/org/netbeans/modules/editor/impl/KitsTracker-test-layer.xml copy to editor/test/unit/src/org/netbeans/modules/editor/impl/SideBarFactoriesProvider-test-layer.xml --- a/editor/test/unit/src/org/netbeans/modules/editor/impl/KitsTracker-test-layer.xml +++ b/editor/test/unit/src/org/netbeans/modules/editor/impl/SideBarFactoriesProvider-test-layer.xml @@ -5,24 +5,37 @@ - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +