ApplicationConfig.java [src/java/m/rv] Revision: default  Date:
/*
 * $Id$
 *
 * This file is part of the Cloud Services Integration Platform (CSIP),
 * a Model-as-a-Service framework, API, and application suite.
 *
 * 2012-2022, OMSLab, Colorado State University.
 *
 * OMSLab licenses this file to you under the MIT license.
 * See the LICENSE file in the project root for more information.
 */
package m.rv;

import csip.Config;

import java.util.HashSet;
import java.util.Set;
import javax.servlet.ServletContext;
import javax.ws.rs.core.Application;
import javax.ws.rs.core.Context;

/**
 *
 * @author odavid
 */
@javax.ws.rs.ApplicationPath("")
public class ApplicationConfig extends Application {

  @Context
  private ServletContext context;


  @Override
  public Set<Class<?>> getClasses() {
    Set<Class<?>> resources = new HashSet<>();
    addRestResourceClasses(resources);
    Config.register(resources, context);
    return resources;
  }


  private void addRestResourceClasses(Set<Class<?>> resources) {
    resources.add(csip.ArchiveService.class);
    resources.add(csip.CatalogService.class);
    resources.add(csip.ControlService.class);
    resources.add(csip.DynamicPyModelDataService.class);
    resources.add(csip.GzipWriterInterceptor.class);
    resources.add(csip.QueryService.class);
    resources.add(csip.ReportService.class);
    resources.add(csip.UIService.class);
    resources.add(m.rv.crm.V1_0.class);
    resources.add(m.rv.editsynonyms.V1_0.class);
    resources.add(m.rv.editsynonyms.V2_0.class);
    resources.add(m.rv.fisprodesd.V1_0.class);
    resources.add(m.rv.soilprops.V1_0.class);
  }
}