Пример #1
0
        /**
         * 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;
            }
        }
Пример #2
0
        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);
            }
        }
Пример #3
0
        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");
        }
Пример #4
0
        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);
        }