~codeminer.team/codeminer/eclipse

« back to all changes in this revision

Viewing changes to CodeMinerEtape3/src/codeminer/export/format/SerializedExporter.java

  • Committer: Sébastien Heymann
  • Date: 2009-04-05 15:53:17 UTC
  • Revision ID: sebastien@chartreuse-one-20090405155317-s9w2ilbgpg3g2om3
Refactoring

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
package codeminer.export.format;
2
 
 
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;
8
 
 
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;
13
 
 
14
 
import codeminer.api.AbstractExporter;
15
 
import codeminer.data.CodeDataChangesEvent;
16
 
import codeminer.main.Activator;
17
 
 
18
 
public class SerializedExporter extends AbstractExporter {
19
 
 
20
 
        public final String serialExtension = "out";
21
 
        public final String textExtension = "text";
22
 
        
23
 
        public SerializedExporter() {
24
 
                super();
25
 
                //definition du nom du job
26
 
                setName("CodeMiner : Serialized export");
27
 
        }
28
 
 
29
 
 
30
 
 
31
 
        public boolean isExportFormat(String format) {
32
 
                return format.toLowerCase().equals("serialized");
33
 
        }
34
 
 
35
 
        public void setParameter(String[] parameter) {
36
 
 
37
 
        }
38
 
 
39
 
        public void onChange(CodeDataChangesEvent evt) {
40
 
                
41
 
        }
42
 
 
43
 
        @Override
44
 
        public IStatus init() {
45
 
                
46
 
                return new Status(IStatus.OK,Activator.PLUGIN_ID,"exporter initialised");
47
 
        }
48
 
        
49
 
        @Override
50
 
        public IStatus finalizeExport() {
51
 
                
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);
57
 
 
58
 
        try {
59
 
                PrintWriter outText = new PrintWriter(
60
 
                            new BufferedWriter(
61
 
                                        new FileWriter(pathText.toFile())));
62
 
            outText.print(data.toString());
63
 
            outText.close();
64
 
 
65
 
            ObjectOutputStream out; 
66
 
            FileOutputStream tmpFileOutputStream = new FileOutputStream(pathSerial.toFile());
67
 
            out = new ObjectOutputStream(tmpFileOutputStream);
68
 
            out.writeObject(data);      
69
 
 
70
 
            out.close(); // Vide aussi la sortie
71
 
        } 
72
 
        catch (Exception e) {
73
 
                return new Status(Status.ERROR,Activator.PLUGIN_ID,e.toString());
74
 
                //e.printStackTrace();
75
 
        } 
76
 
                
77
 
                return new Status(Status.OK,Activator.PLUGIN_ID,"Serialised export ok");
78
 
        }
79
 
 
80
 
}