summaryrefslogtreecommitdiffstats
path: root/common-app-api/src/main/java/org/openecomp/sdc/common/http/config/Timeouts.java
diff options
context:
space:
mode:
Diffstat (limited to 'common-app-api/src/main/java/org/openecomp/sdc/common/http/config/Timeouts.java')
-rw-r--r--common-app-api/src/main/java/org/openecomp/sdc/common/http/config/Timeouts.java102
1 files changed, 102 insertions, 0 deletions
diff --git a/common-app-api/src/main/java/org/openecomp/sdc/common/http/config/Timeouts.java b/common-app-api/src/main/java/org/openecomp/sdc/common/http/config/Timeouts.java
new file mode 100644
index 0000000000..d759b3eef4
--- /dev/null
+++ b/common-app-api/src/main/java/org/openecomp/sdc/common/http/config/Timeouts.java
@@ -0,0 +1,102 @@
+package org.openecomp.sdc.common.http.config;
+
+public class Timeouts {
+
+ private static final int DEFAULT_TIMEOUT_MS = 15000;
+ private int connectTimeoutMs = DEFAULT_TIMEOUT_MS;
+ private int readTimeoutMs = DEFAULT_TIMEOUT_MS;
+ private int connectPoolTimeoutMs = DEFAULT_TIMEOUT_MS;
+
+ public static final Timeouts DEFAULT;
+ static {
+ DEFAULT = new Timeouts();
+ }
+
+ private Timeouts() {
+ }
+
+ public Timeouts(int connectTimeoutMs, int readTimeoutMs) {
+ setConnectTimeoutMs(connectTimeoutMs);
+ setReadTimeoutMs(readTimeoutMs);
+ }
+
+ public Timeouts(Timeouts timeouts) {
+ setReadTimeoutMs(timeouts.readTimeoutMs);
+ setConnectTimeoutMs(timeouts.connectTimeoutMs);
+ setConnectPoolTimeoutMs(timeouts.connectPoolTimeoutMs);
+ }
+
+ public int getConnectTimeoutMs() {
+ return connectTimeoutMs;
+ }
+
+ public void setConnectTimeoutMs(int connectTimeoutMs) {
+ validate(connectTimeoutMs);
+ this.connectTimeoutMs = connectTimeoutMs;
+ }
+
+ public int getReadTimeoutMs() {
+ return readTimeoutMs;
+ }
+
+ public void setReadTimeoutMs(int readTimeoutMs) {
+ validate(readTimeoutMs);
+ this.readTimeoutMs = readTimeoutMs;
+ }
+
+ public int getConnectPoolTimeoutMs() {
+ return connectPoolTimeoutMs;
+ }
+
+ public void setConnectPoolTimeoutMs(int connectPoolTimeoutMs) {
+ validate(connectPoolTimeoutMs);
+ this.connectPoolTimeoutMs = connectPoolTimeoutMs;
+ }
+
+ @Override
+ public int hashCode() {
+ final int prime = 31;
+ int result = 1;
+ result = prime * result + connectPoolTimeoutMs;
+ result = prime * result + connectTimeoutMs;
+ result = prime * result + readTimeoutMs;
+ return result;
+ }
+
+ @Override
+ public boolean equals(Object obj) {
+ if (this == obj)
+ return true;
+ if (obj == null)
+ return false;
+ if (getClass() != obj.getClass())
+ return false;
+ Timeouts other = (Timeouts) obj;
+ if (connectPoolTimeoutMs != other.connectPoolTimeoutMs)
+ return false;
+ if (connectTimeoutMs != other.connectTimeoutMs)
+ return false;
+ if (readTimeoutMs != other.readTimeoutMs)
+ return false;
+ return true;
+ }
+
+ @Override
+ public String toString() {
+ StringBuilder builder = new StringBuilder();
+ builder.append("Timeouts [connectTimeoutMs=");
+ builder.append(connectTimeoutMs);
+ builder.append(", readTimeoutMs=");
+ builder.append(readTimeoutMs);
+ builder.append(", connectPoolTimeoutMs=");
+ builder.append(connectPoolTimeoutMs);
+ builder.append("]");
+ return builder.toString();
+ }
+
+ private void validate(int timeout) {
+ if(timeout <= 0) {
+ throw new IllegalArgumentException("Timeout values cannot be less than zero");
+ }
+ }
+}