PageBoxLib
Class HTTPDeployer

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

public class HTTPDeployer
extends java.lang.Object
implements DeployerIF

Web service invoker for raw HTTP.

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, 0
Author:
Alexis Grandemange

Nested Class Summary
 
Nested classes inherited from class PageBoxLib.DeployIF
DeployIF.Status, DeployIF.UrlUser
 
Field Summary
private  Log log
          Logging object
(package private)  java.lang.String up
          Web service encoded user and password
(package private)  java.lang.String url
          Web service URI
 
Constructor Summary
HTTPDeployer()
           
 
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.
private  java.net.HttpURLConnection connect()
          Set up a HTTP connection.
 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
 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

url

java.lang.String url
Web service URI


up

java.lang.String up
Web service encoded user and password


log

private Log log
Logging object

Constructor Detail

HTTPDeployer

public HTTPDeployer()
Method Detail

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
See Also:
PageBoxLib.DeployerIF#setUrl(String, String, String)

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
See Also:
PageBoxLib.DeployIF#add(String, String, String, byte[], String, String, String, String, boolean, boolean, UrlUser[])

connect

private java.net.HttpURLConnection connect()
                                    throws java.lang.Exception
Set up a HTTP connection.

Returns:
created HTTP connection
Throws:
java.lang.Exception

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
See Also:
DeployIF.delete(String, String, String, String, boolean, boolean)

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
See Also:
DeployIF.rename(String, String, String)

getArchPath

public java.lang.String getArchPath(java.lang.String arch)
                             throws java.rmi.RemoteException
Returns an archive path. Method added for the PageBox API support.

Specified by:
getArchPath in interface DeployIF
Parameters:
arch - archive name
Returns:
URL of archive pages
Throws:
java.rmi.RemoteException
See Also:
DeployIF.getArchPath(String)

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
See Also:
DeployIF.getAudit(String, String, String, String)

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