Esempio n. 1
0
        public string[] GetClassTypeNames(string[] assemblyPaths, ClassTypeFilter filter)
        {
            List <string> typeNames = new List <string>();;
            AssemblyDef   assembly;

            foreach (string path in assemblyPaths)
            {
                assembly = AssemblyDef.LoadFrom(path);
                foreach (TypeDef type in assembly.GetTypes())
                {
                    if (filter != null)
                    {
                        if (filter.FilterType(type))
                        {
                            typeNames.Add(type.FullName);
                        }
                    }
                    else
                    {
                        typeNames.Add(type.FullName);
                    }
                }
            }
            return(typeNames.ToArray());
        }
Esempio n. 2
0
        public Dictionary <string, TypeDef[]> GetTypes(string[] assemblyPaths, ClassTypeFilter filter)
        {
            Dictionary <string, TypeDef[]> dictionary = new Dictionary <string, TypeDef[]>();

            TypeDef[]      types;
            List <TypeDef> typesList;

            foreach (string path in assemblyPaths)
            {
                AssemblyDef assembly = AssemblyDef.LoadFrom(path);
                types     = assembly.GetTypes();
                typesList = new List <TypeDef>();
                foreach (TypeDef t in types)
                {
                    if (filter != null)
                    {
                        if (filter.FilterType(t))
                        {
                            typesList.Add(t);
                        }
                    }
                    else
                    {
                        typesList.Add(t);
                    }
                }
                dictionary.Add(path, typesList.ToArray());
            }
            return(dictionary);
        }
Esempio n. 3
0
        public string[] AssemblyFullName(string[] assemblyPath)
        {
            List <string> fullNames = new List <string>();
            AssemblyDef   assembly;

            foreach (string path in assemblyPath)
            {
                assembly = AssemblyDef.LoadFrom(path);
                fullNames.Add(assembly.FullName);
            }
            return(fullNames.ToArray());
        }
Esempio n. 4
0
        public TypeDef[] GetTypes(string assemblyPath, ClassTypeFilter filter)
        {
            AssemblyDef assembly = AssemblyDef.LoadFrom(assemblyPath);

            TypeDef[]      types     = assembly.GetTypes();
            List <TypeDef> typesList = new List <TypeDef>();

            foreach (TypeDef t in types)
            {
                if (filter != null)
                {
                    if (filter.FilterType(t))
                    {
                        typesList.Add(t);
                    }
                }
                else
                {
                    typesList.Add(t);
                }
            }
            return(typesList.ToArray());
        }
        private void AddLuceneQueryIndexDefaults()
        {
            if (!ValidateParameters())
            {
                return;
            }
            bool        successful = true;
            AssemblyDef asm        = null;

            //ArrayList cc = new ArrayList();
            Alachisoft.NCache.Config.Dom.Class[] queryClasses = null;
            string failedNodes = string.Empty;
            string serverName  = string.Empty;

            try
            {
                if (Port == -1)
                {
                    NCache.Port = NCache.UseTcp ? CacheConfigManager.NCacheTcpPort : CacheConfigManager.HttpPort;
                }
                if (Server != null && Server != string.Empty)
                {
                    NCache.ServerName = Server;
                }
                if (Port != -1)
                {
                    NCache.Port = Port;
                }
                try
                {
                    cacheServer = NCache.GetCacheServer(new TimeSpan(0, 0, 0, 30));
                }
                catch (Exception e)
                {
                    OutputProvider.WriteErrorLine("Error: NCache service could not be contacted on server.");
                    return;
                }

                ToolsUtil.VerifyClusterConfigurations(cacheServer.GetNewConfiguration(CacheName), CacheName);


                string extension = ".dll";
                if (cacheServer != null)
                {
                    serverName = cacheServer.GetClusterIP();
                    if (cacheServer.IsRunning(CacheName))
                    {
                        throw new Exception(CacheName + " is Running on " + serverName +
                                            "\nStop the cache first and try again.");
                    }

                    serverConfig = cacheServer.GetNewConfiguration(CacheName);
                    //ConfiguredCacheInfo[] configuredCaches = cacheServer.GetAllConfiguredCaches();

                    if (serverConfig == null)
                    {
                        throw new Exception("Specified cache is not registered on the given server.");
                    }

                    //if (! Unregister)
                    //{
                    try
                    {
                        asm = AssemblyDef.LoadFrom(AssemblyPath);

                        extension = Path.GetExtension(asm.FullName);
                    }
                    catch (Exception e)
                    {
                        string message = string.Format("Could not load assembly \"" + AssemblyPath + "\". {0}", e.Message);
                        OutputProvider.WriteErrorLine("Error : {0}", message);
                        successful = false;
                        return;
                    }

                    if (asm == null)
                    {
                        throw new Exception("Could not load specified Assembly");
                    }

                    TypeDef type = asm.GetType(Class);


                    if (serverConfig.CacheSettings.QueryIndices == null)
                    {
                        serverConfig.CacheSettings.QueryIndices         = new Alachisoft.NCache.Config.Dom.QueryIndex();
                        serverConfig.CacheSettings.QueryIndices.Classes = queryClasses;
                    }

                    queryClasses = serverConfig.CacheSettings.QueryIndices.Classes;

                    serverConfig.CacheSettings.QueryIndices.Classes = GetSourceClass(GetClass(queryClasses, asm));


                    byte[] userId = null;
                    byte[] paswd  = null;
                    if (UserId != string.Empty && Password != string.Empty)
                    {
                        userId = EncryptionUtil.Encrypt(UserId);
                        paswd  = EncryptionUtil.Encrypt(Password);
                    }
                    serverConfig.ConfigVersion++;
                    if (serverConfig.CacheSettings.CacheType == "clustered-cache")
                    {
                        foreach (Address node in serverConfig.CacheDeployment.Servers.GetAllConfiguredNodes())
                        {
                            NCache.ServerName = node.IpAddress.ToString();
                            try
                            {
                                cacheServer = NCache.GetCacheServer(new TimeSpan(0, 0, 0, 30));

                                if (cacheServer.IsRunning(CacheName))
                                {
                                    throw new Exception(CacheName + " is Running on " + serverName +
                                                        "\nStop the cache first and try again.");
                                }

                                OutputProvider.WriteLine("Adding query indexes on node '{0}' to cache '{1}'.", node.IpAddress, CacheName);
                                cacheServer.RegisterCache(CacheName, serverConfig, "", true, userId, paswd, false);
                            }
                            catch (Exception ex)
                            {
                                OutputProvider.WriteErrorLine("Failed to Add Query Index on '{0}'. ", serverName);
                                OutputProvider.WriteErrorLine("Error Detail: '{0}'. ", ex.Message);
                                failedNodes = failedNodes + "/n" + node.IpAddress.ToString();
                                successful  = false;
                            }
                            finally
                            {
                                cacheServer.Dispose();
                            }
                        }
                    }
                    else
                    {
                        try
                        {
                            OutputProvider.WriteLine("Adding query indexes on node '{0}' to cache '{1}'.", serverName, CacheName);
                            cacheServer.RegisterCache(CacheName, serverConfig, "", true, userId, paswd, false);
                        }
                        catch (Exception ex)
                        {
                            OutputProvider.WriteErrorLine("Failed to Add Query Index on '{0}'. ", serverName);
                            OutputProvider.WriteErrorLine("Error Detail: '{0}'. ", ex.Message);
                            successful = false;
                        }
                        finally
                        {
                            cacheServer.Dispose();
                        }
                    }
                }
            }
            catch (Exception e)
            {
                OutputProvider.WriteErrorLine("Error : {0}", e.Message);
                successful = false;
            }
            finally
            {
                NCache.Dispose();
                if (successful && !IsUsage)
                {
                    OutputProvider.WriteLine("Query indexes successfully added.");
                }
            }
        }
Esempio n. 6
0
        public string AssemblyFullName(string assemblyPath)
        {
            AssemblyDef assembly = AssemblyDef.LoadFrom(assemblyPath);

            return(assembly.FullName);
        }