PageBoxLib
Class JWSDPDeployer

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

class JWSDPDeployer
extends java.lang.Object
implements DeployerIF

Web service invoker for JWSDP.

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
private  DeployIF di
          Web service stub
private  Log log
          Logging object
 
Constructor Summary
(package private) JWSDPDeployer()
          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
 java.lang.String rename(java.lang.String oldDownloadURL, java.lang.String newDownloadURL, java.lang.String user)
          Change the repository URL.
private  java.lang.String ser(java.lang.Object o)
          Serializer for LinkedList entries.
 void setUrl(java.lang.String url, java.lang.String user, java.lang.String passwd, Log log)
          Set the Web service URI.
private  java.lang.Object unser(java.lang.String s)
          Unserializer for LinkedList entries.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

di

private DeployIF di
Web service stub


log

private Log log
Logging object

Constructor Detail

JWSDPDeployer

JWSDPDeployer()
Constructor. Creates the stub.

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

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)
                             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

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. The JWSDP 1.2 implementation is broken regarding LinkedList entries. Therefore we serialize entries into Strings.

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

ser

private java.lang.String ser(java.lang.Object o)
Serializer for LinkedList entries. Motivation: JWSDP 1.2 problem.

Returns:
serialized stream encoded in Base 64

unser

private java.lang.Object unser(java.lang.String s)
Unserializer for LinkedList entries. Motivation: JWSDP 1.2 problem.

Parameters:
s - serialized object
Returns:
unserialized object