Esempio n. 1
0
        private void CreateTypesTable()
        {
            TypesTable = new TypesTable.TypesTable();
            TypesTable.StandardLibraryCreator sLC = new TypesTable.StandardLibraryCreator();
            sLC.CreateStandardLibrary(TypesTable);

            // Docasna podpora pro typy v Tournaments.eXo
            Class date = new Class(TypesTable, TypesTable.Library.RootNamespace, "Date");

            date.Operations.Add(new Operation("after", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) }));
            date.Operations.Add(new Operation("before", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) }));
            date.Operations.Add(new Operation("equals", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) }));
            date.Operations.Add(new Operation("trunc", true, date, new Parameter[] { }));
            date.Operations.Add(new Operation("=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation("<=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation("<", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation(">", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation(">=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));

            //    TypesTable.Library.RootNamespace.NestedClassifier.Add(date);
            TypesTable.RegisterType(date);

            Class matchesStatus = new Class(TypesTable, TypesTable.Library.RootNamespace, "MatchStatus");

            //    TypesTable.Library.RootNamespace.NestedClassifier.Add(matchesStatus);
            TypesTable.RegisterType(matchesStatus);

            TranslateSchema(Schema);
        }
Esempio n. 2
0
        private void CreateTypesTable()
        {
            Library.StandardTypeName naming = new OCL.TypesTable.Library.StandardTypeName();
            naming.Any              = "any";
            naming.Boolean          = "boolean";
            naming.Integer          = "integer";
            naming.Invalid          = "invalid";
            naming.Message          = "message";
            naming.Real             = "double";
            naming.String           = "string";
            naming.Type             = "type";
            naming.UnlimitedNatural = "unlimitedNatural";
            naming.Void             = "void";

            TypesTable = new TypesTable.TypesTable(naming);
            TypesTable.StandardLibraryCreator sLC = new TypesTable.StandardLibraryCreator();
            sLC.CreateStandardLibrary(TypesTable);

            #region XML schema additional primitive types

            var @decimal = new Classifier(TypesTable, TypesTable.Library.RootNamespace, "decimal", TypesTable.Library.Integer);
            TypesTable.RegisterType(@decimal);
            var date = new Classifier(TypesTable, TypesTable.Library.RootNamespace, "date");
            TypesTable.RegisterType(date);


            #endregion

            // Docasna podpora pro typy v Tournaments.eXo

            date.Operations.Add(new Operation("after", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) }));
            date.Operations.Add(new Operation("before", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) }));
            date.Operations.Add(new Operation("equals", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", date) }));
            date.Operations.Add(new Operation("trunc", true, date, new Parameter[] { }));
            date.Operations.Add(new Operation("=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation("<=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation("<", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation(">", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));
            date.Operations.Add(new Operation(">=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", date) }));

            TypesTable.RegisterType(date);
            //  TypesTable.Library.RootNamespace.NestedClassifier.Add(date);


            Class dateTime = new Class(TypesTable, TypesTable.Library.RootNamespace, "dateTime");
            dateTime.Operations.Add(new Operation("after", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", dateTime) }));
            dateTime.Operations.Add(new Operation("before", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", dateTime) }));
            dateTime.Operations.Add(new Operation("equals", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("time", dateTime) }));
            dateTime.Operations.Add(new Operation("trunc", true, dateTime, new Parameter[] { }));
            dateTime.Operations.Add(new Operation("getDate", true, dateTime, new Parameter[] { }));
            dateTime.Operations.Add(new Operation("=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) }));
            dateTime.Operations.Add(new Operation("<=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) }));
            dateTime.Operations.Add(new Operation("<", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) }));
            dateTime.Operations.Add(new Operation(">", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) }));
            dateTime.Operations.Add(new Operation(">=", true, TypesTable.Library.Boolean, new Parameter[] { new Parameter("other", dateTime) }));
            TypesTable.RegisterType(dateTime);
            //  TypesTable.Library.RootNamespace.NestedClassifier.Add(dateTime);


            Class matchesStatus = new Class(TypesTable, TypesTable.Library.RootNamespace, "MatchStatus");
            // TypesTable.Library.RootNamespace.NestedClassifier.Add(matchesStatus);
            TypesTable.RegisterType(matchesStatus);

            TranslateSchema(Schema, false);
            TypesTable.PerformDeferredInitializations();
        }