org.axway.grapes.server.webapp.resources
Class ProductResource

java.lang.Object
  extended by com.yammer.dropwizard.views.View
      extended by org.axway.grapes.server.webapp.resources.AbstractResource
          extended by org.axway.grapes.server.webapp.resources.ProductResource

public class ProductResource
extends AbstractResource

Product Resource

This server resource handles all the request about products.
This resource extends DepManViews to holds its own documentation. The documentation is available in ProductResourceDocumentation.ftl file.

Author:
jdcoffre

Constructor Summary
ProductResource(RepositoryHandler repositoryHandler, GrapesServerConfig configuration)
           
 
Method Summary
 javax.ws.rs.core.Response createNewDelivery(DbCredential credential, String name, String deliveryName)
          Create a product delivery
 javax.ws.rs.core.Response createProduct(DbCredential credential, String productName)
          Handle product posts when the server got a request POST /product & MIME that contains an organization.
 javax.ws.rs.core.Response delete(DbCredential credential, String name)
          Delete a product
 javax.ws.rs.core.Response deleteDelivery(DbCredential credential, String name, String delivery)
          Delete a delivery
 javax.ws.rs.core.Response get(String name)
          Returns a product
 javax.ws.rs.core.Response getDeliveries(String name)
          Returns the list of existing deliveries of a product
 javax.ws.rs.core.Response getDelivery(String name, String delivery)
          Returns the list of module ids embedded inside a delivery
 javax.ws.rs.core.Response getModuleNames(String name)
          Get the project configured list of module names
 javax.ws.rs.core.Response getNames()
          Return the list of available product name.
 javax.ws.rs.core.Response setDelivery(DbCredential credential, String name, String delivery, List<String> modules)
          Sets the exhaustive list of modules that are embedded in a delivery
 javax.ws.rs.core.Response setModuleNames(DbCredential credential, String name, List<String> moduleNames)
          Sets a list of module names to a product
 
Methods inherited from class org.axway.grapes.server.webapp.resources.AbstractResource
getArtifactHandler, getArtifactJsonModel, getConfig, getDependencyHandler, getDependencyJsonModel, getDocumentation, getGraphsHandler, getIssueTrackerUrl, getLicenseHandler, getLicenseJsonModel, getModelMapper, getModuleHandler, getModuleJsonModel, getOnlineDocumentation, getOrganizationHandler, getOrganizationJsonModel, getProductHandler, getProgramVersion, getScopes
 
Methods inherited from class com.yammer.dropwizard.views.View
getCharset, getTemplateName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProductResource

public ProductResource(RepositoryHandler repositoryHandler,
                       GrapesServerConfig configuration)
Method Detail

createProduct

public javax.ws.rs.core.Response createProduct(@Auth
                                               DbCredential credential,
                                               String productName)
Handle product posts when the server got a request POST /product & MIME that contains an organization.

Parameters:
productName - String Product's name to add to Grapes database
Returns:
Response An acknowledgment:
- 400 if the MIME is malformed
- 409 if product is already existing
- 500 if internal error
- 201 if ok

getNames

public javax.ws.rs.core.Response getNames()
Return the list of available product name. This method is call via GET /product/names

Returns:
Response A list of product name in HTML or JSON

get

public javax.ws.rs.core.Response get(String name)
Returns a product

Parameters:
name - String
Returns:
Response A product in HTML

delete

public javax.ws.rs.core.Response delete(@Auth
                                        DbCredential credential,
                                        String name)
Delete a product

Parameters:
credential - DbCredential
name - String product name
Returns:
Response

getModuleNames

public javax.ws.rs.core.Response getModuleNames(String name)
Get the project configured list of module names

Returns:
Response

setModuleNames

public javax.ws.rs.core.Response setModuleNames(@Auth
                                                DbCredential credential,
                                                String name,
                                                List<String> moduleNames)
Sets a list of module names to a product

Parameters:
credential - DbCredential
name - String product name
moduleNames - List
Returns:
Response

getDeliveries

public javax.ws.rs.core.Response getDeliveries(String name)
Returns the list of existing deliveries of a product

Parameters:
name - String product name
Returns:
Response

createNewDelivery

public javax.ws.rs.core.Response createNewDelivery(@Auth
                                                   DbCredential credential,
                                                   String name,
                                                   String deliveryName)
Create a product delivery

Parameters:
credential - DbCredential
name - String product name
deliveryName - String
Returns:
Response

getDelivery

public javax.ws.rs.core.Response getDelivery(String name,
                                             String delivery)
Returns the list of module ids embedded inside a delivery

Parameters:
name - String product name
delivery - String delivery name
Returns:
Response

deleteDelivery

public javax.ws.rs.core.Response deleteDelivery(@Auth
                                                DbCredential credential,
                                                String name,
                                                String delivery)
Delete a delivery

Parameters:
credential - DbCredential
name - String product name
delivery - String delivery name
Returns:
Response

setDelivery

public javax.ws.rs.core.Response setDelivery(@Auth
                                             DbCredential credential,
                                             String name,
                                             String delivery,
                                             List<String> modules)
Sets the exhaustive list of modules that are embedded in a delivery

Parameters:
credential - DbCredential
name - String product name
delivery - String delivery name
modules - List list of modules Ids
Returns:
Response


Copyright © 2014. All Rights Reserved.