|
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< |