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
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