import java.util.List;
 import java.util.Map;
 import java.util.Map.Entry;
+
 import javax.persistence.ElementCollection;
 import javax.persistence.Entity;
 import javax.persistence.Inheritance;
 import javax.persistence.InheritanceType;
+import javax.persistence.Lob;
 import javax.persistence.Table;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.NonNull;
+
 import org.onap.policy.models.base.PfAuthorative;
 import org.onap.policy.models.base.PfConcept;
 import org.onap.policy.models.base.PfConceptKey;
     private List<JpaToscaConstraint> constraints;
 
     @ElementCollection
+    @Lob
     private Map<String, JpaToscaProperty> properties;
 
     /**
         if (toscaDataType.getConstraints() != null) {
             constraints = new ArrayList<>();
 
-            for (ToscaConstraint toscaConstraint: toscaDataType.getConstraints()) {
+            for (ToscaConstraint toscaConstraint : toscaDataType.getConstraints()) {
                 constraints.add(JpaToscaConstraint.newInstance(toscaConstraint));
             }
         }
 
 
 package org.onap.policy.models.tosca.utils;
 
+import java.util.function.Function;
+
 import javax.ws.rs.core.Response;
 
 import org.onap.policy.models.base.PfModelRuntimeException;
      * @param serviceTemplate the service template containing policy types to be checked
      */
     public static void assertExist(final JpaToscaServiceTemplate serviceTemplate,
-            final ToscaChecker<JpaToscaServiceTemplate> checkerFunction) {
-        String message = checkerFunction.check(serviceTemplate);
+            final Function<JpaToscaServiceTemplate, String> checkerFunction) {
+        String message = checkerFunction.apply(serviceTemplate);
         if (message != null) {
             LOGGER.warn(message);
             throw new PfModelRuntimeException(Response.Status.BAD_REQUEST, message);
      * @param serviceTemplate the service template containing policy types to be checked
      */
     public static boolean doExist(final JpaToscaServiceTemplate serviceTemplate,
-            final ToscaChecker<JpaToscaServiceTemplate> checkerFunction) {
-        return checkerFunction.check(serviceTemplate) == null;
+            final Function<JpaToscaServiceTemplate, String> checkerFunction) {
+        return checkerFunction.apply(serviceTemplate) == null;
     }
 
     /**
      * Check if data types have been specified correctly.
      */
-    public static ToscaChecker<JpaToscaServiceTemplate> checkDataTypesExist() {
+    public static Function<JpaToscaServiceTemplate, String> checkDataTypesExist() {
         return serviceTemplate -> {
             if (serviceTemplate.getDataTypes() == null) {
                 return "no data types specified on service template";
     /**
      * Check if policy types have been specified correctly.
      */
-    public static ToscaChecker<JpaToscaServiceTemplate> checkPolicyTypesExist() {
+    public static Function<JpaToscaServiceTemplate, String> checkPolicyTypesExist() {
         return serviceTemplate -> {
             if (serviceTemplate.getPolicyTypes() == null) {
                 return "no policy types specified on service template";
     /**
      * Check if policies have been specified correctly.
      */
-    public static ToscaChecker<JpaToscaServiceTemplate> checkPoliciesExist() {
+    public static Function<JpaToscaServiceTemplate, String> checkPoliciesExist() {
         return serviceTemplate -> {
             if (serviceTemplate.getTopologyTemplate() == null) {
                 return "topology template not specified on service template";
             return null;
         };
     }
-
-    @FunctionalInterface
-    interface ToscaChecker<T> {
-        String check(final T serviceTemplate);
-    }
 }
 
 
         assertFalse(ToscaUtils.doDataTypesExist(jpaToscaServiceTemplate));
         assertEquals("no data types specified on service template",
-                ToscaUtils.checkDataTypesExist().check(jpaToscaServiceTemplate));
+                ToscaUtils.checkDataTypesExist().apply(jpaToscaServiceTemplate));
         assertThatThrownBy(() -> {
             ToscaUtils.assertDataTypesExist(jpaToscaServiceTemplate);
         }).hasMessage("no data types specified on service template");
 
         assertFalse(ToscaUtils.doDataTypesExist(jpaToscaServiceTemplate));
         assertEquals("list of data types specified on service template is empty",
-                ToscaUtils.checkDataTypesExist().check(jpaToscaServiceTemplate));
+                ToscaUtils.checkDataTypesExist().apply(jpaToscaServiceTemplate));
         assertThatThrownBy(() -> {
             ToscaUtils.assertDataTypesExist(jpaToscaServiceTemplate);
         }).hasMessage("list of data types specified on service template is empty");
         jpaToscaServiceTemplate.getDataTypes().getConceptMap().put(new PfConceptKey(), null);
 
         assertTrue(ToscaUtils.doDataTypesExist(jpaToscaServiceTemplate));
-        assertEquals(null, ToscaUtils.checkDataTypesExist().check(jpaToscaServiceTemplate));
+        assertEquals(null, ToscaUtils.checkDataTypesExist().apply(jpaToscaServiceTemplate));
         assertThatCode(() -> {
             ToscaUtils.assertDataTypesExist(jpaToscaServiceTemplate);
         }).doesNotThrowAnyException();
 
         assertFalse(ToscaUtils.doPolicyTypesExist(jpaToscaServiceTemplate));
         assertEquals("no policy types specified on service template",
-                ToscaUtils.checkPolicyTypesExist().check(jpaToscaServiceTemplate));
+                ToscaUtils.checkPolicyTypesExist().apply(jpaToscaServiceTemplate));
         assertThatThrownBy(() -> {
             ToscaUtils.assertPolicyTypesExist(jpaToscaServiceTemplate);
         }).hasMessage("no policy types specified on service template");
 
         assertFalse(ToscaUtils.doPolicyTypesExist(jpaToscaServiceTemplate));
         assertEquals("list of policy types specified on service template is empty",
-                ToscaUtils.checkPolicyTypesExist().check(jpaToscaServiceTemplate));
+                ToscaUtils.checkPolicyTypesExist().apply(jpaToscaServiceTemplate));
         assertThatThrownBy(() -> {
             ToscaUtils.assertPolicyTypesExist(jpaToscaServiceTemplate);
         }).hasMessage("list of policy types specified on service template is empty");
         jpaToscaServiceTemplate.getPolicyTypes().getConceptMap().put(new PfConceptKey(), null);
 
         assertTrue(ToscaUtils.doPolicyTypesExist(jpaToscaServiceTemplate));
-        assertEquals(null, ToscaUtils.checkPolicyTypesExist().check(jpaToscaServiceTemplate));
+        assertEquals(null, ToscaUtils.checkPolicyTypesExist().apply(jpaToscaServiceTemplate));
         assertThatCode(() -> {
             ToscaUtils.assertPolicyTypesExist(jpaToscaServiceTemplate);
         }).doesNotThrowAnyException();
 
         assertFalse(ToscaUtils.doPoliciesExist(jpaToscaServiceTemplate));
         assertEquals("topology template not specified on service template",
-                ToscaUtils.checkPoliciesExist().check(jpaToscaServiceTemplate));
+                ToscaUtils.checkPoliciesExist().apply(jpaToscaServiceTemplate));
         assertThatThrownBy(() -> {
             ToscaUtils.assertPoliciesExist(jpaToscaServiceTemplate);
         }).hasMessage("topology template not specified on service template");
 
         assertFalse(ToscaUtils.doPoliciesExist(jpaToscaServiceTemplate));
         assertEquals("no policies specified on topology template of service template",
-                ToscaUtils.checkPoliciesExist().check(jpaToscaServiceTemplate));
+                ToscaUtils.checkPoliciesExist().apply(jpaToscaServiceTemplate));
         assertThatThrownBy(() -> {
             ToscaUtils.assertPoliciesExist(jpaToscaServiceTemplate);
         }).hasMessage("no policies specified on topology template of service template");
 
         assertFalse(ToscaUtils.doPoliciesExist(jpaToscaServiceTemplate));
         assertEquals("list of policies specified on topology template of service template is empty",
-                ToscaUtils.checkPoliciesExist().check(jpaToscaServiceTemplate));
+                ToscaUtils.checkPoliciesExist().apply(jpaToscaServiceTemplate));
         assertThatThrownBy(() -> {
             ToscaUtils.assertPoliciesExist(jpaToscaServiceTemplate);
         }).hasMessage("list of policies specified on topology template of service template is empty");
         jpaToscaServiceTemplate.getTopologyTemplate().getPolicies().getConceptMap().put(new PfConceptKey(), null);
 
         assertTrue(ToscaUtils.doPoliciesExist(jpaToscaServiceTemplate));
-        assertEquals(null, ToscaUtils.checkPoliciesExist().check(jpaToscaServiceTemplate));
+        assertEquals(null, ToscaUtils.checkPoliciesExist().apply(jpaToscaServiceTemplate));
         assertThatCode(() -> {
             ToscaUtils.assertPoliciesExist(jpaToscaServiceTemplate);
         }).doesNotThrowAnyException();