Exemple #1
0
 public IDataPayload createSerializedPayload(FormInstance model, IDataReference ref_)
 {
     init();
     rootRef = model.unpackReference2(ref_);
     if (this.serializer == null)
     {
         this.setAnswerDataSerializer(new XFormAnswerDataSerializer());
     }
     model.accept(this);
     if (theXmlDoc != null)
     {
         byte[] form = Encoding.UTF8.GetBytes(XFormSerializer.getString(theXmlDoc));
         if (dataPointers.Count == 0)
         {
             return(new ByteArrayPayload(form, null, IDataPayload_Fields.PAYLOAD_TYPE_XML));
         }
         MultiMessagePayload payload = new MultiMessagePayload();
         payload.addPayload(new ByteArrayPayload(form, null, IDataPayload_Fields.PAYLOAD_TYPE_XML));
         IEnumerator en = dataPointers.GetEnumerator();
         while (en.MoveNext())
         {
             IDataPointer pointer = (IDataPointer)en.Current;
             payload.addPayload(new DataPointerPayload(pointer));
         }
         return(payload);
     }
     else
     {
         return(null);
     }
 }
        public IDataPointer[] retrieveExternalDataPointer(IAnswerData data)
        {
            IEnumerator en = additionalSerializers.GetEnumerator();

            while (en.MoveNext())
            {
                IAnswerDataSerializer serializer = (IAnswerDataSerializer)en.Current;
                Boolean contains = serializer.containsExternalData(data);
                if (contains != null)
                {
                    return(serializer.retrieveExternalDataPointer(data));
                }
            }
            if (data is PointerAnswerData)
            {
                IDataPointer[] pointer = new IDataPointer[1];
                pointer[0] = (IDataPointer)((PointerAnswerData)data).getValue();
                return(pointer);
            }
            else if (data is MultiPointerAnswerData)
            {
                return((IDataPointer[])((MultiPointerAnswerData)data).Value);
            }
            //This shouldn't have been called.
            return(null);
        }
Exemple #3
0
 public void setValue(Object o)
 {
     if (o == null)
     {
         throw new NullReferenceException("Attempt to set an IAnswerData class to null.");
     }
     data = ((IDataPointer)o);
 }
        /**
         * @param data The AnswerDataObject to be serialized
         * @return A String which contains a reference to the
         * data
         */
        public Object serializeAnswerData(PointerAnswerData data)
        {
            //Note: In order to override this default behavior, a
            //new serializer should be used, and then registered
            //with this serializer
            IDataPointer pointer = (IDataPointer)data.getValue();

            return(pointer.DisplayText);
        }
Exemple #5
0
 public void readExternal(BinaryReader in_, PrototypeFactory pf)
 {
     data = (IDataPointer)ExtUtil.read(in_, new ExtWrapTagged());
 }
Exemple #6
0
 public PointerAnswerData(IDataPointer data)
 {
     this.data = data;
 }