/// <summary> Constructor for a new instance of the InstanceWide_Configuration class </summary> public InstanceWide_Configuration() { // Create some of the configuration stuff Authentication = new Authentication_Configuration(); BriefItemMapping = new BriefItemMapping_Configuration(); ContactForm = new ContactForm_Configuration(); Engine = new Engine_Server_Configuration(); Extensions = new Extension_Configuration(); QualityControlTool = new QualityControl_Configuration(); Metadata = new Metadata_Configuration(); OAI_PMH = new OAI_PMH_Configuration(); UI = new InstanceWide_UI_Configuration(); Source = new Configuration_Source_Info(); // Set some defaults HasData = false; }
private static void read_mets_writing_config(XmlReader ReaderXml, Dictionary<string, METS_Section_ReaderWriter_Config> ReaderWriters, Metadata_Configuration Config ) { bool inPackage = false; bool inDivision = false; bool inFile = false; bool inDmdSec = true; METS_Writing_Profile profile = null; int unnamed_profile_counter = 1; while (ReaderXml.Read()) { if (ReaderXml.NodeType == XmlNodeType.Element) { switch (ReaderXml.Name.ToLower()) { case "profile": profile = new METS_Writing_Profile(); if (ReaderXml.MoveToAttribute("name")) profile.Profile_Name = ReaderXml.Value.Trim(); if (ReaderXml.MoveToAttribute("description")) profile.Profile_Description = ReaderXml.Value; if (ReaderXml.MoveToAttribute("isDefault")) { bool tempValue; if (bool.TryParse(ReaderXml.Value, out tempValue)) { profile.Default_Profile = tempValue; } } // Enforce a name for this profile (should have one according to XSD) if (profile.Profile_Name.Length == 0) { profile.Profile_Name = "Unnamed" + unnamed_profile_counter; unnamed_profile_counter++; } // Does this profile already exist? METS_Writing_Profile existingProfile = Config.Get_Writing_Profile(profile.Profile_Name); if (existingProfile != null) { profile = existingProfile; } else { Config.Add_METS_Writing_Profile(profile); } break; case "package_scope": inPackage = true; inDivision = false; inFile = false; break; case "division_scope": inPackage = false; inDivision = true; inFile = false; break; case "file_scope": inPackage = false; inDivision = false; inFile = true; break; case "dmdsec": inDmdSec = true; break; case "amdsec": inDmdSec = false; break; case "readerwriterref": if (ReaderXml.MoveToAttribute("ID")) { string id = ReaderXml.Value.ToUpper(); if ((ReaderWriters.ContainsKey(id)) && (profile != null)) { METS_Section_ReaderWriter_Config readerWriter = ReaderWriters[id]; if (inPackage) { if (inDmdSec) profile.Add_Package_Level_DmdSec_Writer_Config(readerWriter); else profile.Add_Package_Level_AmdSec_Writer_Config(readerWriter); } else if (inDivision) { if (inDmdSec) profile.Add_Division_Level_DmdSec_Writer_Config(readerWriter); else profile.Add_Division_Level_AmdSec_Writer_Config(readerWriter); } else if (inFile) { if (inDmdSec) profile.Add_File_Level_DmdSec_Writer_Config(readerWriter); else profile.Add_File_Level_AmdSec_Writer_Config(readerWriter); } } } break; } } } }
private static void read_mets_readerwriter_configs(XmlReader ReaderXml, Dictionary<string, METS_Section_ReaderWriter_Config> ReaderWriters, Metadata_Configuration Config ) { while (ReaderXml.Read()) { if (ReaderXml.NodeType == XmlNodeType.Element) { if (ReaderXml.Name.ToLower() == "readerwriter") { METS_Section_ReaderWriter_Config singleReaderWriter = read_mets_section_readerwriter_config(ReaderXml.ReadSubtree()); ReaderWriters.Add(singleReaderWriter.ID.ToUpper(), singleReaderWriter); Config.Add_METS_Section_ReaderWriter(singleReaderWriter); } } } }
private static void read_metadata_modules_config(XmlReader ReaderXml, Metadata_Configuration Config ) { while (ReaderXml.Read()) { if ((ReaderXml.NodeType == XmlNodeType.Element) && (ReaderXml.Name.ToLower() == "metadatamodule")) { // read all the values Additional_Metadata_Module_Config module = new Additional_Metadata_Module_Config(); if (ReaderXml.MoveToAttribute("key")) module.Key = ReaderXml.Value.Trim(); if (ReaderXml.MoveToAttribute("assembly")) module.Code_Assembly = ReaderXml.Value; if (ReaderXml.MoveToAttribute("namespace")) module.Code_Namespace = ReaderXml.Value; if (ReaderXml.MoveToAttribute("class")) module.Code_Class = ReaderXml.Value; // Only add if valid if ((module.Key.Length > 0) && (module.Code_Class.Length > 0) && (module.Code_Namespace.Length > 0)) { Config.Add_Metadata_Module_Config(module); } } } }
private static void read_metadata_file_readerwriter_configs(XmlReader ReaderXml, Metadata_Configuration Config) { while (ReaderXml.Read()) { if (ReaderXml.NodeType == XmlNodeType.Element) { if (ReaderXml.Name.ToLower() == "clear") Config.Clear_Metadata_File_ReaderWriter_Config(); if (ReaderXml.Name.ToLower() == "readerwriter") read_metadata_file_readerwriter_config(ReaderXml.ReadSubtree(), Config ); } } }
private static void read_metadata_file_readerwriter_config(XmlReader ReaderXml, Metadata_Configuration Config ) { Metadata_File_ReaderWriter_Config returnValue = new Metadata_File_ReaderWriter_Config(); ReaderXml.Read(); // Move to and save the basic attributes if (ReaderXml.MoveToAttribute("mdtype")) { switch (ReaderXml.Value.ToUpper()) { case "EAD": returnValue.MD_Type = Metadata_File_Type_Enum.EAD; break; case "DC": returnValue.MD_Type = Metadata_File_Type_Enum.DC; break; case "MARC21": returnValue.MD_Type = Metadata_File_Type_Enum.MARC21; break; case "MARCXML": returnValue.MD_Type = Metadata_File_Type_Enum.MARCXML; break; case "METS": returnValue.MD_Type = Metadata_File_Type_Enum.METS; break; case "MODS": returnValue.MD_Type = Metadata_File_Type_Enum.MODS; break; case "OTHER": returnValue.MD_Type = Metadata_File_Type_Enum.OTHER; if (ReaderXml.MoveToAttribute("othermdtype")) returnValue.Other_MD_Type = ReaderXml.Value; break; } } if (ReaderXml.MoveToAttribute("label")) returnValue.Label = ReaderXml.Value; if (ReaderXml.MoveToAttribute("namespace")) returnValue.Code_Namespace = ReaderXml.Value; if (ReaderXml.MoveToAttribute("class")) returnValue.Code_Class = ReaderXml.Value; if (ReaderXml.MoveToAttribute("assembly")) returnValue.Code_Assembly = ReaderXml.Value; if ((ReaderXml.MoveToAttribute("canRead")) && (ReaderXml.Value.ToLower() == "false")) { returnValue.canRead = false; } if ((ReaderXml.MoveToAttribute("canWrite")) && (ReaderXml.Value.ToLower() == "false")) { returnValue.canWrite = false; } while (ReaderXml.Read()) { if ((ReaderXml.NodeType == XmlNodeType.Element) && (ReaderXml.Name.ToLower() == "option")) { string key = String.Empty; string value = String.Empty; if (ReaderXml.MoveToAttribute("key")) key = ReaderXml.Value; if (ReaderXml.MoveToAttribute("value")) value = ReaderXml.Value; if ((key.Length > 0) && (value.Length > 0)) returnValue.Add_Option(key, value); } } Config.Add_Metadata_File_ReaderWriter(returnValue); }
/// <summary> Constructor for a new instance of the ResourceObjectSettings class </summary> static ResourceObjectSettings() { MetadataConfig = new Metadata_Configuration(); }