ATG настроенный репозиторий
Как создать настраиваемый репозиторий в ATG с определенными полями, такими как имя и т. Д. И как запросить ту же информацию по имени ID или любым другим полям.
1 ответ
Создайте testRepository.xml по какому-либо пути в конфигурации (например, /com/myproject/content/testRepository.xml) с дескриптором элемента со всей пользовательской таблицей.
Создайте testRepository.properties по тому же пути, что и -
$ class = atg.adapter.gsa.GSARepository $ scope = global XMLToolsFactory = / atg / динамо / служба /xml/XMLToolsFactory dataSource=/atg/ динамо / служба /jdbc/SwitchingDataSource definitionFiles=/com/myproject/content/testRepository.xml groupContainerPath=/atg/registry/RepositoryGroups idGenerator=/atg/ динамо /service/IdGenerator lockManager=/atg/ динамо /service/ClientLockManager repositoryName= Тестовый репозиторий транзакция Manager = / atg / динамо / транзакция /TransactionManager
Теперь вы можете ссылаться на этот компонент в обработчике капель или форм как -
testRepository = / ком / MyProject / содержание / testRepository
создать сеттер и геттер для того же в Java.
Теперь вы можете запросить как -
private RepositoryItem[] getMyTestItems() { RepositoryItem[] testItems = null; try { RepositoryView repView = getTestRepository().getView("myItemDescriptor"); RqlStatement statement = getRqlQuery(); //your query that can be defined in property file Object params[] = new Object[1]; params[0] = "anyParam"; testItems = statement.executeQuery(repView, params); } catch (RepositoryException ex) { vlogDebug("testItems{0} ", ex); } finally { LoadingStrategyContext.popLoadStrategy(); } return testItems; }