]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.db.testing/src/org/simantics/db/testing/common/WriteCommand.java
Added missing org.simantics.db.{tests,testing} plug-ins.
[simantics/platform.git] / bundles / org.simantics.db.testing / src / org / simantics / db / testing / common / WriteCommand.java
1 package org.simantics.db.testing.common;
2
3 import org.simantics.Simantics;
4 import org.simantics.db.WriteGraph;
5 import org.simantics.db.common.request.WriteRequest;
6 import org.simantics.db.exception.DatabaseException;
7
8 abstract public class WriteCommand<T extends CommandSequenceEnvironment> extends Command<T> {
9
10         @Override
11         public void run(final T environment) throws Exception {
12                 Simantics.getSession().sync(new WriteRequest() {
13
14                         @Override
15                         public void perform(WriteGraph graph) throws DatabaseException {
16                                 WriteCommand.this.run(graph, environment);
17                         }
18                         
19                         @Override
20                         public String toString() {
21                                 return WriteCommand.this.toString();
22                         }
23                         
24                 });
25                 afterRun(environment);
26         }
27         
28         protected void run(WriteGraph graph, T environment) throws DatabaseException {
29                 
30         }
31         
32         protected void afterRun(T environment) throws Exception {
33                 
34         }
35
36         @Override
37         public String toString() {
38                 return "WriteCommand " + getClass().getSimpleName();
39         }
40         
41 }