diff -r 95732422055c openide.util/src/org/openide/util/Utilities.java --- a/openide.util/src/org/openide/util/Utilities.java Wed Jul 02 10:16:53 2008 +0200 +++ b/openide.util/src/org/openide/util/Utilities.java Wed Jul 02 13:42:08 2008 +0200 @@ -2378,6 +2378,9 @@ * # rename of whole package * org.someoldpackage=org.my.new.package.structure * + * # class was removed without replacement + * org.mypackage.OldClass= + * * * Btw. one can use spaces instead of = sign. * For a real world example diff -r 95732422055c settings/src/org/netbeans/modules/settings/convertors/SerialDataConvertor.java --- a/settings/src/org/netbeans/modules/settings/convertors/SerialDataConvertor.java Wed Jul 02 10:16:53 2008 +0200 +++ b/settings/src/org/netbeans/modules/settings/convertors/SerialDataConvertor.java Wed Jul 02 13:42:08 2008 +0200 @@ -114,8 +114,11 @@ SerialDataConvertor.SettingsInstance si = createInstance(null); if (isModuleEnabled(si)) { - instance = si; - lkpContent.add(instance); + // 137240 - if instanceName is empty string, it doesn't provide instance + if (si.instanceName().length() > 0) { + instance = si; + lkpContent.add(instance); + } } lkpContent.add(this); node = new SerialDataConvertor.NodeConvertor(); diff -r 95732422055c settings/test/unit/src/META-INF/netbeans/translate.names --- a/settings/test/unit/src/META-INF/netbeans/translate.names Wed Jul 02 10:16:53 2008 +0200 +++ b/settings/test/unit/src/META-INF/netbeans/translate.names Wed Jul 02 13:42:08 2008 +0200 @@ -40,3 +40,4 @@ # Old repackaging. org.UnknownClass=org.netbeans.modules.settings.convertors.FooSetting org.netbeans.modules.settings.convertors.ObsoleteClass=org.netbeans.modules.settings.convertors.FooSetting +org.netbeans.modules.settings.convertors.UnknownClass= diff -r 95732422055c settings/test/unit/src/org/netbeans/modules/settings/convertors/SerialDataConvertorTest.java --- a/settings/test/unit/src/org/netbeans/modules/settings/convertors/SerialDataConvertorTest.java Wed Jul 02 10:16:53 2008 +0200 +++ b/settings/test/unit/src/org/netbeans/modules/settings/convertors/SerialDataConvertorTest.java Wed Jul 02 13:42:08 2008 +0200 @@ -581,6 +581,16 @@ assertNull("There shouldn't be provided InstanceCookie for disabled module", ic); } + /** If class name is mapped to an empty string in META-INF.netbeans/translate.names, + * InstanceCookie should not be created. */ + public void testUknownClass137240() throws DataObjectNotFoundException { + final FileObject valid = lfs.findResource("/Settings/org-netbeans-modules-settings-convertors-FooSettingUnknownClass.settings"); + assertNotNull(valid); + DataObject ido = DataObject.find(valid); + InstanceCookie ic = (InstanceCookie) ido.getCookie(InstanceCookie.class); + assertNull("InstanceCookie issued for unknown class.", ic); + } + public void testDeleteOfUnrecognizedSettingsFile () throws Exception { final FileObject corrupted = lfs.findResource("/Settings/org-netbeans-modules-settings-convertors-FooSettingUnrecognizedSettingsFile.settings"); assertNotNull(corrupted); diff -r 95732422055c settings/test/unit/src/org/netbeans/modules/settings/convertors/data/mf-layer.xml --- a/settings/test/unit/src/org/netbeans/modules/settings/convertors/data/mf-layer.xml Wed Jul 02 10:16:53 2008 +0200 +++ b/settings/test/unit/src/org/netbeans/modules/settings/convertors/data/mf-layer.xml Wed Jul 02 13:42:08 2008 +0200 @@ -90,6 +90,16 @@ ]]> + + + + + + + + +]]> +