Hi Tim,

I worked with Bill locally on the issue yesterday. The null pointer happens
because the orphaned item does not have a collection and thus cannot be
deleted from that collection.  This goes back to that whole argument about
items only being able to be removed/deleted from thier containing
collections.  It just doesn't make sense. Items should be deletable by the
application directly, clearing their references in other containers should
happen afterward this in the transaction and be conditional on their
actually existing in those containers. (collection, workspace and workflow).
Folks don't get it that Item is the aggregate root, not Collection, an Item
may he associated with 3 different containers (collection, workspace,
workflow) thus none of these are.its aggregate root.

Ideally we should be writing buisness services that are responsible for
clearing all the constraints on a item when it is deleted. If folks want to
customize dspace adding more constraints, they can, as long as they write in
a manner that contributes proper actions within the transactional window.
Ironically, we designed all this already in dspace 2.0 request services and
the request interceptors.  It just needs to be properly implemented for the
legacy domain model. Sadly the minor api changes to get that started in the
next development cycle were shot down because folks just don't get what we
are trying to do here.

Finally, if we do want to do DSpace on Fedora, we need to clear this issue
because in Fedora, Collections are not aggregate roots. Fedora objects are.

Mark
 On Sep 9, 2011 9:56 AM, "Tim Donohue" <tdono...@duraspace.org> wrote:
> Hi Bill,
>
> I'm curious, what are the details of the NullPointerException which is
> thrown when you attempt to delete/withdraw these items from the UI? That
> might give some clue as to what is missing from these items, and how
> best to "temporarily fix" them to expunge them completely.
>
> For example, if the NullPointer has to do with the missing handle, then
> it might be easiest to assign them a handle manually, so that they can
> be removed via the UI. Otherwise, you are correct, you may need to dig
> into the database to figure out the proper SQL query to clean them up
> (but that is potentially messy for the reasons you mentioned). If you
> do dig into SQL, obviously make sure to backup the DB first.
>
> - Tim
>
> On 9/7/2011 10:57 AM, Ingram, William A wrote:
>> Hi folks,
>>
>> I have a couple items in my repository that somehow managed to be
ingested without handles. They come up in searches, and are always listed at
the top of the recent item list, but are not browsable. I do know the item
IDs, but trying to withdraw or expunge the items throws a null pointer
exception.
>>
>> Does anyone know how to safely delete these? I am hesitant to simply
remove them from the item table because the item_id is a foreign key in so
many other tables. Would it be better to assign them a handle first, and
then expunge them through the gui? If so, how?
>>
>> Any thoughts/experience?
>>
>> Thanks,
>> Bill
>>
>> --
>> Bill Ingram
>> Research Programmer
>> Scholarly Communication and Repository Services
>> University of Illinois at Urbana-Champaign
>>
>>
------------------------------------------------------------------------------
>> Using storage to extend the benefits of virtualization and iSCSI
>> Virtualization increases hardware utilization and delivers a new level of
>> agility. Learn what those decisions are and how to modernize your storage
>> and backup environments for virtualization.
>> http://www.accelacomm.com/jaw/sfnl/114/51434361/
>> _______________________________________________
>> DSpace-tech mailing list
>> DSpace-tech@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/dspace-tech
>
>
------------------------------------------------------------------------------
> Why Cloud-Based Security and Archiving Make Sense
> Osterman Research conducted this study that outlines how and why cloud
> computing security and archiving is rapidly being adopted across the IT
> space for its ease of implementation, lower cost, and increased
> reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/
> _______________________________________________
> DSpace-tech mailing list
> DSpace-tech@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/dspace-tech
------------------------------------------------------------------------------
Why Cloud-Based Security and Archiving Make Sense
Osterman Research conducted this study that outlines how and why cloud
computing security and archiving is rapidly being adopted across the IT 
space for its ease of implementation, lower cost, and increased 
reliability. Learn more. http://www.accelacomm.com/jaw/sfnl/114/51425301/
_______________________________________________
DSpace-tech mailing list
DSpace-tech@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dspace-tech

Reply via email to