You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@oodt.apache.org by ma...@apache.org on 2010/07/12 21:50:01 UTC
svn commit: r963451 -
/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/
Author: mattmann
Date: Mon Jul 12 19:50:01 2010
New Revision: 963451
URL: http://svn.apache.org/viewvc?rev=963451&view=rev
Log:
- progress towards OODT-15 One trunk for all OODT components with top level build
Modified:
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepository.java
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepositoryFactory.java
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepository.java
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepositoryFactory.java
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepository.java
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepositoryFactory.java
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepository.java
incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepositoryFactory.java
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepository.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepository.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepository.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepository.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -28,81 +28,52 @@ import org.apache.oodt.cas.catalog.util.
/**
*
- * @author bfoster
- * @version $Revision$
+ * Repository where the CatalogService stores its TransactionId Mapping and
+ * serializes its Catalogs
*
- * <p>
- * Repository where the CatalogService stores its TransactionId Mapping
- * and serializes its Catalogs
- * <p>
*/
public interface CatalogRepository {
-//
-// /**
-// * Verifies if the given Catalog URN has been serialized via {@link
-// * serializeCatalog(Catalog)}
-// *
-// * @param catalogUrn
-// * The URN that unique represents the Catalog
-// * @return True if the Catalog has been serialized, false otherwise
-// * @throws CatalogRepositoryException
-// * Any Error
-// */
-// public boolean isCatalogSerialized(String catalogUrn)
-// throws CatalogRepositoryException;
-//
- /**
- * Serializes a given Catalog to the Repository
- *
- * @param catalog
- * The Catalog to be serialized
- * @throws CatalogRepositoryException
- * Any Error
- */
- public void serializeCatalog(Catalog catalog)
- throws CatalogRepositoryException;
-//
-// /**
-// * Loads a Catalog from the Repository
-// *
-// * @param catalogUrn
-// * The URN that unique represents a Catalog
-// * @return The Catalog represented by the given URN
-// * @throws CatalogRepositoryException
-// * Any Error
-// */
-// public Catalog deserializeCatalog(String catalogUrn)
-// throws CatalogRepositoryException;
-//
- /**
- * Removes a Catalog from the Repository
- *
- * @param catalogUrn
- * The URN that unique represents the Catalog to be removed
- * @param preserveMapping
- * If true, don't erase TransactionId mapping for this catalog
- * @throws CatalogRepositoryException
- * Any Error
- */
- public void deleteSerializedCatalog(String catalogUrn)
- throws CatalogRepositoryException;
-
- /**
- * Loads all Catalogs serialized in this Repository
- *
- * @return All the Catalogs serialized in this Repository
- * @throws CatalogRepositoryException
- * Any Error
- */
- public Set<Catalog> deserializeAllCatalogs()
- throws CatalogRepositoryException;
-
- public void serializePluginURLs(List<PluginURL> urls)
- throws CatalogRepositoryException;
-
- public List<PluginURL> deserializePluginURLs()
- throws CatalogRepositoryException;
-
- public boolean isModifiable() throws CatalogRepositoryException;
-
+
+ /**
+ * Serializes a given Catalog to the Repository
+ *
+ * @param catalog
+ * The Catalog to be serialized
+ * @throws CatalogRepositoryException
+ * Any Error
+ */
+ public void serializeCatalog(Catalog catalog)
+ throws CatalogRepositoryException;
+
+ /**
+ * Removes a Catalog from the Repository
+ *
+ * @param catalogUrn
+ * The URN that unique represents the Catalog to be removed
+ * @param preserveMapping
+ * If true, don't erase TransactionId mapping for this catalog
+ * @throws CatalogRepositoryException
+ * Any Error
+ */
+ public void deleteSerializedCatalog(String catalogUrn)
+ throws CatalogRepositoryException;
+
+ /**
+ * Loads all Catalogs serialized in this Repository
+ *
+ * @return All the Catalogs serialized in this Repository
+ * @throws CatalogRepositoryException
+ * Any Error
+ */
+ public Set<Catalog> deserializeAllCatalogs()
+ throws CatalogRepositoryException;
+
+ public void serializePluginURLs(List<PluginURL> urls)
+ throws CatalogRepositoryException;
+
+ public List<PluginURL> deserializePluginURLs()
+ throws CatalogRepositoryException;
+
+ public boolean isModifiable() throws CatalogRepositoryException;
+
}
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepositoryFactory.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepositoryFactory.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepositoryFactory.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/CatalogRepositoryFactory.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -21,15 +21,12 @@ package org.apache.oodt.cas.catalog.repo
import org.apache.oodt.cas.catalog.exception.CatalogRepositoryException;
/**
- * @author bfoster
- * @version $Revision$
- *
- * <p>
- * A Factory for creating CatalogRepository
- * <p>
+ *
+ * A factory for creating CatalogRepositories.
+ *
*/
public interface CatalogRepositoryFactory {
- public CatalogRepository createRepository() throws CatalogRepositoryException;
-
+ public CatalogRepository createRepository() throws CatalogRepositoryException;
+
}
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepository.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepository.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepository.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepository.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -31,94 +31,89 @@ import java.util.Vector;
/**
*
- * @author bfoster
- * @version $Revision$
+ * Memory based Repository where the CatalogService stores its TransactionId
+ * Mapping and serializes its Catalogs
*
- * <p>
- * Memory based Repository where the CatalogService stores its
- * TransactionId Mapping and serializes its Catalogs
- * <p>
*/
public class MemoryBasedCatalogRepository implements CatalogRepository {
-
- protected HashMap<String, Catalog> catalogMap;
- protected List<PluginURL> classLoaderUrls;
-
- public MemoryBasedCatalogRepository() {
- this.catalogMap = new HashMap<String, Catalog>();
- this.classLoaderUrls = new Vector<PluginURL>();
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.apache.oodt.cas.catalog.repository.CatalogRepository#
- * deleteSerializedCatalog(java.lang.String)
- */
- public void deleteSerializedCatalog(String catalogUrn)
- throws CatalogRepositoryException {
- this.catalogMap.remove(catalogUrn);
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.apache.oodt.cas.catalog.repository.CatalogRepository#
- * deserializeAllCatalogs()
- */
- public Set<Catalog> deserializeAllCatalogs()
- throws CatalogRepositoryException {
- return new HashSet<Catalog>(this.catalogMap.values());
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.oodt.cas.catalog.repository.CatalogRepository#deserializeCatalog
- * (java.lang.String)
- */
- public Catalog deserializeCatalog(String catalogUrn)
- throws CatalogRepositoryException {
- return this.catalogMap.get(catalogUrn);
- }
-
- /*
- * (non-Javadoc)
- *
- * @seeorg.apache.oodt.cas.catalog.repository.CatalogRepository#
- * isCatalogSerialized(java.lang.String)
- */
- public boolean isCatalogSerialized(String catalogUrn)
- throws CatalogRepositoryException {
- return this.catalogMap.containsKey(catalogUrn);
- }
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.apache.oodt.cas.catalog.repository.CatalogRepository#serializeCatalog
- * (org.apache.oodt.cas.catalog.Catalog)
- */
- public void serializeCatalog(Catalog catalog)
- throws CatalogRepositoryException {
- this.catalogMap.put(catalog.getId(), catalog);
- }
-
- public void serializePluginURLs(List<PluginURL> urls)
- throws CatalogRepositoryException {
- this.classLoaderUrls.addAll(urls);
- }
-
- public List<PluginURL> deserializePluginURLs()
- throws CatalogRepositoryException {
- return new Vector<PluginURL>(this.classLoaderUrls);
- }
-
- public boolean isModifiable()
- throws CatalogRepositoryException {
- return true;
- }
+
+ protected HashMap<String, Catalog> catalogMap;
+ protected List<PluginURL> classLoaderUrls;
+
+ public MemoryBasedCatalogRepository() {
+ this.catalogMap = new HashMap<String, Catalog>();
+ this.classLoaderUrls = new Vector<PluginURL>();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.CatalogRepository#
+ * deleteSerializedCatalog(java.lang.String)
+ */
+ public void deleteSerializedCatalog(String catalogUrn)
+ throws CatalogRepositoryException {
+ this.catalogMap.remove(catalogUrn);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.CatalogRepository#
+ * deserializeAllCatalogs()
+ */
+ public Set<Catalog> deserializeAllCatalogs()
+ throws CatalogRepositoryException {
+ return new HashSet<Catalog>(this.catalogMap.values());
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.oodt.cas.catalog.repository.CatalogRepository#deserializeCatalog
+ * (java.lang.String)
+ */
+ public Catalog deserializeCatalog(String catalogUrn)
+ throws CatalogRepositoryException {
+ return this.catalogMap.get(catalogUrn);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.CatalogRepository#
+ * isCatalogSerialized(java.lang.String)
+ */
+ public boolean isCatalogSerialized(String catalogUrn)
+ throws CatalogRepositoryException {
+ return this.catalogMap.containsKey(catalogUrn);
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.apache.oodt.cas.catalog.repository.CatalogRepository#serializeCatalog
+ * (org.apache.oodt.cas.catalog.Catalog)
+ */
+ public void serializeCatalog(Catalog catalog)
+ throws CatalogRepositoryException {
+ this.catalogMap.put(catalog.getId(), catalog);
+ }
+
+ public void serializePluginURLs(List<PluginURL> urls)
+ throws CatalogRepositoryException {
+ this.classLoaderUrls.addAll(urls);
+ }
+
+ public List<PluginURL> deserializePluginURLs()
+ throws CatalogRepositoryException {
+ return new Vector<PluginURL>(this.classLoaderUrls);
+ }
+
+ public boolean isModifiable() throws CatalogRepositoryException {
+ return true;
+ }
}
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepositoryFactory.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepositoryFactory.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepositoryFactory.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/MemoryBasedCatalogRepositoryFactory.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -21,19 +21,16 @@ package org.apache.oodt.cas.catalog.repo
import org.apache.oodt.cas.catalog.exception.CatalogRepositoryException;
/**
- * @author bfoster
- * @version $Revision$
- *
- * <p>
+ *
* A Factory for creating MemoryBasedCatalogRepository
- * <p>
+ *
*/
public class MemoryBasedCatalogRepositoryFactory implements
- CatalogRepositoryFactory {
+ CatalogRepositoryFactory {
- public MemoryBasedCatalogRepository createRepository()
- throws CatalogRepositoryException {
- return new MemoryBasedCatalogRepository();
- }
+ public MemoryBasedCatalogRepository createRepository()
+ throws CatalogRepositoryException {
+ return new MemoryBasedCatalogRepository();
+ }
}
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepository.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepository.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepository.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepository.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -38,173 +38,207 @@ import java.util.logging.Logger;
import org.apache.commons.io.FileUtils;
/**
- * @author bfoster
- * @version $Revision$
- *
- * <p>
+ *
* Catalog Repository that serializes Catalogs via XStream utility
- * <p>
+ *
*/
public class SerializedCatalogRepository implements CatalogRepository {
- private static Logger LOG = Logger.getLogger(SerializedCatalogRepository.class.getName());
- protected String storageDir;
-
- public SerializedCatalogRepository(String storageDir) throws InstantiationException {
- try {
- this.storageDir = storageDir;
- new File(this.storageDir + "/catalogs").mkdirs();
- new File(this.storageDir + "/classloaders").mkdirs();
- }catch(Exception e) {
- e.printStackTrace();
- throw new InstantiationException("Failed to instantiate SerializedCatalogRepository : " + e.getMessage());
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#deleteSerializedCatalog(java.lang.String)
- */
- public void deleteSerializedCatalog(String catalogUrn)
- throws CatalogRepositoryException {
- LOG.log(Level.INFO, "Deleting Catalog: '" + catalogUrn + "' . . . ");
- boolean catalogFileDelete = this.getCatalogFile(catalogUrn).delete();
- if (!catalogFileDelete)
- throw new CatalogRepositoryException("Failed to deserialize catalog '" + catalogUrn + "', delete files returned false");
- else
- LOG.log(Level.INFO, "Successfully deleting Catalog: '" + catalogUrn + "'");
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#deserializeCatalog(java.lang.String)
- */
- public Catalog deserializeCatalog(String catalogUrn)
- throws CatalogRepositoryException {
- LOG.log(Level.INFO, "Deserializing Catalog: " + catalogUrn);
- FileInputStream catalogIn = null;
- try {
- return new Serializer().deserializeObject(Catalog.class, catalogIn = new FileInputStream(this.getCatalogFile(catalogUrn)));
- }catch (Exception e) {
- throw new CatalogRepositoryException("Failed to Deserialized Catalogs from '" + this.storageDir + "' : " + e.getMessage(), e);
- }finally {
- try {
- catalogIn.close();
- }catch (Exception e) {}
- }
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#deserializeAllCatalogs()
- */
- public Set<Catalog> deserializeAllCatalogs()
- throws CatalogRepositoryException {
- HashSet<Catalog> catalogs = new HashSet<Catalog>();
- for (String catalogFile : new File(this.storageDir + "/catalogs").list()) {
- Catalog catalog = this.deserializeCatalog(catalogFile.split("\\.ser")[0]);
- catalogs.add(catalog);
- }
- return catalogs;
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#isCatalogSerialized(java.lang.String)
- */
- public boolean isCatalogSerialized(String catalogUrn)
- throws CatalogRepositoryException {
- return this.getCatalogFile(catalogUrn).exists();
- }
-
- /*
- * (non-Javadoc)
- * @see org.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#serializeCatalog(org.apache.oodt.cas.catalog.Catalog)
- */
- public void serializeCatalog(Catalog catalog)
- throws CatalogRepositoryException {
- LOG.log(Level.INFO, "Serializing Catalog: " + catalog.getId());
- FileOutputStream catalogOut = null;
- try {
- //serialize Catalog
- new Serializer().serializeObject(catalog, (catalogOut = new FileOutputStream(this.getCatalogFileWorker(catalog.getId()))));
- if (this.getCatalogFile(catalog.getId()).exists())
- FileUtils.copyFile(this.getCatalogFile(catalog.getId()), this.getCatalogFileBkup(catalog.getId()), true);
- FileUtils.copyFile(this.getCatalogFileWorker(catalog.getId()), this.getCatalogFile(catalog.getId()), true);
- this.getCatalogFileWorker(catalog.getId()).delete();
- this.getCatalogFileBkup(catalog.getId()).delete();
- }catch (Exception e) {
- throw new CatalogRepositoryException("Failed to Serialized Catalogs to '" + this.storageDir + "' : " + e.getMessage(), e);
- }finally {
- try {
- catalogOut.close();
- }catch (Exception e) {}
- }
- }
-
- public void serializePluginURLs(List<PluginURL> urls)
- throws CatalogRepositoryException {
- FileOutputStream urlsOut = null;
- try {
- //serialize URLs
- new Serializer().serializeObject(urls, (urlsOut = new FileOutputStream(this.getClassLoaderUrlsFileWorker())));
- if (this.getClassLoaderUrlsFile().exists())
- FileUtils.copyFile(this.getClassLoaderUrlsFile(), this.getClassLoaderUrlsFileBkup(), true);
- FileUtils.copyFile(this.getClassLoaderUrlsFileWorker(), this.getClassLoaderUrlsFile(), true);
- this.getClassLoaderUrlsFileWorker().delete();
- this.getClassLoaderUrlsFileBkup().delete();
- }catch (Exception e) {
- throw new CatalogRepositoryException("Failed to Serialized ClassLoader URLs to '" + this.storageDir + "' : " + e.getMessage(), e);
- }finally {
- try {
- urlsOut.close();
- }catch (Exception e) {}
- }
- }
-
- public List<PluginURL> deserializePluginURLs() throws CatalogRepositoryException {
- FileInputStream urlsIn = null;
- try {
- if (this.getClassLoaderUrlsFile().exists())
- return new Serializer().deserializeObject(List.class, (urlsIn = new FileInputStream(this.getClassLoaderUrlsFile())));
- else
- return Collections.emptyList();
- }catch (Exception e) {
- throw new CatalogRepositoryException("Failed to Deserialized All ClassLoader URLs from '" + this.storageDir + "' : " + e.getMessage(), e);
- }finally {
- try {
- urlsIn.close();
- }catch (Exception e) {}
- }
- }
-
- public boolean isModifiable()
- throws CatalogRepositoryException {
- return true;
- }
-
- protected File getCatalogFile(String catalogUrn) {
- return new File(this.storageDir + "/catalogs/" + catalogUrn + ".ser");
- }
-
- protected File getCatalogFileBkup(String catalogUrn) {
- return new File(this.storageDir + "/catalogs/" + catalogUrn + ".ser-bkup");
- }
-
- protected File getCatalogFileWorker(String catalogUrn) {
- return new File(this.storageDir + "/catalogs/" + catalogUrn + ".ser-worker");
- }
-
- protected File getClassLoaderUrlsFile() {
- return new File(this.storageDir + "/classloaders/urls.ser");
- }
-
- protected File getClassLoaderUrlsFileBkup() {
- return new File(this.storageDir + "/classloaders/urls.ser-bkup");
- }
-
- protected File getClassLoaderUrlsFileWorker() {
- return new File(this.storageDir + "/classloaders/urls.ser-worker");
- }
-
+ private static Logger LOG = Logger
+ .getLogger(SerializedCatalogRepository.class.getName());
+ protected String storageDir;
+
+ public SerializedCatalogRepository(String storageDir)
+ throws InstantiationException {
+ try {
+ this.storageDir = storageDir;
+ new File(this.storageDir + "/catalogs").mkdirs();
+ new File(this.storageDir + "/classloaders").mkdirs();
+ } catch (Exception e) {
+ e.printStackTrace();
+ throw new InstantiationException(
+ "Failed to instantiate SerializedCatalogRepository : "
+ + e.getMessage());
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#
+ * deleteSerializedCatalog(java.lang.String)
+ */
+ public void deleteSerializedCatalog(String catalogUrn)
+ throws CatalogRepositoryException {
+ LOG.log(Level.INFO, "Deleting Catalog: '" + catalogUrn + "' . . . ");
+ boolean catalogFileDelete = this.getCatalogFile(catalogUrn).delete();
+ if (!catalogFileDelete)
+ throw new CatalogRepositoryException("Failed to deserialize catalog '"
+ + catalogUrn + "', delete files returned false");
+ else
+ LOG
+ .log(Level.INFO, "Successfully deleting Catalog: '" + catalogUrn
+ + "'");
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#
+ * deserializeCatalog(java.lang.String)
+ */
+ public Catalog deserializeCatalog(String catalogUrn)
+ throws CatalogRepositoryException {
+ LOG.log(Level.INFO, "Deserializing Catalog: " + catalogUrn);
+ FileInputStream catalogIn = null;
+ try {
+ return new Serializer().deserializeObject(Catalog.class,
+ catalogIn = new FileInputStream(this.getCatalogFile(catalogUrn)));
+ } catch (Exception e) {
+ throw new CatalogRepositoryException(
+ "Failed to Deserialized Catalogs from '" + this.storageDir + "' : "
+ + e.getMessage(), e);
+ } finally {
+ try {
+ catalogIn.close();
+ } catch (Exception e) {
+ }
+ }
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#
+ * deserializeAllCatalogs()
+ */
+ public Set<Catalog> deserializeAllCatalogs()
+ throws CatalogRepositoryException {
+ HashSet<Catalog> catalogs = new HashSet<Catalog>();
+ for (String catalogFile : new File(this.storageDir + "/catalogs").list()) {
+ Catalog catalog = this.deserializeCatalog(catalogFile.split("\\.ser")[0]);
+ catalogs.add(catalog);
+ }
+ return catalogs;
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#
+ * isCatalogSerialized(java.lang.String)
+ */
+ public boolean isCatalogSerialized(String catalogUrn)
+ throws CatalogRepositoryException {
+ return this.getCatalogFile(catalogUrn).exists();
+ }
+
+ /*
+ * (non-Javadoc)
+ *
+ * @seeorg.apache.oodt.cas.catalog.repository.MemoryBasedCatalogRepository#
+ * serializeCatalog(org.apache.oodt.cas.catalog.Catalog)
+ */
+ public void serializeCatalog(Catalog catalog)
+ throws CatalogRepositoryException {
+ LOG.log(Level.INFO, "Serializing Catalog: " + catalog.getId());
+ FileOutputStream catalogOut = null;
+ try {
+ // serialize Catalog
+ new Serializer().serializeObject(catalog,
+ (catalogOut = new FileOutputStream(this.getCatalogFileWorker(catalog
+ .getId()))));
+ if (this.getCatalogFile(catalog.getId()).exists())
+ FileUtils.copyFile(this.getCatalogFile(catalog.getId()), this
+ .getCatalogFileBkup(catalog.getId()), true);
+ FileUtils.copyFile(this.getCatalogFileWorker(catalog.getId()), this
+ .getCatalogFile(catalog.getId()), true);
+ this.getCatalogFileWorker(catalog.getId()).delete();
+ this.getCatalogFileBkup(catalog.getId()).delete();
+ } catch (Exception e) {
+ throw new CatalogRepositoryException("Failed to Serialized Catalogs to '"
+ + this.storageDir + "' : " + e.getMessage(), e);
+ } finally {
+ try {
+ catalogOut.close();
+ } catch (Exception e) {
+ }
+ }
+ }
+
+ public void serializePluginURLs(List<PluginURL> urls)
+ throws CatalogRepositoryException {
+ FileOutputStream urlsOut = null;
+ try {
+ // serialize URLs
+ new Serializer().serializeObject(urls, (urlsOut = new FileOutputStream(
+ this.getClassLoaderUrlsFileWorker())));
+ if (this.getClassLoaderUrlsFile().exists())
+ FileUtils.copyFile(this.getClassLoaderUrlsFile(), this
+ .getClassLoaderUrlsFileBkup(), true);
+ FileUtils.copyFile(this.getClassLoaderUrlsFileWorker(), this
+ .getClassLoaderUrlsFile(), true);
+ this.getClassLoaderUrlsFileWorker().delete();
+ this.getClassLoaderUrlsFileBkup().delete();
+ } catch (Exception e) {
+ throw new CatalogRepositoryException(
+ "Failed to Serialized ClassLoader URLs to '" + this.storageDir
+ + "' : " + e.getMessage(), e);
+ } finally {
+ try {
+ urlsOut.close();
+ } catch (Exception e) {
+ }
+ }
+ }
+
+ public List<PluginURL> deserializePluginURLs()
+ throws CatalogRepositoryException {
+ FileInputStream urlsIn = null;
+ try {
+ if (this.getClassLoaderUrlsFile().exists())
+ return new Serializer().deserializeObject(List.class,
+ (urlsIn = new FileInputStream(this.getClassLoaderUrlsFile())));
+ else
+ return Collections.emptyList();
+ } catch (Exception e) {
+ throw new CatalogRepositoryException(
+ "Failed to Deserialized All ClassLoader URLs from '"
+ + this.storageDir + "' : " + e.getMessage(), e);
+ } finally {
+ try {
+ urlsIn.close();
+ } catch (Exception e) {
+ }
+ }
+ }
+
+ public boolean isModifiable() throws CatalogRepositoryException {
+ return true;
+ }
+
+ protected File getCatalogFile(String catalogUrn) {
+ return new File(this.storageDir + "/catalogs/" + catalogUrn + ".ser");
+ }
+
+ protected File getCatalogFileBkup(String catalogUrn) {
+ return new File(this.storageDir + "/catalogs/" + catalogUrn + ".ser-bkup");
+ }
+
+ protected File getCatalogFileWorker(String catalogUrn) {
+ return new File(this.storageDir + "/catalogs/" + catalogUrn + ".ser-worker");
+ }
+
+ protected File getClassLoaderUrlsFile() {
+ return new File(this.storageDir + "/classloaders/urls.ser");
+ }
+
+ protected File getClassLoaderUrlsFileBkup() {
+ return new File(this.storageDir + "/classloaders/urls.ser-bkup");
+ }
+
+ protected File getClassLoaderUrlsFileWorker() {
+ return new File(this.storageDir + "/classloaders/urls.ser-worker");
+ }
+
}
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepositoryFactory.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepositoryFactory.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepositoryFactory.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SerializedCatalogRepositoryFactory.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -25,31 +25,33 @@ import org.apache.oodt.cas.catalog.excep
import org.apache.oodt.cas.metadata.util.PathUtils;
/**
- * @author bfoster
- * @version $Revision$
- *
- * <p>
+ *
* A Factory for creating SerializedMemoryBasedCatalogRepository
- * <p>
+ *
*/
-public class SerializedCatalogRepositoryFactory implements CatalogRepositoryFactory {
+public class SerializedCatalogRepositoryFactory implements
+ CatalogRepositoryFactory {
+
+ protected String storageDir;
- protected String storageDir;
+ public SerializedCatalogRepositoryFactory() {
+ }
- public SerializedCatalogRepositoryFactory() {}
-
- @Required
- public void setStorageDir(String storageDir) {
- this.storageDir = storageDir;
- }
-
- public SerializedCatalogRepository createRepository()
- throws CatalogRepositoryException {
- try {
- return new SerializedCatalogRepository(PathUtils.doDynamicReplacement(this.storageDir));
- }catch (Exception e) {
- throw new CatalogRepositoryException("Failed to create Serialized Catalog Repository : " + e.getMessage(), e);
- }
- }
+ @Required
+ public void setStorageDir(String storageDir) {
+ this.storageDir = storageDir;
+ }
+
+ public SerializedCatalogRepository createRepository()
+ throws CatalogRepositoryException {
+ try {
+ return new SerializedCatalogRepository(PathUtils
+ .doDynamicReplacement(this.storageDir));
+ } catch (Exception e) {
+ throw new CatalogRepositoryException(
+ "Failed to create Serialized Catalog Repository : " + e.getMessage(),
+ e);
+ }
+ }
}
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepository.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepository.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepository.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepository.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -33,56 +33,58 @@ import java.util.Set;
import org.springframework.context.support.FileSystemXmlApplicationContext;
/**
- * @author bfoster
- * @version $Revision$
- *
- * <p>
+ *
* A Spring Framework based CatalogRepository
- * <p>
+ *
*/
public class SpringCatalogRepository implements CatalogRepository {
- protected String beanRepo;
-
- public SpringCatalogRepository(String beanRepo) {
- this.beanRepo = beanRepo;
- }
-
- public Set<Catalog> deserializeAllCatalogs()
- throws CatalogRepositoryException {
- try {
- FileSystemXmlApplicationContext appContext = new FileSystemXmlApplicationContext(new String[] { this.beanRepo }, false);
- appContext.setClassLoader(new Serializer().getClassLoader());
- appContext.refresh();
- return new HashSet<Catalog>(appContext.getBeansOfType(Catalog.class).values());
- } catch (Exception e) {
- throw new CatalogRepositoryException("", e);
- }
- }
-
- public void deleteSerializedCatalog(String catalogUrn)
- throws CatalogRepositoryException {
- throw new CatalogRepositoryException("Modification not allowed during runtime");
- }
-
- public boolean isModifiable() throws CatalogRepositoryException {
- return false;
- }
-
- public void serializeCatalog(Catalog catalog)
- throws CatalogRepositoryException {
- throw new CatalogRepositoryException("Modification not allowed during runtime");
- }
-
- public List<PluginURL> deserializePluginURLs()
- throws CatalogRepositoryException {
- // TODO Auto-generated method stub
- return Collections.emptyList();
- }
-
- public void serializePluginURLs(List<PluginURL> urls)
- throws CatalogRepositoryException {
- throw new CatalogRepositoryException("Modification not allowed during runtime");
- }
-
+ protected String beanRepo;
+
+ public SpringCatalogRepository(String beanRepo) {
+ this.beanRepo = beanRepo;
+ }
+
+ public Set<Catalog> deserializeAllCatalogs()
+ throws CatalogRepositoryException {
+ try {
+ FileSystemXmlApplicationContext appContext = new FileSystemXmlApplicationContext(
+ new String[] { this.beanRepo }, false);
+ appContext.setClassLoader(new Serializer().getClassLoader());
+ appContext.refresh();
+ return new HashSet<Catalog>(appContext.getBeansOfType(Catalog.class)
+ .values());
+ } catch (Exception e) {
+ throw new CatalogRepositoryException("", e);
+ }
+ }
+
+ public void deleteSerializedCatalog(String catalogUrn)
+ throws CatalogRepositoryException {
+ throw new CatalogRepositoryException(
+ "Modification not allowed during runtime");
+ }
+
+ public boolean isModifiable() throws CatalogRepositoryException {
+ return false;
+ }
+
+ public void serializeCatalog(Catalog catalog)
+ throws CatalogRepositoryException {
+ throw new CatalogRepositoryException(
+ "Modification not allowed during runtime");
+ }
+
+ public List<PluginURL> deserializePluginURLs()
+ throws CatalogRepositoryException {
+ // TODO Auto-generated method stub
+ return Collections.emptyList();
+ }
+
+ public void serializePluginURLs(List<PluginURL> urls)
+ throws CatalogRepositoryException {
+ throw new CatalogRepositoryException(
+ "Modification not allowed during runtime");
+ }
+
}
Modified: incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepositoryFactory.java
URL: http://svn.apache.org/viewvc/incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepositoryFactory.java?rev=963451&r1=963450&r2=963451&view=diff
==============================================================================
--- incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepositoryFactory.java (original)
+++ incubator/oodt/trunk/catalog/src/main/java/org/apache/oodt/cas/catalog/repository/SpringCatalogRepositoryFactory.java Mon Jul 12 19:50:01 2010
@@ -1,4 +1,4 @@
-/*
+/**
* 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.
@@ -21,12 +21,9 @@ package org.apache.oodt.cas.catalog.repo
import org.apache.oodt.cas.catalog.exception.CatalogRepositoryException;
/**
- * @author bfoster
- * @version $Revision$
- *
- * <p>
+ *
* A factory for creating SpringCatalogRepository
- * <p>
+ *
*/
public class SpringCatalogRepositoryFactory implements CatalogRepositoryFactory {