/** 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;
  }
Esempio n. 3
0
 @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);
 }