Revision 44655 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/featureset/AbstractFeatureSet.java

View differences:

AbstractFeatureSet.java
23 23
 */
24 24
package org.gvsig.fmap.dal.feature.impl.featureset;
25 25

  
26
import javax.json.Json;
27
import javax.json.JsonArray;
28
import javax.json.JsonArrayBuilder;
29
import javax.json.JsonObject;
26 30
import org.gvsig.fmap.dal.DataStore;
27 31
import org.gvsig.fmap.dal.exception.DataException;
28 32
import org.gvsig.fmap.dal.feature.Feature;
29 33
import org.gvsig.fmap.dal.feature.FeatureSet;
30 34
import org.gvsig.fmap.dal.feature.FeatureStore;
35
import org.gvsig.fmap.dal.feature.impl.DefaultFeature;
31 36
import org.gvsig.fmap.dal.feature.impl.dynobjectutils.DynObjectSetFeatureSetFacade;
32 37
import org.gvsig.tools.dispose.DisposableIterator;
33 38
import org.gvsig.tools.dispose.DisposeUtils;
......
155 160
        }
156 161
    }
157 162

  
163
    public JsonArray toJSON() {
164
        // TODO: estaria bien hacer una implementacion alternativa que devolviese
165
        // un JsonArray basado en el FeatureSet/FeaturePagingHelper, asi no 
166
        // tendria que construirse en memoria el JSON entero.
167
        try {
168
            JsonArrayBuilder builder = Json.createArrayBuilder();
169
            this.accept(new Visitor() {
170
                @Override
171
                public void visit(Object obj) throws VisitCanceledException, BaseException {
172
                    DefaultFeature f = (DefaultFeature) obj;
173
                    JsonObject fjson = f.toJSON();
174
                    builder.add(fjson);
175
                }
176
            });
177
            return builder.build();        
178
        } catch (Exception ex) {
179
            throw new RuntimeException("Can't create JSON array.",ex);
180
        }
181
    }
158 182
}

Also available in: Unified diff