我正在研究一个简单的Java代码来提取给定日期的所有日历条目。我知道使用Domingo是可能的,但我只想使用Notes.jar来达到这个目的。我可以根据给定的凭据创建会话并获取日历对象。我期待提取当前运行的Notes会话并使用该会话对象在邮件文件中打开日历视图并开始播放。但我无法让它工作。任何人有任何想法或链接呢?使用Notes.jar获取给定日期的所有日历条目
2
A
回答
3
那么我已经完成了默认的笔记API和这里的代码。
NotesAPITest nat = new NotesAPITest();
NotesThread.sinitThread();
Session sess1 = NotesFactory.createSession();
System.out.println(sess1.getUserName());
Database database = sess1.getDatabase("", "mailfile");
View calendarView = database.getView("($Calendar)");
DateTime dt = sess1.createDateTime("today");
ViewEntryCollection vec = calendarView.getAllEntriesByKey(dt, true);
ViewEntry entry = vec.getFirstEntry();
while (entry != null)
{
Document caldoc = entry.getDocument();
System.out.println("Subject: " + caldoc.getItemValueString("Subject"));
System.out.println("Chair Person: " + caldoc.getItemValueString("Chair"));
System.out.println("Start Time: " + nat.getStartEndTimes(caldoc, "StartDateTime"));
System.out.println("Start Time: " + nat.getStartEndTimes(caldoc, "EndDateTime"));
System.out.println("Required: " + caldoc.getItemValueString("RequiredAttendees"));
entry = vec.getNextEntry();
}
我看到的唯一的缺点是,每当会话extracte,音符弹出一个输入密码的对话框。在我的搜索到目前为止,我还没有看到一个解决方案。显然是LN中的安全安排我猜。
2
只是通过Google搜索,我发现了this article。他们为Notes创建了一个Eclispe插件。而对于获得员工brithdays示例代码也有(我想以类似的方式日历作品):
s = NotesFactory.createSession();
// Get the local address book
Database nab = s.getDatabase("",s.getAddressBooks().elementAt(0).toString());
if (nab.isOpen() == false) nab.open();
// Get the Birthdays & Anniversaries view
View baview = nab.getView("BA");
ViewEntryCollection eba = baview.getAllEntries();
ViewEntry entry = eba.getFirstEntry();
list = new String[eba.getCount()];
int count = 0;
while (entry != null) {
Vector vals = entry.getColumnValues();
list[count]= vals.elementAt(1).toString() + " " + vals.elementAt(2).toString();
entry = eba.getNextEntry();
count++;
}
编辑:也要看this link上了Notes.jar一些文档。
2
您可以使用NotesFactory.createSession()方法获取当前会话的句柄。 Notes将自动共享当前的客户端会话。如果此方法失败,则基本配置可能有问题。请确保:
- 您已将Notes客户端完全安装在运行Java应用程序的计算机上,并确保存在有效的Notes标识文件。 (例如,确保您可以成功打开本机上的Notes客户机)。
- 此外,请确保nnotes.dll文件可以在您的机器路径上访问(与Java CLASSPATH不同)。
- 然后确认Notes.ini文件也位于机器的PATH中。
1
@vikramjb,试着做NotesFactory.createSession((String)null,(String)null,password);以防止每次在需要安全性的会话中执行某些操作时弹出提示密码弹出窗口。
从这里发现了这一点:http://lekkimworld.com/2006/07/10/java_in_notes_domino_explained_domino_session_tester.html
相关问题
- 1. 如何使用Google日历API获取特定时间范围内的所有日历条目
- 2. 从多用户Google日历中获取所有条目
- 3. 从给定的日期获取日
- 4. 以开始日期获取iPhone日历中的所有事件
- 5. R - 获取两个日期之间的所有日历年份
- 6. 删除日历中的所有条目
- 7. 从日历实例中获取给定日期
- 8. 带日期时间的DJANGO Queryset:需要获取所有未来日期条目
- 9. primefaces日历:错误日期条目
- 10. Java和Android日历按月获取所有日期
- 11. 获取特定日期的所有年份日期
- 12. 获取日历条目OL 2010 VS 2015
- 13. 使用月份日历获取选定星期的星期六日期值
- 14. 如何获取日历中的日期?
- 15. PHP/MySQL日期时间字段:获得给定月份中的所有条目
- 16. 禁用除日历中的特定日期以外的所有日期wpf
- 17. 如何获得工作日给定日期在Android Studio中使用日历
- 18. 从VSS获取给定日期的所有文件?
- 19. 如何在日期范围内获取所有“特定日期”
- 20. 从给定日期开始获取距离设定的日期
- 21. 获取基于给定日期的星期一至星期日
- 22. Google日历从每个日历中获取所有事件
- 23. 使用Java在Lotus Notes中获取今天的日历条目
- 24. MvvmCross从日历界面获取日期
- 25. Gridview日历扩展器获取日期
- 26. 从日历jquery获取日期
- 27. Google日历:获取活动日期?
- 28. 如何从日历中获取日期?
- 29. 使用Elasticsearch查找特定日期附近的日期条目
- 30. 使用日历表填写另一个日期范围内的所有日期
从这里:http://www.ibm.com/developerworks/lotus/library/ls-Java_access_pt1/ – subdigit 2010-03-20 09:24:19
感谢SubDigit,我知道,具体方法。我不想在我的插件中添加缓存LN用户名和密码的开销,这就是为什么我没有使用这种方法。感谢您的链接。 – vikramjb 2010-03-31 05:07:26