перечень пакетов, включённых в реализацию Jvm от Ibm в Lotus Domino/no

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#1
Пакет java.awt идет в "стандартной" комплектации jre, в т.ч. в реализации jvm от ibm, которая включена в состав lotus domino/notes.
А вот это уже интересно...
Где можно глянуть перечень пакетов, включённых в реализацию jvm от ibm, которая включена в состав lotus domino/notes?
 

nvyush

Well-Known Member
Lotus team
22.04.2009
2 317
0
#2
Открываем дизайнер, создаём java-агента/библиотеку, в панели объектов выбираем закладку Reference. Изучаем...
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#3
Что-то я эбсолютли не могу допереть, что за панель объектов и где там выбирать закладку Reference... ;)

Попробовал нахрапом:
Типа import.java.<и просмотреть этот список>
Но, как я понимаю, подобная штука покажет мне и то, что имеется в jre, установленной у меня?
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#5
Где в LS-библиотеке Reference мне известно:
ls.gif
А вот где найти их в Java я эбсолютли не допераю:
18.02.gif
2.gif

Добавлено: Оно?
666.gif
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#7
Дизайнер 8.0.1 :)
А в 8.5.2 как? Неуж-то нет никакой доки с перечислением? В хелпе не натыкался на такое (может между строк искал?)...
 
13.03.2009
625
2
#8
А вот это уже интересно...
Где можно глянуть перечень пакетов, включённых в реализацию jvm от ibm, которая включена в состав lotus domino/notes?
ibm jvm как минимум реализует стандарное java api:
для семерки: http://download.oracle.com/javase/1.4.2/docs/index.html
для 8.5: http://download.oracle.com/javase/6/docs/
плюс, в нагрузку предоставляет пакеты для работы с лотусовыми сущностями - грубо говоря, аналоги классов LS. Их курить в хелпе дизайнера.
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#9
Чудненько.
А я думал, что "пакеты для работы с лотусовыми сущностями" идут не в нагрузку, а только они и идут. Посему и избегал так долго явы. А тут "вот оно что..." :)
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#10
да дажеб если не было, есть LS2J
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#11
lmike, так с вариантом LS2J и при "да дажеб если не было" пользователям надо было бы jre ставить, не?
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#13
А я думал, что "пакеты для работы с лотусовыми сущностями" идут не в нагрузку, а только они и идут.
я выссказывался по-поводу этого...
в доминой идет ПОЛНАЯ JSE расширенная секуритями и классами домины
еслибы не было классов домины, для джава, но присут. тока бридж LS2J - этого уже былобы достаточно для массы возможностей
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#14
xalet, когда много-много пользователей, то особо не побегаешь, не посгружаешь (что бегать сгружать, что бегать jre ставить -- те же яйца).
lmike, было бы бы... :)
Для общего развития я и раньше (Вашими стараниями кстати) яву посматривал, но массово в рабочие приложения совать даже и не подумывал (да и не велели). А вот теперь как знать... А вот теперь быть может...
 

Xalet

Well-Known Member
08.08.2008
410
0
#15
когда много-много пользователей, то особо не побегаешь, не посгружаешь (что бегать сгружать, что бегать jre ставить -- те же яйца).
Зачем бегать? Пишется скрипт с проверкой на наличие нужных файлов, который с сервера сгружает и запускается на открытии базы(как вариант).

Конечено придется клиент рестартануть после "инсталяции", но это не так и сложно...
 

alik86

Well-Known Member
Lotus team
20.11.2008
465
1
#16
Забыл слово бегать взять в кавычки. :)
Всё равно надо было бы производить какие-то телодвижения... А тут оказывается и не надо, тут оказывается полнейший ол инклюдед.
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#17
дарю, в общее пользование <div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"java JarDeploy"</div></div><div class="sp-body"><div class="sp-content"><!--shcode--><pre><code class='java'>package org.files;

import lotus.domino.*;
import java.util.*;
public class JarDeploy {
private String libpath="";
private String rtName="body";
public JarDeploy(){
String jpath=System.getProperty("java.home");
String fsep=System.getProperty("file.separator");
libpath=jpath+fsep+"lib"+fsep+"ext"+fsep;
}
public void deploy(String dbID, String unid){
try{
Session ses=NotesFactory.createSession();
String server=ses.getServerName();
Database db=ses.getDatabase(null,null);
if (db.openByReplicaID(server, dbID)){
Document doc=db.getDocumentByUNID(unid);
RichTextItem rt=(RichTextItem)doc.getFirstItem(rtName);
Vector objs=rt.getEmbeddedObjects();
Enumeration e = objs.elements();
while (e.hasMoreElements()) {
EmbeddedObject eo = (EmbeddedObject)e.nextElement();
eo.extractFile(libpath + eo.getName());
}
}
}catch (Exception e){
e.printStackTrace();
}
}
public String getLibPath(){
return libpath;
}
public String setRtName(String xName){
rtName=xName;
return xName;
}
}[/CODE]
<div class="sp-wrap"><div class="sp-head-wrap"><div class="sp-head folded clickable">"LS (код объединил, дергал из либ кускоми, может ч-то не хватать)"</div></div><div class="sp-body"><div class="sp-content">
Код:
Option Public
Option Declare
Use "ErrorHandling"
Use "JarDeploy"

Const ERRBASE_FILES=1110
Const ERRLS2JINIT=ERRBASE_FILES+1, CS_ERRLS2JINIT={ошибка инициализации класса Java}
Const ERRFILEACCESS=ERRBASE_FILES+2, CS_ERRFILEACCESS={ошибка доступа к файлу}

Const CS_RELOAD={Перезагрузите, пожалуйста, программу}
Const CS_RETRY={повторите попытку}
'********************************
Class JarLib As ErrorHandlerWJ
Private JarLibObj	As JavaObject
Private JarLibClass As JavaClass
Private ses As NotesSession
Private db As NotesDatabase
Private libPath As String
Private rtName As String
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Sub New()
Dim fail As Boolean
On Error Goto errorhandler
Set JarLibClass = jSession.GetClass("org.files.JarDeploy")
Set JarLibObj = jarLibClass.CreateObject
libPath=JarLibObj.getLibPath()
Set ses=New NotesSession
Set db=ses.CurrentDatabase
rtName={Body}
ExitFunction:
If fail Then 
On Error Goto 0
Error ERRLS2JINIT, CS_ERRLS2JINIT
End If
Exit Sub
errorhandler:
Call Me.RaiseError()
fail=True
Resume ExitFunction
End Sub
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function Deploy(unid As String) As Boolean
On Error Goto ErrH
Dim doc As NotesDocument
Set doc=db.GetDocumentByUNID(unid)
Dim filesList List As String
Dim fName As String
fName=DetachDocFiles(doc,{*.jar},filesList)
If fName<>"" Then
Forall f In filesList
Dim sfile As String
sfile=Listtag(f)
If MoveFile(libPath & sfile, libPath & sfile & {.old})=70 Then
'файл заблокирован
Messagebox CS_ERRFILEACCESS & Chr(10)_
& (CS_RELOAD) & Chr(10)_ 
& CS_RETRY, MB_OK + MB_APPLMODAL + MB_ICONEXCLAMATION
Exit Function
End If
Call MoveFile(Cstr(f) & sfile, libPath & sfile)
End Forall
Deploy=True
End If
Quit:
Exit Function
ErrH:
Call Me.RaiseError()
Resume Quit
End Function
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function SetRtName(xName As String) As String
rtName=xName
setRtName=xName
End Function
End Class
Dim db As NotesDatabase
Dim ses As NotesSession
Dim agentLog As NotesLog

Function MoveFile(srcName As String, dstName As String) As Integer
On Error Goto ErrorHandler
Call DeleteFile(dstName)
Name srcName As dstName
MoveFile=-1
ExitFunction:
Exit Function
ErrorHandler:
If agentLog Is Nothing Then
Call RaiseError()
Else
Call agentLog.LogAction("Move file:"& srcName & "->" & dstName & " error:" & Error$)
End If
MoveFile=Err
Resume ExitFunction
End Function

Function DeleteFile(fName As String) As Boolean
On Error Goto ErrorHandler
Kill fName
DeleteFile=True
ExitFunction:
Exit Function
ErrorHandler:
If agentLog Is Nothing Then
Call RaiseError()
Else
Call agentLog.LogAction("Delete file:"& fName & " error:" & Error$)
End If
Resume ExitFunction
End Function
Sub Initialize
Dim libobj As New JarLib()
Dim view As NotesView
Set ses=New NotesSession
Set db=ses.CurrentDatabase

Set view=db.GetView(OPTIONS_LOOKUP)
Dim doc As NotesDocument
Set doc=view.GetDocumentByKey(OPT_JARLIB, True)
libobj.Deploy(doc.UniversalID)
End Sub
ErrorHandling, в виде lss (втянуть в либу либо изменить Use) Посмотреть вложение ErrorHandling.lss.zip
 

lmike

нет, пердело совершенство
Lotus team
27.08.2008
6 490
366
#18
код в Initialize дергает вьюшку в кот. ищет, по ключу, док с jar-ом/ами и детачит их в jvm/lib/ext
разумеется - константы:OPTIONS_LOOKUP, OPT_JARLIB; надо самим определить (ибо там м.б. любая структура)