ApplicationConfig.java [src/java/d/crlmod] 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-2024, 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 d.crlmod;

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 od
 */
@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;
  }


  /**
   * Do not modify addRestResourceClasses() method. It is automatically
   * populated with all resources defined in the project. If required, comment
   * out calling this method in getClasses().
   */
  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(d.crlmod.crop.V1_0.class);
    resources.add(d.crlmod.crop.V1_1.class);
    resources.add(d.crlmod.crop.V2_0.class);
    resources.add(d.crlmod.crop.V2_1.class);
    resources.add(d.crlmod.crop.V3_0.class);
    resources.add(d.crlmod.crop.V3_1.class);
    resources.add(d.crlmod.crop.V3_9.class);
    resources.add(d.crlmod.crop.V4_0.class);
    resources.add(d.crlmod.crop.V4_1.class);
    resources.add(d.crlmod.crop.V5_0.class);
    resources.add(d.crlmod.crop.V5_1.class);
    resources.add(d.crlmod.cropImport.V1_1.class);
    resources.add(d.crlmod.cropImport.V2_0.class);
    resources.add(d.crlmod.cropImport.V3_0.class);
    resources.add(d.crlmod.cropImport.V3_9.class);
    resources.add(d.crlmod.cropImport.V4_0.class);
    resources.add(d.crlmod.cropResidue.V1_0.class);
    resources.add(d.crlmod.dataversion.V1_0.class);
    resources.add(d.crlmod.dataversion.V2_0.class);
    resources.add(d.crlmod.dataversion.V3_0.class);
    resources.add(d.crlmod.dataversion.V3_1.class);
    resources.add(d.crlmod.dataversion.V3_9.class);
    resources.add(d.crlmod.dataversion.V4_0.class);
    resources.add(d.crlmod.management.V1_0.class);
    resources.add(d.crlmod.management.V2_0.class);
    resources.add(d.crlmod.management.V2_1.class);
    resources.add(d.crlmod.management.V3_0.class);
    resources.add(d.crlmod.management.V3_1.class);
    resources.add(d.crlmod.management.V3_9.class);
    resources.add(d.crlmod.management.V4_0.class);
    resources.add(d.crlmod.management.V4_1.class);
    resources.add(d.crlmod.management.V5_0.class);
    resources.add(d.crlmod.management.V5_1.class);
    resources.add(d.crlmod.managementImport.V1_1.class);
    resources.add(d.crlmod.managementImport.V2_0.class);
    resources.add(d.crlmod.managementImport.V3_0.class);
    resources.add(d.crlmod.managementImport.V3_9.class);
    resources.add(d.crlmod.managementImport.V4_0.class);
    resources.add(d.crlmod.managementImport.V5_0.class);
    resources.add(d.crlmod.operation.V1_1.class);
    resources.add(d.crlmod.operation.V2_0.class);
    resources.add(d.crlmod.operation.V2_1.class);
    resources.add(d.crlmod.operation.V3_0.class);
    resources.add(d.crlmod.operation.V3_1.class);
    resources.add(d.crlmod.operation.V3_9.class);
    resources.add(d.crlmod.operation.V4_0.class);
    resources.add(d.crlmod.operation.V4_1.class);
    resources.add(d.crlmod.operation.V5_0.class);
    resources.add(d.crlmod.operation.V5_1.class);
    resources.add(d.crlmod.operationImport.V1_1.class);
    resources.add(d.crlmod.operationImport.V2_0.class);
    resources.add(d.crlmod.operationImport.V3_0.class);
    resources.add(d.crlmod.operationImport.V3_9.class);
    resources.add(d.crlmod.operationImport.V4_0.class);
    resources.add(d.crlmod.operationImport.V5_0.class);
    resources.add(d.crlmod.residue.V1_0.class);
    resources.add(d.crlmod.residue.V1_1.class);
    resources.add(d.crlmod.residue.V2_0.class);
    resources.add(d.crlmod.residue.V2_1.class);
    resources.add(d.crlmod.residue.V3_0.class);
    resources.add(d.crlmod.residue.V3_1.class);
    resources.add(d.crlmod.residue.V3_9.class);
    resources.add(d.crlmod.residue.V4_0.class);
    resources.add(d.crlmod.residue.V4_1.class);
    resources.add(d.crlmod.residue.V5_0.class);
    resources.add(d.crlmod.residue.V5_1.class);
    resources.add(d.crlmod.residueImport.V1_1.class);
    resources.add(d.crlmod.residueImport.V2_0.class);
    resources.add(d.crlmod.residueImport.V3_0.class);
    resources.add(d.crlmod.residueImport.V3_9.class);
    resources.add(d.crlmod.residueImport.V4_0.class);
    resources.add(d.crlmod.rusle2.V1_0.class);
  }

}