PageBoxLib
Class Deployer

java.lang.Object
  extended byPageBoxLib.Deployer
All Implemented Interfaces:
DeployerIF, DeployIF, java.rmi.Remote, TokenIF

class Deployer
extends java.lang.Object
implements DeployerIF

Web service invoker.

Changes:

alexis.grandemange@pagebox.net

Copyright (c) 2002-2004 Alexis Grandemange

This program is free software; you can redistribute it and/or
 modify it under the terms of the GNU Lesser General Public License
 as published by the Free Software Foundation; version 2.1 of the
 License.
 This library is distributed in the hope that it will be useful,
 but WITHOUT ANY WARRANTY; without even the implied warranty of
 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
 GNU Lesser General Public License for more details.
 A copy of the GNU Lesser General Public License lesser.txt should be
 included in the distribution.

Version:
0, 1, 1
Author:
Alexis Grandemange

Nested Class Summary
 
Nested classes inherited from class PageBoxLib.DeployIF
DeployIF.Status, DeployIF.UrlUser
 
Field Summary
(package private)  DeployerIF di
          Class calling the DeployIF Web service
private  Log log
          Logging object
(package private)  java.lang.String url
          Current URL for tracing purpose
 
Constructor Summary
private Deployer(DeployerIF di)
          Constructor.
 
Method Summary
 DeployIF.Status add(java.lang.String arch, java.lang.String downloadURL, java.lang.String owner, byte[] archData, java.lang.String date, java.lang.String oldDate, java.lang.String docURL, java.lang.String user, boolean isUpdate, boolean runInstall, DeployIF.UrlUser[] relayed)
          Deploys an archive and returns a status.
 DeployIF.Status delete(java.lang.String arch, java.lang.String downloadURL, java.lang.String owner, java.lang.String user, boolean runRemove, boolean keepDir)
          Undeploys an archive and returns a status.
 DeployIF.Status frameSend(TokenFrame frame)
          TokenIF method.
 java.lang.String getArchPath(java.lang.String arch)
          Returns an archive path.
 java.lang.String getAudit(java.lang.String arch, java.lang.String owner, java.lang.String user, java.lang.String downloadURL)
          Returns the audit entries specific to an archive on a PageBox
(package private) static Deployer getDeployer(java.lang.String deployerclass, Log log)
          Factory method.
 java.lang.String rename(java.lang.String oldDownloadURL, java.lang.String newDownloadURL, java.lang.String user)
          Change the repository URL.
 void setUrl(java.lang.String url, java.lang.String user, java.lang.String passwd, Log log)
          Set the Web service URI.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

di

DeployerIF di
Class calling the DeployIF Web service


log

private Log log
Logging object


url

java.lang.String url
Current URL for tracing purpose

Constructor Detail

Deployer

private Deployer(DeployerIF di)
Constructor. Private: can be called only by getDeployer.

Parameters:
di - class calling the DeployIF Web service
Method Detail

getDeployer

static Deployer getDeployer(java.lang.String deployerclass,
                            Log log)
Factory method. Creates a Deployer for deployerclass.

Parameters:
deployerclass - name of the class calling the DeployIF Web service
log - logging object

setUrl

public void setUrl(java.lang.String url,
                   java.lang.String user,
                   java.lang.String passwd,
                   Log log)
Set the Web service URI.

Specified by:
setUrl in interface DeployerIF
Parameters:
url - Web service URI.
user - Web service account ID
passwd - Web service account password
log - logging object

add

public DeployIF.Status add(java.lang.String arch,
                           java.lang.String downloadURL,
                           java.lang.String owner,
                           byte[] archData,
                           java.lang.String date,
                           java.lang.String oldDate,
                           java.lang.String docURL,
                           java.lang.String user,
                           boolean isUpdate,
                           boolean runInstall,
                           DeployIF.UrlUser[] relayed)
                    throws java.rmi.RemoteException
Deploys an archive and returns a status.

Specified by:
add in interface DeployIF
Parameters:
arch - archive name.
downloadURL - download URL.
owner - user who published the archive.
archData - archive data.
date - publication date and time
oldDate - expected previous publication date and time.
docURL - documentation URL.
user - user who subscribed the PageBox.
isUpdate - if true delta update
runInstall - if true run the Application server installer (Web application)
relayed - PageBox instances to deploy
Returns:
Status object.
Throws:
java.rmi.RemoteException

delete

public DeployIF.Status delete(java.lang.String arch,
                              java.lang.String downloadURL,
                              java.lang.String owner,
                              java.lang.String user,
                              boolean runRemove,
                              boolean keepDir)
                       throws java.rmi.RemoteException
Undeploys an archive and returns a status.

Specified by:
delete in interface DeployIF
Parameters:
arch - archive name.
downloadURL - download URL.
owner - user who published the archive.
user - user who subscribed the PageBox.
runRemove - if true run the Application server installer (Web application)
keepDir - keep directory
Returns:
Status object.
Throws:
java.rmi.RemoteException

rename

public java.lang.String rename(java.lang.String oldDownloadURL,
                               java.lang.String newDownloadURL,
                               java.lang.String user)
                        throws java.rmi.RemoteException
Change the repository URL.

Specified by:
rename in interface DeployIF
Parameters:
oldDownloadURL - previous download URL for some archives
newDownloadURL - new download URL for these archives
user - user who subscribed the PageBox.
Returns:
status.
Throws:
java.rmi.RemoteException

getArchPath

public java.lang.String getArchPath(java.lang.String arch)
Returns an archive path. Implemented because defined in DeployIF. Normally not used. Method added for the PageBox API support.

Specified by:
getArchPath in interface DeployIF
Parameters:
arch - archive name
Returns:
URL of archive pages

getAudit

public java.lang.String getAudit(java.lang.String arch,
                                 java.lang.String owner,
                                 java.lang.String user,
                                 java.lang.String downloadURL)
                          throws java.rmi.RemoteException
Returns the audit entries specific to an archive on a PageBox

Specified by:
getAudit in interface DeployIF
Parameters:
arch - archive name without extension
owner - user who published the archive.
user - user who subscribed the PageBox.
downloadURL - download URL.
Returns:
audit entries
Throws:
java.rmi.RemoteException

frameSend

public DeployIF.Status frameSend(TokenFrame frame)
                          throws java.rmi.RemoteException
TokenIF method. Send the frame to the next station on the adjacency list.

Specified by:
frameSend in interface TokenIF
Parameters:
frame - sent frame
Returns:
status object
Throws:
java.rmi.RemoteException