/******************************************************************************* * Copyright (c) 2010, G. Weirich * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * G. Weirich - initial implementation * * * *******************************************************************************/ package elexis_db_shaker.actions; import java.util.List; import org.eclipse.core.runtime.IProgressMonitor; import ch.elexis.core.data.interfaces.text.IOpaqueDocument; import ch.elexis.core.data.services.GlobalServiceDescriptors; import ch.elexis.core.data.services.IDocumentManager; import ch.elexis.core.data.util.Extensions; import ch.elexis.core.exceptions.ElexisException; import ch.elexis.data.Brief; import ch.elexis.data.Query; public class DocumentRemover { void run(IProgressMonitor monitor, int i){ monitor.subTask("Lösche Dokumente"); Query<Brief> qbe = new Query<Brief>(Brief.class); for (Brief brief : qbe.execute()) { brief.delete(); } monitor.worked(i / 2); Object os = Extensions.findBestService(GlobalServiceDescriptors.DOCUMENT_MANAGEMENT); if (os != null) { IDocumentManager dm = (IDocumentManager) os; try { List<IOpaqueDocument> documents = dm.listDocuments(null, null, null, null, null, null); for (IOpaqueDocument doc : documents) { dm.removeDocument(doc.getGUID()); } } catch (ElexisException e) { e.printStackTrace(); } } monitor.worked(i / 2); } }