понедельник, мая 26
четверг, апреля 3
четверг, декабря 12
Spring и обработка событий в Hibernate
Полная статья доступна на habrahabr.ru
Как-то обделена на хабре такая тема, как обработка событий при работе с сущностями с использованием Hibernate - я смог найти только один пост уже почти мохнатого года. Но то аудит, а нам нужна возможность автоматизировать работу с некоторыми атрибутами сущностей и при этом упростить процедуру работы с ними.
понедельник, июля 8
PowerMock(+Mockito) +TestNG и мокинг статических классов/методов
На хабре уже была статья с примерами использования PowerMock, но в ней не хватает такого описания, как мокирование статических методов как самостоятельных "единиц" в классе, так и в гибридном использовании, когда часть статических методов у класса мокируются, а часть вызываются реально. Попробую исправить эту нишу.
полная статья на хабре
полная статья на хабре
четверг, марта 7
"местная" альтернатива killnotes.exe
С давним пор привык для "прибития" Lotus Notes использовать утилитку killnotes.exe
Но как-то наткнулся на прекрасную альтернативу внутри самого клиента - утилита NSD, которая служит для диагностики сбоев клиента.
просто запускаем её как "nsd.exe -kill" и готово - клиент прибит, библиотеки выгружены, в общем всё согласно документации:
"Runs NSD in a special mode that kills all Notes/Domino processes in the current "partition" (i.e. all processes that are accessing Notes shared memory and that are running from the same location as NSD). Output is limited to process lists (OS Process Table, and Notes Process Summary) and to status messages about the processes NSD forcefully terminated. The output log file follows the naming convention of kill_os_hostname_yyyy_mm_dd@hh_mm_ss.log and is saved to the data\IBM_TECHNICAL_SUPPORT directory."
ЗЫ: Если на рабочей станции запущен не только клиент Lotus Notes, но и сервер Lotus Domino, то сервер остаётся нетронутым.
ЗЫЫ: документация по NSD получается через "nsd.exe -help" :)
Но как-то наткнулся на прекрасную альтернативу внутри самого клиента - утилита NSD, которая служит для диагностики сбоев клиента.
просто запускаем её как "nsd.exe -kill" и готово - клиент прибит, библиотеки выгружены, в общем всё согласно документации:
"Runs NSD in a special mode that kills all Notes/Domino processes in the current "partition" (i.e. all processes that are accessing Notes shared memory and that are running from the same location as NSD). Output is limited to process lists (OS Process Table, and Notes Process Summary) and to status messages about the processes NSD forcefully terminated. The output log file follows the naming convention of kill_os_hostname_yyyy_mm_dd@hh_mm_ss.log and is saved to the data\IBM_TECHNICAL_SUPPORT directory."
ЗЫ: Если на рабочей станции запущен не только клиент Lotus Notes, но и сервер Lotus Domino, то сервер остаётся нетронутым.
ЗЫЫ: документация по NSD получается через "nsd.exe -help" :)
пятница, февраля 15
переход от Oracle к DB2. таблица DUAL
При переносе запросов все обращения к таблице "dual" требуется заменить на обращения к таблице "SYSIBM.SYSDUMMY1".
Например, у нас есть запрос:
его требуется написать как
Есть небольшое отступление. Если у вас логин пользователя совпадает с названием схемы, то подобное преобразование делать не обязательно. но это "грабли" в будущем :)
Например, у нас есть запрос:
SELECT mySchema.myFunction id FROM dual;
его требуется написать как
SELECT mySchema.myFunction id FROM SYSIBM.SYSDUMMY1;
Есть небольшое отступление. Если у вас логин пользователя совпадает с названием схемы, то подобное преобразование делать не обязательно. но это "грабли" в будущем :)
воскресенье, января 6
четверг, декабря 27
maven dependency. include scope
в документации к maven-dependency-plugin для copy-dependencies описан параметр includeScope, позволяющий указать какие зависимости копировать. но параметр принимает только одно указание scope. А что делать, если требуется указать несколько?
Всё просто - указывает несколько раз параметр includeScope.
например так:
Всё просто - указывает несколько раз параметр includeScope.
например так:
<plugin>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>copy-dependencies</id>
<goals><goal>copy-dependencies</goal></goals>
<configuration>
<includeScope>system</includeScope>
<includeScope>compile</includeScope>
</configuration>
</execution>
</executions>
</plugin>
Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!
суббота, декабря 22
Lotus. Динамический импорт RT-поля в открытый UI-документ
Для вставки внешних файлов в UI есть @-формула "@Command( [EditInsertFileAttachment])". Но бывает потребность вставить в UI через LotusScript вложения из RT-поля другого документа без сохранения и переоткрытия документа.
Вот для этого нам и пригодится недокументированный метод includeItem у класса NotesUiDocument.
Синтаксис метода: NotesUiDocument.includeItem(doc as NotesDocument, FieldName As String) *
* Применяется к текущему полю
Два варианта применения:
1) импорт файлов в уже открытом документе из другого документа
2) импорт файлов в новый документ без его предварительного сохранения.
Во вложенном файле приведены оба примера.
Первый пример в виде кнопки "Insert other document" на форме
Второй пример в виде кнопки "Create & Import" в представлении
файл-пример БД: скачать
UPD:
метод доступен начиная с версии 8.5. Если нужна поддержка версии ниже, то пример тут
Вот для этого нам и пригодится недокументированный метод includeItem у класса NotesUiDocument.
Синтаксис метода: NotesUiDocument.includeItem(doc as NotesDocument, FieldName As String) *
* Применяется к текущему полю
Два варианта применения:
1) импорт файлов в уже открытом документе из другого документа
2) импорт файлов в новый документ без его предварительного сохранения.
Во вложенном файле приведены оба примера.
Первый пример в виде кнопки "Insert other document" на форме
Второй пример в виде кнопки "Create & Import" в представлении
файл-пример БД: скачать
UPD:
метод доступен начиная с версии 8.5. Если нужна поддержка версии ниже, то пример тут
Если вам пригодилась статья, то отправьте 5 рублей автору. Спасибо!
Подписаться на:
Сообщения (Atom)