XPages Bean developer

1,836 views

Published on

Presentation made 12. june 2012 a Notesnet.dk meeting by Jakob Majkilde. Download the sample database here: http://xpages.dk/?p=541

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,836
On SlideShare
0
From Embeds
0
Number of Embeds
803
Actions
Shares
0
Downloads
5
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

XPages Bean developer

  1. 1. Bean developer Fra Lotus Script til Java Beans Jakob Majkilde xpages.dk
  2. 2.  I XPages kan du vælge mellem SSJS eller Java. Server Side JavaScript ◦ Bliver fortolket af Java og kører dermed langsommere end Java som kompileres til ByteCode ◦ Har begrænset funktionalitet – du vil alligevel lave kald til Java ◦ Kan ikke debugges! Java ◦ Uundgåeligt. ◦ Java skills giver bedre forståelse af XPages – og giver adgang til helt nye markeder, f.eks. Android og WebSphere…Derfor Java
  3. 3.  Skal have en constructor uden parameter Skal være Serializable Properties skal have ‘getters’ og ‘setters’ ◦ Property ‘value’ kræver derfor en ◦ getValue() ◦ setValue()Bean requirements
  4. 4.  Dit Java program kan kaldes direkte fra SSJS Eller som en ManagedBean ◦ Via SSJS eller ELUsing the bean
  5. 5.  XPages Debug Toolbar (OpenNTF) XPages Log File Reader (OpenNTF)Debug
  6. 6. 1. Enable debug i Notes.ini ◦ På udviklingsserver eller lokalt JavaEnableDebug=1 JavaDebugOptions=transport=dt_socket,server=y,suspend= n,address=80002. Sæt et breakpoint i koden3. Opret en ‘Debug Configuration’ ◦ Vælg: Run, Debug Configurations… ◦ Opret ny: Right Click, New  Default værdier skulle være OK4. Kør koden – og debug!Real Debug
  7. 7.  CurrentSession & CurrentDatabase ◦ Også adgang til scope variables (viewScope, …) import javax.faces.context.FacesContext; import lotus.domino.Database; import lotus.domino.Session; public static Object getVariableValue(String varName) { FacesContext context = FacesContext.getCurrentInstance(); return context.getApplication().getVariableResolver().resolveVariable(context, varName); } public static Session getCurrentSession() { return (Session) getVariableValue("session"); } public static Database getCurrentDatabase() { return (Database) getVariableValue("database"); }Doing something
  8. 8.  Adgang til alle global objects ◦ F.eks. scope variablesDoing more
  9. 9.  CurrentDbUrl()Cool Code
  10. 10.  XPages Portable Command Guide  IBMPressbooks.com  Kapitel 6 handler om debug Head First Java  Oreilly.com  Den nemmeste måde at lære Java på …Books
  11. 11.  Referencer ◦ XPages.dk ◦ Helper classes to access the JSF environment and Lotus Notes data  mindoo.com/web/blog.nsf/dx/18.07.2009191738KLEN AL.htm  xprentice.gbs.com/A55BAC/keithstric.nsf/default.xsp?d ocumentId=E64670869B069F2D85257920000494C8 ◦ Working with URL’s  xpageswiki.com/web/youatnotes/wiki- xpages.nsf/dx/Work_with_URLs#Get+path+or+URL+o f+current+request Graphics ◦ iconfinder.comReferencer

×