Пример #1
0
        /**
         * recursively write out a node of the instance
         * @param out
         * @param e
         * @param ref
         * @throws IOException
         */
        private void writeTreeElement(BinaryWriter out_, TreeElement e)
        {
            TreeElement templ   = instance.getTemplatePath(e.getRef());
            Boolean     isGroup = !templ.isLeaf();

            if (isGroup)
            {
                ArrayList childTypesHandled = new ArrayList();
                for (int i = 0; i < templ.getNumChildren(); i++)
                {
                    String childName = templ.getChildAt(i).getName();
                    if (!childTypesHandled.Contains(childName))
                    {
                        childTypesHandled.Add(childName);

                        int mult = e.getChildMultiplicity(childName);
                        if (mult > 0 && !e.getChild(childName, 0).isRelevant())
                        {
                            mult = 0;
                        }

                        ExtUtil.writeNumeric(out_, mult);
                        for (int j = 0; j < mult; j++)
                        {
                            writeTreeElement(out_, e.getChild(childName, j));
                        }
                    }
                }
            }
            else
            {
                ExtUtil.write(out_, new ExtWrapAnswerData(this, e.dataType, e.getValue()));
            }
        }
Пример #2
0
 public void writeExternal(BinaryWriter out_)
 {
     out_.Write(data.Length);
     for (int i = 0; i < data.Length; ++i)
     {
         ExtUtil.write(out_, new ExtWrapTagged(data[i]));
     }
 }
Пример #3
0
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, new ExtWrapTagged(ref_));
     ExtUtil.writeString(out_, method);
     ExtUtil.writeString(out_, action);
     ExtUtil.writeString(out_, ExtUtil.emptyIfNull(mediaType));
     ExtUtil.write(out_, new ExtWrapMap(attributeMap));
 }
Пример #4
0
 /**
  * Write the object to stream.
  */
 public void writeExternal(BinaryWriter dos)
 {
     ExtUtil.writeBool(dos, fallbackDefaultLocale);
     ExtUtil.writeBool(dos, fallbackDefaultForm);
     ExtUtil.write(dos, new ExtWrapMap(localeResources, new ExtWrapListPoly()));
     ExtUtil.write(dos, new ExtWrapList(locales));
     ExtUtil.write(dos, new ExtWrapNullable(defaultLocale));
     ExtUtil.write(dos, new ExtWrapNullable(currentLocale));
 }
Пример #5
0
        /* (non-Javadoc)
         * @see org.javarosa.core.services.storage.utilities.Externalizable#writeExternal(java.io.DataOutputStream)
         */
        public void writeExternal(BinaryWriter out_)
        {
            ExtUtil.write(out_, new ExtWrapNullable(ID));
            ExtUtil.writeNumeric(out_, DataType);
            ExtUtil.write(out_, new ExtWrapNullable(Preload));
            ExtUtil.write(out_, new ExtWrapNullable(PreloadParams));
            ExtUtil.write(out_, new ExtWrapTagged(ref_));

            //don't bother writing relevancy/required/readonly/constraint/calculate right now; they're only used during parse anyway
        }
Пример #6
0
 /*
  * (non-Javadoc)
  *
  * @see
  * org.javarosa.core.services.storage.utilities.Externalizable#writeExternal
  * (java.io.DataOutputStream)
  */
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.writeNumeric(out_, id);
     ExtUtil.writeNumeric(out_, formId);
     ExtUtil.write(out_, new ExtWrapNullable(name));
     ExtUtil.write(out_, new ExtWrapNullable(schema));
     ExtUtil.write(out_, new ExtWrapNullable(dateSaved));
     ExtUtil.write(out_, new ExtWrapMap(namespaces));
     ExtUtil.write(out_, getRoot());
 }
Пример #7
0
        //UPGRADE_TODO: Class 'java.io.DataOutputStream' was converted to 'System.IO.BinaryWriter' which has a different behavior. "ms-help://MS.VSCC.v80/dv_commoner/local/redirect.htm?index='!DefaultContextWindowIndex'&keyword='jlca1073_javaioDataOutputStream'"
        public virtual void  writeExternal(System.IO.BinaryWriter out_Renamed)
        {
            ExtUtil.writeNumeric(out_Renamed, refLevel);
            ExtUtil.write(out_Renamed, new ExtWrapNullable(instanceName));
            ExtUtil.writeNumeric(out_Renamed, contextType);
            ExtUtil.writeNumeric(out_Renamed, size());

            for (TreeReferenceLevel l: data)
            {
                ExtUtil.write(out_Renamed, l);
            }
        }
Пример #8
0
        public void writeExternal(BinaryWriter out_)
        {
            ArrayList v = new ArrayList();

            for (int i = 0; i < predicates.Length; i++)
            {
                v.Add(predicates[i]);
            }

            ExtUtil.write(out_, new ExtWrapTagged(x));
            ExtUtil.write(out_, new ExtWrapListPoly(v));
        }
Пример #9
0
        public void writeExternal(BinaryWriter out_renamed)
        {
            ArrayList v = new ArrayList();

            for (int i = 0; i < args.Length; i++)
            {
                v.Add(args[i]);
            }

            ExtUtil.write(out_renamed, id);
            ExtUtil.write(out_renamed, new ExtWrapListPoly(v));
        }
Пример #10
0
        /**
         * serialize a compact instance
         */
        public void writeExternal(BinaryWriter out_renamed)
        {
            if (instance == null)
            {
                throw new SystemException("instance has not yet been set via setData()");
            }

            ExtUtil.writeNumeric(out_renamed, instance.getFormId());
            ExtUtil.writeNumeric(out_renamed, instance.ID);
            ExtUtil.write(out_renamed, new ExtWrapNullable(instance.getDateSaved()));

            writeTreeElement(out_renamed, instance.getRoot());
        }
Пример #11
0
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, nodesetRef);
     ExtUtil.write(out_, new ExtWrapTagged(nodesetExpr));
     ExtUtil.write(out_, contextRef);
     ExtUtil.write(out_, labelRef);
     ExtUtil.write(out_, new ExtWrapTagged(labelExpr));
     ExtUtil.write(out_, new ExtWrapNullable(valueRef));
     ExtUtil.write(out_, new ExtWrapNullable(valueExpr == null ? null : new ExtWrapTagged(valueExpr)));
     ExtUtil.write(out_, new ExtWrapNullable(copyRef));
     ExtUtil.writeBool(out_, labelIsItext);
     ExtUtil.writeBool(out_, copyMode);
 }
Пример #12
0
        public void writeExternal(BinaryWriter out_)
        {
            ExtUtil.writeNumeric(out_, init_context);
            if (init_context == INIT_CONTEXT_EXPR)
            {
                ExtUtil.write(out_, filtExpr);
            }

            ArrayList v = new ArrayList();

            for (int i = 0; i < steps.Length; i++)
            {
                v.Add(steps[i]);
            }
            ExtUtil.write(out_, new ExtWrapList(v));
        }
Пример #13
0
        /*
         * (non-Javadoc)
         * @see org.javarosa.core.util.Externalizable#writeExternal(java.io.DataOutputStream)
         */
        public void writeExternal(System.IO.BinaryWriter dos)
        {
            ExtUtil.writeNumeric(dos, ID);
            ExtUtil.write(dos, new ExtWrapNullable(binding == null ? null : new ExtWrapTagged(binding)));
            ExtUtil.write(dos, new ExtWrapNullable(AppearanceAttr));
            ExtUtil.write(dos, new ExtWrapNullable(TextID));
            ExtUtil.write(dos, new ExtWrapNullable(LabelInnerText));
            ExtUtil.write(dos, new ExtWrapNullable(HelpText));
            ExtUtil.write(dos, new ExtWrapNullable(HelpTextID));
            ExtUtil.write(dos, new ExtWrapNullable(HelpInnerText));

            ExtUtil.writeNumeric(dos, ControlType);

            ExtUtil.write(dos, new ExtWrapList(ExtUtil.emptyIfNull(choices)));
            ExtUtil.write(dos, new ExtWrapNullable(dynamicChoices));
        }
Пример #14
0
        public void writeExternal(BinaryWriter out_)
        {
            ExtUtil.writeNumeric(out_, axis);
            ExtUtil.writeNumeric(out_, test);

            switch (test)
            {
            case TEST_NAME: ExtUtil.write(out_, name); break;

            case TEST_NAMESPACE_WILDCARD: ExtUtil.writeString(out_, namespace_); break;

            case TEST_TYPE_PROCESSING_INSTRUCTION: ExtUtil.write(out_, new ExtWrapNullable(literal)); break;
            }

            ArrayList v = new ArrayList();

            for (int i = 0; i < predicates.Length; i++)
            {
                v.Add(predicates[i]);
            }
            ExtUtil.write(out_, new ExtWrapListPoly(v));
        }
Пример #15
0
        /** Write the group definition object to the supplied stream. */
        public void writeExternal(BinaryWriter dos)
        {
            ExtUtil.writeNumeric(dos, ID);
            ExtUtil.write(dos, new ExtWrapNullable(AppearanceAttr));
            ExtUtil.write(dos, new ExtWrapTagged(Bind));
            ExtUtil.write(dos, new ExtWrapNullable(TextID));
            ExtUtil.write(dos, new ExtWrapNullable(LabelInnerText));
            ExtUtil.writeBool(dos, Repeat);
            ExtUtil.write(dos, new ExtWrapListPoly(Children));

            ExtUtil.writeBool(dos, noAddRemove);
            ExtUtil.write(dos, new ExtWrapNullable(count != null ? new ExtWrapTagged(count) : null));

            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(chooseCaption));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(addCaption));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(delCaption));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(doneCaption));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(addEmptyCaption));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(doneEmptyCaption));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(entryHeader));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(delHeader));
            ExtUtil.writeString(dos, ExtUtil.emptyIfNull(mainHeader));
        }
Пример #16
0
 public void writeExternal(BinaryWriter out_renamed)
 {
     ExtUtil.writeNumeric(out_renamed, refLevel);
     ExtUtil.write(out_renamed, new ExtWrapList(names));
     ExtUtil.write(out_renamed, new ExtWrapList(multiplicity));
 }
Пример #17
0
 public void writeExternal(BinaryWriter out_renamed)
 {
     ExtUtil.write(out_renamed, new ExtWrapTagged(expr));
     ExtUtil.write(out_renamed, contextRef);
     ExtUtil.write(out_renamed, new ExtWrapList(targets));
 }
Пример #18
0
            public override void writeExternal(BinaryWriter out_)
            {
                if (val == null)
                {
                    out_.Write(0x00);
                }
                else
                {
                    byte           prefix = 0x01;
                    Externalizable serEntity;

                    if (dataType < 0 || dataType >= 100)
                    {
                        //custom data types
                        serEntity = new ExtWrapTagged(val);
                    }
                    else if (val is SelectOneData)
                    {
                        serEntity = new ExtWrapBase(instance.compactSelectOne((SelectOneData)val));
                    }
                    else if (val is SelectMultiData)
                    {
                        serEntity = new ExtWrapList(instance.compactSelectMulti((SelectMultiData)val));
                    }
                    else
                    {
                        serEntity = (IAnswerData)val;

                        //flag when data type differs from the default data type in the <bind> (can happen with 'calculate's)
                        if (val.GetType() != classForDataType(dataType))
                        {
                            if (val is StringData)
                            {
                                prefix = 0x40;
                            }
                            else if (val is IntegerData)
                            {
                                prefix = 0x41;
                            }
                            else if (val is DecimalData)
                            {
                                prefix = 0x42;
                            }
                            else if (val is DateData)
                            {
                                prefix = 0x43;
                            }
                            else if (val is BooleanData)
                            {
                                prefix = 0x44;
                            }
                            else
                            {
                                throw new SystemException("divergent data type not allowed");
                            }
                        }
                    }

                    out_.Write(prefix);
                    ExtUtil.write(out_, serEntity);
                }
            }
Пример #19
0
 /* (non-Javadoc)
  * @see org.javarosa.core.services.storage.utilities.Externalizable#writeExternal(java.io.DataOutputStream)
  */
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.writeString(out_, ExtUtil.emptyIfNull(nodeset));
     ExtUtil.write(out_, ref_);
 }
Пример #20
0
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, new ExtWrapTagged(constraint));
     ExtUtil.writeString(out_, ExtUtil.emptyIfNull(constraintMsg));
 }
Пример #21
0
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, id);
 }
Пример #22
0
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, new ExtWrapMap(localeData));
 }
Пример #23
0
        /*
         * (non-Javadoc)
         *
         * @see
         * org.javarosa.core.services.storage.utilities.Externalizable#writeExternal
         * (java.io.DataOutputStream)
         */
        public void writeExternal(BinaryWriter out_renamed)
        {
            ExtUtil.writeString(out_renamed, ExtUtil.emptyIfNull(name));
            ExtUtil.writeNumeric(out_renamed, multiplicity);
            ExtUtil.writeBool(out_renamed, repeatable);
            ExtUtil.write(out_renamed, new ExtWrapNullable(value == null ? null : new ExtWrapTagged(value)));

            // Jan 22, 2009 - [email protected]
            // old line: ExtUtil.write(out, new
            // ExtWrapList(ExtUtil.emptyIfNull(children)));
            // New Child serialization
            // 1. write null status as boolean
            // 2. write number of children
            // 3. for all child in children
            // 3.1 if child type == TreeElement write boolean true , then serialize
            // directly.
            // 3.2 if child type != TreeElement, write boolean false, then tagged
            // child
            if (children == null)
            {
                // 1.
                ExtUtil.writeBool(out_renamed, false);
            }
            else
            {
                // 1.
                ExtUtil.writeBool(out_renamed, true);
                // 2.
                ExtUtil.writeNumeric(out_renamed, children.Count);
                // 3.
                IEnumerator en = children.GetEnumerator();
                while (en.MoveNext())
                {
                    TreeElement child = (TreeElement)en.Current;
                    if (child.GetType() == typeof(TreeElement))
                    {
                        // 3.1
                        ExtUtil.writeBool(out_renamed, true);
                        child.writeExternal(out_renamed);
                    }
                    else
                    {
                        // 3.2
                        ExtUtil.writeBool(out_renamed, false);
                        ExtUtil.write(out_renamed, new ExtWrapTagged(child));
                    }
                }
            }

            // end Jan 22, 2009

            ExtUtil.writeNumeric(out_renamed, dataType);
            ExtUtil.writeBool(out_renamed, relevant);
            ExtUtil.writeBool(out_renamed, required);
            ExtUtil.writeBool(out_renamed, enabled);
            ExtUtil.writeBool(out_renamed, relevantInherited);
            ExtUtil.writeBool(out_renamed, enabledInherited);
            ExtUtil.write(out_renamed, new ExtWrapNullable(constraint)); // TODO: inefficient for repeats
            ExtUtil.writeString(out_renamed, ExtUtil.emptyIfNull(preloadHandler));
            ExtUtil.writeString(out_renamed, ExtUtil.emptyIfNull(preloadParams));

            ArrayList attStrings = getSingleStringAttributeVector();
            ArrayList al         = ExtUtil.emptyIfNull(attStrings);

            ExtUtil.write(out_renamed, new ExtWrapList(al));
        }
Пример #24
0
 /* (non-Javadoc)
  * @see org.javarosa.core.services.storage.utilities.Externalizable#writeExternal(java.io.DataOutputStream)
  */
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, new ExtWrapList(vs));
 }
Пример #25
0
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, new ExtWrapTagged(expr));
     ExtUtil.writeBool(out_, hasNow);
 }
Пример #26
0
 public void writeExternal(BinaryWriter out_renamed)
 {
     ExtUtil.write(out_renamed, new ExtWrapNullable(namespace_));
     ExtUtil.writeString(out_renamed, name);
 }
Пример #27
0
 public void writeExternal(BinaryWriter out_)
 {
     ExtUtil.write(out_, new ExtWrapTagged(data));
 }