com.google.appengine.tools.admin
Class Application

java.lang.Object
  extended by com.google.appengine.tools.admin.Application
All Implemented Interfaces:
com.google.appengine.tools.admin.GenericApplication

public class Application
extends java.lang.Object
implements com.google.appengine.tools.admin.GenericApplication

An App Engine application. You can read an Application from a path, and create an AppAdmin to upload, create indexes, or otherwise manage it.


Nested Class Summary
 
Nested classes/interfaces inherited from interface com.google.appengine.tools.admin.GenericApplication
com.google.appengine.tools.admin.GenericApplication.ErrorHandler
 
Method Summary
 void cleanStagingDirectory()
          deletes the staging directory, if one was created.
 java.io.File createStagingDirectory(AppAdminFactory.ApplicationProcessingOptions opts, com.google.appengine.tools.admin.ResourceLimits resourceLimits)
          Creates a new staging directory, if needed, or returns the existing one if already created.
 java.lang.String getApiVersion()
          Returns the desired API version for the current application, or "none" if no API version was used.
 AppEngineWebXml getAppEngineWebXml()
          Returns the AppEngineWebXml describing the application.
 java.lang.String getAppId()
          Returns the application identifier, from the AppEngineWebXml config
 java.lang.String getAppYaml()
          Returns the app.yaml string.
 BackendsXml getBackendsXml()
          Returns the BackendsXml describing the applications' backends.
 CronXml getCronXml()
          Returns the CronXml describing the applications' cron jobs.
 DosXml getDosXml()
          Returns the DosXml describing the applications' DoS entries.
 java.util.List<com.google.appengine.tools.admin.GenericApplication.ErrorHandler> getErrorHandlers()
          Returns the list of error handlers for this application
 IndexesXml getIndexesXml()
          Returns the CronXml describing the applications' cron jobs.
 java.lang.String getMimeTypeIfStatic(java.lang.String path)
          Returns the mime-type if path corresponds to static content, null otherwise.
 java.lang.String getPath()
          Returns a path to an exploded WAR directory for the application.
 QueueXml getQueueXml()
          Returns the QueueXml describing the applications' task queues.
 java.io.File getStagingDir()
          Returns the staging directory, or null if none has been created.
 java.lang.String getVersion()
          Returns the application version, from the AppEngineWebXml config
 WebXml getWebXml()
          Returns the WebXml describing the applications' servlets and generic web application information.
static java.lang.String guessContentTypeFromName(java.lang.String fileName)
           
 boolean isPrecompilationEnabled()
          Returns whether precompilation is enabled for this application
static Application readApplication(java.lang.String path)
          Reads the App Engine application from path.
static Application readApplication(java.lang.String path, java.lang.String appId, java.lang.String appVersion)
          Reads the App Engine application from path.
static void recursiveDelete(java.io.File dead)
          Recursive directory deletion.
 void resetProgress()
           
 void setDetailsWriter(java.io.PrintWriter detailsWriter)
           
 void setListener(UpdateListener l)
           
 void statusUpdate(java.lang.String message)
           
 void statusUpdate(java.lang.String message, int amount)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

readApplication

public static Application readApplication(java.lang.String path)
                                   throws java.io.IOException
Reads the App Engine application from path. The path may either be a WAR file or the root of an exploded WAR directory.

Parameters:
path - a not null path.
Throws:
java.io.IOException - if an error occurs while trying to read the Application.
com.google.apphosting.utils.config.AppEngineConfigException - if the Application's appengine-web.xml file is malformed.

readApplication

public static Application readApplication(java.lang.String path,
                                          java.lang.String appId,
                                          java.lang.String appVersion)
                                   throws java.io.IOException
Reads the App Engine application from path. The path may either be a WAR file or the root of an exploded WAR directory.

Parameters:
path - a not null path.
appId - if non-null, use this as an application id override.
appVersion - if non-null, use this as an application version override.
Throws:
java.io.IOException - if an error occurs while trying to read the Application.
com.google.apphosting.utils.config.AppEngineConfigException - if the Application's appengine-web.xml file is malformed.

getAppId

public java.lang.String getAppId()
Returns the application identifier, from the AppEngineWebXml config

Specified by:
getAppId in interface com.google.appengine.tools.admin.GenericApplication
Returns:
application identifier

getVersion

public java.lang.String getVersion()
Returns the application version, from the AppEngineWebXml config

Specified by:
getVersion in interface com.google.appengine.tools.admin.GenericApplication
Returns:
application version

isPrecompilationEnabled

public boolean isPrecompilationEnabled()
Description copied from interface: com.google.appengine.tools.admin.GenericApplication
Returns whether precompilation is enabled for this application

Specified by:
isPrecompilationEnabled in interface com.google.appengine.tools.admin.GenericApplication
Returns:
precompilation setting

getErrorHandlers

public java.util.List<com.google.appengine.tools.admin.GenericApplication.ErrorHandler> getErrorHandlers()
Description copied from interface: com.google.appengine.tools.admin.GenericApplication
Returns the list of error handlers for this application

Specified by:
getErrorHandlers in interface com.google.appengine.tools.admin.GenericApplication
Returns:
error handlers

getMimeTypeIfStatic

public java.lang.String getMimeTypeIfStatic(java.lang.String path)
Description copied from interface: com.google.appengine.tools.admin.GenericApplication
Returns the mime-type if path corresponds to static content, null otherwise.

Specified by:
getMimeTypeIfStatic in interface com.google.appengine.tools.admin.GenericApplication
Returns:
mime-type, possibly null

guessContentTypeFromName

public static java.lang.String guessContentTypeFromName(java.lang.String fileName)
Parameters:
fileName - path of a file with extension
Returns:
the mimetype of the file (or application/octect-stream if not recognized)

getAppEngineWebXml

public AppEngineWebXml getAppEngineWebXml()
Returns the AppEngineWebXml describing the application.

Returns:
a not null deployment descriptor

getCronXml

public CronXml getCronXml()
Returns the CronXml describing the applications' cron jobs.

Specified by:
getCronXml in interface com.google.appengine.tools.admin.GenericApplication
Returns:
a cron descriptor, possibly empty or null

getQueueXml

public QueueXml getQueueXml()
Returns the QueueXml describing the applications' task queues.

Specified by:
getQueueXml in interface com.google.appengine.tools.admin.GenericApplication
Returns:
a queue descriptor, possibly empty or null

getDosXml

public DosXml getDosXml()
Returns the DosXml describing the applications' DoS entries.

Specified by:
getDosXml in interface com.google.appengine.tools.admin.GenericApplication
Returns:
a dos descriptor, possibly empty or null

getIndexesXml

public IndexesXml getIndexesXml()
Returns the CronXml describing the applications' cron jobs.

Specified by:
getIndexesXml in interface com.google.appengine.tools.admin.GenericApplication
Returns:
a cron descriptor, possibly empty or null

getWebXml

public WebXml getWebXml()
Returns the WebXml describing the applications' servlets and generic web application information.

Returns:
a WebXml descriptor, possibly empty but not null

getBackendsXml

public BackendsXml getBackendsXml()
Description copied from interface: com.google.appengine.tools.admin.GenericApplication
Returns the BackendsXml describing the applications' backends.

Specified by:
getBackendsXml in interface com.google.appengine.tools.admin.GenericApplication
Returns:
a backends descriptor, possibly empty or null

getApiVersion

public java.lang.String getApiVersion()
Returns the desired API version for the current application, or "none" if no API version was used.

Specified by:
getApiVersion in interface com.google.appengine.tools.admin.GenericApplication
Throws:
java.lang.IllegalStateException - if createStagingDirectory has not been called.

getPath

public java.lang.String getPath()
Returns a path to an exploded WAR directory for the application. This may be a temporary directory.

Specified by:
getPath in interface com.google.appengine.tools.admin.GenericApplication
Returns:
a not null path pointing to a directory

getStagingDir

public java.io.File getStagingDir()
Returns the staging directory, or null if none has been created.

Specified by:
getStagingDir in interface com.google.appengine.tools.admin.GenericApplication

resetProgress

public void resetProgress()
Specified by:
resetProgress in interface com.google.appengine.tools.admin.GenericApplication

createStagingDirectory

public java.io.File createStagingDirectory(AppAdminFactory.ApplicationProcessingOptions opts,
                                           com.google.appengine.tools.admin.ResourceLimits resourceLimits)
                                    throws java.io.IOException
Creates a new staging directory, if needed, or returns the existing one if already created.

Specified by:
createStagingDirectory in interface com.google.appengine.tools.admin.GenericApplication
Parameters:
opts - User-specified options for processing the application.
resourceLimits - Various resource limits provided by the cloud.
Returns:
staging directory
Throws:
java.io.IOException

cleanStagingDirectory

public void cleanStagingDirectory()
deletes the staging directory, if one was created.

Specified by:
cleanStagingDirectory in interface com.google.appengine.tools.admin.GenericApplication

recursiveDelete

public static void recursiveDelete(java.io.File dead)
Recursive directory deletion.


setListener

public void setListener(UpdateListener l)
Specified by:
setListener in interface com.google.appengine.tools.admin.GenericApplication

setDetailsWriter

public void setDetailsWriter(java.io.PrintWriter detailsWriter)
Specified by:
setDetailsWriter in interface com.google.appengine.tools.admin.GenericApplication

statusUpdate

public void statusUpdate(java.lang.String message,
                         int amount)
Specified by:
statusUpdate in interface com.google.appengine.tools.admin.GenericApplication

statusUpdate

public void statusUpdate(java.lang.String message)
Specified by:
statusUpdate in interface com.google.appengine.tools.admin.GenericApplication

getAppYaml

public java.lang.String getAppYaml()
Returns the app.yaml string.

Specified by:
getAppYaml in interface com.google.appengine.tools.admin.GenericApplication
Returns:
application configuration yaml string
Throws:
java.lang.IllegalStateException - if createStagingDirectory has not been called.