if (!Ext.ClassManager.isCreated("Portfolio.designer.model.domainModelEntityColumnManagerDataModel")) {
	Ext.define('Portfolio.designer.model.domainModelEntityColumnManagerDataModel', {
		extend: 'Ext.data.Model',
		idProperty: 'name',
		fields: [
			{ type: 'string', name: 'type', mapping: 'type',
				convert: function(value, record) {
					var datatype;
					datatype = value = value || "";
					if (value.indexOf('(') == -1) {
						datatype = value.toLowerCase();
					}
					else {
						var len = value.substr(value.indexOf('(') + 1, value.indexOf(')') - value.indexOf('(') - 1);
						if (len.indexOf(',') > -1) {
							record.set('dec', len.substr(len.indexOf(',')));
							var len = len.substr(0, len.indexOf(','));
						}
						record.set('len', len);
						datatype = value.substr(0, value.indexOf('(')).toLowerCase();
					}
					if (record.data.xpdpath.length > 0) {
						datatype = 'property';
					}
					return datatype;
				}
			},
			{ type: 'string', name: 'like', mapping: 'like' },
			{ type: 'string', name: 'from', mapping: 'from' },
			{ type: 'int', name: 'len' },
			{ type: 'int', name: 'dec' },
			{ type: 'string', name: 'name', mapping: 'name' },
			{ type: 'auto', name: 'title', mapping: 'title' },
			{ type: 'string', name: 'edtcde', mapping: 'edtcde' },
			{ type: 'string', name: 'edtword', mapping: 'edtword' },
			{ type: 'boolean', name: 'isRowId', mapping: 'isRowId' },
			{ type: 'boolean', name: 'isTitle', mapping: 'isTitle' },
			{ type: 'boolean', name: 'isMandatory', mapping: 'isMandatory' },
			{ type: 'boolean', name: 'syncBoth', mapping: 'syncBoth' },
			{ type: 'string', name: 'uitype', mapping: 'uitype' },
			{ type: 'int', name: 'ccsid', mapping: 'ccsid' },
			{ type: 'string', name: 'fmt', mapping: 'fmt' },
			{ type: 'string', name: 'sep', mapping: 'sep' },
			{ type: 'string', name: 'xpdpath', mapping: 'xpdpath' },
			{ type: 'boolean', name: 'drop' },
			{ type: 'boolean', name: 'isNew' },
			{ type: 'string', name: 'was' },
			{ type: 'string', name: 'likeWas', mapping: 'likeWas' },
			{ type: 'auto', name: 'grid', mapping: 'grid' },
			{ type: 'auto', name: 'form', mapping: 'form' },
			{ type: 'auto', name: 'enumerator', mapping: 'enumerator' }
		]
	});
}
