예제 #1
0
파일: WorkerRole.cs 프로젝트: michlG/Caloom
        public override bool OnStart()
        {
            // Set the maximum number of concurrent connections
            CurrWorkerID = DateTime.Now.ToString();
            ServicePointManager.DefaultConnectionLimit = 12;
            ServicePointManager.UseNagleAlgorithm      = false;
            string       connStr;
            const string ConnStrFileName = @"C:\Users\Michael\Documents\theballconnstr.txt";

            if (File.Exists(ConnStrFileName))
            {
                connStr = File.ReadAllText(ConnStrFileName);
            }
            else
            {
                connStr = CloudConfigurationManager.GetSetting("StorageConnectionString");
            }
            StorageSupport.InitializeWithConnectionString(connStr);
            InformationContext.InitializeFunctionality(3, allowStatic: true);
            InformationContext.Current.InitializeCloudStorageAccess(CURRENT_HARDCODED_CONTAINER_NAME);
            CurrQueue = QueueSupport.CurrDefaultQueue;
            IsStopped = false;
            return(base.OnStart());
        }
예제 #2
0
파일: Program.cs 프로젝트: michlG/Caloom
        private static void Main(string[] args)
        {
            try
            {
                //Console.WriteLine("Running test EKE...");
                //TheBallEKE.TestExecution();
                //Console.WriteLine("Running test EKE complete.");
                ////return;
                ////SecurityNegotiationManager.EchoClient().Wait();
                //SecurityNegotiationManager.EchoClient();
                //Console.ReadLine(); // Enter to exit
                //return;

                //return;
                if (args.Length != 4 || args[0].Length != 4)
                {
                    Console.WriteLine("Usage: WebTemplateManager.exe <-pub name/-pri name> grp<groupID>/acc<acctID> <connection string>");
                    return;
                }
                //Debugger.Launch();
                string pubPriPrefixWithDash = args[0];
                string templateName         = args[1];
                if (String.IsNullOrWhiteSpace(templateName))
                {
                    throw new ArgumentException("Template name must be given");
                }
                string connStr   = args[3];
                string grpacctID = args[2];
                if (pubPriPrefixWithDash != "-pub" && pubPriPrefixWithDash != "-pri")
                {
                    throw new ArgumentException("-pub or -pri misspelled or missing");
                }
                string       pubPriPrefix = pubPriPrefixWithDash.Substring(1);
                string       ownerPrefix  = grpacctID.Substring(0, 3);
                string       ownerID      = grpacctID.Substring(3);
                VirtualOwner owner        = VirtualOwner.FigureOwner(ownerPrefix + "/" + ownerID);

                //string connStr = String.Format("DefaultEndpointsProtocol=http;AccountName=theball;AccountKey={0}",
                //                               args[0]);
                //connStr = "UseDevelopmentStorage=true";
                bool debugMode = false;

                StorageSupport.InitializeWithConnectionString(connStr, debugMode);
                InformationContext.InitializeFunctionality(3, true);
                InformationContext.Current.InitializeCloudStorageAccess(
                    Properties.Settings.Default.CurrentActiveContainerName);

                string directory = Directory.GetCurrentDirectory();
                if (directory.EndsWith("\\") == false)
                {
                    directory = directory + "\\";
                }
                string[] allFiles =
                    Directory.GetFiles(directory, "*", SearchOption.AllDirectories)
                    .Select(str => str.Substring(directory.Length))
                    .ToArray();
                if (pubPriPrefix == "pub" && templateName == "legacy")
                {
                    FileSystemSupport.UploadTemplateContent(allFiles, owner,
                                                            RenderWebSupport.DefaultPublicWwwTemplateLocation, true,
                                                            Preprocessor, ContentFilterer, InformationTypeResolver);
                    RenderWebSupport.RenderWebTemplate(owner.LocationPrefix, true, "AaltoGlobalImpact.OIP.Blog",
                                                       "AaltoGlobalImpact.OIP.Activity");
                }
                else
                {
                    FileSystemSupport.UploadTemplateContent(allFiles, owner, templateName, true);
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine("EXCEPTION: " + exception.ToString());
            }
            Console.WriteLine("DONE");
        }
예제 #3
0
파일: Program.cs 프로젝트: michlG/Caloom
        static void Main(string[] args)
        {
            try
            {
                string connStr = "DefaultEndpointsProtocol=https;AccountName=theballmichael;AccountKey=CWz4Sp47JIASPy99OMQX+MCdbc82pHqI0obsTAeRNb2k++YVhssKZ1RVAal8LVvA0ekXddWKIBQ7LA3Z0P6bAA==";
                //connStr = "UseDevelopmentStorage=true";
                bool debugMode = false;

                StorageSupport.InitializeWithConnectionString(connStr, debugMode);
                InformationContext.InitializeFunctionality(3, true);
                InformationContext.Current.InitializeCloudStorageAccess(Properties.Settings.Default.CurrentActiveContainerName);

                if (DataPatcher.DoPatching())
                {
                    Console.WriteLine("DONE");
                    Console.ReadLine();
                    return;
                }

                //ProcessErrors(false);
                //return;

                string       templateLocation    = "livetemplate";
                string       privateSiteLocation = "livesite";
                string       publicSiteLocation  = "livepubsite";
                const string accountNamePart     = "oip-account\\";
                const string publicGroupNamePart = "oip-public\\";
                const string groupNamePart       = "oip-group\\";
                const string wwwNamePart         = "www-public\\";
                //DoMapData(webGroup);
                //return;
                string directory = Directory.GetCurrentDirectory();
                if (directory.EndsWith("\\") == false)
                {
                    directory = directory + "\\";
                }
                string[] allFiles =
                    Directory.GetFiles(directory, "*", SearchOption.AllDirectories).Select(
                        str => str.Substring(directory.Length)).Where(str => str.StartsWith("theball-") == false).ToArray();
                string[] groupTemplates =
                    allFiles.Where(file => file.StartsWith(accountNamePart) == false && file.StartsWith(publicGroupNamePart) == false && file.StartsWith(wwwNamePart) == false).
                    ToArray();
                string[] publicGroupTemplates =
                    allFiles.Where(file => file.StartsWith(accountNamePart) == false && file.StartsWith(groupNamePart) == false && file.StartsWith(wwwNamePart) == false).
                    ToArray();
                string[] accountTemplates =
                    allFiles.Where(file => file.StartsWith(groupNamePart) == false && file.StartsWith(publicGroupNamePart) == false && file.StartsWith(wwwNamePart) == false).
                    ToArray();
                string[] wwwTemplates =
                    allFiles.Where(file => file.StartsWith(groupNamePart) == false && file.StartsWith(publicGroupNamePart) == false && file.StartsWith(accountNamePart) == false).
                    ToArray();
                UploadAndMoveUnused(accountTemplates, groupTemplates, publicGroupTemplates, null);
                //UploadAndMoveUnused(null, null, null, wwwTemplates);
                //UploadAndMoveUnused(null, null, publicGroupTemplates, null);
                //UploadAndMoveUnused(accountTemplates, null, null);

                //DeleteAllAccountAndGroupContents(true);
                //RefreshAllAccounts();

                // TODO: The delete above needs to go through first before the refresh one below

                RenderWebSupport.RefreshAllAccountAndGroupTemplates(true, "AaltoGlobalImpact.OIP.Blog", "AaltoGlobalImpact.OIP.Activity", "AaltoGlobalImpact.OIP.AddressAndLocation",
                                                                    "AaltoGlobalImpact.OIP.Image", "AaltoGlobalImpact.OIP.ImageGroup", "AaltoGlobalImpact.OIP.Category");

                //RunTaskedQueueWorker();


                //FileSystemSupport.UploadTemplateContent(groupTemplates, webGroup, templateLocation, true);
                Console.WriteLine("Starting to sync...");
                //DoSyncs(templateLocation, privateSiteLocation, publicSiteLocation);
                //"grp/default/pub/", true);
                return;
                //doDataTest(connStr);
                //InitLandingPages();
                //Console.WriteLine("Press enter to continue...");
                //Console.ReadLine();
            }
            catch (InvalidDataException ex)
            {
                Console.WriteLine("Error exit: " + ex.ToString());
            }
        }