/**
  * Returns the GeoJSON of the object name after calling all resolvers until an object is found or
  * all resolvers have been called.
  *
  * @return the GeoJSON of the object name
  */
 private Representation callChainedResolver() {
   Map dataModel;
   final AbstractNameResolver cds =
       new CDSNameResolver(objectName, CDSNameResolver.NameResolverService.all);
   final AbstractNameResolver imcce = new IMCCESsoResolver(objectName, "now");
   // final AbstractNameResolver corot = new CorotIdResolver(objectName);
   final AbstractNameResolver sitools2 = new ConstellationNameResolver(objectName);
   cds.setNext(sitools2);
   sitools2.setNext(imcce);
   // imcce.setNext(corot);
   final NameResolverResponse response = cds.getResponse();
   if (!response.hasResult()) {
     throw new ResourceException(
         response.getError().getStatus(), response.getError().getMessage());
   }
   final String credits = response.getCredits();
   final List<AstroCoordinate> coordinates = response.getAstroCoordinates();
   for (AstroCoordinate iter : coordinates) {
     iter.processTo(coordSystem);
   }
   dataModel = getDataModel(credits, coordinates, this.coordSystem.name());
   Representation rep = new GeoJsonRepresentation(dataModel);
   final CacheBrowser.CacheDirectiveBrowser cacheDirective =
       (credits.equals("IMCCE"))
           ? CacheBrowser.CacheDirectiveBrowser.NO_CACHE
           : CacheBrowser.CacheDirectiveBrowser.FOREVER;
   final CacheBrowser cache = CacheBrowser.createCache(cacheDirective, rep);
   rep = cache.getRepresentation();
   getResponse().setCacheDirectives(cache.getCacheDirectives());
   return rep;
 }
 /**
  * Returns the representation based on IMCCE response.
  *
  * @return the representation
  */
 private Representation resolveIMCCE() {
   LOG.finest(
       String.format(
           "IMCCE name resolver is choosen with the following parameter %s", objectName));
   final AbstractNameResolver imcce = new IMCCESsoResolver(objectName, epoch);
   final NameResolverResponse response = imcce.getResponse();
   if (response.hasResult()) {
     LOG.log(Level.INFO, "IMCCE name resolver is selected for {0}.", objectName);
     getResponse().setStatus(Status.SUCCESS_OK);
     final List<AstroCoordinate> coordinates = response.getAstroCoordinates();
     for (AstroCoordinate iter : coordinates) {
       iter.processTo(coordSystem);
     }
     final String credits = response.getCredits();
     final Map dataModel = getDataModel(credits, coordinates, this.coordSystem.name());
     Representation rep = new GeoJsonRepresentation(dataModel);
     final CacheBrowser cache =
         CacheBrowser.createCache(CacheBrowser.CacheDirectiveBrowser.NO_CACHE, rep);
     rep = cache.getRepresentation();
     getResponse().setCacheDirectives(cache.getCacheDirectives());
     return rep;
   } else {
     LOG.log(Level.WARNING, null, response.getError());
     throw new ResourceException(
         response.getError().getStatus(), response.getError().getMessage());
   }
 }
 /**
  * Returns the representation based on SITools2 db response.
  *
  * @return the representation
  */
 private Representation resolveConstellation() {
   final AbstractNameResolver sitools2 = new ConstellationNameResolver(objectName);
   final NameResolverResponse response = sitools2.getResponse();
   if (response.hasResult()) {
     LOG.log(Level.INFO, "Constellation name resolver is selected for {0}", objectName);
     getResponse().setStatus(Status.SUCCESS_OK);
     final List<AstroCoordinate> coordinates = response.getAstroCoordinates();
     for (AstroCoordinate iter : coordinates) {
       iter.processTo(coordSystem);
     }
     final String credits = response.getCredits();
     final Map dataModel = getDataModel(credits, coordinates, this.coordSystem.name());
     Representation rep = new GeoJsonRepresentation(dataModel);
     final CacheBrowser cache =
         CacheBrowser.createCache(CacheBrowser.CacheDirectiveBrowser.FOREVER, rep);
     rep = cache.getRepresentation();
     getResponse().setCacheDirectives(cache.getCacheDirectives());
     return rep;
   } else {
     LOG.log(Level.WARNING, null, response.getError());
     throw new ResourceException(
         response.getError().getStatus(), response.getError().getMessage());
   }
 }