Archivio

Posts Tagged ‘Request for Comments’

UnboundID – come scrivere un java.util.Date su ldap?

luglio 4, 2011 Lascia un commento
Image representing UnboundID as depicted in Cr...

Image via CrunchBase

Devo fare la persistenza, sul mio LDAP preferito (OpenDJ) di un campo ‘data di nascita’ di un mio bean ‘profilo utente’.
Ovviamente il campo del mio bean e’ di tipo java.util.Date; utilizzando le api dell’SDK for Java di UnboundID per accedere al mio directory server LDAP, come posso fare?
La classe ‘com.unboundid.ldap.sdk.Entry‘ dell’SDK mette a disposizione i seguenti metodi per aggiungere un attributo ad una Entry:

public boolean addAttribute(Attribute attribute)

public boolean addAttribute(java.lang.String attributeName, java.lang.String attributeValue)

public boolean addAttribute(java.lang.String attributeName, byte[] attributeValue)

Nella RFC 2252 viene consigliata una rappresentazione alfanumerica (in formato stringa, printabile), chiamata ‘Generalized Time’; per ottenerla, partendo da un tipo java.util.Date, e’ sufficiente utilizzare un metodo statico di utilita’ dell’SDK, StaticUtils.encodeGeneralizedTime:

public static java.lang.String encodeGeneralizedTime(java.util.Date d)

Quindi, per riassumere, ecco cosa ho fatto:

entry.addAttribute(“birthDate”, StaticUtils.encodeGeneralizedTime(_type.getBirthDate()));

E anche questa e’ fatta ;)