# # ChangeLog for trunk/sources/HeuristicLab.PluginInfrastructure # # Generated by Trac 1.0.12 # 12/02/24 17:25:32 Wed, 05 Aug 2009 08:02:26 GMT mkommend [2234] * trunk/sources/HeuristicLab.PluginInfrastructure/DiscoveryService.cs (modified) implemented non-generic !GetInstances method in the !DiscoveryService ... Fri, 17 Jul 2009 22:59:56 GMT swagner [2168] * trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs (modified) Fixed loading sequence of plugins (#552) Tue, 02 Jun 2009 12:14:47 GMT gkronber [1990] * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine/3.2/Executor.cs (modified) * trunk/sources/HeuristicLab.Hive.Engine/3.2/HiveEngine.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs (modified) * Refactoring: renamed method `LoadPlugins` to `LoadAssemblies` in ... Thu, 28 May 2009 15:26:51 GMT kgrading [1936] * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/WcfService.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Heartbeat.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine/3.2/Executor.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs (modified) switchback to dynamic loading (#653) Tue, 26 May 2009 11:03:09 GMT swagner [1897] * trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs (modified) Fixed #649 Thu, 07 May 2009 12:34:33 GMT kgrading [1755] * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/ConfigurationManager/ConfigManager.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Heartbeat.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) added the "coresNeeded" and made a fallback concerning dynamic plugin ... Sat, 02 May 2009 20:43:01 GMT gkronber [1730] * trunk/sources/HeuristicLab.Hive.Engine/3.2/HiveEngine.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) Implemented calculation of list of necessary plugins for a job in the ... Thu, 30 Apr 2009 11:07:31 GMT kgrading [1715] * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/HeuristicLab.Hive.Client.Core-3.2.csproj (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) changed loading behavior back to byte array loading and removed ... Mon, 27 Apr 2009 07:30:31 GMT epitzer [1666] * trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs (modified) Re-wrap all exceptions into generic exception so they can be ... Fri, 24 Apr 2009 17:51:48 GMT gkronber [1664] * trunk/sources/HeuristicLab.PluginInfrastructure/Loader.cs (modified) Fixed #598 (Plugin Loader loads plugins two times). Fri, 24 Apr 2009 12:35:35 GMT kgrading [1655] * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/HeuristicLab.Hive.Client.Core-3.2.csproj (modified) * trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine/3.2/Executor.cs (modified) * trunk/sources/HeuristicLab.Hive.Contracts/3.2/MessageContainer.cs (modified) * trunk/sources/HeuristicLab.Hive.Engine/3.2/Job.cs (modified) * trunk/sources/HeuristicLab.Hive.JobBase/3.2/Interfaces/IJob.cs (modified) * trunk/sources/HeuristicLab.Hive.JobBase/3.2/JobBase.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) added proper exception handling (#601) Fri, 17 Apr 2009 12:34:13 GMT kgrading [1602] * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/HeuristicLab.Hive.Client.Communication-3.2.csproj (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) refactoring (#547) Fri, 17 Apr 2009 11:36:18 GMT kgrading [1594] * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/Arrays1.xsd (added) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/HeuristicLab.DataAccess.xsd (added) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/HeuristicLab.Hive.Contracts.BusinessObjects1.xsd (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/HeuristicLab.Hive.Contracts1.xsd (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/HeuristicLab.PluginInfrastructure.xsd (deleted) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/HeuristicLab.PluginInfrastructure1.xsd (added) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/Reference.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/Reference.svcmap (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/System1.xsd (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/configuration.svcinfo (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/configuration91.svcinfo (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/service1.wsdl (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/Service References/ServerService/service2.xsd (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/WcfService.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/app.config (added) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/Runner.cs (modified) updated the runner class & webservice interfaces (#547) Fri, 17 Apr 2009 10:20:19 GMT kgrading [1589] * trunk/sources/HeuristicLab.Hive.Client.Communication/3.2/WcfService.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/3.2/PluginCache.cs (modified) * trunk/sources/HeuristicLab.Hive.Contracts/3.2/BusinessObjects/CachedPlugin.cs (added) * trunk/sources/HeuristicLab.Hive.Contracts/3.2/HeuristicLab.Hive.Contracts-3.2.csproj (modified) * trunk/sources/HeuristicLab.Hive.Contracts/3.2/ResponsePlugin.cs (modified) * trunk/sources/HeuristicLab.Hive.Engine/3.2/HeuristicLab.Hive.Engine-3.2.csproj (modified) * trunk/sources/HeuristicLab.Hive.Engine/3.2/HiveEngine.cs (modified) * trunk/sources/HeuristicLab.Hive.JobBase/3.2/TestJob.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/CachedPlugin.cs (deleted) * trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj (modified) refactoring (#547) Tue, 07 Apr 2009 16:14:55 GMT swagner [1535] * trunk/sources (modified) * trunk/sources/HeuristicLab (modified) * trunk/sources/HeuristicLab.AdvancedOptimizationFrontend/3.2 (modified) * trunk/sources/HeuristicLab.Assignment.QAP/3.2 (modified) * trunk/sources/HeuristicLab.BitVector/3.2 (modified) * trunk/sources/HeuristicLab.Persistence.Test (modified) * trunk/sources/HeuristicLab.PluginInfrastructure (modified) * trunk/sources/HeuristicLab.PluginInfrastructure.GUI (modified) Set svn:ignore property (#576) Tue, 07 Apr 2009 12:22:18 GMT gkronber [1531] * trunk/sources (modified) * trunk/sources/HeuristicLab (modified) * trunk/sources/HeuristicLab.AdvancedOptimizationFrontend (modified) * trunk/sources/HeuristicLab.Assignment.QAP (modified) * trunk/sources/HeuristicLab.BitVector (modified) * trunk/sources/HeuristicLab.CEDMA.Charting (modified) * trunk/sources/HeuristicLab.CEDMA.Core (modified) * trunk/sources/HeuristicLab.CEDMA.DB (modified) * trunk/sources/HeuristicLab.CEDMA.DB.Interfaces (modified) * trunk/sources/HeuristicLab.CEDMA.Server (modified) * trunk/sources/HeuristicLab.Charting (modified) * trunk/sources/HeuristicLab.Charting.Data (modified) * trunk/sources/HeuristicLab.Communication.Data (modified) * trunk/sources/HeuristicLab.Communication.Operators (modified) * trunk/sources/HeuristicLab.Constraints (modified) * trunk/sources/HeuristicLab.Core (modified) * trunk/sources/HeuristicLab.Data (modified) * trunk/sources/HeuristicLab.DataAccess (modified) * trunk/sources/HeuristicLab.DataAccess.ADOHelper (modified) * trunk/sources/HeuristicLab.DataAnalysis (modified) * trunk/sources/HeuristicLab.DistributedEngine (modified) * trunk/sources/HeuristicLab.ES (modified) * trunk/sources/HeuristicLab.Evolutionary (modified) * trunk/sources/HeuristicLab.GP (modified) * trunk/sources/HeuristicLab.GP.Boolean (modified) * trunk/sources/HeuristicLab.GP.SantaFe (modified) * trunk/sources/HeuristicLab.GP.StructureIdentification (modified) * trunk/sources/HeuristicLab.GP.StructureIdentification.Classification (modified) * trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries (modified) * trunk/sources/HeuristicLab.Grid (modified) * trunk/sources/HeuristicLab.Hive.Client.Common (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication (modified) * trunk/sources/HeuristicLab.Hive.Client.Console (modified) * trunk/sources/HeuristicLab.Hive.Client.Core (modified) * trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine (modified) * trunk/sources/HeuristicLab.Hive.Contracts (modified) * trunk/sources/HeuristicLab.Hive.Engine (modified) * trunk/sources/HeuristicLab.Hive.JobBase (modified) * trunk/sources/HeuristicLab.Hive.Server (modified) * trunk/sources/HeuristicLab.Hive.Server.ADODataAccess (modified) * trunk/sources/HeuristicLab.Hive.Server.Console (modified) * trunk/sources/HeuristicLab.Hive.Server.Core (modified) * trunk/sources/HeuristicLab.Hive.Server.DataAccess (modified) * trunk/sources/HeuristicLab.Hive.Server.Scheduler (modified) * trunk/sources/HeuristicLab.IntVector (modified) * trunk/sources/HeuristicLab.Logging (modified) * trunk/sources/HeuristicLab.Operators (modified) * trunk/sources/HeuristicLab.Operators.Metaprogramming (modified) * trunk/sources/HeuristicLab.Operators.Programmable (modified) * trunk/sources/HeuristicLab.Operators.Stopwatch (modified) * trunk/sources/HeuristicLab.OptimizationFrontend (modified) * trunk/sources/HeuristicLab.Permutation (modified) * trunk/sources/HeuristicLab.Persistence (modified) * trunk/sources/HeuristicLab.Persistence.GUI (modified) * trunk/sources/HeuristicLab.PluginInfrastructure (modified) * trunk/sources/HeuristicLab.PluginInfrastructure.GUI (modified) * trunk/sources/HeuristicLab.Random (modified) * trunk/sources/HeuristicLab.RealVector (modified) * trunk/sources/HeuristicLab.Routing.TSP (modified) * trunk/sources/HeuristicLab.SA (modified) * trunk/sources/HeuristicLab.SGA (modified) * trunk/sources/HeuristicLab.SQLite (modified) * trunk/sources/HeuristicLab.Scheduling.JSSP (modified) * trunk/sources/HeuristicLab.Security.Contracts (modified) * trunk/sources/HeuristicLab.Security.Core (modified) * trunk/sources/HeuristicLab.Security.DataAccess (modified) * trunk/sources/HeuristicLab.Selection (modified) * trunk/sources/HeuristicLab.Selection.OffspringSelection (modified) * trunk/sources/HeuristicLab.SequentialEngine (modified) * trunk/sources/HeuristicLab.SimOpt (modified) * trunk/sources/HeuristicLab.StatisticalAnalysis (modified) * trunk/sources/HeuristicLab.TestFunctions (modified) * trunk/sources/HeuristicLab.ThreadParallelEngine (modified) * trunk/sources/HeuristicLab.Tracing (modified) * trunk/sources/HeuristicLab.Visualization (modified) * trunk/sources/HeuristicLab.Visualization.Test (modified) Removed svn:ignore property from all plugin directories. #576 Fri, 03 Apr 2009 10:57:07 GMT kgrading [1501] * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) just noticed i've ruined gkronbergers GetDependendPlugins method. ... Fri, 03 Apr 2009 10:30:43 GMT kgrading [1499] * trunk/sources/HeuristicLab.Hive.Client.Core/Core.cs (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/HeuristicLab.Hive.Client.Core.csproj (modified) * trunk/sources/HeuristicLab.Hive.Engine/HeuristicLab.Hive.Engine.csproj (modified) * trunk/sources/HeuristicLab.Hive.Engine/HeuristicLab.snk (added) * trunk/sources/HeuristicLab.Hive.Engine/HeuristicLabHiveEnginePlugin.cs (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) added the recursive dependency resolvement and added the ... Tue, 31 Mar 2009 14:42:27 GMT abeham [1474] * trunk/sources/HeuristicLab.AdvancedOptimizationFrontend/HeuristicLab.AdvancedOptimizationFrontend.csproj (modified) * trunk/sources/HeuristicLab.Assignment.QAP/HeuristicLab.Assignment.QAP.csproj (modified) * trunk/sources/HeuristicLab.BitVector/HeuristicLab.BitVector.csproj (modified) * trunk/sources/HeuristicLab.CEDMA.Charting/HeuristicLab.CEDMA.Charting.csproj (modified) * trunk/sources/HeuristicLab.CEDMA.Core/HeuristicLab.CEDMA.Core.csproj (modified) * trunk/sources/HeuristicLab.CEDMA.DB.Interfaces/HeuristicLab.CEDMA.DB.Interfaces.csproj (modified) * trunk/sources/HeuristicLab.CEDMA.DB/HeuristicLab.CEDMA.DB.csproj (modified) * trunk/sources/HeuristicLab.CEDMA.Server/HeuristicLab.CEDMA.Server.csproj (modified) * trunk/sources/HeuristicLab.Charting.Data/HeuristicLab.Charting.Data.csproj (modified) * trunk/sources/HeuristicLab.Charting/HeuristicLab.Charting.csproj (modified) * trunk/sources/HeuristicLab.Communication.Data/HeuristicLab.Communication.Data.csproj (modified) * trunk/sources/HeuristicLab.Communication.Operators/HeuristicLab.Communication.Operators.csproj (modified) * trunk/sources/HeuristicLab.Constraints/HeuristicLab.Constraints.csproj (modified) * trunk/sources/HeuristicLab.Core/HeuristicLab.Core.csproj (modified) * trunk/sources/HeuristicLab.Data/HeuristicLab.Data.csproj (modified) * trunk/sources/HeuristicLab.DataAccess.ADOHelper/HeuristicLab.DataAccess.ADOHelper.csproj (modified) * trunk/sources/HeuristicLab.DataAccess/HeuristicLab.DataAccess.csproj (modified) * trunk/sources/HeuristicLab.DataAnalysis/HeuristicLab.DataAnalysis.csproj (modified) * trunk/sources/HeuristicLab.DistributedEngine/HeuristicLab.DistributedEngine.csproj (modified) * trunk/sources/HeuristicLab.ES/HeuristicLab.ES.csproj (modified) * trunk/sources/HeuristicLab.Evolutionary/HeuristicLab.Evolutionary.csproj (modified) * trunk/sources/HeuristicLab.GP.Boolean/HeuristicLab.GP.Boolean.csproj (modified) * trunk/sources/HeuristicLab.GP.SantaFe/HeuristicLab.GP.SantaFe.csproj (modified) * trunk/sources/HeuristicLab.GP.StructureIdentification.Classification/HeuristicLab.GP.StructureIdentification.Classification.csproj (modified) * trunk/sources/HeuristicLab.GP.StructureIdentification.TimeSeries/HeuristicLab.GP.StructureIdentification.TimeSeries.csproj (modified) * trunk/sources/HeuristicLab.GP.StructureIdentification/HeuristicLab.GP.StructureIdentification.csproj (modified) * trunk/sources/HeuristicLab.GP/HeuristicLab.GP.csproj (modified) * trunk/sources/HeuristicLab.Grid/HeuristicLab.Grid.csproj (modified) * trunk/sources/HeuristicLab.Hive.Client.Common/HeuristicLab.Hive.Client.Common.csproj (modified) * trunk/sources/HeuristicLab.Hive.Client.Communication/HeuristicLab.Hive.Client.Communication.csproj (modified) * trunk/sources/HeuristicLab.Hive.Client.Console/HeuristicLab.Hive.Client.Console.csproj (modified) * trunk/sources/HeuristicLab.Hive.Client.Core/HeuristicLab.Hive.Client.Core.csproj (modified) * trunk/sources/HeuristicLab.Hive.Client.ExecutionEngine/HeuristicLab.Hive.Client.ExecutionEngine.csproj (modified) * trunk/sources/HeuristicLab.Hive.Contracts/HeuristicLab.Hive.Contracts.csproj (modified) * trunk/sources/HeuristicLab.Hive.Engine/HeuristicLab.Hive.Engine.csproj (modified) * trunk/sources/HeuristicLab.Hive.JobBase/HeuristicLab.Hive.JobBase.csproj (modified) * trunk/sources/HeuristicLab.Hive.Server.ADODataAccess/HeuristicLab.Hive.Server.ADODataAccess.csproj (modified) * trunk/sources/HeuristicLab.Hive.Server.Console/HeuristicLab.Hive.Server.Console.csproj (modified) * trunk/sources/HeuristicLab.Hive.Server.Core/HeuristicLab.Hive.Server.Core.csproj (modified) * trunk/sources/HeuristicLab.Hive.Server.DataAccess/HeuristicLab.Hive.Server.DataAccess.csproj (modified) * trunk/sources/HeuristicLab.Hive.Server.Scheduler/HeuristicLab.Hive.Server.Scheduler.csproj (modified) * trunk/sources/HeuristicLab.Hive.Server/HeuristicLab.Hive.Server.csproj (modified) * trunk/sources/HeuristicLab.IntVector/HeuristicLab.IntVector.csproj (modified) * trunk/sources/HeuristicLab.Logging/HeuristicLab.Logging.csproj (modified) * trunk/sources/HeuristicLab.Operators.Metaprogramming/HeuristicLab.Operators.Metaprogramming.csproj (modified) * trunk/sources/HeuristicLab.Operators.Programmable/HeuristicLab.Operators.Programmable.csproj (modified) * trunk/sources/HeuristicLab.Operators.Stopwatch/HeuristicLab.Operators.Stopwatch.csproj (modified) * trunk/sources/HeuristicLab.Operators/HeuristicLab.Operators.csproj (modified) * trunk/sources/HeuristicLab.OptimizationFrontend/HeuristicLab.OptimizationFrontend.csproj (modified) * trunk/sources/HeuristicLab.Permutation/HeuristicLab.Permutation.csproj (modified) * trunk/sources/HeuristicLab.Persistence.GUI/HeuristicLab.Persistence.GUI.csproj (modified) * trunk/sources/HeuristicLab.Persistence.Test/HeuristicLab.Persistence.Test.csproj (modified) * trunk/sources/HeuristicLab.Persistence/HeuristicLab.Persistence.csproj (modified) * trunk/sources/HeuristicLab.PluginInfrastructure.GUI/HeuristicLab.PluginInfrastructure.GUI.csproj (modified) * trunk/sources/HeuristicLab.PluginInfrastructure/HeuristicLab.PluginInfrastructure.csproj (modified) * trunk/sources/HeuristicLab.Random/HeuristicLab.Random.csproj (modified) * trunk/sources/HeuristicLab.RealVector/HeuristicLab.RealVector.csproj (modified) * trunk/sources/HeuristicLab.Routing.TSP/HeuristicLab.Routing.TSP.csproj (modified) * trunk/sources/HeuristicLab.SA/HeuristicLab.SA.csproj (modified) * trunk/sources/HeuristicLab.SGA/HeuristicLab.SGA.csproj (modified) * trunk/sources/HeuristicLab.SQLite/HeuristicLab.SQLite.csproj (modified) * trunk/sources/HeuristicLab.Scheduling.JSSP/HeuristicLab.Scheduling.JSSP.csproj (modified) * trunk/sources/HeuristicLab.Security.Contracts/HeuristicLab.Security.Contracts.csproj (modified) * trunk/sources/HeuristicLab.Security.DataAccess/HeuristicLab.Security.DataAccess.csproj (modified) * trunk/sources/HeuristicLab.Selection.OffspringSelection/HeuristicLab.Selection.OffspringSelection.csproj (modified) * trunk/sources/HeuristicLab.Selection/HeuristicLab.Selection.csproj (modified) * trunk/sources/HeuristicLab.SequentialEngine/HeuristicLab.SequentialEngine.csproj (modified) * trunk/sources/HeuristicLab.SimOpt/HeuristicLab.SimOpt.csproj (modified) * trunk/sources/HeuristicLab.TestFunctions/HeuristicLab.TestFunctions.csproj (modified) * trunk/sources/HeuristicLab.ThreadParallelEngine/HeuristicLab.ThreadParallelEngine.csproj (modified) * trunk/sources/HeuristicLab.Tracing/HeuristicLab.Tracing.csproj (modified) * trunk/sources/HeuristicLab.Visualization.Test/HeuristicLab.Visualization.Test.csproj (modified) * trunk/sources/HeuristicLab.Visualization/HeuristicLab.Visualization.csproj (modified) * trunk/sources/HeuristicLab.sln (modified) * trunk/sources/HeuristicLab/HeuristicLab.csproj (modified) Added x64 and x86 configurations to all projects Removed "Release ... Tue, 31 Mar 2009 13:25:17 GMT epitzer [1470] * trunk/sources/HeuristicLab.PluginInfrastructure/PluginManager.cs (modified) * trunk/sources/HeuristicLab.Tracing/HeuristicLab.Tracing.csproj (modified) * trunk/sources/HeuristicLab.Tracing/HeuristicLab.log4net.xml (modified) * trunk/sources/HeuristicLab.Tracing/Logger.cs (modified) New default logging configuration includes AppDomain name, remove " ...