Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501


Скачать 2.93 Mb.
Название Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501
страница 1/35
Тип Документы
rykovodstvo.ru > Руководство эксплуатация > Документы
  1   2   3   4   5   6   7   8   9   ...   35
Lotus Domino R. 5; @-(popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501

while (agents.hasMoreElements()) {

Agent agent = (Agent)agents.nextElement(); String tg="", tr--""; switch (agent.getTarget()) {

case Agent. TARGET ALL__DOCS: tq = "all docs"; break;

case Agent.TARGET_ALL_DOCS IN VIEW: tg =• "all docs in view"; break;

case Agent.. TARGET_NEW_ DOCS : tg = "new docs"; break;

case Agent .TARGET_NEW_OR_MODIFIED DOCS.-tg = "new or modif docs"; break;

case Agent.TARGET_NONE: tg ---- "-none"; break;

case Agent.TARGET_SELECTED_DOCS: tg = "selected docs"; break;

case Agent.TARGET_UNREAD_DOCS_iN VIEW: tg =- "unread docs in view";break;

default: tg = "unknown"; break;

i

switch (agent.getTrigger()) {

case Agent. .TRIGGER_AFTER_MAIL_DELTVERY: tr=--"after mail deliv"; break;

case Agent.TRIGGER_BEFORE_MAIL_DELIVERY: tr="before new mail"; break;

case Agent.TRIGGER_DOC_PASTED: tr="document pasted"; break;

case Agent.TRIGGER DOC_UPDATE: • tr="document updated"; break;

case Agent.TRIGGER_MANUAL: tr="manual"; break;

case Agent.TRIGGER_NONE: tr="none"; break;

case Agent.TRIGGER_SCHEDULED: tr="scheduled"; break;

}

System.out.println(agent.getName () +

": target; is " + agent. getTarget () + " - " + tg +

"; trigger is " + agent.getTrigger() + " - " + tr );
}

A

CBoftcTBO Query - «3anpoc jijih oxSopa ofipaGaTtiBaeMMx areHTOM flOKyivieHTOB»
LotusScript: queryS = notesAgent.Query
Java: Siring query = Agent.getQueryQ

tckct sanpoca (tho String), wcnoJibsyeMoro arenroM oth ox6opa o6pa6aTbmaeMbix hm AOKVMeHTOE h onpeflejjeHHoro b okhc OocTpoHTejia arenxoB khohkoh Add Search. ecjih ana arenxa ne dbiji onpe.ne.neH sanpoc khohkoh Add Search, cbohctbo B03Bpainaex nycxyto cxpOKy, fla>Ke ecjiH areux, HanHcaHHbiH c npHMeneHHCM @-cj)opMyji, caM ox6Hpaex o6pa6axbiBaeMbie hm flOKyMCHXbi onepaxopoM SELECT hjih oxSop o6pa6axwBaeMbix flOKyMeHxoB BbinojiHaexca areHXOM cpeflcxBaMH LotusScript hjih Java.

rtpmviep. CKpunr nojiyiaer (j>opMyjiy oxDopa areHxa c H33BaHneM Cleansing Agent.

Dim session As New NotesSession

Dim db As NotesDatabase

Dim agent As NotesAgent • •

Set db = session.CurrentDatabase

Dim selection As String

agentList = db.Agents

Forall a In agentList

If ( a.Name = "Cleansing Agent" ) Then Set agent = a

End If End Forall selection = agent.Query

Bo3Mo»eHbi cjieayiomHe pe^yjibraxbi.

ecjih arem o6pa6axbiBaex tojibko zioKyMenrbi, coflep/Kaiune c;iobo "tulip" (nojibnaH), cbohctbo Quer>' Bepnex ("tulip").

© InterTrust Co. Tea. (095) 9567928

502 Встроенные массы LotusScript u Java

  • Если агент обрабатывает только документы, содержащие слово "tulip" и созданные позже 18
    сентября 1998 года, свойство вернет ("tulip") AND ((_CreatioriDatej > 18.09.98).

  • Если обрабатываются только документы формы Response, вернется (((Formj="Response")).

  • Если обрабатываются только документы формы Response, содержащие фразу "green
    mustard" (зеленая горчица) в поле Subject, будет возвращено ((iForml="Response")) AND
    ([Subject] CONTAINS (green mustard)).

© Свойство HasRimSkiceModified - «выполнялся ли агент хотя бы раз после его последней модификации»

LotusScript: flog — nofei^gen/.HasRunSinceModified

Возвращает true, если агент выполнялся хотя бы раз после последней модификации, или false, если не выполнялся.

Свойство LastRun • «Б'ремя последнего выполнения агента»

LotusScript: date V~ notesAgent.ljasiRuit

Java: DaleTime date = Agent.geiLasiRnnQ

Возвращает дату-время последнего выполнения агента (в LotusScript •- Variant of type DATE, в Java - объект класса DateTime). Если агент ранее не выполнялся, в LotusScript возвращается 30.12.! 899 (версии 4.x) или 0:00:00 (версия 5.0), а в Java - null.

Пример 1. Java-агент для каждого агента текущей базы выводит дату и время его последнего запуска или сообщение о том, что агент еще не запускался.

import j ava,util.Vector;

// Agent/LastRim

Database db ~ agentContext . getCurrentDataba.se ();

Vector agents = db.getAgents();

for (int. i — 0; i < agents. size (} ; i-t-+)

}

t

Agent agent = (Agent)agents.elementAt(i); DateTime date = agent.getLastRun(); v

if (date.getDateOnly(} != null)

System, out .println ( "Agent " + agent. get.Name () +•

" last, ran on " + date. getDateOnly ( ) + •?

" at " + date.getTimeOniy()); else

System.out.println("Agent " + agent.getName() +

" hasn't run yet:"); \

Пример 2. Если скрипт выясняет, что индекс полнотекстового поиска текущей базы в последний раз обновлялся ранее времени последнего запуска текущего агента, он обновляет индекс.

Dim session As New NotesSession

Dim agent As NotesAgent

Dim db As NotesDatabase

Set agent = session.CurrentAgent

Set db = session.CurrentDatabase

If ( db.LastFTIndexed < agent.LastRun ) Then

Call db.UpdateFTIndex( False ) End If

© InterTrust Co. Тел. (095) 9567928

Lotus Domino R. 5: @-формулы, LotusScript, встроенные классы LotusScript и Java 503

3.11.2. Методы

Метод save - «сохранить изменения в базе»
LotusScript: Call notesAgenl.sa\e
Java: void Agent.saveQ

Сохраняет в базе изменения, выполненные в объекте [NotesJAgent. Должен вызываться после изменения значений свойств ServerName и (или) Enabled, иначе эти изменения будут «утеряны». Предполагает наличие соответствующего доступа к базе и агенту.

Метод run - «выполнить агента»

LotusScript: Call nolesAgent.run
Java: void Agent.run()

Метод run выполняет агента, к которому применяется метод, «локально». Это означает, что если запуск агента выполнен из агента, выполняемого на станции, то и вызванный агент будет выполняться станцией. Если же запуск агента выполнен из агента, выполняемого сервером, то и вызванный агент будет выполняться сервером. Однако «удаленные» (ПОР) вызовы составляют исключение из этого правила - агент, запуск которого инициирован методом run, выполняется сервером.

Вы не должны запускать агентов рекурсивно. «Стандартный вывод» вызванного агента направляется в базу log.nsf. Пользователь не может интерактивно работать непосредственно с вызванным агентом. В LotusScript вызываемый агент «не должен» пользоваться свойствами и методами классов «переднего плана» (Ш), и, кроме прочего, невозможна трассировка вызванного агента в отладчике.

Метод runOnServer - «выполнить агента на сервере»
LotusScript: status% - notesAgenf.runQnScrverQ
Java: int status - Agent.runOnServer()

В отличие от метода run, метод runOnServer выполняет агента, к которому применяется метод, на сервере, «несущем» базу, содержащую агента. При этом вызов должен производиться со станции, но база, содержащая вызываемого агента, должна находиться на сервере.

Метод runOnServer возвращает статус завершения вызванного агента. Статус равен О, если агент завершился без ошибок, и отличен от нуля, если имели место ошибки.

Недопустимо использовать метод runOnServer в агентах, автоматически запускаемых сервером - в таких случаях должен использоваться метод run. При «удаленных» (ПОР) вызовах метод runOnServer эквивалентен методу run - вызванный агент выполняется сервером.

Метод remove - '«удалить агента» .. . ..'• ;> : .;•..•:.:. : ...... •..•..... .

LotusScript: Call notesAgent.remave
Java: void Agent. removeQ

Удаляет агента из базы. После вызова метода объект класса [Notes]Agent сразу получает значение Nothing/null, а его свойства и методы становятся недоступны.

Вам придется «обновить вид агентов» из интерфейса Notes, чтобы «визуально обнаружить», что агент был действительно удален. Отметим, что можно даже удалить агента во время его выполнения.

© InterTrust Со. Тел. (095) 9567928

504 Встроенные классы LotusScript и Java

Пример 1. Java-агент удаляет агента CalculateTotals в текущей базе.

import java.util.Vector;

// Agent/remove

Database db = agentContext.getCurrentDatabase();

Vector agents = db.getAgents();

int count = agents.size(); int i;

System.out.println("Agents in database:");

for (i •-•-• 0; i

{

Agent, agent = (Agent) agents . elementAt ( i );

String name = agent.getName();

if (name —= null) name = "No name";

if (name . compareTo ( "CalculateTotals" ) --= 0)

/

agent.remove{);

System.cut.println("agent found and deleted");

break; }

) i

if (i == count) System.out.print In("agent not found");

Пример 2. «Самоуничтожающийся» агент. Когда этот агент завершится, его уже ие станет в базе.

' Self-destructing agent created 08/18/95 by N. Allen

Dim session As New NotesSession

Dim agent As NotesAgent

Set agent = session. Current-Agent

Call agent.Remove

Пример З. Скрипт кнопки находит в текущей базе, агентов, владельцем которых является текущий пользователь и выполнение которых запрещено. У пользователя запрашивается подтверждение на удаление сразу всех таких агентов. Если разрешение получено, агенты удаляются.

Sub Click(Source As Button)

Dim session As New NotesSession

Dim db As NotesDatabase

Dim agentArray( 1 To 10 ) As NotesAgent

Dim count As Integer

Dim r As String .

Set db = session.CurrentDatabase

count = 0

' находим агентов, владельцем которых является текущий'

' пользователь и выполнение которых запрещено

Forall a In db.Agents

If ( a. Owner -" session. UserName ) And

Not ( a.IsEnabled ) Then count = count + 1 -Set agentArray( count ) = a

End If

End Forall . ,

r = Inputbox$( "Вы имеете " & count &

" агентов, выполнение которых запрещено. Удалить их?" ) If ( r = "yes" ) Or ( r - "у" ) Then

' удаляем всех агентов из массива agentArray

Forall b In agentArray .

Call b.Remove

End E'orall
End If ...

End Sllb

© InterTrust Co, Тел. (095) 9567928

Lotus Domino R. 5: @-формулы, LotusScript, встроенные классы LotusScript и Java 505

3.12. «Форма» - класс [NotesJForm

Объект этого класса представляет форму. Свойства класса [NotesJForm позволяют «узнать» название формы и ее алиасы, проверить, является ли форма субформой, получить список имен содержащихся в форме полей, манипулировать содержимым специальных полей формы SFormUsers («кто» может создавать документы по форме») и $Readers («кто будет видеть созданные по этой форме документы»). Единственный метод класса служит для удаления формы из базы.

«Контейнерная иерархия»

LotusScript NotesDatabase —> NotesForm

Java Database —> Form —> Database

Как в LotusScript, так и в Java получить объект класса [Notes]Form можно двумя способами. Если известно имя формы, объект, представляющий форму, получают методом getForm класса [Notes]Database. Если необходим доступ ко всем формам базы, используют свойство Forms класса [NotesjDatabase.

3.12.1. Свойства и метод

Свойство Parent - «родитель»

Java: Database db ~ Form.getParentO

Возвращает объект класса Database, представляющий базу, в которой определена форма.

Свойство Name - «название формы»
LotusScript: formName$ = notes For т.^яте
Java: String formName - Form.getNameQ

Возвращает «первое» название формы (тип String).

Пример. Java-агент выводит имена всех форм, имеющихся в текущей базе.

import j ava.uti1.Vector;

/'/ Form/Name

Database db = agentContext,getCurrentDatabase();

Vector forms = db.getForms();

System, out .printIn ( "\"" f db , get.Title () +

"\" has " + forms.size О + " forms:"); for (int i=0; i < forrns . size () ; i-n-} {

Form form = (Form)forms.elementAt{i);

System.out.println(" " + form.getName()}; }

Свойство Aliases - «алиасы формы» . ::. •.:;::;,:':. • • :: :; v ... :: '....... '..'. '.'•'.; ;....::'.'...''

LotusScript: stringArray = notesForm.Aliases

Java: java.util. Vector aliases = Forwz.getAliasesQ

© InterTrust Co. Тел. (095) 9567928

506 Встроенные классы LotusScript и Java

Возвращает «массив» всех алиасов формы (не включая «первое» название формы). В LotusScript это действительно массив с элементами тина String, в Java - объект Java.util. Vector с элементами типа String. Случай, когда форма не имеет ни одного алиаса (только «первое» название), в LotusScript «проверяют» с помощью IsEmpty, а в Java - по количеству элементов в «векторе» - свойством size.

Пример. Скрипт запрашивает имя формы из текущей базы и выводит информацию об алиасах этой формы.

Dim session As New NotesSession

Dim db As NotesDatabase

Set db - session.CurrentDatabase

formNameln = Lease(Inputbox{"Name of form?"))

Forall form In db.Forms

If Lease(form.Name) — formNameln Then If Isempty(form.Aliases) Then

Messagebox form.Name & " has no aliases" Else

alCount =0

msgString = "" #

Forall al In form.Aliases alCount - alCount + 1

msgString = msgString & Chr(lO) & " " & al End E'orall Messagebox form.Name & " has " & alCount &

" alias (es):" & Chr(lO) & msgString End If Exit Sub End If End Forall Messagebox "The form """ & formNameln & """ does not exist"

Свойство IsSubForm -«является ли субформой»

LotusScript: flag = notesFormAsSubForm
Java: boolean flag ~ /o/re.isSubFormQ

Возвращает true, если форма является субформой, или false, если нет.
  1   2   3   4   5   6   7   8   9   ...   35

Похожие:

Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Система передачи сообщений масштаба предприятия Lotus — комбинация мощных функций Domino и Notes
Система передачи сообщений масштаба предприятия Lotus — объединение мощных возможностей Domino и Notes
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Инструкция по обновлению дизайна crm relavis Обновление дизайна проводится...
Для выполнения действий будет необходим Domino Administrator, все действия должны выполняться от имени пользователя, имеющего права...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Программа простого tcp/ip клиента (SampleClient java) 4
Так же рассказывается о том, как пишутся и используются программные модули, ориентированные на построение www и научить работе с...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Руководство пользователя Книга №1 Общие принципы работы в Системе
«Юридическое лицо» в процессе выполнения Java-апплета будет отображен логотип Java. 9
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Инструкция по настройке Java для портала суфд (на примере Java 8 update 131)
Переходим на вкладку Advanced и выставляем переключатели так как показано на картинке
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Конвертор байт-кода Java в cil
В данной работе рассматривается задача эффективного конвертирования байт-кода виртуальной машины Java [1] в байт-код Common Intermediate...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Программа государственного экзамена по направлению
Основы программирование на Java. Ключевые особенности. Файловая структура Java. Области видимости имен. Операции наследования и перекрытие...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Программа государственного экзамена по направлению 02. 04. 01 «Математика и компьютерные науки»
Основы программирование на Java. Ключевые особенности. Файловая структура Java. Области видимости имен. Операции наследования и перекрытие...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Клиент-серверные технологии
П. Ноутон, Г. Шилдт java 2 [Электронный ресурс] Book Ноутон Шилдт java 2 Наиболее полное руководство pdf
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Программа «Основы программирования на java»
Изучая основы программирования на языке Java, ребята учатся создавать реально действующие кроссплатформенные программы, которые могут...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Руководство администратора
Системной платформой Javaee серверов приложений необходимо установить Java jre версии X. Для установки Java jre необходимо запустить...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Программа дисциплины «Программирование на языке java»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 231000....
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Языки программирования java и java-технологии
Целью изучения дисциплины является получение теоретических и практических знаний Перечень дисциплин, усвоение которых необходимо...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Требования к исходному коду программ на языке java
Данный документ является корпоративным стандартом предприятия, определяющим требования к разработке исходного Java-кода. Документ...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Время повсюду московское
Эд продолжает работать над Lotus Esprit. Он меняет распределительный ремень и коллектор, а потом берется за салон. Смогут ли ребята...
Lotus Domino R. 5; @- popjttyjibi, LotusScript, ecmpoennbie kjiocch LotusScript u Java 501 icon Разработка графической системы поддержки программирования контроллеров...


Руководство, инструкция по применению




При копировании материала укажите ссылку © 2024
контакты
rykovodstvo.ru
Поиск