{"action":"closed","issue":{"url":"https://api.github.com/repos/marklogic/marklogic-sesame/issues/63","labels_url":"https://api.github.com/repos/marklogic/marklogic-sesame/issues/63/labels{/name}","comments_url":"https://api.github.com/repos/marklogic/marklogic-sesame/issues/63/comments","events_url":"https://api.github.com/repos/marklogic/marklogic-sesame/issues/63/events","html_url":"https://github.com/marklogic/marklogic-sesame/issues/63","id":99520544,"number":63,"title":"Better handling when subject, predicate or object is null in con.add(Statement st, Context ct) and con.add(Resource r, URI u, Value v) ","user":{"login":"srinathgit","id":5034960,"avatar_url":"https://avatars.githubusercontent.com/u/5034960?v=3","gravatar_id":"","url":"https://api.github.com/users/srinathgit","html_url":"https://github.com/srinathgit","followers_url":"https://api.github.com/users/srinathgit/followers","following_url":"https://api.github.com/users/srinathgit/following{/other_user}","gists_url":"https://api.github.com/users/srinathgit/gists{/gist_id}","starred_url":"https://api.github.com/users/srinathgit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/srinathgit/subscriptions","organizations_url":"https://api.github.com/users/srinathgit/orgs","repos_url":"https://api.github.com/users/srinathgit/repos","events_url":"https://api.github.com/users/srinathgit/events{/privacy}","received_events_url":"https://api.github.com/users/srinathgit/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/marklogic/marklogic-sesame/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":{"login":"xquery","id":685000,"avatar_url":"https://avatars.githubusercontent.com/u/685000?v=3","gravatar_id":"","url":"https://api.github.com/users/xquery","html_url":"https://github.com/xquery","followers_url":"https://api.github.com/users/xquery/followers","following_url":"https://api.github.com/users/xquery/following{/other_user}","gists_url":"https://api.github.com/users/xquery/gists{/gist_id}","starred_url":"https://api.github.com/users/xquery/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xquery/subscriptions","organizations_url":"https://api.github.com/users/xquery/orgs","repos_url":"https://api.github.com/users/xquery/repos","events_url":"https://api.github.com/users/xquery/events{/privacy}","received_events_url":"https://api.github.com/users/xquery/received_events","type":"User","site_admin":false},"milestone":null,"comments":2,"created_at":"2015-08-06T20:41:30Z","updated_at":"2015-08-10T15:39:13Z","closed_at":"2015-08-10T15:39:13Z","body":"When subject, predicate or object is null  in con.add(Statement st, Context ct) and con.add(Resource r, URI u, Value v) , a null pointer exception is thrown. Just wanted to check if we may want to handle it better may be wrap the exception along with a more clearer message\r\n\r\njava.lang.NullPointerException\r\n\tat com.marklogic.semantics.sesame.client.MarkLogicClientImpl.performAdd(MarkLogicClientImpl.java:263)\r\n\tat com.marklogic.semantics.sesame.client.MarkLogicClient.sendAdd(MarkLogicClient.java:145)\r\n\tat com.marklogic.semantics.sesame.MarkLogicRepositoryConnection.add(MarkLogicRepositoryConnection.java:521)\r\n\tat com.marklogic.sesame.functionaltests.MarkLogicRepositoryConnectionTest.testPrepareTupleQuery1(MarkLogicRepositoryConnectionTest.java:403)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)\r\n\tat sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)\r\n\tat sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)\r\n\tat java.lang.reflect.Method.invoke(Method.java:483)\r\n\tat org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:50)\r\n\tat org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12)\r\n\tat org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:47)\r\n\tat org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:17)\r\n\tat org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)\r\n\tat org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:27)\r\n\tat org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)\r\n\tat org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)\r\n\tat org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)\r\n\tat org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)\r\n\tat org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)\r\n\tat org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)\r\n\tat org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)\r\n\tat org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:26)\r\n\tat org.junit.runners.ParentRunner.run(ParentRunner.java:363)\r\n\tat org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50)\r\n\tat org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382)\r\n\tat org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192)\r\n\r\n"}}