Author: ronvoe122
Date: 2007-12-05 09:13:33-0800
New Revision: 10490
Modified:
trunk/src/java/org/tigris/scarab/om/Issue.java
trunk/src/java/org/tigris/scarab/util/xmlissues/ScarabIssues.java
Log:
SCB2426: ensure that the lastTransId and createdTransId is always filled with a valid reference when an Issue is saved, because this information is mandatory.
This is especially required if an action crashes and some data is left on the db (Scarab is not using DB-Transactions :( ).
Better an orphaned ActivitySet, than an Issue without valid ActivitySets.
Modified: trunk/src/java/org/tigris/scarab/om/Issue.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/om/Issue.java?view=diff&rev=10490&p1=trunk/src/java/org/tigris/scarab/om/Issue.java&p2=trunk/src/java/org/tigris/scarab/om/Issue.java&r1=10489&r2=10490
==============================================================================
--- trunk/src/java/org/tigris/scarab/om/Issue.java (original)
+++ trunk/src/java/org/tigris/scarab/om/Issue.java 2007-12-05 09:13:33-0800
@@ -2084,6 +2084,11 @@
}
}
}
+ if( getActivitySetRelatedByLastTransId()==null
+ ||getActivitySetRelatedByCreatedTransId()==null)
+ {
+ throw new RuntimeException("Created or Last ActivitySet must not be null.");
+ }
super.save(dbCon);
}
@@ -2376,12 +2381,12 @@
{
newIssue = this;
newIssue.setIssueType(newIssueType);
+ newIssue.save();
}
else
{
newIssue = newModule.getNewIssue(newIssueType);
}
- newIssue.save();
if (newIssue != this)
{
@@ -4086,4 +4091,12 @@
{
return ActivityPeer.getNewIssueUniqueId(this);
}
+
+ public void setCreatedTransId(Long createdTransId)
+ throws TorqueException
+ {
+ super.setCreatedTransId(createdTransId);
+ if(super.getLastTransId()==null)
+ super.setLastTransId(createdTransId);
+ }
}
Modified: trunk/src/java/org/tigris/scarab/util/xmlissues/ScarabIssues.java
Url: http://scarab.tigris.org/source/browse/scarab/trunk/src/java/org/tigris/scarab/util/xmlissues/ScarabIssues.java?view=diff&rev=10490&p1=trunk/src/java/org/tigris/scarab/util/xmlissues/ScarabIssues.java&p2=trunk/src/java/org/tigris/scarab/util/xmlissues/ScarabIssues.java&r1=10489&r2=10490
==============================================================================
--- trunk/src/java/org/tigris/scarab/util/xmlissues/ScarabIssues.java (original)
+++ trunk/src/java/org/tigris/scarab/util/xmlissues/ScarabIssues.java 2007-12-05 09:13:33-0800
@@ -907,7 +907,6 @@
issueOM.setFederatedId(id);
}
// create the issue in the database
- issueOM.save();
// Add the mapping between the issue id and the id that was created.
// This mapping is used dependency checking and printing out in
lmpx.com only provides a reader for public news (NNTP) servers. It is not
affiliated with the servers or forums shown here and is not responsible for
the content of articles, which is written by their respective authors.