1
package codeminer.export.format;
3
import java.io.BufferedWriter;
4
import java.io.FileOutputStream;
5
import java.io.FileWriter;
6
import java.io.ObjectOutputStream;
7
import java.io.PrintWriter;
9
import org.eclipse.core.runtime.IPath;
10
import org.eclipse.core.runtime.IStatus;
11
import org.eclipse.core.runtime.Path;
12
import org.eclipse.core.runtime.Status;
14
import codeminer.api.AbstractExporter;
15
import codeminer.data.CodeDataChangesEvent;
16
import codeminer.main.Activator;
18
public class SerializedExporter extends AbstractExporter {
20
public final String serialExtension = "out";
21
public final String textExtension = "text";
23
public SerializedExporter() {
25
//definition du nom du job
26
setName("CodeMiner : Serialized export");
31
public boolean isExportFormat(String format) {
32
return format.toLowerCase().equals("serialized");
35
public void setParameter(String[] parameter) {
39
public void onChange(CodeDataChangesEvent evt) {
44
public IStatus init() {
46
return new Status(IStatus.OK,Activator.PLUGIN_ID,"exporter initialised");
50
public IStatus finalizeExport() {
52
IPath locationOutput = new Path(outputPath);
53
//creation des repertoire s'il en manque
54
locationOutput.toFile().mkdirs();
55
IPath pathSerial =locationOutput.append(IPath.SEPARATOR+outputNameBase+"."+serialExtension);
56
IPath pathText = locationOutput.append(IPath.SEPARATOR+outputNameBase+"."+textExtension);
59
PrintWriter outText = new PrintWriter(
61
new FileWriter(pathText.toFile())));
62
outText.print(data.toString());
65
ObjectOutputStream out;
66
FileOutputStream tmpFileOutputStream = new FileOutputStream(pathSerial.toFile());
67
out = new ObjectOutputStream(tmpFileOutputStream);
68
out.writeObject(data);
70
out.close(); // Vide aussi la sortie
73
return new Status(Status.ERROR,Activator.PLUGIN_ID,e.toString());
74
//e.printStackTrace();
77
return new Status(Status.OK,Activator.PLUGIN_ID,"Serialised export ok");