Repository
Class RepoSubs

java.lang.Object
  extended byRepository.SaveSubs
      extended byRepository.RepoSubs

class RepoSubs
extends SaveSubs

Handling of Repository subscribers.

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

Field Summary
(package private) static RepoSubs rs
          Subscribers instance
(package private)  SubscribeBean subBean
          Model using the subscribers TreeMap.
 
Constructor Summary
private RepoSubs()
          Private constructor to prevent instantiating RepoSubs from outside.
 
Method Summary
(package private) static java.lang.String add(java.lang.String owner, java.lang.String host, java.lang.String arch, java.lang.String docUrl, java.lang.String date, java.lang.String oldDate, boolean runInstall)
          Adds an archive to subscribers.
protected  java.lang.String addArch(java.lang.String arch, java.lang.String owner, java.lang.String host, java.lang.String docUrl, java.lang.String date, boolean runInstall, java.util.ArrayList addedSubscribers, boolean isDelta)
           
(package private)  void checkDownloadURL(java.lang.String oldDownloadURL, java.lang.String owner, java.lang.String host)
          Set downloadURL and updates Repository location if needed.
protected  boolean checkSub(java.lang.String url, java.lang.String pbUser, java.lang.String pbPasswd)
          Checks if the subscriber can be contacted.
protected  DeleteRc delArch(java.lang.String url, Subscriber sub, java.lang.String arch, java.lang.String publisher, java.lang.String owner, java.lang.String host, boolean runInstall, boolean toForce, boolean keepDir)
           
(package private) static DeleteRc delete(java.lang.String owner, java.lang.String host, java.lang.String arch, java.lang.String publisher, boolean toForce, boolean runInstall, boolean keepDir)
          Removes an archive from subscribers.
(package private) static java.lang.String deltaAdd(java.lang.String owner, java.lang.String host, java.lang.String arch, java.lang.String docUrl, java.lang.String date, boolean runInstall)
          Adds a jardiff archive to subscribers.
protected  void dumpSubs()
          Displays the subscriber state.
(package private) static java.lang.String getAudit(java.lang.String owner, java.lang.String host, java.lang.String arch, java.lang.String sub)
          Get PageBox Audit.
private  java.lang.String getAudit2(java.lang.String arch, java.lang.String sub, java.lang.String owner, java.lang.String host)
          Get PageBox audit.
(package private) static java.util.TreeMap getSubscribers(java.lang.String owner, java.lang.String host, java.lang.String arch)
          Get map of subscribers.
(package private) static java.util.TreeMap getSubscribers2(java.lang.String owner, java.lang.String host, java.lang.String arch)
          Get map of subscribers.
(package private) static java.util.TreeMap getSubscribers3(java.lang.String owner, java.lang.String host)
          Get map of subscribers.
private  java.lang.String init(java.lang.String owner, java.lang.String host)
          Restores subscribers.xml.
(package private) static void notify(java.lang.String owner, java.lang.String host, java.lang.String arch, RepoQueryIF.UrlStatus[] subscribers)
          Notifies the success or failure of a deployment set.
protected  void notify2(java.lang.String owner, java.lang.String host, java.lang.String arch, RepoQueryIF.UrlStatus[] subs)
          Notifies the success or failure of a deployment set.
(package private) static void notifyFix(java.lang.String owner, java.lang.String host, java.lang.String subscriber, FixArch[] archives)
          Notifies the fix of a setting problem.
protected  void notifyFix2(java.lang.String owner, java.lang.String host, java.lang.String subscriber, FixArch[] archives, boolean isArchiveSub)
          Notifies the fix of a setting problem.
protected  byte[] readArchive(java.lang.String owner, java.lang.String host, java.lang.String path)
          Reads the archive in a byte array.
(package private) static void retry()
          Called by Retry.
protected  void retryDeploy()
          Retry deploy and undeploy.
protected  java.lang.String save(java.lang.String owner, java.lang.String host, java.lang.String path)
          Saves subscribers on the path file.
private  java.lang.String sub(java.lang.String owner, java.lang.String host, java.lang.String url, java.lang.String pbUser, java.lang.String pbPasswd, int grade)
          Adds a subscriber to the repository.
(package private) static java.lang.String subscribe(java.lang.String owner, java.lang.String host, java.lang.String url, java.lang.String pbUser, java.lang.String pbPasswd, int grade)
          Adds a subscriber to the repository.
(package private) static java.lang.String sync(java.lang.String owner, java.lang.String host, java.lang.String url)
          Synchronizes a subscriber with the repository.
private  java.lang.String sync2(java.lang.String owner, java.lang.String host, java.lang.String url)
          Synchronize deployed archives with published archives.
protected  java.lang.String unsub(java.lang.String owner, java.lang.String host, java.lang.String url, boolean toForce)
          Removes a subscriber from the repository.
(package private) static java.lang.String unsubscribe(java.lang.String owner, java.lang.String host, java.lang.String url, boolean toForce)
          Removes a subscriber from the repository.
(package private) static java.lang.String update(java.lang.String owner, java.lang.String host, java.lang.String url, java.lang.String pbUser, java.lang.String pbPasswd, int grade)
          Updates subscriber information on a repository.
protected  java.lang.String updateArch(java.lang.String arch, java.lang.String owner, java.lang.String host, java.lang.String docUrl, java.lang.String date, java.lang.String oldDate, boolean runInstall, java.util.ArrayList updatedSubscribers)
           
protected  java.lang.String updateRep(java.lang.String owner, java.lang.String host, java.lang.String url, java.lang.String pbUser, java.lang.String pbPasswd, int grade)
          Updates archive subscriber information on a repository.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

rs

static RepoSubs rs
Subscribers instance


subBean

SubscribeBean subBean
Model using the subscribers TreeMap.

Constructor Detail

RepoSubs

private RepoSubs()
Private constructor to prevent instantiating RepoSubs from outside.

Method Detail

subscribe

static java.lang.String subscribe(java.lang.String owner,
                                  java.lang.String host,
                                  java.lang.String url,
                                  java.lang.String pbUser,
                                  java.lang.String pbPasswd,
                                  int grade)
Adds a subscriber to the repository.

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
pbUser - PageBox user name
pbPasswd - PageBox password
grade - grade
Returns:
info or error string

unsubscribe

static java.lang.String unsubscribe(java.lang.String owner,
                                    java.lang.String host,
                                    java.lang.String url,
                                    boolean toForce)
Removes a subscriber from the repository.

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
toForce - true if the subscriber should be removed from the repository even if it cannot be contacted
Returns:
info or error string

update

static java.lang.String update(java.lang.String owner,
                               java.lang.String host,
                               java.lang.String url,
                               java.lang.String pbUser,
                               java.lang.String pbPasswd,
                               int grade)
Updates subscriber information on a repository.

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
pbUser - PageBox user name
pbPasswd - PageBox password
grade - grade
Returns:
info or error string

sync

static java.lang.String sync(java.lang.String owner,
                             java.lang.String host,
                             java.lang.String url)
Synchronizes a subscriber with the repository.

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
Returns:
info or error string

getSubscribers

static java.util.TreeMap getSubscribers(java.lang.String owner,
                                        java.lang.String host,
                                        java.lang.String arch)
Get map of subscribers. Called by RepoQueryImpl.

Parameters:
owner - user who requested the subscribe
host - user host
arch - archive name
Returns:
map of subscribers

getSubscribers2

static java.util.TreeMap getSubscribers2(java.lang.String owner,
                                         java.lang.String host,
                                         java.lang.String arch)
Get map of subscribers. Called by PageBoxList. Same as getSubscribers except that the user is not checked.

Parameters:
owner - user who requested the subscribe
host - user host
arch - archive name
Returns:
map of subscribers

getSubscribers3

static java.util.TreeMap getSubscribers3(java.lang.String owner,
                                         java.lang.String host)
Get map of subscribers. Called by RepoTokenImpl.

Parameters:
owner - user who requested the subscribe
host - user host
Returns:
map of subscribers

notify

static void notify(java.lang.String owner,
                   java.lang.String host,
                   java.lang.String arch,
                   RepoQueryIF.UrlStatus[] subscribers)
Notifies the success or failure of a deployment set.

Parameters:
owner - user who requested the subscribe
host - user host
arch - archive name
subscribers - array of UrlStatus objects

notifyFix

static void notifyFix(java.lang.String owner,
                      java.lang.String host,
                      java.lang.String subscriber,
                      FixArch[] archives)
Notifies the fix of a setting problem.

Parameters:
owner - user who requested the subscribe
host - user host
subscriber - PageBox whose setting problem was fixed
archives - archive whose status is fixed

deltaAdd

static java.lang.String deltaAdd(java.lang.String owner,
                                 java.lang.String host,
                                 java.lang.String arch,
                                 java.lang.String docUrl,
                                 java.lang.String date,
                                 boolean runInstall)
Adds a jardiff archive to subscribers.

Parameters:
owner - archive owner
host - user host
arch - archive
docUrl - URL of the archive documentation
date - last modified date of the archive
runInstall - run application server installer if true
Returns:
null or error message

add

static java.lang.String add(java.lang.String owner,
                            java.lang.String host,
                            java.lang.String arch,
                            java.lang.String docUrl,
                            java.lang.String date,
                            java.lang.String oldDate,
                            boolean runInstall)
Adds an archive to subscribers.

Parameters:
owner - archive owner
host - user host
arch - archive
docUrl - URL of the archive documentation
date - last modified date of the archive
oldDate - expected previous last modified date of the archive
runInstall - run application server installer if true
Returns:
null or error message

delete

static DeleteRc delete(java.lang.String owner,
                       java.lang.String host,
                       java.lang.String arch,
                       java.lang.String publisher,
                       boolean toForce,
                       boolean runInstall,
                       boolean keepDir)
Removes an archive from subscribers.

Parameters:
owner - archive owner
host - user host
arch - archive
publisher - archive owner
toForce - true if the archive should be removed from the subscriber even if it cannot be contacted
runInstall - run application server deinstaller if true
keepDir - keep directory
Returns:
null or error message

retry

static void retry()
Called by Retry. Retries deploy and undeploy.


getAudit

static java.lang.String getAudit(java.lang.String owner,
                                 java.lang.String host,
                                 java.lang.String arch,
                                 java.lang.String sub)
Get PageBox Audit.

Parameters:
owner - user who requested the add
host - user host
arch - archive whose audit is requested
sub - pagebox whose audit is requested
Returns:
XML audit stream or ERROR error message

init

private java.lang.String init(java.lang.String owner,
                              java.lang.String host)
Restores subscribers.xml.

Parameters:
owner - user who requested the subscribe
host - user host
Returns:
null or error string

checkDownloadURL

void checkDownloadURL(java.lang.String oldDownloadURL,
                      java.lang.String owner,
                      java.lang.String host)

Set downloadURL and updates Repository location if needed.

Parameters:
oldDownloadURL - old download URL saved in [a]subscribers.xml
owner - archive owner
host - user host

sub

private java.lang.String sub(java.lang.String owner,
                             java.lang.String host,
                             java.lang.String url,
                             java.lang.String pbUser,
                             java.lang.String pbPasswd,
                             int grade)
Adds a subscriber to the repository.

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
pbUser - PageBox user name
pbPasswd - PageBox password
grade - grade
Returns:
info or error string

sync2

private java.lang.String sync2(java.lang.String owner,
                               java.lang.String host,
                               java.lang.String url)
Synchronize deployed archives with published archives. Called by Subscribe..

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
Returns:
info or error string

getAudit2

private java.lang.String getAudit2(java.lang.String arch,
                                   java.lang.String sub,
                                   java.lang.String owner,
                                   java.lang.String host)
Get PageBox audit.

Parameters:
arch - archive whose audit is requested
sub - pagebox whose audit is requested
owner - user who asked for the PageBox Audit
host - user host
Returns:
String XML audit stream or ERROR error message

save

protected java.lang.String save(java.lang.String owner,
                                java.lang.String host,
                                java.lang.String path)
Saves subscribers on the path file.

Parameters:
owner - user who requested the add
host - user host
path - file path
Returns:
null or error string

addArch

protected java.lang.String addArch(java.lang.String arch,
                                   java.lang.String owner,
                                   java.lang.String host,
                                   java.lang.String docUrl,
                                   java.lang.String date,
                                   boolean runInstall,
                                   java.util.ArrayList addedSubscribers,
                                   boolean isDelta)

updateArch

protected java.lang.String updateArch(java.lang.String arch,
                                      java.lang.String owner,
                                      java.lang.String host,
                                      java.lang.String docUrl,
                                      java.lang.String date,
                                      java.lang.String oldDate,
                                      boolean runInstall,
                                      java.util.ArrayList updatedSubscribers)

delArch

protected DeleteRc delArch(java.lang.String url,
                           Subscriber sub,
                           java.lang.String arch,
                           java.lang.String publisher,
                           java.lang.String owner,
                           java.lang.String host,
                           boolean runInstall,
                           boolean toForce,
                           boolean keepDir)

unsub

protected java.lang.String unsub(java.lang.String owner,
                                 java.lang.String host,
                                 java.lang.String url,
                                 boolean toForce)
Removes a subscriber from the repository.

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
toForce - true if the subscriber should be removed from the repository even if it cannot be contacted
Returns:
info or error string

readArchive

protected byte[] readArchive(java.lang.String owner,
                             java.lang.String host,
                             java.lang.String path)
Reads the archive in a byte array.

Parameters:
owner - user who requested the subscribe
host - user host
path - archive path
Returns:
null in case of error or read archive

notify2

protected void notify2(java.lang.String owner,
                       java.lang.String host,
                       java.lang.String arch,
                       RepoQueryIF.UrlStatus[] subs)
Notifies the success or failure of a deployment set. Updates subscribers accordingly.

Parameters:
owner - user who requested the subscribe
host - user host
arch - archive name
subs - array of UrlStatus objects

notifyFix2

protected void notifyFix2(java.lang.String owner,
                          java.lang.String host,
                          java.lang.String subscriber,
                          FixArch[] archives,
                          boolean isArchiveSub)
Notifies the fix of a setting problem.

Parameters:
owner - user who requested the subscribe
host - user host
subscriber - PageBox whose setting problem was fixed
archives - archive whose status is fixed
isArchiveSub - true if archive subscribers false if subscribers

dumpSubs

protected void dumpSubs()
Displays the subscriber state. Called by Retry.


retryDeploy

protected void retryDeploy()
Retry deploy and undeploy.


updateRep

protected java.lang.String updateRep(java.lang.String owner,
                                     java.lang.String host,
                                     java.lang.String url,
                                     java.lang.String pbUser,
                                     java.lang.String pbPasswd,
                                     int grade)
Updates archive subscriber information on a repository. Try removing archives in authentication state.

Parameters:
owner - user who requested the subscribe
host - user host
url - URL of the subscribed PageBox
pbUser - PageBox user name
pbPasswd - PageBox password
grade - grade
Returns:
info or error string

checkSub

protected boolean checkSub(java.lang.String url,
                           java.lang.String pbUser,
                           java.lang.String pbPasswd)
Checks if the subscriber can be contacted.

Parameters:
url - URL of the subscribed PageBox
pbUser - PageBox user name
pbPasswd - PageBox password
Returns:
boolean false when the PageBox cannot be contacted.