goobi/goobi-production — pull request #212 by matthias-ronge (2014-09-29 14:41:11+00:00)
Title: Merge:  [ZM] Finalising a step throws a NullPointerException (#211)

Null pointer exception arised because a method trying to access the database without Hibernate tried to query the column “BatchID” which ceased to exist long time ago, then silently failed and returned null instead. The value it was trying to retrieve was never used anymore. While testing the change other issues arised, so this change now provides a redesign of the batch feature which imposed more and more by the development of export features being based on batches, since assignments of processes to several batches led to no more working batch steps. Along with the change, some Hibernate caching issues have been removed.

Batches are now distinguished by a type, which can be one of logistics, newspaper, or serial publication. Batch steps will operate on logistics batches only, while newspaper and serial publication batches will provide DMS export for the complete edition of newspapers and serial publication, respectively, providing the feature to create cross-links to the other issues in the anchor files while exporting. A process can now belong to export batches as well as a logistics batch without that the assignment to export batches blocks the use of batch steps any more.

The database needs to be updated:
``` sql
ALTER TABLE `batches` ADD `type` varchar(9) DEFAULT NULL;
UPDATE `batches` SET `type` = 'LOGISTIC';
```

Prerequisite: Development of this bug-fix needs to be based on #173 *Extend batch export to DMS for multi-volume works*