RUL-05717: Идентификатор Header.Teachers.Courses здесь недействителен

Я пытаюсь добавить правила в свой словарь Oracle с помощью программирования в ADF и JDeveloper:

    Rule rule = ruleset.getRuleTable().add();
    rule.setName(aliasRule);
    rule.setAlias(aliasRule);
    rule.setPriority(property);
    rule.setAdvancedMode(true);
    rule.setDescription(description);
    return rule;

тогда:

diccionaryRules.validate(exceptions, warnings);

У меня есть три предупреждения с одним и тем же сообщением:

RUL-05717: The identifier "Header.Teachers.Courses" здесь недопустимо.

Где в моем файле Oracle.rules у меня есть три viewobjects, соединенных ссылками через private key ids:

  1. ЗаголовокVVO
  2. УчителяВВО
  3. КурсыВВО

И маршрут правильный: Header.Teachers.Courses.

Я создал выражение из следующего пути:

Header.Teachers автор:

Expression ePath = simpleTest.getExpressionTable().get(0);
ePath.setValue("Header.Teachers");

// Here comes some validation
List<SDKWarning> warnings = new ArrayList<SDKWarning>();
List<SDKException> exceptions = new ArrayList<SDKException>();
ePath.validate(exceptions, warnings);

он не дает предупреждений, но это:

ePath.setValue("Header.Teachers.Courses");   

выдает указанное выше предупреждение.

Я не знаю, почему я получаю эти предупреждения.


person Community    schedule 18.02.2015    source источник
comment
Как узнать все выражения маршрута определения?   -  person    schedule 21.02.2015
comment
Отношения между объектами представления обрабатываются ссылками представления, которые определяют отношение между двумя объектами представления на основе наборов атрибутов сущности каждого из них. Как и ассоциации сущностей, они могут варьироваться от простых отношений «один ко многим», основанных на внешних ключах, до сложных отношений «многие ко многим».   -  person Jean-François Savard    schedule 26.02.2015
comment
Да, у меня есть две ссылки: одна между заголовком и учителями, а другая между учителями и курсами.   -  person    schedule 26.02.2015


Ответы (1)


Вы должны предположить, что большинство людей, пытающихся ответить на этот вопрос (включая меня), хорошо разбираясь в ADF, мало знают о правилах Oracle.

При этом похоже, что проблема связана с правилами, а не с ADF. Как я вижу, вы используете объекты представления, вы, вероятно, можете протестировать эту логику интеграции с помощью Business Components Tester, и вы можете внедрить свою логику правил через пользовательские методы модулей приложения.

Суть в том, что вы создаете клиент Rules из java, это не имеет прямого отношения к ADF. Если вы можете заставить своего клиента работать из метода java main(String[] args), он будет работать и из ADF.

person Florin Marcus    schedule 26.02.2015
comment
На самом деле я использую sdk правил оракула и использую код Java из основного метода, как вы можете видеть из фрагментов кода, которые я предоставил в вопросе. - person ; 06.03.2015