Как настроить сгенерированный исходный код с помощью Altova Mapforce Project
Справочная информация. Когда я генерирую код для своего проекта сопоставления, запускается только одна карта, независимо от того, какой тип файла я отправляю в команду.
Я хотел бы изменить генерацию кода проекта, чтобы при создании карт applicationConsole.cs допускал несколько файлов и типов файлов и выбирал соответствующую карту на основе параметров, которые я отправляю.
до сих пор мой проект содержит 4 карты, каждая из которых отличается и имеет параметр, указывающий, следует ли запускать карту. Как только код сгенерирован, applicationConsole.cs не различается при запуске карт. первая карта, перечисленная в applicationConsole.cs, запущена, а остальные нет. если первая карта соответствует заданным параметрам, вывод верен, но если следующий входящий файл не совпадает, консоль закрывается, а не переходит к следующей карте.
Я пытаюсь избежать прямых манипуляций с applicationConsole.cs из-за частой генерации кода.
вопрос: кто-нибудь знает, как изменить выходные данные генерации кода Mapforce Project, чтобы добавить переключатель для типа карты в зависимости от типа файла?
2 ответа
В каталоге установки приложений altova mapforce есть один каталог SPL. это автоматически генерировать код в соответствии с выбранным вами языком.
Возьмите резервную копию этого каталога и измените код каталога SPL в соответствии с вашими требованиями. Вам нужно выучить SPL (Spy Programming Language).
http://manual.altova.com/Mapforce/mapforce-enterprise/index.html?cgthewaytospl(spyprogrammingla.htm
Если вам нужно что-то еще, пожалуйста, сообщите мне здесь. У меня есть хорошая команда по настройке SPL.
Спасибо
Взгляните на рефакторинг под Java и C#
Действительно, когда вы смотрите на сгенерированный код заглушки и вам нужно объединить пару карт, первой задачей рефакторинга является переименование пространства имен, Altova использует его пространство имен по умолчанию, поэтому пространство имен mapa будет полезным для пространства имен mapb и т. Д.
Я приведу примеры C# http://msdn.microsoft.com/en-us/library/vstudio/6kxxabwd.aspx
Затем у вас есть консольное приложение, поэтому вы хотите скопировать applicationConsole.cs и переименовать его в свое имя проекта или имя класса, а затем извлечь метод
http://msdn.microsoft.com/en-us/library/vstudio/0s21cwxk.aspx
Наконец, вы захотите извлечь интерфейс, чтобы вернуть конструктор исключений http://msdn.microsoft.com/en-us/library/vstudio/fb3dyx26.aspx и: http://msdn.microsoft.com/en-us/library/tz6bzkbf.aspx
То, что у вас будет, - это проект с вашим запуском, представляющий собой исходный файл applicationConsole.cs, который вы скопировали и переименовали в папке проекта или решения. Когда вы обновите карту, вы сможете переписать код в этой папке тем, что сгенерировал Mapforce.
Этот файл был сгенерирован MapForce 2013r2sp2. ВЫ НЕ ДОЛЖНЫ МОДИФИЦИРОВАТЬ ДАННЫЙ ФАЙЛ, ПОТОМУ ЧТО ЭТО БУДЕТ ПЕРЕЗАПИСАНО, КОГДА ВЫ ПЕРЕЗАПУСКАЕТЕ КОДОВАНИЕ. Обратитесь к документации MapForce для получения дополнительной информации.
Это то, что вы увидите в этом файле, используйте технику, описанную выше, и инструмент очень прост в использовании. Если вы программист для настольных компьютеров, рефакторинг может быть новым, но он сэкономит много времени и усилий в будущем и сделает продукт завершенным.