 		
 		private var nullValues:Array = [null, "", "null", "\\N", "NaN"];
 		
+		public function get deprecatedStateMapping():Object
+		{
+			return {
+				keyColName: keyColumn,
+				csvDataString: setCSVDataString
+			};
+		}
+		
 		// backwards compatibility
-		[Deprecated(replacement="keyColumn")] public function set keyColName(value:String):void { keyColumn.state = value; }
-		[Deprecated(replacement="csvData")] public function set csvDataString(value:String):void { setCSVDataString(value); }
 		[Deprecated(replacement="getColumnById")] public function getColumnByName(name:String):IAttributeColumn { return getColumnById(name); }
 	}
 }

	import weavejs.data.hierarchy.ColumnTreeNode;
	import weavejs.data.key.QKeyManager;
	import weavejs.net.ResponseType;
	import weavejs.util.JS;
	import weavejs.util.StandardLib;
	
	/**
	 * 
	 * @author adufilie
	 * @author skolman
	 */
	public class CSVDataSource extends AbstractDataSource implements IDataSource_File
	{
		WeaveAPI.ClassRegistry.registerImplementation(IDataSource, CSVDataSource, "CSV file");


		
		private function handleUpdatedKeys():void
		{
			_keysAreUnique = ArrayUtils.union(keysArray).length == keysArray.length;
		}
		
		private var _keysAreUnique:Boolean = true;
