protected override void ParseProgramArgs() { //get and test the cmd line arg key\values var argHash = ConsoleCmd.ArgHash(_args); NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName"); if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_IDS_PORT_CMD_SWITCH)) { _getTokenIdsCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_IDS_PORT_CMD_SWITCH].ToString()); } if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_NAMES_PORT_CMD_SWITCH)) { _getTokenNamesCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_NAMES_PORT_CMD_SWITCH].ToString()); } if (argHash.ContainsKey(AssemblyAnalysis.GET_ASM_INDICES_PORT_CMD_SWITCH)) { _getasmIndicesCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_ASM_INDICES_PORT_CMD_SWITCH].ToString()); } if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_TYPES_PORT_CMD_SWITCH)) { _getTokenTypesCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_TYPES_PORT_CMD_SWITCH].ToString()); } if (argHash.ContainsKey(AssemblyAnalysis.GET_TOKEN_PAGE_RANK_PORT_CMD_SWITCH)) { _getTokenPageRankCmdPort = ResolveInt(argHash[AssemblyAnalysis.GET_TOKEN_PAGE_RANK_PORT_CMD_SWITCH].ToString()); } if (argHash.ContainsKey(AssemblyAnalysis.REASSIGN_TOKEN_NAMES_PORT_CMD_SWITCH)) { _reassignTokenNamesCmdPort = ResolveInt(argHash[AssemblyAnalysis.REASSIGN_TOKEN_NAMES_PORT_CMD_SWITCH].ToString()); } if (argHash.ContainsKey(AssemblyAnalysis.RESOLVE_GAC_ASM_SWITCH)) { _resolveGacAsms = ResolveBool(argHash[AssemblyAnalysis.RESOLVE_GAC_ASM_SWITCH].ToString()); } }
public void AssignPageRank(AsmAdjancyGraph g) { if (g.St == MetadataTokenStatus.Error) { return; } if (g.Asms == null || !g.Asms.Any()) { return; } if (g.Graph == null) { return; } var keepTemp = ResolveBool(SysCfg.GetAppCfgSetting(APP_SET_KEY_KEEP_TEMP)) ?? false; Efx.RTempDir = LogDirectory; var pageRank = Efx.GetPageRank(g.Graph, keepTemp); if (pageRank == null || !pageRank.Any()) { return; } for (var i = 0; i < g.Asms.Length; i++) { var asm = g.Asms.FirstOrDefault(x => x.IndexId == i); if (asm == null) { continue; } asm.PageRank = pageRank[i]; } }
protected override void ParseProgramArgs() { var argHash = ConsoleCmd.ArgHash(_args); NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName"); if (argHash.ContainsKey(Flatten.GET_FLAT_ASM_PORT_CMD_SWITCH)) { _getFlattenAssemblyCmdPort = ResolveInt(argHash[Flatten.GET_FLAT_ASM_PORT_CMD_SWITCH].ToString()); } }
//assign instance keys to cmd arg or app.config value internal bool AssignKeys() { if (String.IsNullOrWhiteSpace(_bulkKey)) { _bulkKey = SysCfg.GetAppCfgSetting(APPCONFIG.BULK_KEY); } if (String.IsNullOrWhiteSpace(_hashSalt)) { _hashSalt = SysCfg.GetAppCfgSetting(APPCONFIG.SALT); } return(String.IsNullOrWhiteSpace(_bulkKey) || String.IsNullOrWhiteSpace(_hashSalt)); }
protected override void ParseProgramArgs() { var argHash = ConsoleCmd.ArgHash(_args); NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName"); if (!argHash.ContainsKey(Dpx.BIN_DIR) || argHash[Dpx.BIN_DIR] == null) { throw new RahRowRagee( $"the switch '{Dpx.BIN_DIR}' could not be " + $"parsed from cmd line arg \n{string.Join(" ", _args)}"); } BinDir = argHash[Dpx.BIN_DIR].ToString(); }
protected override void ParseProgramArgs() { var argHash = ConsoleCmd.ArgHash(_args); GetFileCmdArgs(argHash); NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName"); if (MyFileParameters.FileCommand == InvokeKind.HostSjcl) { return; } GetHostSjclCmdArgs(argHash); }
protected override void ParseProgramArgs() { var argHash = ConsoleCmd.ArgHash(_args); if (!argHash.ContainsKey(Settings.INVOKE_ASM_PATH_SWITCH) || argHash[Settings.INVOKE_ASM_PATH_SWITCH] == null) { throw new RahRowRagee( $"the switch '{Settings.INVOKE_ASM_PATH_SWITCH}' could not be " + $"parsed from cmd line arg \n{string.Join(" ", _args)}"); } if (!argHash.ContainsKey(Settings.INVOKE_FULL_TYPE_NAME_SWITCH) || argHash[Settings.INVOKE_FULL_TYPE_NAME_SWITCH] == null) { throw new RahRowRagee( $"the switch '{Settings.INVOKE_FULL_TYPE_NAME_SWITCH}' could not " + $"be parsed from cmd line arg \n{string.Join(" ", _args)}"); } ResolveDependencies = argHash.ContainsKey(Settings.INVOKE_RESOLVE_ALL_DEPENDENCIES) && string.Equals(argHash[Settings.INVOKE_RESOLVE_ALL_DEPENDENCIES].ToString(), bool.TrueString, StringComparison.OrdinalIgnoreCase); AsmPath = argHash[Settings.INVOKE_ASM_PATH_SWITCH].ToString(); if (!File.Exists(AsmPath)) { throw new RahRowRagee($"There is no assembly at '{AsmPath}'."); } NfConfig.AssemblySearchPaths.Add(Path.GetDirectoryName(AsmPath)); Assembly = NfConfig.UseReflectionOnlyLoad ? Asm.NfReflectionOnlyLoadFrom(AsmPath) : Asm.NfLoadFrom(AsmPath); if (Assembly == null) { throw new RahRowRagee( $"The assembly at '{AsmPath}' could not be loaded, " + $"see the log at '{Asm.ResolveAsmLog}' for more info."); } TypeName = argHash[Settings.INVOKE_FULL_TYPE_NAME_SWITCH].ToString(); NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting("NoFuture.ToolsCustomTools.InvokeNfTypeName"); }
internal void GetHostSjclCmdArgs(Hashtable argHash) { var sjclBkPt = 0; var sjclBkCt = 0; var sjclHp = 0; var sjclHashSalt = string.Empty; var sjclBulkCipherKey = string.Empty; var ptp = argHash.ContainsKey(SWITCHES.TO_PLAIN_TXT_PORT) ? argHash[SWITCHES.TO_PLAIN_TXT_PORT].ToString() : SysCfg.GetAppCfgSetting(SWITCHES.TO_PLAIN_TXT_PORT); var ctp = argHash.ContainsKey(SWITCHES.TO_CIPHER_TEXT_PORT) ? argHash[SWITCHES.TO_CIPHER_TEXT_PORT].ToString() : SysCfg.GetAppCfgSetting(SWITCHES.TO_CIPHER_TEXT_PORT); var hp = argHash.ContainsKey(SWITCHES.HASH_PORT) ? argHash[SWITCHES.HASH_PORT].ToString() : SysCfg.GetAppCfgSetting(SWITCHES.HASH_PORT); sjclBkPt = ResolvePort(ptp).GetValueOrDefault(NfConfig.NfDefaultPorts.SjclToPlainText); sjclBkCt = ResolvePort(ctp).GetValueOrDefault(NfConfig.NfDefaultPorts.SjclToCipherText); sjclHp = ResolvePort(hp).GetValueOrDefault(NfConfig.NfDefaultPorts.SjclHashPort); if (argHash.ContainsKey(SWITCHES.HASH_SALT)) { sjclHashSalt = argHash[SWITCHES.HASH_SALT].ToString(); } if (argHash.ContainsKey(SWITCHES.BULK_CIPHER_KEY)) { sjclBulkCipherKey = argHash[SWITCHES.BULK_CIPHER_KEY].ToString(); } MyHostParameters = new HostParameters { SjclBulkKeyToPlainTextPort = sjclBkPt, SjclBulkKeyToCipherTextPort = sjclBkCt, SjclSha256HashPort = sjclHp, }; _hashSalt = CleanupDblSnglQuotes(sjclHashSalt); _bulkKey = CleanupDblSnglQuotes(sjclBulkCipherKey); }
protected static void ValidateBinDir() { NfConfig.BinDirectories.Root = SysCfg.GetAppCfgSetting(ROOT_BIN_DIR); if (string.IsNullOrWhiteSpace(NfConfig.BinDirectories.Root) || !Directory.Exists(NfConfig.BinDirectories.Root)) { throw new ItsDeadJim( $"the root bin directory is not present at '{NfConfig.BinDirectories.Root}' " + "- change the config file settings"); } var f = SysCfg.GetAppCfgSetting(AppSettingKeys.DotExe); if (string.IsNullOrWhiteSpace(f)) { throw new ItsDeadJim( $"the path to Dot.exe is not present at '{f}' " + $"- change the config file settings"); } NfConfig.X86.DotExe = Path.Combine(NfConfig.BinDirectories.Root, f); if (!File.Exists(NfConfig.X86.DotExe)) { throw new ItsDeadJim( $"the path to Dot.exe is not present at '{NfConfig.X86.DotExe}' " + $"- change the config file settings"); } NfConfig.TempDirectories.Graph = SysCfg.GetAppCfgSetting(AppSettingKeys.GraphTempDir); if (string.IsNullOrWhiteSpace(NfConfig.TempDirectories.Graph)) { throw new ItsDeadJim( "assign a config file's appSettings for " + "'NoFuture.TempDirectories.Graph' to a valid directory"); } NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting(AppSettingKeys.NfTypeName); }
/// <summary> /// Gets a list of extensions, each being a regex pattern, from this /// machine's web.config. The extensions are sourced from the /// httpHandlers section. /// </summary> /// <returns></returns> public static List <string> GetGlobalWebConfigAspExtensions() { var extensions = new List <string>(); var configFile = SysCfg.GetAspNetWebCfg(); var httpHandlersNodes = configFile.SelectNodes("//httpHandlers/add"); if (httpHandlersNodes == null || httpHandlersNodes.Count == 0) { return(null); } foreach (System.Xml.XmlNode httpHandlersNode in httpHandlersNodes) { if (httpHandlersNode.Attributes == null) { continue; } if (httpHandlersNode.Attributes["path"] == null) { continue; } if (string.IsNullOrWhiteSpace(httpHandlersNode.Attributes["path"].Value)) { continue; } if (httpHandlersNode.Attributes["path"].Value == "*") { continue; } extensions.Add(httpHandlersNode.Attributes["path"].Value.Replace(".", @"\.").Replace("*", ".*")); } return(extensions); }
protected override void ParseProgramArgs() { var argHash = ConsoleCmd.ArgHash(_args); if (argHash == null || argHash.Keys.Count <= 0) { var msg = $"could not parse cmd line arg \n{string.Join(" ", _args)}"; throw new ItsDeadJim(msg); } NfConfig.CustomTools.InvokeNfTypeName = SysCfg.GetAppCfgSetting(AppSettingKeyNames.NF_TYPE_NAME_EXE); if (!argHash.ContainsKey(InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH) || argHash[InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH] == null) { var msg = $"the switch '{InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH}' could not " + $"be parsed from cmd line arg \n{string.Join(" ", _args)}"; throw new ItsDeadJim(msg); } Settings.HbmStoredProcsDirectory = argHash[InvokeStoredProcManager.HBM_STORED_PROX_DIR_SWITCH].ToString(); if (!argHash.ContainsKey(InvokeStoredProcManager.CONNECTION_STR_SWITCH) || argHash[InvokeStoredProcManager.CONNECTION_STR_SWITCH] == null) { var msg = $"the switch '{InvokeStoredProcManager.CONNECTION_STR_SWITCH}' could not " + $"be parsed from cmd line arg \n{string.Join(" ", _args)}"; Settings.WriteToStoredProcLog(msg); throw new ItsDeadJim(msg); } if (!argHash.ContainsKey(InvokeStoredProcManager.FILE_PATH_SWITCH) || argHash[InvokeStoredProcManager.FILE_PATH_SWITCH] == null) { var msg = $"the switch '{InvokeStoredProcManager.FILE_PATH_SWITCH}' could not " + $"be parsed from cmd line arg \n{string.Join(" ", _args)}"; Settings.WriteToStoredProcLog(msg); throw new ItsDeadJim(msg); } if (!argHash.ContainsKey(InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET) || argHash[InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET] == null) { var msg = $"the switch '{InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET}' could not " + $"be parsed from cmd line arg \n{string.Join(" ", _args)}"; Settings.WriteToStoredProcLog(msg); throw new ItsDeadJim(msg); } if ( !bool.TryParse(argHash[InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET].ToString(), out _sendSocketMessages)) { var msg = "could not parse the value 'True' nor 'False' from " + $"the '{InvokeStoredProcManager.SEND_MESSAGES_BACK_ON_SOCKET}' switch " + $"using the cmd line arg \n{string.Join(" ", _args)}"; Settings.WriteToStoredProcLog(msg); throw new ItsDeadJim(msg); } ConnectionString = argHash[InvokeStoredProcManager.CONNECTION_STR_SWITCH].ToString(); SpmFilePath = argHash[InvokeStoredProcManager.FILE_PATH_SWITCH].ToString(); if (!File.Exists(SpmFilePath)) { var msg = $"bad path or file name '{SpmFilePath}'"; Settings.WriteToStoredProcLog(msg); throw new ItsDeadJim(msg); } if (!SortingContainers.StoredProcMetadata.TryDeserializeFromDisk(SpmFilePath, out _myProcMetadata)) { var msg = $"could not deserialize the file \n'{SpmFilePath}' " + $"into the type \n'{typeof(SortingContainers.StoredProcMetadata).FullName}'"; Settings.WriteToStoredProcLog(msg); throw new ItsDeadJim(msg); } if (string.IsNullOrWhiteSpace(_myProcMetadata.ProcName)) { var msg = "there isn't a stored proc name in " + $"the deserialized file at \n'{SpmFilePath}'"; Settings.WriteToStoredProcLog(msg); throw new ItsDeadJim(msg); } }
/// <summary> /// Resolve a port number from the config file's appSettings /// on <see cref="appKey"/> /// </summary> /// <param name="appKey"></param> /// <returns></returns> internal int?ResolvePort(string appKey) { var cval = SysCfg.GetAppCfgSetting(appKey); return(ResolveInt(cval)); }