Skip to content

Commit

Permalink
Replace Jettison libraries with JSONP (JSR-353)
Browse files Browse the repository at this point in the history
Signed-off-by: Erik Merkle <emerkle@boundlessgeo.com>
  • Loading branch information
Erik Merkle committed Oct 26, 2016
1 parent 081b0dd commit e449d53
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 25 deletions.
Expand Up @@ -4,7 +4,7 @@
*/ */
package org.geogig.geoserver.rest; package org.geogig.geoserver.rest;


import static org.locationtech.geogig.rest.repository.RESTUtils.getStringAttribute; import static org.locationtech.geogig.web.api.RESTUtils.getStringAttribute;


import java.io.IOException; import java.io.IOException;
import java.net.URI; import java.net.URI;
Expand Down
Expand Up @@ -4,7 +4,7 @@
*/ */
package org.geogig.geoserver.rest; package org.geogig.geoserver.rest;


import static org.locationtech.geogig.rest.repository.RESTUtils.getStringAttribute; import static org.locationtech.geogig.web.api.RESTUtils.getStringAttribute;
import static org.restlet.data.Status.CLIENT_ERROR_BAD_REQUEST; import static org.restlet.data.Status.CLIENT_ERROR_BAD_REQUEST;


import java.io.File; import java.io.File;
Expand Down
Expand Up @@ -6,21 +6,20 @@


import static org.locationtech.geogig.rest.Variants.JSON; import static org.locationtech.geogig.rest.Variants.JSON;
import static org.locationtech.geogig.rest.Variants.XML; import static org.locationtech.geogig.rest.Variants.XML;
import static org.locationtech.geogig.rest.repository.RESTUtils.repositoryProvider; import static org.locationtech.geogig.web.api.RESTUtils.repositoryProvider;


import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;

import org.geogig.geoserver.config.RepositoryInfo; import org.geogig.geoserver.config.RepositoryInfo;
import org.geoserver.rest.PageInfo; import org.geoserver.rest.PageInfo;
import org.geoserver.rest.format.FreemarkerFormat; import org.geoserver.rest.format.FreemarkerFormat;
import org.locationtech.geogig.rest.JettisonRepresentation; import org.locationtech.geogig.rest.StreamingWriterRepresentation;
import org.locationtech.geogig.rest.Variants; import org.locationtech.geogig.rest.Variants;
import org.locationtech.geogig.rest.repository.RepositoryProvider; import org.locationtech.geogig.rest.repository.RepositoryProvider;
import org.locationtech.geogig.web.api.StreamWriterException;
import org.locationtech.geogig.web.api.StreamingWriter;
import org.restlet.Context; import org.restlet.Context;
import org.restlet.data.MediaType; import org.restlet.data.MediaType;
import org.restlet.data.Preference; import org.restlet.data.Preference;
Expand Down Expand Up @@ -115,7 +114,7 @@ private List<RepositoryInfo> getRepositories() {
return repos; return repos;
} }


private static class RepositoryListRepresentation extends JettisonRepresentation { private static class RepositoryListRepresentation extends StreamingWriterRepresentation {


private final List<RepositoryInfo> repos; private final List<RepositoryInfo> repos;


Expand All @@ -126,22 +125,24 @@ public RepositoryListRepresentation(MediaType mediaType, String baseURL,
} }


@Override @Override
protected void write(XMLStreamWriter w) throws XMLStreamException { public void write(StreamingWriter w) throws StreamWriterException {
w.writeStartElement("repos"); w.writeStartElement("repos");
w.writeStartArray("repo");
for (RepositoryInfo repo : repos) { for (RepositoryInfo repo : repos) {
write(w, repo); write(w, repo);
} }
w.writeEndArray();
w.writeEndElement(); w.writeEndElement();
} }


private void write(XMLStreamWriter w, RepositoryInfo repo) throws XMLStreamException { private void write(StreamingWriter w, RepositoryInfo repo) throws StreamWriterException {
w.writeStartElement("repo"); w.writeStartArrayElement("repo");
element(w, "id", repo.getId()); w.writeElement("id", repo.getId());


element(w, "name", repo.getRepoName()); w.writeElement("name", repo.getRepoName());
encodeAlternateAtomLink(w, RepositoryProvider.BASE_REPOSITORY_ROUTE + "/" + encodeAlternateAtomLink(w, RepositoryProvider.BASE_REPOSITORY_ROUTE + "/" +
repo.getRepoName()); repo.getRepoName());
w.writeEndElement(); w.writeEndArrayElement();
} }


} }
Expand Down
Expand Up @@ -6,21 +6,20 @@


import static org.locationtech.geogig.rest.Variants.JSON; import static org.locationtech.geogig.rest.Variants.JSON;
import static org.locationtech.geogig.rest.Variants.XML; import static org.locationtech.geogig.rest.Variants.XML;
import static org.locationtech.geogig.rest.repository.RESTUtils.repositoryProvider; import static org.locationtech.geogig.web.api.RESTUtils.repositoryProvider;


import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;


import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;

import org.geogig.geoserver.config.RepositoryInfo; import org.geogig.geoserver.config.RepositoryInfo;
import org.geoserver.rest.PageInfo; import org.geoserver.rest.PageInfo;
import org.geoserver.rest.format.FreemarkerFormat; import org.geoserver.rest.format.FreemarkerFormat;
import org.locationtech.geogig.rest.JettisonRepresentation; import org.locationtech.geogig.rest.StreamingWriterRepresentation;
import org.locationtech.geogig.rest.RestletException; import org.locationtech.geogig.rest.RestletException;
import org.locationtech.geogig.rest.Variants; import org.locationtech.geogig.rest.Variants;
import org.locationtech.geogig.rest.repository.DeleteRepository; import org.locationtech.geogig.rest.repository.DeleteRepository;
import org.locationtech.geogig.web.api.StreamWriterException;
import org.locationtech.geogig.web.api.StreamingWriter;
import org.restlet.Context; import org.restlet.Context;
import org.restlet.data.MediaType; import org.restlet.data.MediaType;
import org.restlet.data.Preference; import org.restlet.data.Preference;
Expand Down Expand Up @@ -117,7 +116,7 @@ protected PageInfo getPageInfo() {
return (PageInfo) getRequest().getAttributes().get(PageInfo.KEY); return (PageInfo) getRequest().getAttributes().get(PageInfo.KEY);
} }


private static class RepositorytRepresentation extends JettisonRepresentation { private static class RepositorytRepresentation extends StreamingWriterRepresentation {


private final RepositoryInfo repo; private final RepositoryInfo repo;


Expand All @@ -127,11 +126,11 @@ public RepositorytRepresentation(MediaType mediaType, String baseURL, Repository
} }


@Override @Override
protected void write(XMLStreamWriter w) throws XMLStreamException { public void write(StreamingWriter w) throws StreamWriterException {
w.writeStartElement("repository"); w.writeStartElement("repository");
element(w, "id", repo.getId()); w.writeElement("id", repo.getId());
element(w, "name", repo.getRepoName()); w.writeElement("name", repo.getRepoName());
element(w, "location", repo.getLocation()); w.writeElement("location", repo.getLocation());
w.writeEndElement(); w.writeEndElement();
} }
} }
Expand Down
Expand Up @@ -6,7 +6,7 @@
Feature: Plugin list repositories Feature: Plugin list repositories
Listing all repositories on the server is done by issuing a GET request to "/repos". Listing all repositories on the server is done by issuing a GET request to "/repos".
The response should be a 200 OK and contain a list of repositories configured. For each repository The response should be a 200 OK and contain a list of repositories configured. For each repository
in the returned list, the NAME, ID a a link to the repository's info should be included. in the returned list, the NAME, ID and a link to the repository's info should be included.


Scenario: Get list of Repositories in JSON format Scenario: Get list of Repositories in JSON format
Given There is a default multirepo server Given There is a default multirepo server
Expand Down
2 changes: 2 additions & 0 deletions src/community/release/ext-geogig.xml
Expand Up @@ -40,6 +40,8 @@
<include>org.restlet.ext.fileupload-*.jar</include> <include>org.restlet.ext.fileupload-*.jar</include>
<!-- GeoTools Geopackage libs --> <!-- GeoTools Geopackage libs -->
<include>gt-geopkg-*.jar</include> <include>gt-geopkg-*.jar</include>
<!-- JSONP (JSR-353) libs -->
<include>javax.json-*.jar</include>
</includes> </includes>
<excludes> <excludes>
<exclude>*test*</exclude> <exclude>*test*</exclude>
Expand Down

0 comments on commit e449d53

Please sign in to comment.