Esempio n. 1
0
        private static void LoadMaps()
        {
            foreach (var fileName in Directory.GetFiles(UtilitySettings.Default.MapLocation, "*.xml"))
            {
                using (var mapFile = File.Open(fileName, FileMode.Open))
                {
                    var mapDocument = XDocument.Load(mapFile);
                    switch (MapReader.ReadHandlerType(mapDocument))
                    {
                    case HandlerType.ModuleRegistration: ModuleRegistrarFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;

                    case HandlerType.TypeResolution: TypeResolverFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;

                    case HandlerType.LibraryReader: LibraryReaderFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;

                    case HandlerType.Verification: NodeVerifierFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;

                    case HandlerType.Translation: ArtifactTranslatorFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;

                    case HandlerType.NodeTranslation: NodeTranslatorFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;

                    case HandlerType.ModelTranslation: ModelTranslatorFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;

                    case HandlerType.Writing: ArtifactWriterFactory.LoadMap(MapReader.ReadMap(mapDocument)); break;
                    }
                }
            }
        }
Esempio n. 2
0
        public DataType ResolveType(string typeName)
        {
            var typeResolver = TypeResolverFactory.FindHandler(typeName);

            if (typeResolver == null)
            {
                var qualifier = typeName.GetQualifier();
                typeResolver = TypeResolverFactory.FindHandler(qualifier);
            }

            if (typeResolver == null)
            {
                throw new InvalidOperationException(String.Format("Could not resolve a type handler for type name {0}.", typeName));
            }

            return(typeResolver.Resolve(typeName));
        }