From 53c565717de80e19d9275cca9b2a93019f2fb4bf Mon Sep 17 00:00:00 2001 From: Cyrus <24922493+cyrus-dev@users.noreply.github.com> Date: Thu, 28 Jul 2022 07:37:43 -0400 Subject: [PATCH] Trying to fix up code to pull down the correct library for JPARepository --- HIRS_AttestationCA/build.gradle | 1 + ...tionCertificateAuthorityConfiguration.java | 27 +- .../attestationca/InitializationListener.java | 12 +- .../PersistenceConfiguration.java | 32 +- .../attestationca/persist/package-info.java | 7 - .../AbstractDbManager.java | 10 +- .../DBAppraiserManager.java | 2 +- .../DBCertificateManager.java | 11 +- .../DBDeviceGroupManager.java | 3 +- .../DBDeviceManager.java | 2 +- .../DBManager.java | 6 +- .../DBPolicyManager.java | 3 +- .../DBPortalInfoManager.java | 2 +- .../DBReferenceEventManager.java | 2 +- .../DBReferenceManifestManager.java | 2 +- .../DBReportManager.java | 2 +- .../DBReportRequestStateManager.java | 2 +- .../DBReportSummaryManager.java | 2 +- .../DBRepositoryManager.java | 5 +- .../servicemanager/package-info.java | 7 + .../src/main/resources/persistence.properties | 6 +- .../SupplyChainValidationServiceImplTest.java | 7 +- .../controllers/DevicesPageController.java | 2 +- .../RimDatabasePageController.java | 4 +- .../hirs/data/persist/AbstractEntity.java | 3 +- .../hirs/data/persist/ReferenceManifest.java | 12 - .../data/persist/DeviceInfoReportTest.java | 372 ------------------ .../data/persist/SpringPersistenceTest.java | 23 -- .../SupplyChainValidationSummaryTest.java | 347 ---------------- .../hirs/persist/CertificateSelectorTest.java | 1 - .../hirs/persist/DBAppraiserManagerTest.java | 1 - .../persist/DBCertificateManagerTest.java | 1 - .../persist/DBDeviceGroupManagerTest.java | 1 - .../hirs/persist/DBDeviceManagerTest.java | 1 - .../test/java/hirs/persist/DBManagerTest.java | 1 - .../hirs/persist/DBPolicyManagerTest.java | 1 - .../hirs/persist/DBPortalInfoManagerTest.java | 1 - .../DBReportRequestStateManagerTest.java | 1 - .../persist/DBReportSummaryManagerTest.java | 1 - build.gradle | 14 +- 40 files changed, 97 insertions(+), 843 deletions(-) delete mode 100644 HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/package-info.java rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/AbstractDbManager.java (98%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBAppraiserManager.java (99%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBCertificateManager.java (96%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBDeviceGroupManager.java (99%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBDeviceManager.java (99%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBManager.java (99%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBPolicyManager.java (99%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBPortalInfoManager.java (99%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBReferenceEventManager.java (99%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBReferenceManifestManager.java (98%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBReportManager.java (96%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBReportRequestStateManager.java (98%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBReportSummaryManager.java (97%) rename HIRS_AttestationCA/src/main/java/hirs/attestationca/{persist => servicemanager}/DBRepositoryManager.java (98%) create mode 100644 HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/package-info.java delete mode 100644 HIRS_Utils/src/test/java/hirs/data/persist/DeviceInfoReportTest.java delete mode 100644 HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java delete mode 100644 HIRS_Utils/src/test/java/hirs/data/persist/SupplyChainValidationSummaryTest.java diff --git a/HIRS_AttestationCA/build.gradle b/HIRS_AttestationCA/build.gradle index cbed0273..a9df4c60 100644 --- a/HIRS_AttestationCA/build.gradle +++ b/HIRS_AttestationCA/build.gradle @@ -14,6 +14,7 @@ dependencies { compile libs.commons_codec compile libs.commons_lang compile libs.spring_webmvc + compile libs.spring_data // Cyrus ? compile libs.log4j2 compile libs.log4j2_web compile libs.protobuf_java diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/AttestationCertificateAuthorityConfiguration.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/AttestationCertificateAuthorityConfiguration.java index 226211a2..3c6207f0 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/AttestationCertificateAuthorityConfiguration.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/AttestationCertificateAuthorityConfiguration.java @@ -100,7 +100,8 @@ public class AttestationCertificateAuthorityConfiguration implements WebMvcConfi */ // @Bean public SessionFactory sessionFactory() { - ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(getSettings()).build(); + ServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder() + .applySettings(getSettings()).build(); MetadataSources metadataSources = new MetadataSources(serviceRegistry); Metadata metadata = metadataSources.buildMetadata(); // LocalSessionFactoryBean sessionFactory = new LocalSessionFactoryBean(); @@ -113,14 +114,19 @@ public class AttestationCertificateAuthorityConfiguration implements WebMvcConfi private Map getSettings() { Map settings = new HashMap<>(); - settings.put("connection.driver_class", environment.getRequiredProperty("persistence.db.driverClass")); + settings.put("connection.driver_class", + environment.getRequiredProperty("persistence.db.driverClass")); settings.put("dialect", environment.getRequiredProperty("persistence.hibernate.dialect")); - settings.put("hibernate.connection.url", environment.getRequiredProperty("persistence.db.url")); - settings.put("hibernate.connection.username", environment.getRequiredProperty("persistence.db.username")); - settings.put("hibernate.connection.password", environment.getRequiredProperty("persistence.db.password")); + settings.put("hibernate.connection.url", + environment.getRequiredProperty("persistence.db.url")); + settings.put("hibernate.connection.username", + environment.getRequiredProperty("persistence.db.username")); + settings.put("hibernate.connection.password", + environment.getRequiredProperty("persistence.db.password")); // settings.put("hibernate.current_session_context_class", ); settings.put("hibernate.show_sql", environment.getRequiredProperty("hibernate.show_sql")); - settings.put("hibernate.format_sql", environment.getRequiredProperty("hibernate.format_sql")); + settings.put("hibernate.format_sql", + environment.getRequiredProperty("hibernate.format_sql")); return settings; } @@ -141,9 +147,12 @@ public class AttestationCertificateAuthorityConfiguration implements WebMvcConfi dataSource.setDriverClassName( environment.getRequiredProperty("persistence.db.driverClass")); -// dataSource.setMaximumPoolSize(Integer.parseInt(environment.getRequiredProperty("persistence.db.maximumPoolSize")); -// dataSource.setConnectionTimeout(Long.parseLong(environment.getRequiredProperty("persistence.db.connectionTimeout")); -// dataSource.setLeakDetectionThreshold(Long.parseLong(environment.getRequiredProperty("persistence.db.leakDetectionThreshold")); +// dataSource.setMaximumPoolSize(Integer.parseInt(environment +// .getRequiredProperty("persistence.db.maximumPoolSize")); +// dataSource.setConnectionTimeout(Long.parseLong(environment. +// getRequiredProperty("persistence.db.connectionTimeout")); +// dataSource.setLeakDetectionThreshold(Long.parseLong(environment +// .getRequiredProperty("persistence.db.leakDetectionThreshold")); return dataSource; } diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/InitializationListener.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/InitializationListener.java index 8effce19..abb3ea03 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/InitializationListener.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/InitializationListener.java @@ -1,8 +1,8 @@ package hirs.attestationca; -import hirs.attestationca.persist.DBAppraiserManager; -import hirs.attestationca.persist.DBDeviceGroupManager; -import hirs.attestationca.persist.DBPolicyManager; +import hirs.attestationca.servicemanager.DBAppraiserManager; +import hirs.attestationca.servicemanager.DBDeviceGroupManager; +import hirs.attestationca.servicemanager.DBPolicyManager; import hirs.utils.HIRSProfiles; import org.springframework.context.annotation.AnnotationConfigApplicationContext; @@ -25,8 +25,10 @@ public class InitializationListener implements ServletContextListener { context.refresh(); // obtain reference to hibernate session factory -// SessionFactory sessionFactory = context.getBean(LocalSessionFactoryBean.class).getObject(); - EntityManager entityManager = context.getBean(EntityManagerFactory.class).createEntityManager(); +// SessionFactory sessionFactory = context.getBean(LocalSessionFactoryBean.class) +// .getObject(); + EntityManager entityManager = context.getBean(EntityManagerFactory.class) + .createEntityManager(); AcaDbInit.insertDefaultEntries( new DBAppraiserManager(entityManager), new DBDeviceGroupManager(entityManager), diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/configuration/PersistenceConfiguration.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/configuration/PersistenceConfiguration.java index 47f638ec..912bdadb 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/configuration/PersistenceConfiguration.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/configuration/PersistenceConfiguration.java @@ -1,17 +1,17 @@ package hirs.attestationca.configuration; import hirs.attestationca.AttestationCertificateAuthorityConfiguration; -import hirs.attestationca.persist.DBCertificateManager; -import hirs.attestationca.persist.DBDeviceGroupManager; -import hirs.attestationca.persist.DBDeviceManager; -import hirs.attestationca.persist.DBManager; -import hirs.attestationca.persist.DBPolicyManager; -import hirs.attestationca.persist.DBPortalInfoManager; -import hirs.attestationca.persist.DBReferenceEventManager; -import hirs.attestationca.persist.DBReferenceManifestManager; -import hirs.attestationca.persist.DBReportManager; -import hirs.attestationca.persist.DBReportRequestStateManager; -import hirs.attestationca.persist.DBReportSummaryManager; +import hirs.attestationca.servicemanager.DBCertificateManager; +import hirs.attestationca.servicemanager.DBDeviceGroupManager; +import hirs.attestationca.servicemanager.DBDeviceManager; +import hirs.attestationca.servicemanager.DBManager; +import hirs.attestationca.servicemanager.DBPolicyManager; +import hirs.attestationca.servicemanager.DBPortalInfoManager; +import hirs.attestationca.servicemanager.DBReferenceEventManager; +import hirs.attestationca.servicemanager.DBReferenceManifestManager; +import hirs.attestationca.servicemanager.DBReportManager; +import hirs.attestationca.servicemanager.DBReportRequestStateManager; +import hirs.attestationca.servicemanager.DBReportSummaryManager; import hirs.data.persist.SupplyChainValidationSummary; import hirs.persist.CertificateManager; import hirs.persist.CrudManager; @@ -50,9 +50,10 @@ public class PersistenceConfiguration { public static final String DEVICE_STATE_MANAGER_BEAN_NAME = "general_db_man_bean"; @Autowired - EntityManagerFactory entityManagerFactory; + private EntityManagerFactory entityManagerFactory; + @PersistenceContext - EntityManager entityManager = entityManagerFactory.createEntityManager(); + private EntityManager entityManager = entityManagerFactory.createEntityManager(); @Autowired private long retryWaitTimeMilliseconds; @@ -184,9 +185,10 @@ public class PersistenceConfiguration { } /** - * Creates a {@link hirs.attestationca.persist.DBManager} for SupplyChainValidationSummary persistence, ready for use. + * Creates a {@link hirs.attestationca.servicemanager.DBManager} + * for SupplyChainValidationSummary persistence, ready for use. * - * @return {@link hirs.attestationca.persist.DBManager} + * @return {@link hirs.attestationca.servicemanager.DBManager} */ @Bean public CrudManager supplyChainValidationSummaryManager() { diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/package-info.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/package-info.java deleted file mode 100644 index 3315ba8d..00000000 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Data access objects (DAOs) for storing and retrieving objects from the - * database. - */ - -package hirs.attestationca.persist; - diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/AbstractDbManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/AbstractDbManager.java similarity index 98% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/AbstractDbManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/AbstractDbManager.java index b3ce9b09..62831696 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/AbstractDbManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/AbstractDbManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.FilteredRecordsList; import hirs.data.persist.ArchivableEntity; @@ -9,19 +9,13 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.hibernate.HibernateException; import org.hibernate.Session; -import org.hibernate.SessionFactory; -import org.hibernate.StatelessSession; import org.hibernate.Transaction; -import org.hibernate.boot.Metadata; -import org.hibernate.boot.MetadataSources; -import org.hibernate.boot.registry.StandardServiceRegistryBuilder; import org.hibernate.criterion.Conjunction; import org.hibernate.criterion.Criterion; import org.hibernate.criterion.Disjunction; import org.hibernate.criterion.MatchMode; import org.hibernate.criterion.Restrictions; import org.hibernate.query.Query; -import org.hibernate.service.ServiceRegistry; import org.hibernate.service.spi.ServiceRegistryImplementor; import org.springframework.stereotype.Service; @@ -509,7 +503,7 @@ public abstract class AbstractDbManager implements CrudManager { return null; } Transaction tx = null; - Session session =getSession(); + Session session = getSession(); try { LOGGER.debug("retrieving object from db"); tx = session.beginTransaction(); diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBAppraiserManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBAppraiserManager.java similarity index 99% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBAppraiserManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBAppraiserManager.java index 3b6f4491..66ab7683 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBAppraiserManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBAppraiserManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.appraiser.Appraiser; import hirs.persist.AppraiserManager; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBCertificateManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBCertificateManager.java similarity index 96% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBCertificateManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBCertificateManager.java index bb711fb2..a56a84b8 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBCertificateManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBCertificateManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.data.persist.certificate.Certificate; import hirs.persist.CertificateManager; @@ -39,8 +39,10 @@ public class DBCertificateManager extends DBManager } /** - * This method does not need to be used directly as it is used by {@link hirs.persist.CertificateSelector}'s - * get* methods. Regardless, it may be used to retrieve certificates by other code in this + * This method does not need to be used directly as it is used by + * {@link hirs.persist.CertificateSelector}'s + * get methods. Regardless, it may be used to retrieve certificates + * by other code in this * package, given a configured CertificateSelector. * * Example: @@ -55,7 +57,8 @@ public class DBCertificateManager extends DBManager * * * @param the type of certificate that will be retrieved - * @param certificateSelector a configured {@link hirs.persist.CertificateSelector} to use for querying + * @param certificateSelector a configured {@link hirs.persist.CertificateSelector} + * to use for querying * @return the resulting set of Certificates, possibly empty */ @SuppressWarnings("unchecked") diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBDeviceGroupManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceGroupManager.java similarity index 99% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBDeviceGroupManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceGroupManager.java index 39dbe245..4802a1c8 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBDeviceGroupManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceGroupManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.FilteredRecordsList; import hirs.data.persist.DeviceGroup; @@ -12,7 +12,6 @@ import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.hibernate.Criteria; import org.hibernate.Session; -import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.query.Query; import org.springframework.stereotype.Service; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBDeviceManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceManager.java similarity index 99% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBDeviceManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceManager.java index bc85e229..b54962da 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBDeviceManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.FilteredRecordsList; import hirs.data.persist.Device; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBManager.java similarity index 99% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBManager.java index 30479154..ee237ecc 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.FilteredRecordsList; import hirs.data.persist.ArchivableEntity; @@ -7,7 +7,6 @@ import hirs.persist.DBManagerException; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.hibernate.Criteria; -import org.hibernate.SessionFactory; import org.hibernate.StaleObjectStateException; import org.hibernate.criterion.Criterion; import org.hibernate.exception.LockAcquisitionException; @@ -118,7 +117,8 @@ public class DBManager extends AbstractDbManager { * @param predicateCollection the collection of Criterion to apply * * @return a List of objects that match the criteria - * @throws hirs.persist.DBManagerException if an error is encountered while performing the query or creating + * @throws hirs.persist.DBManagerException if an error is encountered + * while performing the query or creating * the result objects */ public final List getWithCriteria(final Collection predicateCollection) diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBPolicyManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPolicyManager.java similarity index 99% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBPolicyManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPolicyManager.java index d6c06c4a..7a5249be 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBPolicyManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPolicyManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import com.google.common.base.Preconditions; import hirs.appraiser.Appraiser; @@ -12,7 +12,6 @@ import hirs.persist.PolicyMapper; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import org.hibernate.Session; -import org.hibernate.SessionFactory; import org.hibernate.Transaction; import org.hibernate.query.Query; import org.springframework.stereotype.Repository; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBPortalInfoManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPortalInfoManager.java similarity index 99% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBPortalInfoManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPortalInfoManager.java index 2eb61aef..e2b44b4c 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBPortalInfoManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPortalInfoManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.data.persist.enums.PortalScheme; import hirs.data.persist.info.PortalInfo; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReferenceEventManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReferenceEventManager.java similarity index 99% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReferenceEventManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReferenceEventManager.java index 8e2fb675..2abb890e 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReferenceEventManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReferenceEventManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.data.persist.BaseReferenceManifest; import hirs.data.persist.ReferenceDigestRecord; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReferenceManifestManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReferenceManifestManager.java similarity index 98% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReferenceManifestManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReferenceManifestManager.java index fad87ded..0fa6bf24 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReferenceManifestManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReferenceManifestManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.data.persist.ReferenceManifest; import hirs.persist.ReferenceManifestManager; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportManager.java similarity index 96% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportManager.java index 98670c9e..b723374f 100755 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.data.persist.Report; import hirs.persist.DBManagerException; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportRequestStateManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportRequestStateManager.java similarity index 98% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportRequestStateManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportRequestStateManager.java index b7361e0d..587a323d 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportRequestStateManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportRequestStateManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.data.persist.Device; import hirs.data.persist.ReportRequestState; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportSummaryManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportSummaryManager.java similarity index 97% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportSummaryManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportSummaryManager.java index eafd89cd..4d5e9f9b 100755 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBReportSummaryManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportSummaryManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.data.persist.ReportSummary; import hirs.persist.DBManagerException; diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBRepositoryManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBRepositoryManager.java similarity index 98% rename from HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBRepositoryManager.java rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBRepositoryManager.java index ef8e2721..0f1880a6 100644 --- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/persist/DBRepositoryManager.java +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBRepositoryManager.java @@ -1,4 +1,4 @@ -package hirs.attestationca.persist; +package hirs.attestationca.servicemanager; import hirs.persist.RepositoryManager; import hirs.repository.RepoPackage; @@ -10,7 +10,8 @@ import java.io.Serializable; import java.util.List; /** - * This class defines a {@link hirs.persist.RepositoryManager} that stores Repositories and RepoPackages + * This class defines a {@link hirs.persist.RepositoryManager} that + * stores Repositories and RepoPackages * in a database. */ @Service diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/package-info.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/package-info.java new file mode 100644 index 00000000..6f55e6b3 --- /dev/null +++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/package-info.java @@ -0,0 +1,7 @@ +/** + * Service objects for the DAOs; storing and retrieving objects from the + * database. + */ + +package hirs.attestationca.servicemanager; + diff --git a/HIRS_AttestationCA/src/main/resources/persistence.properties b/HIRS_AttestationCA/src/main/resources/persistence.properties index 24741116..c1a44e11 100644 --- a/HIRS_AttestationCA/src/main/resources/persistence.properties +++ b/HIRS_AttestationCA/src/main/resources/persistence.properties @@ -19,6 +19,10 @@ hibernate.format_sql = true persistence.hibernate.contextClass = org.springframework.orm.hibernate5.SpringSessionContext persistence.hibernate.provider = org.hibernate.hikaricp.internal.HikariCPConnectionProvider - +spring.datasource.url = jdbc:mariadb://localhost/hirs_db?autoReconnect=true&useSSL=true&requireSSL=true&enabledSslProtocolSuites=TLSv1&disableSslHostnameVerification=true +spring.datasource.username = hirs_db +spring.datasource.password = hirs_db +spring.datasource.driver-class-name = org.mariadb.jdbc.Driver +spring.jpa.generate-ddl = true # caching the entity manager in a persistence # inject the entity manger in spring using context \ No newline at end of file diff --git a/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java b/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java index 1ad91bab..6362a1a1 100644 --- a/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java +++ b/HIRS_AttestationCA/src/test/java/hirs/attestationca/service/SupplyChainValidationServiceImplTest.java @@ -5,7 +5,6 @@ import hirs.data.persist.AppraisalStatus; import hirs.data.persist.Device; import hirs.data.persist.DeviceGroup; import hirs.data.persist.DeviceInfoReport; -import hirs.data.persist.SpringPersistenceTest; import hirs.data.persist.SupplyChainPolicy; import hirs.data.persist.SupplyChainValidation; import hirs.data.persist.SupplyChainValidationSummary; @@ -17,9 +16,9 @@ import hirs.data.persist.certificate.PlatformCredential; import hirs.persist.AppraiserManager; import hirs.persist.CertificateManager; import hirs.persist.CrudManager; -import hirs.attestationca.persist.DBCertificateManager; -import hirs.attestationca.persist.DBDeviceGroupManager; -import hirs.attestationca.persist.DBDeviceManager; +import hirs.attestationca.servicemanager.DBCertificateManager; +import hirs.attestationca.servicemanager.DBDeviceGroupManager; +import hirs.attestationca.servicemanager.DBDeviceManager; import hirs.persist.DeviceGroupManager; import hirs.persist.DeviceManager; import hirs.persist.PolicyManager; diff --git a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/DevicesPageController.java b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/DevicesPageController.java index dd3d9827..fc5682db 100644 --- a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/DevicesPageController.java +++ b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/DevicesPageController.java @@ -9,7 +9,7 @@ import hirs.attestationca.portal.page.params.NoPageParams; import hirs.data.persist.Device; import hirs.data.persist.certificate.Certificate; import hirs.data.persist.certificate.DeviceAssociatedCertificate; -import hirs.attestationca.persist.DBManager; +import hirs.attestationca.servicemanager.DBManager; import hirs.persist.DeviceManager; import org.apache.logging.log4j.Logger; import org.hibernate.criterion.Restrictions; diff --git a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/RimDatabasePageController.java b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/RimDatabasePageController.java index e65a7f22..f92e8d4f 100644 --- a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/RimDatabasePageController.java +++ b/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/page/controllers/RimDatabasePageController.java @@ -13,8 +13,8 @@ import hirs.data.persist.SupportReferenceManifest; import hirs.data.persist.certificate.Certificate; import hirs.persist.CriteriaModifier; import hirs.persist.DBManagerException; -import hirs.attestationca.persist.DBReferenceEventManager; -import hirs.attestationca.persist.DBReferenceManifestManager; +import hirs.attestationca.servicemanager.DBReferenceEventManager; +import hirs.attestationca.servicemanager.DBReferenceManifestManager; import hirs.persist.ReferenceEventManager; import hirs.persist.ReferenceManifestManager; import org.apache.logging.log4j.LogManager; diff --git a/HIRS_Utils/src/main/java/hirs/data/persist/AbstractEntity.java b/HIRS_Utils/src/main/java/hirs/data/persist/AbstractEntity.java index 1b826a8b..3b75be42 100644 --- a/HIRS_Utils/src/main/java/hirs/data/persist/AbstractEntity.java +++ b/HIRS_Utils/src/main/java/hirs/data/persist/AbstractEntity.java @@ -4,6 +4,7 @@ import javax.persistence.Column; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.MappedSuperclass; +import java.io.Serializable; import java.util.Date; import java.util.UUID; @@ -11,7 +12,7 @@ import java.util.UUID; * An abstract database entity. */ @MappedSuperclass -public abstract class AbstractEntity { +public abstract class AbstractEntity implements Serializable { /** * static value for the length of a status message for objects that diff --git a/HIRS_Utils/src/main/java/hirs/data/persist/ReferenceManifest.java b/HIRS_Utils/src/main/java/hirs/data/persist/ReferenceManifest.java index 39753ef9..5304e181 100644 --- a/HIRS_Utils/src/main/java/hirs/data/persist/ReferenceManifest.java +++ b/HIRS_Utils/src/main/java/hirs/data/persist/ReferenceManifest.java @@ -72,33 +72,21 @@ public abstract class ReferenceManifest extends ArchivableEntity { private byte[] rimBytes; @Column(nullable = false) private String rimType = "Base"; - @Column private String tagId = null; - @Column private boolean swidPatch = false; - @Column private boolean swidSupplemental = false; - @Column private String platformManufacturer = null; - @Column private String platformManufacturerId = null; - @Column private String swidTagVersion = null; - @Column private String swidVersion = null; - @Column private String platformModel = null; @Column(nullable = false) private String fileName = null; - @Column private UUID associatedRim; - @Column @JsonIgnore private String deviceName; - @Column @JsonIgnore private String hexDecHash = ""; - @Column @JsonIgnore private String eventLogHash = ""; diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/DeviceInfoReportTest.java b/HIRS_Utils/src/test/java/hirs/data/persist/DeviceInfoReportTest.java deleted file mode 100644 index e96a2b30..00000000 --- a/HIRS_Utils/src/test/java/hirs/data/persist/DeviceInfoReportTest.java +++ /dev/null @@ -1,372 +0,0 @@ -package hirs.data.persist; - -import hirs.data.persist.info.FirmwareInfo; -import hirs.data.persist.info.HardwareInfo; -import hirs.data.persist.info.NetworkInfo; -import hirs.data.persist.info.OSInfo; -import hirs.data.persist.info.TPMInfo; -import hirs.foss.XMLCleaner; -import hirs.persist.DBReportManager; -import hirs.persist.ReportManager; -import org.apache.logging.log4j.LogManager; -import org.apache.logging.log4j.Logger; -import org.hibernate.Session; -import org.hibernate.query.Query; -import org.testng.Assert; -import org.testng.annotations.AfterClass; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; - -import javax.persistence.criteria.CriteriaBuilder; -import javax.persistence.criteria.CriteriaQuery; -import javax.persistence.criteria.Root; -import javax.xml.bind.JAXBContext; -import javax.xml.bind.JAXBException; -import javax.xml.bind.Marshaller; -import javax.xml.bind.Unmarshaller; -import java.io.FileNotFoundException; -import java.io.IOException; -import java.io.InputStream; -import java.io.StringReader; -import java.io.StringWriter; -import java.net.InetAddress; -import java.net.UnknownHostException; -import java.security.cert.CertificateFactory; -import java.security.cert.X509Certificate; -import java.util.List; -import java.util.UUID; - -/** - * DeviceInfoReportTest is a unit test class for DeviceInfoReports. - */ -public class DeviceInfoReportTest extends SpringPersistenceTest { - private final NetworkInfo networkInfo = createTestNetworkInfo(); - private final OSInfo osInfo = createTestOSInfo(); - private final FirmwareInfo firmwareInfo = createTestFirmwareInfo(); - private final HardwareInfo hardwareInfo = createTestHardwareInfo(); - private final TPMInfo tpmInfo = createTPMInfo(); - private static final String TEST_IDENTITY_CERT = "/tpm/sample_identity_cert.cer"; - - private static final Logger LOGGER = LogManager.getLogger(DeviceInfoReportTest.class); - - private static final String EXPECTED_CLIENT_VERSION = "Test.Version"; - - private ReportManager reportManager; - - /** - * Initializes a SessionFactory. The factory is used for an - * in-memory database that is used for testing. - */ - @BeforeClass - public final void setup() { - LOGGER.debug("retrieving session factory"); - reportManager = new DBReportManager(sessionFactory); - } - - /** - * Closes the SessionFactory from setup. - */ - @AfterClass - public final void tearDown() { - LOGGER.debug("closing session factory"); - } - - /** - * Resets the test state to a known good state. This currently only resets - * the database by removing all Report objects. - */ - @AfterMethod - public final void resetTestState() { - LOGGER.debug("reset test state"); - LOGGER.debug("deleting all reports"); - Session session = sessionFactory.getCurrentSession(); - session.beginTransaction(); - CriteriaBuilder builder = session.getCriteriaBuilder(); - CriteriaQuery criteriaQuery = builder.createQuery(Report.class); - Root root = criteriaQuery.from(Report.class); - criteriaQuery.select(root); - Query query = session.createQuery(criteriaQuery); - try { - final List reports = query.getResultList(); -// final List reports = session.createCriteria(Report.class).list(); - for (Object o : reports) { - LOGGER.debug("deleting report: {}", o); - session.delete(o); - } - LOGGER.debug("all reports removed"); - } finally { - session.getTransaction().commit(); - } - } - - /** - * Tests instantiation of a DeviceInfoReport. - */ - @Test - public final void deviceInfoReport() { - new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo); - } - - /** - * Tests that NetworkInfo cannot be null. - */ - @Test(expectedExceptions = NullPointerException.class) - public final void networkInfoNull() { - new DeviceInfoReport(null, osInfo, firmwareInfo, hardwareInfo, tpmInfo); - } - - /** - * Tests that OSInfo cannot be null. - */ - @Test(expectedExceptions = NullPointerException.class) - public final void osInfoNull() { - new DeviceInfoReport(networkInfo, null, firmwareInfo, hardwareInfo, tpmInfo); - } - - /** - * Tests that FirmwareInfo cannot be null. - */ - @Test(expectedExceptions = NullPointerException.class) - public final void firmwareInfoNull() { - new DeviceInfoReport(networkInfo, osInfo, null, hardwareInfo, tpmInfo); - } - - /** - * Tests that HardwareInfo cannot be null. - */ - @Test(expectedExceptions = NullPointerException.class) - public final void hardwareInfoNull() { - new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, null, tpmInfo); - } - - /** - * Tests that TPMInfo may be null. - */ - @Test - public final void tpmInfoNull() { - new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, null); - } - - /** - * Tests that the getters for DeviceInfoReport work as expected. - */ - @Test - public final void testGetters() { - DeviceInfoReport deviceInfoReport = - new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo); - Assert.assertEquals(deviceInfoReport.getNetworkInfo(), networkInfo); - Assert.assertEquals(deviceInfoReport.getOSInfo(), osInfo); - Assert.assertEquals(deviceInfoReport.getFirmwareInfo(), firmwareInfo); - Assert.assertEquals(deviceInfoReport.getHardwareInfo(), hardwareInfo); - Assert.assertEquals(deviceInfoReport.getTPMInfo(), tpmInfo); - Assert.assertEquals(deviceInfoReport.getClientApplicationVersion(), - EXPECTED_CLIENT_VERSION); - } - - /** - * Tests that the XML is generated correctly. - * - * @throws JAXBException - * in case there are errors marshalling/unmarshalling - */ - @Test - public final void marshalUnmarshalTest() throws JAXBException { - DeviceInfoReport deviceInfoReport = - new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo); - String xml = getXMLFromReport(deviceInfoReport); - DeviceInfoReport deviceInfoReportFromXML = getReportFromXML(xml); - Assert.assertEquals(deviceInfoReportFromXML.getNetworkInfo(), networkInfo); - Assert.assertEquals(deviceInfoReportFromXML.getOSInfo(), osInfo); - Assert.assertEquals(deviceInfoReport.getFirmwareInfo(), firmwareInfo); - Assert.assertEquals(deviceInfoReport.getHardwareInfo(), hardwareInfo); - Assert.assertEquals(deviceInfoReportFromXML.getTPMInfo(), tpmInfo); - Assert.assertEquals(deviceInfoReport.getClientApplicationVersion(), - EXPECTED_CLIENT_VERSION); - } - - /** - * Tests that a DeviceInfoReport can be saved in the - * ReportManager. - */ - @Test - public final void testSaveReport() { - final DeviceInfoReport deviceInfoReport = new DeviceInfoReport( - networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo); - final DeviceInfoReport savedReport = (DeviceInfoReport) reportManager - .saveReport(deviceInfoReport); - Assert.assertEquals(savedReport.getNetworkInfo(), networkInfo); - Assert.assertEquals(savedReport.getOSInfo(), osInfo); - Assert.assertEquals(savedReport.getFirmwareInfo(), firmwareInfo); - Assert.assertEquals(savedReport.getHardwareInfo(), hardwareInfo); - Assert.assertEquals(savedReport.getTPMInfo(), tpmInfo); - Assert.assertEquals(deviceInfoReport.getClientApplicationVersion(), - EXPECTED_CLIENT_VERSION); - } - - /** - * Tests that a DeviceInfoReport can be saved in the - * ReportManager and then retrieved. - */ - @Test - public final void testGetReport() { - final DeviceInfoReport deviceInfoReport = - new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo); - final DeviceInfoReport savedReport = - (DeviceInfoReport) reportManager.saveReport(deviceInfoReport); - final DeviceInfoReport getReport = - (DeviceInfoReport) reportManager.getReport(savedReport.getId()); - Assert.assertEquals(getReport.getNetworkInfo(), networkInfo); - Assert.assertEquals(getReport.getOSInfo(), osInfo); - Assert.assertEquals(getReport.getFirmwareInfo(), firmwareInfo); - Assert.assertEquals(getReport.getHardwareInfo(), hardwareInfo); - Assert.assertEquals(getReport.getTPMInfo(), tpmInfo); - Assert.assertEquals(getReport.getClientApplicationVersion(), - EXPECTED_CLIENT_VERSION); - } - - /** - * Tests that a DeviceInfoReport can be saved in the - * ReportManager and then deleted. - */ - @Test - public final void testDeleteReport() { - final DeviceInfoReport deviceInfoReport = - new DeviceInfoReport(networkInfo, osInfo, firmwareInfo, hardwareInfo, tpmInfo); - final DeviceInfoReport savedReport = - (DeviceInfoReport) reportManager.saveReport(deviceInfoReport); - Assert.assertNotNull(savedReport); - final UUID id = savedReport.getId(); - Assert.assertNotNull(reportManager.getReport(id)); - Assert.assertTrue(reportManager.deleteReport(id)); - Assert.assertNull(reportManager.getReport(id)); - } - - /** - * Creates a DeviceInfoReport instance usable for testing. - * - * @return a test DeviceInfoReport - */ - public static DeviceInfoReport getTestReport() { - return new DeviceInfoReport( - createTestNetworkInfo(), createTestOSInfo(), createTestFirmwareInfo(), - createTestHardwareInfo(), createTPMInfo() - ); - } - - /** - * Creates a test instance of NetworkInfo. - * - * @return network information for a fake device - */ - public static NetworkInfo createTestNetworkInfo() { - try { - final String hostname = "test.hostname"; - final InetAddress ipAddress = - InetAddress.getByAddress(new byte[] {127, 0, 0, 1}); - final byte[] macAddress = new byte[] {11, 22, 33, 44, 55, 66}; - return new NetworkInfo(hostname, ipAddress, macAddress); - - } catch (UnknownHostException e) { - LOGGER.error("error occurred while creating InetAddress"); - return null; - } - - } - - /** - * Creates a test instance of OSInfo. - * - * @return OS information for a fake device - */ - public static OSInfo createTestOSInfo() { - return new OSInfo("test os name", "test os version", "test os arch", - "test distribution", "test distribution release"); - } - - /** - * Creates a test instance of FirmwareInfo. - * - * @return Firmware information for a fake device - */ - public static FirmwareInfo createTestFirmwareInfo() { - return new FirmwareInfo("test bios vendor", "test bios version", "test bios release date"); - } - - /** - * Creates a test instance of HardwareInfo. - * - * @return Hardware information for a fake device - */ - public static HardwareInfo createTestHardwareInfo() { - return new HardwareInfo("test manufacturer", "test product name", "test version", - "test really long serial number with many characters", "test really long chassis " - + "serial number with many characters", - "test really long baseboard serial number with many characters"); - } - - /** - * Creates a test instance of TPMInfo. - * - * @return TPM information for a fake device - */ - public static final TPMInfo createTPMInfo() { - final short num1 = 1; - final short num2 = 2; - final short num3 = 3; - final short num4 = 4; - return new TPMInfo("test os make", num1, num2, num3, num4, - getTestIdentityCertificate()); - } - - private static X509Certificate getTestIdentityCertificate() { - X509Certificate certificateValue = null; - InputStream istream = null; - istream = DeviceInfoReportTest.class.getResourceAsStream( - TEST_IDENTITY_CERT - ); - try { - if (istream == null) { - throw new FileNotFoundException(TEST_IDENTITY_CERT); - } - CertificateFactory cf = CertificateFactory.getInstance("X.509"); - certificateValue = (X509Certificate) cf.generateCertificate( - istream); - - } catch (Exception e) { - return null; - } finally { - if (istream != null) { - try { - istream.close(); - } catch (IOException e) { - LOGGER.error("test certificate file could not be closed"); - } - } - } - return certificateValue; - } - - private String getXMLFromReport(final DeviceInfoReport deviceInfoReport) - throws JAXBException { - String xml = null; - JAXBContext context = JAXBContext.newInstance(DeviceInfoReport.class); - Marshaller marshaller = context.createMarshaller(); - StringWriter writer = new StringWriter(); - marshaller.marshal(deviceInfoReport, writer); - xml = writer.toString(); - xml = XMLCleaner.stripNonValidXMLCharacters(xml); - return xml; - } - - private DeviceInfoReport getReportFromXML(final String xml) - throws JAXBException { - DeviceInfoReport deviceInfoReport; - JAXBContext context; - context = JAXBContext.newInstance(DeviceInfoReport.class); - Unmarshaller unmarshaller = context.createUnmarshaller(); - StringReader reader = new StringReader(xml); - deviceInfoReport = (DeviceInfoReport) unmarshaller.unmarshal(reader); - return deviceInfoReport; - } -} diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java b/HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java deleted file mode 100644 index f423aa8f..00000000 --- a/HIRS_Utils/src/test/java/hirs/data/persist/SpringPersistenceTest.java +++ /dev/null @@ -1,23 +0,0 @@ -package hirs.data.persist; - -import org.hibernate.SessionFactory; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.test.annotation.DirtiesContext; -import org.springframework.test.context.ContextConfiguration; -import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; - -/** - * Base class that autowires a session factory for use of - * any tests that need a database connection. - */ -@ContextConfiguration(classes = PersistenceConfiguration.class) -@DirtiesContext(classMode = DirtiesContext.ClassMode.AFTER_CLASS) -public class SpringPersistenceTest extends AbstractTestNGSpringContextTests { - - /** - * Autowired session factory. - */ - @SuppressWarnings("checkstyle:visibilitymodifier") - @Autowired - protected SessionFactory sessionFactory; -} diff --git a/HIRS_Utils/src/test/java/hirs/data/persist/SupplyChainValidationSummaryTest.java b/HIRS_Utils/src/test/java/hirs/data/persist/SupplyChainValidationSummaryTest.java deleted file mode 100644 index fcc57844..00000000 --- a/HIRS_Utils/src/test/java/hirs/data/persist/SupplyChainValidationSummaryTest.java +++ /dev/null @@ -1,347 +0,0 @@ -package hirs.data.persist; - -import hirs.data.persist.certificate.Certificate; -import hirs.persist.DBCertificateManager; -import hirs.persist.DBManager; - -import org.testng.Assert; -import org.testng.annotations.AfterClass; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.Test; -import hirs.data.persist.certificate.CertificateTest; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; - -/** - * Tests the functionality in SupplyChainValidationSummary, as well as the persistence of - * SupplyChainValidationSummary and SupplyChainValidation. - */ -public class SupplyChainValidationSummaryTest extends SpringPersistenceTest { - private Device device; - private DeviceGroup deviceGroup; - private List certificates; - - /** - * Create a session factory to use for persistence testing and persist some certificates - * for use by these tests. - * - * @throws Exception if there is a problem deserializing certificates or creating test device - */ - @BeforeClass - public void setup() throws Exception { - certificates = CertificateTest.getAllTestCertificates(); - DBCertificateManager certMan = new DBCertificateManager(sessionFactory); - for (ArchivableEntity cert : certificates) { - certMan.save((Certificate) cert); - } - - deviceGroup = new DeviceGroup("TestDeviceGroup", "TestDeviceGroupDescription"); - DBManager devicGroupMan = new DBManager<>(DeviceGroup.class, sessionFactory); - deviceGroup = devicGroupMan.save(deviceGroup); - - device = DeviceTest.getTestDevice("TestDevice"); - device.setDeviceGroup(deviceGroup); - DBManager deviceMan = new DBManager<>(Device.class, sessionFactory); - device = deviceMan.save(device); - } - - /** - * Remove test certificates and close the session factory. - */ - @AfterClass - public void teardown() { - DBCertificateManager certManager = new DBCertificateManager(sessionFactory); - for (ArchivableEntity cert : certificates) { - certManager.deleteCertificate((Certificate) cert); - } - } - - /** - * Resets the test state to a known good state. This resets - * the database by removing all {@link Certificate} objects. - */ - @AfterMethod - public void resetTestState() { - DBManager summaryManager = new DBManager<>( - SupplyChainValidationSummary.class, - sessionFactory - ); - - for (SupplyChainValidationSummary summary - : summaryManager.getList(SupplyChainValidationSummary.class)) { - summaryManager.deleteById(summary.getId()); - } - } - - /** - * Tests that an empty summary behaves as expected. - */ - @Test - public void testEmptySummary() { - SupplyChainValidationSummary emptySummary = getTestSummary( - 0, - 0, - certificates - ); - - Assert.assertEquals(emptySummary.getDevice(), device); - Assert.assertEquals(emptySummary.getValidations(), Collections.EMPTY_LIST); - Assert.assertEquals(emptySummary.getOverallValidationResult(), AppraisalStatus.Status.PASS); - Assert.assertNotNull(emptySummary.getCreateTime()); - } - - /** - * Test that a summary can't be created with a null validationIdentifier. - */ - @Test(expectedExceptions = IllegalArgumentException.class) - public void testNullValidationIdentifier() { - new SupplyChainValidationSummary(null, Collections.emptyList()); - } - - /** - * Test that a summary can't be created with a null validations list. - */ - @Test(expectedExceptions = IllegalArgumentException.class) - public void testNullValidationList() { - new SupplyChainValidationSummary(device, null); - } - - /** - * Test that summaries with one and two component validations, which both represent successful - * validations, have getters that return the expected information. - */ - @Test - public void testSuccessfulSummary() { - SupplyChainValidationSummary oneValidation = getTestSummary( - 1, - 0, - certificates - ); - - Assert.assertEquals(oneValidation.getDevice(), device); - Assert.assertEquals(oneValidation.getValidations().size(), 1); - Assert.assertEquals(oneValidation.getOverallValidationResult(), - AppraisalStatus.Status.PASS); - Assert.assertNotNull(oneValidation.getCreateTime()); - - SupplyChainValidationSummary twoValidations = getTestSummary( - 2, - 0, - certificates - ); - - Assert.assertEquals(twoValidations.getDevice(), device); - Assert.assertEquals(twoValidations.getValidations().size(), 2); - Assert.assertEquals(twoValidations.getOverallValidationResult(), - AppraisalStatus.Status.PASS); - Assert.assertNotNull(twoValidations.getCreateTime()); - } - - /** - * Test that summaries with one and two component validations, of which one represents an - * unsuccessful validations, have getters that return the expected information. - */ - @Test - public void testUnsuccessfulSummary() { - SupplyChainValidationSummary oneValidation = getTestSummary( - 1, - 1, - certificates - ); - - Assert.assertEquals(oneValidation.getDevice(), device); - Assert.assertEquals(oneValidation.getValidations().size(), 1); - Assert.assertEquals(oneValidation.getOverallValidationResult(), - AppraisalStatus.Status.FAIL); - Assert.assertNotNull(oneValidation.getCreateTime()); - - SupplyChainValidationSummary twoValidations = getTestSummary( - 2, - 1, - certificates - ); - - Assert.assertEquals(twoValidations.getDevice(), device); - Assert.assertEquals(twoValidations.getValidations().size(), 2); - Assert.assertEquals(twoValidations.getOverallValidationResult(), - AppraisalStatus.Status.FAIL); - Assert.assertNotNull(twoValidations.getCreateTime()); - - SupplyChainValidationSummary twoBadValidations = getTestSummary( - 2, - 2, - certificates - ); - - Assert.assertEquals(twoBadValidations.getDevice(), device); - Assert.assertEquals(twoBadValidations.getValidations().size(), 2); - Assert.assertEquals(twoBadValidations.getOverallValidationResult(), - AppraisalStatus.Status.FAIL); - Assert.assertNotNull(twoBadValidations.getCreateTime()); - } - - /** - * Tests that a SupplyChainValidationSummary can be persisted. - */ - @Test - public void testSave() { - DBManager supplyMan = new DBManager<>( - SupplyChainValidationSummary.class, sessionFactory - ); - - SupplyChainValidationSummary summary = getTestSummary( - 2, - 1, - certificates - ); - SupplyChainValidationSummary savedSummary = supplyMan.save(summary); - Assert.assertEquals(savedSummary, summary); - } - - /** - * Tests that an empty SupplyChainValidationSummary can be persisted and retrieved. - */ - @Test - public void testSaveAndGetEmpty() { - DBManager supplyMan = new DBManager<>( - SupplyChainValidationSummary.class, sessionFactory - ); - - SupplyChainValidationSummary emptySummary = getTestSummary( - 0, - 0, - Collections.emptyList() - ); - SupplyChainValidationSummary savedEmptySummary = supplyMan.save(emptySummary); - - SupplyChainValidationSummary retrievedEmptySummary = - supplyMan.get(savedEmptySummary.getId()); - Assert.assertEquals(retrievedEmptySummary, emptySummary); - Assert.assertEquals(retrievedEmptySummary.getValidations().size(), 0); - } - - /** - * Tests that a SupplyChainValidationSummary with a single validation can be persisted - * and retrieved. - */ - @Test - public void testSaveAndGetSmall() { - DBManager supplyMan = new DBManager<>( - SupplyChainValidationSummary.class, sessionFactory - ); - - List singleCert = certificates.subList(0, 1); - - SupplyChainValidationSummary smallSummary = getTestSummary( - 1, - 0, - singleCert - ); - SupplyChainValidationSummary savedSmallSummary = supplyMan.save(smallSummary); - - SupplyChainValidationSummary retrievedSmallSummary = - supplyMan.get(savedSmallSummary.getId()); - Assert.assertEquals(retrievedSmallSummary, smallSummary); - Assert.assertEquals( - new ArrayList<>(retrievedSmallSummary.getValidations()) - .get(0).getCertificatesUsed(), - singleCert - ); - - } - - /** - * Tests that a SupplyChainValidationSummary can be retrieved and that its fields are properly - * restored. - */ - @Test - public void testGet() { - DBManager supplyMan = new DBManager<>( - SupplyChainValidationSummary.class, sessionFactory - ); - - SupplyChainValidationSummary summary = getTestSummary( - 2, - 1, - certificates - ); - - SupplyChainValidationSummary savedSummary = supplyMan.save(summary); - Assert.assertEquals(savedSummary, summary); - - SupplyChainValidationSummary retrievedSummary = supplyMan.get(savedSummary.getId()); - Assert.assertNotNull(retrievedSummary); - Assert.assertEquals( - retrievedSummary.getDevice(), - summary.getDevice() - ); - Assert.assertEquals(retrievedSummary.getCreateTime(), summary.getCreateTime()); - Assert.assertEquals( - retrievedSummary.getOverallValidationResult(), - summary.getOverallValidationResult() - ); - Assert.assertEquals(retrievedSummary.getValidations(), summary.getValidations()); - - SupplyChainValidation failedValidation = null; - for (SupplyChainValidation validation : retrievedSummary.getValidations()) { - if (validation.getResult() != AppraisalStatus.Status.PASS) { - failedValidation = validation; - break; - } - } - - Assert.assertNotNull(failedValidation); - Assert.assertEquals( - failedValidation.getCertificatesUsed(), - certificates - ); - - } - - private SupplyChainValidationSummary getTestSummary( - final int numberOfValidations, - final int numFail, - final List certificates - ) { - SupplyChainValidation.ValidationType[] validationTypes = - SupplyChainValidation.ValidationType.values(); - - if (numberOfValidations > validationTypes.length) { - throw new IllegalArgumentException(String.format( - "Cannot have more than %d validation types", - validationTypes.length - )); - } - - if (numFail > numberOfValidations) { - throw new IllegalArgumentException(String.format( - "Cannot have more than %d failed validations", - validationTypes.length - )); - } - - List validations = new ArrayList<>(); - for (int i = 0; i < numberOfValidations; i++) { - boolean successful = true; - if (i >= (numberOfValidations - numFail)) { - successful = false; - } - - AppraisalStatus.Status result = AppraisalStatus.Status.FAIL; - if (successful) { - result = AppraisalStatus.Status.PASS; - } - - validations.add(SupplyChainValidationTest.getTestSupplyChainValidation( - validationTypes[i], - result, - certificates - )); - } - - return new SupplyChainValidationSummary(device, validations); - } -} diff --git a/HIRS_Utils/src/test/java/hirs/persist/CertificateSelectorTest.java b/HIRS_Utils/src/test/java/hirs/persist/CertificateSelectorTest.java index 5fe01179..5752e318 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/CertificateSelectorTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/CertificateSelectorTest.java @@ -1,6 +1,5 @@ package hirs.persist; -import hirs.data.persist.SpringPersistenceTest; import hirs.data.persist.certificate.CertificateAuthorityCredential; import org.springframework.util.Assert; import org.testng.annotations.BeforeClass; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBAppraiserManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBAppraiserManagerTest.java index d2733b51..a86b8ed0 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBAppraiserManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBAppraiserManagerTest.java @@ -4,7 +4,6 @@ import hirs.appraiser.Appraiser; import hirs.appraiser.IMAAppraiser; import hirs.appraiser.TPMAppraiser; import hirs.appraiser.TestAppraiser; -import hirs.data.persist.SpringPersistenceTest; import org.hibernate.Session; import org.hibernate.query.Query; import org.testng.Assert; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBCertificateManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBCertificateManagerTest.java index 8ba5e1cd..3734f344 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBCertificateManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBCertificateManagerTest.java @@ -2,7 +2,6 @@ package hirs.persist; import hirs.data.persist.Device; import hirs.data.persist.DeviceGroup; -import hirs.data.persist.SpringPersistenceTest; import hirs.data.persist.certificate.Certificate; import hirs.data.persist.certificate.CertificateAuthorityCredential; import hirs.data.persist.certificate.CertificateTest; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceGroupManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBDeviceGroupManagerTest.java index 7f91ab80..af8bb2c2 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceGroupManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBDeviceGroupManagerTest.java @@ -11,7 +11,6 @@ import java.util.HashSet; import java.util.Set; import java.util.UUID; -import hirs.data.persist.SpringPersistenceTest; import hirs.data.persist.TestPolicy; import org.apache.logging.log4j.Logger; import org.apache.logging.log4j.LogManager; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBDeviceManagerTest.java index f1b584eb..6fdbbb6c 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBDeviceManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBDeviceManagerTest.java @@ -14,7 +14,6 @@ import hirs.data.persist.DeviceInfoReport; import hirs.data.persist.DeviceTest; import hirs.data.persist.enums.HealthStatus; import hirs.data.persist.info.NetworkInfo; -import hirs.data.persist.SpringPersistenceTest; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBManagerTest.java index f83debeb..585b1e3a 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBManagerTest.java @@ -1,7 +1,6 @@ package hirs.persist; import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; -import hirs.data.persist.SpringPersistenceTest; import org.hibernate.LazyInitializationException; import org.hibernate.StaleObjectStateException; import org.hibernate.exception.LockAcquisitionException; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBPolicyManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBPolicyManagerTest.java index 4be8ed70..4dd88529 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBPolicyManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBPolicyManagerTest.java @@ -6,7 +6,6 @@ import hirs.data.persist.Device; import hirs.data.persist.DeviceGroup; import hirs.data.persist.DeviceTest; import hirs.data.persist.Policy; -import hirs.data.persist.SpringPersistenceTest; import hirs.data.persist.TestPolicy; import hirs.data.persist.TestPolicy2; import org.apache.logging.log4j.LogManager; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBPortalInfoManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBPortalInfoManagerTest.java index ffe91208..28d5baeb 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBPortalInfoManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBPortalInfoManagerTest.java @@ -6,7 +6,6 @@ import java.util.Collections; import java.util.HashMap; import java.util.Map; -import hirs.data.persist.SpringPersistenceTest; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; import hirs.data.persist.info.PortalInfo; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBReportRequestStateManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBReportRequestStateManagerTest.java index 10a56f75..e48c37f4 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBReportRequestStateManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBReportRequestStateManagerTest.java @@ -3,7 +3,6 @@ package hirs.persist; import hirs.data.persist.Device; import hirs.data.persist.DeviceGroup; import hirs.data.persist.ReportRequestState; -import hirs.data.persist.SpringPersistenceTest; import hirs.data.persist.type.ReportRequestType; import org.testng.Assert; diff --git a/HIRS_Utils/src/test/java/hirs/persist/DBReportSummaryManagerTest.java b/HIRS_Utils/src/test/java/hirs/persist/DBReportSummaryManagerTest.java index aa7a35aa..dfb7114a 100644 --- a/HIRS_Utils/src/test/java/hirs/persist/DBReportSummaryManagerTest.java +++ b/HIRS_Utils/src/test/java/hirs/persist/DBReportSummaryManagerTest.java @@ -6,7 +6,6 @@ import hirs.data.persist.AppraisalResult; import hirs.data.persist.AppraisalStatus; import hirs.data.persist.ReportSummary; -import hirs.data.persist.SpringPersistenceTest; import org.apache.commons.lang3.RandomStringUtils; import org.testng.Assert; import org.testng.annotations.AfterClass; diff --git a/build.gradle b/build.gradle index a5d96474..78ea8579 100644 --- a/build.gradle +++ b/build.gradle @@ -137,11 +137,15 @@ subprojects { reflections: 'org.reflections:reflections:0.10.2', servlet_api: 'javax.servlet:javax.servlet-api:4.0.1', slf4j: 'org.slf4j:slf4j-api:1.7.36', - spring_core: ['org.springframework:spring-aop:5.3.19', - 'org.springframework:spring-beans:5.3.19', - 'org.springframework:spring-context:5.3.19', - 'org.springframework:spring-expression:5.3.19', - 'org.springframework:spring-orm:5.3.19'], + spring_core: ['org.springframework:spring-aop:5.3.22', + 'org.springframework:spring-beans:5.3.22', + 'org.springframework:spring-context:5.3.22', + 'org.springframework:spring-expression:5.3.22', + 'org.springframework:spring-orm:5.3.22'], + spring_boot: ['org.springframework:spring-boot-starter-web: 2.6.10', + 'org.springframework:spring-boot-starter-thymeleaf: 2.6.10', + 'org.springframework:spring-boot-starter-data-jpa: 2.6.10'], + spring_data: ['org.springframework.data:spring-data-jpa:2.7.2'], spring_msg: 'org.springframework:spring-messaging:5.3.19', spring_plugin: 'org.springframework.plugin:spring-plugin-core:2.0.0.RELEASE', spring_retry: 'org.springframework.retry:spring-retry:1.3.2',