]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet.graph/src/org/simantics/spreadsheet/graph/synchronization/LineUpdater.java
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / src / org / simantics / spreadsheet / graph / synchronization / LineUpdater.java
1 package org.simantics.spreadsheet.graph.synchronization;\r
2 \r
3 import java.util.Collection;\r
4 import java.util.Map;\r
5 \r
6 import org.simantics.databoard.adapter.AdaptException;\r
7 import org.simantics.databoard.binding.mutable.Variant;\r
8 import org.simantics.spreadsheet.graph.function.LineContentBean;\r
9 import org.simantics.structural.synchronization.base.CommandBuilder;\r
10 import org.simantics.structural.synchronization.base.ModuleUpdateContext;\r
11 import org.simantics.structural.synchronization.base.ModuleUpdaterBase;\r
12 import org.simantics.structural.synchronization.base.PropertyUpdateRule;\r
13 import org.simantics.structural.synchronization.base.Solver;\r
14 \r
15 public class LineUpdater extends ModuleUpdaterBase<SheetLineComponent> {\r
16         \r
17         public LineUpdater(String id) {\r
18                 super(id);\r
19                 addPropertyUpdateRule(new PropertyUpdateRule<SheetLineComponent>() {\r
20                         \r
21                         @Override\r
22                         public String getPropertyName() {\r
23                                 return "content";\r
24                         }\r
25                         \r
26                         @Override\r
27                         public void apply(ModuleUpdateContext<SheetLineComponent> context, boolean isCreating,\r
28                                         Map<String, Variant> propertyMap, Map<String, Collection<String>> connectionMap, Variant value) {\r
29                                 \r
30                                 LineCommandBuilder builder = context.<LineCommandBuilder>getConcreteCommand();\r
31                 try {\r
32                     LineContentBean valuee = (LineContentBean) value.getValue(LineContentBean.BINDING);\r
33                     builder.bean = valuee;\r
34                 } catch (AdaptException e) {\r
35                     e.printStackTrace();\r
36                 } catch (ClassCastException e) {\r
37                     e.printStackTrace();\r
38                 }\r
39 //                              if (valuee instanceof LineContentBean)\r
40 //                          \r
41 //                      else\r
42 //                          System.err.println("valuee is instanceof " + valuee.getClass().getSimpleName() + " " + valuee);\r
43                         \r
44                         }\r
45                         \r
46                 });\r
47         }\r
48 \r
49         @Override\r
50         public CommandBuilder createAddCommandBuilder(String name) {\r
51                 return new LineCommandBuilder(name, false);\r
52         }\r
53 \r
54         @Override\r
55         public CommandBuilder createUpdateCommandBuilder(String name) {\r
56                 return new LineCommandBuilder(name, true);\r
57         }\r
58         \r
59 }