1 package org.simantics.export.core.manager;
\r
4 import java.io.IOException;
\r
5 import java.util.TreeMap;
\r
7 import org.simantics.databoard.binding.Binding;
\r
8 import org.simantics.databoard.binding.mutable.Variant;
\r
9 import org.simantics.databoard.container.DataContainer;
\r
10 import org.simantics.databoard.container.DataContainers;
\r
11 import org.simantics.db.RequestProcessor;
\r
12 import org.simantics.export.core.error.ExportException;
\r
13 import org.simantics.graph.db.TransferableGraphSource;
\r
14 import org.simantics.graph.db.TransferableGraphs;
\r
16 public class TransferableGraphWriter {
\r
18 public final File file;
\r
19 public final String format;
\r
20 public final int version;
\r
22 public TransferableGraphWriter(File file, String format, int version) {
\r
24 this.format = format;
\r
25 this.version = version;
\r
29 * Write TG to the file that is associated with this writer.
\r
33 * @throws ExportException
\r
35 public void writeFile(Binding tgBinding, Object tg) throws ExportException {
\r
37 Variant variant = new Variant(tgBinding, tg);
\r
38 DataContainer dataContainer = new DataContainer(format, version, variant);
\r
39 DataContainers.writeFile(file, dataContainer);
\r
40 } catch (IOException e) {
\r
41 throw new ExportException( "I/O Error occured: "+e.getMessage() );
\r
46 * Write from TG Source to the file that is associated with this writer.
\r
48 * @param session request processor to be used for reading the source
\r
49 * @param source TG source
\r
50 * @throws ExportException
\r
52 public void writeFile(RequestProcessor session, TransferableGraphSource source) throws ExportException
\r
54 writeFile(session, source, new TreeMap<String, Variant>());
\r
58 * Write from TG Source to the file that is associated with this writer.
\r
60 * @param session request processor to be used for reading the source
\r
61 * @param source TG source
\r
62 * @throws ExportException
\r
64 public void writeFile(RequestProcessor session, TransferableGraphSource source, TreeMap<String,Variant> metadata) throws ExportException
\r
67 TransferableGraphs.writeTransferableGraph(
\r
74 } catch (Exception e) {
\r
75 throw new ExportException(e);
\r