001package org.kuali.ole.describe.service.impl;
002
003import org.kuali.ole.describe.service.ExternalDSConfigMaintenanceDocumentService;
004import org.kuali.rice.krad.maintenance.MaintenanceDocument;
005import org.kuali.rice.krad.service.impl.MaintenanceDocumentServiceImpl;
006import org.kuali.rice.krad.util.ObjectUtils;
007
008import java.io.Serializable;
009import java.util.Map;
010
011/**
012 * Created with IntelliJ IDEA.
013 * User: PJ7789
014 * Date: 10/12/12
015 * Time: 5:34 PM
016 * To change this template use File | Settings | File Templates.
017 */
018public class ExternalDSConfigMaintenanceDocumentServiceImpl
019        extends MaintenanceDocumentServiceImpl
020        implements ExternalDSConfigMaintenanceDocumentService {
021
022    /**
023     * @see org.kuali.rice.krad.service.impl.MaintenanceDocumentServiceImpl#setupMaintenanceObject
024     */
025    /**
026     * This method creates maintenance object for delete operation using maintenanceAction.
027     *
028     * @param document
029     * @param maintenanceAction
030     * @param requestParameters
031     */
032    public void setupMaintenanceObjectForDelete(MaintenanceDocument document, String maintenanceAction,
033                                                Map<String, String[]> requestParameters) {
034        document.getNewMaintainableObject().setMaintenanceAction(maintenanceAction);
035        document.getOldMaintainableObject().setMaintenanceAction(maintenanceAction);
036
037        Object oldDataObject = retrieveObjectForMaintenance(document, requestParameters);
038        Object newDataObject = ObjectUtils.deepCopy((Serializable) oldDataObject);
039
040        document.getOldMaintainableObject().setDataObject(oldDataObject);
041        document.getNewMaintainableObject().setDataObject(newDataObject);
042    }
043}