X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=models-tosca%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fmodels%2Ftosca%2Fauthorative%2Fprovider%2FAuthorativeToscaProvider.java;h=c595b557ef282af9108612821fb383087802830f;hb=275a3c5707c721d6fb020c9632f7a545cbc33b81;hp=a4a6e59426e4a4dd6ddf9e0a40dec21b5c74623c;hpb=c86d6a6645af95d76a8b2b59f24433c616bf49fe;p=policy%2Fmodels.git diff --git a/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java b/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java index a4a6e5942..c595b557e 100644 --- a/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java +++ b/models-tosca/src/main/java/org/onap/policy/models/tosca/authorative/provider/AuthorativeToscaProvider.java @@ -56,6 +56,9 @@ import org.slf4j.LoggerFactory; public class AuthorativeToscaProvider { private static final Logger LOGGER = LoggerFactory.getLogger(AuthorativeToscaProvider.class); + // TODO: In next release this locking mechanism should be removed and replaced with proper session handling + private static final Object providerLockObject = "providerLockObject"; + /** * Get policy types. * @@ -178,13 +181,15 @@ public class AuthorativeToscaProvider { public ToscaServiceTemplate createPolicyTypes(@NonNull final PfDao dao, @NonNull final ToscaServiceTemplate serviceTemplate) throws PfModelException { - LOGGER.debug("->createPolicyTypes: serviceTemplate={}", serviceTemplate); + synchronized (providerLockObject) { + LOGGER.debug("->createPolicyTypes: serviceTemplate={}", serviceTemplate); - ToscaServiceTemplate createdServiceTempalate = new SimpleToscaProvider() - .createPolicyTypes(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); + ToscaServiceTemplate createdServiceTempalate = new SimpleToscaProvider() + .createPolicyTypes(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); - LOGGER.debug("<-createPolicyTypes: createdServiceTempalate={}", createdServiceTempalate); - return createdServiceTempalate; + LOGGER.debug("<-createPolicyTypes: createdServiceTempalate={}", createdServiceTempalate); + return createdServiceTempalate; + } } /** @@ -198,13 +203,15 @@ public class AuthorativeToscaProvider { public ToscaServiceTemplate updatePolicyTypes(@NonNull final PfDao dao, @NonNull final ToscaServiceTemplate serviceTemplate) throws PfModelException { - LOGGER.debug("->updatePolicyTypes: serviceTempalate={}", serviceTemplate); + synchronized (providerLockObject) { + LOGGER.debug("->updatePolicyTypes: serviceTempalate={}", serviceTemplate); - ToscaServiceTemplate updatedServiceTempalate = new SimpleToscaProvider() - .updatePolicyTypes(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); + ToscaServiceTemplate updatedServiceTempalate = new SimpleToscaProvider() + .updatePolicyTypes(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); - LOGGER.debug("<-updatePolicyTypes: updatedServiceTempalate={}", updatedServiceTempalate); - return updatedServiceTempalate; + LOGGER.debug("<-updatePolicyTypes: updatedServiceTempalate={}", updatedServiceTempalate); + return updatedServiceTempalate; + } } /** @@ -219,14 +226,16 @@ public class AuthorativeToscaProvider { public ToscaServiceTemplate deletePolicyType(@NonNull final PfDao dao, @NonNull final String name, @NonNull final String version) throws PfModelException { - LOGGER.debug("->deletePolicyType: name={}, version={}", name, version); + synchronized (providerLockObject) { + LOGGER.debug("->deletePolicyType: name={}, version={}", name, version); - ToscaServiceTemplate deletedServiceTempalate = - new SimpleToscaProvider().deletePolicyType(dao, new PfConceptKey(name, version)).toAuthorative(); + ToscaServiceTemplate deletedServiceTempalate = + new SimpleToscaProvider().deletePolicyType(dao, new PfConceptKey(name, version)).toAuthorative(); - LOGGER.debug("<-deletePolicyType: name={}, version={}, deletedServiceTempalate={}", name, version, - deletedServiceTempalate); - return deletedServiceTempalate; + LOGGER.debug("<-deletePolicyType: name={}, version={}, deletedServiceTempalate={}", name, version, + deletedServiceTempalate); + return deletedServiceTempalate; + } } /** @@ -348,13 +357,15 @@ public class AuthorativeToscaProvider { public ToscaServiceTemplate createPolicies(@NonNull final PfDao dao, @NonNull final ToscaServiceTemplate serviceTemplate) throws PfModelException { - LOGGER.debug("->createPolicies: serviceTempalate={}", serviceTemplate); + synchronized (providerLockObject) { + LOGGER.debug("->createPolicies: serviceTempalate={}", serviceTemplate); - ToscaServiceTemplate createdServiceTempalate = - new SimpleToscaProvider().createPolicies(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); + ToscaServiceTemplate createdServiceTempalate = new SimpleToscaProvider() + .createPolicies(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); - LOGGER.debug("<-createPolicies: createdServiceTempalate={}", createdServiceTempalate); - return createdServiceTempalate; + LOGGER.debug("<-createPolicies: createdServiceTempalate={}", createdServiceTempalate); + return createdServiceTempalate; + } } /** @@ -368,13 +379,15 @@ public class AuthorativeToscaProvider { public ToscaServiceTemplate updatePolicies(@NonNull final PfDao dao, @NonNull final ToscaServiceTemplate serviceTemplate) throws PfModelException { - LOGGER.debug("->updatePolicies: serviceTempalate={}", serviceTemplate); + synchronized (providerLockObject) { + LOGGER.debug("->updatePolicies: serviceTempalate={}", serviceTemplate); - ToscaServiceTemplate updatedServiceTempalate = - new SimpleToscaProvider().updatePolicies(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); + ToscaServiceTemplate updatedServiceTempalate = new SimpleToscaProvider() + .updatePolicies(dao, new JpaToscaServiceTemplate(serviceTemplate)).toAuthorative(); - LOGGER.debug("<-updatePolicies: updatedServiceTempalate={}", updatedServiceTempalate); - return updatedServiceTempalate; + LOGGER.debug("<-updatePolicies: updatedServiceTempalate={}", updatedServiceTempalate); + return updatedServiceTempalate; + } } /** @@ -389,14 +402,16 @@ public class AuthorativeToscaProvider { public ToscaServiceTemplate deletePolicy(@NonNull final PfDao dao, @NonNull final String name, @NonNull final String version) throws PfModelException { - LOGGER.debug("->deletePolicy: name={}, version={}", name, version); + synchronized (providerLockObject) { + LOGGER.debug("->deletePolicy: name={}, version={}", name, version); - ToscaServiceTemplate deletedServiceTempalate = - new SimpleToscaProvider().deletePolicy(dao, new PfConceptKey(name, version)).toAuthorative(); + ToscaServiceTemplate deletedServiceTempalate = + new SimpleToscaProvider().deletePolicy(dao, new PfConceptKey(name, version)).toAuthorative(); - LOGGER.debug("<-deletePolicy: name={}, version={}, deletedServiceTempalate={}", name, version, - deletedServiceTempalate); - return deletedServiceTempalate; + LOGGER.debug("<-deletePolicy: name={}, version={}, deletedServiceTempalate={}", name, version, + deletedServiceTempalate); + return deletedServiceTempalate; + } } /**