Revision 46956 trunk/org.gvsig.desktop/org.gvsig.desktop.compat.cdc/org.gvsig.fmap.dal/org.gvsig.fmap.dal.impl/src/main/java/org/gvsig/fmap/dal/feature/impl/featurereference/FeatureReferencePK.java

View differences:

FeatureReferencePK.java
20 20
import org.gvsig.fmap.dal.feature.spi.FeatureProvider;
21 21
import org.gvsig.fmap.dal.feature.spi.FeatureReferenceProviderServices;
22 22
import org.gvsig.json.Json;
23
import org.gvsig.json.JsonArrayBuilder;
23 24
import org.gvsig.json.JsonObjectBuilder;
24 25
import org.gvsig.tools.persistence.Persistent;
25 26
import org.gvsig.tools.persistence.PersistentState;
......
132 133

  
133 134
    @Override
134 135
    public String getCode() {
135
        JsonObjectBuilder builder = Json.createObjectBuilder();
136
        builder.add("type", PK_TYPE);
137
        if (this.pk == null) {
138
            builder.add("size", -1);
139
            builder.addNull("names");
140
            builder.addNull("values");
141
        } else {
142
            builder.add("size", pkNames.length);
143
            builder.add("names", this.pkNames);
144
            builder.add("values", this.pk);
145
        }
146

  
147
        String s = builder.toString();
136
        String s = toJsonBuilder().toString();
148 137
        String r = Base64.getEncoder().encodeToString(s.getBytes());
149 138
        return r;
150 139
    }
......
235 224
        return myHashCode;
236 225
    }
237 226

  
227
    @Override
228
    public JsonObjectBuilder toJsonBuilder() {
229
        JsonObjectBuilder builder = Json.createObjectBuilder();
230
        builder.add("type", PK_TYPE);
231
        if (this.pk == null) {
232
            builder.addNull("names");
233
            builder.addNull("values");
234
        } else {
235
            JsonArrayBuilder arrayNames = Json.createArrayBuilder();
236
            JsonArrayBuilder arrayValues = Json.createArrayBuilder();
237
            for (int i = 0; i < pk.length; i++) {
238
                arrayNames.add(pkNames[i]);
239
                arrayValues.add(pk[i]);
240
            }
241
            builder.add("names", arrayNames);
242
            builder.add("values", arrayValues);
243
        }
244
        return builder;
245
    }
238 246
}

Also available in: Unified diff