com.google.appengine.tools.remoteapi
Class RemoteApiInstaller

java.lang.Object
  extended by com.google.appengine.tools.remoteapi.RemoteApiInstaller

public class RemoteApiInstaller
extends java.lang.Object

Installs and uninstalls the remote API. While the RemoteApi is installed, all App Engine calls made by the same thread that performed the installation will be sent to a remote server.

Instances of this class can only be used on a single thread.


Constructor Summary
RemoteApiInstaller()
           
 
Method Summary
 int getRpcCount()
          Returns the number of RPC calls made since the API was installed or resetRpcCount() was called.
 void install(RemoteApiOptions options)
          Installs the remote API using the provided options.
 void logMethodCalls()
          Starts logging remote API method calls to the console.
static Cookie makeDevAppServerCookie(java.lang.String hostname, java.lang.String email)
           
 void resetRpcCount()
           
 java.lang.String serializeCredentials()
          Returns a string containing the cookies associated with this connection.
 void uninstall()
          Uninstalls the remote API.
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RemoteApiInstaller

public RemoteApiInstaller()
Method Detail

install

public void install(RemoteApiOptions options)
             throws java.io.IOException
Installs the remote API using the provided options. Logs into the remote application using the credentials available via these options.

Warning: This method only installs the remote API on the current thread. Do not share this instance across threads!

Throws:
java.lang.IllegalArgumentException - if the server or credentials weren't provided.
java.lang.IllegalStateException - if already installed
LoginException - if unable to log in.
java.io.IOException - if unable to connect to the remote API.

uninstall

public void uninstall()
Uninstalls the remote API. If any async calls are in progress, waits for them to finish.

If the remote API isn't installed, this method has no effect.


serializeCredentials

public java.lang.String serializeCredentials()
Returns a string containing the cookies associated with this connection. The string can be used to create a new connection without logging in again by using RemoteApiOptions.reuseCredentials(java.lang.String, java.lang.String). By storing credentials to a file, we can avoid repeated password prompts in command-line tools. (Note that the cookies will expire based on the setting under Application Settings in the admin console.)

Beware: it's important to keep this string private, as it allows admin access to the app as the current user.


logMethodCalls

public void logMethodCalls()
Starts logging remote API method calls to the console. (Useful within tests.)


resetRpcCount

public void resetRpcCount()

getRpcCount

public int getRpcCount()
Returns the number of RPC calls made since the API was installed or resetRpcCount() was called.


makeDevAppServerCookie

public static Cookie makeDevAppServerCookie(java.lang.String hostname,
                                            java.lang.String email)