public void GetSchemaFiles() { #region væntigögn ... string TEST_DATA_FILE = Path.Combine(TEST_DATA_BASE_FOLDER, this.GetType().Namespace, this.GetType().Name, MethodBase.GetCurrentMethod().Name, EXPECTED_FILE_NAME); List <Pair <string, Triple <string, string, string> > > test_data = TestUtilities.ReadObjectFromFile <List <Pair <string, Triple <string, string, string> > > >(TEST_DATA_FILE); #endregion foreach (Pair <string, Triple <string, string, string> > wsdl_and_expected_schemafiles in test_data) { #region inntak tíundað ... TestUtilities.ReportObject <string>(String.Format("Inntak {0}", MethodBase.GetCurrentMethod().Name), wsdl_and_expected_schemafiles.First); #endregion Tuple <string, string, string> schema_files = WebServiceParser.GetSchemaFiles(wsdl_and_expected_schemafiles.First); #region úttak lítillega meðhöndlað ... Triple <string, string, string> actual = new Triple <string, string, string>(schema_files.Item1, schema_files.Item2, schema_files.Item3); #endregion #region úttak tíundað ... TestUtilities.ReportObject <Triple <string, string, string> >(String.Format("Úttak {0}", MethodBase.GetCurrentMethod().Name), actual); #endregion #region samanburður vænti- og raungagna ... Assert.IsTrue(wsdl_and_expected_schemafiles.Second.Equals(actual)); #endregion } }
private void tb_wsdl_changed(object sender, EventArgs e) { Tuple <string, string, string> schema_files = null; try { schema_files = WebServiceParser.GetSchemaFiles(tb_wsdl.Text); } catch { } if (schema_files != null) { if (!String.IsNullOrWhiteSpace(schema_files.Item1)) { tb_message_schema.Text = schema_files.Item1; } if (!String.IsNullOrWhiteSpace(schema_files.Item2)) { tb_type_schema.Text = schema_files.Item2; } if (!String.IsNullOrWhiteSpace(schema_files.Item3)) { tb_common_type_schema.Text = schema_files.Item3; } } List <Tuple <string, string, string> > operations = new List <Tuple <string, string, string> >(); try { operations = WebServiceParser.GetOperationsWithMessages(tb_wsdl.Text); } catch { } cb_operation.Items.Clear(); if (operations.Count == 0) { cb_operation.Items.Add("Engar þjónustuaðgerðir finnast ..."); cb_operation.SelectedIndex = 0; b_generate_wikicode.Enabled = false; return; } operations.Sort(); foreach (Tuple <string, string, string> operation in operations) { cb_operation.Items.Add(operation.Item1); } cb_operation.SelectedIndex = 0; b_generate_wikicode.Enabled = true; }
static void Main(string[] args) { Console.Clear(); Console.Out.WriteLine(String.Format("--- RB Wiki-kóðasmiður ({0}) ---------------------------------------------", Assembly.GetExecutingAssembly().GetName().Version.ToString())); Console.Out.WriteLine(); if (args == null || args.Length == 0) { args = new string[] { "-?" } } ; Arguments arguments = new Arguments(args); #region hjálp ... if (!(arguments["?"] == null && arguments["help"] == null)) { Console.Out.WriteLine(@"Notkun: wikicodegenerator.exe"); Console.Out.WriteLine(" -operation \"[nafn aðgerðar]\""); Console.Out.WriteLine(" -description \"[lýsing aðgerðar]\""); Console.Out.WriteLine(" -wsdl \"[slóð WSDL-skjals Torg-þjónustu]\""); Console.Out.WriteLine(" (-messages \"[slóð skemaskráar sem skilgreinir aðgerðir"); Console.Out.WriteLine(" Torg-þjónustu]\")"); Console.Out.WriteLine(" (-schema \"[slóð skemaskráar sem skilgreinir týpur Torg-þjónustu])\""); Console.Out.WriteLine(" (-common_schema \"[slóð skemaskráar sem skilgreinir samnýttar týpur"); Console.Out.WriteLine(" Torg-þjónustu]\")"); Console.Out.WriteLine(" (-example)"); Console.Out.WriteLine(" (-version \"[útgáfunúmer]\""); Console.Out.WriteLine(" -version_date \"[útgáfudagsetning]\""); Console.Out.WriteLine(" -version_description \"[útgáfulýsing]\")"); Console.Out.WriteLine(" (-dictionary)"); Console.Out.WriteLine(" [-output \"[nafn úttaksskráar]\""); Console.Out.WriteLine(" |-wiki"); Console.Out.WriteLine(" (-overwrite)"); Console.Out.WriteLine(" (-user \"[Wiki-notandanafn]\""); Console.Out.WriteLine(" -password \"[Wiki-lykilorð]\")]"); Console.Out.WriteLine(); Console.Out.WriteLine(@"Tilgangur viðfanga:"); Console.Out.WriteLine(); Console.Out.WriteLine(@" -operation: Tilgreinir nafn aðgerðar (sem skal smíða Wiki-kóða fyrir)."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -description: Tilgreinir lýsingu aðgerðar."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -wsdl: Tilgreinir slóð WSDL-skjals Torg-þjónustu."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -messages: Tilgreinir slóð skemaskráar sem skilgreinir aðgerðir"); Console.Out.WriteLine(@" Torg-þjónustu. Fyrir eldri Torg-þjónustur eru aðgerðir skilgreindar í"); Console.Out.WriteLine(@" WSDL-skjali þeirra og fyrir slíkar þjónustur þarf því ekki að tiltaka"); Console.Out.WriteLine(@" þetta viðfang."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -schema: Tilgreinir slóð skemaskráar sem skilgreinir týpur Torg-þjónustu."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -common_schema: Tilgreinir slóð skemaskráar sem skilgreinir samnýttar týpur"); Console.Out.WriteLine(@" Torg-þjónustu."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -example: Tilgreinir hvort smíða skuli XML-dæmi SOAP-skilaboða. Ef og"); Console.Out.WriteLine(@" aðeins ef viðfangið er tiltekið er XML-dæmi smíðuð."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -version: Tilgreinir útgáfunúmer Torg-þjónustu. Ef og aðeins ef"); Console.Out.WriteLine(@" viðfangið er tiltekið eru útgáfuupplýsingar settar í Wiki-kóða."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -version_date: Tilgreinir útgáfudagsetning Torg-þjónustu. Ef og aðeins ef"); Console.Out.WriteLine(@" viðfangið er tiltekið eru útgáfuupplýsingar settar í Wiki-kóða."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -version_description: Tilgreinir útgáflýsingu Torg-þjónustu. Ef og aðeins"); Console.Out.WriteLine(@" er viðfangið er tiltekið eru útgáfuupplýsingar settar í Wiki-kóða."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -dictionary: Tilgreinir hvort veita skuli upplýsingar um stöðu hugataka"); Console.Out.WriteLine(@" viðkomandi Torg-þjónsutu í Orðabók RB. Ef og aðeins ef viðfangið er"); Console.Out.WriteLine(@" tiltekið er staða viðkomandi hugtaka auglýst."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -output: Tilgreinir slóð úttaksskráar."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -wiki: Tilgreinir hvort uppfæra skuli viðeigandi Wiki-skjal með"); Console.Out.WriteLine(@" smíðuðum Wiki-kóða. Ef og aðeins ef viðfangið er tiltekið er reynt."); Console.Out.WriteLine(@" uppfæra Wiki."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -overwrite: Tilgreinir hvort yfirskrifa skuli núverandi Wiki-skjal."); Console.Out.WriteLine(@" Að öðrum kosti er reynt að flétta Wiki-kóða saman við Wiki-skjalið."); Console.Out.WriteLine(@" Ef og aðeins ef viðfangið er tiltekið er Wiki-skjal yfirskrifað."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -user: Tilgreinir Wiki-notandanafn."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -password: Tilgreinir Wiki-lykilorð."); Console.Out.WriteLine(); Console.Out.WriteLine(@" -?|-help: Birtir þessar upplýsingar."); Console.Out.WriteLine(); Console.In.Read(); return; } #endregion if (ValidateInput(arguments)) { try { Tuple <string, string, string> schema_files = WebServiceParser.GetSchemaFiles(arguments["wsdl"]); string messages_schema = (arguments["messages"] == null && String.IsNullOrWhiteSpace(schema_files.Item1)) ? arguments["wsdl"] : (arguments["messages"] == null ? schema_files.Item1 : arguments["messages"]); string wikicode = Generator.GenerateWikiCode(arguments["description"], arguments["operation"], arguments["wsdl"], messages_schema, (arguments["schema"] == null ? schema_files.Item2 : arguments["schema"]), (arguments["common_schema"] == null ? schema_files.Item3 : arguments["common_schema"]), (arguments["version"] == null) ? String.Empty : arguments["version"], (arguments["version_date"] == null) ? String.Empty : arguments["version_date"], (arguments["version_description"] == null) ? String.Empty : arguments["version_description"], (arguments["example"] != null) ? true : false, (arguments["version"] == null || arguments["version_date"] == null || arguments["version_description"] == null) ? false : true, (arguments["dictionary"] != null) ? true : false, WikiCodeLanguage.Icelandic); if (arguments["output"] != null) { File.WriteAllText(arguments["output"], string.IsNullOrWhiteSpace(wikicode) ? String.Empty : wikicode); Console.Out.WriteLine(); Console.Out.WriteLine(); Console.Out.WriteLine(String.Format("Wiki-kóði fyrir {0} hefur verið skrifaður í eftirfarandi skrá:", arguments["operation"])); Console.Out.WriteLine(String.Format(" {0}", arguments["output"])); } if (arguments["wiki"] != null) { string url = Generator.SubmitToWiki(WebServiceParser.GetServiceName(arguments["wsdl"]), arguments["operation"], wikicode, arguments["user"], arguments["password"], (arguments["overwrite"] != null) ? true : false); Console.Out.WriteLine(); Console.Out.WriteLine("Eftirfarandi Wiki-skjal hefur verið uppfært:"); Console.Out.WriteLine(String.Format(" {0}", url)); } } catch (Exception x) { Console.Out.WriteLine(); Console.Out.WriteLine(String.Format("Eftirfarandi villa kom upp: {0}", x.Message)); Console.Out.WriteLine(); Console.Out.WriteLine(String.Format("Köllunarstakkur villu: {0}{1}", Environment.NewLine, x.StackTrace)); } } Console.Out.WriteLine(); Console.Out.WriteLine(); Console.Out.WriteLine("Keyrslu WikiCodeGenerator er lokið."); Console.Out.WriteLine(); Console.Out.WriteLine("--------------------------------------------------------------------------------"); }