Java 类javax.ws.rs.core.Variant 实例源码
项目:neo4j-sparql-extension-yars
文件:SPARQLQuery.java
/**
* Create a new SPARQL 1.1 query resource based on a repository.
*
* @param rep the repository this resources operates on
*/
public SPARQLQuery(SailRepository rep) {
super(rep);
// initialize additional result MIME-Types
queryResultVariants = Variant.mediaTypes(
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_JSON),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_XML),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_CSV),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_TSV)
).add().build();
booleanResultVariants = Variant.mediaTypes(
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_JSON),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_XML),
MediaType.valueOf(MediaType.TEXT_PLAIN)
).add().build();
// get reference to query rewriting component
this.qwfactory = QueryRewriterFactory.getInstance(rep);
// get query timeout from properties
String sout = SPARQLExtensionProps.getProperty("query.timeout");
this.timeout = Integer.parseInt(sout);
}
项目:ozark
文件:ViewResponseFilter.java
private static MediaType selectVariant(Request request, ResourceInfo resourceInfo) {
Produces produces = resourceInfo.getResourceMethod().getAnnotation(Produces.class);
if (produces == null) {
produces = getAnnotation(resourceInfo.getResourceClass(), Produces.class);
}
if (produces != null) {
List<Variant> variants = Arrays.stream(produces.value())
.map((String mt) -> Variant.mediaTypes(MediaType.valueOf(mt)).build().get(0))
.collect(Collectors.toList());
Variant variant = request.selectVariant(variants);
if (variant != null) {
return variant.getMediaType();
}
}
return null;
}
项目:nexus-public
文件:ValidationExceptionMapperSupport.java
@Override
protected Response convert(final E exception, final String id) {
final Response.ResponseBuilder builder = Response.status(getStatus(exception));
final List<ValidationErrorXO> errors = getValidationErrors(exception);
if (errors != null && !errors.isEmpty()) {
final Variant variant = getRequest().selectVariant(variants);
if (variant != null) {
builder.type(variant.getMediaType())
.entity(
new GenericEntity<List<ValidationErrorXO>>(errors)
{
@Override
public String toString() {
return getEntity().toString();
}
}
);
}
}
return builder.build();
}
项目:knowledgestore
文件:Resource.java
private Variant computeVariant(@Nullable final String mimeType) throws OperationException {
// Determine supported media types from supplied type or @Produces annotation
MediaType[] types = null;
if (mimeType != null) {
types = parseMediaTypes(mimeType);
} else {
types = new MediaType[] { MediaType.WILDCARD_TYPE };
final Method method = this.resource.getResourceMethod();
if (method != null) {
final Produces produces = method.getAnnotation(Produces.class);
if (produces != null) {
types = parseMediaTypes(produces.value());
}
}
}
// Determine supported encodings from supplied encoding or using defaults
final String[] encodings = new String[] { "identity", "gzip", "deflate" };
// Perform negotiation and return the result, failing if there is no acceptable variant
final Variant variant = this.request.selectVariant(Variant.mediaTypes(types)
.encodings(encodings).build());
check(variant != null, Outcome.Status.ERROR_NOT_ACCEPTABLE, null);
return variant;
}
项目:incubator-taverna-server
文件:DirectoryREST.java
/**
* What are we willing to serve up a directory or file as?
*
* @param de
* The reference to the object to serve.
* @return The variants we can serve it as.
* @throws FilesystemAccessException
* If we fail to read data necessary to detection of its media
* type.
*/
private List<Variant> getVariants(DirectoryEntry de)
throws FilesystemAccessException {
if (de instanceof Directory)
return DIRECTORY_VARIANTS;
else if (!(de instanceof File))
throw new FilesystemAccessException("not a directory or file!");
File f = (File) de;
List<Variant> variants = new ArrayList<>(INITIAL_FILE_VARIANTS);
String contentType = support.getEstimatedContentType(f);
if (!contentType.equals(APPLICATION_OCTET_STREAM)) {
String[] ct = contentType.split("/");
variants.add(0,
new Variant(new MediaType(ct[0], ct[1]), (String) null, null));
}
return variants;
}
项目:semanticoctopus
文件:QueryExecutorTest.java
/**
* @param baseUri
*
* @return
*
* @throws UnsupportedEncodingException
* @throws UriBuilderException
* @throws IllegalArgumentException
*/
private Invocation preparePOSTInvocationBuilder(final String mimeType, final String contentType, final String query)
throws IllegalArgumentException, UriBuilderException, UnsupportedEncodingException {
final UriBuilder baseBuilder = UriBuilder.fromUri(HOST).port(PORT);
final URI targetUri = baseBuilder.path(QueryExecutor.ENDPOINT_NAME).build();
final Client client = ClientBuilder.newClient();
final WebTarget resourceTarget = client.target(targetUri);
final Builder invocationBuilder = resourceTarget.request(mimeType);
final Entity<String> entity = Entity.entity(query,
Variant.mediaTypes(MediaType.valueOf(contentType))
.encodings("UTF-8")
.build()
.get(0),
null);
final Invocation invocation = invocationBuilder.buildPost(entity);
return invocation;
}
项目:neo4j-sparql-extension
文件:SPARQLQuery.java
/**
* Create a new SPARQL 1.1 query resource based on a repository.
*
* @param rep the repository this resources operates on
*/
public SPARQLQuery(SailRepository rep) {
super(rep);
// initialize additional result MIME-Types
queryResultVariants = Variant.mediaTypes(
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_JSON),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_XML),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_CSV),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_TSV)
).add().build();
booleanResultVariants = Variant.mediaTypes(
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_JSON),
MediaType.valueOf(RDFMediaType.SPARQL_RESULTS_XML),
MediaType.valueOf(MediaType.TEXT_PLAIN)
).add().build();
// get reference to query rewriting component
this.qwfactory = QueryRewriterFactory.getInstance(rep);
// get query timeout from properties
String sout = SPARQLExtensionProps.getProperty("query.timeout");
this.timeout = Integer.parseInt(sout);
}
项目:ldp4j
文件:OperationContextImpl.java
@Override
public OperationContext checkContents() {
List<Variant> supportedVariants=VariantUtils.defaultVariants();
if(entity()==null || entity().isEmpty()) {
throw new MissingContentException(this);
}
if(headers().getMediaType()==null) {
throw new MissingContentTypeException(this);
}
if(!VariantHelper.
forVariants(supportedVariants).
isSupported(contentVariant())) {
throw new UnsupportedContentException(this,contentVariant());
}
return this;
}
项目:ldp4j
文件:OperationContextImpl.java
@Override
public Variant expectedVariant() {
List<Variant> variants=VariantUtils.defaultVariants();
Variant variant=this.request.selectVariant(variants);
if(variant==null) {
throw new NotAcceptableException(this);
}
String acceptableCharset=acceptedCharset();
if(acceptableCharset==null) {
throw new NotAcceptableException(this);
}
return
Variant.
encodings(variant.getEncoding()).
languages(variant.getLanguage()).
mediaTypes(variant.getMediaType().withCharset(acceptableCharset)).
add().
build().
get(0);
}
项目:ldp4j
文件:ExistingEndpointController.java
private ResponseBuilder prepareRetrievalResponse(
OperationContext context,
Variant variant,
DataSet entity,
boolean includeEntity) {
String body=
context.serialize(
entity,
NamespacesHelper.
constraintReportNamespaces(
context.applicationNamespaces()),
variant.getMediaType());
ResponseBuilder builder=Response.ok();
EndpointControllerUtils.
populateResponseBody(
builder,
body,
variant,
includeEntity);
return builder;
}
项目:ldp4j
文件:ExistingEndpointController.java
private Response handleRetrieval(OperationContext context, boolean includeEntity) {
final Variant variant=context.expectedVariant();
context.
checkOperationSupport().
checkPreconditions();
switch(RetrievalScenario.forContext(context)) {
case MIXED_QUERY:
throw new MixedQueryNotAllowedException(context,includeEntity);
case QUERY_NOT_SUPPORTED:
throw new QueryingNotSupportedException(context,includeEntity);
case CONSTRAINT_REPORT_RETRIEVAL:
return handleConstraintReportRetrieval(context,includeEntity,variant);
default:
return handleResourceRetrieval(context,includeEntity,variant);
}
}
项目:take-a-REST
文件:BaseAssemblerProducer.java
protected T doProduce() {
final Request request = ResteasyProviderFactory.getContextData(Request.class);
final Variant variant = request.selectVariant(VARIANTS);
if (variant == null) {
throw new RuntimeException("Only HAL and Siren media types are supported");
}
else {
final UriInfo uriInfo = ResteasyProviderFactory.getContextData(UriInfo.class);
if (variant.getMediaType().equals(GENERIC_HAL)) {
return hal(uriInfo);
}
else {
return siren(uriInfo);
}
}
}
项目:whois
文件:WhoisRestServiceTestIntegration.java
@Test
public void create_gzip_compressed_request_and_response() throws Exception {
final Response response = RestTest.target(getPort(), "whois/test/person?password=test")
.property(ClientProperties.USE_ENCODING, "gzip")
.register(EncodingFilter.class)
.register(GZipEncoder.class)
.request()
.post(Entity.entity(map(PAULETH_PALTHEN), new Variant(MediaType.APPLICATION_XML_TYPE, (String) null, "gzip")), Response.class);
assertThat(response.getHeaderString("Content-Type"), is(MediaType.APPLICATION_XML));
assertThat(response.getHeaderString("Content-Encoding"), is("gzip"));
final WhoisResources whoisResources = response.readEntity(WhoisResources.class);
assertThat(whoisResources.getErrorMessages(), is(empty()));
final WhoisObject object = whoisResources.getWhoisObjects().get(0);
assertThat(object.getAttributes(), hasItem(new Attribute("person", "Pauleth Palthen")));
}
项目:camunda-bpm-platform
文件:TaskReportResourceImpl.java
public Response getTaskCountByCandidateGroupReport(Request request) {
Variant variant = request.selectVariant(VARIANTS);
if (variant != null) {
MediaType mediaType = variant.getMediaType();
if (MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) {
List<TaskCountByCandidateGroupResultDto> result = getTaskCountByCandidateGroupResultAsJson();
return Response.ok(result, mediaType).build();
}
else if (APPLICATION_CSV_TYPE.equals(mediaType) || TEXT_CSV_TYPE.equals(mediaType)) {
String csv = getReportResultAsCsv();
return Response
.ok(csv, mediaType)
.header("Content-Disposition", "attachment; filename=task-count-by-candidate-group.csv")
.build();
}
}
throw new InvalidRequestException(Status.NOT_ACCEPTABLE, "No acceptable content-type found");
}
项目:camunda-bpm-platform
文件:HistoricProcessInstanceRestServiceImpl.java
@Override
public Response getHistoricProcessInstancesReport(UriInfo uriInfo, Request request) {
Variant variant = request.selectVariant(VARIANTS);
if (variant != null) {
MediaType mediaType = variant.getMediaType();
if (MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) {
List<ReportResultDto> result = getReportResultAsJson(uriInfo);
return Response.ok(result, mediaType).build();
}
else if (APPLICATION_CSV_TYPE.equals(mediaType) || TEXT_CSV_TYPE.equals(mediaType)) {
String csv = getReportResultAsCsv(uriInfo);
return Response
.ok(csv, mediaType)
.header("Content-Disposition", "attachment; filename=process-instance-report.csv")
.build();
}
}
throw new InvalidRequestException(Status.NOT_ACCEPTABLE, "No acceptable content-type found");
}
项目:neo4j-sparql-extension-yars
文件:AbstractSailResource.java
/**
* Initialize result variants and save reference to repository.
* @param rep reference to repository
*/
public AbstractSailResource(SailRepository rep) {
this.rep = rep;
rdfResultVariants = Variant.mediaTypes(
MediaType.valueOf(RDFMediaType.RDF_TURTLE),
MediaType.valueOf(RDFMediaType.RDF_YARS),
MediaType.valueOf(RDFMediaType.RDF_NTRIPLES),
MediaType.valueOf(RDFMediaType.RDF_XML),
MediaType.valueOf(RDFMediaType.RDF_JSON)
).add().build();
}
项目:neo4j-sparql-extension-yars
文件:GraphStore.java
/**
* Returns RDF data from a graph in the repository.
*
* @see RDFStreamingOutput
* @param req JAX-RS {@link Request} object
* @param def the "default" query parameter
* @param graphString the "graph" query parameter
* @return RDF data as HTTP response
*/
private Response handleGet(
Request req,
String def,
String graphString) {
// select matching MIME-Type for response based on HTTP headers
final Variant variant = req.selectVariant(rdfResultVariants);
final MediaType mt = variant.getMediaType();
final String mtstr = mt.getType() + "/" + mt.getSubtype();
final RDFFormat format = getRDFFormat(mtstr);
StreamingOutput stream;
RepositoryConnection conn = null;
try {
// return data as RDF stream
conn = getConnection();
if (graphString != null) {
Resource ctx = vf.createURI(graphString);
if (conn.size(ctx) == 0) {
return Response.status(Response.Status.NOT_FOUND).build();
}
stream = new RDFStreamingOutput(conn, format, ctx);
} else {
stream = new RDFStreamingOutput(conn, format);
}
} catch (RepositoryException ex) {
// server error
close(conn, ex);
throw new WebApplicationException(ex);
}
return Response.ok(stream).build();
}
项目:platypus-kb-lucene
文件:ActionUtils.java
static Response jsonContentNegotiation(Request request, JsonResultBuilder<Object> resultBuilder) {
List<Variant> variants = Variant
.mediaTypes(MediaType.APPLICATION_JSON_TYPE, APPLICATION_JSON_LD_TYPE)
.languages(Configuration.SUPPORTED_LOCALES)
.add().build(); //TODO lang parameter
Variant bestResponseVariant = request.selectVariant(variants);
if (bestResponseVariant == null) {
return Response.notAcceptable(variants).build();
}
return Response.ok(serialize(resultBuilder.buildResult(bestResponseVariant.getLanguage())), bestResponseVariant).build();
}
项目:jaxrs-analyzer
文件:TestClass19.java
@javax.ws.rs.GET public Response method() {
Response.ResponseBuilder responseBuilder = Response.accepted();
responseBuilder = Response.created(URI.create(""));
responseBuilder = Response.noContent();
responseBuilder = Response.notAcceptable(new LinkedList<>());
responseBuilder = Response.notModified();
responseBuilder = Response.ok();
responseBuilder = Response.ok(1L, new Variant(MediaType.TEXT_PLAIN_TYPE, Locale.ENGLISH, "UTF-8"));
responseBuilder = Response.seeOther(URI.create(""));
responseBuilder = Response.serverError();
responseBuilder = Response.temporaryRedirect(URI.create(""));
return responseBuilder.build();
}
项目:jaxrs-analyzer
文件:TestClass24.java
@javax.ws.rs.GET public Response method() {
Response.ResponseBuilder responseBuilder = Response.ok();
responseBuilder.links(new Link[0]);
responseBuilder.variant(new Variant(MediaType.TEXT_PLAIN_TYPE, Locale.ENGLISH, "UTF-8"));
return responseBuilder.build();
}
项目:jaxrs-analyzer
文件:TestClass21.java
@javax.ws.rs.GET
public Response method() {
Response.ResponseBuilder responseBuilder = Response.notModified("");
responseBuilder = Response.ok(1d, MediaType.APPLICATION_JSON_TYPE);
responseBuilder = Response.ok(1L, new Variant(MediaType.TEXT_PLAIN_TYPE, Locale.ENGLISH, "UTF-8"));
return responseBuilder.build();
}
项目:incubator-taverna-server
文件:DirectoryREST.java
/** How did the user want the result? */
private MediaType pickType(HttpHeaders headers, DirectoryEntry de)
throws FilesystemAccessException, NegotiationFailedException {
List<Variant> variants = getVariants(de);
// Manual content negotiation!!! Ugh!
for (MediaType mt : headers.getAcceptableMediaTypes())
for (Variant v : variants)
if (matchType(mt, v.getMediaType()))
return v.getMediaType();
throw new NegotiationFailedException(
"Do not know what type of response to produce.", variants);
}
项目:scheduling
文件:SchedulerRestClient.java
public boolean upload(String sessionId, File file, List<String> includes, List<String> excludes,
String dataspacePath, final String path) throws Exception {
StringBuffer uriTmpl = (new StringBuffer()).append(restEndpointURL)
.append(addSlashIfMissing(restEndpointURL))
.append("data/")
.append(dataspacePath)
.append('/')
.append(escapeUrlPathSegment(path));
ResteasyClient client = new ResteasyClientBuilder().httpEngine(httpEngine)
.providerFactory(providerFactory)
.build();
ResteasyWebTarget target = client.target(uriTmpl.toString());
Response response = null;
try {
response = target.request()
.header("sessionid", sessionId)
.put(Entity.entity(new CompressedStreamingOutput(file, includes, excludes),
new Variant(MediaType.APPLICATION_OCTET_STREAM_TYPE,
(Locale) null,
encoding(file))));
if (response.getStatus() != HttpURLConnection.HTTP_CREATED) {
if (response.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
throw new NotConnectedRestException("User not authenticated or session timeout.");
} else {
throwException(String.format("File upload failed. Status code: %d", response.getStatus()),
response);
}
}
return true;
} finally {
if (response != null) {
response.close();
}
}
}
项目:scheduling
文件:SchedulerRestClient.java
public boolean upload(String sessionId, StreamingOutput output, String encoding, String dataspace, String path)
throws Exception {
StringBuffer uriTmpl = (new StringBuffer()).append(restEndpointURL)
.append(addSlashIfMissing(restEndpointURL))
.append("data/")
.append(dataspace);
ResteasyClient client = new ResteasyClientBuilder().httpEngine(httpEngine)
.providerFactory(providerFactory)
.build();
ResteasyWebTarget target = client.target(uriTmpl.toString()).path(path);
Response response = null;
try {
response = target.request()
.header("sessionid", sessionId)
.put(Entity.entity(output,
new Variant(MediaType.APPLICATION_OCTET_STREAM_TYPE,
(Locale) null,
encoding)));
if (response.getStatus() != HttpURLConnection.HTTP_CREATED) {
if (response.getStatus() == HttpURLConnection.HTTP_UNAUTHORIZED) {
throw new NotConnectedRestException("User not authenticated or session timeout.");
} else {
throwException(String.format("File upload failed. Status code: %d" + response.getStatus()),
response);
}
}
return true;
} finally {
if (response != null) {
response.close();
}
}
}
项目:atsd-api-java
文件:RequestProcessor.java
public Response process(Invocation.Builder request, MediaType mediaType, boolean useCompression) {
request = request.accept(MediaType.APPLICATION_JSON);
if (type == Type.DELETE) {
return request.delete();
} else if (useCompression) {
return request.acceptEncoding("gzip").method(type.name(), Entity.entity(command, new Variant(mediaType, (String) null, "gzip")));
} else {
return request.method(type.name(), Entity.entity(command, mediaType));
}
}
项目:neo4j-sparql-extension
文件:AbstractSailResource.java
/**
* Initialize result variants and save reference to repository.
* @param rep reference to repository
*/
public AbstractSailResource(SailRepository rep) {
this.rep = rep;
rdfResultVariants = Variant.mediaTypes(
MediaType.valueOf(RDFMediaType.RDF_TURTLE),
MediaType.valueOf(RDFMediaType.RDF_NTRIPLES),
MediaType.valueOf(RDFMediaType.RDF_XML),
MediaType.valueOf(RDFMediaType.RDF_JSON)
).add().build();
}
项目:neo4j-sparql-extension
文件:GraphStore.java
/**
* Returns RDF data from a graph in the repository.
*
* @see RDFStreamingOutput
* @param req JAX-RS {@link Request} object
* @param def the "default" query parameter
* @param graphString the "graph" query parameter
* @return RDF data as HTTP response
*/
private Response handleGet(
Request req,
String def,
String graphString) {
// select matching MIME-Type for response based on HTTP headers
final Variant variant = req.selectVariant(rdfResultVariants);
final MediaType mt = variant.getMediaType();
final String mtstr = mt.getType() + "/" + mt.getSubtype();
final RDFFormat format = getRDFFormat(mtstr);
StreamingOutput stream;
RepositoryConnection conn = null;
try {
// return data as RDF stream
conn = getConnection();
if (graphString != null) {
Resource ctx = vf.createURI(graphString);
if (conn.size(ctx) == 0) {
return Response.status(Response.Status.NOT_FOUND).build();
}
stream = new RDFStreamingOutput(conn, format, ctx);
} else {
stream = new RDFStreamingOutput(conn, format);
}
} catch (RepositoryException ex) {
// server error
close(conn, ex);
throw new WebApplicationException(ex);
}
return Response.ok(stream).build();
}
项目:ameba
文件:TemplateHelper.java
/**
* Get media types for which the {@link org.glassfish.jersey.server.mvc.spi.ResolvedViewable resolved viewable} could be
* produced.
*
* @param containerRequest request to obtain acceptable media types.
* @param extendedUriInfo uri info to obtain resource method from and its producible media types.
* @param varyHeaderValue Vary header reference.
* @return list of producible media types.
*/
public static List<MediaType> getProducibleMediaTypes(final ContainerRequest containerRequest,
final ExtendedUriInfo extendedUriInfo,
final Ref<String> varyHeaderValue) {
final List<MediaType> producedTypes = getResourceMethodProducibleTypes(extendedUriInfo);
final MediaType[] mediaTypes = producedTypes.toArray(new MediaType[producedTypes.size()]);
final List<Variant> variants = VariantSelector.selectVariants(containerRequest, Variant.mediaTypes(mediaTypes)
.build(), varyHeaderValue == null ? Refs.emptyRef() : varyHeaderValue);
return Lists.transform(variants, variant -> MediaTypes.stripQualityParams(variant.getMediaType()));
}
项目:ldp4j
文件:VariantHelper.java
public boolean isSupported(Variant variant) {
boolean matched=false;
for(Iterator<Variant> it=supportedVariants.iterator();it.hasNext() && !matched;) {
matched=matches(it.next(),variant);
}
return matched;
}
项目:ldp4j
文件:VariantHelper.java
public Variant select(Collection<? extends Variant> supportedVariants) {
for(Variant variant:supportedVariants) {
if(isSupported(variant)) {
return variant;
}
}
return null;
}
项目:ldp4j
文件:VariantHelper.java
private static boolean hasMatchingEncoding(Variant supported, Variant required) {
String requiredEncoding = required.getEncoding();
String supportedEncoding = supported.getEncoding();
return
requiredEncoding==null ||
supportedEncoding==null ||
supportedEncoding.equals(requiredEncoding);
}
项目:ldp4j
文件:VariantHelper.java
private static boolean hasMatchingLanguage(Variant supported, Variant required) {
Locale requiredLanguage = required.getLanguage();
Locale supportedLanguage = supported.getLanguage();
return
requiredLanguage == null ||
supportedLanguage ==null ||
isLanguageMatched(supportedLanguage, requiredLanguage);
}
项目:ldp4j
文件:VariantHelper.java
private static boolean hasMatchingMediaType(Variant supported, Variant required) {
MediaType requiredMediaType = required.getMediaType();
MediaType supportedMediaType = supported.getMediaType();
return
requiredMediaType == null ||
supportedMediaType == null ||
supportedMediaType.isCompatible(requiredMediaType);
}
项目:ldp4j
文件:VariantUtils.java
/**
* Get a list of acceptable variants. Current implementation only leverages
* media type for the specification of variants.
*
* @param mediaTypes
* The list of acceptable media types.
* @return A list of acceptable variants.
*/
public static List<Variant> createVariants(MediaType... mediaTypes) {
return
Variant.VariantListBuilder.
newInstance().
mediaTypes(mediaTypes).
encodings().
languages().
add().
build();
}
项目:ldp4j
文件:VariantUtils.java
public static String toString(Variant v) {
return
String.format(
getTemplate(v),
getMediaType(v),
getEncoding(v),
getLanguage(v));
}
项目:ldp4j
文件:VariantUtils.java
public static String toString(List<Variant> variants) {
StringBuilder builder=new StringBuilder();
for(Iterator<Variant> it=variants.iterator();it.hasNext();) {
String formatedVariants = toString(it.next());
builder.append(formatedVariants);
if(it.hasNext()) {
builder.append(", ");
}
}
return builder.toString();
}
项目:ldp4j
文件:VariantUtils.java
private static String getLanguage(Variant v) {
String language="*";
Locale locale = v.getLanguage();
if(locale!=null) {
language=locale.toString();
}
return language;
}
项目:ldp4j
文件:VariantUtils.java
private static String getEncoding(Variant v) {
String encoding = v.getEncoding();
if(encoding==null) {
encoding="*";
}
return encoding;
}
项目:ldp4j
文件:VariantUtils.java
private static MediaType getMediaType(Variant v) {
MediaType mediaType = v.getMediaType();
if(mediaType==null) {
mediaType=new MediaType(MediaType.MEDIA_TYPE_WILDCARD,MediaType.MEDIA_TYPE_WILDCARD);
}
return mediaType;
}
项目:ldp4j
文件:OperationContextImpl.java
private Variant contentVariant() {
List<String> requestHeader=
headers().
getRequestHeader(HttpHeaders.CONTENT_ENCODING);
List<Variant> variants=
Variant.
mediaTypes(headers().getMediaType()).
encodings(requestHeader.toArray(new String[requestHeader.size()])).
languages(headers().getLanguage()).
add().
build();
return variants.get(0);
}