You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by ni...@apache.org on 2014/05/07 00:57:08 UTC

[5/8] git commit: fixing https://issues.apache.org/jira/browse/STRATOS-645 - for autoscaler

fixing https://issues.apache.org/jira/browse/STRATOS-645 - for autoscaler


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

Branch: refs/heads/master
Commit: ea1844f0f75773bb85f205ea848e35895e670b93
Parents: 9f4c29f
Author: Nirmal Fernando <ni...@apache.org>
Authored: Wed May 7 04:23:44 2014 +0530
Committer: Nirmal Fernando <ni...@apache.org>
Committed: Wed May 7 04:23:44 2014 +0530

----------------------------------------------------------------------
 .../org.apache.stratos.autoscaler/pom.xml       |   2 -
 .../deployers/AutoscalerPolicyDeployer.java     | 114 -------------------
 .../deployers/AutoscalerPolicyReader.java       | 113 ------------------
 .../policy/model/LoadAverageThresholds.java     |  52 +++++++++
 .../autoscaler/policy/model/LoadThresholds.java |  30 ++---
 .../model/MemoryConsumptionThresholds.java      |  52 +++++++++
 .../model/RequestsInFlightThresholds.java       |  53 +++++++++
 7 files changed, 172 insertions(+), 244 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ea1844f0/components/org.apache.stratos.autoscaler/pom.xml
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/pom.xml b/components/org.apache.stratos.autoscaler/pom.xml
index cbc4090..d0d1167 100644
--- a/components/org.apache.stratos.autoscaler/pom.xml
+++ b/components/org.apache.stratos.autoscaler/pom.xml
@@ -196,8 +196,6 @@
                         </Import-Package>
 						<Bundle-Activator>org.apache.stratos.autoscaler.internal.ASBundleActivater</Bundle-Activator>
 						<DynamicImport-Package>*</DynamicImport-Package>
-						<!--<Axis2Deployer>AutoscalerPolicyDeployer</Axis2Deployer>
-						<Axis2Deployer>DeploymentPolicyDeployer</Axis2Deployer>-->
 						<Embed-Dependency>*;scope=compile|runtime</Embed-Dependency>
 						<Embed-Directory>lib</Embed-Directory>
 					</instructions>

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ea1844f0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyDeployer.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyDeployer.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyDeployer.java
deleted file mode 100644
index 861dab8..0000000
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyDeployer.java
+++ /dev/null
@@ -1,114 +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.autoscaler.policy.deployers;
-
-import java.io.File;
-
-import org.apache.axis2.context.ConfigurationContext;
-import org.apache.axis2.deployment.AbstractDeployer;
-import org.apache.axis2.deployment.DeploymentException;
-import org.apache.axis2.deployment.repository.util.DeploymentFileData;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.exception.InvalidPolicyException;
-import org.apache.stratos.autoscaler.policy.PolicyManager;
-import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
-
-/**
- * 
- * The Axis2 deployer class for Autoscale-policy definitions.
- */
-public class AutoscalerPolicyDeployer extends AbstractDeployer {
-	
-	 private static final Log log = LogFactory.getLog(AutoscalerPolicyDeployer.class);
-	 
-	 private static String fileExt="xml"; //default
-	 private static String deployDirectory=null;
-
-	@Override
-	public void init(ConfigurationContext context) {
-		if(deployDirectory!=null){
-			File deployDir = new File(new File(context.getAxisConfiguration().getRepository().getPath()),deployDirectory);
-			if(!deployDir.exists()){
-				//create policies deployment directory if not exist 
-				try {
-					deployDir.mkdirs();
-				} catch (Exception e) {
-					log.error("Unable to create policies deployment directory", e);
-				}
-			}
-		}
-	}
-
-	@Override
-	public void setDirectory(String dir) {
-		deployDirectory = dir;
-	}
-
-	@Override
-	public void setExtension(String ext) {
-		fileExt = ext;
-	}
-	
-	@Override
-	public void deploy(DeploymentFileData deploymentFileData) throws DeploymentException {
-
-		File policyFile = deploymentFileData.getFile();
-		log.debug("Started to deploy the policy: " + policyFile);
-
-		try {
-			
-			AutoscalerPolicyReader reader = new AutoscalerPolicyReader(policyFile);
-			
-			AutoscalePolicy policy = reader.read();
-			PolicyManager.getInstance().deployAutoscalePolicy(policy);
-
-			log.info("Successfully deployed the policy specified at "
-					+ deploymentFileData.getAbsolutePath());
-
-		} catch (Exception e) {
-			String msg = "Invalid policy artifact at " + deploymentFileData.getAbsolutePath();
-			// back up the file
-			File fileToBeRenamed = policyFile;
-			fileToBeRenamed.renameTo(new File(deploymentFileData.getAbsolutePath() + ".back"));
-			log.error(msg, e);
-			throw new DeploymentException(msg, e);
-		}
-	}
-	
-	@Override
-	public void undeploy(String fileName) throws DeploymentException {
-		/*
-		 
-		String policyName = policyFile.getName().replaceAll("." + fileExt + "$", "");
-		try {
-			PolicyManager.getInstance().removeAutoscalePolicy(policyFile);
-			log.info("Successfully undeployed the policy specified at " + fileName);
-		} catch (InvalidPolicyException e) {
-			log.error("unable to remove policy " + policyName , e);
-			throw new DeploymentException("unable to remove policy " + policyName ,e);
-		}
-		*/
-	}
-	
-	
-	
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ea1844f0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyReader.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyReader.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyReader.java
deleted file mode 100644
index c0c79a9..0000000
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/deployers/AutoscalerPolicyReader.java
+++ /dev/null
@@ -1,113 +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.autoscaler.policy.deployers;
-
-import java.io.File;
-
-import javax.xml.namespace.QName;
-
-import org.apache.axiom.om.OMElement;
-import org.apache.axis2.deployment.DeploymentException;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.exception.InvalidPolicyException;
-import org.apache.stratos.autoscaler.policy.model.AutoscalePolicy;
-import org.apache.stratos.autoscaler.policy.model.LoadAverage;
-import org.apache.stratos.autoscaler.policy.model.LoadThresholds;
-import org.apache.stratos.autoscaler.policy.model.MemoryConsumption;
-import org.apache.stratos.autoscaler.policy.model.RequestsInFlight;
-
-/**
- * 
- * The Reader class for Autoscale-policy definitions.
- */
-public class AutoscalerPolicyReader extends AbstractPolicyReader<AutoscalePolicy>  {
-	
-	private static final Log log = LogFactory.getLog(AutoscalerPolicyReader.class);
-	
-	public AutoscalerPolicyReader(File file) {
-		super(file);
-	}
-	
-	public AutoscalePolicy read() throws InvalidPolicyException{
-		AutoscalePolicy policy = new AutoscalePolicy();
-		try {
-			OMElement docEle = getDocument();
-			if("autoscalePolicy".equalsIgnoreCase(docEle.getLocalName())){
-				policy.setId(docEle.getAttributeValue(new QName("id")));
-				OMElement displayNameEle = docEle.getFirstChildWithName(new QName("displayName"));
-				if(displayNameEle!=null){
-					policy.setDisplayName(displayNameEle.getText());
-				}
-				OMElement descriptionEle = docEle.getFirstChildWithName(new QName("description"));
-				if(descriptionEle!=null){
-					policy.setDescription(descriptionEle.getText());
-				}
-				
-				//LoadThresholds
-				OMElement loadThresholdsEle = docEle.getFirstChildWithName(new QName("loadThresholds"));
-				LoadThresholds loadThresholds = new LoadThresholds();
-				
-				//RequestsInFlight
-				OMElement reqInFlightEle = loadThresholdsEle.getFirstChildWithName(new QName("requestsInFlight"));
-				RequestsInFlight reqInFlight = new RequestsInFlight();
-				reqInFlight.setAverage(Float.valueOf(readValueAttr(reqInFlightEle,"average")));
-				reqInFlight.setGradient(Float.valueOf(readValueAttr(reqInFlightEle,"gradient")));
-				reqInFlight.setSecondDerivative(Float.valueOf(readValueAttr(reqInFlightEle,"secondDerivative")));
-                reqInFlight.setScaleDownMarginOfGradient(Float.valueOf(readValueAttr(reqInFlightEle,"scaleDownMarginOfGradient")));
-                reqInFlight.setScaleDownMarginOfSecondDerivative(Float.valueOf(readValueAttr(reqInFlightEle,"scaleDownMarginOfSecondDerivative")));
-				loadThresholds.setRequestsInFlight(reqInFlight);
-				
-				//MemoryConsumption
-				OMElement memConsumptionEle = loadThresholdsEle.getFirstChildWithName(new QName("memoryConsumption"));
-				MemoryConsumption memConsumption = new MemoryConsumption();
-				memConsumption.setAverage(Float.valueOf(readValueAttr(memConsumptionEle,"average")));
-				memConsumption.setGradient(Float.valueOf(readValueAttr(memConsumptionEle,"gradient")));
-				memConsumption.setSecondDerivative(Float.valueOf(readValueAttr(memConsumptionEle,"secondDerivative")));
-                memConsumption.setScaleDownMarginOfGradient(Float.valueOf(readValueAttr(memConsumptionEle,"scaleDownMarginOfGradient")));
-                memConsumption.setScaleDownMarginOfSecondDerivative(Float.valueOf(readValueAttr(memConsumptionEle,"scaleDownMarginOfSecondDerivative")));
-				loadThresholds.setMemoryConsumption(memConsumption);
-				
-				//LoadAverage
-				OMElement loadAvrEle = loadThresholdsEle.getFirstChildWithName(new QName("loadAverage"));
-				LoadAverage loadAvr = new LoadAverage();
-				loadAvr.setAverage(Float.valueOf(readValueAttr(loadAvrEle,"average")));
-				loadAvr.setGradient(Float.valueOf(readValueAttr(loadAvrEle,"gradient")));
-				loadAvr.setSecondDerivative(Float.valueOf(readValueAttr(loadAvrEle,"secondDerivative")));
-                loadAvr.setScaleDownMarginOfGradient(Float.valueOf(readValueAttr(loadAvrEle,"scaleDownMarginOfGradient")));
-                loadAvr.setScaleDownMarginOfSecondDerivative(Float.valueOf(readValueAttr(loadAvrEle,"scaleDownMarginOfSecondDerivative")));
-				loadThresholds.setLoadAverage(loadAvr);
-				
-				policy.setLoadThresholds(loadThresholds);
-				
-			} else{
-				throw new DeploymentException("File is not a valid autoscale policy");
-			}
-
-		} catch (Exception e){
-			log.error("Malformed autoscale policy file", e);
-			throw new InvalidPolicyException("Malformed autoscale policy file",e);
-		} finally{
-			closeStream();
-		}
-		return policy;
-	}
-
-}

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ea1844f0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadAverageThresholds.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadAverageThresholds.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadAverageThresholds.java
new file mode 100644
index 0000000..81365e6
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadAverageThresholds.java
@@ -0,0 +1,52 @@
+/*
+ * 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.autoscaler.policy.model;
+
+import java.io.Serializable;
+
+/**
+ * The model class for LoadAverage definition.
+ */
+public class LoadAverageThresholds implements Serializable{
+
+	private static final long serialVersionUID = -2109860338694123343L;
+	private float upperLimit = 80.0F;
+	private float lowerLimit = 20.0F;
+	
+	public float getUpperLimit() {
+		return upperLimit;
+	}
+	public void setUpperLimit(float upperLimit) {
+		this.upperLimit = upperLimit;
+	}
+	public float getLowerLimit() {
+		return lowerLimit;
+	}
+	public void setLowerLimit(float lowerLimit) {
+		this.lowerLimit = lowerLimit;
+	}
+	
+	@Override
+	public String toString() {
+		return "LoadAverage [upperLimit=" + upperLimit + ", lowerLimit="
+				+ lowerLimit + "]";
+	}
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ea1844f0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadThresholds.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadThresholds.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadThresholds.java
index 61677d7..22e00a6 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadThresholds.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/LoadThresholds.java
@@ -27,19 +27,19 @@ import java.io.Serializable;
 public class LoadThresholds implements Serializable{
 
 	private static final long serialVersionUID = -8148571245537655867L;
-	private RequestsInFlight requestsInFlight;
-	private MemoryConsumption memoryConsumption;
-	private LoadAverage loadAverage;
+	private RequestsInFlightThresholds requestsInFlight;
+	private MemoryConsumptionThresholds memoryConsumption;
+	private LoadAverageThresholds loadAverage;
 
     /**
      * Gets the value of the requestsInFlight property.
      * 
      * @return
      *     possible object is
-     *     {@link RequestsInFlight }
+     *     {@link RequestsInFlightThresholds }
      *     
      */
-    public RequestsInFlight getRequestsInFlight() {
+    public RequestsInFlightThresholds getRequestsInFlight() {
         return requestsInFlight;
     }
 
@@ -48,10 +48,10 @@ public class LoadThresholds implements Serializable{
      * 
      * @param value
      *     allowed object is
-     *     {@link RequestsInFlight }
+     *     {@link RequestsInFlightThresholds }
      *     
      */
-    public void setRequestsInFlight(RequestsInFlight value) {
+    public void setRequestsInFlight(RequestsInFlightThresholds value) {
         this.requestsInFlight = value;
     }
 
@@ -60,10 +60,10 @@ public class LoadThresholds implements Serializable{
      * 
      * @return
      *     possible object is
-     *     {@link MemoryConsumption }
+     *     {@link MemoryConsumptionThresholds }
      *     
      */
-    public MemoryConsumption getMemoryConsumption() {
+    public MemoryConsumptionThresholds getMemoryConsumption() {
         return memoryConsumption;
     }
 
@@ -72,10 +72,10 @@ public class LoadThresholds implements Serializable{
      * 
      * @param value
      *     allowed object is
-     *     {@link MemoryConsumption }
+     *     {@link MemoryConsumptionThresholds }
      *     
      */
-    public void setMemoryConsumption(MemoryConsumption value) {
+    public void setMemoryConsumption(MemoryConsumptionThresholds value) {
         this.memoryConsumption = value;
     }
 
@@ -84,10 +84,10 @@ public class LoadThresholds implements Serializable{
      * 
      * @return
      *     possible object is
-     *     {@link LoadAverage }
+     *     {@link LoadAverageThresholds }
      *     
      */
-    public LoadAverage getLoadAverage() {
+    public LoadAverageThresholds getLoadAverage() {
         return loadAverage;
     }
 
@@ -96,10 +96,10 @@ public class LoadThresholds implements Serializable{
      * 
      * @param value
      *     allowed object is
-     *     {@link LoadAverage }
+     *     {@link LoadAverageThresholds }
      *     
      */
-    public void setLoadAverage(LoadAverage value) {
+    public void setLoadAverage(LoadAverageThresholds value) {
         this.loadAverage = value;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ea1844f0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/MemoryConsumptionThresholds.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/MemoryConsumptionThresholds.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/MemoryConsumptionThresholds.java
new file mode 100644
index 0000000..5d637ba
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/MemoryConsumptionThresholds.java
@@ -0,0 +1,52 @@
+/*
+ * 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.autoscaler.policy.model;
+
+import java.io.Serializable;
+
+/**
+ * The model class for MemoryConsumption definition.
+ */
+public class MemoryConsumptionThresholds implements Serializable {
+
+	private static final long serialVersionUID = 5755634390464664663L;
+	private float upperLimit = 80.0F;
+	private float lowerLimit = 20.0F;
+	
+	public float getUpperLimit() {
+		return upperLimit;
+	}
+	public void setUpperLimit(float upperLimit) {
+		this.upperLimit = upperLimit;
+	}
+	public float getLowerLimit() {
+		return lowerLimit;
+	}
+	public void setLowerLimit(float lowerLimit) {
+		this.lowerLimit = lowerLimit;
+	}
+	
+	@Override
+	public String toString() {
+		return "MemoryConsumption [upperLimit=" + upperLimit + ", lowerLimit="
+				+ lowerLimit + "]";
+	}
+
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/ea1844f0/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/RequestsInFlightThresholds.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/RequestsInFlightThresholds.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/RequestsInFlightThresholds.java
new file mode 100644
index 0000000..19b4eaa
--- /dev/null
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/policy/model/RequestsInFlightThresholds.java
@@ -0,0 +1,53 @@
+/*
+ * 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.autoscaler.policy.model;
+
+import java.io.Serializable;
+
+/**
+ * The model class for RequestsInFlight definition.
+ */
+public class RequestsInFlightThresholds implements Serializable{
+
+	private static final long serialVersionUID = 8113964958155294290L;
+	private float upperLimit = 80.0F;
+	private float lowerLimit = 20.0F;
+	
+	public float getLowerLimit() {
+		return lowerLimit;
+	}
+	public void setLowerLimit(float lowerLimit) {
+		this.lowerLimit = lowerLimit;
+	}
+	public float getUpperLimit() {
+		return upperLimit;
+	}
+	public void setUpperLimit(float upperLimit) {
+		this.upperLimit = upperLimit;
+	}
+	@Override
+	public String toString() {
+		return "RequestsInFlight [upperLimit=" + upperLimit + ", lowerLimit="
+				+ lowerLimit + "]";
+	}
+	
+	
+
+}
\ No newline at end of file