From: <br...@us...> - 2009-02-01 22:46:18
|
Revision: 469 http://acmcontester.svn.sourceforge.net/acmcontester/?rev=469&view=rev Author: brus07 Date: 2009-02-01 22:46:13 +0000 (Sun, 01 Feb 2009) Log Message: ----------- Added new SubmitIoi and ResultIoi class for work with Ioi data. But now this work like mock. Modified Paths: -------------- ACMServer/trunk/ACMServer/Library/Data/Data.csproj ACMServer/trunk/ACMServer/Library/Data/SubmitList.cs ACMServer/trunk/ACMServer/Library/testData/data.xsd ACMServer/trunk/ACMServer/Library/testData/data.xsx ACMServer/trunk/ACMServer/Library/testData/submitList.xml Added Paths: ----------- ACMServer/trunk/ACMServer/Library/Data/ResultIoi.cs ACMServer/trunk/ACMServer/Library/Data/SubmitIoi.cs Modified: ACMServer/trunk/ACMServer/Library/Data/Data.csproj =================================================================== --- ACMServer/trunk/ACMServer/Library/Data/Data.csproj 2009-02-01 22:13:06 UTC (rev 468) +++ ACMServer/trunk/ACMServer/Library/Data/Data.csproj 2009-02-01 22:46:13 UTC (rev 469) @@ -29,9 +29,12 @@ </PropertyGroup> <ItemGroup> <Reference Include="System" /> + <Reference Include="System.Data" /> <Reference Include="System.XML" /> </ItemGroup> <ItemGroup> + <Compile Include="ResultIoi.cs" /> + <Compile Include="SubmitIoi.cs" /> <Compile Include="DataMediator.cs" /> <Compile Include="Properties\AssemblyInfo.cs" /> <Compile Include="Result.cs" /> Added: ACMServer/trunk/ACMServer/Library/Data/ResultIoi.cs =================================================================== --- ACMServer/trunk/ACMServer/Library/Data/ResultIoi.cs (rev 0) +++ ACMServer/trunk/ACMServer/Library/Data/ResultIoi.cs 2009-02-01 22:46:13 UTC (rev 469) @@ -0,0 +1,60 @@ +using System.Xml.Serialization; +using AcmContester.AcmLibraryExtention.XML; + +namespace AcmContester.Library.LibraryExtention.Data +{ + [XmlRoot("resultIoi")] + public class ResultIoi + { + [XmlElement("submitIoi", typeof(Submit))] + public SubmitIoi Submit + { + get + { + return submit; + } + set + { + submit = value; + } + } + private SubmitIoi submit; + [XmlElement("res", typeof(string))] + public string res; + [XmlElement("result", typeof(int))] + public int result; + [XmlElement("usedTime", typeof(double))] + public double usedTime; + [XmlElement("usedMemory", typeof(int))] + public int usedMemory; + + readonly string temp; + + public ResultIoi(SubmitIoi ssubmit) + { + submit = ssubmit; + } + + public ResultIoi(string message) + { + //TODO + temp = message.Substring(0, message.IndexOf('$')); + string s = message.Substring(message.IndexOf('$') + 1); + submit = new SubmitIoi(s); + } + + public static ResultIoi CreateFromXml(string message) + { + return XmlHelper.GetObject<ResultIoi>(message, "resultIoi", "data.xsd"); + } + + public override string ToString() + { + return temp; + } + public string ToStringX() + { + return XmlSerializer<ResultIoi>.Serialization(this); + } + } +} Added: ACMServer/trunk/ACMServer/Library/Data/SubmitIoi.cs =================================================================== --- ACMServer/trunk/ACMServer/Library/Data/SubmitIoi.cs (rev 0) +++ ACMServer/trunk/ACMServer/Library/Data/SubmitIoi.cs 2009-02-01 22:46:13 UTC (rev 469) @@ -0,0 +1,43 @@ +using System; +using AcmContester.AcmLibraryExtention.XML; +using System.Xml.Serialization; + +namespace AcmContester.Library.LibraryExtention.Data +{ + [XmlRoot("submitIoi")] + public class SubmitIoi + { + [XmlElement("submit", typeof(Submit))] + public Submit submit; + [XmlElement("name", typeof(string))] + public int name; + + public SubmitIoi() + { + } + + public SubmitIoi(string message) + { + //TODO: + throw new Exception(); + } + + public static SubmitIoi CreateFromXml(string message) + { + return XmlHelper.GetObject<SubmitIoi>(message, "submitIoi", "data.xsd"); + } + + //HACK: \xE4\xEB\xFF \xF2\xE5\xF1\xF2\xF3 \xF5\xE0\xE9 \xE1\xF3\xE4\xE5 \xF2\xE0\xEA, \xE0\xEB\xE5 \xEC\xE0\xBA \xE1\xF3\xF2\xE8 \xF7\xE5\xF0\xE5\xE7 XML + public override string ToString() + { + //string result = sourceCode; + string result = XmlSerializer<SubmitIoi>.Serialization(this); + return result; + } + + public override int GetHashCode() + { + return submit.GetHashCode(); + } + } +} Modified: ACMServer/trunk/ACMServer/Library/Data/SubmitList.cs =================================================================== --- ACMServer/trunk/ACMServer/Library/Data/SubmitList.cs 2009-02-01 22:13:06 UTC (rev 468) +++ ACMServer/trunk/ACMServer/Library/Data/SubmitList.cs 2009-02-01 22:46:13 UTC (rev 469) @@ -9,10 +9,12 @@ public class SubmitList { readonly ArrayList listSubmits; + readonly ArrayList listSubmitsIoi; public SubmitList() { listSubmits = new ArrayList(); + listSubmitsIoi = new ArrayList(); } public static SubmitList CreateFromXml(string message) @@ -26,11 +28,16 @@ } [XmlElement("submit", typeof(Submit))] - public Submit[] Items + public Submit[] SubmitItems { get { - Submit[] submits = new Submit[listSubmits.Count]; + ArrayList list = new ArrayList(); + foreach (object x in listSubmits) + if (x is Submit) + list.Add(x); + + Submit[] submits = new Submit[list.Count]; listSubmits.CopyTo(submits); return submits; } @@ -43,5 +50,28 @@ listSubmits.Add(item); } } + [XmlElement("submitIoi", typeof(SubmitIoi))] + public SubmitIoi[] SubmitIoiItems + { + get + { + ArrayList list = new ArrayList(); + foreach (object x in listSubmitsIoi) + if (x is SubmitIoi) + list.Add(x); + + SubmitIoi[] submits = new SubmitIoi[list.Count]; + listSubmitsIoi.CopyTo(submits); + return submits; + } + set + { + if (value == null) return; + SubmitIoi[] submits = value; + listSubmitsIoi.Clear(); + foreach (SubmitIoi item in submits) + listSubmitsIoi.Add(item); + } + } } } Modified: ACMServer/trunk/ACMServer/Library/testData/data.xsd =================================================================== --- ACMServer/trunk/ACMServer/Library/testData/data.xsd 2009-02-01 22:13:06 UTC (rev 468) +++ ACMServer/trunk/ACMServer/Library/testData/data.xsd 2009-02-01 22:46:13 UTC (rev 469) @@ -16,6 +16,12 @@ </xs:element> </xs:sequence> </xs:complexType> + <xs:complexType name="submitIOIType"> + <xs:sequence> + <xs:element name="name" type="xs:string" /> + <xs:element name="submit" type="submitType" /> + </xs:sequence> + </xs:complexType> <xs:element name="submitList"> <xs:complexType> <xs:sequence> @@ -38,4 +44,6 @@ </xs:element> <xs:element name="submit" type="submitType"> </xs:element> + <xs:element name="submitioi" type="submitIOIType"> + </xs:element> </xs:schema> \ No newline at end of file Modified: ACMServer/trunk/ACMServer/Library/testData/data.xsx =================================================================== --- ACMServer/trunk/ACMServer/Library/testData/data.xsx 2009-02-01 22:13:06 UTC (rev 468) +++ ACMServer/trunk/ACMServer/Library/testData/data.xsx 2009-02-01 22:46:13 UTC (rev 469) @@ -2,28 +2,28 @@ <!--This file is auto-generated by the XML Schema Designer. It holds layout information for components on the designer surface.--> <XSDDesignerLayout Style="LeftRight" layoutVersion="2" viewPortLeft="0" viewPortTop="0" zoom="100"> <submitType_XmlComplexType left="1317" top="1254" width="5292" height="2831" selected="0" zOrder="1" index="0" expanded="1"> - <language_XmlElement left="7243" top="2312" width="5292" height="714" selected="0" zOrder="2" index="2" expanded="1"> + <language_XmlElement left="7243" top="2312" width="5292" height="714" selected="0" zOrder="2" index="3" expanded="1"> <_x0028_language_x0029__XmlSimpleType left="13169" top="1254" width="5292" height="2831" selected="0" zOrder="5" index="0" expanded="1" /> </language_XmlElement> </submitType_XmlComplexType> <submitList_XmlElement left="1317" top="4593" width="5292" height="2831" selected="0" zOrder="8" index="1" expanded="1"> <_x0028_group1_x0029__XmlSequence left="7243" top="4593" width="5292" height="2831" selected="0" zOrder="10" index="0" expanded="1"> <submit_XmlElement left="13169" top="4593" width="5292" height="2831" selected="0" zOrder="13" index="0" expanded="1"> - <language_XmlElement left="19095" top="5651" width="5292" height="714" selected="0" zOrder="16" index="2" expanded="0" /> + <language_XmlElement left="19095" top="5651" width="5292" height="714" selected="0" zOrder="16" index="3" expanded="0" /> </submit_XmlElement> </_x0028_group1_x0029__XmlSequence> </submitList_XmlElement> <resultType_XmlComplexType left="1317" top="7932" width="5292" height="2831" selected="0" zOrder="19" index="2" expanded="1"> <submit_XmlElement left="7243" top="7932" width="5292" height="2831" selected="0" zOrder="21" index="4" expanded="1"> - <language_XmlElement left="13169" top="8990" width="5292" height="714" selected="0" zOrder="24" index="2" expanded="0" /> + <language_XmlElement left="13169" top="8990" width="5292" height="714" selected="0" zOrder="24" index="3" expanded="0" /> </submit_XmlElement> </resultType_XmlComplexType> <result_XmlElement left="1317" top="11271" width="5292" height="2831" selected="0" zOrder="27" index="3" expanded="1"> <submit_XmlElement left="7243" top="11271" width="5292" height="2831" selected="0" zOrder="29" index="4" expanded="1"> - <language_XmlElement left="13169" top="12329" width="5292" height="714" selected="0" zOrder="32" index="2" expanded="0" /> + <language_XmlElement left="13169" top="12329" width="5292" height="714" selected="0" zOrder="32" index="3" expanded="0" /> </submit_XmlElement> </result_XmlElement> <submit_XmlElement left="2910" top="14393" width="5292" height="2831" selected="0" zOrder="35" index="4" expanded="1"> - <language_XmlElement left="8836" top="15451" width="5292" height="714" selected="0" zOrder="37" index="2" expanded="0" /> + <language_XmlElement left="8836" top="15451" width="5292" height="714" selected="0" zOrder="37" index="3" expanded="0" /> </submit_XmlElement> </XSDDesignerLayout> \ No newline at end of file Modified: ACMServer/trunk/ACMServer/Library/testData/submitList.xml =================================================================== --- ACMServer/trunk/ACMServer/Library/testData/submitList.xml 2009-02-01 22:13:06 UTC (rev 468) +++ ACMServer/trunk/ACMServer/Library/testData/submitList.xml 2009-02-01 22:46:13 UTC (rev 469) @@ -1,18 +1,49 @@ -<?xml version="1.0" encoding="utf-16"?> -<submitList xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> - <submit> - <id>123</id> - <sourceCode>asd asd asd asd</sourceCode> - <language>2</language> - </submit> - <submit> - <id>123</id> - <sourceCode>asd asd asd asd</sourceCode> - <language>2</language> - </submit> - <submit> - <id>123</id> - <sourceCode>asd asd asd asd</sourceCode> - <language>1</language> - </submit> -</submitList> \ No newline at end of file +\xFF\xFE< |