S
SkinGreek
Всем привет, уже второй день воюю с лотусом. Силы на исходе...
Сначала общая модель зависимостей
- расшариная Java библиотека в которой определен набор необходимых Java классов
- расшариная LS библиотека, выполняющая роль адаптора API Java классов и удобного для вызова из формы
- собственно форма с обработчиком события нажатия на кнопку и вызовом адаптора
Соотвественно инклуды идут снизу вверх
В общем проблема в следующем на Java написан ряд классов для парсинга email строки в различных форматах InternetAddress ("Full Name" <email@test.ru>), X.400, etc. У них есть общий базовый абстрактный класс ContactParse.
Сначало я собирался из LS вызывать getInstance и дальше парсить с помощью инстанции конкретного класса, но он пишет что объект не является классом ContactParser, хотя конкретный класс является наследником от ContactParser. Ну да ладно на это я забил, решил создавать конкретную инстанцию тоже в Java поэтому написал второй метод static public Contact[] parse(String contact, String type), но теперь он вообще не видит ни одного моего метода(выводит только методы класса Object). Причем объективных причин для этого нет.
Под "не видит" я имею ввиду то, что метод не появляется в списке при выполнении следующего кода
Вчера так же были странности с подключением библиотек. Как я понимаю лотус гдето чтото кеширует, но каким образом не ясно, в общем удаляю для теста из Options в LS библиотеки
и редактирую
он работает! и выводит измененный Print хотя до этого используются такие типы как JavaClass то есть по идее он должен был заругаться на стадии компиляции(что чаще всего и бывает), а вот вчера такого не происходило. К утру след дня у него это прошло, но появились новые задвиги
Например неведомым образом появилась и исчезла ошибка "Type mismatch on external name: CONTACTPARSER" при следующем коде:
при коде
С чем это связанно до сих пор не понятно...
Скажите плз как с этой "слепостью" и подключенными "фантомами" бороться?
Заранее спасибо за помощь
Сначала общая модель зависимостей
- расшариная Java библиотека в которой определен набор необходимых Java классов
- расшариная LS библиотека, выполняющая роль адаптора API Java классов и удобного для вызова из формы
- собственно форма с обработчиком события нажатия на кнопку и вызовом адаптора
Соотвественно инклуды идут снизу вверх
В общем проблема в следующем на Java написан ряд классов для парсинга email строки в различных форматах InternetAddress ("Full Name" <email@test.ru>), X.400, etc. У них есть общий базовый абстрактный класс ContactParse.
Код:
public abstract class ContactParser {
static public ContactParser getInstance(String type) {
if ("email".equals(type)) {
return new EmailAddressParser();
}
return null;
}
public abstract Contact[] parse(String contact) throws AddressException;
static public Contact[] parse(String contact, String type) throws AddressException {
ContactParser parser = ContactParser.getInstance(type);
return parser.parse(contact);
}
}
Под "не видит" я имею ввиду то, что метод не появляется в списке при выполнении следующего кода
Код:
Set jParserClass = jSess.GetClass("parsers.ContactParser")
Dim myMCollection As JavaMethodCollection
Set myMCollection = jParserClass.getClassMethods()
Print "--------------------------------------------------------------------"
Forall m In myMCollection
Print m.MethodName
End Forall
Код:
Use "my_java_classes"
Uselsx "*javacon"
Код:
Print "---"
Например неведомым образом появилась и исчезла ошибка "Type mismatch on external name: CONTACTPARSER" при следующем коде:
при коде
Код:
Dim parser As ContactParser
...
Set parser = New ContactParser("email")
Скажите плз как с этой "слепостью" и подключенными "фантомами" бороться?
Заранее спасибо за помощь