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-->