You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@continuum.apache.org by Michael Waluk <mw...@gmail.com> on 2006/06/20 21:02:25 UTC

How to define the contents of the notification email?

Hi,

I was wondering if there is an easy way to define what is contained in the
email notifications sent by Continuum.

For example, how can tell Continuum the address that it is running at - the
link to the online report always starts with "http://localhost:8080..." but
it is actually running at port 8091 and I have even stated that in my
pom.xml.  Where does it get that info?

What are others doing out there to edit the email contents?  Ideally I'd
like to include a link to that site the build generated in the notification
email.  I know I can create my own email, getting the project info from the
ProjectReader, etc. but thought there might be an easy way that I haven't
noticed yet.

Any and all help is always appreciated.  Thanks for your help,
Michael

Re: Base URL default setting

Posted by Emmanuel Venisse <em...@venisse.net>.

Johnson, Jonathan a écrit :
> Each time I reinstall Continuum I find I often forget to change the base
> URL from localhost to the machine name.  When developers get build
> notification emails their links go to localhost which obvious do not
> work.  
> 
> I wish the Continuum installation/initialization could just pick up the
> machine name of the server rather than using "localhost".  Localhost is
> always problematic and should be avoided.  It would almost be better if
> it just said "[your server machine name here]".

you can file an issue for this. But we use localhost instead of the machineName:port because some 
user use continuum behind an apache proxy

Emmanuel
> 
> New users will constantly get tripped up on this out of the box
> experience.
> 
> LEGAL NOTICE:
> Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.
> 
> 
> 
> 
> 


Base URL default setting

Posted by "Johnson, Jonathan" <jj...@454.com>.
Each time I reinstall Continuum I find I often forget to change the base
URL from localhost to the machine name.  When developers get build
notification emails their links go to localhost which obvious do not
work.  

I wish the Continuum installation/initialization could just pick up the
machine name of the server rather than using "localhost".  Localhost is
always problematic and should be avoided.  It would almost be better if
it just said "[your server machine name here]".

New users will constantly get tripped up on this out of the box
experience.

LEGAL NOTICE:
Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.



Re: How to define the contents of the notification email?

Posted by Emmanuel Venisse <em...@venisse.net>.
Michael Waluk a écrit :
> Hi,
> 
> I was wondering if there is an easy way to define what is contained in the
> email notifications sent by Continuum.
> 
> For example, how can tell Continuum the address that it is running at - the
> link to the online report always starts with "http://localhost:8080..." but
> it is actually running at port 8091 and I have even stated that in my
> pom.xml.  Where does it get that info?

The base url must be changed in the configuration screen.

> 
> What are others doing out there to edit the email contents?  Ideally I'd
> like to include a link to that site the build generated in the notification
> email.  I know I can create my own email, getting the project info from the
> ProjectReader, etc. but thought there might be an easy way that I haven't
> noticed yet.

if you want to modify the mail content, you'll need to edit it in continuum-core jar. We don't have 
for now an other way.

Emmanuel


RE: How to define the contents of the notification email?

Posted by Ba...@fastmobile.com.
To answer your question about the URL in the e-mail - that you can change by logging in as the administrator. There will then be an "Administration" set of buttons on the left hand side. You will want to click on the Configuration button and modify the Base URL.

Cheers,
Baron

-----Original Message-----
From: Michael Waluk [mailto:mwaluk@gmail.com]
Sent: Tue 6/20/2006 2:02 PM
To: continuum-users@maven.apache.org
Subject: How to define the contents of the notification email?
 
Hi,

I was wondering if there is an easy way to define what is contained in the
email notifications sent by Continuum.

For example, how can tell Continuum the address that it is running at - the
link to the online report always starts with "http://localhost:8080..." but
it is actually running at port 8091 and I have even stated that in my
pom.xml.  Where does it get that info?

What are others doing out there to edit the email contents?  Ideally I'd
like to include a link to that site the build generated in the notification
email.  I know I can create my own email, getting the project info from the
ProjectReader, etc. but thought there might be an easy way that I haven't
noticed yet.

Any and all help is always appreciated.  Thanks for your help,
Michael


Re: Removing sub-projects causes JDODataStoreException

Posted by Emmanuel Venisse <em...@venisse.net>.

Johnson, Jonathan a écrit :
>>> This pb is causing by jpox and I don't understand why because a project >> delete works generally.
> 
> Works or fails 50% of the time on different modules.  I have not send a pattern for this.
> 
>>> remove the apps/continuum/database directory.
> 
> I though so, but was not sure.  Perhaps a .sh /.bat file could be added to the bin directory to do this and present a warning message before continuing.
> 
>>> Yes I added the notifier sections.  It was hard to find a good, canonical example.  "Address" is depreciated in Maven pom xsd, but not inside the configuration block - confusing.  It would be helpful if the notifier/configuration could take the id of the developer referenced from the developer list rather than the email.  That way the emails are only defined once in the pom (emails change)

it's a planned feature.

> 
>>> Wh's happen if you try to delete an other sub-project? do you have this 
> error on all your sub-projects?
> 
> Once I get the exception I can't delete any others.

it's very strange, it seems that jpox break something in the database that make it unstable.

Emmanuel

> 
> 
> -----Original Message-----
> From: Emmanuel Venisse [mailto:emmanuel@venisse.net] 
> Sent: Tuesday, June 20, 2006 4:21 PM
> To: continuum-users@maven.apache.org
> Subject: Re: Removing sub-projects causes JDODataStoreException
> 
> 
> 
> Johnson, Jonathan a écrit :
>> I have used previous version of Continuum and in each version I have
>> experienced this problem.  I am now using version 1.0.3.
>>
>> If I add a parent pom.xml to Continuum with a number of sub modules (I
>> have 10) they all get added correctly.  If I then try to remove them all
>> I can remove the first 2 then I start getting the exception below (full
>> text is attached)
>>
>> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
>> BUILDDEFINITION WHERE ID = ?
>>
>> The only way I know how to get around it is to reinstall Continuum.
>>
>> 1.  What is causing the exception?
> 
> This pb is causing by jpox and I don't understand why because a project delete works generally
> 
>> 2.  Does anyone know how to reset or clear the database so I do not have
>> too reinstall?
> 
> if you want to reset/clear the database, you need to stop continuum and remove the 
> apps/continuum/database directory.
> With this, you'll have an fresh continuum like a fresh installation.
> 
>> 3.  I wish there was a way to simply refresh Continuum with a new parent
>> pom.xml without having to add, remove duplicates and then resetup all
>> the notification email rules.  I have yet been able to do this fully
>> because of the exception noted below.  The only way to reliably refresh
>> my parent pom is to reinstall Continuum and reenter all the notification
>> emails.
> 
> no, it was the only way. Wh's happen if you try to delete an other sub-project? do you have this 
> error on all your sub-projects?
> 
> If you don't want to add manually your notifier in continuum, you can add them in your pom, so, if a 
> new time you need to reset your database, all notifiers will be added to continuum automatically.
> 
> Emmanuel
> 
>>
>> Continuum Error
>>
>> ognl.MethodFailedException: Method "removeProject" failed for object
>> org.apache.maven.continuum.DefaultContinuum@8f5fc2
>> [javax.jdo.JDOUserException: One or more instances could not be deleted
>> NestedThrowables:
>> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
>> BUILDDEFINITION WHERE ID = ?
>> NestedThrowables:
>> SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of
>> foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement
>> has been rolled back.]
>> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
>> 	at
>> ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
>> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
>> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
>> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
>> 	at ognl.Ognl.getValue(Ognl.java:333)
>> 	at ognl.Ognl.getValue(Ognl.java:378)
>> 	at ognl.Ognl.getValue(Ognl.java:357)
>> 	at
>> org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation
>> (DeleteEntity.java:57)
>> 	at
>> org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.jav
>> a:47)
>> 	at
>> org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve
>> .java:68)
>> 	at
>> org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipe
>> line.java:70)
>> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
>> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> 	at
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>> 	at
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH
>> andler.java:294)
>> 	at
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>> 	at
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
>> text.java:525)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>> 	at
>> org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
>> 	at
>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
>> 	at
>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
>> 	at
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218
>> )
>> 	at
>> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
>> 	at
>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>>
>>
>>
>>
>> LEGAL NOTICE:
>> Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.
>>
>>
>>
>>
>> ------------------------------------------------------------------------
>>
>> Sujet:
>> Expéditeur:
>> "builder" <bu...@hober.454.com>
>> Date:
>> Tue, 20 Jun 2006 14:50:27 -0400
>> Destinataire:
>> "Johnson, Jonathan" <jj...@454.com>
>>
>> Destinataire:
>> "Johnson, Jonathan" <jj...@454.com>
>>
>>
>> Continuum 	454 Life Sciences
>> Continuum | Maven | Apache
>> Welcome, builder - Disconnect
>>
>>
>> Continuum
>> About
>> Show Projects
>>
>> Add Project
>> Maven 2.0+ Project
>> Maven 1.x Project
>> Ant Project
>> Shell Project
>>
>> Administration
>> Schedules
>> Configuration
>> User Groups Management
>> Users Management
>>
>> Legend
>> Build Now
>> Build History
>> Build In Progess
>> Checking Out Build
>> Queued Build
>> Delete
>> Edit
>> Build in Success
>> Build in Failure
>> Build in Error
>> 	
>>
>> Continuum Error
>>
>> ognl.MethodFailedException: Method "removeProject" failed for object org.apache.maven.continuum.DefaultContinuum@8f5fc2 [javax.jdo.JDOUserException: One or more instances could not be deleted
>> NestedThrowables:
>> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM BUILDDEFINITION WHERE ID = ?
>> NestedThrowables:
>> SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement has been rolled back.]
>> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
>> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
>> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
>> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
>> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
>> 	at ognl.Ognl.getValue(Ognl.java:333)
>> 	at ognl.Ognl.getValue(Ognl.java:378)
>> 	at ognl.Ognl.getValue(Ognl.java:357)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
>> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
>> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
>> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
>> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
>> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
>> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
>> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
>> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
>> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
>> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>> /-- Encapsulated exception ------------\
>> javax.jdo.JDOUserException: One or more instances could not be deleted
>> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1438)
>> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
>> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
>> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
>> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
>> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
>> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
>> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
>> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
>> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
>> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
>> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
>> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
>> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
>> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
>> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
>> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
>> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
>> 	at ognl.Ognl.getValue(Ognl.java:333)
>> 	at ognl.Ognl.getValue(Ognl.java:378)
>> 	at ognl.Ognl.getValue(Ognl.java:357)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
>> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
>> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
>> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
>> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
>> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
>> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
>> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
>> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
>> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
>> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>> NestedThrowablesStackTrace:
>> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM BUILDDEFINITION WHERE ID = ?
>> 	at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:259)
>> 	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
>> 	at org.jpox.store.StoreManager.delete(StoreManager.java:800)
>> 	at org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
>> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
>> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
>> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
>> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
>> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
>> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
>> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
>> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
>> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
>> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
>> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
>> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
>> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
>> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
>> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
>> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
>> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
>> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
>> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
>> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
>> 	at ognl.Ognl.getValue(Ognl.java:333)
>> 	at ognl.Ognl.getValue(Ognl.java:378)
>> 	at ognl.Ognl.getValue(Ognl.java:357)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
>> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
>> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
>> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
>> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
>> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
>> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
>> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
>> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
>> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
>> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>> NestedThrowablesStackTrace:
>> ERROR 23503: DELETE on table 'BUILDDEFINITION' caused a violation of foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement has been rolled back.
>> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>> 	at org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown Source)
>> 	at org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown Source)
>> 	at org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows(Unknown Source)
>> 	at org.apache.derby.impl.sql.execute.DeleteResultSet.open(Unknown Source)
>> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
>> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
>> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
>> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
>> 	at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:78)
>> 	at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:245)
>> 	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
>> 	at org.jpox.store.StoreManager.delete(StoreManager.java:800)
>> 	at org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
>> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
>> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
>> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
>> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
>> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
>> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
>> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
>> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
>> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
>> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
>> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
>> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
>> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
>> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
>> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> 	at java.lang.reflect.Method.invoke(Method.java:585)
>> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
>> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
>> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
>> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
>> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
>> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
>> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
>> 	at ognl.Ognl.getValue(Ognl.java:333)
>> 	at ognl.Ognl.getValue(Ognl.java:378)
>> 	at ognl.Ognl.getValue(Ognl.java:357)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
>> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
>> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
>> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
>> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
>> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
>> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
>> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
>> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
>> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
>> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
>> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
>> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
>> \--------------------------------------/
>>
>>
>> Continuum © 2005 Apache Software Foundation
> 
> 
> 
> 


Re: Removing sub-projects causes JDODataStoreException

Posted by Emmanuel Venisse <em...@venisse.net>.

Johnson, Jonathan a écrit :
> I have the following ciManagement section defined.  A couple questions:
> 
> 1.  Is the form correct (address under configuration)?
> 
> 2.  When I load my sub-modules then only jane@454.com (last address in
> list) appears in the Notifier list in Continuum.  How do I get all the
> emails on on the list?

      <ciManagement>
          <system>Continuum</system>
          <url>http://hober:8080/continuum</url>
          <notifiers>
              <notifier>
                  <type>mail</type>
                  <configuration>
                      <address>john@454.com,mary@454.com,jane@454.com</address>
                  </configuration>
                  <sendOnError>true</sendOnError>
                  <sendOnFailure>true</sendOnFailure>
                  <sendOnSuccess>false</sendOnSuccess>
                  <sendOnWarning>true</sendOnWarning>
              </notifier>
          </notifiers>
      </ciManagement>

> 
> 3.  I have a multi-module system.  I want different developers with
> different notifications rules for each of the sub-modules.  Will
> Continuum support adding a ciManagement to each sub-module pom?  Or is
> there a better way?

normally, you can add a ciManagement to each sub-module.

Emmanuel
> 
>     <ciManagement>
>         <system>Continuum</system>
>         <url>http://hober:8080/continuum</url>
>         <notifiers>
>             <notifier>
>                 <type>mail</type>
>                 <configuration>
>                     <address>john@454.com</address>
>                     <address>mary@454.com</address>
>                     <address>jane@454.com</address>
>                 </configuration>
>                 <sendOnError>true</sendOnError>
>                 <sendOnFailure>true</sendOnFailure>
>                 <sendOnSuccess>false</sendOnSuccess>
>                 <sendOnWarning>true</sendOnWarning>
>             </notifier>
>         </notifiers>
>     </ciManagement>
> 
> LEGAL NOTICE:
> Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.
> 
> 
> 
> 
> 


RE: Removing sub-projects causes JDODataStoreException

Posted by "Johnson, Jonathan" <jj...@454.com>.
I have the following ciManagement section defined.  A couple questions:

1.  Is the form correct (address under configuration)?

2.  When I load my sub-modules then only jane@454.com (last address in
list) appears in the Notifier list in Continuum.  How do I get all the
emails on on the list?

3.  I have a multi-module system.  I want different developers with
different notifications rules for each of the sub-modules.  Will
Continuum support adding a ciManagement to each sub-module pom?  Or is
there a better way?

    <ciManagement>
        <system>Continuum</system>
        <url>http://hober:8080/continuum</url>
        <notifiers>
            <notifier>
                <type>mail</type>
                <configuration>
                    <address>john@454.com</address>
                    <address>mary@454.com</address>
                    <address>jane@454.com</address>
                </configuration>
                <sendOnError>true</sendOnError>
                <sendOnFailure>true</sendOnFailure>
                <sendOnSuccess>false</sendOnSuccess>
                <sendOnWarning>true</sendOnWarning>
            </notifier>
        </notifiers>
    </ciManagement>

LEGAL NOTICE:
Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.



RE: Removing sub-projects causes JDODataStoreException

Posted by "Johnson, Jonathan" <jj...@454.com>.
>> This pb is causing by jpox and I don't understand why because a project >> delete works generally.

Works or fails 50% of the time on different modules.  I have not send a pattern for this.

>> remove the apps/continuum/database directory.

I though so, but was not sure.  Perhaps a .sh /.bat file could be added to the bin directory to do this and present a warning message before continuing.

>> Yes I added the notifier sections.  It was hard to find a good, canonical example.  "Address" is depreciated in Maven pom xsd, but not inside the configuration block - confusing.  It would be helpful if the notifier/configuration could take the id of the developer referenced from the developer list rather than the email.  That way the emails are only defined once in the pom (emails change)

>> Wh's happen if you try to delete an other sub-project? do you have this 
error on all your sub-projects?

Once I get the exception I can't delete any others.


-----Original Message-----
From: Emmanuel Venisse [mailto:emmanuel@venisse.net] 
Sent: Tuesday, June 20, 2006 4:21 PM
To: continuum-users@maven.apache.org
Subject: Re: Removing sub-projects causes JDODataStoreException



Johnson, Jonathan a écrit :
> I have used previous version of Continuum and in each version I have
> experienced this problem.  I am now using version 1.0.3.
> 
> If I add a parent pom.xml to Continuum with a number of sub modules (I
> have 10) they all get added correctly.  If I then try to remove them all
> I can remove the first 2 then I start getting the exception below (full
> text is attached)
> 
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
> BUILDDEFINITION WHERE ID = ?
> 
> The only way I know how to get around it is to reinstall Continuum.
> 
> 1.  What is causing the exception?

This pb is causing by jpox and I don't understand why because a project delete works generally

> 
> 2.  Does anyone know how to reset or clear the database so I do not have
> too reinstall?

if you want to reset/clear the database, you need to stop continuum and remove the 
apps/continuum/database directory.
With this, you'll have an fresh continuum like a fresh installation.

> 
> 3.  I wish there was a way to simply refresh Continuum with a new parent
> pom.xml without having to add, remove duplicates and then resetup all
> the notification email rules.  I have yet been able to do this fully
> because of the exception noted below.  The only way to reliably refresh
> my parent pom is to reinstall Continuum and reenter all the notification
> emails.

no, it was the only way. Wh's happen if you try to delete an other sub-project? do you have this 
error on all your sub-projects?

If you don't want to add manually your notifier in continuum, you can add them in your pom, so, if a 
new time you need to reset your database, all notifiers will be added to continuum automatically.

Emmanuel

> 
> 
> Continuum Error
> 
> ognl.MethodFailedException: Method "removeProject" failed for object
> org.apache.maven.continuum.DefaultContinuum@8f5fc2
> [javax.jdo.JDOUserException: One or more instances could not be deleted
> NestedThrowables:
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
> BUILDDEFINITION WHERE ID = ?
> NestedThrowables:
> SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of
> foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement
> has been rolled back.]
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
> 	at
> ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at
> org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation
> (DeleteEntity.java:57)
> 	at
> org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.jav
> a:47)
> 	at
> org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve
> .java:68)
> 	at
> org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipe
> line.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH
> andler.java:294)
> 	at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
> text.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at
> org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218
> )
> 	at
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at
> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> 
> 
> 
> 
> LEGAL NOTICE:
> Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Sujet:
> Expéditeur:
> "builder" <bu...@hober.454.com>
> Date:
> Tue, 20 Jun 2006 14:50:27 -0400
> Destinataire:
> "Johnson, Jonathan" <jj...@454.com>
> 
> Destinataire:
> "Johnson, Jonathan" <jj...@454.com>
> 
> 
> Continuum 	454 Life Sciences
> Continuum | Maven | Apache
> Welcome, builder - Disconnect
> 
> 
> Continuum
> About
> Show Projects
> 
> Add Project
> Maven 2.0+ Project
> Maven 1.x Project
> Ant Project
> Shell Project
> 
> Administration
> Schedules
> Configuration
> User Groups Management
> Users Management
> 
> Legend
> Build Now
> Build History
> Build In Progess
> Checking Out Build
> Queued Build
> Delete
> Edit
> Build in Success
> Build in Failure
> Build in Error
> 	
> 
> Continuum Error
> 
> ognl.MethodFailedException: Method "removeProject" failed for object org.apache.maven.continuum.DefaultContinuum@8f5fc2 [javax.jdo.JDOUserException: One or more instances could not be deleted
> NestedThrowables:
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM BUILDDEFINITION WHERE ID = ?
> NestedThrowables:
> SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement has been rolled back.]
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> /-- Encapsulated exception ------------\
> javax.jdo.JDOUserException: One or more instances could not be deleted
> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1438)
> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> NestedThrowablesStackTrace:
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM BUILDDEFINITION WHERE ID = ?
> 	at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:259)
> 	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
> 	at org.jpox.store.StoreManager.delete(StoreManager.java:800)
> 	at org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> NestedThrowablesStackTrace:
> ERROR 23503: DELETE on table 'BUILDDEFINITION' caused a violation of foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement has been rolled back.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.DeleteResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
> 	at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:78)
> 	at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:245)
> 	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
> 	at org.jpox.store.StoreManager.delete(StoreManager.java:800)
> 	at org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> \--------------------------------------/
> 
> 
> Continuum © 2005 Apache Software Foundation


Re: Removing sub-projects causes JDODataStoreException

Posted by Emmanuel Venisse <em...@venisse.net>.

Johnson, Jonathan a écrit :
> I have used previous version of Continuum and in each version I have
> experienced this problem.  I am now using version 1.0.3.
> 
> If I add a parent pom.xml to Continuum with a number of sub modules (I
> have 10) they all get added correctly.  If I then try to remove them all
> I can remove the first 2 then I start getting the exception below (full
> text is attached)
> 
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
> BUILDDEFINITION WHERE ID = ?
> 
> The only way I know how to get around it is to reinstall Continuum.
> 
> 1.  What is causing the exception?

This pb is causing by jpox and I don't understand why because a project delete works generally

> 
> 2.  Does anyone know how to reset or clear the database so I do not have
> too reinstall?

if you want to reset/clear the database, you need to stop continuum and remove the 
apps/continuum/database directory.
With this, you'll have an fresh continuum like a fresh installation.

> 
> 3.  I wish there was a way to simply refresh Continuum with a new parent
> pom.xml without having to add, remove duplicates and then resetup all
> the notification email rules.  I have yet been able to do this fully
> because of the exception noted below.  The only way to reliably refresh
> my parent pom is to reinstall Continuum and reenter all the notification
> emails.

no, it was the only way. Wh's happen if you try to delete an other sub-project? do you have this 
error on all your sub-projects?

If you don't want to add manually your notifier in continuum, you can add them in your pom, so, if a 
new time you need to reset your database, all notifiers will be added to continuum automatically.

Emmanuel

> 
> 
> Continuum Error
> 
> ognl.MethodFailedException: Method "removeProject" failed for object
> org.apache.maven.continuum.DefaultContinuum@8f5fc2
> [javax.jdo.JDOUserException: One or more instances could not be deleted
> NestedThrowables:
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
> BUILDDEFINITION WHERE ID = ?
> NestedThrowables:
> SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of
> foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement
> has been rolled back.]
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
> 	at
> ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at
> org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation
> (DeleteEntity.java:57)
> 	at
> org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.jav
> a:47)
> 	at
> org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve
> .java:68)
> 	at
> org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipe
> line.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH
> andler.java:294)
> 	at
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
> text.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at
> org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at
> org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218
> )
> 	at
> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at
> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> 
> 
> 
> 
> LEGAL NOTICE:
> Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.
> 
> 
> 
> 
> ------------------------------------------------------------------------
> 
> Sujet:
> Expéditeur:
> "builder" <bu...@hober.454.com>
> Date:
> Tue, 20 Jun 2006 14:50:27 -0400
> Destinataire:
> "Johnson, Jonathan" <jj...@454.com>
> 
> Destinataire:
> "Johnson, Jonathan" <jj...@454.com>
> 
> 
> Continuum 	454 Life Sciences
> Continuum | Maven | Apache
> Welcome, builder - Disconnect
> 
> 
> Continuum
> About
> Show Projects
> 
> Add Project
> Maven 2.0+ Project
> Maven 1.x Project
> Ant Project
> Shell Project
> 
> Administration
> Schedules
> Configuration
> User Groups Management
> Users Management
> 
> Legend
> Build Now
> Build History
> Build In Progess
> Checking Out Build
> Queued Build
> Delete
> Edit
> Build in Success
> Build in Failure
> Build in Error
> 	
> 
> Continuum Error
> 
> ognl.MethodFailedException: Method "removeProject" failed for object org.apache.maven.continuum.DefaultContinuum@8f5fc2 [javax.jdo.JDOUserException: One or more instances could not be deleted
> NestedThrowables:
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM BUILDDEFINITION WHERE ID = ?
> NestedThrowables:
> SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement has been rolled back.]
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> /-- Encapsulated exception ------------\
> javax.jdo.JDOUserException: One or more instances could not be deleted
> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1438)
> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> NestedThrowablesStackTrace:
> javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM BUILDDEFINITION WHERE ID = ?
> 	at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:259)
> 	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
> 	at org.jpox.store.StoreManager.delete(StoreManager.java:800)
> 	at org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> NestedThrowablesStackTrace:
> ERROR 23503: DELETE on table 'BUILDDEFINITION' caused a violation of foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement has been rolled back.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.ReferencedKeyRIChecker.doCheck(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.RISetChecker.doPKCheck(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.DeleteResultSet.collectAffectedRows(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.DeleteResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
> 	at org.jpox.store.rdbms.request.Request.executeUpdate(Request.java:78)
> 	at org.jpox.store.rdbms.request.DeleteRequest.execute(DeleteRequest.java:245)
> 	at org.jpox.store.rdbms.table.ClassTable.delete(ClassTable.java:2238)
> 	at org.jpox.store.StoreManager.delete(StoreManager.java:800)
> 	at org.jpox.state.StateManagerImpl.internalDeletePersistent(StateManagerImpl.java:4113)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4068)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistentAll(AbstractPersistenceManager.java:1429)
> 	at org.jpox.store.rdbms.scostore.ElementContainerStore.clear(ElementContainerStore.java:595)
> 	at org.jpox.store.mapping.CollectionMapping.preDelete(CollectionMapping.java:304)
> 	at org.jpox.store.mapping.CollectionMapping.deleteDependent(CollectionMapping.java:332)
> 	at org.jpox.store.rdbms.table.ClassTable.deleteDependent(ClassTable.java:2280)
> 	at org.jpox.store.StoreManager.deleteDependent(StoreManager.java:838)
> 	at org.jpox.state.StateManagerImpl.deletePersistent(StateManagerImpl.java:4049)
> 	at org.jpox.AbstractPersistenceManager.internalDeletePersistent(AbstractPersistenceManager.java:1391)
> 	at org.jpox.AbstractPersistenceManager.deletePersistent(AbstractPersistenceManager.java:1402)
> 	at org.codehaus.plexus.jdo.PlexusJdoUtils.removeObject(PlexusJdoUtils.java:53)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeObject(JdoContinuumStore.java:969)
> 	at org.apache.maven.continuum.store.JdoContinuumStore.removeProject(JdoContinuumStore.java:901)
> 	at org.apache.maven.continuum.DefaultContinuum.removeProject(DefaultContinuum.java:328)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> 	at java.lang.reflect.Method.invoke(Method.java:585)
> 	at ognl.OgnlRuntime.invokeMethod(OgnlRuntime.java:491)
> 	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:785)
> 	at ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
> 	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
> 	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
> 	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
> 	at ognl.SimpleNode.getValue(SimpleNode.java:210)
> 	at ognl.Ognl.getValue(Ognl.java:333)
> 	at ognl.Ognl.getValue(Ognl.java:378)
> 	at ognl.Ognl.getValue(Ognl.java:357)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation(DeleteEntity.java:57)
> 	at org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.java:47)
> 	at org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve.java:68)
> 	at org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipeline.java:70)
> 	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
> 	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> 	at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
> 	at org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
> 	at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
> 	at org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
> 	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
> 	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
> 	at org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
> 	at org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
> 	at org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
> 	at org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
> 	at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
> 	at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)
> \--------------------------------------/
> 
> 
> Continuum © 2005 Apache Software Foundation


Removing sub-projects causes JDODataStoreException

Posted by "Johnson, Jonathan" <jj...@454.com>.
I have used previous version of Continuum and in each version I have
experienced this problem.  I am now using version 1.0.3.

If I add a parent pom.xml to Continuum with a number of sub modules (I
have 10) they all get added correctly.  If I then try to remove them all
I can remove the first 2 then I start getting the exception below (full
text is attached)

javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
BUILDDEFINITION WHERE ID = ?

The only way I know how to get around it is to reinstall Continuum.

1.  What is causing the exception?

2.  Does anyone know how to reset or clear the database so I do not have
too reinstall?

3.  I wish there was a way to simply refresh Continuum with a new parent
pom.xml without having to add, remove duplicates and then resetup all
the notification email rules.  I have yet been able to do this fully
because of the exception noted below.  The only way to reliably refresh
my parent pom is to reinstall Continuum and reenter all the notification
emails.


Continuum Error

ognl.MethodFailedException: Method "removeProject" failed for object
org.apache.maven.continuum.DefaultContinuum@8f5fc2
[javax.jdo.JDOUserException: One or more instances could not be deleted
NestedThrowables:
javax.jdo.JDODataStoreException: Delete request failed: DELETE FROM
BUILDDEFINITION WHERE ID = ?
NestedThrowables:
SQL Exception: DELETE on table 'BUILDDEFINITION' caused a violation of
foreign key constraint 'PROJECT_BUILP8_FK2' for key (1).  The statement
has been rolled back.]
	at ognl.OgnlRuntime.callAppropriateMethod(OgnlRuntime.java:796)
	at
ognl.ObjectMethodAccessor.callMethod(ObjectMethodAccessor.java:61)
	at ognl.OgnlRuntime.callMethod(OgnlRuntime.java:819)
	at ognl.ASTMethod.getValueBody(ASTMethod.java:75)
	at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:170)
	at ognl.SimpleNode.getValue(SimpleNode.java:210)
	at ognl.Ognl.getValue(Ognl.java:333)
	at ognl.Ognl.getValue(Ognl.java:378)
	at ognl.Ognl.getValue(Ognl.java:357)
	at
org.codehaus.plexus.formica.action.DeleteEntity.uponSuccessfulValidation
(DeleteEntity.java:57)
	at
org.codehaus.plexus.formica.action.DeleteEntity.execute(DeleteEntity.jav
a:47)
	at
org.codehaus.plexus.summit.pipeline.valve.ActionValve.invoke(ActionValve
.java:68)
	at
org.codehaus.plexus.summit.pipeline.AbstractPipeline.invoke(AbstractPipe
line.java:70)
	at org.codehaus.plexus.summit.Summit.doGet(Summit.java:54)
	at org.codehaus.plexus.summit.Summit.doPost(Summit.java:108)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
	at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
	at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationH
andler.java:294)
	at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
	at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationCon
text.java:525)
	at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
	at org.mortbay.http.HttpServer.service(HttpServer.java:879)
	at
org.mortbay.http.HttpConnection.service(HttpConnection.java:789)
	at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:960)
	at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:806)
	at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218
)
	at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:331)
	at
org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:520)




LEGAL NOTICE:
Unless expressly stated otherwise, this message is confidential and may be privileged. It is intended for the addressee(s) only. Access to this e-mail by anyone else is unauthorized. If you are not an addressee, any disclosure or copying of the contents or any action taken (or not taken) in reliance on it is unauthorized and may be unlawful. If you are not an addressee, please inform the sender immediately.