internal static void populateTreeNodeWith_FormBean_Field(TreeNode treeNode, KStrutsConfig_FormBean_Field formBeanField) { addNodeIfNonEmpty(treeNode, "type", formBeanField.type); addNodeIfNonEmpty(treeNode, "initial", formBeanField.initial); addNodeIfNonEmpty(treeNode, "has validation mapping", formBeanField.hasValidationMapping.ToString()); addNodeIfNonEmpty(treeNode, "depends", formBeanField.depends); addDictionaryIfNotEmpty(treeNode, formBeanField.validators, "validator", true); }
internal static IStrutsConfigXml getStrutsConfig(string strutsConfigFile, ITilesDefinitions tilesDefinitions, IValidationXml validation) { var strutsConfigXml = new KStrutsConfigXml(); try { var strutsConfig = ((strutsconfig) Serialize.getDeSerializedObjectFromXmlFile(strutsConfigFile, typeof (strutsconfig))); if (strutsConfig != null) { if (strutsConfig.formbeans != null) { // first add the forms foreach (var formBean in strutsConfig.formbeans) { var newFormBean = new KStrutsConfig_FormBean() { name = formBean.name, type = formBean.type, extends = formBean.extends, }; if (formBean.formproperty != null) foreach (var formProperty in formBean.formproperty) { var field = new KStrutsConfig_FormBean_Field() { name = formProperty.name, type = formProperty.type, initial = formProperty.initial }; newFormBean.fields.Add(formProperty.name, field); //newFormBean.properties.Add(formProperty.name, formProperty.type); } strutsConfigXml.formBeans.Add(newFormBean); } // now map the validation if (validation != null) { var validationForms = new Dictionary<string, IValidation_Form>(); foreach (var validationForm in validation.forms) if (false == validationForms.ContainsKey(validationForm.name)) validationForms.Add(validationForm.name, validationForm); else { PublicDI.log.error("Duplicate form validator: {0}", validationForm.name); //var asd = validationForms[validationForm.name].fields; } foreach (var formBean in strutsConfigXml.formBeans) { if (false == validationForms.ContainsKey(formBean.name)) formBean.hasValidationMapping = false; else { var validatorForm = validationForms[formBean.name]; foreach (var field in formBean.fields) { if (validatorForm.fields.ContainsKey(field.Key)) { field.Value.hasValidationMapping = true; field.Value.depends = validatorForm.fields[field.Key].depends; foreach (var var in validatorForm.fields[field.Key].vars) field.Value.validators.Add(var.Key, var.Value); } else field.Value.hasValidationMapping = false; } //formBean.properties //foreach(var ) formBean.hasValidationMapping = true; } } } } if (strutsConfig.globalforwards != null) foreach (var globalForward in strutsConfig.globalforwards) strutsConfigXml.globalForwards.Add(globalForward.name, globalForward.path); if (strutsConfig.actionmappings != null) foreach (var action in strutsConfig.actionmappings) { var newActionMapping = new KStrutsConfig_Action() { name = action.name, path = action.path, input = action.input, scope = action.scope, type = action.type, validate = action.validate.ToString(), unknown = action.unknown, extends = action.extends, parameter = action.parameter }; if (action.forward != null) foreach (var forward in action.forward) { var newForward = new KStrutsConfig_Action_Forward() { name = forward.name, path = forward.path, redirect = forward.redirect }; newActionMapping.forwards.Add(newForward); } strutsConfigXml.actionmappings.Add(newActionMapping); } if (strutsConfig.plugin != null) foreach (var plugin in strutsConfig.plugin) { var newPlugIn = new KStrutsConfig_PlugIn() { className = plugin.className }; if (plugin.setproperty != null) foreach (var property in plugin.setproperty) newPlugIn.properties.Add(property.property, property.value); strutsConfigXml.plugIns.Add(newPlugIn); } if (tilesDefinitions != null) foreach (var titleDefinition in tilesDefinitions.definitions) { //var value = titleDefinition.page ?? titleDefinition.path ?? ""; var value = titleDefinition.page ?? titleDefinition.path; addTileDefinition(strutsConfigXml.resolvedViews, titleDefinition.name, value); foreach (var put in titleDefinition.puts) addTileDefinition(strutsConfigXml.resolvedViews, titleDefinition.name, put.Value); /*if (value != null) if (false == strutsConfigXml.resolvedViews.ContainsKey(titleDefinition.name)) strutsConfigXml.resolvedViews.Add(titleDefinition.name, value); else DI.log.error("in mapping TilesDefinition, there was a duplicate key: {0} with value {1}", titleDefinition.name, value); */ } } } catch (Exception ex) { PublicDI.log.error("in getStrutsConfig: {0}", ex.Message); } return strutsConfigXml; }