Revision 47723

View differences:

trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/test/java/org/gvsig/fmap/dal/feature/impl/rule/RuleExpressionTest.java
1
package org.gvsig.fmap.dal.feature.impl.rule;
2

  
3
import javax.json.JsonObject;
4
import org.gvsig.expressionevaluator.ExpressionUtils;
5
import static org.gvsig.fmap.dal.feature.FeatureRule.CHECK_WHEN_USER_EDIT_FEATURE;
6
import org.gvsig.fmap.dal.feature.FeatureRuleExpression;
7
import org.gvsig.fmap.dal.feature.FeatureRules;
8
import org.gvsig.fmap.dal.feature.impl.DefaultFeatureRules;
9
import org.gvsig.json.Json;
10
import org.gvsig.json.SupportJson;
11
import org.gvsig.tools.junit.AbstractLibraryAutoInitTestCase;
12

  
13
public class RuleExpressionTest extends AbstractLibraryAutoInitTestCase {
14
    
15
    @Override
16
    protected void doSetUp() throws Exception {
17

  
18
    }
19
    
20
    public void testRuleExpressionToJson() {
21
        
22
        FeatureRules rules = new DefaultFeatureRules();
23
        
24
        rules.add("test", null, false, false, ExpressionUtils.createExpression("TRUE"));
25
        FeatureRuleExpression rule = (FeatureRuleExpression) rules.get(0);
26
        rule.setCheckWhen(CHECK_WHEN_USER_EDIT_FEATURE);
27
        
28
        String jsons = ((SupportJson)rules).toJson().toString();
29
        String expected = "\n" +
30
                "{\n" +
31
                "    \"__classname__\":\"org.gvsig.fmap.dal.feature.impl.DefaultFeatureRules\",\n" +
32
                "    \"items\":[\n" +
33
                "        {\n" +
34
                "            \"__classname__\":\"org.gvsig.expressionevaluator.impl.DefaultFeatureRuleExpression\",\n" +
35
                "            \"name\":\"test\",\n" +
36
                "            \"description\":null,\n" +
37
                "            \"checkWhen\":4,\n" +
38
                "            \"checkAtFinishEdition\":false,\n" +
39
                "            \"checkAtUpdate\":false,\n" +
40
                "            \"expression\":\"TRUE\"\n" +
41
                "        }\n" +
42
                "    ]\n" +
43
                "}";
44
        assertEquals(expected, jsons);
45
    }
46

  
47
    public void testRuleExpressionFromJson() {
48
        
49
        FeatureRules rules = new DefaultFeatureRules();
50
        
51
        String rules_jsons = "\n" +
52
                "{\n" +
53
                "    \"__classname__\":\"org.gvsig.fmap.dal.feature.impl.DefaultFeatureRules\",\n" +
54
                "    \"items\":[\n" +
55
                "        {\n" +
56
                "            \"__classname__\":\"org.gvsig.expressionevaluator.impl.DefaultFeatureRuleExpression\",\n" +
57
                "            \"name\":\"test\",\n" +
58
                "            \"description\":null,\n" +
59
                "            \"checkWhen\":4,\n" +
60
                "            \"checkAtFinishEdition\":false,\n" +
61
                "            \"checkAtUpdate\":false,\n" +
62
                "            \"expression\":\"TRUE\"\n" +
63
                "        }\n" +
64
                "    ]\n" +
65
                "}";
66
        JsonObject rules_json = Json.createObject(rules_jsons);
67
        ((SupportJson)rules).fromJson(rules_json);
68

  
69
//        String s = ((SupportJson)rules).toJson().toString();
70
//        assertEquals(rules_jsons, s);
71

  
72
        assertEquals(1, rules.size());
73

  
74
        FeatureRuleExpression rule = (FeatureRuleExpression) rules.get(0);
75
        assertEquals(false, rule.checkAtFinishEditing());
76
        assertEquals(false, rule.checkAtUpdate());
77
        assertEquals(true, rule.checkWhen(CHECK_WHEN_USER_EDIT_FEATURE));
78
        assertEquals("test", rule.getName());
79
        assertEquals(null, rule.getDescription());
80
        assertEquals("TRUE", rule.getExpression().getPhrase());
81
    }
82

  
83

  
84
}
trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/expressionevaluator/impl/DefaultFeatureRuleExpression.java
99 99
    
100 100
    
101 101
    public static void selfRegister() {
102
        Json.registerSerializer(FeatureRuleExpression.class);
102
        Json.registerSerializer(DefaultFeatureRuleExpression.class);
103 103
        registerPersistenceDefinition();
104 104

  
105 105
    }
......
200 200
    public void fromJson(JsonObject json) {
201 201
        this.name = json.getString("name");
202 202
        this.description = json.getString("description");
203
        this.checkwhen.set(json.getInt("checkwhen", 0));
203
        this.checkwhen.set(json.getInt("checkWhen", 0));
204 204
        if( json.getBoolean("checkAtFinishEdition", false) ) {
205 205
            this.checkwhen.setBits(CHECK_WHEN_FINISH_EDITING);
206 206
        }

Also available in: Unified diff