/** * */ package ch.fhzh.info2.processor.impl.common; import ch.fhzh.info2.document.Document; import ch.fhzh.info2.document.DocumentImpl; import ch.fhzh.info2.document.Item; import ch.fhzh.info2.document.ItemImpl; import ch.fhzh.info2.processor.DocumentProcessor; import ch.fhzh.info2.processor.DocumentProcessorException; /** * Creates a new instance of document and * copies all values of submitted document onto * it to create an exact copy. * * @author bseelige * */ public class CopyDocumentProcessor implements DocumentProcessor { /* (non-Javadoc) * @see ch.fhzh.info2.processor.DocumentProcessor#processDocument(ch.fhzh.info2.document.Document) */ public Document processDocument(Document orig) throws DocumentProcessorException { Document copy = new DocumentImpl(); copy.setId(orig.getId()); // TODO copy all document fields if (null == orig.getItems()) { copy.setItems(null); return copy; } for (Item origItem : orig.getItems()) { Item copyItem = new ItemImpl(); copyItem.setId(origItem.getId()); // TODO copy all values from item copy.addItem(copyItem); } return copy; } }