/// <summary> /// generates one cedent to XML string /// </summary> /// <param name="box">cedent box</param> /// <param name="rKLCedent">cedent record</param> /// <param name="CedentType">cedent type</param> /// <returns>XML string</returns> private static string getOneItemXML(IBoxModule box, Rec_KL_cedent rKLCedent, string CedentType) { string resultStr = ""; IBoxModule[] SubCedents = box.GetConnections(CedentType); rKLCedent.sub_cedent_cnt = SubCedents.Length; // adding KL cedent to XML if (rKLCedent.sub_cedent_cnt > 0) { resultStr = rKLCedent.ToXML(getOneCedentXML(SubCedents)); } return(resultStr); }
/// <summary> /// Returns XML string with all occurences of Active element "KL cedent". /// </summary> /// <param name="index">index of data source in FEplugin data sources table</param> /// <returns>XML string</returns> public static string getList(int index) { string resultString = ""; // result XML string string ErrStr = ""; // error reports int counterID = 0; // loading DTD to resultString try { resultString = XMLHelper.loadDTD(); } catch (Exception e) { #if (LADENI) MessageBox.Show("error while loading DTD: " + e.Message); #endif return resultString; } // root element resultString += "<active_list>"; string[] BoxTypes = { "LISpMinerTasks.KLTask", "LISpMinerTasks.SDKLTask" }; // types of boxes (tasks) for which are searched KL cedents // searching all boxes of tasks IBoxModule[] TaskBoxes = BoxesHelper.ListBoxesWithID(CFEsourcesTab.Sources[index] as CFEsource, BoxTypes); #region Loop - processing of each tasks found foreach (IBoxModule box in TaskBoxes) { Rec_KL_cedent rKLCedent = new Rec_KL_cedent(); counterID = 0; try { // setting ID rKLCedent.id = "klcdnt" + box.ProjectIdentifier.ToString() + "_"; // searching data source name (database) IBoxModule[] db_names = BoxesHelper.ListAncestBoxesWithID(box, "DataMiningCommon.Database"); if (db_names.GetLength(0) != 1) // searched more than one data source or neither one throw new System.Exception("found " + db_names.GetLength(0).ToString() + " databases"); rKLCedent.db_name = db_names[0].GetPropertyString("DatabaseName"); // searching data matrix name IBoxModule[] matrix_names = BoxesHelper.ListAncestBoxesWithID(box, "DataMiningCommon.DataMatrix"); if (matrix_names.GetLength(0) != 1) // searched more than one data source or neither one throw new System.Exception("found " + matrix_names.GetLength(0).ToString() + " data matrixes"); rKLCedent.matrix_name = matrix_names[0].GetPropertyString("Name"); // searching task name rKLCedent.task_name = box.UserName; // processing of several Task types string id = rKLCedent.id; switch (box.MadeInCreator.Identifier) // all available task types { case "LISpMinerTasks.KLTask": rKLCedent.task_type = "KL Task"; // Antecedent rKLCedent.id = id + counterID.ToString(); counterID++; rKLCedent.cedent_type = "Row attributes"; resultString += getOneItemXML(box, rKLCedent, "AntecedentSetting"); // Succedent rKLCedent.id = id + counterID.ToString(); counterID++; rKLCedent.cedent_type = "Column attributes"; resultString += getOneItemXML(box, rKLCedent, "SuccedentSetting"); break; case "LISpMinerTasks.SDKLTask": rKLCedent.task_type = "SD-KL Task"; // Anecedent rKLCedent.id = id + counterID.ToString(); counterID++; //rKLCedent.cedent_type = CedentEnum.Antecedent.ToString(); rKLCedent.cedent_type = "Row attributes"; resultString += getOneItemXML(box, rKLCedent, "AntecedentSetting"); // Succedent rKLCedent.id = id + counterID.ToString(); counterID++; rKLCedent.cedent_type = "Column attributes"; //rKLCedent.cedent_type = CedentEnum.Succedent.ToString(); resultString += getOneItemXML(box, rKLCedent, "SuccedentSetting"); break; } } catch (System.Exception e) { ErrStr += "Box ProjectIdentifier=" + box.ProjectIdentifier.ToString() + ": " + e.Message + "\n"; } } #endregion // root element resultString += "</active_list>"; #if (LADENI) // Kody - storing output to file "XMLKL_cedentExample.xml" in directory XMLHelper.saveXMLexample(resultString, "../XML/XMLKL_cedentExample.xml"); if (ErrStr != "") // LADICI MessageBox.Show("Chyby pri generating seznamu KL cedent:\n" + ErrStr); #endif return resultString; }
/// <summary> /// generates one cedent to XML string /// </summary> /// <param name="box">cedent box</param> /// <param name="rKLCedent">cedent record</param> /// <param name="CedentType">cedent type</param> /// <returns>XML string</returns> private static string getOneItemXML(IBoxModule box, Rec_KL_cedent rKLCedent, string CedentType) { string resultStr = ""; IBoxModule[] SubCedents = box.GetConnections(CedentType); rKLCedent.sub_cedent_cnt = SubCedents.Length; // adding KL cedent to XML if (rKLCedent.sub_cedent_cnt > 0) resultStr = rKLCedent.ToXML(getOneCedentXML(SubCedents)); return resultStr; }
/// <summary> /// Returns XML string with all occurences of Active element "KL cedent". /// </summary> /// <param name="index">index of data source in FEplugin data sources table</param> /// <returns>XML string</returns> public static string getList(int index) { string resultString = ""; // result XML string string ErrStr = ""; // error reports int counterID = 0; // loading DTD to resultString try { resultString = XMLHelper.loadDTD(); } catch (Exception e) { #if (LADENI) MessageBox.Show("error while loading DTD: " + e.Message); #endif return(resultString); } // root element resultString += "<active_list>"; string[] BoxTypes = { "LISpMinerTasks.KLTask", "LISpMinerTasks.SDKLTask" }; // types of boxes (tasks) for which are searched KL cedents // searching all boxes of tasks IBoxModule[] TaskBoxes = BoxesHelper.ListBoxesWithID(CFEsourcesTab.Sources[index] as CFEsource, BoxTypes); #region Loop - processing of each tasks found foreach (IBoxModule box in TaskBoxes) { Rec_KL_cedent rKLCedent = new Rec_KL_cedent(); counterID = 0; try { // setting ID rKLCedent.id = "klcdnt" + box.ProjectIdentifier.ToString() + "_"; // searching data source name (database) IBoxModule[] db_names = BoxesHelper.ListAncestBoxesWithID(box, "DataMiningCommon.Database"); if (db_names.GetLength(0) != 1) // searched more than one data source or neither one { throw new System.Exception("found " + db_names.GetLength(0).ToString() + " databases"); } rKLCedent.db_name = db_names[0].GetPropertyString("DatabaseName"); // searching data matrix name IBoxModule[] matrix_names = BoxesHelper.ListAncestBoxesWithID(box, "DataMiningCommon.DataMatrix"); if (matrix_names.GetLength(0) != 1) // searched more than one data source or neither one { throw new System.Exception("found " + matrix_names.GetLength(0).ToString() + " data matrixes"); } rKLCedent.matrix_name = matrix_names[0].GetPropertyString("Name"); // searching task name rKLCedent.task_name = box.UserName; // processing of several Task types string id = rKLCedent.id; switch (box.MadeInCreator.Identifier) // all available task types { case "LISpMinerTasks.KLTask": rKLCedent.task_type = "KL Task"; // Antecedent rKLCedent.id = id + counterID.ToString(); counterID++; rKLCedent.cedent_type = "Row attributes"; resultString += getOneItemXML(box, rKLCedent, "AntecedentSetting"); // Succedent rKLCedent.id = id + counterID.ToString(); counterID++; rKLCedent.cedent_type = "Column attributes"; resultString += getOneItemXML(box, rKLCedent, "SuccedentSetting"); break; case "LISpMinerTasks.SDKLTask": rKLCedent.task_type = "SD-KL Task"; // Anecedent rKLCedent.id = id + counterID.ToString(); counterID++; //rKLCedent.cedent_type = CedentEnum.Antecedent.ToString(); rKLCedent.cedent_type = "Row attributes"; resultString += getOneItemXML(box, rKLCedent, "AntecedentSetting"); // Succedent rKLCedent.id = id + counterID.ToString(); counterID++; rKLCedent.cedent_type = "Column attributes"; //rKLCedent.cedent_type = CedentEnum.Succedent.ToString(); resultString += getOneItemXML(box, rKLCedent, "SuccedentSetting"); break; } } catch (System.Exception e) { ErrStr += "Box ProjectIdentifier=" + box.ProjectIdentifier.ToString() + ": " + e.Message + "\n"; } } #endregion // root element resultString += "</active_list>"; #if (LADENI) // Kody - storing output to file "XMLKL_cedentExample.xml" in directory XMLHelper.saveXMLexample(resultString, "../XML/XMLKL_cedentExample.xml"); if (ErrStr != "") // LADICI { MessageBox.Show("Chyby pri generating seznamu KL cedent:\n" + ErrStr); } #endif return(resultString); }