--- a/configurationengine/source/cone/carbon/persistentjson.py Fri Mar 12 08:30:17 2010 +0200
+++ b/configurationengine/source/cone/carbon/persistentjson.py Tue Aug 10 14:29:28 2010 +0300
@@ -22,6 +22,7 @@
""" cone specific imports """
from cone.public import persistence, exceptions, api, utils, container
from cone.carbon import model
+from cone.carbon.resourcemapper import CarbonResourceMapper
MODEL = model
@@ -37,50 +38,6 @@
return CarbonReader().loads(jsonstr)
-class CarbonResourceMapper(object):
- def __init__(self):
- self.CARBON_RESOURCE_TYPE_MAP = {'configurationroot' : self.map_carbon_configurationroot,
- 'configurationlayer' : self.map_carbon_configurationlayer,
- 'featurelist' : self.map_carbon_featurelist}
- self.CONFML_RESOURCE_TYPE_MAP = {'configurationroot' : self.map_confml_configurationroot,
- 'configurationlayer' : self.map_confml_configurationlayer,
- 'featurelist' : self.map_confml_featurelist}
-
- def map_carbon_resource(self, resourcepath):
- for resourceext in self.CARBON_RESOURCE_TYPE_MAP:
- if resourcepath.endswith(resourceext):
- return self.CARBON_RESOURCE_TYPE_MAP[resourceext](resourcepath)
- return resourcepath
-
- def map_confml_resource(self, resourcetype, resourcepath):
- return self.CONFML_RESOURCE_TYPE_MAP[resourcetype](resourcepath)
-
- def map_carbon_configurationroot(self, resourcepath):
- return resourcepath.replace('.configurationroot', '.confml')
-
- def map_carbon_configurationlayer(self, resourcepath):
- return resourcepath.replace('.configurationlayer', '/root.confml')
-
- def map_carbon_featurelist(self, resourcepath):
- return "featurelists/%s" % resourcepath.replace('.featurelist', '.confml')
-
- def map_confml_configurationroot(self, resourcepath):
- return resourcepath.replace('.confml', '.configurationroot')
-
- def map_confml_configurationlayer(self, resourcepath):
- return resourcepath.replace('/root.confml', '.configurationlayer')
-
- def map_confml_featurelist(self, resourcepath):
- path = resourcepath.replace('featurelists/','').replace('.confml', '')
- version_identifier = 'WORKING'
- m = re.match('^(.*) \((.*)\)', path)
- # if the resourcepath does not have version information
- # use default WORKING
- if m:
- path = m.group(1)
- version_identifier = m.group(2)
- return '%s (%s).featurelist' % (path, version_identifier)
-
class ResourceListReader(persistence.ConeReader):
"""
"""
@@ -230,7 +187,7 @@
@param obj: The Configuration object
"""
configuration_dict = {'version_identifier': obj.version_identifier}
-
+
datawriter = DataWriter()
data = datawriter.dumps(obj)
configuration_dict['data'] = data
@@ -295,7 +252,7 @@
@param obj: The Configuration object
"""
name = dict.get('configuration_name')
- path = name + ".confml"
+ path = name + "/root.confml"
conf = model.CarbonConfiguration(dict.get('ref'), path=path, type='configurationlayer')
conf.name = name
@@ -304,10 +261,7 @@
""" Last read the data of this configuration and add it as a configuration """
data_reader = DataReader()
datacont = data_reader.loads(dict.get('data', {}))
- proxy = api.ConfigurationProxy(datacont.path)
- conf.add_configuration(proxy)
- proxy._set_obj(datacont)
-
+ conf.add_configuration(datacont)
return conf
class FeatureListCreateWriter(CarbonWriter):
@@ -455,7 +409,7 @@
'value_type' : self.CONFML_TO_CARBON_TYPE[mobj.type],
'children' : []}
if featuredict['value_type'] != None:
- featuredict['type_object'] = 'carbon_feature_type_normal'
+ featuredict['type_object'] = 's60_feature'
if mobj.type == 'selection':
featuredict['options'] = mobj.options.keys()
@@ -504,8 +458,8 @@
fea = model.CarbonStringSetting(ref, type=value_type)
elif value_type == 'selection':
fea = model.CarbonSelectionSetting(ref, type=value_type)
- for option in dict.get('options'):
- fea.add_option(option,option)
+ for option_name in dict.get('options'):
+ fea.create_option(option_name, option_name)
elif value_type == '':
fea = model.CarbonFeature(ref, type=value_type)
else: