// Path: src/main/java/org/javiermf/features/services/rest/ProductsResource.java
// @Component
// @Path("/products")
// @Produces("application/json")
// @Api
// public class ProductsResource {
// 
//     @Autowired
//     ProductsService productsService;
// 
//     @Autowired
//     ProductsConfigurationResource productsConfigurationResource;
// 
//     @Autowired
//     ProductsFeaturesResource productsFeaturesResource;
// 
//     @Autowired
//     ProductsConstraintsResource productsConstraintsResource;
// 
// 
//     @GET
//     public List<String> getAllProducts() {
//         return productsService.getAllProductNames();
//     }
// 
//     @Path("{productName}")
//     @GET
//     public Product getProductByName(@PathParam("productName") String productName) {
//         return productsService.findByName(productName);
//     }
// 
//     @Path("{productName}")
//     @DELETE
//     public Response deleteProductByName(@PathParam("productName") String productName) {
//         productsService.deleteByName(productName);
//         return Response.noContent().build();
//     }
// 
//     @Path("{productName}")
//     @POST
//     public Response addProduct(@PathParam("productName") String productName) throws URISyntaxException {
//         productsService.add(productName);
//         return Response.created(new URI("/products/" + productName)).build();
//     }
// 
// 
//     @Path("{productName}/configurations")
//     public ProductsConfigurationResource productsConfigurationResource() {
//         return productsConfigurationResource;
//     }
// 
//     @Path("{productName}/features")
//     public ProductsFeaturesResource productsFeaturesResource() {
//         return productsFeaturesResource;
//     }
// 
//     @Path("{productName}/constraints")
//     public ProductsConstraintsResource productsConstraintsResource() {
//         return productsConstraintsResource;
//     }
// 
// }


import io.swagger.jaxrs.config.BeanConfig;
import io.swagger.jaxrs.listing.ApiListingResource;
import org.glassfish.jersey.server.ResourceConfig;
import org.javiermf.features.services.rest.ProductsResource;
import org.springframework.context.annotation.Configuration;
package org.javiermf.features;


@Configuration
public class JerseyConfig extends ResourceConfig {
    public JerseyConfig() {
// Path: src/main/java/org/javiermf/features/services/rest/ProductsResource.java
// @Component
// @Path("/products")
// @Produces("application/json")
// @Api
// public class ProductsResource {
// 
//     @Autowired
//     ProductsService productsService;
// 
//     @Autowired
//     ProductsConfigurationResource productsConfigurationResource;
// 
//     @Autowired
//     ProductsFeaturesResource productsFeaturesResource;
// 
//     @Autowired
//     ProductsConstraintsResource productsConstraintsResource;
// 
// 
//     @GET
//     public List<String> getAllProducts() {
//         return productsService.getAllProductNames();
//     }
// 
//     @Path("{productName}")
//     @GET
//     public Product getProductByName(@PathParam("productName") String productName) {
//         return productsService.findByName(productName);
//     }
// 
//     @Path("{productName}")
//     @DELETE
//     public Response deleteProductByName(@PathParam("productName") String productName) {
//         productsService.deleteByName(productName);
//         return Response.noContent().build();
//     }
// 
//     @Path("{productName}")
//     @POST
//     public Response addProduct(@PathParam("productName") String productName) throws URISyntaxException {
//         productsService.add(productName);
//         return Response.created(new URI("/products/" + productName)).build();
//     }
// 
// 
//     @Path("{productName}/configurations")
//     public ProductsConfigurationResource productsConfigurationResource() {
//         return productsConfigurationResource;
//     }
// 
//     @Path("{productName}/features")
//     public ProductsFeaturesResource productsFeaturesResource() {
//         return productsFeaturesResource;
//     }
// 
//     @Path("{productName}/constraints")
//     public ProductsConstraintsResource productsConstraintsResource() {
//         return productsConstraintsResource;
//     }
// 
// }


// Path: src/main/java/org/javiermf/features/JerseyConfig.java
import io.swagger.jaxrs.config.BeanConfig;
import io.swagger.jaxrs.listing.ApiListingResource;
import org.glassfish.jersey.server.ResourceConfig;
import org.javiermf.features.services.rest.ProductsResource;
import org.springframework.context.annotation.Configuration;

package org.javiermf.features;


@Configuration
public class JerseyConfig extends ResourceConfig {
    public JerseyConfig() {
        register(ProductsResource.class);