/** * Sets an array of <code>SIF_ExtendedElement</code> objects. All existing * <code>SIF_ExtendedElement</code> instances * are removed and replaced with this list. Calling this method with the * parameter value set to null removes all <code>SIF_ExtendedElements</code>. * @param elements The SIF_Extended elements instances to set on this object * * @since ADK 1.5 */ //public void SetSifExtendedElements(SIF_ExtendedElement[] elements) //{ // SIF_ExtendedElements = elements; //} /// <summary> Sets a SIF_ExtendedElement.</summary> /// <param name="name">The element name /// </param> /// <param name="valu">The element value /// /// @since Adk 1.5 /// </param> public virtual void AddSIFExtendedElement(string name, string valu) { if (GlobalDTD.SIF_EXTENDEDELEMENTS == null || name == null || valu == null) { return; } SIF_ExtendedElement ele = null; // Lookup existing SIF_ExtendedElements container SIF_ExtendedElements see = (SIF_ExtendedElements)GetChild(GlobalDTD.SIF_EXTENDEDELEMENTS); if (see == null) { // Create a new SIF_ExtendedElements container see = new SIF_ExtendedElements(); AddChild(see); } else { // Lookup existing SIF_ExtendedElement with this name ele = see[name]; } // Create/update SIF_ExtendedElement if (ele == null) { ele = new SIF_ExtendedElement(name, valu); see.AddChild(ele); } else { ele.TextValue = valu; } }
public void TestWriteXSINillMultiple() { SIF_Data data = new SIF_Data(); for (int a = 0; a < 3; a++) { StudentPersonal sp = new StudentPersonal(); sp.RefId = Adk.MakeGuid(); sp.StateProvinceId = "\u06DE55889"; sp.LocalId = "987987987987987"; Name name = new Name(NameType.LEGAL, "Johnson", "Steve"); sp.Name = name; name.SetField(CommonDTD.NAME_TYPE, new SifString(null)); name.SetField(CommonDTD.NAME_MIDDLENAME, new SifString(null)); SIF_ExtendedElement see = new SIF_ExtendedElement("FOO", null); see.SetField(GlobalDTD.SIF_EXTENDEDELEMENT, new SifString(null)); see.XsiType = "Integer"; sp.SIFExtendedElementsContainer.Add(see); sp.SetField(StudentDTD.STUDENTPERSONAL_LOCALID, new SifString(null)); data.AddChild(sp); } SIF_Data data2 = (SIF_Data)AdkObjectParseHelper.WriteParseAndReturn(data, SifVersion.LATEST, null, true); foreach (SifElement child in data2.GetChildList()) { StudentPersonal copy = (StudentPersonal)child; Name name = copy.Name; Assert.IsNull(name.Type); Assert.IsNull(name.MiddleName); Assert.IsNotNull(name.FirstName); Assert.IsNotNull(name.LastName); // Attributes cannot be represented using xs nil SimpleField field = name.GetField(CommonDTD.NAME_TYPE); Assert.IsNull(field); field = name.GetField(CommonDTD.NAME_MIDDLENAME); Assert.IsNotNull(field); Assert.IsNull(field.Value); SIF_ExtendedElement see = copy.GetSIFExtendedElement("FOO"); field = see.GetField(GlobalDTD.SIF_EXTENDEDELEMENT); Assert.IsNotNull(field); Assert.IsNull(field.Value); field = copy.GetField(StudentDTD.STUDENTPERSONAL_LOCALID); Assert.IsNotNull(field); Assert.IsNull(field.Value); } }
public void testSetSIF_ExtendedElementsContainer() { StudentPersonal sp = ObjectCreator.CreateStudentPersonal(); SIF_ExtendedElements elements = new SIF_ExtendedElements(); elements.AddSIF_ExtendedElement("urn:foo", "bar"); // Add another one with the same key elements.AddSIF_ExtendedElement("urn:foo", "bar2"); // Add a third one with a different key elements.AddSIF_ExtendedElement("urn:foo2", "bar3"); sp.SIFExtendedElementsContainer = elements; SIF_ExtendedElement[] elementArray = sp.SIFExtendedElementsContainer.ToArray(); Assert.AreEqual(3, elementArray.Length, "Should have three items in it."); // Try to find all three elements to make sure that they are all there bool found1 = false, found2 = false, found3 = false; for (int i = 0; i < 3; i++) { SIF_ExtendedElement test = elementArray[i]; String key = test.Key; if (key.Equals("urn:foo")) { String value = test.TextValue; if (value.Equals("bar")) { found1 = true; } else if (value.Equals("bar2")) { found2 = true; } } else { found3 = key.Equals("urn:foo2") && test.TextValue.Equals("bar3"); } } Assert.IsTrue(found1, "Element1 was not found"); Assert.IsTrue(found2, "Element2 was not found"); Assert.IsTrue(found3, "Element3 was not found"); }
public void TestWriteXSIType() { StudentPersonal sp = new StudentPersonal(); sp.RefId = Adk.MakeGuid(); sp.StateProvinceId = "\u06DE55889"; sp.LocalId = "987987987987987"; SIF_ExtendedElement see = new SIF_ExtendedElement("FOO", "BAR"); see.XsiType = "Integer"; sp.SIFExtendedElementsContainer.Add(see); Console.WriteLine(sp.ToXml()); StudentPersonal copy = (StudentPersonal)AdkObjectParseHelper.WriteParseAndReturn(sp, SifVersion.LATEST, null, true); see = copy.SIFExtendedElements[0]; Assert.IsNotNull(see); Assert.AreEqual("Integer", see.XsiType); }