Contains many of the calls to the CF Java client. The CF server behaviour should be the main call point for interacting with the actual cloud server, with the exception of Caldecott, which is handled in a similar behaviour.
It's important to note that almost all Java client calls are wrapped around a Request object, and it is important to wrap future client calls around a Request object, as the request object handles automatic client login, server state verification, and proxy handling.
It is important to note that Application operations like deploying, starting, restarting, update restarting, and stopping should be performed atomically as {@link ApplicationOperation}, as the operation , among other things:
1. Ensures the deployment information for the application is complete and valid before performing the operation.
2. Ensures any active refresh jobs running in the background are stopped while the operation is performed
3. Ensures any active stopped refresh jobs are restarted after the operation.
4. Handles any common errors associated with these operations, in particular staging errors.
WST framework publishing of applications (e.g. drag/drop to Servers view, or Run On Server), rely on {@link #publishModule(int,int,IModule[],IProgressMonitor)}. It's important to note that as of CF 1.6.1, all WST framework-based publishings will result in server-level publishing, so even if deploying a particular application, other applications that are already deployed and not external (i.e. have a corresponding workspace project) that need republishing may be republished as well. IMPORTANT NOTE: This class can be referred by the branding extension from adopter so this class should not be moved or renamed to avoid breakage to adopters.
@author Christian Dupuis
@author Leo Dos Santos
@author Terry Denney
@author Steffen Pingel
@author Nieraj Singh