Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.openjpa.persistence.jest
Class JESTContext

    java.lang.Object
      org.apache.openjpa.persistence.jest.JESTContext

All Implemented Interfaces:
  JPAServletContext

    public class JESTContext

extends Object
implements JPAServletContext

An operational context combines a `persistence context` and a HTTP execution context expressed as a `request` and `response`.
This context `parses` the HTTP request URL to identity the command and then `executes` it.

Author:
  Pinaki Poddar

Field Summary
`protected static PrototypeFactory<String,JESTCommand>` | `_cf`
`static Localizer` | `_loc`
`protected Log` | `_log`
`protected MetaDataRepository` | `_repos`
`static String` | `CONTEXT_ROOT`
`static String` | `JEST_TEMPLATE`
`static char` | `QUERY_SEPARATOR`

Constructor Summary
`JESTContext(String unit, OpenJPAEntityManagerFactory emf, HttpServletRequest request, HttpServletResponse response)`

Method Summary
`void` | `execute()` Executes the request.
`(package private) void` | `findResource(String rsrc)` A resource is always looked up with respect to this class.
`static String` | `getAction(String path)` Gets the action from the given path.
`OpenJPAEntityManager` | `getPersistenceContext()` Gets the persistence context.
`String` | `getPersistenceUnitName()` Gets the name of the persistence unit.
`HttpServletRequest` | `getRequest()` Gets the request.
`String` | `getRequestURI()` Get the requested URI.
`HttpServletResponse` | `getResponse()` Gets the response.
`(package private) boolean` | `isContextRoot(String path)` Is this path a context root?
`(package private) boolean` | `isEmpty(String s)`
`void` | `log(short level, String message)` Logging message.
`ClassMetaData` | `resolve(String alias)` Resolve the given alias to meta-data of the persistent type.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### _repos

    protected MetaDataRepository _repos

### _log

    protected Log _log

### _cf

    protected static PrototypeFactory<String,JESTCommand> _cf

### _loc

    public static final Localizer _loc

### QUERY_SEPARATOR

    public static final char QUERY_SEPARATOR

See Also:
  Constant Field Values

### CONTEXT_ROOT

    public static final String CONTEXT_ROOT

See Also:
  Constant Field Values

### JEST_TEMPLATE

    public static final String JEST_TEMPLATE

See Also:
  Constant Field Values

Constructor Detail

### JESTContext

    public JESTContext(String unit,
                       OpenJPAEntityManagerFactory emf,
                       HttpServletRequest request,
                       HttpServletResponse response)

Method Detail

### getPersistenceUnitName

    public String getPersistenceUnitName()

  Gets the name of the persistence unit.

  Specified by:
    `getPersistenceUnitName` in interface `JPAServletContext`

### getPersistenceContext

    public OpenJPAEntityManager getPersistenceContext()

  Gets the persistence context. The persistence context is lazily constructed because all commands may not need it.

  Specified by:
    `getPersistenceContext` in interface `JPAServletContext`

### getRequest

    public HttpServletRequest getRequest()

  Gets the request.

  Specified by:
    `getRequest` in interface `JPAServletContext`

### getRequestURI

    public String getRequestURI()

  Description copied from interface: `JPAServletContext`
  Get the requested URI.

  Specified by:
    `getRequestURI` in interface `JPAServletContext`
  Returns:

### getResponse

    public HttpServletResponse getResponse()

  Gets the response.

  Specified by:
    `getResponse` in interface `JPAServletContext`

### execute

    public void execute()
                 throws Exception

  Executes the request.
  Execution starts with parsing the `request path`. The first path segment is interpreted as action key, and if a action with the given key is registered then the control is delegated to the command. The command parses the entire `request` for requisite qualifiers and arguments and if the parse is successful then the command is executed in this context.
  If path is null, or no command is registered for the action or the command can not parse the request, then a last ditch attempt is made to find a resource. This fallback lookup is important because the response can contain hyperlinks to stylesheets or scripts. The browser will resolve such hyperlinks relative to the original response.
  For example, let the original request URL be:
  `http://host:port/demo/jest/find?type=Actor&Robert`
  The response to this request is a HTML page that contained a hyperlink to `jest.css` stylesheet in its <head> section.
  `<link ref="jest.css" .....>`
  The browser will resolve the hyperlink by sending back another request as
  `http://host:port/demo/jest/find/jest.css`

  Throws:
    `Exception`

### getAction

    public static String getAction(String path)

  Gets the action from the given path.

  Parameters:
    `path` - a string
  Returns:
    if null, returns context root i.e. `'/'` character. Otherwise, if the path starts with context root, then returns the substring before the next `'/'` character or end of the string, whichever is earlier. If the path does not start with context root, returns the substring before the first `'/'` character or end of the string, whichever is earlier.

### resolve

    public ClassMetaData resolve(String alias)

  Description copied from interface: `JPAServletContext`
  Resolve the given alias to meta-data of the persistent type.

  Specified by:
    `resolve` in interface `JPAServletContext`
  Parameters:
    `alias` - a moniker for the Java type. It can be fully qualified type name or entity name or simple name of the actual persistent Java class.
  Returns:
    meta-data for the given name.

### findResource

    void findResource(String rsrc)
                throws ProcessingException

  A resource is always looked up with respect to this class.

  Parameters:
    `rsrc` -
  Throws:
    `ProcessingException`

### log

    public void log(short level,
                    String message)

  Description copied from interface: `JPAServletContext`
  Logging message.

  Specified by:
    `log` in interface `JPAServletContext`
  Parameters:
    `level` - OpenJPA defined `log levels`. Invalid levels will print the message on console.
    `message` - a printable message.

### isContextRoot

    boolean isContextRoot(String path)

  Is this path a context root?

  Parameters:
    `path` -
  Returns:

### isEmpty

    boolean isEmpty(String s)

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2006-2013 Apache Software Foundation. All Rights Reserved.