Как получить текущий домен канала в конвейере на основе текущего приложения - PullRequest
0 голосов
/ 23 января 2019

В конвейере мне нужно получить домен канала, которому назначено текущее приложение.

Я получаю текущий экземпляр ApplicationBO, но мне не удалось получить от него домен канала (я пытался проверить его в отладчике, но я могу получить домен только для приложения, но не для канала).

Вот как назначаются приложения и каналы:

Организация компании:

  • Канал 1
    • Приложение 1 <--- Получить Channel1, если в этом приложении </li>
  • Канал 2
    • Приложение 2 <--- Получить Channel2, если в этом приложении </li>

Оба приложения совместно используют общий картридж, содержащий конвейер, в котором мне нужно получить текущий канал

1 Ответ

0 голосов
/ 23 января 2019

Есть два варианта:

  1. Вызовите конвейер DetermineRepositories-Channel, который возвращает вам объект Repository (то есть Channel). В репозитории используйте путь к объекту Repository:RepositoryDomain, чтобы получить домен. Я не уверен, насколько велик эффект производительности ..
  2. Используйте путь к объекту ApplicationBO:Extension("PersistentObjectBOExtension"):PersistentObject:Domain, чтобы получить домен-собственник самого приложения. Это всегда будет канал (домен). Потому что именно здесь рождаются приложения для витрин.

Если вам нужно преобразовать объект Domain в объект Repository, вы можете использовать pipelet GetRepositoryByRepositoryDomain.

...