Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Dozer, Не получается преобразовать объект 
V
    Опции темы
1sanek1
Дата 9.6.2012, 08:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Добрый день! 
Я пишу сервис и у меня возникла следующая проблема. 
Я с помощью hibernate получаю данные из БД. Заполняется коллекция, например DC_LOGIN (Правда я экспериментировал на др. коллекции, там был тип java.util.Calendar, но я думаю это не принципиально...) 
Код

/**
 * DC_LOGIN.java
 *
 * This file was auto-generated from WSDL
 * by the Apache Axis 1.2.1 Jun 14, 2005 (09:15:57 EDT) WSDL2Java emitter.
 */

package den.serv.hibernate.form;

public class DC_LOGIN  extends den.serv.hibernate.form.item.DC_GETON  implements java.io.Serializable {
    private java.lang.String LOGIN;
    private java.lang.String PASSWORD;

    public DC_LOGIN() {
    }

    public DC_LOGIN(
           java.lang.String LOGIN,
           java.lang.String PASSWORD) {
           this.LOGIN = LOGIN;
           this.PASSWORD = PASSWORD;
    }


    /**
     * Gets the LOGIN value for this DC_LOGIN.
     * 
     * @return LOGIN
     */
    public java.lang.String getLOGIN() {
        return LOGIN;
    }


    /**
     * Sets the LOGIN value for this DC_LOGIN.
     * 
     * @param LOGIN
     */
    public void setLOGIN(java.lang.String LOGIN) {
        this.LOGIN = LOGIN;
    }


    /**
     * Gets the PASSWORD value for this DC_LOGIN.
     * 
     * @return PASSWORD
     */
    public java.lang.String getPASSWORD() {
        return PASSWORD;
    }


    /**
     * Sets the PASSWORD value for this DC_LOGIN.
     * 
     * @param PASSWORD
     */
    public void setPASSWORD(java.lang.String PASSWORD) {
        this.PASSWORD = PASSWORD;
    }

    private java.lang.Object __equalsCalc = null;
    public synchronized boolean equals(java.lang.Object obj) {
        if (!(obj instanceof DC_LOGIN)) return false;
        DC_LOGIN other = (DC_LOGIN) obj;
        if (obj == null) return false;
        if (this == obj) return true;
        if (__equalsCalc != null) {
            return (__equalsCalc == obj);
        }
        __equalsCalc = obj;
        boolean _equals;
        _equals = super.equals(obj) && 
            ((this.LOGIN==null && other.getLOGIN()==null) || 
             (this.LOGIN!=null &&
              this.LOGIN.equals(other.getLOGIN()))) &&
            ((this.PASSWORD==null && other.getPASSWORD()==null) || 
             (this.PASSWORD!=null &&
              this.PASSWORD.equals(other.getPASSWORD())));
        __equalsCalc = null;
        return _equals;
    }

    private boolean __hashCodeCalc = false;
    public synchronized int hashCode() {
        if (__hashCodeCalc) {
            return 0;
        }
        __hashCodeCalc = true;
        int _hashCode = super.hashCode();
        if (getLOGIN() != null) {
            _hashCode += getLOGIN().hashCode();
        }
        if (getPASSWORD() != null) {
            _hashCode += getPASSWORD().hashCode();
        }
        __hashCodeCalc = false;
        return _hashCode;
    }

}


Я хочу с помощью Dozer отвязать весь мусор от объекта, что бы передать информацию по сети. 
Код

DC_LOGIN bean = new DC_LOGIN();
bean = (DC_LOGIN) DozerBeanMapperSingletonWrapper.getInstance().map(incomingItem, DC_LOGIN.class);

incomingItem - объект с данными полученными из БД. 

но при обращении в этой строчке, возникает ошибка в самой библиотек, причем в логе ничего не пишется. Ошибку даже не удается отловить с помощью try{...}catch(Exception e){} 
Единственное что пишет лог - это 
Код

[08.06.12 16:13:49:851 MSD] 00000030 GlobalSetting I org.dozer.util.InitLogger log Trying to find Dozer configuration file: dozer.properties

Но вроде dozer.properties - это необязательный файл конфигурации, я полагаю это штатное сообщение. А вот я еще видел в примере есть файл dozerBeanMapping - для чего он нужен? Куда его ложить? Обязательно его использовать? Или может еще надо что нибудь указывать для работы с библиотекой dozer. 
В общем я в замешательстве, не знаю куда копать. Не подскажите может я что то не так делаю? Буду очень признателен.
PM MAIL   Вверх
1sanek1
Дата 9.6.2012, 10:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Может какой нибудь библиотеки не хватает?
PM MAIL   Вверх
LSD
Дата 11.6.2012, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 19
Всего: 538



Цитата(1sanek1 @  9.6.2012,  09:31 Найти цитируемый пост)
но при обращении в этой строчке, возникает ошибка в самой библиотек, причем в логе ничего не пишется. Ошибку даже не удается отловить с помощью try{...}catch(Exception e){} 

1. Если ошибку не удалось отловить то как ты о ней вообще узнал?
2. А если попробовать catch(Throwable e)?
3. И:
Цитата
What are the best ways to debug Dozer?

You can specify the -Ddozer.debug system property to view the one time initialization information.



--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
1sanek1
Дата 13.6.2012, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 28.10.2008

Репутация: нет
Всего: нет



Цитата

 Если ошибку не удалось отловить то как ты о ней вообще узнал?

Я ставил для простоты System.out с двух сторон строчки: bean = (DC_LOGIN) DozerBeanMapperSingletonWrapper.getInstance().map(incomingItem, DC_LOGIN.class); Первый  System.out попадал в лог второй нет. Сейчас на логирование уду менять.))

Цитата

 А если попробовать catch(Throwable e)?

Вот за это огромное СПАСИБО!)) Помогло! Отловил эксепшен. Не хватало нескольких библиотек: commons-beanutils-1.8.2.jar, commons-beanutils-1.8.2-sources.jar и apache-commons-lang.jar
Странно, почему catch(Exception e) - ни чего не отлавливал)) 

Теперь все заработало. Спасибо! 
PM MAIL   Вверх
AlexeyVorotnikov
Дата 14.6.2012, 09:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 658
Регистрация: 18.6.2007
Где: Москва

Репутация: 1
Всего: 18



Цитата(1sanek1 @  13.6.2012,  12:44 Найти цитируемый пост)
Странно, почему catch(Exception e) - ни чего не отлавливал))

У класса Throwable есть два наследника: Exception и Error.
catch(Exception e) ловит только Exception'ы и не ловит Error'ы.
 У вас сколее всего выкидывался какой-то наследник класса Error, например, NoClassDefFoundError.



--------------------
RTFM!
Три источника и три составные части Java: The Java Language Specification, Java Platform API Specification, The Java Virtual Machine Specification
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Работа с сетью | Следующая тема »


 




[ Время генерации скрипта: 0.0615 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.