You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dlab.apache.org by of...@apache.org on 2020/08/03 08:33:17 UTC

[incubator-dlab] branch develop updated: Sonar code smell changes

This is an automated email from the ASF dual-hosted git repository.

ofuks pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/incubator-dlab.git


The following commit(s) were added to refs/heads/develop by this push:
     new 074f5bf  Sonar code smell changes
     new a493c9c  Merge remote-tracking branch 'origin/develop' into develop
074f5bf is described below

commit 074f5bf38446c09b3c891f4f13f18e8f418280c9
Author: Oleh Fuks <ol...@gmail.com>
AuthorDate: Mon Aug 3 11:32:57 2020 +0300

    Sonar code smell changes
---
 .../azure/AzureInvoiceCalculationService.java      |  2 -
 .../billing/azure/CalculateBillingService.java     |  1 +
 .../dlab/billing/azure/config/SecurityConfig.java  |  2 +-
 .../epam/dlab/billing/gcp/conf/SecurityConfig.java |  4 +-
 .../com/epam/dlab/billing/gcp/dao/BillingDAO.java  |  3 +-
 .../dlab/billing/gcp/service/BillingService.java   |  3 +-
 .../src/main/java/com/epam/dlab/MongoKeyWords.java | 30 ----------
 .../dlab/dto/exploratory/ExploratoryCreateDTO.java |  3 +
 .../dlab/dto/exploratory/ExploratoryGitCreds.java  |  4 +-
 .../dlab/dto/exploratory/ExploratoryImageDTO.java  |  1 +
 .../java/com/epam/dlab/model/aws/ReportLine.java   | 17 +++---
 .../main/java/com/epam/dlab/util/ServiceUtils.java | 66 +++++++++++-----------
 .../java/com/epam/dlab/util/UsernameUtils.java     |  6 +-
 .../src/main/java/com/epam/dlab/ModuleBase.java    | 22 ++++----
 .../src/main/java/com/epam/dlab/auth/UserInfo.java | 53 +++++++++++------
 .../java/com/epam/dlab/rest/contracts/EdgeAPI.java | 28 ---------
 .../backendapi/resources/aws/EdgeResourceAws.java  |  7 ++-
 .../resources/azure/EdgeResourceAzure.java         |  7 ++-
 .../backendapi/resources/gcp/EdgeResourceGcp.java  |  7 ++-
 19 files changed, 120 insertions(+), 146 deletions(-)

diff --git a/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/AzureInvoiceCalculationService.java b/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/AzureInvoiceCalculationService.java
index b3eec4f..441475e 100644
--- a/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/AzureInvoiceCalculationService.java
+++ b/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/AzureInvoiceCalculationService.java
@@ -22,7 +22,6 @@ package com.epam.dlab.billing.azure;
 import com.epam.dlab.billing.BillingCalculationUtils;
 import com.epam.dlab.billing.azure.config.BillingConfigurationAzure;
 import com.epam.dlab.billing.azure.model.AzureDailyResourceInvoice;
-import com.epam.dlab.billing.azure.model.AzureDlabBillableResource;
 import com.epam.dlab.billing.azure.rate.AzureRateCardClient;
 import com.epam.dlab.billing.azure.rate.Meter;
 import com.epam.dlab.billing.azure.rate.RateCardResponse;
@@ -58,7 +57,6 @@ public class AzureInvoiceCalculationService {
 	private static final long MAX_AUTH_TOKEN_TTL_MILLIS = 9L * 60L * 1000L;
 
 	private BillingConfigurationAzure billingConfigurationAzure;
-	private Map<String, AzureDlabBillableResource> billableResources;
 
 	/**
 	 * Constructs service class
diff --git a/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingService.java b/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingService.java
index d432337..2f265c0 100644
--- a/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingService.java
+++ b/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/CalculateBillingService.java
@@ -23,6 +23,7 @@ import com.epam.dlab.dto.billing.BillingData;
 
 import java.util.List;
 
+@FunctionalInterface
 public interface CalculateBillingService {
     List<BillingData> getBillingData();
 }
diff --git a/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/SecurityConfig.java b/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/SecurityConfig.java
index 35e341c..9ee3d0a 100644
--- a/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/SecurityConfig.java
+++ b/services/billing-azure/src/main/java/com/epam/dlab/billing/azure/config/SecurityConfig.java
@@ -44,7 +44,7 @@ class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter {
     }
 
     @Bean
-    public KeycloakConfigResolver KeycloakConfigResolver() {
+    public KeycloakConfigResolver keycloakConfigResolver() {
         return new KeycloakSpringBootConfigResolver();
     }
 
diff --git a/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/SecurityConfig.java b/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/SecurityConfig.java
index ad960b0..5666283 100644
--- a/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/SecurityConfig.java
+++ b/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/conf/SecurityConfig.java
@@ -44,8 +44,8 @@ class SecurityConfig extends KeycloakWebSecurityConfigurerAdapter {
     }
 
     @Bean
-    public KeycloakConfigResolver KeycloakConfigResolver() {
-        return new KeycloakSpringBootConfigResolver();
+    public KeycloakConfigResolver keycloakConfigResolver() {
+	    return new KeycloakSpringBootConfigResolver();
     }
 
     @Bean
diff --git a/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/dao/BillingDAO.java b/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/dao/BillingDAO.java
index 7c791df..31a636b 100644
--- a/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/dao/BillingDAO.java
+++ b/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/dao/BillingDAO.java
@@ -23,6 +23,7 @@ import com.epam.dlab.dto.billing.BillingData;
 
 import java.util.List;
 
+@FunctionalInterface
 public interface BillingDAO {
-    List<BillingData> getBillingData() throws InterruptedException;
+	List<BillingData> getBillingData() throws InterruptedException;
 }
diff --git a/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service/BillingService.java b/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service/BillingService.java
index 7bb3246..ca4277f 100644
--- a/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service/BillingService.java
+++ b/services/billing-gcp/src/main/java/com/epam/dlab/billing/gcp/service/BillingService.java
@@ -23,6 +23,7 @@ import com.epam.dlab.dto.billing.BillingData;
 
 import java.util.List;
 
+@FunctionalInterface
 public interface BillingService {
-    List<BillingData> getBillingData();
+	List<BillingData> getBillingData();
 }
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/MongoKeyWords.java b/services/dlab-model/src/main/java/com/epam/dlab/MongoKeyWords.java
index 6553f2a..1ba4eed 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/MongoKeyWords.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/MongoKeyWords.java
@@ -20,14 +20,6 @@
 package com.epam.dlab;
 
 public abstract class MongoKeyWords {
-    public static final String EDGE_COLLECTION = "userCloudCredentials";
-    public static final String SETTINGS_COLLECTION = "settings";
-    public static final String NOTEBOOK_COLLECTION = "userInstances";
-    public static final String SERVICE_BASE_NAME_KEY = "conf_service_base_name";
-    public static final String SSN_STORAGE_ACCOUNT_TAG_KEY = "ssn_storage_account_tag_name";
-    public static final String SHARED_STORAGE_ACCOUNT_TAG_KEY = "shared_storage_account_tag_name";
-    public static final String DATA_LAKE_TAG_NAME = "datalake_tag_name";
-    public static final String BILLING_DETAILS = "billing";
     public static final String AZURE_BILLING_SCHEDULER = "billingScheduler";
     public static final String AZURE_BILLING_SCHEDULER_HISTORY = "billingSchedulerHistory";
 
@@ -35,30 +27,8 @@ public abstract class MongoKeyWords {
      * Mongo DB keywords related to billing functionality
      */
     public static final String MONGO_ID = "_id";
-    public static final String DLAB_ID = "dlabId";
-    public static final String DLAB_USER = "user";
-    public static final String EXPLORATORY_ID = "exploratoryId";
-    public static final String EXPLORATORY_ID_OLD = "exploratory_id";
-    public static final String RESOURCE_TYPE = "resourceType";
-    public static final String RESOURCE_NAME = "resourceName";
-    public static final String COMPUTATIONAL_ID = "computationalId";
-    public static final String METER_CATEGORY = "meterCategory";
-    public static final String COST = "cost";
-    public static final String COST_STRING = "costString";
-    public static final String USAGE_DAY = "day";
-    public static final String USAGE_FROM = "from";
-    public static final String USAGE_TO = "to";
-    public static final String CURRENCY_CODE = "currencyCode";
 
 
     private MongoKeyWords() {
     }
-
-    public static String prepend$(String value) {
-        return "$" + value;
-    }
-
-    public static String prependId(String value) {
-        return MongoKeyWords.MONGO_ID + "." + value;
-    }
 }
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryCreateDTO.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryCreateDTO.java
index cb32efb..557be36 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryCreateDTO.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryCreateDTO.java
@@ -79,6 +79,7 @@ public class ExploratoryCreateDTO<T extends ExploratoryCreateDTO<?>> extends Exp
 		return self;
 	}
 
+	@Override
 	public T withEndpoint(String endpoint) {
 		this.endpoint = endpoint;
 		return self;
@@ -102,10 +103,12 @@ public class ExploratoryCreateDTO<T extends ExploratoryCreateDTO<?>> extends Exp
 		return self;
 	}
 
+	@Override
 	public String getEndpoint() {
 		return endpoint;
 	}
 
+	@Override
 	public void setEndpoint(String endpoint) {
 		this.endpoint = endpoint;
 	}
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryGitCreds.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryGitCreds.java
index e547bde..0211ac5 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryGitCreds.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryGitCreds.java
@@ -168,7 +168,9 @@ public class ExploratoryGitCreds implements Comparable<ExploratoryGitCreds> {
 
 	@Override
 	public boolean equals(Object obj) {
-		if (this == obj) return true;
+		if (this == obj) {
+			return true;
+		}
 		return (obj instanceof ExploratoryGitCreds && (this.compareTo((ExploratoryGitCreds) obj) == 0));
 
 	}
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryImageDTO.java b/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryImageDTO.java
index b41f432..f4cffa3 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryImageDTO.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/dto/exploratory/ExploratoryImageDTO.java
@@ -48,6 +48,7 @@ public class ExploratoryImageDTO extends ExploratoryActionDTO<ExploratoryImageDT
 		return this;
 	}
 
+	@Override
 	public ExploratoryImageDTO withEndpoint(String endpoint) {
 		this.endpoint = endpoint;
 		return this;
diff --git a/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java b/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java
index 46c82f0..ede4e23 100644
--- a/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java
+++ b/services/dlab-model/src/main/java/com/epam/dlab/model/aws/ReportLine.java
@@ -28,12 +28,18 @@ import java.util.LinkedHashMap;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
-/** The line of billing report.
+/**
+ * The line of billing report.
  */
 public class ReportLine {
+	/** Patterns to calculate the type of resource in report line. */
+	private static final Pattern pInstancceId = Pattern.compile("^i-[a-z0-9]{17}$");
+	private static final Pattern pVolumeId = Pattern.compile("^vol-[a-z0-9]{17}$");
+	private static final Pattern pIpAddress = Pattern.compile("^[1-9][0-9]{0,2}\\.[1-9][0-9]{0,2}\\.[1-9][0-9]{0,2}\\.[1-9][0-9]{0,2}$");
+	private static final Pattern pClusterId = Pattern.compile("j-[A-Z0-9]{12,13}$");
+
 	public static final String FIELD_DLAB_ID = "dlab_id";
 	public static final String FIELD_USER_ID = "user";
-	public static final String FIELD_PROJECT = "project";
 	public static final String FIELD_USAGE_DATE = "usage_date";
 	public static final String FIELD_PRODUCT = "product";
 	public static final String FIELD_USAGE_TYPE = "usage_type";
@@ -160,13 +166,6 @@ public class ReportLine {
 	public void setTags(LinkedHashMap<String, String> tags) {
 		this.tags = tags;
 	}
-
-	
-	/** Patterns to calculate the type of resource in report line. */
-	private static final Pattern pInstancceId = Pattern.compile("^i-[a-z0-9]{17}$");
-	private static final Pattern pVolumeId = Pattern.compile("^vol-[a-z0-9]{17}$");
-	private static final Pattern pIpAddress = Pattern.compile("^[1-9][0-9]{0,2}\\.[1-9][0-9]{0,2}\\.[1-9][0-9]{0,2}\\.[1-9][0-9]{0,2}$");
-	private static final Pattern pClusterId = Pattern.compile("j-[A-Z0-9]{12,13}$");
 	
 	/** Calculate and set the type of resource and resource id.
 	 * @throws ParseException */
diff --git a/services/dlab-utils/src/main/java/com/epam/dlab/util/ServiceUtils.java b/services/dlab-utils/src/main/java/com/epam/dlab/util/ServiceUtils.java
index 5a2beeb..d3a44b2 100644
--- a/services/dlab-utils/src/main/java/com/epam/dlab/util/ServiceUtils.java
+++ b/services/dlab-utils/src/main/java/com/epam/dlab/util/ServiceUtils.java
@@ -20,6 +20,7 @@
 package com.epam.dlab.util;
 
 import com.epam.dlab.exceptions.DlabException;
+import lombok.extern.slf4j.Slf4j;
 
 import java.io.IOException;
 import java.net.JarURLConnection;
@@ -30,31 +31,32 @@ import java.util.jar.Attributes;
 import java.util.jar.JarFile;
 import java.util.jar.Manifest;
 
+@Slf4j
 public class ServiceUtils {
 
 	private static String includePath = null;
-	
+
 	static {
-        includePath = System.getenv("DLAB_CONF_DIR");
-        if ( includePath == null || includePath.isEmpty() ) {
-        	includePath = getUserDir();
-        }
+		includePath = System.getenv("DLAB_CONF_DIR");
+		if ( includePath == null || includePath.isEmpty() ) {
+			includePath = getUserDir();
+		}
 	}
-	
+
 	/* Return working directory.
 	 */
 	public static String getUserDir() {
 		return System.getProperty("user.dir");
 	}
-	
+
 	/** Return path to DLab configuration directory.
 	 * @return
 	 */
 	public static String getConfPath() {
-        return includePath;
+		return includePath;
 	}
-	
-	
+
+
 	/** Return manifest for given class or empty manifest if {@link JarFile#MANIFEST_NAME} not found.
 	 * @param clazz class.
 	 * @throws IOException
@@ -73,7 +75,7 @@ public class ServiceUtils {
 		JarURLConnection jarConnection = (JarURLConnection) url.openConnection();
 		return jarConnection.getManifest();
 	}
-	
+
 	/** Return manifest map for given class or empty map if manifest not found or cannot be read.
 	 * @param clazz class.
 	 */
@@ -89,13 +91,13 @@ public class ServiceUtils {
 				map.put(key.toString(), (String) attributes.get(key));
 			}
 		} catch (IOException e) {
-			System.err.println("Cannot found or open manifest for class " + className);
+			log.error("Cannot found or open manifest for class {}", className, e);
 			throw new DlabException("Cannot read manifest file", e);
 		}
-		
+
 		return map;
 	}
-	
+
 	/** Print to standard output the manifest info about application. If parameter <b>args</b> is not
 	 * <b>null</b> and one or more arguments have value -v or --version then print version and return <b>true<b/>
 	 * otherwise <b>false</b>.
@@ -108,32 +110,32 @@ public class ServiceUtils {
 		boolean result = false;
 		if (args != null) {
 			for (String arg : args) {
-	            if (arg.equals("-v") ||
-	            	arg.equals("--version")) {
-	            	result = true;
-	            }
-	        }
+				if ("-v".equals(arg) ||
+						"--version".equals(arg)) {
+					result = true;
+				}
+			}
 			if (!result) {
 				return result;
 			}
 		}
-		
+
 		Map<String, String> manifest = getManifest(mainClass);
 		if (manifest.isEmpty()) {
 			return result;
 		}
-		
-		System.out.println("Title       " + manifest.get("Implementation-Title"));
-		System.out.println("Version     " + manifest.get("Implementation-Version"));
-		System.out.println("Created By  " + manifest.get("Created-By"));
-		System.out.println("Vendor      " + manifest.get("Implementation-Vendor"));
-		System.out.println("GIT-Branch  " + manifest.get("GIT-Branch"));
-		System.out.println("GIT-Commit  " + manifest.get("GIT-Commit"));
-		System.out.println("Build JDK   " + manifest.get("Build-Jdk"));
-		System.out.println("Build OS    " + manifest.get("Build-OS"));
-		System.out.println("Built Time  " + manifest.get("Build-Time"));
-		System.out.println("Built By    " + manifest.get("Built-By"));
-		
+
+		log.info("Title       {}", manifest.get("Implementation-Title"));
+		log.info("Version     {}", manifest.get("Implementation-Version"));
+		log.info("Created By  {}", manifest.get("Created-By"));
+		log.info("Vendor      {}", manifest.get("Implementation-Vendor"));
+		log.info("GIT-Branch  {}", manifest.get("GIT-Branch"));
+		log.info("GIT-Commit  {}", manifest.get("GIT-Commit"));
+		log.info("Build JDK   {}", manifest.get("Build-Jdk"));
+		log.info("Build OS    {}", manifest.get("Build-OS"));
+		log.info("Built Time  {}", manifest.get("Build-Time"));
+		log.info("Built By    {}", manifest.get("Built-By"));
+
 		return result;
 	}
 }
diff --git a/services/dlab-utils/src/main/java/com/epam/dlab/util/UsernameUtils.java b/services/dlab-utils/src/main/java/com/epam/dlab/util/UsernameUtils.java
index 9622661..4d1092c 100644
--- a/services/dlab-utils/src/main/java/com/epam/dlab/util/UsernameUtils.java
+++ b/services/dlab-utils/src/main/java/com/epam/dlab/util/UsernameUtils.java
@@ -23,6 +23,9 @@ public class UsernameUtils {
 
 	private static final String UNDERLINE = "_";
 
+	private UsernameUtils() {
+	}
+
 	public static String removeDomain(String username) {
 		return username != null ? username.replaceAll("@.*", "") : null;
 	}
@@ -30,7 +33,4 @@ public class UsernameUtils {
 	public static String replaceWhitespaces(String username) {
 		return username.replaceAll("\\s", UNDERLINE);
 	}
-
-	private UsernameUtils() {
-	}
 }
diff --git a/services/dlab-webapp-common/src/main/java/com/epam/dlab/ModuleBase.java b/services/dlab-webapp-common/src/main/java/com/epam/dlab/ModuleBase.java
index 8aa9eb2..ba2adca 100644
--- a/services/dlab-webapp-common/src/main/java/com/epam/dlab/ModuleBase.java
+++ b/services/dlab-webapp-common/src/main/java/com/epam/dlab/ModuleBase.java
@@ -20,22 +20,22 @@
 package com.epam.dlab;
 
 import com.google.inject.AbstractModule;
-
 import io.dropwizard.setup.Environment;
 
-/** The base class for an application configuration of service.
+/**
+ * The base class for an application configuration of service.
  */
-abstract public class ModuleBase<T extends ServiceConfiguration> extends AbstractModule {
+public abstract class ModuleBase<T extends ServiceConfiguration> extends AbstractModule {
 	/** Application configuration of service. */
-    protected T configuration;
-    /** Environment of service. */
-    protected Environment environment;
+	protected T configuration;
+	/** Environment of service. */
+	protected Environment environment;
 
-    /** Instantiates an application configuration of service.
-     * @param configuration application configuration of service.
-     * @param environment environment of service.
-     */
-    public ModuleBase(T configuration, Environment environment) {
+	/** Instantiates an application configuration of service.
+	 * @param configuration application configuration of service.
+	 * @param environment environment of service.
+	 */
+	public ModuleBase(T configuration, Environment environment) {
         this.configuration = configuration;
         this.environment = environment;
     }
diff --git a/services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/UserInfo.java b/services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/UserInfo.java
index 5c6a74f..c4b0f53 100644
--- a/services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/UserInfo.java
+++ b/services/dlab-webapp-common/src/main/java/com/epam/dlab/auth/UserInfo.java
@@ -25,7 +25,13 @@ import com.fasterxml.jackson.annotation.JsonProperty;
 import com.fasterxml.jackson.annotation.JsonSetter;
 
 import java.security.Principal;
-import java.util.*;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Set;
 
 @JsonIgnoreProperties(ignoreUnknown = true)
 public class UserInfo implements Principal {
@@ -154,21 +160,36 @@ public class UserInfo implements Principal {
 
     @Override
     public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        UserInfo userInfo = (UserInfo) o;
-
-        if (awsUser != userInfo.awsUser) return false;
-        if (username != null ? !username.equals(userInfo.username) : userInfo.username != null) return false;
-        if (accessToken != null ? !accessToken.equals(userInfo.accessToken) : userInfo.accessToken != null)
-            return false;
-        if (!roles.equals(userInfo.roles)) return false;
-        if (!keys.equals(userInfo.keys)) return false;
-        if (firstName != null ? !firstName.equals(userInfo.firstName) : userInfo.firstName != null) return false;
-        if (lastName != null ? !lastName.equals(userInfo.lastName) : userInfo.lastName != null) return false;
-        return remoteIp != null ? remoteIp.equals(userInfo.remoteIp) : userInfo.remoteIp == null;
-
+	    if (this == o) {
+		    return true;
+	    }
+	    if (o == null || getClass() != o.getClass()) {
+		    return false;
+	    }
+
+	    UserInfo userInfo = (UserInfo) o;
+
+	    if (awsUser != userInfo.awsUser) {
+		    return false;
+	    }
+	    if (username != null ? !username.equals(userInfo.username) : userInfo.username != null) {
+		    return false;
+	    }
+	    if (accessToken != null ? !accessToken.equals(userInfo.accessToken) : userInfo.accessToken != null)
+		    return false;
+	    if (!roles.equals(userInfo.roles)) {
+		    return false;
+	    }
+	    if (!keys.equals(userInfo.keys)) {
+		    return false;
+	    }
+	    if (firstName != null ? !firstName.equals(userInfo.firstName) : userInfo.firstName != null) {
+		    return false;
+	    }
+	    if (lastName != null ? !lastName.equals(userInfo.lastName) : userInfo.lastName != null) {
+		    return false;
+	    }
+	    return remoteIp != null ? remoteIp.equals(userInfo.remoteIp) : userInfo.remoteIp == null;
     }
 
 
diff --git a/services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/EdgeAPI.java b/services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/EdgeAPI.java
deleted file mode 100644
index 2fce5cc..0000000
--- a/services/dlab-webapp-common/src/main/java/com/epam/dlab/rest/contracts/EdgeAPI.java
+++ /dev/null
@@ -1,28 +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 com.epam.dlab.rest.contracts;
-
-public interface EdgeAPI {
-	String EDGE = "infrastructure/edge";
-	String EDGE_CREATE = EDGE + "/create";
-	String EDGE_START = EDGE + "/start";
-	String EDGE_STOP = EDGE + "/stop";
-	String EDGE_TERMINATE = EDGE + "/terminate";
-}
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/EdgeResourceAws.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/EdgeResourceAws.java
index 22c26e9..57956f3 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/EdgeResourceAws.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/aws/EdgeResourceAws.java
@@ -28,7 +28,6 @@ import com.epam.dlab.dto.ResourceSysBaseDTO;
 import com.epam.dlab.dto.aws.edge.EdgeInfoAws;
 import com.epam.dlab.dto.aws.keyload.UploadFileAws;
 import com.epam.dlab.dto.base.keyload.UploadFileResult;
-import com.epam.dlab.rest.contracts.EdgeAPI;
 import com.epam.dlab.util.FileUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import io.dropwizard.auth.Auth;
@@ -41,12 +40,14 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import java.io.IOException;
 
-import static com.epam.dlab.rest.contracts.ApiCallbacks.*;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.EDGE;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.KEY_LOADER;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.STATUS_URI;
 
 /**
  * Provides API to manage Edge node on AWS
  */
-@Path(EdgeAPI.EDGE)
+@Path("infrastructure/edge")
 @Consumes(MediaType.APPLICATION_JSON)
 @Produces(MediaType.APPLICATION_JSON)
 @Slf4j
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/EdgeResourceAzure.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/EdgeResourceAzure.java
index 4ebad5c..7781227 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/EdgeResourceAzure.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/azure/EdgeResourceAzure.java
@@ -28,7 +28,6 @@ import com.epam.dlab.dto.ResourceSysBaseDTO;
 import com.epam.dlab.dto.azure.edge.EdgeInfoAzure;
 import com.epam.dlab.dto.azure.keyload.UploadFileAzure;
 import com.epam.dlab.dto.base.keyload.UploadFileResult;
-import com.epam.dlab.rest.contracts.EdgeAPI;
 import com.epam.dlab.util.FileUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import io.dropwizard.auth.Auth;
@@ -41,12 +40,14 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import java.io.IOException;
 
-import static com.epam.dlab.rest.contracts.ApiCallbacks.*;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.EDGE;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.KEY_LOADER;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.STATUS_URI;
 
 /**
  * Provides API to manage Edge node on Azure
  */
-@Path(EdgeAPI.EDGE)
+@Path("infrastructure/edge")
 @Consumes(MediaType.APPLICATION_JSON)
 @Produces(MediaType.APPLICATION_JSON)
 @Slf4j
diff --git a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/EdgeResourceGcp.java b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/EdgeResourceGcp.java
index 525e3e7..4509bff 100644
--- a/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/EdgeResourceGcp.java
+++ b/services/provisioning-service/src/main/java/com/epam/dlab/backendapi/resources/gcp/EdgeResourceGcp.java
@@ -28,7 +28,6 @@ import com.epam.dlab.dto.ResourceSysBaseDTO;
 import com.epam.dlab.dto.base.keyload.UploadFileResult;
 import com.epam.dlab.dto.gcp.edge.EdgeInfoGcp;
 import com.epam.dlab.dto.gcp.keyload.UploadFileGcp;
-import com.epam.dlab.rest.contracts.EdgeAPI;
 import com.epam.dlab.util.FileUtils;
 import com.fasterxml.jackson.core.JsonProcessingException;
 import io.dropwizard.auth.Auth;
@@ -41,12 +40,14 @@ import javax.ws.rs.Produces;
 import javax.ws.rs.core.MediaType;
 import java.io.IOException;
 
-import static com.epam.dlab.rest.contracts.ApiCallbacks.*;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.EDGE;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.KEY_LOADER;
+import static com.epam.dlab.rest.contracts.ApiCallbacks.STATUS_URI;
 
 /**
  * Provides API to manage Edge node on GCP
  */
-@Path(EdgeAPI.EDGE)
+@Path("infrastructure/edge")
 @Consumes(MediaType.APPLICATION_JSON)
 @Produces(MediaType.APPLICATION_JSON)
 @Slf4j


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@dlab.apache.org
For additional commands, e-mail: commits-help@dlab.apache.org