Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

XPages Bean developer

1,859 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

  • Be the first to comment

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

×