[Building Sakai] SAM-2185 and SAM-2241

George Pipkin gpp8p at Virginia.EDU
Wed Mar 4 14:04:26 PST 2015


Hi Bryan -


    This damn thing has landed in my lap, and I've spent a day on it 
getting nowhere.  This is the one where if the student checks
"marked for review" on an MC, it bombs way down in Hibernate because it 
tries to insert a duplicate ASSESSMENTGRADINGID into
SAM_ITEMGRADING_T.  I've done a lot of tracing, and I looked at your 
patch  (SAM-2185.patch )which doesn't kill this particular error.
In your comments, you said you thought the problem revolved around 
itemGradingId, which is nulled out by your patch.  I was wondering
if you could expand a little on that.  I'm kind of lost, and I don't 
understand what's going on.  I have noticed one difference between what
happens when the mark for review boxes are checked (and it throws the 
exception) and when they are not (and it works fine):

Your patch introduces the following line at line 587 
SubmitToGradingActionListener:

             } else { // itemGrading from new set doesn't exist, add to 
set in
                 // this case
                 // log.debug("**** SubmitToGrading: need add new item");
                     //a new item should always have the grading ID set 
to null
  ---->                   newItem.setItemGradingId(null);
                 newItem.setAgentId(adata.getAgentId());
                 updateItemGradingSet.add(newItem);
             }

In the case where the mark for review boxes are not checked, this part 
of the code is traversed ONE time

In the case where the boxes are checked, it is traversed twice, and 
right before the save that generates the
exception, it is traversed four times.

I was wondering if you might have some idea if this is significant or not.

      - George Pipkin
         U.Va.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://collab.sakaiproject.org/pipermail/sakai-dev/attachments/20150304/f6fc44b5/attachment.html 


More information about the sakai-dev mailing list