Hi All,
in one of my application i have been downloading lots of data from
server and then saving in to db4o.
in my case i am saving 200 objects of Recipe class in loops, and on
every 200 store, i am using commit().
in Recipe Class i have define id as unique as follows
configuration.common().add(new
UniqueFieldValueConstraint(Recipe.class, "id"));
when i have been commiting after 200 stor,e it has been throwing
exception,code at comit is as follows
public void commitdb()
{
try
{
oc.commit(); // oc is object of objectContainer
}
catch(UniqueFieldValueConstraintViolationException exp)
{ oc.rollback(); }
}
Still i am getting exception as follows, (i am using db4o on Android)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823):
com.db4o.events.EventException
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.events.EventRegistryImpl.withExceptionHandlingInCallback(EventRegistryImpl.java:
283)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.events.EventRegistryImpl.commitOnStarted(EventRegistryImpl.java:
121)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.LocalTransaction.dispatchCommittingCallback(LocalTransaction.java:
90)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.LocalTransaction.commit(LocalTransaction.java:65)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.LocalTransaction.commit(LocalTransaction.java:59)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.LocalObjectContainer.commit1(LocalObjectContainer.java:
104)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.IoAdaptedObjectContainer.commit1(IoAdaptedObjectContainer.java:
171)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.ObjectContainerBase$3.apply(ObjectContainerBase.java:
403)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.ObjectContainerBase$3.apply(ObjectContainerBase.java:
401)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.ObjectContainerBase.asTopLevelCall(ObjectContainerBase.java:
427)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.ObjectContainerBase.commit(ObjectContainerBase.java:
401)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.ExternalObjectContainer.commit(ExternalObjectContainer.java:
39)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.altaworks.kokaihop.db4o.RecipeProvider.commitdb(RecipeProvider.java:
42)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.altaworks.kokaihop.ui.TakeoffActivity$4.run(TakeoffActivity.java:
707)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
java.lang.Thread.run(Thread.java:1096)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): Caused by:
java.lang.NullPointerException
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.constraints.UniqueFieldValueConstraint
$1.ensureSingleOccurence(UniqueFieldValueConstraint.java:59)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.constraints.UniqueFieldValueConstraint
$1.onEvent(UniqueFieldValueConstraint.java:96)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.events.Event4Impl.trigger(Event4Impl.java:78)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.events.EventRegistryImpl
$4.run(EventRegistryImpl.java:123)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.foundation.DynamicVariable.with(DynamicVariable.java:54)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.InCallback.run(InCallback.java:24)
06-22 18:30:41.568: ERROR/AndroidRuntime(14823): at
com.db4o.internal.events.EventRegistryImpl.withExceptionHandlingInCallback(EventRegistryImpl.java:
279)
What should be solution, i have to store all 200 objects, and if
already object is present with same id, then over-write with new
object?
Regards
Imran ali
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en