Package org.apache.oodt.cas.catalog.server.channel

Source Code of org.apache.oodt.cas.catalog.server.channel.AbstractCommunicationChannelServer

/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements.  See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License.  You may obtain a copy of the License at
*
*     http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.oodt.cas.catalog.server.channel;

//JDK imports
import java.net.URL;
import java.util.List;
import java.util.Properties;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;

//OODT imports
import org.apache.oodt.cas.catalog.metadata.TransactionalMetadata;
import org.apache.oodt.cas.catalog.page.CatalogReceipt;
import org.apache.oodt.cas.catalog.page.Page;
import org.apache.oodt.cas.catalog.page.PageInfo;
import org.apache.oodt.cas.catalog.page.QueryPager;
import org.apache.oodt.cas.catalog.page.TransactionReceipt;
import org.apache.oodt.cas.catalog.query.QueryExpression;
import org.apache.oodt.cas.catalog.struct.Dictionary;
import org.apache.oodt.cas.catalog.struct.Index;
import org.apache.oodt.cas.catalog.struct.TransactionId;
import org.apache.oodt.cas.catalog.system.Catalog;
import org.apache.oodt.cas.catalog.system.CatalogService;
import org.apache.oodt.cas.catalog.util.PluginURL;
import org.apache.oodt.cas.catalog.util.Serializer;
import org.apache.oodt.cas.metadata.Metadata;

/**
* @author bfoster
* @version $Revision$
*
* <p>
* An Abstract Communication Channel Server Interface that automatically handles throw exceptions
* <p>
*/
public abstract class AbstractCommunicationChannelServer implements CommunicationChannelServer {
 
  private static Logger LOG = Logger.getLogger(AbstractCommunicationChannelServer.class.getName());
 
  protected CatalogService catalogService;
  protected int port;
  protected Serializer serializer;
 
  public AbstractCommunicationChannelServer() {
    this.serializer = new Serializer();
  }
 
  public void setCatalogService(CatalogService catalogService) {
    this.catalogService = catalogService;
  }
 
  public void setPort(int port) {
    this.port = port;
  }
 
  public int getPort() {
    return this.port;
  }

  public void shutdown() throws Exception {
    try {
      this.catalogService.shutdown();
      this.catalogService = null;
      System.gc(); // used to speed up shutdown process (gives java a boost-start at cleaning up everything so server will die)
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed to shutdown server : " + e.getMessage(), e);
      throw new Exception("Failed to shutdown server : " + e.getMessage(), e);
    }
  }
 
  public boolean isRestrictQueryPermissions() throws Exception {
    try {
      return this.catalogService.isRestrictQueryPermissions();
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while checking server query permissions : " + e.getMessage(), e);
      throw new Exception("Failed while checking server query permissions : " + e.getMessage(), e);
    }
  }
//
//  public void setRestrictQueryPermissions(boolean restrictQueryPermissions) throws CatalogServiceException {
//    this.catalogService.setRestrictQueryPermissions(restrictQueryPermissions);
//  }
//
  public boolean isRestrictIngestPermissions() throws Exception {
    try {
      return this.catalogService.isRestrictIngestPermissions();
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while checking server ingest permissions : " + e.getMessage(), e);
      throw new Exception("Failed while checking server ingest permissions : " + e.getMessage(), e);
    }
  }
//
//  public void setHasIngestPermissions(boolean restrictIngestPermissions) throws CatalogServiceException {
//    this.catalogService.setHasIngestPermissions(restrictIngestPermissions);
//  }

//  public Class<? extends TransactionId<?>> getTransactionIdClass() throws CatalogServiceException {
//    return this.catalogService.getTransactionIdClass();
//  }
//
//  public void setTransactionIdClass(Class<? extends TransactionId<?>> transactionIdClass) throws CatalogServiceException {
//    this.catalogService.setTransactionIdClass(transactionIdClass);
//  }
//
  public void addCatalog(Catalog catalog) throws Exception {
    try {
      this.catalogService.addCatalog(catalog);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while adding catalog '" + catalog + "' to server : " + e.getMessage(), e);
      throw new Exception("Failed while adding catalog '" + catalog + "' to server : " + e.getMessage(), e);
    }
  }
 
  public void replaceCatalog(Catalog catalog) throws Exception {
    try {
      this.catalogService.replaceCatalog(catalog);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while replacing catalog '" + catalog + "' to server : " + e.getMessage(), e);
      throw new Exception("Failed while replacing catalog '" + catalog + "' to server : " + e.getMessage(), e);
    }
  }
 
  public void addCatalog(String catalogId, Index index) throws Exception {
    try {
      this.catalogService.addCatalog(catalogId, index);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while adding catalog '" + catalogId + "' with index '" + index + "' to server : " + e.getMessage(), e);
      throw new Exception("Failed while adding catalog '" + catalogId + "' with index '" + index + "' to server : " + e.getMessage(), e);
    }
  }
 
  public void addCatalog(String catalogId, Index index, List<Dictionary> dictionaries) throws Exception {
    try {
      this.catalogService.addCatalog(catalogId, index, dictionaries);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while adding catalog '" + catalogId + "' with index '" + index + "' and dictionaries '" + dictionaries + "' to server : " + e.getMessage(), e);
      throw new Exception("Failed while adding catalog '" + catalogId + "' with index '" + index + "' and dictionaries '" + dictionaries + "' to server : " + e.getMessage(), e);
    }
  }

  public void addCatalog(String catalogId, Index index, List<Dictionary> dictionaries, boolean restrictQueryPermission, boolean restrictIngestPermission) throws Exception {
    try {
      this.catalogService.addCatalog(catalogId, index, dictionaries, restrictQueryPermission, restrictIngestPermission);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while adding catalog '" + catalogId + "' with index '" + index + "' and dictionaries '" + dictionaries + "' and restrictQueryPermission '" + restrictQueryPermission + "' and restrictIngestPermission '" + restrictIngestPermission + "' to server : " + e.getMessage(), e);
      throw new Exception("Failed while adding catalog '" + catalogId + "' with index '" + index + "' and dictionaries '" + dictionaries + "' and restrictQueryPermission '" + restrictQueryPermission + "' and restrictIngestPermission '" + restrictIngestPermission + "' to server : " + e.getMessage(), e);
    }
  }

  public void addDictionary(String catalogId, Dictionary dictionary) throws Exception {
    try {
      this.catalogService.addDictionary(catalogId, dictionary);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while adding dictionary '" + dictionary + "' to catalog '" + catalogId + "' : " + e.getMessage(), e);
      throw new Exception("Failed while adding dictionary '" + dictionary + "' to catalog '" + catalogId + "' : " + e.getMessage(), e);
    }
  }
 
  public void replaceDictionaries(String catalogId, List<Dictionary> dictionaries) throws Exception {
    try {
      this.catalogService.replaceDictionaries(catalogId, dictionaries);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while replacing dictionaries '" + dictionaries + "' in catalog '" + catalogId + "' : " + e.getMessage(), e);
      throw new Exception("Failed while replacing dictionaries '" + dictionaries + "' in catalog '" + catalogId + "' : " + e.getMessage(), e);
    }
  }

  public void replaceIndex(String catalogId, Index index) throws Exception {
    try {
      this.catalogService.replaceIndex(catalogId, index);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while replacing index '" + index + "' in catalog '" + catalogId + "' : " + e.getMessage(), e);
      throw new Exception("Failed while replacing index '" + index + "' in catalog '" + catalogId + "' : " + e.getMessage(), e);
    }
  }

  public void modifyIngestPermission(String catalogId, boolean restrictIngestPermission) throws Exception {
    try {
      this.catalogService.modifyIngestPermission(catalogId, restrictIngestPermission);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while changing ingest permissions for catalog '" + catalogId + "' to '" + restrictIngestPermission + "' : " + e.getMessage(), e);
      throw new Exception("Failed while changing ingest permissions for catalog '" + catalogId + "' to '" + restrictIngestPermission + "' : " + e.getMessage(), e);
    }
  }
 
  public void modifyQueryPermission(String catalogId, boolean restrictQueryPermission) throws Exception {
    try {
      this.catalogService.modifyQueryPermission(catalogId, restrictQueryPermission);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while changing query permissions for catalog '" + catalogId + "' to '" + restrictQueryPermission + "' : " + e.getMessage(), e);
      throw new Exception("Failed while changing query permissions for catalog '" + catalogId + "' to '" + restrictQueryPermission + "' : " + e.getMessage(), e);
    }
  }
 
  public void removeCatalog(String catalogId) throws Exception {
    try {
      this.catalogService.removeCatalog(catalogId);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while removing catalog '" + catalogId + "' : " + e.getMessage(), e);
      throw new Exception("Failed while removing catalog '" + catalogId + "' : " + e.getMessage(), e);
    }
  }

//  public void removeCatalog(String catalogUrn, boolean preserveMapping) throws CatalogServiceException {
//    this.catalogService.removeCatalog(catalogUrn, preserveMapping);
//  }

  public List<PluginURL> getPluginUrls() throws Exception {
    try {
      return this.catalogService.getPluginUrls();
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting plugin URLs : " + e.getMessage(), e);
      throw new Exception("Failed while getting plugin URLs : " + e.getMessage(), e);
    }
  }
 
  public void addPluginUrls(List<PluginURL> pluginURLs) throws Exception {
    try {
      this.catalogService.addPluginUrls(pluginURLs);
      this.serializer.refreshClassLoader();
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while adding plugin URLs '" + pluginURLs + "' : " + e.getMessage(), e);
      throw new Exception("Failed while adding plugin URLs '" + pluginURLs + "' : " + e.getMessage(), e);
    }
  }
 
  public URL getPluginStorageDir() throws Exception {
    try {
      return this.catalogService.getPluginStorageDir();
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting plugin storage directory : " + e.getMessage(), e);
      throw new Exception("Failed while getting plugin storage directory : " + e.getMessage(), e);
    }
  }
 
//  public Set<Catalog> getCurrentCatalogList() throws CatalogServiceException {
//    return this.catalogService.getCurrentCatalogList();
//  }
// 
//  public Catalog getCatalog(String catalogUrn) throws CatalogServiceException {
//    return this.catalogService.getCatalog(catalogUrn);
//  }

  public Set<String> getCurrentCatalogIds() throws Exception {
    try {
      return this.catalogService.getCurrentCatalogIds();
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting current catalog ids : " + e.getMessage(), e);
      throw new Exception("Failed while getting current catalog ids : " + e.getMessage(), e);
   
  }
   
  public TransactionReceipt ingest(Metadata metadata) throws Exception {
    try {
      return this.catalogService.ingest(metadata);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while performing ingest : " + e.getMessage(), e);
      throw new Exception("Failed while performing ingest : " + e.getMessage(), e);
    }
  }
 
  public void delete(Metadata metadata) throws Exception {
    try {
      this.catalogService.delete(metadata);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while performing deletion : " + e.getMessage(), e);
      throw new Exception("Failed while performing deletion : " + e.getMessage(), e);
   
  }
 
  public List<String> getProperty(String key) throws Exception {
    try {
      return this.catalogService.getProperty(key);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting property '" + key + "' : " + e.getMessage(), e);
      throw new Exception("Failed while getting property '" + key + "' : " + e.getMessage(), e);
   
  }

  public Properties getCalalogProperties() throws Exception {
    try {
      return this.catalogService.getCalalogProperties();
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting catalog properties : " + e.getMessage(), e);
      throw new Exception("Failed while getting catalog properties : " + e.getMessage(), e);
    }   
  }
 
  public Properties getCalalogProperties(String catalogId) throws Exception {
    try {
      return this.catalogService.getCalalogProperties(catalogId);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting catalog properties for catalog '" + catalogId + "' : " + e.getMessage(), e);
      throw new Exception("Failed while getting catalog properties for catalog '" + catalogId + "' : " + e.getMessage(), e);
   
  }

//  public Page getFirstPage(QueryExpression queryExpression) throws Exception {
//    return this.catalogService.getFirstPage(queryExpression);
//  }
//
//  public Page getFirstPage(QueryExpression queryExpression, Set<String> catalogIds) throws Exception {
//    return this.catalogService.getFirstPage(queryExpression, catalogIds);
//  }
 
  public Page getNextPage(Page page) throws Exception {
    try {
      return this.catalogService.getNextPage(page);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting next page : " + e.getMessage(), e);
      throw new Exception("Failed while getting next page : " + e.getMessage(), e);
   
  }
 
  public Page getPage(PageInfo pageInfo, QueryExpression queryExpression) throws Exception {
    try {
      return this.catalogService.getPage(pageInfo, queryExpression);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting next page [pageInfo='" + pageInfo + "',query='" + queryExpression + "'] : " + e.getMessage(), e);
      throw new Exception("Failed while getting next page [pageInfo='" + pageInfo + "',query='" + queryExpression + "'] : " + e.getMessage(), e);
    }
  }
 
  public Page getPage(PageInfo pageInfo, QueryExpression queryExpression, Set<String> catalogIds) throws Exception {
    try {
      return this.catalogService.getPage(pageInfo, queryExpression, catalogIds);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting next page [pageInfo='" + pageInfo + "',query='" + queryExpression + "',catalogIds='" + catalogIds + "'] : " + e.getMessage(), e);
      throw new Exception("Failed while getting next page [pageInfo='" + pageInfo + "',query='" + queryExpression + "',catalogIds='" + catalogIds + "'] : " + e.getMessage(), e);
    }
  }
 
//  public Page getLastPage(QueryExpression queryExpression) throws Exception {
//    return this.catalogService.getLastPage(queryExpression);
//  }
// 
//  public Page getLastPage(QueryExpression queryExpression, Set<String> catalogIds) throws Exception {
//    return this.catalogService.getLastPage(queryExpression, catalogIds);
//  }
 
  public List<TransactionalMetadata> getMetadata(Page page) throws Exception {
    try {
      return this.catalogService.getMetadata(page);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting metadata for page : " + e.getMessage(), e);
      throw new Exception("Failed while getting metadata for page : " + e.getMessage(), e);
    }
  }
 
  public QueryPager query(QueryExpression queryExpression) throws Exception {
    try {
      return this.catalogService.query(queryExpression);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while performing query '" + queryExpression + "' : " + e.getMessage(), e);
      throw new Exception("Failed while performing query '" + queryExpression + "' : " + e.getMessage(), e);
    }
  }
 
  public QueryPager query(QueryExpression queryExpression, Set<String> catalogIds) throws Exception {
    try {
      return this.catalogService.query(queryExpression, catalogIds);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while performing query '" + queryExpression + "' to catalogs '" + catalogIds + "' : " + e.getMessage(), e);
      throw new Exception("Failed while performing query '" + queryExpression + "' to catalogs '" + catalogIds + "' : " + e.getMessage(), e);
    }
  }
 
//  public QueryPager query(QueryExpression queryExpression, boolean sortResults) throws CatalogServiceException {
//    return this.catalogService.query(queryExpression, sortResults);
//  }
  public List<TransactionalMetadata> getNextPage(QueryPager queryPager) throws Exception {
    try {
      return this.catalogService.getNextPage(queryPager);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while get next page from query pager : " + e.getMessage(), e);
      throw new Exception("Failed while get next page from query pager : " + e.getMessage(), e);
   
  }

//  public List<TransactionId<?>> getTransactionIdsForAllPages(QueryPager queryPager) throws CatalogServiceException {
//    return this.catalogService.getTransactionIdsForAllPages(queryPager);
//  }
 
  public List<TransactionalMetadata> getAllPages(QueryPager queryPager) throws Exception {
    try {
      return this.catalogService.getAllPages(queryPager);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while get all pages from query pager : " + e.getMessage(), e);
      throw new Exception("Failed while get all pages from query pager : " + e.getMessage(), e);
   
  }
 
  public List<TransactionalMetadata> getMetadataFromTransactionIdStrings(List<String> catalogServiceTransactionIdStrings) throws Exception {
    try {
      return this.catalogService.getMetadataFromTransactionIdStrings(catalogServiceTransactionIdStrings);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting metadata for catalog service transaction ids '" + catalogServiceTransactionIdStrings + "' : " + e.getMessage(), e);
      throw new Exception("Failed while getting metadata for catalog service transaction ids '" + catalogServiceTransactionIdStrings + "' : " + e.getMessage(), e);
   
  }
 
  public List<TransactionalMetadata> getMetadataFromTransactionIds(List<TransactionId<?>> catalogServiceTransactionIds) throws Exception {
    try {
      return this.catalogService.getMetadataFromTransactionIds(catalogServiceTransactionIds);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting metadata for catalog service transaction ids '" + catalogServiceTransactionIds + "' : " + e.getMessage(), e);
      throw new Exception("Failed while getting metadata for catalog service transaction ids '" + catalogServiceTransactionIds + "' : " + e.getMessage(), e);
   
  }
 
  public List<TransactionId<?>> getCatalogServiceTransactionIds(List<TransactionId<?>> catalogTransactionIds, String catalogId) throws Exception {
    try {
      return this.catalogService.getCatalogServiceTransactionIds(catalogTransactionIds, catalogId);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting catalog service transaction ids for catalog transaction ids '" + catalogTransactionIds + "' from catalog '" + catalogId + "' : " + e.getMessage(), e);
      throw new Exception("Failed while getting catalog service transaction ids for catalog transaction ids '" + catalogTransactionIds + "' from catalog '" + catalogId + "' : " + e.getMessage(), e);
   
  }
 
  public TransactionId<?> getCatalogServiceTransactionId(TransactionId<?> catalogTransactionId, String catalogId) throws Exception {
    try {
      return this.catalogService.getCatalogServiceTransactionId(catalogTransactionId, catalogId);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting catalog service transaction id for catalog transaction id '" + catalogTransactionId + "' from catalog '" + catalogId + "' : " + e.getMessage(), e);
      throw new Exception("Failed while getting catalog service transaction id for catalog transaction id '" + catalogTransactionId + "' from catalog '" + catalogId + "' : " + e.getMessage(), e);
    }   
  }
 
  public TransactionId<?> getCatalogServiceTransactionId(CatalogReceipt catalogReceipt, boolean generateNew) throws Exception {
    try {
      return this.catalogService.getCatalogServiceTransactionId(catalogReceipt, generateNew);
    }catch (Exception e) {
      LOG.log(Level.SEVERE, "Failed while getting metadata for catalog service transaction id for catalog receipt '" + catalogReceipt + "' with generate new equal '" + generateNew + "' : " + e.getMessage(), e);
      throw new Exception("Failed while getting metadata for catalog service transaction id for catalog receipt '" + catalogReceipt + "' with generate new equal '" + generateNew + "' : " + e.getMessage(), e);
    }   
  }
 
}
TOP

Related Classes of org.apache.oodt.cas.catalog.server.channel.AbstractCommunicationChannelServer

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.