Skip to content
This repository has been archived by the owner on May 5, 2022. It is now read-only.

Project Structure

Vijay Samuel edited this page Jun 4, 2014 · 1 revision

Following are the modules present in the parent directory:

  • bean
  • common
  • deployment-health
  • service
  • testutils

bean

The bean module consists of all the bean objects that are produced/consumed by the REST service. The following are the various bean objects that are present along with their use:

  • PigInputParameters - This bean class should be used while submitting PIG request. It provides the input parameters to the Pig script that is to be submitted along with additional information like HTTP callback URL.
  • PigRequestParameters - This is output bean class which provides information of the submitted Pig request which includes the PigInputParameters, HTTP callback URL, submission time of the request, script name and IP of the submitting host.
  • PigRequestStats - This is stats bean class which provides information like number of MR jobs submitted, Job URLs, bytes written into Hadoop, execution time etc.

common

The common module provides a set of common utilities that are required by the REST service and can be used for other applications as well. Following are the utilities provided by common:

  • PropertyLoader - A singleton object that helps read key,value pairs from the property file
  • ConfigurationLoader - Loads the right property file based on the environment set during Tomcat startup
  • CustomDailyRollingFileAppender - A log4j appender that handles purging of older log files based on the retention provided
  • EndNotificationService - A service that allows sending of HTTP and email notification to the requester

testutils

The testutils module consists of utilities that help bring up and tear down servlets that can be used for writing test cases.

service

The service module houses the REST service which is a Jersey based service. The rest package contains the Java class that has the REST specification.

Clone this wiki locally