public CircuitTestCommands(ICommandService commandService,
                            IContextRegistry contextRegistry,
                            SchemaLoader schemaLoader)
 {
     m_commandService = commandService;
     m_schemaLoader   = schemaLoader;
 }
예제 #2
0
        // methods and properties

        private XmlDocument LoadConfigurationFile(
            string configurationFile,
            SchemaLoader schemaLoader,
            string schemaNamespace)
        {
            using (XmlTextReader textReader = new XmlTextReader(configurationFile))
            {
                XmlReaderSettings validatingReaderSettings = new XmlReaderSettings();
                validatingReaderSettings.ValidationType = ValidationType.Schema;
                validatingReaderSettings.Schemas.Add(schemaLoader.LoadSchemaSet());

                using (XmlReader validatingReader = XmlReader.Create(textReader, validatingReaderSettings))
                {
                    XmlDocument document = new XmlDocument(new NameTable());
                    document.Load(validatingReader);

                    if (document.DocumentElement.NamespaceURI != schemaNamespace)
                    {
                        throw CreateConfigurationException(
                                  "The namespace '{0}' of the root element is invalid. Expected namespace: '{1}'.",
                                  document.DocumentElement.NamespaceURI, schemaNamespace);
                    }

                    return(document);
                }
            }
        }
예제 #3
0
        public void retrieve_creation_script()
        {
            var sql = SchemaLoader.ToCreationScript("foo");

            sql.ShouldContain("create table foo.jasper_outgoing_envelopes");
            sql.ShouldContain("create table foo.jasper_incoming_envelopes");
        }
예제 #4
0
        public void retrieve_drop_script()
        {
            var sql = SchemaLoader.ToDropScript("foo");

            sql.ShouldContain("drop table foo.jasper_outgoing_envelopes");
            sql.ShouldContain("drop table foo.jasper_incoming_envelopes");
        }
예제 #5
0
        /// <summary>
        /// Resolves the Uri to a Dom object using the parent's collection's resolvers</summary>
        /// <returns>Dom object, referenced by the Uri, or null if uri can't be resolved</returns>
        public void Resolve()
        {
            if (m_target == null)
            {
                var gameDocRegistry = Globals.MEFContainer.GetExportedValue <GameDocumentRegistry>();

                Uri ur = Uri;
                if (ur == null)
                {
                    m_error = "ref attribute is null";
                }
                else if (!File.Exists(ur.LocalPath))
                {
                    m_error = "File not found: " + ur.LocalPath;
                }
                else if (gameDocRegistry.FindDocument(ur) != null)
                {
                    m_error = "Causes circular ref: " + ur.LocalPath;
                }
                else
                {
                    SchemaLoader schemaloader = Globals.MEFContainer.GetExportedValue <SchemaLoader>();
                    GameDocument gameDoc      = GameDocument.OpenOrCreate(ur, schemaloader);
                    m_target = gameDoc.As <IGame>();
                    ((Game)m_target).SetParent(this);
                }
            }
        }
예제 #6
0
 public CircuitTestCommands(ICommandService commandService, 
     IContextRegistry contextRegistry,
     SchemaLoader schemaLoader)
 {
     m_commandService = commandService;
     m_schemaLoader = schemaLoader;
 }
예제 #7
0
        /// <summary>
        /// Drops and recreates the Sql Server backed persistence database objects
        /// </summary>
        /// <param name="runtime"></param>
        public static void RebuildMessageStorage(this JasperRuntime runtime)
        {
            var settings = runtime.Get <SqlServerSettings>();
            var builder  = new SchemaLoader(settings.ConnectionString, settings.SchemaName);

            builder.RecreateAll();
        }
예제 #8
0
        public void drop_then_create_different_schema()
        {
            var loader = new SchemaLoader(Servers.SqlServerConnectionString, "receiver");

            loader.DropAll();

            loader.CreateAll();
        }
예제 #9
0
        public void drop_then_create()
        {
            var loader = new SchemaLoader(Servers.SqlServerConnectionString);

            loader.DropAll();

            loader.CreateAll();
        }
예제 #10
0
        public void drop_then_create()
        {
            var loader = new SchemaLoader(ConnectionSource.ConnectionString);

            loader.DropAll();

            loader.CreateAll();
        }
예제 #11
0
파일: SchemaTests.cs 프로젝트: Flaez/ABCBot
        public void ItShouldLoadSchema()
        {
            var loader = new SchemaLoader();

            ISchemaItem schema;

            using (var stringReader = new StringReader(Schema)) {
                schema = loader.LoadSchema(stringReader);
            }
        }
예제 #12
0
        protected override void Handle(SqlGetSchemaQueueItem workitem)
        {
            var workitemLoads = workitem.Loads;

            var dictionary = SchemaLoader.GetSchemasForLoads(workitemLoads, Config.ConnectionString, Config.TopLevelKeyColumn);

            AddToOutputQueue(new SaveSchemaQueueItem
            {
                Mappings = dictionary.ToList()
            });
        }
예제 #13
0
        private void DomNode_AttributeChanged(object sender, AttributeEventArgs e)
        {
            SchemaLoader schemaTypeLoader = Globals.MEFContainer.GetExportedValue <SchemaLoader>();
            string       filePath         = Uri.LocalPath;
            FileMode     fileMode         = File.Exists(filePath) ? FileMode.Truncate : FileMode.OpenOrCreate;

            using (FileStream stream = new FileStream(filePath, fileMode))
            {
                var writer = new DomXmlWriter(schemaTypeLoader.TypeCollection);
                writer.Write(DomNode, stream, Uri);
            }
        }
예제 #14
0
 public Editor(
     IControlHostService controlHostService,
     IDocumentService documentService,
     IContextRegistry contextRegistry,
     IDocumentRegistry documentRegistry,
     SchemaLoader schemaLoader)
 {
     m_controlHostService = controlHostService;
     m_documentService    = documentService;
     m_contextRegistry    = contextRegistry;
     m_documentRegistry   = documentRegistry;
     m_schemaLoader       = schemaLoader;
 }
예제 #15
0
        public void KppService_ShouldCreateValidXml_WhenParsingKpp()
        {
            // arrange
            var args    = DefaultArgs();
            var schemas = SchemaLoader.LoadDirectory("Resources");

            // act
            KppService.Run(args, null);

            // assert
            Action verify = () => XmlUtils.ValidateXmlFile(args.OutputPath, schemas);

            verify.Should().NotThrow();
        }
예제 #16
0
        /// <summary>
        /// 初始化一个<see cref="LoaderContext"/>类型的实例
        /// </summary>
        public LoaderContext()
        {
            KeyLoader             = new KeyLoader();
            ReferenceLoader       = new ReferenceLoader();
            DbmsLoader            = new DbmsLoader();
            GroupLoader           = new GroupLoader();
            PhysicalDiagramLoader = new PhysicalDiagramLoader();
            ViewLoader            = new ViewLoader();
            SchemaLoader          = new SchemaLoader();
            TargetModelLoader     = new TargetModelLoader();

            TableLoader   = new TableLoader(KeyLoader);
            PackageLoader = new PackageLoader(TableLoader, ReferenceLoader);

            PdmLoader = new PdmLoader(this);
        }
예제 #17
0
        public override void Run()
        {
            if (EdgeKey == null)
            {
                // the root level of a schema is fetched from credential files
                var staticRow = SchemaLoader.ParseCredentials <JObject>(Schema.Name);
                FetchDetailsOfRow(Schema, staticRow);
            }
            else
            {
                // non root level are fetched from the API
                var table = Schema.Edges[EdgeKey];

                var tableRows = Fetcher.FetchAllEntitiesOnTable(table, Logger, Configuration.MaxEntities).AsParallel().WithDegreeOfParallelism(Schema.Threads);
                tableRows.ForAll(row => FetchDetailsOfRow(table, row));
            }
        }
예제 #18
0
        public static void Run(Args args, Action <int, string> reportStatus)
        {
            Directory.CreateDirectory(Path.GetDirectoryName(args.OutputPath));

            reportStatus?.Invoke(10, "Leser data...");
            var melding = CreateMelding(args);

            var wrapped = WrapInMsgHead(melding, args);

            reportStatus?.Invoke(50, "Lagrer melding...");
            XmlUtils.SerializeToFile(wrapped, args.OutputPath);

            reportStatus?.Invoke(75, "Kontrollerer melding...");
            var schemas = SchemaLoader.LoadDirectory("Resources");

            XmlUtils.ValidateXmlFile(args.OutputPath, schemas);

            reportStatus?.Invoke(100, "Ferdig");
        }
예제 #19
0
        public static void Main(string[] args)
        {
            if (args.Length < 3)
            {
                PrintUsage();
                return;
            }

            string packetSchemaPath = args[0];
            string outputType = args[1];
            string output = args[2];

            Generator generator;

            switch (outputType)
            {
                case "markdown":
                    generator = new MarkdownGenerator(output);
                    break;
                case "csharp":
                    {
                        if (args.Length < 4)
                        {
                            PrintUsage();
                            return;
                        }
                        string configurationFileName = args[3];
                        generator = new CSharpGenerator(output, configurationFileName);
                    }
                    break;
                default:
                    PrintUsage();
                    return;
            }

            // Load the schema
            var schemaLoader = new SchemaLoader(Path.GetDirectoryName(packetSchemaPath));
            Schema packetSchema = schemaLoader.Load(packetSchemaPath);

            // Generate output from the schema.
            generator.Generate(packetSchema);
        }
예제 #20
0
        protected void Initialize(
            string configurationFile,
            SchemaLoader schemaLoader,
            bool resolveTypes,
            PrefixNamespace schemaNamespace)
        {
            ArgumentUtility.CheckNotNullOrEmpty("configurationFile", configurationFile);
            ArgumentUtility.CheckNotNull("schemaLoader", schemaLoader);
            ArgumentUtility.CheckNotNull("schemaNamespace", schemaNamespace);

            if (!File.Exists(configurationFile))
            {
                throw new FileNotFoundException(string.Format("Configuration file '{0}' could not be found.", configurationFile), configurationFile);
            }

            _configurationFile = Path.GetFullPath(configurationFile);
            _resolveTypes      = resolveTypes;

            _document         = LoadConfigurationFile(_configurationFile, schemaLoader, schemaNamespace.Uri);
            _namespaceManager = new ConfigurationNamespaceManager(_document, new PrefixNamespace[] { schemaNamespace });
        }
예제 #21
0
        /// <summary>
        /// The init container.
        /// </summary>
        /// <param name="config">
        /// The config.
        /// </param>
        private void InitContainer(IQueryConfig config)
        {
            var documentDictionary = new DocumentDictionary(MaximumDocumentsInQueue);

            var queueManager = new QueueManager();

            this.container.RegisterInstance <IQueueManager>(queueManager);
            this.container.RegisterInstance <IDocumentDictionary>(documentDictionary);
            this.container.RegisterInstance <IJobConfig>(config);

            IElasticSearchUploaderFactory elasticSearchUploaderFactory =
                this.container.Resolve <IElasticSearchUploaderFactory>();

            var schemaLoader = new SchemaLoader(config.ConnectionString, config.TopLevelKeyColumn);

            this.container.RegisterInstance <ISchemaLoader>(schemaLoader);

            this.container.RegisterType <IEntityJsonWriter, EntityJsonWriter>();

            if (config.WriteDetailedTemporaryFilesToDisk)
            {
                this.container.RegisterType <IDetailedTemporaryFileWriter, FileWriter>();
            }
            else
            {
                this.container.RegisterType <IDetailedTemporaryFileWriter, NullFileWriter>();
            }

            if (config.WriteTemporaryFilesToDisk)
            {
                this.container.RegisterType <ITemporaryFileWriter, FileWriter>();
            }
            else
            {
                this.container.RegisterType <ITemporaryFileWriter, NullFileWriter>();
            }

            this.container.RegisterType <IFileWriter, FileWriter>();
        }
        public static void Main(string[] args)
        {
            var options = new Options();
            if (!Parser.Default.ParseArgumentsStrict(args, options))
            {
                return;
            }

            Generator generator;

            switch (options.Type)
            {
                case GeneratorType.MarkDown:
                    generator = new MarkdownGenerator(options.Output);
                    break;
                case GeneratorType.CSharp:
                    if (options.ConfigurationFile == null)
                    {
                        Console.Error.WriteLine("ERROR: When type is CSharp, a configuration file is required.");
                        Console.Error.WriteLine(options.Usage());
                        return;
                    }

                    generator = new CSharpGenerator(options.Output, options.ConfigurationFile);
                    break;
                case GeneratorType.Validation:
                    generator = new ValidationDocumentGenerator(options.Output);
                    break;
                default:
                    return;
            }

            // Load the schema
            var schemaLoader = new SchemaLoader(Path.GetDirectoryName(options.PacketSchema));
            Schema packetSchema = schemaLoader.Load(options.PacketSchema);

            // Generate output from the schema.
            generator.Generate(packetSchema);
        }
예제 #23
0
파일: TestSchemaGen.cs 프로젝트: zparr/ATF
        public void TestGenerate()
        {
            //"usage:   DomGen {schemaPath} {outputPath} {schemaNamespace}  {classNamespace} -a(dapters)"
            //"eg:      DomGen echo.xsd Schema.cs http://sce/audio Sce.Audio -a"
            string inputPath       = ".\\Resources\\test_customized.xsd";
            string schemaNamespace = "test";
            string codeNamespace   = "testCodeNamespace";
            string className       = "TestClass";

            SchemaLoader typeLoader = new SchemaLoader();

            typeLoader.Load(inputPath);

            // Normal test
            string schemaClass = SchemaGen.Generate(typeLoader, schemaNamespace, codeNamespace, className, EmptyArray <string> .Instance);

            Validate(schemaClass, schemaNamespace, codeNamespace, className, false);

            // Test with -annotatedOnly option
            string[] args = new string[] { inputPath, "", schemaNamespace, codeNamespace, "-annotatedOnly" };
            schemaClass = SchemaGen.Generate(typeLoader, schemaNamespace, codeNamespace, className, args);
            Validate(schemaClass, schemaNamespace, codeNamespace, className, true);
        }
예제 #24
0
        private async Task <ISchema> Create(ICacheEntry cacheEntry)
        {
            cacheEntry.SetSlidingExpiration(TimeSpan.FromHours(6));

            try
            {
                var schemaBuilder = await SchemaLoader.Load();

                var resolvers = new SchemaResolvers();

                var schema = SchemaTools.MakeExecutableSchemaWithIntrospection(
                    schemaBuilder,
                    resolvers,
                    resolvers);

                return(schema);
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                throw;
            }
        }
예제 #25
0
        public SchemaFactory(string mofFileName, string dispatchFileName, List <ISchemaBuilder> schemaBuilders, DSConfiguration settings)
        {
            bool         enabled;
            SchemaLoader schemaLoader = new SchemaLoader();

            using (OperationTracer operationTracer = new OperationTracer(new Action <string>(TraceHelper.Current.SchemaLoadingStart), new Action <string>(TraceHelper.Current.SchemaLoadingEnd), mofFileName))
            {
                if (settings == null)
                {
                    enabled = true;
                }
                else
                {
                    enabled = settings.Invocation.Enabled;
                }
                bool flag = enabled;
                this.logicalSchema = schemaLoader.LoadSchemaFiles(mofFileName, dispatchFileName, flag);
                if (settings != null)
                {
                    this.logicalSchema.ValidateResourceLimits(settings);
                }
            }
            this.schemaBuilders = schemaBuilders;
        }
예제 #26
0
        public ConnectedContext()
        {
            var loader = new SchemaLoader(ConnectionSource.ConnectionString);

            loader.RecreateAll();
        }
예제 #27
0
        public void recreate_all_tables()
        {
            var loader = new SchemaLoader(Servers.SqlServerConnectionString);

            loader.RecreateAll();
        }
        /// <summary>
        /// Create circuit DOM hierarchy programmatically</summary>
        /// <param name="schemaLoader">Schema loader</param>
        /// <returns>Tree root DomNode</returns>
        static public DomNode CreateTestCircuitProgrammatically(SchemaLoader schemaLoader)
        {
            var rootNode = new DomNode(Schema.circuitDocumentType.Type, Schema.circuitRootElement);

            // create an empty root prototype folder( required child by schema)
            rootNode.SetChild(
                Schema.circuitDocumentType.prototypeFolderChild,
                new DomNode(Schema.prototypeFolderType.Type));

            var circuit = rootNode.Cast <Circuit>();

            var inputFiles = new DomNode(Schema.groupType.Type).Cast <Group>();

            inputFiles.Id     = "groupInputFiles";
            inputFiles.Name   = "Input Files".Localize();
            inputFiles.Bounds = new Rectangle(64, 96, 0, 0); // set node location, size will be auto-computed

            var firstWavgGroup = new DomNode(Schema.groupType.Type).Cast <Group>();

            firstWavgGroup.Id   = "first.Wav";
            firstWavgGroup.Name = "first".Localize("as in, 'the first file'") + ".wav";

            var buttonType = schemaLoader.GetNodeType(Schema.NS + ButtonTypeName);
            var button1    = new DomNode(buttonType).Cast <Module>();

            button1.Id     = "button1";
            button1.Bounds = new Rectangle(0, 0, 0, 0);

            var button2 = new DomNode(buttonType).Cast <Module>();

            button2.Bounds = new Rectangle(0, 64, 0, 0);
            button2.Id     = "button2";

            firstWavgGroup.Elements.Add(button1);
            firstWavgGroup.Elements.Add(button2);
            firstWavgGroup.Expanded = true;
            firstWavgGroup.Update();


            var secondWavgGroup = new DomNode(Schema.groupType.Type).Cast <Group>();

            secondWavgGroup.Id   = "second.Wav";
            secondWavgGroup.Name = "second".Localize("as in, 'the second file'") + ".wav";

            var button3 = new DomNode(buttonType).Cast <Module>();

            button3.Id     = "button3";
            button3.Bounds = new Rectangle(0, 0, 0, 0);

            var button4 = new DomNode(buttonType).Cast <Module>();

            button4.Bounds = new Rectangle(0, 64, 0, 0);
            button4.Id     = "button4";

            secondWavgGroup.Elements.Add(button3);
            secondWavgGroup.Elements.Add(button4);
            secondWavgGroup.Expanded = true;
            secondWavgGroup.Update();
            secondWavgGroup.Bounds = new Rectangle(0, 224, 0, 0);

            inputFiles.Elements.Add(firstWavgGroup);
            inputFiles.Elements.Add(secondWavgGroup);
            inputFiles.Update();
            inputFiles.Expanded = true;

            circuit.Elements.Add(inputFiles);


            var structure = new DomNode(Schema.groupType.Type).Cast <Group>();

            structure.Id     = "structure".Localize("this is the name of a group of circuit elements; the name is arbitrary");
            structure.Name   = "structure".Localize("this is the name of a group of circuit elements; the name is arbitrary");
            structure.Bounds = new Rectangle(352, 96, 0, 0);


            var subStream0 = new DomNode(Schema.groupType.Type).Cast <Group>();

            subStream0.Id   = "subStream0".Localize("this is the name of a group of circuit elements; the name is arbitrary");
            subStream0.Name = "sub-stream 0".Localize("this is the name of a group of circuit elements; the name is arbitrary");

            var lightType = schemaLoader.GetNodeType(Schema.NS + LightTypeName);

            var light1 = new DomNode(lightType).Cast <Module>();

            light1.Id     = "light1";
            light1.Bounds = new Rectangle(0, 0, 0, 0);

            var light2 = new DomNode(lightType).Cast <Module>();

            light2.Id     = "light2";
            light2.Bounds = new Rectangle(0, 64, 0, 0);

            var light3 = new DomNode(lightType).Cast <Module>();

            light3.Id     = "light3";
            light3.Bounds = new Rectangle(0, 128, 0, 0);

            var light4 = new DomNode(lightType).Cast <Module>();

            light4.Id     = "light4";
            light4.Bounds = new Rectangle(0, 192, 0, 0);

            var light5 = new DomNode(lightType).Cast <Module>();

            light5.Id     = "light5";
            light5.Bounds = new Rectangle(0, 256, 0, 0);

            var light6 = new DomNode(lightType).Cast <Module>();

            light6.Id     = "light6";
            light6.Bounds = new Rectangle(0, 320, 0, 0);


            subStream0.Elements.Add(light1);
            subStream0.Elements.Add(light2);
            subStream0.Elements.Add(light3);
            subStream0.Elements.Add(light4);
            subStream0.Elements.Add(light5);
            subStream0.Elements.Add(light6);
            subStream0.Expanded = true;
            subStream0.Update(); // this will generate group pins needed for edge connection


            structure.Elements.Add(subStream0);
            structure.Expanded = true;
            structure.Update();

            circuit.Elements.Add(structure);

            // first make all group pins are visible so we can connect them
            foreach (var groupPin in inputFiles.InputGroupPins)
            {
                groupPin.Visible = true;
            }
            foreach (var groupPin in inputFiles.OutputGroupPins)
            {
                groupPin.Visible = true;
            }
            foreach (var groupPin in structure.InputGroupPins)
            {
                groupPin.Visible = true;
            }
            foreach (var groupPin in structure.OutputGroupPins)
            {
                groupPin.Visible = true;
            }

            // make some edges between InputFiles & structure
            var connection0 = CircuitAddEdge(inputFiles, 0, structure, 0);

            circuit.Wires.Add(connection0);
            var connection1 = CircuitAddEdge(inputFiles, 1, structure, 1);

            circuit.Wires.Add(connection1);
            var connection2 = CircuitAddEdge(inputFiles, 2, structure, 3);

            circuit.Wires.Add(connection2);
            var connection3 = CircuitAddEdge(inputFiles, 3, structure, 5);

            circuit.Wires.Add(connection3);

            return(rootNode);
        }
예제 #29
0
        public override IEnumerable <AbstractJob> GetJobs(JobType type, JobScope scope, IEnumerable <string> names, JobConfiguration jobConfiguration)
        {
            if (CheckTypeAndScope(type, scope) || !CheckNameIsScope(names))
            {
                return(NoJobs);
            }
            Schemas = SchemaLoader.SchemaList();
            var jobs = new List <FacebookFetcher>();

            try
            {
                foreach (var schemaName in Schemas)
                {
                    foreach (var file in Directory.GetFiles(SchemaLoader.GetCredentialPath(schemaName)))
                    {
                        if (!file.Contains("_credentials.json"))
                        {
                            continue;
                        }
                        SchemaLoader.credentialFileName = file;
                        var schema = SchemaLoader.LoadSchema(schemaName);
                        var apiMan = new ApiManager(
                            SchemaLoader.GetCredentials(schemaName),
                            IgnoreCache,
                            jobConfiguration.IgnoreAPI,
                            jobConfiguration.IgnoreTTL,
                            jobConfiguration.Paginate,
                            schema.Delay,
                            CacheDirectory,
                            jobConfiguration.DefaultNowDate
                            );
                        var fetcher    = new Fetcher(apiMan, schema.PageSize);
                        var customEdge = new CustomEdge();

                        if (schemaName == "adaccount")
                        {
                            var pageSchema      = SchemaLoader.LoadSchema("page");
                            var pageCredentials = SchemaLoader.GetCredentials("page");

                            var pageApiMan = new ApiManager(
                                SchemaLoader.GetCredentials("page"),
                                IgnoreCache,
                                jobConfiguration.IgnoreAPI,
                                jobConfiguration.IgnoreTTL,
                                jobConfiguration.Paginate,
                                schema.Delay,
                                CacheDirectory,
                                jobConfiguration.DefaultNowDate
                                );
                            var pageFetcher = new Fetcher(pageApiMan, pageSchema.PageSize);

                            var key = (SchemaName : "adaccount", TableName : "ads", CustomEdgeName : "custom_videos");
                            if (!customEdge.ContainsKey(key))
                            {
                                Action <Logger, JObject> callback = (logger, parent) => {
                                    var creative = parent["creative"];

                                    var video = creative ? ["video_id"];
                                    if (video != null)
                                    {
                                        pageFetcher.GetRoot(pageSchema, "videos", video, logger);
                                    }

                                    var sourceFileVideoId = creative.IndexPathOrDefault <string>("object_story_spec.video_data.video_id", null);

                                    if (sourceFileVideoId != null)
                                    {
                                        pageFetcher.GetRoot(pageSchema, "videos", sourceFileVideoId, logger);
                                    }

                                    var post = creative ? ["object_story_id"];
                                    if (post != null)
                                    {
                                        pageFetcher.GetRoot(pageSchema, "posts", post, logger);
                                    }
                                };

                                customEdge.Add(key, callback);
                            }
                        }

                        if (Schemas.Count == 1 && TableKey != null)
                        {
                            // DEPRECATED: case in which the user specified a single edge to be executed
                            jobs.Add(new FacebookFetcher(schema, TableKey, EdgeKey, fetcher, customEdge));
                        }
                        else
                        {
                            foreach (var edge in schema.Edges)
                            {
                                jobs.Add(new FacebookFetcher(schema, edge.Key, null, fetcher, customEdge, apiMan.Secret.Id));
                            }
                            if (schemaName == "instagram")
                            {
                                jobs.Add(new FacebookFetcher(schema, null, null, fetcher, customEdge, apiMan.Secret.Id));
                            }
                        }
                    }
                }
            }
            catch (Exception e) when(e is FileNotFoundException || e is DirectoryNotFoundException)
            {
                string message = String.Format("Missing or invalid Facebook credentials!\n{0}", e.Message);

                if (e is DirectoryNotFoundException)
                {
                    message = String.Format("{0}\nCheck if the path above exists!", message);
                }
                System.Console.WriteLine(message);
                return(NoJobs);
            };

            return(FilterByName(jobs, names));
        }
예제 #30
0
        public void recreate_all_tables_in_a_different_schema()
        {
            var loader = new SchemaLoader(Servers.SqlServerConnectionString, "sender");

            loader.RecreateAll();
        }
예제 #31
0
        private void Init()
        {
            if (s_schemaLoader == null)
            {
                s_schemaLoader = new SchemaLoader();
            }
            m_PropertyGrid = new PropertyGrid(PropertyGridMode.PropertySorting | PropertyGridMode.DisplayDescriptions | PropertyGridMode.HideResetAllButton);
            m_treeControl  = new TreeControl();
            m_menu         = new MenuStrip();
            var fileMenu = new ToolStripMenuItem();
            var newMenu  = new ToolStripMenuItem();
            var openMenu = new ToolStripMenuItem();

            var exitMenu = new ToolStripMenuItem();
            var splitter = new SplitContainer();

            m_menu.SuspendLayout();
            splitter.BeginInit();
            splitter.Panel1.SuspendLayout();
            splitter.Panel2.SuspendLayout();
            splitter.SuspendLayout();

            SuspendLayout();

            // m_menu
            m_menu.Location = new System.Drawing.Point(0, 0);
            m_menu.Name     = "m_menu";
            m_menu.TabIndex = 0;
            m_menu.Text     = "m_menu";
            m_menu.Items.Add(fileMenu);


            // file
            fileMenu.Name             = "fileToolStripMenuItem";
            fileMenu.Size             = new System.Drawing.Size(37, 20);
            fileMenu.Text             = "File".Localize();
            fileMenu.DropDownOpening += new EventHandler(fileMenu_DropDownOpening);
            fileMenu.DropDownItems.AddRange(new ToolStripItem[]
            {
                newMenu,
                openMenu,
                m_openFolderMenu,
                m_saveMenu,
                m_saveAsMenu,
                exitMenu
            });

            // new
            newMenu.Name         = "newToolStripMenuItem";
            newMenu.ShortcutKeys = Keys.Control | Keys.N;
            newMenu.Text         = "New".Localize();
            newMenu.Click       += NewToolStripMenuItem_Click;

            //open
            openMenu.Name         = "openToolStripMenuItem";
            openMenu.ShortcutKeys = Keys.Control | Keys.O;
            openMenu.Text         = "Open...".Localize();
            openMenu.Click       += OpenToolStripMenuItem_Click;


            // open containing folder
            m_openFolderMenu.Name   = "OpenFolderMenu";
            m_openFolderMenu.Text   = "Open Containing Folder".Localize();
            m_openFolderMenu.Click += new EventHandler(OpenFolderMenu_Click);

            //save
            m_saveMenu.Name         = "saveToolStripMenuItem";
            m_saveMenu.ShortcutKeys = Keys.Control | Keys.S;
            m_saveMenu.Text         = "Save".Localize();
            m_saveMenu.Click       += SaveToolStripMenuItem_Click;

            // save as
            m_saveAsMenu.Name   = "saveAsToolStripMenuItem";
            m_saveAsMenu.Text   = "Save As...".Localize();
            m_saveAsMenu.Click += SaveAsToolStripMenuItem_Click;

            // exit
            exitMenu.Name   = "exitToolStripMenuItem";
            exitMenu.Text   = "Exit".Localize();
            exitMenu.Click += ExitToolStripMenuItem_Click;

            // tree control
            m_treeControl.Dock          = DockStyle.Fill;
            m_treeControl.Name          = "m_treeControl";
            m_treeControl.TabIndex      = 1;
            m_treeControl.Width         = 150;
            m_treeControl.ShowRoot      = false;
            m_treeControl.AllowDrop     = false;
            m_treeControl.SelectionMode = SelectionMode.One;
            m_treeControlAdapter        = new TreeControlAdapter(m_treeControl);

            // propertyGrid1
            m_PropertyGrid.Dock            = DockStyle.Fill;
            m_PropertyGrid.Name            = "propertyGrid1";
            m_PropertyGrid.TabIndex        = 3;
            m_PropertyGrid.PropertySorting = PropertySorting.None;

            // splitter
            splitter.Dock = DockStyle.Fill;
            splitter.Name = "splitContainer1";
            splitter.Panel1.Controls.Add(m_treeControl);
            splitter.Panel2.Controls.Add(m_PropertyGrid);
            splitter.SplitterDistance = 100;
            splitter.TabIndex         = 1;

            AutoScaleMode = AutoScaleMode.Font;
            ClientSize    = new System.Drawing.Size(600, 400);
            Controls.Add(splitter);
            Controls.Add(m_menu);
            MainMenuStrip = m_menu;
            Name          = "SkinEditor";
            Icon          = GdiUtil.CreateIcon(ResourceUtil.GetImage(Sce.Atf.Resources.AtfIconImage));
            UpdateTitleText();
            m_menu.ResumeLayout(false);
            m_menu.PerformLayout();
            splitter.Panel1.ResumeLayout(false);
            splitter.Panel2.ResumeLayout(false);
            splitter.EndInit();
            splitter.ResumeLayout(false);

            ResumeLayout(false);
            PerformLayout();
            splitter.SplitterDistance = 170;
        }
예제 #32
0
        // Create circuit DOM hierarchy programmatically
        static public DomNode CreateTestCircuitProgrammatically(SchemaLoader schemaLoader)
        {
            var rootNode = new DomNode(Schema.circuitDocumentType.Type, Schema.circuitRootElement);        
            // create an empty root prototype folder( required child by schema)
            rootNode.SetChild(
                Schema.circuitDocumentType.prototypeFolderChild,
                new DomNode(Schema.prototypeFolderType.Type));
            
            var circuit = rootNode.Cast<Circuit>();

            var inputFiles = new DomNode(Schema.groupType.Type).Cast<Group>();
            inputFiles.Id = "groupInputFiles";
            inputFiles.Name = "Input Files".Localize();
            inputFiles.Bounds = new Rectangle(64, 96, 0, 0); // set node location, size will be auto-computed
 
            var firstWavgGroup = new DomNode(Schema.groupType.Type).Cast<Group>();
            firstWavgGroup.Id = "first.Wav";
            firstWavgGroup.Name = "first".Localize("as in, 'the first file'") + ".wav";

            var buttonType = schemaLoader.GetNodeType(Schema.NS + ButtonTypeName);
            var button1 = new DomNode(buttonType).Cast<Module>();
            button1.Id = "button1";
            button1.Bounds = new Rectangle(0, 0, 0, 0);

            var button2 = new DomNode(buttonType).Cast<Module>();
            button2.Bounds = new Rectangle(0, 64, 0, 0);
            button2.Id = "button2";

            firstWavgGroup.Elements.Add(button1);
            firstWavgGroup.Elements.Add(button2);
            firstWavgGroup.Expanded = true;
            firstWavgGroup.Update();


            var secondWavgGroup = new DomNode(Schema.groupType.Type).Cast<Group>();
            secondWavgGroup.Id = "second.Wav";
            secondWavgGroup.Name = "second".Localize("as in, 'the second file'") + ".wav";

            var button3 = new DomNode(buttonType).Cast<Module>();
            button3.Id = "button3";
            button3.Bounds = new Rectangle(0, 0, 0, 0);

            var button4 = new DomNode(buttonType).Cast<Module>();
            button4.Bounds = new Rectangle(0, 64, 0, 0);
            button4.Id = "button4";

            secondWavgGroup.Elements.Add(button3);
            secondWavgGroup.Elements.Add(button4);
            secondWavgGroup.Expanded = true;
            secondWavgGroup.Update();
            secondWavgGroup.Bounds = new Rectangle(0, 224, 0, 0);
  
            inputFiles.Elements.Add(firstWavgGroup);
            inputFiles.Elements.Add(secondWavgGroup);
            inputFiles.Update();
            inputFiles.Expanded = true;

            circuit.Elements.Add(inputFiles);


            var structure = new DomNode(Schema.groupType.Type).Cast<Group>();
            structure.Id = "structure".Localize("this is the name of a group of circuit elements; the name is arbitrary");
            structure.Name = "structure".Localize("this is the name of a group of circuit elements; the name is arbitrary");
            structure.Bounds = new Rectangle(352, 96, 0, 0); 
 

            var subStream0 = new DomNode(Schema.groupType.Type).Cast<Group>();
            subStream0.Id = "subStream0".Localize("this is the name of a group of circuit elements; the name is arbitrary");
            subStream0.Name = "sub-stream 0".Localize("this is the name of a group of circuit elements; the name is arbitrary");

            var lightType = schemaLoader.GetNodeType(Schema.NS + LightTypeName);

            var light1 = new DomNode(lightType).Cast<Module>();
            light1.Id = "light1";
            light1.Bounds = new Rectangle(0, 0, 0, 0);

            var light2 = new DomNode(lightType).Cast<Module>();
            light2.Id = "light2";
            light2.Bounds = new Rectangle(0, 64, 0, 0);

            var light3 = new DomNode(lightType).Cast<Module>();
            light3.Id = "light3";
            light3.Bounds = new Rectangle(0, 128, 0, 0);

            var light4 = new DomNode(lightType).Cast<Module>();
            light4.Id = "light4";
            light4.Bounds = new Rectangle(0, 192, 0, 0);

            var light5 = new DomNode(lightType).Cast<Module>();
            light5.Id = "light5";
            light5.Bounds = new Rectangle(0, 256, 0, 0);

            var light6 = new DomNode(lightType).Cast<Module>();
            light6.Id = "light6";
            light6.Bounds = new Rectangle(0, 320, 0, 0);


            subStream0.Elements.Add(light1);
            subStream0.Elements.Add(light2);
            subStream0.Elements.Add(light3);
            subStream0.Elements.Add(light4);
            subStream0.Elements.Add(light5);
            subStream0.Elements.Add(light6);
            subStream0.Expanded = true;
            subStream0.Update(); // this will generate group pins needed for edge connection


            structure.Elements.Add(subStream0);
            structure.Expanded = true;
            structure.Update();

            circuit.Elements.Add(structure);

            // Note on 11/12/2013: adding wires currently crashes. Nested circuit groups aren't officially supported anyways.
            // make some edges betwen InputFiles & structure
            //var connection0 = CircuitAddEdge(inputFiles, 0, structure, 0);
            //circuit.Wires.Add(connection0);
            //var connection1 = CircuitAddEdge(inputFiles, 1, structure, 1);
            //circuit.Wires.Add(connection1);
            //var connection2 = CircuitAddEdge(inputFiles, 2, structure, 3);
            //circuit.Wires.Add(connection2);
            //var connection3 = CircuitAddEdge(inputFiles, 3, structure, 5);
            //circuit.Wires.Add(connection3);

            return rootNode;
        }
예제 #33
0
        protected SqlServerContext()
        {
            var loader = new SchemaLoader(Servers.SqlServerConnectionString);

            loader.RecreateAll();
        }
예제 #34
0
파일: SkinEditor.cs 프로젝트: Joxx0r/ATF
        private void Init()
        {
            if (s_schemaLoader == null)
                s_schemaLoader = new SchemaLoader();
            m_PropertyGrid = new PropertyGrid(PropertyGridMode.PropertySorting | PropertyGridMode.DisplayDescriptions | PropertyGridMode.HideResetAllButton);
            m_treeControl = new TreeControl();
            m_menu = new MenuStrip();
            var fileMenu = new ToolStripMenuItem();
            var newMenu = new ToolStripMenuItem();
            var openMenu = new ToolStripMenuItem();

            var exitMenu = new ToolStripMenuItem();
            var splitter = new SplitContainer();

            m_menu.SuspendLayout();
            splitter.BeginInit();
            splitter.Panel1.SuspendLayout();
            splitter.Panel2.SuspendLayout();
            splitter.SuspendLayout();

            SuspendLayout();

            // m_menu
            m_menu.Location = new System.Drawing.Point(0, 0);
            m_menu.Name = "m_menu";
            m_menu.TabIndex = 0;
            m_menu.Text = "m_menu";
            m_menu.Items.Add(fileMenu);


            // file            
            fileMenu.Name = "fileToolStripMenuItem";
            fileMenu.Size = new System.Drawing.Size(37, 20);
            fileMenu.Text = "File".Localize();
            fileMenu.DropDownOpening += new EventHandler(fileMenu_DropDownOpening);
            fileMenu.DropDownItems.AddRange(new ToolStripItem[]
            {
                newMenu,             
                openMenu,
                m_openFolderMenu,
                m_saveMenu,
                m_saveAsMenu,
                exitMenu
            });

            // new
            newMenu.Name = "newToolStripMenuItem";
            newMenu.ShortcutKeys = Keys.Control | Keys.N;
            newMenu.Text = "New".Localize();
            newMenu.Click += NewToolStripMenuItem_Click;

            //open
            openMenu.Name = "openToolStripMenuItem";
            openMenu.ShortcutKeys = Keys.Control | Keys.O;
            openMenu.Text = "Open...".Localize();
            openMenu.Click += OpenToolStripMenuItem_Click;


            // open containing folder
            m_openFolderMenu.Name = "OpenFolderMenu";
            m_openFolderMenu.Text = "Open Containing Folder".Localize();
            m_openFolderMenu.Click += new EventHandler(OpenFolderMenu_Click);

            //save
            m_saveMenu.Name = "saveToolStripMenuItem";
            m_saveMenu.ShortcutKeys = Keys.Control | Keys.S;
            m_saveMenu.Text = "Save".Localize();
            m_saveMenu.Click += SaveToolStripMenuItem_Click;

            // save as
            m_saveAsMenu.Name = "saveAsToolStripMenuItem";
            m_saveAsMenu.Text = "Save As...".Localize();
            m_saveAsMenu.Click += SaveAsToolStripMenuItem_Click;

            // exit
            exitMenu.Name = "exitToolStripMenuItem";
            exitMenu.Text = "Exit".Localize();
            exitMenu.Click += ExitToolStripMenuItem_Click;

            // tree control
            m_treeControl.Dock = DockStyle.Fill;
            m_treeControl.Name = "m_treeControl";
            m_treeControl.TabIndex = 1;
            m_treeControl.Width = 150;
            m_treeControl.ShowRoot = false;
            m_treeControl.AllowDrop = false;
            m_treeControl.SelectionMode = SelectionMode.One;
            m_treeControlAdapter = new TreeControlAdapter(m_treeControl);

            // propertyGrid1            
            m_PropertyGrid.Dock = DockStyle.Fill;
            m_PropertyGrid.Name = "propertyGrid1";
            m_PropertyGrid.TabIndex = 3;
            m_PropertyGrid.PropertySorting = PropertySorting.None;

            // splitter           
            splitter.Dock = DockStyle.Fill;
            splitter.Name = "splitContainer1";
            splitter.Panel1.Controls.Add(m_treeControl);
            splitter.Panel2.Controls.Add(m_PropertyGrid);
            splitter.SplitterDistance = 100;
            splitter.TabIndex = 1;

            AutoScaleMode = AutoScaleMode.Font;
            ClientSize = new System.Drawing.Size(600, 400);
            Controls.Add(splitter);
            Controls.Add(m_menu);
            MainMenuStrip = m_menu;
            Name = "SkinEditor";
            Icon = GdiUtil.CreateIcon(ResourceUtil.GetImage(Sce.Atf.Resources.AtfIconImage));
            UpdateTitleText();
            m_menu.ResumeLayout(false);
            m_menu.PerformLayout();
            splitter.Panel1.ResumeLayout(false);
            splitter.Panel2.ResumeLayout(false);
            splitter.EndInit();
            splitter.ResumeLayout(false);

            ResumeLayout(false);
            PerformLayout();
            splitter.SplitterDistance = 170;
        }
예제 #35
0
        private static int Main(string[] args)
        {
            Directory.SetCurrentDirectory(AppDomain.CurrentDomain.BaseDirectory);

            var showHelp    = false;
            var dryRun      = false;
            var listSchemas = false;

            var filePath = default(string);
            var xsdPath  = "Resources/Schemas";
            var verbose  = false;

            var p = new OptionSet
            {
                { "Help" },
                { "h|help", "Display this message", x => showHelp = true },
                { "d|dry-run", "Test how parameters are parsed", x => dryRun = true },
                { "l|list-schemas", "List supported XSD-schemas", x => listSchemas = true },

                { "Validation" },
                { "f|file=", "(Required) Path to file", x => filePath = x },
                { "x|xsd-path=", "(Optional) Path to XSD-schemas", x => xsdPath = x },
                { "v|verbose", "(Optional) (Resource intensive) Detailed output", x => verbose = true }
            };

            var list = p.Parse(args);

            if (list.Count > 0)
            {
                Console.WriteLine($"Unknown arguments: {string.Join(", ", list)}\n");
                p.WriteOptionDescriptions(Console.Out);
                Console.WriteLine();
                return(1);
            }

            if (showHelp)
            {
                p.WriteOptionDescriptions(Console.Out);
                Console.WriteLine();
                return(0);
            }

            if (dryRun)
            {
                Console.WriteLine("Parsed parameters:");
                Console.WriteLine($"- file: {Path.GetFullPath(filePath)}");
                Console.WriteLine($"- xsd-path: {Path.GetFullPath(xsdPath)}");
                Console.WriteLine($"- verbose: {verbose}");
                Console.WriteLine();
                return(0);
            }

            var schemas = SchemaLoader.LoadDirectory(xsdPath);

            if (listSchemas)
            {
                var namespaces = schemas.Schemas()
                                 .OfType <XmlSchema>()
                                 .Select(s => s.TargetNamespace)
                                 .OrderBy(ns => ns);

                var sb = new StringBuilder();
                sb.AppendLine("Supported xsd-schemas:");
                foreach (var ns in namespaces)
                {
                    sb
                    .Append(" - ")
                    .Append(ns)
                    .AppendLine();
                }

                Console.WriteLine();
                Console.WriteLine(sb);
                return(0);
            }

            if (filePath == default)
            {
                Console.WriteLine("ERROR: A file must be specified");
                return(1);
            }

            // todo more error handling
            // todo better output

            if (verbose)
            {
                bool hasError;
                try
                {
                    var xDoc = XDocument.Load(filePath);
                    hasError = XsdValidator.Validate(xDoc, schemas, Console.Out);
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                    hasError = true;
                }

                return(hasError
                    ? 1
                    : 0);
            }

            try
            {
                XsdValidator.ValidateFile(filePath, schemas, true);
            }
            catch (AggregateException aex)
            {
                var sb = new StringBuilder();
                sb.AppendLine("Error in xml:");
                foreach (var iex in aex.InnerExceptions)
                {
                    sb.Append(" - ")
                    .AppendLine(iex.Message);
                }

                Console.WriteLine(sb);
                return(1);
            }
            catch (Exception ex)
            {
                Console.WriteLine($"Error in xml {ex.Message}");
                return(1);
            }

            return(0);
        }