/// <summary> /// Simply return the Identity from the XML string representation. /// </summary> /// <returns>The next SIF Event; null if there are parsing errors with the message.</returns> public SifEvent <Identity> GetNextEvent() { SifEvent <Identity> sifEvent = null; try { Identity identity = (Identity)sifParser.Parse(messages[eventMessageCount]); if (log.IsDebugEnabled) { log.Debug("Next Identity event record:\n" + identity.ToXml()); } sifEvent = new SifEvent <Identity>(identity, EventAction.Change); } catch (AdkParsingException e) { if (log.IsWarnEnabled) { log.Warn("The following event message from IdentityIterator has been ignored due to parsing errors: " + messages[eventMessageCount] + ".", e); } } finally { eventMessageCount++; } return(sifEvent); }
/// <summary> /// Simply return the SchoolInfo from the XML string representation. /// </summary> /// <returns>The next SIF Event; null if there are parsing errors with the message.</returns> public SifEvent <SchoolInfo> GetNextEvent() { SifEvent <SchoolInfo> sifEvent = null; try { SchoolInfo schoolInfo = (SchoolInfo)sifParser.Parse(messages[eventMessageCount]); if (log.IsDebugEnabled) { log.Debug("Next SchoolInfo event record:\n" + schoolInfo.ToXml()); } sifEvent = new SifEvent <SchoolInfo>(schoolInfo, EventAction.Change); } catch (AdkParsingException e) { if (log.IsWarnEnabled) { log.Warn("The following event message from SchoolInfoIterator has been ignored due to parsing errors: " + messages[eventMessageCount] + ".", e); } } finally { eventMessageCount++; } return(sifEvent); }
/// <summary> /// Simply return the StaffPersonal from the XML string representation. /// </summary> /// <returns>The next SIF Event; null if there are parsing errors with the message.</returns> public SifEvent <StaffPersonal> GetNextEvent() { SifEvent <StaffPersonal> sifEvent = null; try { StaffPersonal staffPersonal = (StaffPersonal)sifParser.Parse(messages[eventMessageCount]); if (log.IsDebugEnabled) { log.Debug("Next StaffPersonal event record:\n" + staffPersonal.ToXml()); } sifEvent = new SifEvent <StaffPersonal>(staffPersonal, EventAction.Change); } catch (AdkParsingException e) { if (log.IsWarnEnabled) { log.Warn("The following event message from StaffPersonalIterator has been ignored due to parsing errors: " + messages[eventMessageCount] + ".", e); } } finally { eventMessageCount++; } return(sifEvent); }
public void testComplexAndQuery() { String sifQuery = "<SIF_Request><SIF_Query>" + " <SIF_QueryObject ObjectName=\"StudentSchoolEnrollment\"/>" + " <SIF_ConditionGroup Type=\"None\">" + " <SIF_Conditions Type=\"And\">" + " <SIF_Condition>" + " <SIF_Element>@MembershipType</SIF_Element>" + " <SIF_Operator>EQ</SIF_Operator>" + " <SIF_Value>Home</SIF_Value>" + " </SIF_Condition>" + " <SIF_Condition>" + " <SIF_Element>@RefId</SIF_Element>" + " <SIF_Operator>EQ</SIF_Operator>" + " <SIF_Value>49B02D134D6D445DA7B5C76160BF3902</SIF_Value>" + " </SIF_Condition>" + " <SIF_Condition>" + " <SIF_Element>@SchoolInfoRefId</SIF_Element>" + " <SIF_Operator>EQ</SIF_Operator>" + " <SIF_Value>EF8850D522E54688B036B08F9C4C1312</SIF_Value>" + " </SIF_Condition>" + " <SIF_Condition>" + " <SIF_Element>@SchoolYear</SIF_Element>" + " <SIF_Operator>EQ</SIF_Operator>" + " <SIF_Value>2006</SIF_Value>" + " </SIF_Condition>" + " <SIF_Condition>" + " <SIF_Element>@StudentPersonalRefId</SIF_Element>" + " <SIF_Operator>EQ</SIF_Operator>" + " <SIF_Value>1AA295D3BC5146FA9058BB62FB6CC602</SIF_Value>" + " </SIF_Condition>" + " <SIF_Condition>" + " <SIF_Element>@TimeFrame</SIF_Element>" + " <SIF_Operator>EQ</SIF_Operator>" + " <SIF_Value>Historical</SIF_Value>" + " </SIF_Condition>" + " <SIF_Condition>" + " <SIF_Element>EntryDate</SIF_Element>" + " <SIF_Operator>EQ</SIF_Operator>" + " <SIF_Value>2005-08-28</SIF_Value>" + " </SIF_Condition>" + " </SIF_Conditions>" + " </SIF_ConditionGroup>" + " </SIF_Query></SIF_Request>"; SifParser parser = SifParser.NewInstance(); SIF_Request sifR = (SIF_Request)parser.Parse(sifQuery, null, 0, SifVersion.LATEST); Query query = new Query(sifR.SIF_Query); String sse = "<StudentSchoolEnrollment RefId=\"49B02D134D6D445DA7B5C76160BF3902\" StudentPersonalRefId=\"1AA295D3BC5146FA9058BB62FB6CC602\" SchoolInfoRefId=\"EF8850D522E54688B036B08F9C4C1312\" MembershipType=\"Home\" TimeFrame=\"Historical\" SchoolYear=\"2006\">" + "<EntryDate>2005-08-28</EntryDate>" + "</StudentSchoolEnrollment>"; SifDataObject sdo = (SifDataObject)parser.Parse(sse, null, 0, SifVersion.SIF20r1); Assert.IsTrue(query.Evaluate(sdo)); }
public void TestxsiNill_SDOObjectXML() { LearnerPersonal lp = new LearnerPersonal(); // Add a null UPN SifString str = new SifString(null); lp.SetField(LearnerDTD.LEARNERPERSONAL_UPN, str); // Add a null AlertMsg AlertMsg msg = new AlertMsg(AlertMsgType.DISCIPLINE, null); lp.AlertMsgList = new AlertMsgList(msg); msg.SetField(CommonDTD.ALERTMSG, new SifString(null)); // Write the object to a file Console.WriteLine("Writing to file..."); using (Stream fos = File.Open("SifWriterTest.Temp.xml", FileMode.Create, FileAccess.Write)) { SifWriter writer = new SifWriter(fos); lp.SetChanged(true); writer.Write(lp); writer.Flush(); fos.Close(); } // Parse the object from the file Console.WriteLine("Parsing from file..."); SifParser p = SifParser.NewInstance(); using (Stream fis = File.OpenRead("SifWriterTest.Temp.xml")) { lp = (LearnerPersonal)p.Parse(fis, null); } SimpleField upn = lp.GetField(LearnerDTD.LEARNERPERSONAL_UPN); Assert.IsNotNull(upn); SifString rawValue = (SifString)upn.SifValue; Assert.IsNotNull(rawValue); Assert.IsNull(rawValue.Value); Assert.IsNull(upn.Value); AlertMsgList alertMsgs = lp.AlertMsgList; Assert.IsNotNull(alertMsgs); Assert.IsTrue(alertMsgs.Count == 1); msg = (AlertMsg)alertMsgs.GetChildList()[0]; Assert.IsNull(msg.Value); SifSimpleType msgValue = msg.SifValue; Assert.IsNotNull(msgValue); Assert.IsNull(msgValue.RawValue); }
private void AssertMessageStreamer(MessageStreamer streamer, SifVersion version) { long length = streamer.Length; MemoryStream ms = new MemoryStream(); streamer.CopyTo(ms); // Copy to a string for debugging purposes Console.WriteLine("********************************************************************"); string data = Encoding.UTF8.GetString(ms.ToArray()); Console.WriteLine("RawLength:{0}, Text Length:{1}", ms.Length, data.Length); Console.WriteLine(data); Assert.AreEqual(length, ms.Length, "Length property and final length are not the same."); // Try parsing the final stream to see if it is a valid message SifParser parser = SifParser.NewInstance(); ms.Seek(0, SeekOrigin.Begin); StreamReader reader = new StreamReader(ms); SifElement o = parser.Parse(reader, null, SifParserFlags.None, version); Assert.IsNotNull(o); }
public void TestXsiNill_AllChildrenNil() { SchoolInfo si = new SchoolInfo(); AddressableObjectName paon = new AddressableObjectName( ); paon.Description = "The little white school house"; paon.StartNumber = "321"; Address addr = new Address(AddressType.CURRENT, paon); GridLocation gl = new GridLocation(); gl.SetField(CommonDTD.GRIDLOCATION_PROPERTYEASTING, new SifDecimal(null)); gl.SetField(CommonDTD.GRIDLOCATION_PROPERTYNORTHING, new SifDecimal(null)); addr.GridLocation = gl; si.AddressList = new AddressList(addr); // Write the object to a file Console.WriteLine("Writing to file..."); using (Stream fos = File.Open("SifWriterTest.Temp.xml", FileMode.Create, FileAccess.Write)) { SifWriter writer = new SifWriter(fos); si.SetChanged(true); writer.Write(si); writer.Flush(); fos.Close(); } // Parse the object from the file Console.WriteLine("Parsing from file..."); SifParser p = SifParser.NewInstance(); using (Stream fis = File.OpenRead("SifWriterTest.Temp.xml")) { si = (SchoolInfo)p.Parse(fis, null); } AddressList al = si.AddressList; Assert.IsNotNull(al); addr = al.ItemAt(0); Assert.IsNotNull(addr); gl = addr.GridLocation; Assert.IsNotNull(gl); Assert.IsNull(gl.PropertyEasting); Assert.IsNull(gl.PropertyNorthing); SimpleField sf = gl.GetField(CommonDTD.GRIDLOCATION_PROPERTYEASTING); Assert.IsNotNull(sf); Assert.IsNull(sf.Value); sf = gl.GetField(CommonDTD.GRIDLOCATION_PROPERTYNORTHING); Assert.IsNotNull(sf); Assert.IsNull(sf.Value); }
/// <summary> /// Create an instance using the Agent configuration file. /// </summary> /// <param name="agentConfig">Configuration file for the SIF Agent.</param> /// <exception cref="System.ArgumentException">agentConfig parameter is null.</exception> /// <exception cref="Systemic.Sif.Framework.Publisher.IteratorException">Error parsing student details from the Agent configuration file.</exception> public StudentPersonalIterator(AgentConfig agentConfig) { if (agentConfig == null) { throw new ArgumentException("agentConfig parameter is null."); } Mappings mappings = agentConfig.Mappings.GetMappings("Default"); if (mappings == null) { throw new IteratorException("<mappings id=\"Default\"> has not been specified for Agent " + agentConfig.SourceId + "."); } objectMapping = mappings.GetObjectMapping(typeof(StudentPersonal).Name, true); if (objectMapping == null) { throw new IteratorException("An object mapping for StudentPersonal has not been specified for Agent " + agentConfig.SourceId + "."); } string xml = objectMapping.XmlElement.InnerXml; IElementDef elementDef = Adk.Dtd.LookupElementDef(objectMapping.ObjectType); try { studentPersonal = (StudentPersonal)sifParser.Parse(xml); } catch (AdkParsingException e) { throw new IteratorException("The following event message from StudentPersonalIterator has parsing errors: " + xml + ".", e); } }
public static T WriteParseAndReturn<T>(T o, SifVersion version, SchemaValidator validator, bool echoOut) where T : SifElement { T returnVal; if ( o is SifMessagePayload ) { o.SifVersion = version; } SifWriter echo = null; if ( echoOut ) { // Write the object to System.out Console.WriteLine( "Writing object : " + o.ElementDef.Name + " using SIFVersion: " + version.ToString() ); echo = new SifWriter( Console.Out ); echo.Write( o, version ); } // Write the object to a file Console.WriteLine( "Writing to file... test.xml" ); using ( Stream fos = File.Open( "test.xml", FileMode.Create, FileAccess.Write ) ) { SifWriter writer = new SifWriter( fos ); writer.Write( o, version ); writer.Flush(); writer.Close(); fos.Close(); } if ( validator != null ) { Validate( "test.xml", validator ); } // Parse the object from the file Console.WriteLine( "Parsing from file..." ); SifParser p = SifParser.NewInstance(); using ( Stream fis = File.OpenRead( "test.xml" ) ) { returnVal = (T) p.Parse( fis, null ); fis.Close(); } // Write the parsed object to System.out returnVal.SetChanged( true ); Console.WriteLine( "Read object : " + returnVal.ElementDef.Name ); if ( echoOut ) { echo.Write( returnVal, version ); echo.Flush(); } return returnVal; }
/** * Test SIF Query Pattern support in the ADK * * @param objectDef * The IElementDef representing the root SIF Object * @param def * The IElementDef representing the field being queried (e.g. * CommonDTD.NAME_FIRSTNAME) * @param sqp * The expected SIF Query Pattern (e.g. "Name/FirstName") for the * above field def * @param version * The version of SIF to test */ private Query testSQP(IElementDef objectDef, IElementDef def, String sqp, SifVersion version) { Adk.SifVersion = version; IElementDef lookedUp = Adk.Dtd.LookupElementDefBySQP(objectDef, sqp); Assert.AreEqual(def.Name, lookedUp.Name, "IElementDef"); testResolveBySQP(objectDef, sqp, version, def); Query q = new Query(objectDef); q.AddCondition(def, ComparisonOperators.EQ, "foo"); String sifQueryXML = q.ToXml(); Console.WriteLine(sifQueryXML); String searchFor = "<SIF_Element>" + sqp + "</SIF_Element>"; Assert.IsTrue(sifQueryXML.Contains(searchFor), "SQP in XML"); SifParser parser = SifParser.NewInstance(); SIF_Request sifR = (SIF_Request)parser.Parse("<SIF_Request>" + sifQueryXML + "</SIF_Request>", null); Query newQuery = new Query(sifR.SIF_Query); Condition cond = newQuery.HasCondition(sqp); Assert.IsNotNull(cond, "hasCondition"); Assert.AreEqual(sqp, cond.GetXPath(), "SQP"); Assert.AreEqual(def, cond.Field, "IElementDef"); return(newQuery); }
private Query testResolveBySQP(IElementDef objectDef, String sqp, SifVersion version, IElementDef resolvedNestedElement) { Adk.SifVersion = version; Query q = new Query(objectDef); q.AddCondition(sqp, ComparisonOperators.EQ, "foo"); String sifQueryXML = q.ToXml(); Console.WriteLine(sifQueryXML); String searchFor = "<SIF_Element>" + sqp + "</SIF_Element>"; // The .Net ADK doesn't encode apostrophes when they are in // element content, so the following line is different than // the java test //searchFor = searchFor.Replace( "'", "'" ); Assert.IsTrue(sifQueryXML.Contains(searchFor), "SQP in XML"); SifParser parser = SifParser.NewInstance(); SIF_Request sifR = (SIF_Request)parser.Parse("<SIF_Request>" + sifQueryXML + "</SIF_Request>", null); Query newQuery = new Query(sifR.SIF_Query); Condition cond = newQuery.HasCondition(sqp); Assert.IsNotNull(cond, "hasCondition"); Assert.AreEqual(sqp, cond.GetXPath(), "SQP"); Assert.AreEqual(sqp, cond.GetXPath(newQuery, version), "Version-Specific SQP"); return(newQuery); }
public static SifElement ParseFile( String fileName, SifVersion parseVersion ) { SifElement se; SifParser parser = SifParser.NewInstance(); using ( StreamReader fileStream = new StreamReader( fileName ) ) { se = parser.Parse( fileStream, null, 0, parseVersion ); fileStream.Close(); } return se; }
public static T CreateFromXml(string xml) { if (String.IsNullOrEmpty(xml)) { throw new ArgumentException("xml parameter is null or empty.", "xml"); } SifParser sifParser = SifParser.NewInstance(); return((T)sifParser.Parse(xml)); }
public static void RunSDOParsingTest( String fileName, SifVersion version, Boolean runAssertions ) { // Parse the object from the file Console.WriteLine( "Parsing from file..." + fileName ); SifParser p = SifParser.NewInstance(); StreamReader reader = new StreamReader( fileName ); SifDataObject sdo = (SifDataObject) p.Parse( reader, null ); reader.Close(); Assert.IsNull( sdo ); runParsingTest<SifDataObject>( sdo, version ); }
public static Query SaveToXMLAndReparse(Query query, SifVersion version) { String sifQueryXML = query.ToXml(version); Console.WriteLine(sifQueryXML); SifParser parser = SifParser.NewInstance(); SIF_Request sifR = (SIF_Request)parser.Parse("<SIF_Request>" + sifQueryXML + "</SIF_Request>", null); Query newQuery = new Query(sifR.SIF_Query); return(newQuery); }
public void UnexpectedEmbeddedSIFMessage() { // this test should throw an exception because we are not passing "ExpectInnerEnvelope" in the // parser flags using (Stream aStream = GetResourceStream("GetNextMessageResponse.xml")) { TextReader aReader = new StreamReader(aStream); SifParser parser = SifParser.NewInstance(); SifElement element = parser.Parse(aReader, null, SifParserFlags.None, SifVersion.SIF11); aReader.Close(); aStream.Close(); } }
public void ParsingSIFTime() { SifElement element = null; using (Stream aStream = GetResourceStream("LibraryPatronStatus.xml")) { SifParser parser = SifParser.NewInstance(); element = parser.Parse(aStream, null); aStream.Close(); } Assert.IsNotNull(element, "SIFElement was not parsed"); }
public void ParsingSectionInfo() { SifElement element = null; using (Stream aStream = GetResourceStream("SectionInfo_SchoolCourseInfoOverride.xml")) { SifParser parser = SifParser.NewInstance(); element = parser.Parse(aStream, null); aStream.Close(); } Assert.IsNotNull(element, "SIFElement was not parsed"); }
public void testParseFieldRestrictions020() { String filteredRequest = "<SIF_Message xmlns=\"http://www.sifinfo.org/infrastructure/2.x\" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" Version=\"2.0r1\">" + "<SIF_Request>" + " <SIF_Header>" + " <SIF_MsgId>EC357ED020F811DD9039FE9AB6D9D924</SIF_MsgId>" + " <SIF_Timestamp>2008-05-13T10:28:57.789-05:00</SIF_Timestamp>" + " <SIF_SourceId>DDD7112020E211DD9039DFD0562B2BED</SIF_SourceId>" + " <SIF_DestinationId>Classroll Agent</SIF_DestinationId>" + " </SIF_Header>" + " <SIF_Version>2.*</SIF_Version>" + " <SIF_MaxBufferSize>11984</SIF_MaxBufferSize>" + " <SIF_Query>" + " <SIF_QueryObject ObjectName=\"SectionInfo\">" + " <SIF_Element>@RefId</SIF_Element>" + " <SIF_Element>@SchoolCourseInfoRefId</SIF_Element>" + " <SIF_Element>@SchoolYear</SIF_Element>" + " <SIF_Element>LocalId</SIF_Element>" + " <SIF_Element>ScheduleInfoList/ScheduleInfo/@TermInfoRefId</SIF_Element>" + " <SIF_Element>Description</SIF_Element>" + " <SIF_Element>LanguageOfInstruction</SIF_Element>" + " <SIF_Element>LanguageOfInstruction/Code</SIF_Element>" + " </SIF_QueryObject>" + " </SIF_Query>" + "</SIF_Request>" + "</SIF_Message>"; SifParser parser = SifParser.NewInstance(); SIF_Request request = (SIF_Request)parser.Parse(filteredRequest, null, 0, SifVersion.LATEST); Query query = new Query(request.SIF_Query); // Assert things about the query Assert.AreEqual(StudentDTD.SECTIONINFO, query.ObjectType); Assert.AreEqual("SectionInfo", query.ObjectTag); IElementDef[] elements = query.FieldRestrictions; Assert.IsNotNull(elements); Assert.AreEqual(8, elements.Length); // Attempt reparsing and then re-asserting: query = SaveToXMLAndReparse(query, SifVersion.LATEST); // Assert things about the query Assert.AreEqual(StudentDTD.SECTIONINFO, query.ObjectType); Assert.AreEqual("SectionInfo", query.ObjectTag); elements = query.FieldRestrictions; Assert.IsNotNull(elements); Assert.AreEqual(8, elements.Length); }
public void testReturningCorrectSifVersionSIF1x() { String test = "<SIF_Request xmlns=\"http://www.sifinfo.org/infrastructure/1.x\">" + " <SIF_Query >"+ " <SIF_QueryObject ObjectName=\"SchoolInfo\" />" + " </SIF_Query>"+ "</SIF_Request>"; SifParser parser = SifParser.NewInstance(); SifElement element = parser.Parse(test, null); // Since the version was not passed in, the latest supported // SIF 2.x Version should be returned Assertion.AssertEquals(SifVersion.GetLatest(1), element.SifVersion); element = parser.Parse(test, null, 0, SifVersion.SIF11); // Since the version was passed in, 1.1 should be returned Assertion.AssertEquals(SifVersion.SIF11, element.SifVersion); test = "<SIF_Message Version=\"1.1\" xmlns=\"http://www.sifinfo.org/infrastructure/1.x\">" + "<SIF_Request>" + " <SIF_Query >"+ " <SIF_QueryObject ObjectName=\"SchoolInfo\" />" + " </SIF_Query>"+ "</SIF_Request>" + "</SIF_Message>"; element = parser.Parse(test, null); // The version attribute is specified, use it. Assertion.AssertEquals(SifVersion.SIF11, element.SifVersion); element = parser.Parse(test, null, 0, SifVersion.SIF15r1); // The version attribute is specified and should override the // version passed in Assertion.AssertEquals(SifVersion.SIF11, element.SifVersion); }
public void TestParseComplexTypes() { Adk.Initialize(); Adk.SifVersion = SifVersion.SIF15r1; SifParser p = SifParser.NewInstance(); Activity activity = new Activity(); activity = (Activity)p.Parse( "<Activity RefId='0E3915409C3611DABE9FE16E3CD135F2' xml:lang='en'><Title>Activity 0E3915409C3611DABE9FE16E3CD135F2</Title><ActivityTime><CreationDate>20041016</CreationDate></ActivityTime></Activity>" , null); Assert.IsNotNull(activity, "Activity is null"); Assert.AreEqual(activity.Title, "Activity 0E3915409C3611DABE9FE16E3CD135F2", "activity.Title is incorrect"); Assert.AreEqual(DateTime.Parse(activity.ActivityTime.CreationDate.ToString()).ToString("yyyyMMdd"), "20041016", "activity.ActivityTime.CreationDate is incorrect"); }//end TestParseComplexTypes
public void TestLooseXmlTypeParsing100() { string vendorInfo15r1 = @"<VendorInfo RefId='F138FF5017DC11DBAC45A0329DB3F005'> <VendorName>Kleinman & Co.</VendorName> <Send1099 Code='XXX' /> </VendorInfo>"; SifParser parser = SifParser.NewInstance(); VendorInfo vi = (VendorInfo)parser.Parse(vendorInfo15r1, null, SifParserFlags.None, SifVersion.SIF15r1); Assert.IsNotNull(vi); Assert.IsFalse(vi.Send1099.HasValue); }
public void PerfTestParsing5000Times() { // Do one warmup parse . . . SifElement element = null; using (Stream aStream = this.GetType().Assembly.GetManifestResourceStream(AdkTest.RESOURCE_ROOT + "StudentPersonalResponse_AddForDelete.xml")) { SifParser parser = new SifParser(); // Do one warmup parse . . . TextReader aReader = new StreamReader(aStream); element = parser.Parse(aReader, null, SifParserFlags.None, SifVersion.SIF11); for (int a = 0; a < 5000; a++) { aStream.Seek(0, SeekOrigin.Begin); element = parser.Parse(aStream, null, SifParserFlags.None); } aStream.Close(); } Assert.IsNotNull(element, "SIFElement was not parsed"); }
public void SIFMessageParse() { SifElement element = null; using (Stream aStream = GetResourceStream("StudentPersonalResponse_AddForDelete.xml")) { TextReader aReader = new StreamReader(aStream); SifParser parser = SifParser.NewInstance(); element = parser.Parse(aReader, null, SifParserFlags.None, SifVersion.SIF11); aReader.Close(); aStream.Close(); } Assert.IsNotNull(element, "SIFElement was not parsed"); }
public void SimpleObjectParse() { SifElement element = null; using (Stream aStream = GetResourceStream("SchoolInfo.xml")) { TextReader aReader = new StreamReader(aStream, Encoding.UTF8); SifParser parser = SifParser.NewInstance(); element = parser.Parse(aReader, null, SifParserFlags.None, SifVersion.SIF11); aReader.Close(); aStream.Close(); } Assert.IsNotNull(element, "SIFElement was not parsed"); }
public void testReturningCorrectSifVersionDefault() { String test = "<SIF_Request>" + " <SIF_Query >"+ " <SIF_QueryObject ObjectName=\"SchoolInfo\" />" + " </SIF_Query>"+ "</SIF_Request>"; SifParser parser = SifParser.NewInstance(); SifElement element = parser.Parse(test, null); // Since the version was not passed in, the ADK SIF Version should be returned Assertion.AssertEquals(Adk.SifVersion, element.SifVersion); }
public static SifDataObject WriteParseAndReturn(SifDataObject o, SifVersion version) { SifDataObject returnVal = null; try { // Write the object to System.out Console.WriteLine("Writing object : " + o.ObjectTag + " using SifVersion: " + version.ToString()); SifWriter echo = new SifWriter(Console.Out); echo.Write(o, version); o.SetChanged(false); echo.Write(o); // Write the object to a file Console.WriteLine("Writing to file..."); using (Stream fos = File.Open("test.xml", FileMode.Create, FileAccess.Write)) { SifWriter writer = new SifWriter(fos); o.SetChanged(true); writer.Write(o, version); writer.Flush(); fos.Close(); } // Parse the object from the file Console.WriteLine("Parsing from file..."); SifParser p = SifParser.NewInstance(); using (Stream fis = File.OpenRead("test.xml")) { returnVal = (SifDataObject)p.Parse(fis, null); } // Write the parsed object to System.out returnVal.SetChanged(true); Console.WriteLine("Read object : " + returnVal.ObjectTag); echo.Write(returnVal, version); } catch (Exception e) { Console.WriteLine(e); Assert.Fail("Exception: " + e.Message); } return(returnVal); }
private void ParseSingleSDOObjectFromFile(string fileName) { // Parse the object from the file Console.WriteLine("Parsing from file..."); SifParser p = SifParser.NewInstance(); SifDataObject sifObject = null; using (Stream inStream = GetResourceStream(fileName)) { sifObject = (SifDataObject)p.Parse(inStream, null, SifParserFlags.None, SifVersion.SIF15r1); inStream.Close(); } Assert.IsNotNull(sifObject); AdkObjectParseHelper.runParsingTest(sifObject, SifVersion.SIF15r1); }
public void ParseSectionInfoWithOverride() { // Parse the object from the file Console.WriteLine("Parsing from file..."); SifParser p = SifParser.NewInstance(); SIF_Event sifEvent = null; using (Stream inStream = GetResourceStream("SectionInfo_SchoolCourseInfoOverride.xml")) { sifEvent = (SIF_Event)p.Parse(inStream, null, SifParserFlags.None, SifVersion.SIF15r1); inStream.Close(); } Assert.IsNotNull(sifEvent); AdkObjectParseHelper.runParsingTest((SifDataObject)sifEvent.SIF_ObjectData.SIF_EventObject.GetChildList()[0], SifVersion.SIF15r1); }
public void ParseSIF_LogEntry2() { // This test attempts to parse SIF_LogEntry, Console.WriteLine("Parsing from file..."); SifParser p = SifParser.NewInstance(); SIF_Ack logMsg = null; using (Stream inStream = GetResourceStream("SIF_LogEntry2.xml")) { logMsg = (SIF_Ack)p.Parse(inStream, null, SifParserFlags.ExpectInnerEnvelope, SifVersion.SIF20r1); inStream.Close(); } Assert.IsNotNull(logMsg); //AdkObjectParseHelper.runParsingTest( logMsg ); }