All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.lockss.ws.metadata.MetadataMonitorService Maven / Gradle / Ivy

There is a newer version: 1.5.1
Show newest version
/*

 Copyright (c) 2015-2019 Board of Trustees of Leland Stanford Jr. University,
 all rights reserved.

 Permission is hereby granted, free of charge, to any person obtaining a copy
 of this software and associated documentation files (the "Software"), to deal
 in the Software without restriction, including without limitation the rights
 to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 copies of the Software, and to permit persons to whom the Software is
 furnished to do so, subject to the following conditions:

 The above copyright notice and this permission notice shall be included in
 all copies or substantial portions of the Software.

 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
 STANFORD UNIVERSITY BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
 WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR
 IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

 Except as contained in this notice, the name of Stanford University shall not
 be used in advertising or otherwise to promote the sale, use or other dealings
 in this Software without prior written authorization from Stanford University.

 */
package org.lockss.ws.metadata;

import java.util.List;
import javax.jws.WebMethod;
import javax.jws.WebService;
import org.lockss.ws.entities.AuMetadataWsResult;
import org.lockss.ws.entities.KeyIdNamePairListPair;
import org.lockss.ws.entities.KeyValueListPair;
import org.lockss.ws.entities.LockssWebServicesFault;
import org.lockss.ws.entities.MetadataItemWsResult;
import org.lockss.ws.entities.MismatchedMetadataChildWsResult;
import org.lockss.ws.entities.PkNamePairIdNamePairListPair;
import org.lockss.ws.entities.UnnamedItemWsResult;

/**
 * The Metadata Monitor SOAP web service interface.
 */
@WebService
public interface MetadataMonitorService {
  /**
   * Provides the names of the publishers in the database.
   * 
   * @return a {@code List} with the publisher names.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getPublisherNames() throws LockssWebServicesFault;

  /**
   * Provides the DOI prefixes for the publishers in the database with multiple
   * DOI prefixes.
   * 
   * @return a {@code List} with the DOI prefixes keyed by the
   *         publisher name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getPublishersWithMultipleDoiPrefixes()
      throws LockssWebServicesFault;

  /**
   * Provides the publisher names linked to DOI prefixes in the database that
   * are linked to multiple publishers.
   * 
   * @return a {@code List} with the publisher names keyed by
   *         the DOI prefixes to which they are linked.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getDoiPrefixesWithMultiplePublishers()
      throws LockssWebServicesFault;

  /**
   * Provides the DOI prefixes for the Archival Units in the database with
   * multiple DOI prefixes.
   * 
   * @return a {@code List} with the DOI prefixes keyed by the
   *         Archival Unit identifier.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getAuIdsWithMultipleDoiPrefixes()
      throws LockssWebServicesFault;

  /**
   * Provides the DOI prefixes for the Archival Units in the database with
   * multiple DOI prefixes.
   * 
   * @return a {@code List} with the DOI prefixes keyed by the
   *         Archival Unit name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getAuNamesWithMultipleDoiPrefixes()
      throws LockssWebServicesFault;

  /**
   * Provides the ISBNs for the publications in the database with more than two
   * ISBNS.
   * 
   * @return a {@code List} with the ISBNs keyed by the
   *         publication name. The IdNamePair objects contain the ISBN as the
   *         identifier and the ISBN type as the name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getPublicationsWithMoreThan2Isbns()
      throws LockssWebServicesFault;

  /**
   * Provides the ISSNs for the publications in the database with more than two
   * ISSNS.
   * 
   * @return a {@code List} with the ISSNs keyed by the
   *         publication name. The IdNamePair objects contain the ISSN as the
   *         identifier and the ISSN type as the name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getPublicationsWithMoreThan2Issns()
      throws LockssWebServicesFault;

  /**
   * Provides the ISSNs for the publications in the database with more than two
   * ISSNS.
   * 
   * @return a {@code List} with the ISSNs keyed
   *         by the publication PK/name pair. The IdNamePair objects contain the
   *         ISSN as the identifier and the ISSN type as the name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getIdPublicationsWithMoreThan2Issns()
      throws LockssWebServicesFault;

  /**
   * Provides the publication names linked to ISBNs in the database that are
   * linked to multiple publications.
   * 
   * @return a {@code List} with the publication names keyed
   *         by the ISBNs to which they are linked.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getIsbnsWithMultiplePublications()
      throws LockssWebServicesFault;

  /**
   * Provides the publication names linked to ISSNs in the database that are
   * linked to multiple publications.
   * 
   * @return a {@code List} with the publication names keyed
   *         by the ISSNs to which they are linked.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getIssnsWithMultiplePublications()
      throws LockssWebServicesFault;

  /**
   * Provides the ISSNs for books in the database.
   * 
   * @return a {@code List} with the ISSNs keyed by the
   *         publication name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getBooksWithIssns() throws LockssWebServicesFault;

  /**
   * Provides the ISBNs for periodicals in the database.
   * 
   * @return a {@code List} with the ISBNs keyed by the
   *         publication name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getPeriodicalsWithIsbns()
      throws LockssWebServicesFault;

  /**
   * Provides the Archival Units in the database with an unknown provider.
   * 
   * @return a {@code List} with the sorted Archival Unit identifiers.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getUnknownProviderAuIds() throws LockssWebServicesFault;

  /**
   * Provides the journal articles in the database whose parent is not a
   * journal.
   * 
   * @return a {@code List} with the mismatched journal
   *         articles sorted by Archival Unit, parent name and child name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getMismatchedParentJournalArticles()
      throws LockssWebServicesFault;

  /**
   * Provides the book chapters in the database whose parent is not a book or a
   * book series.
   * 
   * @return a {@code List} with the mismatched book
   *         chapters sorted by Archival Unit, parent name and child name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getMismatchedParentBookChapters()
      throws LockssWebServicesFault;

  /**
   * Provides the book volumes in the database whose parent is not a book or a
   * book series.
   * 
   * @return a {@code List} with the mismatched book
   *         volumes sorted by Archival Unit, parent name and child name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getMismatchedParentBookVolumes()
      throws LockssWebServicesFault;

  /**
   * Provides the publishers for the Archival Units in the database with
   * multiple publishers.
   * 
   * @return a {@code List} with the publishers keyed by the
   *         Archival Unit identifier.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getAuIdsWithMultiplePublishers()
      throws LockssWebServicesFault;

  /**
   * Provides the publishers for the Archival Units in the database with
   * multiple publishers.
   * 
   * @return a {@code List} with the publishers keyed by the
   *         Archival Unit name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getAuNamesWithMultiplePublishers()
      throws LockssWebServicesFault;

  /**
   * Provides the metadata items in the database that do not have a name.
   * 
   * @return a {@code List} with the unnamed metadata items
   *         sorted sorted by publisher, Archival Unit, parent type, parent name
   *         and item type.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getUnnamedItems() throws LockssWebServicesFault;

  /**
   * Provides the proprietary identifiers for the publications in the database
   * with multiple proprietary identifiers.
   * 
   * @return a {@code List} with the proprietary identifiers
   *         keyed by the publication name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getPublicationsWithMultiplePids()
      throws LockssWebServicesFault;

  /**
   * Provides the non-parent metadata items in the database that have no DOI.
   *
   * @return a {@code List} with the non-parent metadata
   *         items that have no DOI sorted sorted by publisher, Archival Unit,
   *         parent type, parent name, item type and item name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getNoDoiItems() throws LockssWebServicesFault;

  /**
   * Provides the non-parent metadata items in the database that have no Access
   * URL.
   *
   * @return a {@code List} with the non-parent metadata
   *         items that have no Access URL sorted sorted by publisher, Archival
   *         Unit, parent type, parent name, item type and item name.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getNoAccessUrlItems()
      throws LockssWebServicesFault;

  /**
   * Provides the Archival Units in the database with no metadata items.
   * 
   * @return a {@code List} with the sorted Archival Unit identifiers.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getNoItemsAuIds() throws LockssWebServicesFault;

  /**
   * Provides the metadata information of an archival unit in the system.
   * 
   * @param auId A String with the identifier of the archival unit.
   * @return an AuMetadataWsResult with the metadata information of the archival
   *         unit.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  AuMetadataWsResult getAuMetadata(String auId) throws LockssWebServicesFault;

  /**
   * Provides the Archival Units that exist in the database but that have been
   * deleted from the daemon.
   * 
   * @return a {@code List} with the Archival unit data.
   * @throws LockssWebServicesFault if there are problems.
   */
  @WebMethod
  List getDbArchivalUnitsDeletedFromDaemon()
      throws LockssWebServicesFault;
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy