Настройка Servigistics InService > Настройка системных интеграций > Создание пользовательского делегата импорта/экспорта для объектов Cart и CartItem
  
Создание пользовательского делегата импорта/экспорта для объектов Cart и CartItem
InService обеспечивает возможность импорта и экспорта cart и cartItem в формате Microsoft Excel посредством com.ptc.sc.services.plugins.excel.ExcelCartFormatConverterDelegate. Однако если необходимо использовать любой другой формат (например, CSV), то можно создать пользовательский Java-класс делегата, реализующий интерфейс com.ptc.sc.services.plugins.CartFormatConverterDelegate.
В этом интерфейсе существуют следующие методы, которые можно реализовать. Утилита com.ptc.sc.services.utils.ImportExportUtility была создана для обработки основных функций импорта и экспорта; клиентам рекомендуется использовать эту утилиту при создании пользовательских делегатов. Дополнительные сведения о них см. в документации Java для перечисленных выше классов.
InputStream convertFromSCItem(SCItem cart)
Реализуйте этот метод для экспорта корзины и ее содержимого. Данный элемент SCItem представляет объект корзины и содержит набор "элементов", который представляет список элементов корзины.
SCItem convertToSCItem(InputStream inputStream)
Реализуйте этот метод, чтобы импортировать корзину и ее содержимое. Данный элемент InputStream представляет собой выгруженный файл.
String getExtension()
Этот метод должен возвратить дополнительный суффикс, который может обрабатывать данный делегат. Например, при записи делегата CSV этот метод возвратит ".csv".
String getMimeType()
Возвращает тип мультимедиа MIME, соответствующий расширению, которое обрабатывает этот делегат. Например, для CSV это будет: "текст/CSV".
String getLocalizedTitle()
Возвращает локализуемый заголовок расширения, которое обрабатывает этот делегат. Это заголовок, который будет отображаться в интерфейсе пользователя, если пользователь щелкнет действие загрузки на странице свойств корзины:
Изменение кода клиента не требуется. Локализуемый заголовок расширения, которое поддерживает пользовательский делегат, будет показан в раскрывающемся списке Тип файла, который откроется после регистрации.
Регистрация пользовательского класса делегата
Добавьте следующую запись в файл <WT_HOME>/site.xconf, который определяет пользовательский делегат экспорта:
<Service context="default" name="com.ptc.sc.services.plugins.
CartFormatConverterDelegate">
<Option serviceClass="<customExportDelegateClassName>" requestor="null"
selector="<file extension>"/>
</Service>
Значение селектора должно быть расширением файла, которое поддерживает этот делегат. Например, если делегат поддерживает CSV, селектор должен иметь значение ".csv".