diff --git a/vid-app-common/pom.xml b/vid-app-common/pom.xml
index 57d3de1..f97a8a2 100755
--- a/vid-app-common/pom.xml
+++ b/vid-app-common/pom.xml
@@ -18,7 +18,7 @@
 		<encoding>UTF-8</encoding>
 		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
 		<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
-		<epsdk.version>2.1.0</epsdk.version>
+		<epsdk.version>2.4.0</epsdk.version>
 		<springframework.version>4.2.9.RELEASE</springframework.version>
 		<hibernate.version>4.3.11.Final</hibernate.version>
 		<!-- Skip assembling the zip by default -->
diff --git a/vid-app-common/src/main/java/org/onap/vid/utils/DaoUtils.java b/vid-app-common/src/main/java/org/onap/vid/utils/DaoUtils.java
index c8a9162..8aa0e89 100644
--- a/vid-app-common/src/main/java/org/onap/vid/utils/DaoUtils.java
+++ b/vid-app-common/src/main/java/org/onap/vid/utils/DaoUtils.java
@@ -4,7 +4,7 @@
 import org.hibernate.SessionFactory;
 import org.hibernate.Transaction;
 import org.onap.vid.exceptions.GenericUncheckedException;
-import org.onap.portalsdk.core.FusionObject;
+import org.onap.portalsdk.core.domain.FusionObject;
 
 import java.util.HashMap;
 import java.util.function.Function;
diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/MsoUtilTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/MsoUtilTest.java
index 3356fdd..9d625c4 100644
--- a/vid-app-common/src/test/java/org/onap/vid/mso/MsoUtilTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/mso/MsoUtilTest.java
@@ -1,6 +1,5 @@
 package org.onap.vid.mso;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.glassfish.jersey.client.ClientResponse;
 import org.junit.Assert;
 import org.junit.Test;
@@ -34,12 +33,10 @@
 
 	@Test
 	public void testConvertPojoToString() throws Exception {
-		T t = null;
 		String result;
 
 		// test 1
-		t = null;
-		result = MsoUtil.convertPojoToString(t);
+		result = MsoUtil.convertPojoToString(null);
 		Assert.assertEquals("", result);
 	}
 
diff --git a/vid-app-common/src/test/java/org/onap/vid/mso/RestObjectTest.java b/vid-app-common/src/test/java/org/onap/vid/mso/RestObjectTest.java
index 38ccf6c..c8961a4 100644
--- a/vid-app-common/src/test/java/org/onap/vid/mso/RestObjectTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/mso/RestObjectTest.java
@@ -1,6 +1,5 @@
 package org.onap.vid.mso;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.junit.Test;
 
 public class RestObjectTest {
@@ -12,11 +11,10 @@
     @Test
     public void testSet() throws Exception {
         RestObject testSubject;
-        T t = null;
 
         // default test
         testSubject = createTestSubject();
-        testSubject.set(t);
+        testSubject.set(null);
     }
 
     @Test
diff --git a/vid-app-common/src/test/java/org/onap/vid/policy/PolicyRestInterfaceTest.java b/vid-app-common/src/test/java/org/onap/vid/policy/PolicyRestInterfaceTest.java
index 0e74c7d..05191fc 100644
--- a/vid-app-common/src/test/java/org/onap/vid/policy/PolicyRestInterfaceTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/policy/PolicyRestInterfaceTest.java
@@ -1,6 +1,5 @@
 package org.onap.vid.policy;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.json.simple.JSONObject;
 import org.junit.Test;
 import org.onap.vid.policy.rest.RequestDetails;
diff --git a/vid-app-common/src/test/java/org/onap/vid/policy/PolicyUtilTest.java b/vid-app-common/src/test/java/org/onap/vid/policy/PolicyUtilTest.java
index 566d17c..1629081 100644
--- a/vid-app-common/src/test/java/org/onap/vid/policy/PolicyUtilTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/policy/PolicyUtilTest.java
@@ -1,6 +1,5 @@
 package org.onap.vid.policy;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.glassfish.jersey.client.ClientResponse;
 import org.junit.Assert;
 import org.junit.Test;
@@ -35,12 +34,10 @@
 
 	@Test
 	public void testConvertPojoToString() throws Exception {
-		T t = null;
 		String result;
 
 		// test 1
-		t = null;
-		result = PolicyUtil.convertPojoToString(t);
+		result = PolicyUtil.convertPojoToString(null);
 		Assert.assertEquals("", result);
 	}
 
diff --git a/vid-app-common/src/test/java/org/onap/vid/policy/RestObjectTest.java b/vid-app-common/src/test/java/org/onap/vid/policy/RestObjectTest.java
index 7665d99..eab343a 100644
--- a/vid-app-common/src/test/java/org/onap/vid/policy/RestObjectTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/policy/RestObjectTest.java
@@ -1,6 +1,5 @@
 package org.onap.vid.policy;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.junit.Test;
 
 public class RestObjectTest {
@@ -12,11 +11,10 @@
 	@Test
 	public void testSet() throws Exception {
 		RestObject testSubject;
-		T t = null;
 
 		// default test
 		testSubject = createTestSubject();
-		testSubject.set(t);
+		testSubject.set(null);
 	}
 
 	@Test
diff --git a/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjectTest.java b/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjectTest.java
index e3f01ba..8c8642e 100644
--- a/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjectTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjectTest.java
@@ -1,6 +1,5 @@
 package org.onap.vid.scheduler;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.junit.Test;
 
 public class RestObjectTest {
@@ -12,11 +11,10 @@
     @Test
     public void testSet() throws Exception {
         RestObject testSubject;
-        T t = null;
 
         // default test
         testSubject = createTestSubject();
-        testSubject.set(t);
+        testSubject.set(null);
     }
 
     @Test
diff --git a/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjects/RestObjectTest.java b/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjects/RestObjectTest.java
index b8924d8..13fc57f 100644
--- a/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjects/RestObjectTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/scheduler/RestObjects/RestObjectTest.java
@@ -1,6 +1,5 @@
 package org.onap.vid.scheduler.RestObjects;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.junit.Test;
 
 
@@ -14,11 +13,10 @@
 	@Test
 	public void testSet() throws Exception {
 		RestObject testSubject;
-		T t = null;
 
 		// default test
 		testSubject = createTestSubject();
-		testSubject.set(t);
+		testSubject.set(null);
 	}
 
 
diff --git a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java
index 7feb370..3f13c9d 100644
--- a/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/services/AsyncInstantiationBusinessLogicTest.java
@@ -35,7 +35,7 @@
 import org.onap.vid.config.MockedAaiClientAndFeatureManagerConfig;
 import org.onap.vid.mso.MsoOperationalEnvironmentTest;
 import org.onap.vid.services.AsyncInstantiationBaseTest;
-import org.onap.portalsdk.core.FusionObject;
+import org.onap.portalsdk.core.domain.FusionObject;
 import org.onap.portalsdk.core.service.DataAccessService;
 import org.onap.portalsdk.core.util.SystemProperties;
 import org.springframework.beans.factory.annotation.Autowired;
diff --git a/vid-app-common/src/test/java/org/onap/vid/utils/LoggingTest.java b/vid-app-common/src/test/java/org/onap/vid/utils/LoggingTest.java
index 40f4c87..2cd0d0c 100644
--- a/vid-app-common/src/test/java/org/onap/vid/utils/LoggingTest.java
+++ b/vid-app-common/src/test/java/org/onap/vid/utils/LoggingTest.java
@@ -2,7 +2,6 @@
 
 import javax.servlet.http.HttpServletRequest;
 
-import org.apache.poi.hssf.record.formula.functions.T;
 import org.junit.Test;
 import org.springframework.http.HttpMethod;
 
