Hey guys,

Has anyone succeeded to use MongoDBDataModel at all?

Basically I'm getting a NPE:

java.lang.NullPointerException
    at
com.google.common.base.Preconditions.checkNotNull(Preconditions.java:186)
    at
me.demo.taste.core.MongoDBDataModel.checkData(MongoDBDataModel.java:738)
    at
me.demo.taste.core.MongoDBDataModel.refreshData(MongoDBDataModel.java:356)
    at
me.demo.taste.core.GeneralRecommender.recommend(GeneralRecommender.java:151)
    at
me.demo.taste.web.RecommenderServlet.doGet(RecommenderServlet.java:80)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
    at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
    at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at
com.springsource.insight.collection.tcserver.request.HttpRequestOperationCollectionValve.invoke(HttpRequestOperationCollectionValve.java:64)
    at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
    at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
    at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
    at
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:409)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
    at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
    at java.lang.Thread.run(Thread.java:662)


This is the code I'm using:

    GeneralRecommender recommender = new GeneralRecommender();
        try {
            recommender.start(new MongoDBDataModel());
        } catch (UnknownHostException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (MongoException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

        try {
            ArrayList<ArrayList<String>> items =
recommender.recommend(userIDString, null, true);
            items.size();
        } catch (NullPointerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NoSuchUserException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (NoSuchItemException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }


>From what I can tell the error seems to be correct, since it does check for
the passed items, however examples of it's usage all have items = null, so
I'm confused a bit, should I or should not pass null for items ?

Thank you in advance.

Reply via email to