Index: src/META-INF/netbeans/translate.names
===================================================================
RCS file: /cvs/core/settings/test/unit/src/META-INF/netbeans/translate.names,v
retrieving revision 1.2
diff -c -r1.2 translate.names
*** src/META-INF/netbeans/translate.names 16 May 2002 17:32:17 -0000 1.2
--- src/META-INF/netbeans/translate.names 1 Oct 2002 13:51:32 -0000
***************
*** 11,13 ****
--- 11,14 ----
# Old repackaging.
org.UnknownClass=org.netbeans.modules.settings.convertors.FooSetting
+ org.netbeans.modules.settings.convertors.ObsoleteClass=org.netbeans.modules.settings.convertors.FooSetting
Index: src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java
===================================================================
RCS file: /cvs/core/settings/test/unit/src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java,v
retrieving revision 1.7
diff -c -r1.7 XMLPropertiesConvertorTest.java
*** src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java 3 Sep 2002 12:40:21 -0000 1.7
--- src/org/netbeans/modules/settings/convertors/XMLPropertiesConvertorTest.java 1 Oct 2002 13:51:33 -0000
***************
*** 56,68 ****
protected void setUp() throws java.lang.Exception {
super.setUp();
-
org.openide.TopManager.getDefault();
java.net.URL layer = this.getClass().getResource("data/layer.xml");
fs = new XMLFileSystem(layer);
sfs = Repository.getDefault().getDefaultFileSystem();
root = sfs.getRoot();
assertNotNull("SFS root not found", root);
}
public void testReadWrite() throws Exception {
--- 56,73 ----
protected void setUp() throws java.lang.Exception {
super.setUp();
org.openide.TopManager.getDefault();
java.net.URL layer = this.getClass().getResource("data/layer.xml");
fs = new XMLFileSystem(layer);
sfs = Repository.getDefault().getDefaultFileSystem();
root = sfs.getRoot();
assertNotNull("SFS root not found", root);
+
+ FileObject serdata = sfs.findResource("xml/lookups/NetBeans/DTD_Session_settings_1_0.instance");
+ assertNotNull("missing registration for serialdata format", serdata);
+ Object attr = serdata.getAttribute("instanceCreate");
+ assertNotNull("core's registration for serialdata format", attr);
+ assertEquals(SerialDataConvertor.Provider.class, attr.getClass());
}
public void testReadWrite() throws Exception {
***************
*** 220,225 ****
--- 225,232 ----
assertEquals("localhost", foo.getProperty1());
}
+ /* default instance in serial data format -> xml properties format
+ */
public void testUpgradeSetting() throws Exception {
String res = "Settings/org-netbeans-modules-settings-convertors-FooSettingSerialData.settings";
FileObject fo = sfs.findResource(res);
***************
*** 227,232 ****
--- 234,262 ----
long last = fo.lastModified().getTime();
DataObject dobj = DataObject.find (fo);
+ InstanceCookie.Of ic = (InstanceCookie.Of) dobj.getCookie(InstanceCookie.Of.class);
+ assertNotNull (dobj + " does not contain instance cookie", ic);
+ assertTrue("instanceOf failed", ic.instanceOf(FooSetting.class));
+ assertEquals("instanceClass failed", FooSetting.class, ic.instanceClass());
+
+ FooSetting foo = (FooSetting) ic.instanceCreate();
+ assertEquals("too early upgrade", last, fo.lastModified().getTime());
+
+ foo.setProperty1("A");
+ Thread.sleep(3000);
+ assertTrue("upgrade failed", last != fo.lastModified().getTime());
+ }
+
+ /* object of deprecated class persisted in serial data format -> new object
+ * persisted in xml properties format
+ */
+ public void testUpgradeSetting2() throws Exception {
+ String res = "Settings/testUpgradeSetting2/ObsoleteClass.settings";
+ FileObject fo = sfs.findResource(res);
+ assertNotNull(res, fo);
+ long last = fo.lastModified().getTime();
+
+ DataObject dobj = DataObject.find(fo);
InstanceCookie.Of ic = (InstanceCookie.Of) dobj.getCookie(InstanceCookie.Of.class);
assertNotNull (dobj + " does not contain instance cookie", ic);
assertTrue("instanceOf failed", ic.instanceOf(FooSetting.class));
Index: src/org/netbeans/modules/settings/convertors/ObsoleteClass.java
===================================================================
RCS file: src/org/netbeans/modules/settings/convertors/ObsoleteClass.java
diff -N src/org/netbeans/modules/settings/convertors/ObsoleteClass.java
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- src/org/netbeans/modules/settings/convertors/ObsoleteClass.java 1 Oct 2002 13:51:33 -0000
***************
*** 0 ****
--- 1,39 ----
+ /*
+ * Sun Public License Notice
+ *
+ * The contents of this file are subject to the Sun Public License
+ * Version 1.0 (the "License"). You may not use this file except in
+ * compliance with the License. A copy of the License is available at
+ * http://www.sun.com/
+ *
+ * The Original Code is NetBeans. The Initial Developer of the Original
+ * Code is Sun Microsystems, Inc. Portions Copyright 1997-2002 Sun
+ * Microsystems, Inc. All Rights Reserved.
+ */
+
+ package org.netbeans.modules.settings.convertors;
+
+ import java.io.IOException;
+ import java.io.ObjectInputStream;
+ import java.io.ObjectStreamException;
+
+ /** Obsolete setting class
+ *
+ * @author Jan Pokorsky
+ */
+ public class ObsoleteClass implements java.io.Serializable {
+
+ private static final long serialVersionUID = 3465637344523787865L;
+ private String prop;
+
+ public ObsoleteClass() {
+ }
+ public ObsoleteClass(String t) {
+ prop = t;
+ }
+
+ private Object readResolve() throws ObjectStreamException {
+ return new FooSetting(prop);
+ }
+
+ }
Index: src/org/netbeans/modules/settings/convertors/data/mf-layer.xml
===================================================================
RCS file: /cvs/core/settings/test/unit/src/org/netbeans/modules/settings/convertors/data/mf-layer.xml,v
retrieving revision 1.6
diff -c -r1.6 mf-layer.xml
*** src/org/netbeans/modules/settings/convertors/data/mf-layer.xml 22 Aug 2002 16:38:54 -0000 1.6
--- src/org/netbeans/modules/settings/convertors/data/mf-layer.xml 1 Oct 2002 13:51:33 -0000
***************
*** 52,57 ****
--- 52,61 ----
]]>
+
+
+
Index: src/org/netbeans/modules/settings/convertors/data/obsolete_class.xml
===================================================================
RCS file: src/org/netbeans/modules/settings/convertors/data/obsolete_class.xml
diff -N src/org/netbeans/modules/settings/convertors/data/obsolete_class.xml
*** /dev/null 1 Jan 1970 00:00:00 -0000
--- src/org/netbeans/modules/settings/convertors/data/obsolete_class.xml 1 Oct 2002 13:51:33 -0000
***************
*** 0 ****
--- 1,12 ----
+
+
+
+
+
+
+
+ ACED0005737200366F72672E6E65746265616E732E6D6F64756C65732E73657474696E67732E636F6E766572746F72732E4F
+ 62736F6C657465436C61737330186ACD98AB1E590200014C000470726F707400124C6A6176612F6C616E672F537472696E67
+ 3B787074000D4F62736F6C657465436C617373
+
+