@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; }
private void addVariant(MediaType mediaType, Locale language, String encoding) { variants.add(new Variant(mediaType, language, encoding)); }
@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(); }
/** * 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()); }
public static MediaType variantFor(Request request) { Variant v = request.selectVariant(POSSIBLE_VARIANTS); if (v == null) { v = POSSIBLE_VARIANTS.get(0); } /* If we include the charset in the variant then it gets prioritised as a default. Select * it as text/plain and then switch in the variant with the charset here. */ MediaType t = v.getMediaType(); if (t.equals(MediaType.TEXT_PLAIN_TYPE)) { return TEXT_PLAIN_UTF8_TYPE; } else { return t; } } }
@Override public String getDimension(final VariantHolder v) { final MediaType m = v.v.getMediaType(); return (m != null) ? m.getParameters().get("charset") : null; }
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; }
public Entity<Object> bindCamelMessageToRequestEntity(Object body, Message camelMessage, Exchange camelExchange) throws Exception { if (body == null) { return null; } String contentType = camelMessage.getHeader(Exchange.CONTENT_TYPE, String.class); if (contentType == null) { contentType = MediaType.WILDCARD; } String contentEncoding = camelMessage.getHeader(Exchange.CONTENT_ENCODING, String.class); return Entity.entity(body, new Variant(MediaType.valueOf(contentType), Locale.US, contentEncoding)); }
/** * 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(); }
protected Response getRequest(int requestId, List<MediaType> accept) throws SQLException, IOException, NotFoundException{ MediaType[] available = getTypeManager().createMediaTypes(getBroker().getRequestTypes(requestId)); if( available.length == 0 ){ throw new NotFoundException(); } // find acceptable request definition RequestConverter rc = getTypeManager().buildConverterChain(accept, Arrays.asList(available)); if( rc == null ){ // no acceptable response type available return Response.notAcceptable(Variant.mediaTypes(available).build()).build(); }else{ Reader def = getBroker().getRequestDefinition(requestId, rc.getConsumedType()); // transform def = rc.transform(def); // output using UTF-8. The HTTP default charset ISO-8859-1 has some missing characters like e.g Euro sign. return Response.ok(def, MediaType.valueOf(rc.getProducedType()).withCharset("UTF-8")).build(); } }
final List<Variant> variants = Variant.mediaTypes( MediaType.TEXT_PLAIN_TYPE, MediaType.TEXT_HTML_TYPE, MediaType.APPLICATION_XML_TYPE, MediaType.APPLICATION_JSON_TYPE).build(); final Variant variant = request.get().selectVariant(variants); if (variant != null) { response.type(variant.getMediaType()); } else {
@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(); } }
@Override public MediaType getDimension(final VariantHolder v) { return v.v.getMediaType(); }
@Override public String getDimension(final VariantHolder v) { return v.v.getEncoding(); }
@Override public Locale getDimension(final VariantHolder v) { return v.v.getLanguage(); }
resource, path); List<Variant> vl = Variant.mediaTypes(MediaTypes.WADL, MediaTypes.WADL_JSON, MediaType.APPLICATION_XML_TYPE) .add().build(); Variant v = context.getRequest().selectVariant(vl);
ActiveXComponent xl = new ActiveXComponent("Outlook.Application"); Dispatch explorer = Dispatch.get(xl,"ActiveExplorer").toDispatch(); Dispatch selection = Dispatch.get(explorer, "Selection").toDispatch(); Variant count = Dispatch.get(selection, "Count"); // loop over selected mail items. for (int mailIndex = 1; mailIndex <= count.getInt(); mailIndex++ ) { Dispatch mailItem = Dispatch.call(selection, "Item", new Variant(mailIndex)).toDispatch(); Variant subject = Dispatch.get(mailItem, "Subject"); // .... and so on }
@Override public boolean equals(Object o) { if (this == o) return true; if (!(o instanceof Entity)) return false; Entity entity1 = (Entity) o; if (!Arrays.equals(annotations, entity1.annotations)) return false; if (entity != null ? !entity.equals(entity1.entity) : entity1.entity != null) return false; if (variant != null ? !variant.equals(entity1.variant) : entity1.variant != null) return false; return true; }
public Object executeSingleResult(Request request) { Variant variant = request.selectVariant(VARIANTS); if (variant != null) { if (MediaType.APPLICATION_JSON_TYPE.equals(variant.getMediaType())) { return executeJsonSingleResult(); } else if (Hal.APPLICATION_HAL_JSON_TYPE.equals(variant.getMediaType())) { return executeHalSingleResult(); } } throw new InvalidRequestException(Status.NOT_ACCEPTABLE, "No acceptable content-type found"); }
@Override public String getDimension(final VariantHolder v) { final MediaType m = v.v.getMediaType(); return (m != null) ? m.getParameters().get("charset") : null; }