You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2015/05/14 20:27:34 UTC

stratos git commit: Enabling mock iaas in default distribution and refining method comments

Repository: stratos
Updated Branches:
  refs/heads/master 94dc9ec67 -> 20f17fa3d


Enabling mock iaas in default distribution and refining method comments


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/20f17fa3
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/20f17fa3
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/20f17fa3

Branch: refs/heads/master
Commit: 20f17fa3d45106d2d9b4e30d5d3fae037d2d9931
Parents: 94dc9ec
Author: Imesh Gunaratne <im...@apache.org>
Authored: Thu May 14 23:56:56 2015 +0530
Committer: Imesh Gunaratne <im...@apache.org>
Committed: Thu May 14 23:57:18 2015 +0530

----------------------------------------------------------------------
 .../stratos/mock/iaas/api/MockIaasApi.java      |  1 -
 .../iaas/config/MockHealthStatisticsConfig.java | 14 ++++++-
 .../mock/iaas/config/MockIaasConfigParser.java  | 38 ++++++++++++------
 .../mock/iaas/persistence/RegistryManager.java  | 12 ++----
 .../services/impl/MockAutoscalingFactor.java    | 27 -------------
 .../mock/iaas/services/impl/MockConstants.java  |  4 +-
 .../iaas/services/impl/MockIaasServiceImpl.java | 39 ++++++++++---------
 .../iaas/services/impl/MockScalingFactor.java   | 27 +++++++++++++
 .../iaas/statistics/MockHealthStatistics.java   | 38 +++++++++---------
 .../MockHealthStatisticsGenerator.java          | 41 +++++++++-----------
 .../generator/MockHealthStatisticsPattern.java  | 11 +++---
 .../publisher/MockHealthStatisticsNotifier.java |  6 +--
 .../distribution/src/main/conf/mock-iaas.xml    |  2 +-
 13 files changed, 137 insertions(+), 123 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas.api/src/main/java/org/apache/stratos/mock/iaas/api/MockIaasApi.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas.api/src/main/java/org/apache/stratos/mock/iaas/api/MockIaasApi.java b/components/org.apache.stratos.mock.iaas.api/src/main/java/org/apache/stratos/mock/iaas/api/MockIaasApi.java
index 51adad8..ff8222f 100644
--- a/components/org.apache.stratos.mock.iaas.api/src/main/java/org/apache/stratos/mock/iaas/api/MockIaasApi.java
+++ b/components/org.apache.stratos.mock.iaas.api/src/main/java/org/apache/stratos/mock/iaas/api/MockIaasApi.java
@@ -161,7 +161,6 @@ public class MockIaasApi {
 
     /**
      * Get mock iaas service instance
-     *
      * @return
      */
     private MockIaasService getMockIaasService() {

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockHealthStatisticsConfig.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockHealthStatisticsConfig.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockHealthStatisticsConfig.java
index 1980579..9a26397 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockHealthStatisticsConfig.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockHealthStatisticsConfig.java
@@ -28,16 +28,28 @@ import java.util.List;
  * Mock health statistics configuration.
  */
 public class MockHealthStatisticsConfig {
-    List<MockHealthStatisticsPattern> statisticsPatternList;
 
+    private List<MockHealthStatisticsPattern> statisticsPatternList;
+
+    /**
+     * Default constructor
+     */
     public MockHealthStatisticsConfig() {
         statisticsPatternList = new ArrayList<MockHealthStatisticsPattern>();
     }
 
+    /**
+     * Add statistics pattern
+     * @param statisticsPattern statistics pattern
+     */
     public void addStatisticsPattern(MockHealthStatisticsPattern statisticsPattern) {
         statisticsPatternList.add(statisticsPattern);
     }
 
+    /**
+     * Get statistics patterns
+     * @return a list of statistics pattern objects
+     */
     public List<MockHealthStatisticsPattern> getStatisticsPatterns() {
         return statisticsPatternList;
     }

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockIaasConfigParser.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockIaasConfigParser.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockIaasConfigParser.java
index 3116ab3..8209d4b 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockIaasConfigParser.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/config/MockIaasConfigParser.java
@@ -23,7 +23,7 @@ import org.apache.axiom.om.OMAttribute;
 import org.apache.axiom.om.OMElement;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.stratos.common.util.AxiomXpathParserUtil;
-import org.apache.stratos.mock.iaas.services.impl.MockAutoscalingFactor;
+import org.apache.stratos.mock.iaas.services.impl.MockScalingFactor;
 import org.apache.stratos.mock.iaas.statistics.StatisticsPatternMode;
 import org.apache.stratos.mock.iaas.statistics.generator.MockHealthStatisticsPattern;
 
@@ -48,7 +48,6 @@ public class MockIaasConfigParser {
 
     /**
      * Parse mock iaas configuration and return configuration object.
-     *
      * @param filePath
      * @return
      */
@@ -91,7 +90,7 @@ public class MockIaasConfigParser {
                                         "[cartridge-type] " + cartridgeType);
                             }
                             String factorStr = factorAttribute.getAttributeValue();
-                            MockAutoscalingFactor autoscalingFactor = convertAutoscalingFactor(factorStr);
+                            MockScalingFactor scalingFactor = convertScalingFactor(factorStr);
 
                             OMAttribute modeAttribute = patternElement.getAttribute(MODE_ATTRIBUTE);
                             if (modeAttribute == null) {
@@ -126,7 +125,7 @@ public class MockIaasConfigParser {
                             int sampleDuration = Integer.parseInt(sampleDurationStr);
 
                             MockHealthStatisticsPattern mockHealthStatisticsPattern = new MockHealthStatisticsPattern
-                                    (cartridgeType, autoscalingFactor, mode, sampleValues, sampleDuration);
+                                    (cartridgeType, scalingFactor, mode, sampleValues, sampleDuration);
                             mockHealthStatisticsConfig.addStatisticsPattern(mockHealthStatisticsPattern);
                         }
                     }
@@ -138,6 +137,11 @@ public class MockIaasConfigParser {
         }
     }
 
+    /**
+     * Convert mode string to its enumeration
+     * @param modeStr mode string
+     * @return statistics pattern enumeration
+     */
     private static StatisticsPatternMode convertMode(String modeStr) {
         if ("loop".equals(modeStr)) {
             return StatisticsPatternMode.Loop;
@@ -149,17 +153,27 @@ public class MockIaasConfigParser {
         throw new RuntimeException("An unknown statistics pattern mode found: " + modeStr);
     }
 
-    private static MockAutoscalingFactor convertAutoscalingFactor(String factorStr) {
-        if ("memory-consumption".equals(factorStr)) {
-            return MockAutoscalingFactor.MemoryConsumption;
-        } else if ("load-average".equals(factorStr)) {
-            return MockAutoscalingFactor.LoadAverage;
-        } else if ("request-in-flight".equals(factorStr)) {
-            return MockAutoscalingFactor.RequestInFlight;
+    /**
+     * Convert scaling factor string to its enumeration
+     * @param scalingFactorStr scaling factor string
+     * @return scaling factor enumeration
+     */
+    private static MockScalingFactor convertScalingFactor(String scalingFactorStr) {
+        if ("memory-consumption".equals(scalingFactorStr)) {
+            return MockScalingFactor.MemoryConsumption;
+        } else if ("load-average".equals(scalingFactorStr)) {
+            return MockScalingFactor.LoadAverage;
+        } else if ("request-in-flight".equals(scalingFactorStr)) {
+            return MockScalingFactor.RequestInFlight;
         }
-        throw new RuntimeException("An unknown autoscaling factor found: " + factorStr);
+        throw new RuntimeException("An unknown autoscaling factor found: " + scalingFactorStr);
     }
 
+    /**
+     * Convert string array to integer list
+     * @param stringArray string array
+     * @return integer list
+     */
     private static List<Integer> convertStringArrayToIntegerList(String[] stringArray) {
         List<Integer> integerList = new ArrayList<Integer>();
         for (String value : stringArray) {

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/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 59e507e..6c96541 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
@@ -44,7 +44,6 @@ public class RegistryManager implements PersistenceManager {
 
     /**
      * Persist a serializable object in the registry with the given resource path.
-     *
      * @param serializableObject object to be persisted.
      */
     @Override
@@ -82,9 +81,8 @@ public class RegistryManager implements PersistenceManager {
 
     /**
      * Returns an object stored in the given resource path.
-     *
-     * @param resourcePath
-     * @return
+     * @param resourcePath resource path
+     * @return registry resource content
      * @throws org.wso2.carbon.registry.core.exceptions.RegistryException
      */
     @Override
@@ -141,9 +139,8 @@ public class RegistryManager implements PersistenceManager {
 
     /**
      * Serialize an object to a byte array.
-     *
-     * @param serializableObject
-     * @return
+     * @param serializableObject serializable object
+     * @return byte array
      * @throws java.io.IOException
      */
     private byte[] serializeToByteArray(Serializable serializableObject) throws IOException {
@@ -165,7 +162,6 @@ public class RegistryManager implements PersistenceManager {
 
     /**
      * Deserialize a byte array and retrieve the object.
-     *
      * @param bytes bytes to be deserialized
      * @return the deserialized {@link Object}
      * @throws Exception if the deserialization is failed.

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockAutoscalingFactor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockAutoscalingFactor.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockAutoscalingFactor.java
deleted file mode 100644
index 518cb0f..0000000
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockAutoscalingFactor.java
+++ /dev/null
@@ -1,27 +0,0 @@
-/*
- * 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.stratos.mock.iaas.services.impl;
-
-/**
- * Mock autoscaling factor enumeration
- */
-public enum MockAutoscalingFactor {
-    MemoryConsumption, LoadAverage, RequestInFlight
-}

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockConstants.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockConstants.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockConstants.java
index dce1899..51db53e 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockConstants.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockConstants.java
@@ -23,9 +23,7 @@ package org.apache.stratos.mock.iaas.services.impl;
  * Mock constant definitions.
  */
 public class MockConstants {
-    public static final String MOCK_MEMBER_THREAD_POOL = "mock.member.thread.pool";
     public static final int MOCK_MEMBER_THREAD_POOL_SIZE = 100;
+    public static final String MOCK_MEMBER_THREAD_POOL = "mock.member.thread.pool";
     public static final String PERSISTENCE_MANAGER_TYPE = "persistence.manager.type";
-    public static final String PERSISTENCE_MANAGER_REGISTRY = "registry";
-    public static final String PERSISTENCE_MANAGER_MOCK = "mock";
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
index f023064..97c28d2 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockIaasServiceImpl.java
@@ -63,6 +63,9 @@ public class MockIaasServiceImpl implements MockIaasService {
     private MockIaasServiceUtil mockIaasServiceUtil;
     private Map<String, MockInstance> instanceIdToMockInstanceMap; // Map<InstanceId,MockInstance>
 
+    /**
+     * Default public constructor
+     */
     public MockIaasServiceImpl() {
         try {
             String persistenceManagerTypeStr = System.getProperty(MockConstants.PERSISTENCE_MANAGER_TYPE,
@@ -85,10 +88,9 @@ public class MockIaasServiceImpl implements MockIaasService {
 
     /**
      * Start mock instance.
-     *
-     * @param mockInstanceContext
-     * @return
-     * @throws MockIaasException
+     * @param mockInstanceContext mock instance context containing instance properties
+     * @return mock instance metadata
+     * @throws MockIaasException is thrown if mock instance context is null
      */
     @Override
     public MockInstanceMetadata startInstance(MockInstanceContext mockInstanceContext) throws MockIaasException {
@@ -119,6 +121,10 @@ public class MockIaasServiceImpl implements MockIaasService {
         }
     }
 
+    /**
+     * Sleep the current thread for a given period of time
+     * @param time time in milliseconds
+     */
     private void sleep(int time) {
         try {
             Thread.sleep(time);
@@ -127,9 +133,8 @@ public class MockIaasServiceImpl implements MockIaasService {
     }
 
     /**
-     * Get mock instance contexts.
-     *
-     * @return
+     * Get mock instances.
+     * @return a list of mock instance metadata objects
      */
     @Override
     public List<MockInstanceMetadata> getInstances() {
@@ -143,9 +148,8 @@ public class MockIaasServiceImpl implements MockIaasService {
 
     /**
      * Get mock instance context by instance id.
-     *
-     * @param instanceId
-     * @return
+     * @param instanceId mock instance id
+     * @return mock instance metadata of the mock instance
      */
     @Override
     public MockInstanceMetadata getInstance(String instanceId) {
@@ -158,10 +162,9 @@ public class MockIaasServiceImpl implements MockIaasService {
 
     /**
      * Allocate ip address to mock instance.
-     *
-     * @param instanceId
-     * @return
-     * @throws MockIaasException
+     * @param instanceId mock instance id
+     * @return mock instance metadata including ip addresses
+     * @throws MockIaasException is thrown if instance is not found
      */
     @Override
     public MockInstanceMetadata allocateIpAddress(String instanceId) throws MockIaasException {
@@ -180,8 +183,7 @@ public class MockIaasServiceImpl implements MockIaasService {
 
     /**
      * Terminate mock instance by instance id.
-     *
-     * @param instanceId
+     * @param instanceId mock instance id
      */
     @Override
     public void terminateInstance(String instanceId) {
@@ -209,9 +211,8 @@ public class MockIaasServiceImpl implements MockIaasService {
 
     /**
      * Find number of instances available for service type.
-     *
-     * @param serviceName
-     * @return
+     * @param serviceName service name/cartridge type
+     * @return the member count
      */
     private int getMemberCount(String serviceName) {
         int count = 0;

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockScalingFactor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockScalingFactor.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockScalingFactor.java
new file mode 100644
index 0000000..554d34f
--- /dev/null
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/services/impl/MockScalingFactor.java
@@ -0,0 +1,27 @@
+/*
+ * 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.stratos.mock.iaas.services.impl;
+
+/**
+ * Mock scaling factor enumeration
+ */
+public enum MockScalingFactor {
+    MemoryConsumption, LoadAverage, RequestInFlight
+}

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/MockHealthStatistics.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/MockHealthStatistics.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/MockHealthStatistics.java
index 349644d..8937a4d 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/MockHealthStatistics.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/MockHealthStatistics.java
@@ -20,7 +20,7 @@
 package org.apache.stratos.mock.iaas.statistics;
 
 import org.apache.stratos.mock.iaas.exceptions.NoStatisticsFoundException;
-import org.apache.stratos.mock.iaas.services.impl.MockAutoscalingFactor;
+import org.apache.stratos.mock.iaas.services.impl.MockScalingFactor;
 
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -56,10 +56,10 @@ public class MockHealthStatistics {
      * Add statistics value for a cartridge type, autoscaling factor
      *
      * @param cartridgeType
-     * @param autoscalingFactor
+     * @param scalingFactor
      * @param value
      */
-    public void addStatistics(String cartridgeType, MockAutoscalingFactor autoscalingFactor, Integer value) {
+    public void addStatistics(String cartridgeType, MockScalingFactor scalingFactor, Integer value) {
         Map<String, Integer> factorValueMap = statisticsMap.get(cartridgeType);
         if (factorValueMap == null) {
             synchronized (MockHealthStatistics.class) {
@@ -69,40 +69,40 @@ public class MockHealthStatistics {
                 }
             }
         }
-        factorValueMap.put(autoscalingFactor.toString(), value);
+        factorValueMap.put(scalingFactor.toString(), value);
     }
 
     /**
      * Returns current statistics of the given cartridge type, autoscaling factor
      *
      * @param cartridgeType
-     * @param autoscalingFactor
+     * @param scalingFactor
      * @return
      */
-    public int getStatistics(String cartridgeType, MockAutoscalingFactor autoscalingFactor) throws NoStatisticsFoundException {
+    public int getStatistics(String cartridgeType, MockScalingFactor scalingFactor) throws NoStatisticsFoundException {
         Map<String, Integer> factorValueMap = statisticsMap.get(cartridgeType);
         if (factorValueMap != null) {
-            if (factorValueMap.containsKey(autoscalingFactor.toString())) {
-                return factorValueMap.get(autoscalingFactor.toString());
+            if (factorValueMap.containsKey(scalingFactor.toString())) {
+                return factorValueMap.get(scalingFactor.toString());
             } else {
                 throw new NoStatisticsFoundException();
             }
         }
         // No statistics patterns found, return default
-        return findDefault(autoscalingFactor);
+        return findDefault(scalingFactor);
     }
 
     /**
      * Remove statistics found for the cartridge type, autoscaling factor
      *
      * @param cartridgeType
-     * @param autoscalingFactor
+     * @param scalingFactor
      */
-    public void removeStatistics(String cartridgeType, MockAutoscalingFactor autoscalingFactor) {
+    public void removeStatistics(String cartridgeType, MockScalingFactor scalingFactor) {
         Map<String, Integer> factorValueMap = statisticsMap.get(cartridgeType);
         if (factorValueMap != null) {
-            if (factorValueMap.containsKey(autoscalingFactor.toString())) {
-                factorValueMap.remove(autoscalingFactor.toString());
+            if (factorValueMap.containsKey(scalingFactor.toString())) {
+                factorValueMap.remove(scalingFactor.toString());
             }
         }
     }
@@ -110,17 +110,17 @@ public class MockHealthStatistics {
     /**
      * Find default statistics value of the given autoscaling factor
      *
-     * @param autoscalingFactor
+     * @param scalingFactor
      * @return
      */
-    private int findDefault(MockAutoscalingFactor autoscalingFactor) {
-        if (autoscalingFactor == MockAutoscalingFactor.MemoryConsumption) {
+    private int findDefault(MockScalingFactor scalingFactor) {
+        if (scalingFactor == MockScalingFactor.MemoryConsumption) {
             return DEFAULT_MEMORY_CONSUMPTION;
-        } else if (autoscalingFactor == MockAutoscalingFactor.LoadAverage) {
+        } else if (scalingFactor == MockScalingFactor.LoadAverage) {
             return DEFAULT_LOAD_AVERAGE;
-        } else if (autoscalingFactor == MockAutoscalingFactor.RequestInFlight) {
+        } else if (scalingFactor == MockScalingFactor.RequestInFlight) {
             return DEFAULT_REQUESTS_IN_FLIGHT;
         }
-        throw new RuntimeException("An unknown autoscaling factor found: " + autoscalingFactor);
+        throw new RuntimeException("An unknown autoscaling factor found: " + scalingFactor);
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsGenerator.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsGenerator.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsGenerator.java
index ade7bf0..3c72ee2 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsGenerator.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsGenerator.java
@@ -24,7 +24,6 @@ import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.common.threading.StratosThreadPool;
 import org.apache.stratos.mock.iaas.config.MockIaasConfig;
 
-import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
@@ -43,8 +42,7 @@ public class MockHealthStatisticsGenerator {
     private static final ScheduledExecutorService scheduledExecutorService =
             StratosThreadPool.getScheduledExecutorService("mock.iaas.health.statistics.generator.thread.pool", 10);
 
-    private boolean scheduled;
-    // Map<ServiceName, List<ScheduledFuture>>
+    // Map<ServiceName, Map<ScalingFactor, ScheduledFuture>>
     private Map<String, Map<String, ScheduledFuture>> serviceNameToTaskListMap;
 
     public static MockHealthStatisticsGenerator getInstance() {
@@ -58,14 +56,16 @@ public class MockHealthStatisticsGenerator {
         return instance;
     }
 
+    /**
+     * Private default constructor.
+     */
     private MockHealthStatisticsGenerator() {
         serviceNameToTaskListMap = new ConcurrentHashMap<String, Map<String, ScheduledFuture>>();
     }
 
     /**
      * Schedule statistics updater tasks for the given service/cartridge type.
-     *
-     * @param serviceName
+     * @param serviceName service name/cartridge type
      */
     public void scheduleStatisticsUpdaterTasks(String serviceName) {
         synchronized (MockHealthStatisticsGenerator.class) {
@@ -98,17 +98,14 @@ public class MockHealthStatisticsGenerator {
 
     /**
      * Stop statistics updater tasks of the given service/cartridge type.
-     *
-     * @param serviceName
+     * @param serviceName service name/cartridge type
      */
     public void stopStatisticsUpdaterTasks(String serviceName) {
         synchronized (MockHealthStatisticsGenerator.class) {
             Map<String, ScheduledFuture> taskMap = serviceNameToTaskListMap.get(serviceName);
             if ((taskMap != null) && (taskMap.size() > 0)) {
-                Iterator<String> factorIterator = taskMap.keySet().iterator();
-                while (factorIterator.hasNext()) {
-                    String factor = factorIterator.next();
-                    stopStatisticsUpdaterTask(serviceName, factor);
+                for (String scalingFactor : taskMap.keySet()) {
+                    stopStatisticsUpdaterTask(serviceName, scalingFactor);
                 }
             }
         }
@@ -116,21 +113,20 @@ public class MockHealthStatisticsGenerator {
 
     /**
      * Stop statistics updater task of a service/cartridge type, factor.
-     *
-     * @param serviceName
-     * @param factor
+     * @param serviceName service name/cartridge type
+     * @param scalingFactor scaling factor
      */
-    public void stopStatisticsUpdaterTask(String serviceName, String factor) {
-        Map<String, ScheduledFuture> factorToTaskMap = serviceNameToTaskListMap.get(serviceName);
-        if (factorToTaskMap != null) {
-            ScheduledFuture task = factorToTaskMap.get(factor);
+    public void stopStatisticsUpdaterTask(String serviceName, String scalingFactor) {
+        Map<String, ScheduledFuture> autoscalingFactorToTaskMap = serviceNameToTaskListMap.get(serviceName);
+        if (autoscalingFactorToTaskMap != null) {
+            ScheduledFuture task = autoscalingFactorToTaskMap.get(scalingFactor);
             if (task != null) {
                 task.cancel(true);
-                factorToTaskMap.remove(factor);
+                autoscalingFactorToTaskMap.remove(scalingFactor);
 
                 if (log.isInfoEnabled()) {
                     log.info(String.format("Mock statistics updater task stopped: [service-name] %s" +
-                            " [factor] %s", serviceName, factor));
+                            " [scaling-factor] %s", serviceName, scalingFactor));
                 }
             }
         }
@@ -139,9 +135,8 @@ public class MockHealthStatisticsGenerator {
     /**
      * Returns true if there are statistics updater tasks scheduled for the given service/cartridge type
      * else returns false.
-     *
-     * @param serviceName
-     * @return
+     * @param serviceName service name/cartridge type
+     * @return true if statistics updater tasks are scheduled
      */
     public boolean statisticsUpdaterTasksScheduled(String serviceName) {
         Map<String, ScheduledFuture> tasks = serviceNameToTaskListMap.get(serviceName);

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsPattern.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsPattern.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsPattern.java
index 4adac3f..1df501e 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsPattern.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/generator/MockHealthStatisticsPattern.java
@@ -22,7 +22,7 @@ package org.apache.stratos.mock.iaas.statistics.generator;
 import org.apache.stratos.mock.iaas.exceptions.ContinueLastSampleValueException;
 import org.apache.stratos.mock.iaas.exceptions.NoSampleValuesFoundException;
 import org.apache.stratos.mock.iaas.exceptions.StopStatisticsPublishingException;
-import org.apache.stratos.mock.iaas.services.impl.MockAutoscalingFactor;
+import org.apache.stratos.mock.iaas.services.impl.MockScalingFactor;
 import org.apache.stratos.mock.iaas.statistics.StatisticsPatternMode;
 
 import java.util.Iterator;
@@ -34,13 +34,13 @@ import java.util.List;
 public class MockHealthStatisticsPattern {
 
     private String cartridgeType;
-    private MockAutoscalingFactor factor;
+    private MockScalingFactor factor;
     private StatisticsPatternMode mode;
     private List<Integer> sampleValues;
     private int sampleDuration;
     private Iterator sampleValuesIterator;
 
-    public MockHealthStatisticsPattern(String cartridgeType, MockAutoscalingFactor factor, StatisticsPatternMode mode, List<Integer> sampleValues,
+    public MockHealthStatisticsPattern(String cartridgeType, MockScalingFactor factor, StatisticsPatternMode mode, List<Integer> sampleValues,
                                        int sampleDuration) {
         this.cartridgeType = cartridgeType;
         this.factor = factor;
@@ -55,11 +55,10 @@ public class MockHealthStatisticsPattern {
     }
 
     /**
-     * Returns autoscaling factor
-     *
+     * Returns scaling factor
      * @return
      */
-    public MockAutoscalingFactor getFactor() {
+    public MockScalingFactor getFactor() {
         return factor;
     }
 

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
index 3060ae4..b9e081c 100644
--- a/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
+++ b/components/org.apache.stratos.mock.iaas/src/main/java/org/apache/stratos/mock/iaas/statistics/publisher/MockHealthStatisticsNotifier.java
@@ -26,7 +26,7 @@ import org.apache.stratos.common.statistics.publisher.HealthStatisticsPublisherF
 import org.apache.stratos.common.statistics.publisher.StatisticsPublisherType;
 import org.apache.stratos.mock.iaas.domain.MockInstanceContext;
 import org.apache.stratos.mock.iaas.exceptions.NoStatisticsFoundException;
-import org.apache.stratos.mock.iaas.services.impl.MockAutoscalingFactor;
+import org.apache.stratos.mock.iaas.services.impl.MockScalingFactor;
 import org.apache.stratos.mock.iaas.statistics.MockHealthStatistics;
 
 /**
@@ -59,7 +59,7 @@ public class MockHealthStatisticsNotifier implements Runnable {
 
         try {
             double memoryConsumption = MockHealthStatistics.getInstance().getStatistics(
-                    mockMemberContext.getServiceName(), MockAutoscalingFactor.MemoryConsumption);
+                    mockMemberContext.getServiceName(), MockScalingFactor.MemoryConsumption);
 
             if (log.isDebugEnabled()) {
                 log.debug(String.format("Publishing memory consumption: [member-id] %s [value] %f",
@@ -84,7 +84,7 @@ public class MockHealthStatisticsNotifier implements Runnable {
 
         try {
             double loadAvereage = MockHealthStatistics.getInstance().getStatistics(
-                    mockMemberContext.getServiceName(), MockAutoscalingFactor.LoadAverage);
+                    mockMemberContext.getServiceName(), MockScalingFactor.LoadAverage);
             if (log.isDebugEnabled()) {
                 log.debug(String.format("Publishing load average: [member-id] %s [value] %f",
                         mockMemberContext.getMemberId(), loadAvereage));

http://git-wip-us.apache.org/repos/asf/stratos/blob/20f17fa3/products/stratos/modules/distribution/src/main/conf/mock-iaas.xml
----------------------------------------------------------------------
diff --git a/products/stratos/modules/distribution/src/main/conf/mock-iaas.xml b/products/stratos/modules/distribution/src/main/conf/mock-iaas.xml
index 6e70c75..6828e0c 100644
--- a/products/stratos/modules/distribution/src/main/conf/mock-iaas.xml
+++ b/products/stratos/modules/distribution/src/main/conf/mock-iaas.xml
@@ -17,7 +17,7 @@
   ~ under the License.
   -->
 
-<mock-iaas enabled="false">
+<mock-iaas enabled="true">
     <health-statistics>
         <cartridge type="tomcat">
             <!-- factor:memory-consumption|load-average|request-in-flight-->