/** Returns file extension based on media type. By default it returns .xml. */ protected String getFileExtension() { _log.debug("Media type requested is {}", mediaType); if (MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) { return ".json"; } return ".xml"; }
/** * Generates configuration file with name taken from variable CONFIG_FILE_NAME Returns the created * file name. */ protected String generateConfigFile() throws JAXBException, LocalRepositoryException, IOException { ZipOutputStream zos = null; try { PropertyInfoExt properties = new PropertyInfoExt(coordinator.getPropertyInfo().getProperties()); zos = new ZipOutputStream(new FileOutputStream(CONFIG_FILE_PATH)); ZipEntry ze = new ZipEntry(CONFIG_FILE_NAME + getFileExtension()); zos.putNextEntry(ze); if (MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) { (new ObjectMapper()).writeValue(zos, properties); // gson should not be used any more } else { JAXBContext jaxbContext = JAXBContext.newInstance(PropertyInfo.class); Marshaller marshaller = jaxbContext.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, true); marshaller.marshal(properties, zos); } zos.flush(); } finally { if (zos != null) { zos.close(); } } return CONFIG_FILE_PATH; }
@Override public boolean isWriteable( Class<?> type, Type genericType, Annotation[] annotations, MediaType mediaType) { boolean result = false; if (Iterable.class.isAssignableFrom(type) && genericType.getClass().isAssignableFrom(ArtifactReadable.class) && MediaType.APPLICATION_JSON_TYPE.equals(mediaType)) { result = true; } return result; }
public Object getTasks( Request request, UriInfo uriInfo, Integer firstResult, Integer maxResults) { Variant variant = request.selectVariant(VARIANTS); if (variant != null) { if (MediaType.APPLICATION_JSON_TYPE.equals(variant.getMediaType())) { return getJsonTasks(uriInfo, firstResult, maxResults); } else if (Hal.APPLICATION_HAL_JSON_TYPE.equals(variant.getMediaType())) { return getHalTasks(uriInfo, firstResult, maxResults); } } throw new InvalidRequestException( Response.Status.NOT_ACCEPTABLE, "No acceptable content-type found"); }
/** * Ensures that the response has a "success" status code {@code 2xx}. * * @throws HttpResponseException if the response does not have a {@code 2xx} status code * @throws IOException if the response entity parsing has failed */ public void ensure2xxStatus() throws HttpResponseException, IOException { if (response.getStatus() / 100 != 2) { final String message; if (MediaType.TEXT_PLAIN_TYPE.equals(response.getMediaType())) { message = response.readEntity(String.class); } else if (MediaType.TEXT_XML_TYPE.equals(response.getMediaType()) || MediaType.APPLICATION_XML_TYPE.equals(response.getMediaType()) || MediaType.APPLICATION_JSON_TYPE.equals(response.getMediaType())) { message = response.readEntity(AcknowlegementType.class).getMessage(); } else { message = response.toString(); } throw new HttpResponseException(response.getStatus(), message); } }
@Override public boolean supports(MediaType mediaType) { return MediaType.APPLICATION_JSON_TYPE.equals(mediaType); }