// Constructors
 public AANode(AnyType theElement, AANode lt, AANode rt)
 {
     element = theElement;
     left    = lt;
     right   = rt;
     level   = 1;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="CoreV2ServicesModelServerEgress" /> class.
        /// </summary>
        /// <param name="host">host (required).</param>
        /// <param name="port">port (required).</param>
        /// <param name="protocol">protocol (required).</param>
        public CoreV2ServicesModelServerEgress(string host = default(string), AnyType port = default(AnyType), string protocol = default(string))
        {
            // to ensure "host" is required (not null)
            if (host == null)
            {
                throw new InvalidDataException("host is a required property for CoreV2ServicesModelServerEgress and cannot be null");
            }
            else
            {
                this.Host = host;
            }

            // to ensure "port" is required (not null)
            if (port == null)
            {
                throw new InvalidDataException("port is a required property for CoreV2ServicesModelServerEgress and cannot be null");
            }
            else
            {
                this.Port = port;
            }

            // to ensure "protocol" is required (not null)
            if (protocol == null)
            {
                throw new InvalidDataException("protocol is a required property for CoreV2ServicesModelServerEgress and cannot be null");
            }
            else
            {
                this.Protocol = protocol;
            }
        }
        /// <summary>
        /// Debug function which will print current variable scopes and info.
        /// </summary>
        // debug functions
        public virtual void debug_print_vars()
        {
            int level = 0;

            for (IEnumerator i = _scopes.GetEnumerator(); i.MoveNext();)
            {
                IDictionary scope = (IDictionary)i.Current;

                Console.WriteLine("Scope level " + level);
                //			scope.entrySet().iterator();
                for (IEnumerator j = scope.GetEnumerator(); j.MoveNext();)
                {
                    QName varname = (QName)j.Current;

                    AnyType val = (AnyType)scope[varname];

                    string string_val = "null";

                    if (val != null)
                    {
                        string_val = val.StringValue;
                    }

                    Console.WriteLine("Varname: " + varname.@string() + " expanded=" + varname.expanded() + " Value: " + string_val);
                }

                level++;
            }
        }
Exemple #4
0
        /// <summary>
        /// Atomize a ResultSequnce argument expression.
        /// </summary>
        /// <param name="arg">
        ///            input expression. </param>
        /// <returns> Result of operation. </returns>
        public static ResultSequence atomize(ResultSequence arg)
        {
            ResultBuffer rs = new ResultBuffer();

            for (var i = arg.iterator(); i.MoveNext();)
            {
                AnyType at = (AnyType)i.Current;

                if (at is AnyAtomicType)
                {
                    rs.add(at);
                }
                else if (at is NodeType)
                {
                    NodeType nt = (NodeType)at;
                    rs.concat(nt.typed_value());
                }
                else
                {
                    Debug.Assert(false);
                }
            }

            return(rs.Sequence);
        }
    public void ParseLiteral()
    {
        // arrange
        var type            = new AnyType();
        var objectValueNode = new ObjectValueNode(
            new ObjectFieldNode(
                AnyType.TypeNameField,
                "test"
                ),
            new ObjectFieldNode(
                "foo",
                "bar"
                )
            );

        // act
        object?valueSyntax = type.ParseLiteral(objectValueNode);

        // assert
        Representation?parsedRepresentation = Assert.IsType <Representation>(valueSyntax);

        Assert.Equal(
            "test",
            parsedRepresentation.TypeName);
        Assert.Equal(
            objectValueNode,
            parsedRepresentation.Data);
    }
Exemple #6
0
        private AnyType createAttrType(Item at, StaticContext sc)
        {
            anyType = new AttrType();
            NodeType nodeType = (NodeType)at;
            Node     node     = nodeType.node_value();

            if (node == null)
            {
                return(anyType);
            }

            string nodeName = node.LocalName;

            if (wild())
            {
                if (type() != null)
                {
                    anyType = createAttrForXSDType(node, sc);
                }
            }
            else if (nodeName.Equals(name().local()))
            {
                if (type() != null)
                {
                    anyType = createAttrForXSDType(node, sc);
                }
                else
                {
                    anyType = new AttrType((Attr)node, sc.TypeModel);
                }
            }
            return(anyType);
        }
Exemple #7
0
        protected internal static bool needsStringComparison(AnyType item, AnyType at)
        {
            if (item is NumericType)
            {
                if (at is XSFloat)
                {
                    XSFloat f = (XSFloat)at;
                    if (f.nan())
                    {
                        return(true);
                    }
                }

                if (at is XSDouble)
                {
                    XSDouble d = (XSDouble)at;
                    if (d.nan())
                    {
                        return(true);
                    }
                }
            }

            if (at is XSString)
            {
                return(true);
            }

            if (at is XSUntypedAtomic)
            {
                return(true);
            }
            return(false);
        }
        /// <summary>
        /// Deep-Equal boolean operation.
        /// </summary>
        /// <param name="one">
        ///            input1 xpath expression/variable. </param>
        /// <param name="two">
        ///            input2 xpath expression/variable. </param>
        /// <param name="context">
        ///            Current dynamic context </param>
        /// <returns> Result of fn:deep-equal operation. </returns>
        public static bool deep_equal(ResultSequence one, ResultSequence two, EvaluationContext context, string collationURI)
        {
            if (one.empty() && two.empty())
            {
                return(true);
            }

            if (one.size() != two.size())
            {
                return(false);
            }

            var onei = one.iterator();
            var twoi = two.iterator();

            while (onei.MoveNext())
            {
                AnyType a = (AnyType)onei.Current;
                twoi.MoveNext();
                AnyType b = (AnyType)twoi.Current;

                if (!deep_equal(a, b, context, collationURI))
                {
                    return(false);
                }
            }
            return(true);
        }
    public void ParseResult()
    {
        // arrange
        var type            = new AnyType();
        var objectValueNode = new ObjectValueNode(
            new ObjectFieldNode(
                AnyType.TypeNameField,
                "test"
                ),
            new ObjectFieldNode(
                "foo",
                "bar"
                )
            );
        var representation = new Representation
        {
            TypeName = "test",
            Data     = objectValueNode
        };

        // act
        IValueNode?parsedResult = type.ParseResult(representation);

        // assert
        Assert.Equal(
            objectValueNode,
            Assert.IsType <ObjectValueNode>(parsedResult));
    }
    public void TrySerialize()
    {
        // arrange
        var type            = new AnyType();
        var objectValueNode = new ObjectValueNode(
            new ObjectFieldNode(
                AnyType.TypeNameField,
                "test"
                ),
            new ObjectFieldNode(
                "foo",
                "bar"
                )
            );
        var representation = new Representation
        {
            TypeName = "test",
            Data     = objectValueNode
        };

        // act
        var success = type.TrySerialize(representation, out object?serialized);

        // assert
        Assert.True(success);
        Assert.Equal(objectValueNode, serialized);
    }
Exemple #11
0
        public void Any()
        {
            var a1 = A1();
            var a2 = A2();
            var b1 = B1();
            var b2 = B2();
            var m1 = new MethodType(new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(a2)), new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(b1)));
            var m2 = new MethodType(new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(a1)), new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(b2)));
            var t1 = new HasMembersType(new WeakScope(new List <WeakMemberDefinition> {
                new WeakMemberDefinition(Access.ReadWrite, new NameKey("a"), new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(a1))),
                new WeakMemberDefinition(Access.ReadWrite, new NameKey("b"), new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(b1)))
            }));
            var t2 = new HasMembersType(new WeakScope(new List <WeakMemberDefinition> {
                new WeakMemberDefinition(Access.ReadWrite, new NameKey("a"), new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(a2))),
                new WeakMemberDefinition(Access.ReadWrite, new NameKey("b"), new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(b2)))
            }));
            var or1 = new FrontEndOrType(
                new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(a1)),
                new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(b1)),
                OrType.Make <IReadOnlyList <WeakMemberDefinition>, IError>(Array.Empty <WeakMemberDefinition>()),
                Possibly.IsNot <IBox <IOrType <IFrontendType <IVerifiableType>, IError> > >(),
                Possibly.IsNot <IBox <IOrType <IFrontendType <IVerifiableType>, IError> > >()
                );
            var or2 = new FrontEndOrType(
                new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(b1)),
                new Box <IOrType <IFrontendType <IVerifiableType>, IError> >(OrType.Make <IFrontendType <IVerifiableType>, IError>(a1)),
                OrType.Make <IReadOnlyList <WeakMemberDefinition>, IError>(Array.Empty <WeakMemberDefinition>()),
                Possibly.IsNot <IBox <IOrType <IFrontendType <IVerifiableType>, IError> > >(),
                Possibly.IsNot <IBox <IOrType <IFrontendType <IVerifiableType>, IError> > >()
                );

            var any = new AnyType();

            Assert.All(new[] { a1, a2, b1, b2, m1, m2, t1, t2, or1, or2 }, x => any.TheyAreUs(x, new List <(IFrontendType <IVerifiableType>, IFrontendType <IVerifiableType>)>()));
        }
Exemple #12
0
        public void Any_types_with_different_reference_capabilities_are_not_equal()
        {
            var type1 = new AnyType(Shared);
            var type2 = new AnyType(Borrowed);

            Assert.NotEqual(type1, type2);
        }
Exemple #13
0
        public void Any_types_with_same_reference_capability_are_equal()
        {
            var type1 = new AnyType(Shared);
            var type2 = new AnyType(Shared);

            Assert.Equal(type1, type2);
        }
        protected internal virtual ResultSequence fact_create_new(AnyType item)
        {
            ResultSequence rs = fact_create_new();

            rs.add(item);
            return(rs);
        }
        private AnyType createElementType(Item at, StaticContext sc)
        {
            anyType = new ElementType();
            NodeType nodeType = (NodeType)at;
            Node     node     = nodeType.node_value();
            Document doc      = null;

            if (node.NodeType == NodeConstants.DOCUMENT_NODE)
            {
                doc = (Document)node;
            }
            else
            {
                doc = nodeType.node_value().OwnerDocument;
            }

            NodeList nodeList = null;

            if (!wild())
            {
                nodeList = doc.getElementsByTagNameNS(name().@namespace(), name().local());
            }
            else
            {
                nodeList = new SingleItemNodeListImpl(node);
            }

            if (nodeList.Length > 0)
            {
                anyType = createElementForXSDType(nodeList, sc);
            }
            return(anyType);
        }
Exemple #16
0
 public Any(byte val)
 {
     type     = AnyType.Byte;
     _longVal = val;
     floatVal = 0.0f;
     strVal   = null;
     objVal   = null;
 }
Exemple #17
0
 public Any(bool val)
 {
     type     = AnyType.Bool;
     _longVal = val ? 1 : 0;
     floatVal = 0.0f;
     strVal   = null;
     objVal   = null;
 }
 /// <summary>
 /// Either the syntax node is invalid when parsing the literal or the syntax
 /// node value has an invalid format.
 /// </summary>
 public static SerializationException Any_InvalidFormat(
     AnyType anyType) =>
 new SerializationException(
     ErrorBuilder.New()
     .SetMessage(ThrowHelper_Any_HasInvalidFormat)
     .SetCode(ErrorCodes.Scalars.InvalidSyntaxFormat)
     .Build(),
     anyType);
Exemple #19
0
        public void Can_convert_to_reference_capability(ReferenceCapability capability)
        {
            var type = new AnyType(Isolated);

            var converted = type.To(capability);

            Assert.Equal(capability, converted.ReferenceCapability);
        }
Exemple #20
0
 public Any(short val)
 {
     type     = AnyType.Short;
     _longVal = val;
     floatVal = 0.0f;
     strVal   = null;
     objVal   = null;
 }
Exemple #21
0
 public Any(int val)
 {
     type     = AnyType.Int;
     _longVal = val;
     floatVal = 0.0f;
     strVal   = null;
     objVal   = null;
 }
Exemple #22
0
 public Any(IPackable val)
 {
     type     = AnyType.Object;
     _longVal = 0;
     floatVal = 0.0f;
     strVal   = null;
     objVal   = val;
 }
Exemple #23
0
 public Any(string val)
 {
     type     = AnyType.Float;
     _longVal = 0;
     floatVal = 0.0f;
     strVal   = val;
     objVal   = null;
 }
Exemple #24
0
 public Any(float val)
 {
     type     = AnyType.Float;
     _longVal = 0;
     floatVal = val;
     strVal   = null;
     objVal   = null;
 }
Exemple #25
0
 public Any(long val)
 {
     type     = AnyType.Long;
     _longVal = val;
     floatVal = 0.0f;
     strVal   = null;
     objVal   = null;
 }
    public void Ensure_Type_Name_Is_Correct()
    {
        // arrange
        // act
        var type = new AnyType();

        // assert
        Assert.Equal(WellKnownTypeNames.Any, type.Name);
    }
Exemple #27
0
        internal AnyType GetNodeType(INode node)
        {
            var matchingElement = GetElement(node.LocalName);

            if (matchingElement == null)
            {
                return(null);
            }
            return(AnyType.CreateType(matchingElement.TypeName.Name, this));
        }
Exemple #28
0
 public AnyType this[AnyType index] {
     [JSEscapingArguments()]
     get {
         throw new InvalidOperationException();
     }
     [JSEscapingArguments("value")]
     set {
         throw new InvalidOperationException();
     }
 }
    public void ParseValue_InvalidValue()
    {
        // arrange
        var type = new AnyType();

        // act
        void Action() => type.ParseValue(1);

        // assert
        Assert.Throws <SerializationException>(Action);
    }
        public StorageInfoDO Store(byte[] documentData, String contentType)
        {
            Console.WriteLine("Store");

            // setup the client
            SetupClient();

            // create SignRequest
            String      requestId   = "dss-sign-request-" + Guid.NewGuid().ToString();
            SignRequest signRequest = new SignRequest();

            signRequest.RequestID = requestId;
            signRequest.Profile   = DSSConstants.ARTIFACT_NAMESPACE;

            // add "ReturnStorageInfo" optional input
            AnyType    optionalInputs           = new AnyType();
            XmlElement returnStorageInfoElement = GetElement("artifact", "ReturnStorageInfo", DSSConstants.ARTIFACT_NAMESPACE);

            optionalInputs.Any         = new XmlElement[] { returnStorageInfoElement };
            signRequest.OptionalInputs = optionalInputs;

            // add document
            signRequest.InputDocuments = GetInputDocuments(documentData, contentType);

            // operate
            SignResponse signResponse = client.sign(signRequest);

            // parse response
            CheckResponse(signResponse, requestId);

            try
            {
                ValidateResult(signResponse);
            }
            catch (NotParseableXMLDocumentException e)
            {
                throw new SystemException(e.Message, e);
            }

            // check profile
            if (!signResponse.Profile.Equals(DSSConstants.ARTIFACT_NAMESPACE))
            {
                throw new SystemException("Unexpected SignResponse.Profile: " + signResponse.Profile);
            }

            // parse StorageInfo
            DSSXSDNamespace.StorageInfo storageInfo = FindStorageInfo(signResponse);
            if (null == storageInfo)
            {
                throw new SystemException("Missing StorageInfo");
            }

            return(new StorageInfoDO(storageInfo.Identifier, storageInfo.Validity.NotBefore, storageInfo.Validity.NotAfter));
        }
        public StorageInfoDO Store(byte[] documentData, String contentType)
        {
            Console.WriteLine("Store");

            // setup the client
            SetupClient();

            // create SignRequest
            String requestId = "dss-sign-request-" + Guid.NewGuid().ToString();
            SignRequest signRequest = new SignRequest();
            signRequest.RequestID = requestId;
            signRequest.Profile = DSSConstants.ARTIFACT_NAMESPACE;

            // add "ReturnStorageInfo" optional input
            AnyType optionalInputs = new AnyType();
            XmlElement returnStorageInfoElement = GetElement("artifact", "ReturnStorageInfo", DSSConstants.ARTIFACT_NAMESPACE);
            optionalInputs.Any = new XmlElement[] { returnStorageInfoElement };
            signRequest.OptionalInputs = optionalInputs;

            // add document
            signRequest.InputDocuments = GetInputDocuments(documentData, contentType);

            // operate
            SignResponse signResponse = client.sign(signRequest);

            // parse response
            CheckResponse(signResponse, requestId);

            try
            {
                ValidateResult(signResponse);
            }
            catch (NotParseableXMLDocumentException e)
            {
                throw new SystemException(e.Message, e);
            }

            // check profile
            if (!signResponse.Profile.Equals(DSSConstants.ARTIFACT_NAMESPACE))
            {
                throw new SystemException("Unexpected SignResponse.Profile: " + signResponse.Profile);
            }

            // parse StorageInfo
            DSSXSDNamespace.StorageInfo storageInfo = FindStorageInfo(signResponse);
            if (null == storageInfo)
            {
                throw new SystemException("Missing StorageInfo");
            }

            return new StorageInfoDO(storageInfo.Identifier, storageInfo.Validity.NotBefore, storageInfo.Validity.NotAfter);
        }
Exemple #32
0
        private TypeScriptType GetTypeScriptType(Type type)
        {
            TypeScriptType tst;

              if (TypeHelper.Is(type, typeof(string)))
              {
            tst = new StringType();
              }
              else if (TypeHelper.Is(type, typeof(bool)))
              {
            tst = new BooleanType();
              }
              else if (TypeHelper.Is(type, typeof(int),
                                        typeof(decimal),
                                        typeof(double),
                                        typeof(long),
                                        typeof(float),
                                        typeof(short),
                                        typeof(byte),
                                        typeof(uint),
                                        typeof(ushort),
                                        typeof(ulong),
                                        typeof(sbyte)
                                        ))
              {
            tst = new NumberType();
              }
              else if (TypeHelper.Is(type, typeof(DateTime)))
              {
            tst = new DateTimeType();
              }
              else if (TypeHelper.Is(type, typeof(TimeSpan)))
              {
            tst = new TimeSpanType();
              }
              else if (type.IsGenericParameter)
              {
            tst = new GenericTypeParameter();
              }
              else if (TypeHelper.IsDictionary(type))
              {
            tst = new DictionaryType();
              }
              else if (TypeHelper.IsEnumerable(type))
              {
            tst = new ArrayType();
              }
              else if (TypeHelper.IsEnum(type))
              {
            tst = new EnumType();
              }
              else
              {
            var processType = _options.TypeFilter(type);

            if (processType)
            {
              if (type.IsInterface)
              {
            tst = new InterfaceType(type);
              }
              else
              {
            tst = new CustomType(type);
              }
            }
            else
            {
              tst = new AnyType();
            }
              }

              if (TypeHelper.IsNullableValueType(type))
              {
            ((ValueType)tst).IsNullable = true;
            type = Nullable.GetUnderlyingType(type);
              }

              tst.ClrType = type;

              return tst;
        }
        public byte[] Retrieve(String documentId)
        {
            Console.WriteLine("Retrieve");

            // setup client
            SetupClient();

            // create request
            String requestId = "dss-sign-request-" + Guid.NewGuid().ToString();
            SignRequest signRequest = new SignRequest();
            signRequest.RequestID = requestId;
            signRequest.Profile = DSSConstants.ARTIFACT_NAMESPACE;

            // add "ReturnStoredDocument" optional input
            AnyType optionalInputs = new AnyType();

            DSSXSDNamespace.ReturnStoredDocument returnStoredDocument = new DSSXSDNamespace.ReturnStoredDocument();
            returnStoredDocument.Identifier = documentId;

            XmlElement returnStoredDocumentElement = ToDom("ReturnStoredDocument", DSSConstants.ARTIFACT_NAMESPACE,
                returnStoredDocument, typeof(DSSXSDNamespace.ReturnStoredDocument));
            optionalInputs.Any = new XmlElement[] { returnStoredDocumentElement };
            signRequest.OptionalInputs = optionalInputs;

            // operate
            SignResponse signResponse = this.client.sign(signRequest);

            // parse response
            CheckResponse(signResponse, requestId);

            try
            {
                ValidateResult(signResponse);
            }
            catch (NotParseableXMLDocumentException e)
            {
                throw new SystemException(e.Message, e);
            }

            // check profile
            if (!signResponse.Profile.Equals(DSSConstants.ARTIFACT_NAMESPACE))
            {
                throw new SystemException("Unexpected SignResponse.Profile: " + signResponse.Profile);
            }

            // get document
            DSSXSDNamespace.DocumentWithSignature documentWithSignature = FindDocumentWithSignature(signResponse);
            if (null == documentWithSignature || null == documentWithSignature.Document || null == documentWithSignature.Document.Item)
            {
                throw new DocumentNotFoundException();
            }
            byte[] documentData;

            if (documentWithSignature.Document.Item is DSSXSDNamespace.Base64Data)
            {
                documentData = ((DSSXSDNamespace.Base64Data)documentWithSignature.Document.Item).Value;
            }
            else
            {
                documentData = (byte[])documentWithSignature.Document.Item;
            }
            return documentData;
        }
        private ResponseBaseType DoVerification(byte[] documentData, String mimeType,
            bool returnSignerIdentity, bool returnVerificationReport)
        {
            Console.WriteLine("Verify");

            // setup the client
            SetupClient();

            String requestId = "dss-verify-request-" + Guid.NewGuid().ToString();
            VerifyRequest verifyRequest = new VerifyRequest();
            verifyRequest.RequestID = requestId;

            AnyType optionalInputs = new AnyType();
            List<XmlElement> optionalInputElements = new List<XmlElement>();
            if (returnSignerIdentity)
            {
                XmlElement e = GetElement("dss", "ReturnSignerIdentity", DSSConstants.DSS_NAMESPACE);
                optionalInputElements.Add(e);
            }

            if (returnVerificationReport)
            {
                DSSXSDNamespace.ReturnVerificationReport returnVerificationReportElement =
                    new DSSXSDNamespace.ReturnVerificationReport();
                returnVerificationReportElement.IncludeVerifier = false;
                returnVerificationReportElement.IncludeCertificateValues = true;
                returnVerificationReportElement.ReportDetailLevel =
                    "urn:oasis:names:tc:dss-x:1.0:profiles:verificationreport:reportdetail:noDetails";

                XmlElement e = ToDom("ReturnVerificationReport", DSSConstants.VR_NAMESPACE,
                    returnVerificationReportElement, typeof(DSSXSDNamespace.ReturnVerificationReport));

                optionalInputElements.Add(e);
            }

            if (optionalInputElements.Count > 0)
            {
                optionalInputs.Any = optionalInputElements.ToArray();
                verifyRequest.OptionalInputs = optionalInputs;
            }

            verifyRequest.InputDocuments = GetInputDocuments(documentData, mimeType);

            // operate
            ResponseBaseType response = this.client.verify(verifyRequest);

            // check response
            CheckResponse(response, verifyRequest.RequestID);

            return response;
        }