@Override public MediaType getDimension(final VariantHolder v) { return v.v.getMediaType(); }
@Override public MediaType getDimension(final VariantHolder v) { return v.v.getMediaType(); }
public MediaType getDimension(VariantHolder v) { return v.v.getMediaType(); }
@Override public String getDimension(final VariantHolder v) { final MediaType m = v.v.getMediaType(); return (m != null) ? m.getParameters().get("charset") : null; }
@Override public String getDimension(final VariantHolder v) { final MediaType m = v.v.getMediaType(); return (m != null) ? m.getParameters().get("charset") : null; }
public String getDimension(VariantHolder v) { MediaType m = v.v.getMediaType(); return (m != null) ? m.getParameters().get("charset") : null; }
@GET public Response content() { if (content.isEmpty()) { return Response.noContent().build(); } final Variant variant = request.selectVariant(supportedVariants); if (variant == null) { return Response.notAcceptable(supportedVariants).build(); } else { return Response.ok(content, variant.getMediaType()).build(); } }
private static LinkedList<VariantHolder> getVariantHolderList(final List<Variant> variants) { final LinkedList<VariantHolder> l = new LinkedList<>(); for (final Variant v : variants) { final MediaType mt = v.getMediaType(); if (mt != null) { if (mt instanceof QualitySourceMediaType || mt.getParameters() .containsKey(Quality.QUALITY_SOURCE_PARAMETER_NAME)) { final int qs = QualitySourceMediaType.getQualitySource(mt); l.add(new VariantHolder(v, qs)); } else { l.add(new VariantHolder(v)); } } else { l.add(new VariantHolder(v)); } } return l; }
private static LinkedList<VariantHolder> getVariantHolderList(final List<Variant> variants) { final LinkedList<VariantHolder> l = new LinkedList<>(); for (final Variant v : variants) { final MediaType mt = v.getMediaType(); if (mt != null) { if (mt instanceof QualitySourceMediaType || mt.getParameters() .containsKey(Quality.QUALITY_SOURCE_PARAMETER_NAME)) { final int qs = QualitySourceMediaType.getQualitySource(mt); l.add(new VariantHolder(v, qs)); } else { l.add(new VariantHolder(v)); } } else { l.add(new VariantHolder(v)); } } return l; }
/** * 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.<String>emptyRef() : varyHeaderValue); return variants.stream() .map(variant -> MediaTypes.stripQualityParams(variant.getMediaType())) .collect(Collectors.toList()); }
private static LinkedList<VariantHolder> getVariantHolderList(final List<Variant> variants) { final LinkedList<VariantHolder> l = new LinkedList<VariantHolder>(); for (Variant v : variants) { final MediaType mt = v.getMediaType(); if (mt != null) { if (mt instanceof QualitySourceMediaType || mt.getParameters(). containsKey(QualitySourceMediaType.QUALITY_SOURCE_FACTOR)) { int qs = QualitySourceMediaType.getQualitySource(mt); l.add(new VariantHolder(v, qs)); } else { l.add(new VariantHolder(v)); } } else { l.add(new VariantHolder(v)); } } return l; }
@GET @Produces({"application/hocon", "text/x-java-properties", "text/plain"}) @Path("/v2/tables/{tableName}") @ApiOperation("Displays the configuration of a table") public Response readTableConfiguration(@PathParam("tableName") String tableName, @Context Request request) { TableConfig offlineTableConfig = _resourceManager.getTableConfig(tableName, CommonConstants.Helix.TableType.OFFLINE); TableConfig realtimeTableConfig = _resourceManager.getTableConfig(tableName, CommonConstants.Helix.TableType.REALTIME); Schema tableSchema = _resourceManager.getTableSchema(tableName); if (offlineTableConfig == null && realtimeTableConfig == null) { return Response.status(Response.Status.NOT_FOUND).build(); } CombinedConfig combinedConfig = new CombinedConfig(offlineTableConfig, realtimeTableConfig, tableSchema); String serializedConfig; List<Variant> variants = Variant.mediaTypes(APPLICATION_HOCON, TEXT_JAVA_PROPERTIES, MediaType.TEXT_PLAIN_TYPE).build(); Variant variant = request.selectVariant(variants); if (variant == null) { return Response.notAcceptable(variants).build(); } else if (APPLICATION_HOCON.equals(variant.getMediaType()) || MediaType.TEXT_PLAIN_TYPE .equals(variant.getMediaType())) { serializedConfig = Serializer.serializeToString(combinedConfig); } else if (TEXT_JAVA_PROPERTIES.equals(variant.getMediaType())) { serializedConfig = Serializer.serializeToPropertiesString(combinedConfig); } else { return Response.notAcceptable(variants).build(); } return Response.ok(serializedConfig, variant).header("Content-Disposition", "inline").build(); }
@Override public javax.ws.rs.core.Response.ResponseBuilder variants(List<Variant> variants) { if (variants == null) { header(HttpHeaders.VARY, null); return this; } if (variants.isEmpty()) { return this; } MediaType accept = variants.get(0).getMediaType(); boolean vAccept = false; Locale acceptLanguage = variants.get(0).getLanguage(); boolean vAcceptLanguage = false; String acceptEncoding = variants.get(0).getEncoding(); boolean vAcceptEncoding = false; for (Variant v : variants) { vAccept |= !vAccept && vary(v.getMediaType(), accept); vAcceptLanguage |= !vAcceptLanguage && vary(v.getLanguage(), acceptLanguage); vAcceptEncoding |= !vAcceptEncoding && vary(v.getEncoding(), acceptEncoding); } StringBuilder vary = new StringBuilder(); append(vary, vAccept, HttpHeaders.ACCEPT); append(vary, vAcceptLanguage, HttpHeaders.ACCEPT_LANGUAGE); append(vary, vAcceptEncoding, HttpHeaders.ACCEPT_ENCODING); if (vary.length() > 0) { header(HttpHeaders.VARY, vary.toString()); } return this; }
@Override public javax.ws.rs.core.Response.ResponseBuilder variants(List<Variant> variants) { if (variants == null) { header(HttpHeaders.VARY, null); return this; } if (variants.isEmpty()) { return this; } MediaType accept = variants.get(0).getMediaType(); boolean vAccept = false; Locale acceptLanguage = variants.get(0).getLanguage(); boolean vAcceptLanguage = false; String acceptEncoding = variants.get(0).getEncoding(); boolean vAcceptEncoding = false; for (Variant v : variants) { vAccept |= !vAccept && vary(v.getMediaType(), accept); vAcceptLanguage |= !vAcceptLanguage && vary(v.getLanguage(), acceptLanguage); vAcceptEncoding |= !vAcceptEncoding && vary(v.getEncoding(), acceptEncoding); } StringBuilder vary = new StringBuilder(); append(vary, vAccept, HttpHeaders.ACCEPT); append(vary, vAcceptLanguage, HttpHeaders.ACCEPT_LANGUAGE); append(vary, vAcceptEncoding, HttpHeaders.ACCEPT_ENCODING); if (vary.length() > 0) { header(HttpHeaders.VARY, vary.toString()); } return this; }
@Override public javax.ws.rs.core.Response.ResponseBuilder variant(Variant variant) { if (variant == null) { type((MediaType) null); language((String) null); encoding(null); return this; } type(variant.getMediaType()); language(variant.getLanguage()); encoding(variant.getEncoding()); return this; }
@Override public javax.ws.rs.core.Response.ResponseBuilder variant(Variant variant) { if (variant == null) { type((MediaType) null); language((String) null); encoding(null); return this; } type(variant.getMediaType()); language(variant.getLanguage()); encoding(variant.getEncoding()); return this; }
/** * Set message content variant (type, language and encoding). * * @param variant message content content variant (type, language and encoding) * to be set. */ public void variant(final Variant variant) { if (variant == null) { type((MediaType) null); language((String) null); encoding(null); } else { type(variant.getMediaType()); language(variant.getLanguage()); encoding(variant.getEncoding()); } }
/** * Set message content variant (type, language and encoding). * * @param variant message content content variant (type, language and encoding) * to be set. */ public void variant(final Variant variant) { if (variant == null) { type((MediaType) null); language((String) null); encoding(null); } else { type(variant.getMediaType()); language(variant.getLanguage()); encoding(variant.getEncoding()); } }
/** * Set message content variant (type, language and encoding). * * @param variant message content content variant (type, language and encoding) * to be set. */ public void variant(final Variant variant) { if (variant == null) { type((MediaType) null); language((String) null); encoding(null); } else { type(variant.getMediaType()); language(variant.getLanguage()); encoding(variant.getEncoding()); } }
/** * Set representation metadata. Equivalent to setting the values of * content type, content language, and content encoding separately using * the values of the variant properties. * * @param variant metadata of the response entity, a null value is * equivalent to a variant with all null properties. * @return the updated instance */ public B variant(Variant variant) { if (variant == null) { type((MediaType)null); language((String)null); encoding(null); return (B)this; } type(variant.getMediaType()); // TODO set charset language(variant.getLanguage()); encoding(variant.getEncoding()); return (B)this; }