Changing parameter type Serializable to Object in Mock IaaS persistence implementation and adding method comments
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/4e84f86a Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/4e84f86a Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/4e84f86a Branch: refs/heads/tenantisolation Commit: 4e84f86acb4c224e24ff7d9475dafc04e91164c2 Parents: 4fc475f Author: Imesh Gunaratne <[email protected]> Authored: Mon Jun 29 12:02:51 2015 +0530 Committer: Imesh Gunaratne <[email protected]> Committed: Mon Jun 29 12:02:51 2015 +0530 ---------------------------------------------------------------------- .../persistence/MockPersistenceManager.java | 28 +++++++++++++++----- .../iaas/persistence/PersistenceManager.java | 21 ++++++++++++--- .../persistence/PersistenceManagerFactory.java | 8 +++++- .../mock/iaas/persistence/RegistryManager.java | 12 ++++----- 4 files changed, 53 insertions(+), 16 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/4e84f86a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/MockPersistenceManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/MockPersistenceManager.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/MockPersistenceManager.java index 26241b0..b0d5bfc 100644 --- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/MockPersistenceManager.java +++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/MockPersistenceManager.java @@ -21,31 +21,47 @@ package org.apache.stratos.mock.iaas.persistence; import org.wso2.carbon.registry.core.exceptions.RegistryException; -import java.io.Serializable; import java.util.Map; import java.util.concurrent.ConcurrentHashMap; /** - * Mock persistence manager. + * Mock persistence manager for managing objects in memory. */ public class MockPersistenceManager implements PersistenceManager { - private Map<String, Serializable> resourcePathToObjectMap; + private Map<String, Object> resourcePathToObjectMap; MockPersistenceManager() { - resourcePathToObjectMap = new ConcurrentHashMap<String, Serializable>(); + resourcePathToObjectMap = new ConcurrentHashMap<String, Object>(); } + /** + * Persist an object in memory with the given resource path. + * @param resourcePath + * @param object + * @throws RegistryException + */ @Override - public void persist(String resourcePath, Serializable serializableObject) throws RegistryException { - resourcePathToObjectMap.put(resourcePath, serializableObject); + public void persist(String resourcePath, Object object) throws RegistryException { + resourcePathToObjectMap.put(resourcePath, object); } + /** + * Read an object in memory with the given resource path. + * @param resourcePath + * @return + * @throws RegistryException + */ @Override public Object read(String resourcePath) throws RegistryException { return resourcePathToObjectMap.get(resourcePath); } + /** + * Remove an object in memory with the given resource path. + * @param resourcePath + * @throws RegistryException + */ @Override public void remove(String resourcePath) throws RegistryException { resourcePathToObjectMap.remove(resourcePath); http://git-wip-us.apache.org/repos/asf/stratos/blob/4e84f86a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManager.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManager.java index 9cd2df1..bb55f61 100644 --- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManager.java +++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManager.java @@ -21,16 +21,31 @@ package org.apache.stratos.mock.iaas.persistence; import org.wso2.carbon.registry.core.exceptions.RegistryException; -import java.io.Serializable; - /** * Persistence manager interface. */ public interface PersistenceManager { - void persist(String resourcePath, Serializable serializableObject) throws RegistryException; + /** + * Persist an object in persistence manager with the given resource path. + * @param resourcePath + * @param object + * @throws RegistryException + */ + void persist(String resourcePath, Object object) throws RegistryException; + /** + * Read an object from persistence manager using the given resource path. + * @param resourcePath + * @return + * @throws RegistryException + */ Object read(String resourcePath) throws RegistryException; + /** + * Remove an object in persistence manager with the given resource path. + * @param resourcePath + * @throws RegistryException + */ void remove(String resourcePath) throws RegistryException; } http://git-wip-us.apache.org/repos/asf/stratos/blob/4e84f86a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManagerFactory.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManagerFactory.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManagerFactory.java index c6d86c9..74b9228 100644 --- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManagerFactory.java +++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/PersistenceManagerFactory.java @@ -24,12 +24,18 @@ package org.apache.stratos.mock.iaas.persistence; */ public class PersistenceManagerFactory { + /** + * Returns a new persistence manager object for the given persistence manager type. + * + * @param persistenceManagerType + * @return + */ public static PersistenceManager getPersistenceManager(PersistenceManagerType persistenceManagerType) { if (persistenceManagerType == PersistenceManagerType.Registry) { return new RegistryManager(); } else if (persistenceManagerType == PersistenceManagerType.Mock) { return new MockPersistenceManager(); } - throw new RuntimeException("Invalid persistence manager type"); + throw new RuntimeException("An unknown persistence manager type found: " + persistenceManagerType); } } http://git-wip-us.apache.org/repos/asf/stratos/blob/4e84f86a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/RegistryManager.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/RegistryManager.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/RegistryManager.java index 7d7fd8d..dbd2914 100644 --- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/RegistryManager.java +++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/persistence/RegistryManager.java @@ -45,10 +45,10 @@ public class RegistryManager implements PersistenceManager { /** * Persist a serializable object in the registry with the given resource path. * - * @param serializableObject object to be persisted. + * @param object object to be persisted. */ @Override - public synchronized void persist(String resourcePath, Serializable serializableObject) throws RegistryException { + public synchronized void persist(String resourcePath, Object object) throws RegistryException { if (log.isDebugEnabled()) { log.debug(String.format("Persisting resource in registry: [resource-path] %s", resourcePath)); } @@ -63,7 +63,7 @@ public class RegistryManager implements PersistenceManager { registry.beginTransaction(); Resource nodeResource = registry.newResource(); - nodeResource.setContent(serializeToByteArray(serializableObject)); + nodeResource.setContent(serializeToByteArray(object)); registry.put(resourcePath, nodeResource); registry.commitTransaction(); @@ -142,17 +142,17 @@ public class RegistryManager implements PersistenceManager { /** * Serialize an object to a byte array. * - * @param serializableObject serializable object + * @param object object * @return byte array * @throws java.io.IOException */ - private byte[] serializeToByteArray(Serializable serializableObject) throws IOException { + private byte[] serializeToByteArray(Object object) throws IOException { ByteArrayOutputStream bos = new ByteArrayOutputStream(); ObjectOutput out = null; try { out = new ObjectOutputStream(bos); - out.writeObject(serializableObject); + out.writeObject(object); return bos.toByteArray(); } finally {
