From f5a6eccd6f01356a0e24749b7ac46a9fb726f039 Mon Sep 17 00:00:00 2001
From: Cyrus <24922493+cyrus-dev@users.noreply.github.com>
Date: Fri, 18 Nov 2022 16:04:57 -0500
Subject: [PATCH] updated some more and removed managers

---
 .../AppraisalResultSerializer.java            |   2 +-
 .../attestationca/entity/AppraisalResult.java |   2 +-
 .../servicemanager/DBDeviceManager.java       | 312 ------------------
 .../servicemanager/DBPortalInfoManager.java   | 159 ---------
 .../servicemanager/DBReportManager.java       | 195 -----------
 .../DBReportRequestStateManager.java          | 101 ------
 6 files changed, 2 insertions(+), 769 deletions(-)
 rename {HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal => HIRS_AttestationCA/src/main/java/hirs/attestationca}/AppraisalResultSerializer.java (96%)
 delete mode 100644 HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceManager.java
 delete mode 100644 HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPortalInfoManager.java
 delete mode 100755 HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportManager.java
 delete mode 100644 HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportRequestStateManager.java

diff --git a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/AppraisalResultSerializer.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/AppraisalResultSerializer.java
similarity index 96%
rename from HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/AppraisalResultSerializer.java
rename to HIRS_AttestationCA/src/main/java/hirs/attestationca/AppraisalResultSerializer.java
index 9744d70b..dd639e48 100644
--- a/HIRS_AttestationCAPortal/src/main/java/hirs/attestationca/portal/AppraisalResultSerializer.java
+++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/AppraisalResultSerializer.java
@@ -1,4 +1,4 @@
-package hirs.attestationca.portal;
+package hirs.attestationca;
 
 import com.fasterxml.jackson.core.JsonGenerator;
 import com.fasterxml.jackson.databind.JsonSerializer;
diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/entity/AppraisalResult.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/entity/AppraisalResult.java
index 89f51cb3..2c152368 100644
--- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/entity/AppraisalResult.java
+++ b/HIRS_AttestationCA/src/main/java/hirs/attestationca/entity/AppraisalResult.java
@@ -1,8 +1,8 @@
 package hirs.attestationca.entity;
 
 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import hirs.AppraisalResultSerializer;
 import hirs.appraiser.Appraiser;
+import hirs.attestationca.AppraisalResultSerializer;
 import hirs.data.persist.AbstractEntity;
 import hirs.data.persist.AppraisalStatus;
 
diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceManager.java
deleted file mode 100644
index bf3cdfb8..00000000
--- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBDeviceManager.java
+++ /dev/null
@@ -1,312 +0,0 @@
-package hirs.attestationca.servicemanager;
-
-import hirs.FilteredRecordsList;
-import hirs.attestationca.entity.Device;
-import hirs.persist.CriteriaModifier;
-import hirs.persist.DBManagerException;
-import hirs.persist.DeviceManagerException;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.hibernate.Criteria;
-import org.hibernate.HibernateException;
-import org.hibernate.Session;
-import org.hibernate.Transaction;
-import org.hibernate.query.Query;
-import org.springframework.stereotype.Service;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.CriteriaQuery;
-import javax.persistence.criteria.JoinType;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * This class defines a <code>DeviceManager</code> that stores the devices
- * in a database.
- */
-@Service
-public class DBDeviceManager extends DBManager<Device> implements
-        DeviceManager {
-
-    private static final Logger LOGGER = LogManager.getLogger();
-
-    /**
-     * Creates a new <code>DBDeviceManager</code> that uses the default
-     * database. The default database is used to store all of the
-     * <code>Device</code>s.
-     *
-     * @param em entity manager used to access database connections
-     */
-    public DBDeviceManager(final EntityManager em) {
-        super(Device.class, em);
-    }
-
-    /**
-     * Saves the <code>Device</code> in the database. This creates a new
-     * database session and saves the device. If the <code>Device</code> had
-     * previously been saved then a <code>DeviceManagerException</code> is
-     * thrown.
-     *
-     * @param device
-     *            device to save
-     * @return reference to saved device
-     * @throws hirs.persist.DeviceManagerException
-     *             if device has previously been saved or an error occurs
-     *             while trying to save it to the database
-     */
-    @Override
-    public final Device saveDevice(final Device device)
-            throws DeviceManagerException {
-        LOGGER.debug("saving device: {}", device);
-        try {
-            return super.save(device);
-        } catch (DBManagerException e) {
-            throw new DeviceManagerException(e);
-        }
-    }
-
-    /**
-     * Updates a <code>Device</code>. This updates the database entries to
-     * reflect the new values that should be set.
-     *
-     * @param device
-     *            device
-     * @throws DeviceManagerException
-     *             if device has not previously been saved or an error occurs
-     *             while trying to save it to the database
-     */
-    @Override
-    public final void updateDevice(final Device device)
-            throws DeviceManagerException {
-        LOGGER.debug("updating device: {}", device);
-        try {
-            super.update(device);
-        } catch (DBManagerException e) {
-            throw new DeviceManagerException(e);
-        }
-    }
-
-    /**
-     * Updates list of <code>Device</code>s. This updates the database entries
-     * to reflect the new values that should be set.  Commonly used when
-     * deleting a DeviceGroup.
-     *
-     * @param deviceList
-     *            list of devices that should be updated in single transaction
-     * @throws DeviceManagerException
-     *             if device has not previously been saved or an error occurs
-     *             while trying to save it to the database
-     */
-    @Override
-    public final void updateDeviceList(final Set<Device> deviceList)
-            throws DeviceManagerException {
-        LOGGER.debug("updating all devices in list");
-
-        Session session = getSession();
-        Transaction tx = session.beginTransaction();
-        try {
-            for (final Device device : deviceList) {
-                session.merge(device);
-            }
-            session.getTransaction().commit();
-        } catch (Exception e) {
-            final String msg = "unable to update all devices in list";
-            LOGGER.error(msg, e);
-            LOGGER.debug("rolling back transaction");
-            tx.rollback();
-            throw new DBManagerException(msg, e);
-        }
-    }
-
-    /**
-     * Returns a list of all <code>Devices</code>. This searches through
-     * the database for this information.
-     *
-     * @return list of <code>Devices</code>
-     * @throws DeviceManagerException
-     *             if unable to search the database
-     */
-    @Override
-    public final Set<Device> getDeviceList() throws DeviceManagerException {
-        LOGGER.debug("getting device list");
-
-        try {
-            final List<Device> devices = super.getList(Device.class);
-            return new HashSet<>(devices);
-        } catch (DBManagerException e) {
-            throw new DeviceManagerException(e);
-        }
-    }
-
-    /**
-     * Returns a list of all <code>Device</code> names. This searches through
-     * the database for this information.
-     *
-     * @return list of <code>Device</code> names
-     * @throws DeviceManagerException
-     *             if unable to search the database
-     */
-    @Override
-    public final List<String> getDeviceNameList()
-            throws DeviceManagerException {
-        LOGGER.debug("getting device list");
-        List<String> deviceNames = new LinkedList<>();
-        try {
-            final List<Device> devices = super.getList(Device.class);
-            for (Device b : devices) {
-                deviceNames.add(b.getName());
-            }
-        } catch (DBManagerException e) {
-            throw new DeviceManagerException(e);
-        }
-        return deviceNames;
-    }
-
-    /**
-     * Returns a list of all <code>Device</code>s that are ordered by a column
-     * and direction (ASC, DESC) that is provided by the user.  This method
-     * helps support the server-side processing in the JQuery DataTables.
-     *
-     * @param columnToOrder Column to be ordered
-     * @param ascending direction of sort
-     * @param firstResult starting point of first result in set
-     * @param maxResults total number we want returned for display in table
-     * @param search string of criteria to be matched to visible columns
-     *
-     * @return FilteredRecordsList object with fields for DataTables
-     * @throws DeviceManagerException
-     *          if unable to create the list
-     */
-    @Override
-    public final FilteredRecordsList<Device> getOrderedDeviceList(
-            final String columnToOrder, final boolean ascending, final int firstResult,
-            final int maxResults, final String search)
-            throws DeviceManagerException {
-
-        if (columnToOrder == null) {
-            LOGGER.debug("null object argument");
-            throw new NullPointerException("object");
-        }
-
-        //Maps object types and their ability to be searched by Hibernate
-        //without modification
-        Map<String, Boolean> searchableColumns = new HashMap<>();
-        searchableColumns.put("name", true);
-        searchableColumns.put("group.name", true);
-        searchableColumns.put("last_report_timestamp", false);
-
-        CriteriaModifier modifier = new CriteriaModifier() {
-            @Override
-            public void modify(final Criteria criteria) {
-                criteria.createAlias("deviceGroup", "group");
-            }
-        };
-
-        try {
-            LOGGER.debug("Getting baseline list");
-            return super.getOrderedList(Device.class, columnToOrder, ascending, firstResult,
-                    maxResults, search, searchableColumns, modifier);
-        } catch (DBManagerException e) {
-            LOGGER.error(e);
-            return null;
-        }
-    }
-    /**
-     * Retrieves the <code>Device</code> from the database. This searches the
-     * database for an entry whose name matches <code>name</code>. It then
-     * reconstructs a <code>Device</code> object from the database entry
-     *
-     * @param name
-     *            name of the device
-     * @return device if found, otherwise null.
-     * @throws DeviceManagerException
-     *             if unable to search the database or recreate the
-     *             <code>Device</code>
-     */
-    @Override
-    public final Device getDevice(final String name)
-            throws DeviceManagerException {
-        LOGGER.debug("getting device: {}", name);
-        try {
-            return super.get(name);
-        } catch (DBManagerException e) {
-            throw new DeviceManagerException(e);
-        }
-    }
-
-    /**
-     * Used to produce a list of all <code>Device</code>s associated with the Default Group.
-     *
-     * @return list of Devices that are part of the Default Group
-     * @throws DeviceManagerException
-     *      if unable to find the device or delete it from the database
-     */
-    @Override
-    public final List<Device> getDefaultDevices() throws DeviceManagerException {
-        Transaction tx = null;
-
-        Session session = getSession();
-        List<Device> devices = new ArrayList<>();
-        try {
-            LOGGER.debug("retrieving defaults devices from db");
-            tx = session.beginTransaction();
-
-            CriteriaBuilder criteriaBuilder = session.getCriteriaBuilder();
-            CriteriaQuery<Device> criteriaQuery = criteriaBuilder.createQuery(Device.class);
-            Root<Device> root = criteriaQuery.from(Device.class);
-            root.join("group.name", JoinType.LEFT).alias("group");
-            Predicate recordPredicate = criteriaBuilder
-                    .and(criteriaBuilder.equal(root.get("group.name"), "Default Group"));
-            criteriaQuery.select(root).where(recordPredicate).distinct(true);
-            Query<Device> query = session.createQuery(criteriaQuery);
-            List<Device> results = query.getResultList();
-            if (results != null) {
-                devices.addAll(results);
-            }
-//            List list = session.createCriteria(Device.class).createAlias("deviceGroup", "group")
-//                    .add(Restrictions.eq("group.name", DeviceGroup.DEFAULT_GROUP))
-//                    .setResultTransformer(Criteria.DISTINCT_ROOT_ENTITY)
-//                    .list();
-
-            tx.commit();
-        } catch (HibernateException e) {
-            final String msg = "unable to retrieve default devices";
-            LOGGER.error(msg, e);
-            if (tx != null) {
-                LOGGER.debug("rolling back transaction");
-                tx.rollback();
-            }
-            throw e;
-        }
-
-        return devices;
-    }
-
-    /**
-     * Deletes the <code>Device</code> from the database. This removes all
-     * of the database entries that stored information with regards to the
-     * <code>Device</code> with a foreign key relationship.
-     *
-     * @param name of the device to be deleted
-     * @return true if successfully found and deleted, false if otherwise
-     */
-    @Override
-    public final boolean deleteDevice(final String name)
-            throws DeviceManagerException {
-        LOGGER.debug("deleting device: {}", name);
-        try {
-            return super.delete(name);
-        } catch (DBManagerException e) {
-            throw new DeviceManagerException(e);
-        }
-    }
-
-}
diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPortalInfoManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPortalInfoManager.java
deleted file mode 100644
index 034b6e11..00000000
--- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBPortalInfoManager.java
+++ /dev/null
@@ -1,159 +0,0 @@
-package hirs.attestationca.servicemanager;
-
-import hirs.data.persist.enums.PortalScheme;
-import hirs.data.persist.info.PortalInfo;
-import hirs.persist.DBManagerException;
-import hirs.persist.PortalInfoManagerException;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.springframework.stereotype.Service;
-
-import javax.persistence.EntityManager;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-/**
- * A <code>DBPortalInfoManager</code> is a service (extends <code>DBManager</code>) that
- * implements the <code>PortalInfoManager</code> that stores and retrieves Portal Info objects.
- */
-@Service
-public class DBPortalInfoManager extends DBManager<PortalInfo> implements PortalInfoManager {
-
-    private static final Logger LOGGER = LogManager.getLogger(DBPortalInfoManager.class);
-
-    /**
-     * Creates a new <code>DBPortalInfoManager</code>. The optional SessionFactory parameter is
-     * used to manage sessions with a hibernate db.
-     *
-     * @param em a hibernate session
-     */
-    public DBPortalInfoManager(final EntityManager em) {
-        super(PortalInfo.class, em);
-    }
-
-    /**
-     * Saves the <code>PortalInfo</code> in the database. This creates a new database
-     * session and saves the PortalInfo. If the <code>PortalInfo</code> had previously
-     * been saved then a <code>PortalInfoManagerException</code> is thrown.
-     *
-     * @param info PortalInfo to save
-     * @return reference to saved PortalInfo
-     * @throws hirs.persist.PortalInfoManagerException if PortalInfo has previously been saved or an
-     * error occurs while trying to save it to the database
-     */
-    @Override
-    public final PortalInfo savePortalInfo(final PortalInfo info)
-            throws PortalInfoManagerException {
-        LOGGER.debug("saving Portal Info {}", info);
-        try {
-            return super.save(info);
-        } catch (DBManagerException e) {
-            throw new PortalInfoManagerException(e);
-        }
-    }
-
-    /**
-     * Updates a <code>PortalInfo</code>. This updates the database entries to reflect the new
-     * values that should be set.
-     *
-     * @param info PortalInfo
-     * @throws PortalInfoManagerException if PortalInfo has not previously been saved or
-     * an error occurs while trying to save it to the database
-     */
-    @Override
-    public final void updatePortalInfo(final PortalInfo info)
-            throws PortalInfoManagerException {
-        LOGGER.debug("updating Portal Info: {}", info);
-        try {
-            super.update(info);
-        } catch (DBManagerException e) {
-            throw new PortalInfoManagerException(e);
-        }
-    }
-
-    /**
-     * Retrieves the <code>PortalInfo</code> from the database. This searches the database for an
-     * entry whose name matches <code>name</code>. It then reconstructs a <code>PortalInfo</code>
-     * object from the database entry.
-     *
-     * @param scheme PortalInfo.Scheme of the PortalInfo
-     * @return PortalInfo if found, otherwise null.
-     * @throws PortalInfoManagerException if unable to search the database or recreate the
-     * <code>PortalInfo</code>
-     */
-    @Override
-    public final PortalInfo getPortalInfo(final PortalScheme scheme)
-            throws PortalInfoManagerException {
-        LOGGER.debug("getting Portal Info: {}", scheme.name());
-        try {
-            return super.get(scheme.name());
-        } catch (DBManagerException e) {
-            throw new PortalInfoManagerException(e);
-        }
-    }
-
-    /**
-     * Deletes the <code>PortalInfo</code> from the database. This removes all of the database
-     * entries that stored information with regards to the this <code>PortalInfo</code>.
-     * Currently, iterates over <code>Policy</code> entries and removes the selected
-     * <code>PortalInfo</code> from them if it exists. This needs to be fixed as this should not
-     * be performed without user action. Update is expected soon.
-     *
-     * @param scheme PortalInfo.Scheme of the <code>PortalInfo</code> to delete
-     * @return true if successfully found and deleted <code>PortalInfo</code>
-     * @throws PortalInfoManagerException if unable to find the PortalInfo or delete it
-     * from the database
-     */
-    @Override
-    public final boolean deletePortalInfo(final PortalScheme scheme)
-            throws PortalInfoManagerException {
-        LOGGER.debug("deleting Portal Info: {}", scheme.name());
-        try {
-            return super.delete(scheme.name());
-        } catch (DBManagerException e) {
-            throw new PortalInfoManagerException(e);
-        }
-    }
-
-    /**
-     * Retrieve the <code>PortalInfo</code> object stored into the repo
-     * and return the url it represents.
-     *
-     * @return the URL represented by the <code>PortalInfo</code> object.
-     */
-    @Override
-    public final String getPortalUrlBase() {
-        PortalInfo info;
-
-        try {
-            // Prefer HIRS to use HTTPS, but check HTTP if needed
-            info = getPortalInfo(PortalScheme.HTTPS);
-            if (info == null) {
-                info = getPortalInfo(PortalScheme.HTTP);
-            }
-        } catch (Exception e) {
-            info = null;
-        }
-
-        // The default base url
-        String url = "Your_HIRS_Portal/";
-
-        try {
-            if (info != null && info.getIpAddress() != null) {
-                String context = "/";
-                if (info.getContextName() != null) {
-                    context += info.getContextName() + "/";
-                }
-                URI uri = new URI(info.getSchemeName().toLowerCase(), null,
-                        info.getIpAddress().getHostName(), info.getPort(),
-                        context, null, null);
-                url = uri.toString();
-            }
-        } catch (URISyntaxException e) {
-            LOGGER.error("DBPortalInfoManager.getPortalUrlBase():"
-                    + " Could not create the URI. Returning the default.");
-        }
-
-        return url;
-    }
-}
diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportManager.java
deleted file mode 100755
index 6d9f7bf3..00000000
--- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportManager.java
+++ /dev/null
@@ -1,195 +0,0 @@
-package hirs.attestationca.servicemanager;
-
-import hirs.data.persist.Report;
-import hirs.persist.DBManagerException;
-import hirs.persist.ReportManagerException;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.logging.log4j.Logger;
-import org.hibernate.criterion.Conjunction;
-import org.hibernate.criterion.Disjunction;
-import org.hibernate.criterion.MatchMode;
-import org.hibernate.criterion.Restrictions;
-import org.springframework.stereotype.Service;
-
-import javax.persistence.EntityManager;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import static org.apache.logging.log4j.LogManager.getLogger;
-import static org.hibernate.criterion.Restrictions.ilike;
-
-/**
- * This class defines a <code>ReportManager</code> that stores the reports in a
- * database.
- */
-@Service
-public class DBReportManager extends DBManager<Report> implements ReportManager {
-    private static final Logger LOGGER = getLogger(DBReportManager.class);
-
-    /**
-     * Creates a new <code>DBReportManager</code> that uses the provided sessionFactory
-     * to interact with a database.
-     *
-     * @param em entity manager used to access database connections
-     */
-    public DBReportManager(final EntityManager em) {
-        super(Report.class, em);
-    }
-
-    /**
-     * Saves the <code>Report</code> in the database and returns it.
-     *
-     * @param report
-     *            report to save
-     * @return <code>Report</code> that was saved
-     * @throws hirs.persist.DBManagerException
-     *             if Report has previously been saved or an error occurs while
-     *             trying to save it to the database
-     */
-    @Override
-    public final Report saveReport(final Report report)
-            throws DBManagerException {
-        LOGGER.debug("Saving report: {}", report);
-        try {
-            return super.save(report);
-        } catch (DBManagerException e) {
-            throw new ReportManagerException(e);
-        }
-    }
-
-    /**
-     * Returns a list of all <code>Report</code>s of type <code>clazz</code>.
-     * This searches through the database for this information.
-     *
-     * All Reports will be returned without measurement records as they are
-     * lazily loaded for performance.  If the records of a report are necessary,
-     * a method will need to be written to return the records inside of a
-     * transaction.
-     *
-     * @param clazz
-     *            class type of <code>Report</code>s to return (may be null)
-     * @return list of <code>Report</code>s
-     * @throws ReportManagerException
-     *             if unable to search the database
-     */
-    @Override
-    public final List<Report> getReportList(final Class<?
-            extends Report> clazz)
-            throws ReportManagerException {
-        LOGGER.debug("getting report list");
-        try {
-            //super.getList(Report);
-            return null;
-        } catch (DBManagerException e) {
-            throw new ReportManagerException(e);
-        }
-    }
-
-    /**
-     * Retrieves the <code>Report</code> from the database. This searches the
-     * database for an entry whose id matches <code>id</code>. It then
-     * reconstructs a <code>Report</code> object from the database entry.
-     *
-     * Note: <code>IMAMeasurementRecords</code> are lazily loaded so the object
-     * returned will not contain them for performance purposes.  If the whole
-     * report needs to be retrieved a method will need to be written to return
-     * the records inside of a transaction.
-     *
-     * @param id  id of the report
-     * @return report
-     * @throws ReportManagerException
-     *             if unable to search the database or recreate the <code>Report</code>
-     */
-    @Override
-    public final Report getReport(final UUID id) throws ReportManagerException {
-        LOGGER.debug("getting report: {}", id);
-        try {
-            return super.get(id);
-        } catch (DBManagerException e) {
-            throw new ReportManagerException(e);
-        }
-    }
-
-    @Override
-    public final Report getCompleteReport(final UUID  id) throws ReportManagerException {
-        LOGGER.debug("getting full report: {}", id);
-        try {
-            return super.getAndLoadLazyFields(id, true);
-        } catch (DBManagerException e) {
-            throw new ReportManagerException(e);
-        }
-    }
-
-    /**
-     * Updates a <code>Report</code>. This updates the database entries
-     * to reflect the new values that should be set.
-     *
-     * @param report
-     *             report to be updated
-     * @throws ReportManagerException
-     *             if Report an error occurs while updating the report or
-     *             while trying to save it to the database
-     */
-    @Override
-    public void updateReport(final Report report) throws ReportManagerException {
-        LOGGER.debug("updating report: {}", report);
-        try {
-            super.update(report);
-        } catch (DBManagerException e) {
-            throw new ReportManagerException(e);
-        }
-    }
-
-    /**
-     * Deletes the <code>Report</code> from the database. This removes all of
-     * the database entries that stored information with regards to the this
-     * <code>Report</code>.
-     * <p>
-     * If the <code>Report</code> is referenced by any other tables then this
-     * will throw a <code>ReportManagerException</code>.
-     *
-     * @param id
-     *            id of the <code>Report</code> to delete
-     * @return true if successfully found and deleted the <code>Report</code>
-     * @throws ReportManagerException
-     *             if unable to find the baseline or delete it from the
-     *             database
-     */
-    @Override
-    public final boolean deleteReport(final UUID id)
-            throws ReportManagerException {
-        LOGGER.debug("deleting baseline: {}", id);
-        try {
-            return false; //super.delete(id);
-        } catch (DBManagerException e) {
-            throw new ReportManagerException(e);
-        }
-    }
-
-    private Conjunction buildImaRecordSearchFilter(final String search, final
-    Map<String, Boolean> searchableColumns) {
-        // Search for all words in all searchable columns
-        Conjunction and = Restrictions.conjunction();
-        String[] searchWords = StringUtils.split(search);
-        for (String word : searchWords) {
-            // Every word must be in at least one column
-            Disjunction or = Restrictions.disjunction();
-            for (Map.Entry<String, Boolean> entry
-                    : searchableColumns.entrySet()) {
-                if (entry.getValue()) {
-                    if (entry.getKey().equals("digest")) {
-                        or.add(ilikeHex("digest", word));
-                    } else {
-                        or.add(ilike(entry.getKey(), word,
-                                MatchMode.ANYWHERE));
-                    }
-                } else {
-                    or.add(ilikeCast(entry.getKey(), word));
-                }
-            }
-            and.add(or);
-        }
-        return and;
-    }
-}
diff --git a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportRequestStateManager.java b/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportRequestStateManager.java
deleted file mode 100644
index 74e6511b..00000000
--- a/HIRS_AttestationCA/src/main/java/hirs/attestationca/servicemanager/DBReportRequestStateManager.java
+++ /dev/null
@@ -1,101 +0,0 @@
-package hirs.attestationca.servicemanager;
-
-import hirs.attestationca.entity.Device;
-import hirs.attestationca.entity.ReportRequestState;
-import org.apache.logging.log4j.LogManager;
-import org.apache.logging.log4j.Logger;
-import org.springframework.stereotype.Service;
-
-import javax.persistence.EntityManager;
-import javax.persistence.criteria.CriteriaBuilder;
-import javax.persistence.criteria.Predicate;
-import javax.persistence.criteria.Root;
-import java.util.Collections;
-import java.util.Date;
-import java.util.List;
-
-/**
- * This class defines a <code>ReportRequestStateManager</code> that stores ReportRequestStates in a
- * database.
- */
-@Service
-public class DBReportRequestStateManager extends DBManager<ReportRequestState>
-        implements ReportRequestStateManager {
-    private static final Logger LOGGER = LogManager.getLogger(DBReportRequestStateManager.class);
-
-    /**
-     * Creates a new <code>DBReportRequestStateManager</code> that uses the default database. The
-     * default database is used to store all of the <code>ReportRequestState</code>s.
-     *
-     * @param em entity manager used to access database connections
-     */
-    public DBReportRequestStateManager(final EntityManager em) {
-        super(ReportRequestState.class, em);
-    }
-
-    /**
-     * Retrieves the state of a device, if the device and state exists.
-     *
-     * @param device the Device whose state should be retrieved
-     * @return the associated ReportRequestState, or null if no associated state was found
-     */
-    @Override
-    public final ReportRequestState getState(final Device device) {
-        CriteriaBuilder builder = this.getSession().getCriteriaBuilder();
-        Root<ReportRequestState> root = builder.createQuery(ReportRequestState.class)
-                .from(ReportRequestState.class);
-
-        Predicate predicate = builder.equal(root.get("device"), device);
-        List<ReportRequestState> results = getWithCriteria(Collections.singletonList(predicate));
-        if (results.isEmpty()) {
-            return null;
-        } else {
-            LOGGER.debug("Retrieved ReportRequestState: {}", results.get(0));
-            return results.get(0);
-        }
-    }
-
-    /**
-     * Return a Collection of all persisted ReportRequestStates in the database.
-     *
-     * @return the Collection of all persisted ReportRequestStates
-     */
-    @Override
-    public final List<ReportRequestState> getLateDeviceStates() {
-        CriteriaBuilder builder = this.getSession().getCriteriaBuilder();
-        Root<ReportRequestState> root = builder.createQuery(ReportRequestState.class)
-                .from(ReportRequestState.class);
-
-        Predicate predicate = builder.lessThanOrEqualTo(root.get("dueDate"), new Date());
-        return getWithCriteria(Collections.singletonList(predicate));
-    }
-
-    /**
-     * Saves the given state to the database. The associated Device must be saved prior to saving
-     * the state.
-     *
-     * @param state the state to save
-     * @return the saved copy of the state
-     */
-    @Override
-    public final ReportRequestState saveState(final ReportRequestState state) {
-        if (state.getId() == null) {
-            return save(state);
-        } else {
-            update(state);
-            ReportRequestState updatedState = getState(state.getDevice());
-            LOGGER.debug("Updated ReportRequestState: {}", updatedState);
-            return updatedState;
-        }
-    }
-
-    /**
-     * Deletes the given {@link ReportRequestState} from the database.
-     *
-     * @param state the ReportRequestState instance to delete
-     */
-    @Override
-    public final void deleteState(final ReportRequestState state) {
-        delete(state.toString()); // cyrus-dev
-    }
-}