vc.gov.naits.core.ApplicationConfig.java Source code

Java tutorial

Introduction

Here is the source code for vc.gov.naits.core.ApplicationConfig.java

Source

    /*
     * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
     *
     * Copyright (c) 2017 Oracle and/or its affiliates. All rights reserved.
     *
     * Oracle and Java are registered trademarks of Oracle and/or its affiliates.
     * Other names may be trademarks of their respective owners.
     *
     * The contents of this file are subject to the terms of either the GNU
     * General Public License Version 2 only ("GPL") or the Common
     * Development and Distribution License("CDDL") (collectively, the
     * "License"). You may not use this file except in compliance with the
     * License. You can obtain a copy of the License at
     * http://www.netbeans.org/cddl-gplv2.html
     * or nbbuild/licenses/CDDL-GPL-2-CP. See the License for the
     * specific language governing permissions and limitations under the
     * License.  When distributing the software, include this License Header
     * Notice in each file and include the License file at
     * nbbuild/licenses/CDDL-GPL-2-CP.  Oracle designates this
     * particular file as subject to the "Classpath" exception as provided
     * by Oracle in the GPL Version 2 section of the License file that
     * accompanied this code. If applicable, add the following below the
     * License Header, with the fields enclosed by brackets [] replaced by
     * your own identifying information:
     * "Portions Copyrighted [year] [name of copyright owner]"
     *
     * If you wish your version of this file to be governed by only the CDDL
     * or only the GPL Version 2, indicate your decision by adding
     * "[Contributor] elects to include this software in this distribution
     * under the [CDDL or GPL Version 2] license." If you do not indicate a
     * single choice of license, a recipient has the option to distribute
     * your version of this file under either the CDDL, the GPL Version 2 or
     * to extend the choice of license to its licensees as provided above.
     * However, if you add GPL Version 2 code and therefore, elected the GPL
     * Version 2 license, then the option applies only if the new code is
     * made subject to such option by the copyright holder.
     *
     * Contributor(s):
     */
    package vc.gov.naits.core;

    import java.util.HashSet;
    import java.util.Set;
    import com.fasterxml.jackson.jaxrs.json.JacksonJsonProvider;
import com.codahale.metrics.jersey2.InstrumentedResourceMethodApplicationListener;;
    import javax.inject.Inject;
    import javax.ws.rs.core.Application;
    import vc.gov.naits.core.metrics.MetricsConfigurer;

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

        @Inject
        private MetricsConfigurer metricsConfigurer;

        @Override
        public Set<Class<?>> getClasses() {
            Set<Class<?>> resources = new java.util.HashSet<>();
            resources.add(com.wordnik.swagger.jaxrs.listing.ApiListingResource.class);
            resources.add(com.wordnik.swagger.jaxrs.listing.ApiDeclarationProvider.class);
            resources.add(com.wordnik.swagger.jaxrs.listing.ApiListingResourceJSON.class);
            resources.add(com.wordnik.swagger.jaxrs.listing.ResourceListingProvider.class);
            addRestResourceClasses(resources);
            return resources;
        }

        @Override
        public Set<Object> getSingletons() {
            final Set<Object> instances = new HashSet<>();
            instances.add(new JacksonJsonProvider());
            instances.add(new InstrumentedResourceMethodApplicationListener(metricsConfigurer.getMetricRegistry()));
            return instances;
        }

        private void addRestResourceClasses(Set<Class<?>> resources) {
            resources.add(vc.gov.naits.core.metrics.DiagnosticFilter.class);
            resources.add(vc.gov.naits.core.security.SecurityUtils.class);
            resources.add(vc.gov.naits.core.security.jwt.JWTAuthenticationFilter.class);
            resources.add(vc.gov.naits.core.service.AccountController.class);
            resources.add(vc.gov.naits.core.service.AnimalController.class);
            resources.add(vc.gov.naits.core.service.AnimalIdentityController.class);
            resources.add(vc.gov.naits.core.service.BreedController.class);
            resources.add(vc.gov.naits.core.service.CoorporateEntityController.class);
            resources.add(vc.gov.naits.core.service.CountryController.class);
            resources.add(vc.gov.naits.core.service.DocumentController.class);
            resources.add(vc.gov.naits.core.service.DocumentFormatController.class);
            resources.add(vc.gov.naits.core.service.DocumentTypeController.class);
            resources.add(vc.gov.naits.core.service.EnterpriseTypesController.class);
            resources.add(vc.gov.naits.core.service.EnterprisesInvolvedInController.class);
            resources.add(vc.gov.naits.core.service.FarmerApplicationController.class);
            resources.add(vc.gov.naits.core.service.FarmerController.class);
            resources.add(vc.gov.naits.core.service.IdentitySequenceController.class);
            resources.add(vc.gov.naits.core.service.LogsResource.class);
            resources.add(vc.gov.naits.core.service.PersonController.class);
            resources.add(vc.gov.naits.core.service.PlotController.class);
            resources.add(vc.gov.naits.core.service.ProductionAreaController.class);
            resources.add(vc.gov.naits.core.service.SpecieController.class);
            resources.add(vc.gov.naits.core.service.TenureController.class);
            resources.add(vc.gov.naits.core.service.TenureTypeController.class);
            resources.add(vc.gov.naits.core.service.TitleController.class);
            resources.add(vc.gov.naits.core.service.UnitOfAreaController.class);
            resources.add(vc.gov.naits.core.service.UnitOfProductionController.class);
            resources.add(vc.gov.naits.core.service.UserController.class);
            resources.add(vc.gov.naits.core.service.UserJWTController.class);
        }

    }