Revision 058a92f1
Added by Andreas Müller over 1 year ago
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/io/ExportManager.java | ||
---|---|---|
23 | 23 |
import java.util.zip.ZipEntry; |
24 | 24 |
import java.util.zip.ZipOutputStream; |
25 | 25 |
|
26 |
import org.apache.logging.log4j.LogManager;import org.apache.logging.log4j.Logger; |
|
26 |
import org.apache.logging.log4j.LogManager; |
|
27 |
import org.apache.logging.log4j.Logger; |
|
27 | 28 |
import org.eclipse.core.runtime.Assert; |
28 | 29 |
import org.eclipse.core.runtime.IProgressMonitor; |
29 | 30 |
import org.eclipse.core.runtime.IStatus; |
... | ... | |
36 | 37 |
import eu.etaxonomy.cdm.api.application.ICdmRepository; |
37 | 38 |
import eu.etaxonomy.cdm.common.monitor.IRemotingProgressMonitor; |
38 | 39 |
import eu.etaxonomy.cdm.io.cdmLight.CdmLightExportConfigurator; |
39 |
import eu.etaxonomy.cdm.io.common.CdmDefaultExport; |
|
40 | 40 |
import eu.etaxonomy.cdm.io.common.ExportDataWrapper; |
41 | 41 |
import eu.etaxonomy.cdm.io.common.ExportResult; |
42 | 42 |
import eu.etaxonomy.cdm.io.common.ExportResultType; |
... | ... | |
46 | 46 |
import eu.etaxonomy.cdm.io.jaxb.JaxbExportConfigurator; |
47 | 47 |
import eu.etaxonomy.cdm.io.sdd.out.SDDExportConfigurator; |
48 | 48 |
import eu.etaxonomy.cdm.io.service.IIOService; |
49 |
import eu.etaxonomy.taxeditor.event.EventUtility; |
|
50 | 49 |
import eu.etaxonomy.taxeditor.model.AbstractUtility; |
51 | 50 |
import eu.etaxonomy.taxeditor.model.CdmProgressMonitorAdapter; |
52 | 51 |
import eu.etaxonomy.taxeditor.model.MessagingUtils; |
... | ... | |
56 | 55 |
import eu.etaxonomy.taxeditor.store.internal.TaxeditorStorePlugin; |
57 | 56 |
|
58 | 57 |
/** |
59 |
* |
|
60 | 58 |
* @author n.hoffmann |
61 | 59 |
* @created Sep 11, 2009 |
62 | 60 |
*/ |
... | ... | |
64 | 62 |
extends AbstractIOManager<IExportConfigurator> |
65 | 63 |
implements IPostMoniteredOperationEnabled { |
66 | 64 |
|
67 |
private static final Logger logger = LogManager.getLogger(ExportManager.class); |
|
65 |
private static final Logger logger = LogManager.getLogger(); |
|
66 |
|
|
68 | 67 |
/** Constant <code>DATE_FORMAT_NOW="yyyyMMddHHmm"</code> */ |
69 | 68 |
public static final String DATE_FORMAT_NOW = "yyyyMMddHHmm"; |
70 | 69 |
|
... | ... | |
79 | 78 |
return new ExportManager(applicationConfiguration); |
80 | 79 |
} |
81 | 80 |
|
82 |
@Override |
|
83 |
protected Job createIOJob(final IExportConfigurator configurator) { |
|
84 |
|
|
85 |
Assert.isNotNull(configurator, "Configuration may not be null"); |
|
86 |
|
|
87 |
final Display display = Display.getCurrent(); |
|
88 |
|
|
89 |
Job job = new Job("Export: " + configurator.getClass().getSimpleName()) { |
|
90 |
@Override |
|
91 |
protected IStatus run(IProgressMonitor monitor) { |
|
92 |
monitor.beginTask( |
|
93 |
"Exporting database. This will take some time.", 100); |
|
94 |
monitor.worked(10); |
|
95 |
|
|
96 |
/** see ticket # 4456 and */ |
|
97 |
// display.asyncExec(new Runnable() { |
|
81 |
// @Override |
|
82 |
// protected Job createIOJob(final IExportConfigurator configurator) { |
|
98 | 83 |
// |
99 |
// @Override |
|
100 |
// public void run() { |
|
84 |
// Assert.isNotNull(configurator, "Configuration may not be null"); |
|
101 | 85 |
// |
102 |
// // terminate any open transactions
|
|
103 |
// IConversationEnabled activePart = (IConversationEnabled) StoreUtil
|
|
104 |
// .getActivePage().getActivePart();
|
|
105 |
// activePart.getConversationHolder().commit(false);
|
|
106 |
// }
|
|
107 |
// });
|
|
108 |
|
|
86 |
// final Display display = Display.getCurrent();
|
|
87 |
// |
|
88 |
// Job job = new Job("Export: " + configurator.getClass().getSimpleName()) {
|
|
89 |
// @Override
|
|
90 |
// protected IStatus run(IProgressMonitor monitor) {
|
|
91 |
// monitor.beginTask(
|
|
92 |
// "Exporting database. This will take some time.", 100); |
|
109 | 93 |
// monitor.worked(10); |
110 |
|
|
111 |
CdmDefaultExport<IExportConfigurator> exporter = new CdmDefaultExport<>(); |
|
112 |
configurator.setProgressMonitor(CdmProgressMonitorAdapter |
|
113 |
.CreateSubMonitor(monitor, 80)); |
|
114 |
exporter.setCdmAppController(applicationConfiguration); |
|
115 |
monitor.worked(10); |
|
116 |
|
|
117 |
try { |
|
118 |
exporter.invoke(configurator); |
|
119 |
monitor.worked(60); |
|
120 |
} catch (RuntimeException e) { |
|
121 |
MessagingUtils.messageDialog("Error exporting data", this, |
|
122 |
"An error occurred while" |
|
123 |
+ "exporting to destination '" |
|
124 |
+ configurator.getDestinationNameString() |
|
125 |
+ "'.\n" |
|
126 |
+ "Please check error log for details.", e); |
|
127 |
} |
|
128 |
|
|
129 |
// display.asyncExec(()-> { |
|
130 |
// Object activePart = EventUtility.getActivePart(); |
|
131 |
// if (activePart instanceof IConversationEnabled) { |
|
132 |
// // terminate any open transactions |
|
133 |
// IConversationEnabled conversationEnabled = (IConversationEnabled) activePart; |
|
134 |
// // restarting transaction and committing it to |
|
135 |
// // trigger |
|
136 |
// // change listener |
|
137 |
// // TODO verify correct behaviour |
|
138 | 94 |
// |
139 |
// try{ |
|
140 |
// conversationEnabled.getConversationHolder() |
|
141 |
// .startTransaction(); |
|
95 |
// /** see ticket # 4456 and */ |
|
96 |
//// display.asyncExec(new Runnable() { |
|
97 |
//// |
|
98 |
//// @Override |
|
99 |
//// public void run() { |
|
100 |
//// |
|
101 |
//// // terminate any open transactions |
|
102 |
//// IConversationEnabled activePart = (IConversationEnabled) StoreUtil |
|
103 |
//// .getActivePage().getActivePart(); |
|
104 |
//// activePart.getConversationHolder().commit(false); |
|
105 |
//// } |
|
106 |
//// }); |
|
142 | 107 |
// |
143 |
// conversationEnabled.getConversationHolder() |
|
144 |
// .commit(); |
|
145 |
// }catch(RuntimeException e){ |
|
146 |
// MessagingUtils.messageDialog("Error starting conversation handling", this, "" + |
|
147 |
// "Conversation Error: "+ e); |
|
148 |
// } |
|
149 |
// } |
|
150 |
// }); |
|
151 |
monitor.worked(10); |
|
152 |
|
|
153 |
return Status.OK_STATUS; |
|
154 |
} |
|
155 |
}; |
|
156 |
|
|
157 |
return job; |
|
158 |
} |
|
108 |
//// monitor.worked(10); |
|
109 |
// |
|
110 |
// CdmDefaultExport<IExportConfigurator> exporter = new CdmDefaultExport<>(); |
|
111 |
// configurator.setProgressMonitor(CdmProgressMonitorAdapter |
|
112 |
// .CreateSubMonitor(monitor, 80)); |
|
113 |
// exporter.setCdmAppController(applicationConfiguration); |
|
114 |
// monitor.worked(10); |
|
115 |
// |
|
116 |
// try { |
|
117 |
// exporter.invoke(configurator); |
|
118 |
// monitor.worked(60); |
|
119 |
// } catch (RuntimeException e) { |
|
120 |
// MessagingUtils.messageDialog("Error exporting data", this, |
|
121 |
// "An error occurred while" |
|
122 |
// + "exporting to destination '" |
|
123 |
// + configurator.getDestinationNameString() |
|
124 |
// + "'.\n" |
|
125 |
// + "Please check error log for details.", e); |
|
126 |
// } |
|
127 |
// |
|
128 |
//// display.asyncExec(()-> { |
|
129 |
//// Object activePart = EventUtility.getActivePart(); |
|
130 |
//// if (activePart instanceof IConversationEnabled) { |
|
131 |
//// // terminate any open transactions |
|
132 |
//// IConversationEnabled conversationEnabled = (IConversationEnabled) activePart; |
|
133 |
//// // restarting transaction and committing it to |
|
134 |
//// // trigger |
|
135 |
//// // change listener |
|
136 |
//// // TODO verify correct behaviour |
|
137 |
//// |
|
138 |
//// try{ |
|
139 |
//// conversationEnabled.getConversationHolder() |
|
140 |
//// .startTransaction(); |
|
141 |
//// |
|
142 |
//// conversationEnabled.getConversationHolder() |
|
143 |
//// .commit(); |
|
144 |
//// }catch(RuntimeException e){ |
|
145 |
//// MessagingUtils.messageDialog("Error starting conversation handling", this, "" + |
|
146 |
//// "Conversation Error: "+ e); |
|
147 |
//// } |
|
148 |
//// } |
|
149 |
//// }); |
|
150 |
// monitor.worked(10); |
|
151 |
// |
|
152 |
// return Status.OK_STATUS; |
|
153 |
// } |
|
154 |
// }; |
|
155 |
// |
|
156 |
// return job; |
|
157 |
// } |
|
159 | 158 |
|
160 | 159 |
public Job createIOServiceJob(final IExportConfigurator configurator, final File exportFile) { |
161 | 160 |
Assert.isNotNull(configurator, "Configuration may not be null"); |
Also available in: Unified diff
ref #10189 split CdmApplicationController into repository and application part in TaxEditor