diff options
Diffstat (limited to 'models-dao/src/main/java/org')
3 files changed, 98 insertions, 150 deletions
diff --git a/models-dao/src/main/java/org/onap/policy/models/dao/PfDao.java b/models-dao/src/main/java/org/onap/policy/models/dao/PfDao.java index 380a9831e..21f3a7fa6 100644 --- a/models-dao/src/main/java/org/onap/policy/models/dao/PfDao.java +++ b/models-dao/src/main/java/org/onap/policy/models/dao/PfDao.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021 Nordix Foundation. + * Copyright (C) 2019-2021, 2024 Nordix Foundation. * Modifications Copyright (C) 2021 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2022 Bell Canada. All rights reserved. * ================================================================================ @@ -36,6 +36,54 @@ import org.onap.policy.models.base.PfTimestampKey; * to and from databases using JDBC. */ public interface PfDao { + String NAME = "name"; + String VERSION = "version"; + String TIMESTAMP = "timeStamp"; + String PARENT_NAME = "parentname"; + String PARENT_VERSION = "parentversion"; + String LOCAL_NAME = "localname"; + + String TABLE_TOKEN = "__TABLE__"; + + String DELETE_FROM_TABLE = "DELETE FROM __TABLE__ c"; + + String SELECT_FROM_TABLE = "SELECT c FROM __TABLE__ c"; + + String WHERE = " WHERE "; + String AND = " AND "; + String ORDER_BY = " ORDER BY c."; + + String NAME_FILTER = "c.key.name = :name"; + String VERSION_FILTER = "c.key.version = :version"; + String TIMESTAMP_FILTER = "c.key.timeStamp = :timeStamp"; + String PARENT_NAME_FILTER = "c.key.parentKeyName = :parentname"; + String PARENT_VERSION_FILTER = "c.key.parentKeyVersion = :parentversion"; + String LOCAL_NAME_FILTER = "c.key.localName = :localname"; + + String CLONE_ERR_MSG = "Could not clone object of class \"{}\""; + + String DELETE_BY_CONCEPT_KEY = + DELETE_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER; + + String DELETE_BY_TIMESTAMP_KEY = + DELETE_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER + AND + TIMESTAMP_FILTER; + + String DELETE_BY_REFERENCE_KEY = + DELETE_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER + AND + LOCAL_NAME_FILTER; + + String SELECT_ALL_FOR_PARENT = + SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER; + + String SELECT_ALL_VERSIONS_FOR_PARENT = + SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER; + + String SELECT_ALL_VERSIONS = SELECT_FROM_TABLE + WHERE + NAME_FILTER; + + String SELECT_BY_CONCEPT_KEY = + SELECT_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER; + + String SELECT_BY_REFERENCE_KEY = + SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER + AND + LOCAL_NAME_FILTER; /** * Initialize the Policy Framework DAO with the given parameters. @@ -51,7 +99,7 @@ public interface PfDao { void close(); /** - * Creates an Policy Framework concept on the database. + * Creates a Policy Framework concept on the database. * * @param <T> the type of the object to create, a subclass of {@link PfConcept} * @param obj the object to create @@ -59,7 +107,7 @@ public interface PfDao { <T extends PfConcept> void create(T obj); /** - * Delete an Policy Framework concept on the database. + * Delete a Policy Framework concept on the database. * * @param <T> the type of the object to delete, a subclass of {@link PfConcept} * @param obj the object to delete @@ -67,28 +115,28 @@ public interface PfDao { <T extends PfConcept> void delete(T obj); /** - * Delete an Policy Framework concept on the database. + * Delete a Policy Framework concept on the database. * - * @param <T> the type of the object to delete, a subclass of {@link PfConcept} + * @param <T> the type of the object to delete, a subclass of {@link PfConcept} * @param someClass the class of the object to delete, a subclass of {@link PfConcept} - * @param key the key of the object to delete + * @param key the key of the object to delete */ <T extends PfConcept> void delete(Class<T> someClass, PfConceptKey key); /** - * Delete an Policy Framework concept on the database. + * Delete a Policy Framework concept on the database. * - * @param <T> the type of the object to delete, a subclass of {@link PfConcept} + * @param <T> the type of the object to delete, a subclass of {@link PfConcept} * @param someClass the class of the object to delete, a subclass of {@link PfConcept} - * @param key the key of the object to delete + * @param key the key of the object to delete */ <T extends PfConcept> void delete(Class<T> someClass, PfReferenceKey key); /** - * Delete an Policy Framework concept on the database. + * Delete a Policy Framework concept on the database. * - * @param <T> the type of the object to delete, a subclass of {@link PfConcept} - * @param someClass the class of the object to delete, a subclass of {@link PfConcept} + * @param <T> the type of the object to delete, a subclass of {@link PfConcept} + * @param someClass the class of the object to delete, a subclass of {@link PfConcept} * @param timeStampKey the PfTimestampKey of the object to delete */ <T extends PfConcept> void delete(Class<T> someClass, PfTimestampKey timeStampKey); @@ -96,7 +144,7 @@ public interface PfDao { /** * Create a collection of objects in the database. * - * @param <T> the type of the object to create, a subclass of {@link PfConcept} + * @param <T> the type of the object to create, a subclass of {@link PfConcept} * @param objs the objects to create */ <T extends PfConcept> void createCollection(Collection<T> objs); @@ -104,7 +152,7 @@ public interface PfDao { /** * Delete a collection of objects in the database. * - * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} + * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} * @param objs the objects to delete */ <T extends PfConcept> void deleteCollection(Collection<T> objs); @@ -112,9 +160,9 @@ public interface PfDao { /** * Delete a collection of objects in the database referred to by concept key. * - * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} + * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} * @param someClass the class of the objects to delete, a subclass of {@link PfConcept} - * @param keys the keys of the objects to delete + * @param keys the keys of the objects to delete * @return the number of objects deleted */ <T extends PfConcept> int deleteByConceptKey(Class<T> someClass, Collection<PfConceptKey> keys); @@ -122,9 +170,9 @@ public interface PfDao { /** * Delete a collection of objects in the database referred to by reference key. * - * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} + * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} * @param someClass the class of the objects to delete, a subclass of {@link PfConcept} - * @param keys the keys of the objects to delete + * @param keys the keys of the objects to delete * @return the number of objects deleted */ <T extends PfConcept> int deleteByReferenceKey(Class<T> someClass, Collection<PfReferenceKey> keys); @@ -132,7 +180,7 @@ public interface PfDao { /** * Delete all objects of a given class in the database. * - * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} + * @param <T> the type of the objects to delete, a subclass of {@link PfConcept} * @param someClass the class of the objects to delete, a subclass of {@link PfConcept} */ <T extends PfConcept> void deleteAll(Class<T> someClass); @@ -140,12 +188,12 @@ public interface PfDao { /** * Get an object from the database, referred to by concept key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} * @param someClass the class of the object to get, a subclass of {@link PfConcept}, if name is null, all concepts - * of type T are returned, if name is not null and version is null, all versions of that concept matching the - * name are returned. - * @param name the name of the object to get, null returns all objects - * @param version the version the object to get, null returns all objects for a specified name + * of type T are returned, if name is not null and version is null, all versions of that concept + * matching the name are returned. + * @param name the name of the object to get, null returns all objects + * @param version the version the object to get, null returns all objects for a specified name * @return the objects that was retrieved from the database */ <T extends PfConcept> List<T> getFiltered(Class<T> someClass, String name, String version); @@ -153,10 +201,10 @@ public interface PfDao { /** * Get an object from the database, referred to by concept key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} - * @param someClass the class of the object to get, a subclass of {@link PfConcept}, if name is null, all concepts - * of type T are returned, if name is not null and version is null, all versions of that concept matching the - * name are returned. + * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param someClass the class of the object to get, a subclass of {@link PfConcept}, if name is null, all + * concepts of type T are returned, if name is not null and version is null, all versions of + * that concept matching the name are returned. * @param filterParams filter parameters * @return the objects that was retrieved from the database */ @@ -165,9 +213,9 @@ public interface PfDao { /** * Get an object from the database, referred to by concept key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} * @param someClass the class of the object to get, a subclass of {@link PfConcept} - * @param key the PfConceptKey of the object to get + * @param key the PfConceptKey of the object to get * @return the object that was retrieved from the database */ <T extends PfConcept> T get(Class<T> someClass, PfConceptKey key); @@ -175,9 +223,9 @@ public interface PfDao { /** * Get an object from the database, referred to by reference key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} * @param someClass the class of the object to get, a subclass of {@link PfConcept} - * @param key the PfReferenceKey of the object to get + * @param key the PfReferenceKey of the object to get * @return the object that was retrieved from the database or null if the object was not retrieved */ <T extends PfConcept> T get(Class<T> someClass, PfReferenceKey key); @@ -185,8 +233,8 @@ public interface PfDao { /** * Get an object from the database, referred to by reference key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} - * @param someClass the class of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param someClass the class of the object to get, a subclass of {@link PfConcept} * @param timestampKey the PfTimestampKey of the object to get * @return the object that was retrieved from the database or null if the object was not retrieved */ @@ -195,9 +243,9 @@ public interface PfDao { /** * Get an object from the database, referred to by reference timestamp key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} * @param someClass the class of the object to get, a subclass of {@link PfConcept} - * @param key the PfReferenceTimestampKey of the object to get + * @param key the PfReferenceTimestampKey of the object to get * @return the object that was retrieved from the database or null if the object was not retrieved */ <T extends PfConcept> T get(Class<T> someClass, PfReferenceTimestampKey key); @@ -205,7 +253,7 @@ public interface PfDao { /** * Get all the objects in the database of a given type. * - * @param <T> the type of the objects to get, a subclass of {@link PfConcept} + * @param <T> the type of the objects to get, a subclass of {@link PfConcept} * @param someClass the class of the objects to get, a subclass of {@link PfConcept} * @return the objects or null if no objects were retrieved */ @@ -214,7 +262,7 @@ public interface PfDao { /** * Get all the objects in the database of the given type with the given parent concept key. * - * @param <T> the type of the objects to get, a subclass of {@link PfConcept} + * @param <T> the type of the objects to get, a subclass of {@link PfConcept} * @param someClass the class of the objects to get, a subclass of {@link PfConcept} * @param parentKey the parent key of the concepts to get * @return the all @@ -224,9 +272,9 @@ public interface PfDao { /** * Get all the objects in the database of a given type. * - * @param <T> the type of the objects to get, a subclass of {@link PfConcept} - * @param someClass the class of the objects to get, a subclass of {@link PfConcept} - * @param orderBy field from class to order results by + * @param <T> the type of the objects to get, a subclass of {@link PfConcept} + * @param someClass the class of the objects to get, a subclass of {@link PfConcept} + * @param orderBy field from class to order results by * @param numRecords number of records to be retrieved * @return the objects or null if no objects were retrieved */ @@ -235,9 +283,9 @@ public interface PfDao { /** * Get all the objects in the database of a given type. * - * @param <T> the type of the objects to get, a subclass of {@link PfConcept} + * @param <T> the type of the objects to get, a subclass of {@link PfConcept} * @param someClass the class of the objects to get, a subclass of {@link PfConcept} - * @param name the name of the concepts for which to get all versions + * @param name the name of the concepts for which to get all versions * @return the objects or null if no objects were retrieved */ <T extends PfConcept> List<T> getAllVersions(Class<T> someClass, final String name); @@ -245,8 +293,8 @@ public interface PfDao { /** * Get all the objects in the database of a given type. * - * @param <T> the type of the objects to get, a subclass of {@link PfConcept} - * @param someClass the class of the objects to get, a subclass of {@link PfConcept} + * @param <T> the type of the objects to get, a subclass of {@link PfConcept} + * @param someClass the class of the objects to get, a subclass of {@link PfConcept} * @param parentKeyName the name of the concepts for which to get all versions * @return the objects or null if no objects were retrieved */ @@ -255,7 +303,7 @@ public interface PfDao { /** * Get a concept from the database with the given concept key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} * @param someClass the class of the object to get, a subclass of {@link PfConcept} * @param conceptId the concept key of the concept to get * @return the concept that matches the key or null if the concept is not retrieved @@ -265,7 +313,7 @@ public interface PfDao { /** * Get a concept from the database with the given reference key. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} * @param someClass the class of the object to get, a subclass of {@link PfConcept} * @param conceptId the concept key of the concept to get * @return the concept that matches the key or null if the concept is not retrieved @@ -275,7 +323,7 @@ public interface PfDao { /** * Get the number of instances of a concept that exist in the database. * - * @param <T> the type of the object to get, a subclass of {@link PfConcept} + * @param <T> the type of the object to get, a subclass of {@link PfConcept} * @param someClass the class of the object to get, a subclass of {@link PfConcept} * @return the number of instances of the concept in the database */ diff --git a/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java b/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java index c4b259882..c6faf21ec 100644 --- a/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java +++ b/models-dao/src/main/java/org/onap/policy/models/dao/impl/DefaultPfDao.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2019-2021, 2023 Nordix Foundation. + * Copyright (C) 2019-2021, 2023-2024 Nordix Foundation. * Modifications Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved. * Modifications Copyright (C) 2022 Bell Canada. All rights reserved. * ================================================================================ @@ -54,57 +54,6 @@ import org.slf4j.LoggerFactory; public class DefaultPfDao implements PfDao { private static final Logger LOGGER = LoggerFactory.getLogger(DefaultPfDao.class); - // @formatter:off - private static final String NAME = "name"; - private static final String VERSION = "version"; - private static final String TIMESTAMP = "timeStamp"; - private static final String PARENT_NAME = "parentname"; - private static final String PARENT_VERSION = "parentversion"; - private static final String LOCAL_NAME = "localname"; - - private static final String TABLE_TOKEN = "__TABLE__"; - - private static final String DELETE_FROM_TABLE = "DELETE FROM __TABLE__ c"; - - private static final String SELECT_FROM_TABLE = "SELECT c FROM __TABLE__ c"; - - private static final String WHERE = " WHERE "; - private static final String AND = " AND "; - private static final String ORDER_BY = " ORDER BY c."; - - private static final String NAME_FILTER = "c.key.name = :name"; - private static final String VERSION_FILTER = "c.key.version = :version"; - private static final String TIMESTAMP_FILTER = "c.key.timeStamp = :timeStamp"; - private static final String PARENT_NAME_FILTER = "c.key.parentKeyName = :parentname"; - private static final String PARENT_VERSION_FILTER = "c.key.parentKeyVersion = :parentversion"; - private static final String LOCAL_NAME_FILTER = "c.key.localName = :localname"; - - private static final String CLONE_ERR_MSG = "Could not clone object of class \"{}\""; - - private static final String DELETE_BY_CONCEPT_KEY = - DELETE_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER; - - private static final String DELETE_BY_TIMESTAMP_KEY = - DELETE_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER + AND + TIMESTAMP_FILTER; - - private static final String DELETE_BY_REFERENCE_KEY = - DELETE_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER + AND + LOCAL_NAME_FILTER; - - private static final String SELECT_ALL_FOR_PARENT = - SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER; - - private static final String SELECT_ALL_VERSIONS_FOR_PARENT = - SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER; - - private static final String SELECT_ALL_VERSIONS = SELECT_FROM_TABLE + WHERE + NAME_FILTER; - - private static final String SELECT_BY_CONCEPT_KEY = - SELECT_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER; - - private static final String SELECT_BY_REFERENCE_KEY = - SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER + AND + LOCAL_NAME_FILTER; - // @formatter:on - // Entity manager for JPA private EntityManagerFactory emf = null; diff --git a/models-dao/src/main/java/org/onap/policy/models/dao/impl/ProxyDao.java b/models-dao/src/main/java/org/onap/policy/models/dao/impl/ProxyDao.java index cdf2a9857..ec0c357e6 100644 --- a/models-dao/src/main/java/org/onap/policy/models/dao/impl/ProxyDao.java +++ b/models-dao/src/main/java/org/onap/policy/models/dao/impl/ProxyDao.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * Copyright (C) 2021, 2023 Nordix Foundation. + * Copyright (C) 2021, 2023-2024 Nordix Foundation. * Modifications Copyright (C) 2022 Bell Canada. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); @@ -52,55 +52,6 @@ import org.slf4j.LoggerFactory; public class ProxyDao implements PfDao { private static final Logger LOGGER = LoggerFactory.getLogger(ProxyDao.class); - // @formatter:off - private static final String NAME = "name"; - private static final String VERSION = "version"; - private static final String TIMESTAMP = "timeStamp"; - private static final String PARENT_NAME = "parentname"; - private static final String PARENT_VERSION = "parentversion"; - private static final String LOCAL_NAME = "localname"; - - private static final String TABLE_TOKEN = "__TABLE__"; - - private static final String DELETE_FROM_TABLE = "DELETE FROM __TABLE__ c"; - - private static final String SELECT_FROM_TABLE = "SELECT c FROM __TABLE__ c"; - - private static final String WHERE = " WHERE "; - private static final String AND = " AND "; - private static final String ORDER_BY = " ORDER BY c."; - - private static final String NAME_FILTER = "c.key.name = :name"; - private static final String VERSION_FILTER = "c.key.version = :version"; - private static final String TIMESTAMP_FILTER = "c.key.timeStamp = :timeStamp"; - private static final String PARENT_NAME_FILTER = "c.key.parentKeyName = :parentname"; - private static final String PARENT_VERSION_FILTER = "c.key.parentKeyVersion = :parentversion"; - private static final String LOCAL_NAME_FILTER = "c.key.localName = :localname"; - - private static final String CLONE_ERR_MSG = "Could not clone object of class \"{}\""; - - private static final String DELETE_BY_CONCEPT_KEY = - DELETE_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER; - - private static final String DELETE_BY_TIMESTAMP_KEY = - DELETE_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER + AND + TIMESTAMP_FILTER; - - private static final String DELETE_BY_REFERENCE_KEY = - DELETE_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER + AND + LOCAL_NAME_FILTER; - - private static final String SELECT_ALL_FOR_PARENT = - SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER; - - private static final String SELECT_ALL_VERSIONS_FOR_PARENT = - SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER; - - private static final String SELECT_ALL_VERSIONS = SELECT_FROM_TABLE + WHERE + NAME_FILTER; - - private static final String SELECT_BY_CONCEPT_KEY = - SELECT_FROM_TABLE + WHERE + NAME_FILTER + AND + VERSION_FILTER; - - private static final String SELECT_BY_REFERENCE_KEY = - SELECT_FROM_TABLE + WHERE + PARENT_NAME_FILTER + AND + PARENT_VERSION_FILTER + AND + LOCAL_NAME_FILTER; // @formatter:on // Entity manager for JPA |