복붙노트

[SPRING] 스프링 LDAP 2.0.1은 더 이상 사용되지 않는 OdmManager를 대체합니다.

SPRING

스프링 LDAP 2.0.1은 더 이상 사용되지 않는 OdmManager를 대체합니다.

대부분의 odm과 유사한 일이 ldapTemplate에 의해 수행 될 수 있기 때문에 OdmManager 기능은 더 이상 사용되지 않습니다. 그러나 OdmManager에는 사용자 정의 유형 변환에 대해 설명 할 수있는 ConverterManager를 삽입 할 수있는 기능이 있습니다. odm-like (ConverterManager) 연산에 ldapTemplate을 사용하는 것과 동일한 방법은 무엇입니까?

ldapTemplate에 동등한 시스템이 없으면 다음을 수행해야합니다.

예를 들어, 간단한 클래스 (bean 속성의 유형이되고 싶습니다. 이는 ldap 타임 스탬프에 매핑됩니다)

공용 클래스 LdapTimestamp {

static private Calendar cal = Calendar.getInstance(TimeZone.getTimeZone("Australia/Brisbane"));
static private DateFormat toStringFormat;
static {
    toStringFormat = DateFormat.getDateTimeInstance(DateFormat.SHORT, DateFormat.SHORT);
    toStringFormat.setCalendar(cal);
}
static private DateFormat nativeLdapFormat = new SimpleDateFormat("yyyyMMddHHmmssZ"); 

private Date dateTime; // GMT time

public LdapTimestamp(String ldapDateTimeString) throws ParseException {
    this.dateTime = nativeLdapFormat.parse(ldapDateTimeString);
}

public LdapTimestamp() {
    super();
}

public Date getDateTime() {
    return dateTime;
}

public void setDateTime(Date dateTimeObject) {
    this.dateTime = dateTimeObject;
}

public void setDateTime(String ldapDateTimeString) throws ParseException {
    this.dateTime = nativeLdapFormat.parse(ldapDateTimeString);
}

public String toStringShort() {
    return toStringFormat.format(dateTime);
}

public String toString() {
    return nativeLdapFormat.format(dateTime);
}

}

그 의도는 bean이 날짜 범위 비교 등에 사용할 수있는 Date 객체를 기본적으로 저장하는 반면, ldap 날짜 문자열을 toString ()으로 bean의 바깥 쪽을 반환하고 bean에 대해 안쪽으로 단일 String 논의.

이것은 ConverterManager에서 제안 된 것으로 보이지만 새로운 코드이므로 피할 수 있으면 사용하지 않는 OdmManager 인터페이스를 사용하지 않을 것입니다. ConverterManager는 더 이상 사용되지 않지만 사용하기 위해 ldapTemplate에 연결하는 분명한 방법을 볼 수 없습니다.

어떤 생각이라도 환영 할 만하다.

해결법

  1. ==============================

    1.LdapTemplate에는 setObjectDirectoryMapper 메서드가 있습니다.이 메서드를 사용하면 구성된 ObjectDirectoryMapper (이전 버전의 OdmManager에 해당)를 삽입 할 수 있습니다. DefaultObjectDirectoryMapper는 ConverterManager로 구성 할 수 있으므로 모든 설정을해야한다고 생각합니다.

    LdapTemplate에는 setObjectDirectoryMapper 메서드가 있습니다.이 메서드를 사용하면 구성된 ObjectDirectoryMapper (이전 버전의 OdmManager에 해당)를 삽입 할 수 있습니다. DefaultObjectDirectoryMapper는 ConverterManager로 구성 할 수 있으므로 모든 설정을해야한다고 생각합니다.

  2. from https://stackoverflow.com/questions/24666222/spring-ldap-2-0-1-replacing-deprecated-odmmanager by cc-by-sa and MIT license