2013-08-25 2 views
0

Я работаю с API org.openntf.domino в личном проекте XPage, и у меня возникает проблема, которая, похоже, не решена сама. У меня есть следующий код:org.openntf.domino api Ошибка Stackoverflow

public class SeasonService implements Serializable { 

private Vector<?> seasons = new Vector(); 

public Vector<Season> getSeasons(){ 
    System.out.println("Retrieve all season entries"); 
    Database db = DominoUtil.getCurrentDatabase(); 

    View vw = db.getView(".AllDocuments"); 
    ViewEntryCollection coll = vw.getAllEntriesByKey("Season"); 

    Iterator<ViewEntry> it = coll.iterator(); 
    Vector<Season> l = new Vector(); 
    while(it.hasNext()){ 
     ViewEntry entry = it.next(); 
     l.add(fromEntry(entry)); 
    } 

    return l; 
} 

private static final Season fromEntry(ViewEntry entry){ 
    ViewEntryEx vex = new ViewEntryEx(entry); 
    System.out.println("Retrieve season from entry"); 

    //try { 
     Season s = new Season(); 
     s.setDescription("Test"); 
     s.setKey("0000"); 
     //s.setDescription((String) vex.getColumnValue("Description")); 
     //s.setKey((String) vex.getColumnValue("Key")); 
     return s; 
    //} catch (ColumnNameNotFoundException e) { 
     // TODO Auto-generated catch block 
    // e.printStackTrace(); 
    //} 
    //return null; 
    } 
} 

домино Util класса выглядит следующим образом:

public static final Database getCurrentDatabase(){ 
    Session s = Factory.fromLotus(ExtLibUtil.getCurrentSession(), org.openntf.domino.Session.class, null); 
    return s.getCurrentDatabase(); 
} 

По какой-то причине, как только я пытаюсь начать объектном код возвращается с ошибкой StackOverflow. Кто-нибудь знает, что будет причиной?

ответ

0

Какая промежуточная точка зрения вы используете? И будет ли у вас возможность поделиться этим приложением?

Переполнение стека обычно указывает на бесконечную регрессию, но я ничего не вижу в коде .getView, который, вероятно, вызовет это. Был момент, когда нулевая проверка на результирующем представлении не была там, и это вызовет NPE, но я думаю, что это было разрешено до текущей версии OpenNTF.

public View getView(final String name) { 
    try { 
     View result = Factory.fromLotus(getDelegate().getView(name), View.class, this); 
     if (result != null) { 
      result.setAutoUpdate(false); 
     } 
     return result; 
    } catch (NotesException e) { 
     DominoUtils.handleException(e); 
     return null; 

    } 
} 
+0

В настоящее время я использую версию 2.5mc. Я дам ссылку для загрузки как можно скорее. Самое забавное, что я использовал еще одну веху несколько недель назад и не получил такую ​​ошибку. (но поскольку я переустановил мою систему, я потерял этот проект .....) – jjtbsomhorst

+0

Я заметил, что ваше имя вида «.AllDocuments» Является ли точка частью персонального стандарта или что-то в этом роде? Я просто проверяю, что это не опечатка. Если Stackoverflow произошел только в случае нулевого результата, это скажет нам больше. –

+0

Точечная часть действительно личный стандарт. Он получен из IT Factory. Когда я использую стандартный Java API для извлечения данных, проблем нет. Еще одна странная вещь: при первом запуске приложения ошибки вообще нет. Во второй раз, например, возникает обновление, оно начинает происходить. Вы можете найти источник здесь: http://www.jeroensomhorst.eu/REPHocke.nsf – jjtbsomhorst

Смежные вопросы