Resolved all non-unit test code errors

This commit is contained in:
Cyrus 2022-08-09 06:03:48 -04:00
parent 4e70141df0
commit 8a8fca726c
20 changed files with 90 additions and 68 deletions

View File

@ -6,7 +6,7 @@ import hirs.attestationca.configuration.provisionerTpm2.ProvisionerTpm2;
import hirs.attestationca.exceptions.CertificateProcessingException;
import hirs.attestationca.exceptions.IdentityProcessingException;
import hirs.attestationca.exceptions.UnexpectedServerException;
import hirs.attestationca.service.SupplyChainValidationService;
import hirs.attestationca.validation.SupplyChainValidationService;
import hirs.data.persist.AppraisalStatus;
import hirs.data.persist.BaseReferenceManifest;
import hirs.data.persist.Device;
@ -30,9 +30,9 @@ import hirs.data.persist.policy.SupplyChainPolicy;
import hirs.data.service.DeviceRegister;
import hirs.persist.DeviceManager;
import hirs.persist.ReferenceEventManager;
import hirs.persist.ReferenceManifestManager;
import hirs.persist.TPM2ProvisionerState;
import hirs.persist.service.CertificateService;
import hirs.persist.service.ReferenceManifestService;
import hirs.structs.converters.SimpleStructBuilder;
import hirs.structs.converters.StructConverter;
import hirs.structs.elements.aca.IdentityRequestEnvelope;
@ -175,7 +175,7 @@ public abstract class AbstractAttestationCertificateAuthority
private Integer validDays = 1;
private final CertificateService certificateService;
private final ReferenceManifestManager referenceManifestManager;
private final ReferenceManifestService referenceManifestService;
private final DeviceRegister deviceRegister;
private final DeviceManager deviceManager;
private final ReferenceEventManager referenceEventManager;
@ -189,7 +189,7 @@ public abstract class AbstractAttestationCertificateAuthority
* @param acaCertificate the ACA certificate
* @param structConverter the struct converter
* @param certificateService the certificate service
* @param referenceManifestManager the Reference Manifest manager
* @param referenceManifestService the Reference Manifest service
* @param deviceRegister the device register
* @param validDays the number of days issued certs are valid
* @param deviceManager the device manager
@ -201,7 +201,7 @@ public abstract class AbstractAttestationCertificateAuthority
final PrivateKey privateKey, final X509Certificate acaCertificate,
final StructConverter structConverter,
final CertificateService certificateService,
final ReferenceManifestManager referenceManifestManager,
final ReferenceManifestService referenceManifestService,
final DeviceRegister deviceRegister, final int validDays,
final DeviceManager deviceManager,
final ReferenceEventManager referenceEventManager) {
@ -210,7 +210,7 @@ public abstract class AbstractAttestationCertificateAuthority
this.acaCertificate = acaCertificate;
this.structConverter = structConverter;
this.certificateService = certificateService;
this.referenceManifestManager = referenceManifestManager;
this.referenceManifestService = referenceManifestService;
this.deviceRegister = deviceRegister;
this.validDays = validDays;
this.deviceManager = deviceManager;
@ -796,7 +796,7 @@ public abstract class AbstractAttestationCertificateAuthority
if (dv.getLogfileCount() > 0) {
for (ByteString logFile : dv.getLogfileList()) {
try {
support = SupportReferenceManifest.select(referenceManifestManager)
support = SupportReferenceManifest.select(referenceManifestService)
.byHexDecHash(Hex.encodeHexString(messageDigest.digest(
logFile.toByteArray()))).includeArchived()
.getRIM();
@ -814,13 +814,14 @@ public abstract class AbstractAttestationCertificateAuthority
support.getHexDecHash().substring(
support.getHexDecHash().length() - NUM_OF_VARIABLES)));
support.setDeviceName(dv.getNw().getHostname());
this.referenceManifestManager.save(support);
this.referenceManifestService.saveRIM(support);
} else {
LOG.info("Client provided Support RIM already loaded in database.");
if (support.isArchived()) {
support.restore();
support.resetCreateTime();
this.referenceManifestManager.update(support);
this.referenceManifestService.updateReferenceManifest(support,
support.getId());
}
}
} catch (IOException ioEx) {
@ -838,7 +839,7 @@ public abstract class AbstractAttestationCertificateAuthority
if (dv.getSwidfileCount() > 0) {
for (ByteString swidFile : dv.getSwidfileList()) {
try {
dbBaseRim = BaseReferenceManifest.select(referenceManifestManager)
dbBaseRim = BaseReferenceManifest.select(referenceManifestService)
.byBase64Hash(Base64.getEncoder()
.encodeToString(messageDigest
.digest(swidFile.toByteArray())))
@ -850,7 +851,7 @@ public abstract class AbstractAttestationCertificateAuthority
defaultClientName),
swidFile.toByteArray());
dbBaseRim.setDeviceName(dv.getNw().getHostname());
this.referenceManifestManager.save(dbBaseRim);
this.referenceManifestService.saveRIM(dbBaseRim);
} else {
LOG.info("Client provided Base RIM already loaded in database.");
/**
@ -860,7 +861,8 @@ public abstract class AbstractAttestationCertificateAuthority
if (dbBaseRim.isArchived()) {
dbBaseRim.restore();
dbBaseRim.resetCreateTime();
this.referenceManifestManager.update(dbBaseRim);
this.referenceManifestService.updateReferenceManifest(dbBaseRim,
dbBaseRim.getId());
}
}
} catch (IOException ioEx) {
@ -874,7 +876,7 @@ public abstract class AbstractAttestationCertificateAuthority
//update Support RIMs and Base RIMs.
for (ByteString swidFile : dv.getSwidfileList()) {
dbBaseRim = BaseReferenceManifest.select(referenceManifestManager)
dbBaseRim = BaseReferenceManifest.select(referenceManifestService)
.byBase64Hash(Base64.getEncoder().encodeToString(messageDigest.digest(
swidFile.toByteArray()))).includeArchived()
.getRIM();
@ -893,7 +895,7 @@ public abstract class AbstractAttestationCertificateAuthority
// now update support rim
SupportReferenceManifest dbSupport = SupportReferenceManifest
.select(referenceManifestManager)
.select(referenceManifestService)
.byHexDecHash(swid.getHashValue()).getRIM();
if (dbSupport != null) {
dbSupport.setFileName(swid.getName());
@ -906,11 +908,13 @@ public abstract class AbstractAttestationCertificateAuthority
dbBaseRim.setAssociatedRim(dbSupport.getId());
dbSupport.setUpdated(true);
dbSupport.setAssociatedRim(dbBaseRim.getId());
this.referenceManifestManager.update(dbSupport);
this.referenceManifestService.updateReferenceManifest(dbSupport,
dbSupport.getId());
listOfSavedRims.add(dbSupport);
}
}
this.referenceManifestManager.update(dbBaseRim);
this.referenceManifestService.updateReferenceManifest(dbBaseRim,
dbBaseRim.getId());
listOfSavedRims.add(dbBaseRim);
}
}
@ -925,18 +929,18 @@ public abstract class AbstractAttestationCertificateAuthority
EventLogMeasurements temp = new EventLogMeasurements(fileName,
dv.getLivelog().toByteArray());
// find previous version.
measurements = EventLogMeasurements.select(referenceManifestManager)
measurements = EventLogMeasurements.select(referenceManifestService)
.byDeviceName(dv.getNw().getHostname())
.includeArchived()
.getRIM();
if (measurements != null) {
// Find previous log and delete it
referenceManifestManager.deleteReferenceManifest(measurements);
referenceManifestService.deleteRIM(measurements);
}
BaseReferenceManifest baseRim = BaseReferenceManifest
.select(referenceManifestManager)
.select(referenceManifestService)
.byManufacturerModelBase(dv.getHw().getManufacturer(),
dv.getHw().getProductName())
.getRIM();
@ -948,19 +952,19 @@ public abstract class AbstractAttestationCertificateAuthority
if (baseRim != null) {
measurements.setAssociatedRim(baseRim.getAssociatedRim());
}
this.referenceManifestManager.save(measurements);
this.referenceManifestService.saveRIM(measurements);
if (baseRim != null) {
// pull the base versions of the swidtag and rimel and set the
// event log hash for use during provision
SupportReferenceManifest sBaseRim = SupportReferenceManifest
.select(referenceManifestManager)
.select(referenceManifestService)
.byEntityId(baseRim.getAssociatedRim())
.getRIM();
baseRim.setEventLogHash(temp.getHexDecHash());
sBaseRim.setEventLogHash(temp.getHexDecHash());
referenceManifestManager.update(baseRim);
referenceManifestManager.update(sBaseRim);
referenceManifestService.updateReferenceManifest(baseRim, baseRim.getId());
referenceManifestService.updateReferenceManifest(sBaseRim, baseRim.getId());
}
} catch (IOException ioEx) {
LOG.error(ioEx);
@ -995,7 +999,7 @@ public abstract class AbstractAttestationCertificateAuthority
List<SupportReferenceManifest> supplementalRims = new ArrayList<>();
List<SupportReferenceManifest> patchRims = new ArrayList<>();
Set<SupportReferenceManifest> dbSupportRims = SupportReferenceManifest
.select(referenceManifestManager)
.select(referenceManifestService)
.byManufacturerModel(manufacturer, model).getRIMs();
List<ReferenceDigestValue> sourcedValues = referenceEventManager
.getValueByManufacturerModel(manufacturer, model);

View File

@ -1,7 +1,7 @@
package hirs.attestationca.rest;
import hirs.attestationca.AbstractAttestationCertificateAuthority;
import hirs.attestationca.service.SupplyChainValidationService;
import hirs.attestationca.validation.SupplyChainValidationService;
import hirs.data.service.DeviceRegister;
import hirs.persist.CertificateManager;
import hirs.persist.DeviceManager;
@ -35,7 +35,7 @@ public class RestfulAttestationCertificateAuthority
* @param privateKey the ACA private key
* @param acaCertificate the ACA certificate
* @param structConverter the struct converter
* @param certificateManager the certificate manager
* @param certificateService the certificate service
* @param referenceManifestManager the referenceManifestManager
* @param deviceRegister the device register
* @param validDays the number of days issued certs are valid
@ -48,14 +48,14 @@ public class RestfulAttestationCertificateAuthority
final SupplyChainValidationService supplyChainValidationService,
final PrivateKey privateKey, final X509Certificate acaCertificate,
final StructConverter structConverter,
final CertificateManager certificateManager,
final CertificateManager certificateService,
final ReferenceManifestManager referenceManifestManager,
final DeviceRegister deviceRegister,
final DeviceManager deviceManager,
final ReferenceEventManager referenceEventManager,
@Value("${aca.certificates.validity}") final int validDays) {
super(supplyChainValidationService, privateKey, acaCertificate, structConverter,
certificateManager, referenceManifestManager,
certificateService, referenceManifestManager,
deviceRegister, validDays, deviceManager,
referenceEventManager);
}

View File

@ -10,7 +10,6 @@ import hirs.data.persist.certificate.PlatformCredential;
import hirs.persist.CertificateSelector;
import hirs.persist.CriteriaModifier;
import hirs.persist.DBManagerException;
import hirs.persist.OrderedQuery;
import hirs.persist.service.CertificateService;
import hirs.persist.service.DefaultService;
import org.apache.logging.log4j.LogManager;
@ -34,8 +33,7 @@ import java.util.UUID;
*/
@Service
public class CertificateServiceImpl extends DbServiceImpl<Certificate>
implements DefaultService<Certificate>,
CertificateService, OrderedQuery<Certificate> {
implements DefaultService<Certificate>, CertificateService {
private static final Logger LOGGER = LogManager.getLogger(CertificateServiceImpl.class);
@Autowired

View File

@ -6,7 +6,6 @@ import hirs.data.persist.Device;
import hirs.persist.CriteriaModifier;
import hirs.persist.DBManagerException;
import hirs.persist.DeviceManagerException;
import hirs.persist.OrderedQuery;
import hirs.persist.service.DefaultService;
import hirs.persist.service.DeviceService;
import org.apache.logging.log4j.LogManager;
@ -27,8 +26,8 @@ import java.util.UUID;
* support for the basic create, read, update, and delete methods.
*/
@Service
public class DeviceServiceImpl extends DbServiceImpl<Device> implements DefaultService<Device>,
DeviceService, OrderedQuery<Device> {
public class DeviceServiceImpl extends DbServiceImpl<Device>
implements DefaultService<Device>, DeviceService {
private static final Logger LOGGER = LogManager.getLogger(DeviceServiceImpl.class);
@Autowired

View File

@ -6,7 +6,6 @@ import hirs.attestationca.repository.PolicyRepository;
import hirs.data.persist.policy.Policy;
import hirs.persist.CriteriaModifier;
import hirs.persist.DBManagerException;
import hirs.persist.OrderedQuery;
import hirs.persist.PolicyMapper;
import hirs.persist.service.DefaultService;
import hirs.persist.service.PolicyService;
@ -35,8 +34,8 @@ import java.util.UUID;
* support for the basic create, read, update, and delete methods.
*/
@Service
public class PolicyServiceImpl extends DbServiceImpl<Policy> implements DefaultService<Policy>,
PolicyService, OrderedQuery<Policy> {
public class PolicyServiceImpl extends DbServiceImpl<Policy>
implements DefaultService<Policy>, PolicyService {
private static final Logger LOGGER = LogManager.getLogger(PolicyServiceImpl.class);
@Autowired

View File

@ -5,7 +5,6 @@ import hirs.attestationca.repository.ReferenceDigestValueRepository;
import hirs.data.persist.ReferenceDigestValue;
import hirs.persist.CriteriaModifier;
import hirs.persist.DBManagerException;
import hirs.persist.OrderedQuery;
import hirs.persist.service.DefaultService;
import hirs.persist.service.ReferenceDigestValueService;
import org.apache.logging.log4j.LogManager;
@ -27,8 +26,7 @@ import java.util.UUID;
*/
@Service
public class ReferenceDigestValueServiceImpl extends DbServiceImpl<ReferenceDigestValue>
implements DefaultService<ReferenceDigestValue>,
ReferenceDigestValueService, OrderedQuery<ReferenceDigestValue> {
implements DefaultService<ReferenceDigestValue>, ReferenceDigestValueService {
private static final Logger LOGGER = LogManager
.getLogger(ReferenceDigestValueServiceImpl.class);

View File

@ -5,7 +5,6 @@ import hirs.attestationca.repository.ReferenceManifestRepository;
import hirs.data.persist.ReferenceManifest;
import hirs.persist.CriteriaModifier;
import hirs.persist.DBManagerException;
import hirs.persist.OrderedQuery;
import hirs.persist.service.DefaultService;
import hirs.persist.service.ReferenceManifestService;
import org.apache.logging.log4j.LogManager;
@ -27,8 +26,7 @@ import java.util.UUID;
*/
@Service
public class ReferenceManifestServiceImpl extends DbServiceImpl<ReferenceManifest>
implements DefaultService<ReferenceManifest>,
ReferenceManifestService, OrderedQuery<ReferenceManifest> {
implements DefaultService<ReferenceManifest>, ReferenceManifestService {
private static final Logger LOGGER = LogManager.getLogger(ReferenceManifestServiceImpl.class);
@Autowired
@ -66,7 +64,8 @@ public class ReferenceManifestServiceImpl extends DbServiceImpl<ReferenceManifes
dbRim = rim;
} else {
// will not return null, throws and exception
dbRim = referenceManifestRepository.getReferenceById(uuid);
dbRim = (ReferenceManifest) this.referenceManifestRepository
.getReferenceById(uuid);
// run through things that aren't equal and update
@ -75,6 +74,11 @@ public class ReferenceManifestServiceImpl extends DbServiceImpl<ReferenceManifes
return saveRIM(dbRim);
}
@Override
public void deleteRIM(final ReferenceManifest rim) {
deleteObjectById(rim.getId());
}
@Override
public List<ReferenceManifest> getList() {
LOGGER.debug("Getting all reference manifest...");

View File

@ -1,4 +1,4 @@
package hirs.attestationca.service;
package hirs.attestationca.validation;
import hirs.data.persist.Device;
import hirs.data.persist.SupplyChainValidationSummary;

View File

@ -1,4 +1,4 @@
package hirs.attestationca.service;
package hirs.attestationca.validation;
import hirs.appraiser.Appraiser;
import hirs.appraiser.SupplyChainAppraiser;

View File

@ -0,0 +1,5 @@
/**
* Contains the main functionality of the SupplyChainValidationService. Executes the actual
* validation based on the current supply chain policy.
*/
package hirs.attestationca.validation;

View File

@ -2,6 +2,7 @@ package hirs.attestationca.service;
import hirs.attestationca.persist.SpringPersistenceTest;
import hirs.appraiser.SupplyChainAppraiser;
import hirs.attestationca.validation.SupplyChainValidationServiceImpl;
import hirs.data.persist.AppraisalStatus;
import hirs.data.persist.Device;
import hirs.data.persist.DeviceInfoReport;

View File

@ -6,11 +6,11 @@ import hirs.attestationca.portal.datatables.DataTableResponse;
import hirs.attestationca.portal.datatables.OrderedListQueryDataTableAdapter;
import hirs.attestationca.portal.page.PageController;
import hirs.attestationca.portal.page.params.NoPageParams;
import hirs.attestationca.servicemanager.DBManager;
import hirs.data.persist.Device;
import hirs.data.persist.certificate.Certificate;
import hirs.data.persist.certificate.DeviceAssociatedCertificate;
import hirs.attestationca.servicemanager.DBManager;
import hirs.persist.DeviceManager;
import hirs.persist.service.DeviceService;
import org.apache.logging.log4j.Logger;
import org.hibernate.criterion.Restrictions;
import org.springframework.beans.factory.annotation.Autowired;
@ -40,22 +40,22 @@ import static org.apache.logging.log4j.LogManager.getLogger;
public class DevicesPageController extends PageController<NoPageParams> {
@Autowired
private final DeviceManager deviceManager;
private final DeviceService deviceService;
@Autowired
private final DBManager<Certificate> certificateDBManager;
private final DBManager<Certificate> certificateDBManager; // this may be what I need to do for all of them
private static final Logger LOGGER = getLogger(DevicesPageController.class);
/**
* Constructor providing the Page's display and routing specification.
* @param deviceManager the device manager
* @param deviceService the device manager
* @param certificateDBManager the certificate DB manager
*/
@Autowired
public DevicesPageController(
final DeviceManager deviceManager,
final DeviceService deviceService,
final DBManager<Certificate> certificateDBManager) {
super(DEVICES);
this.deviceManager = deviceManager;
this.deviceService = deviceService;
this.certificateDBManager = certificateDBManager;
}
@ -90,7 +90,7 @@ public class DevicesPageController extends PageController<NoPageParams> {
// get all the devices
FilteredRecordsList<Device> deviceList =
OrderedListQueryDataTableAdapter.getOrderedList(Device.class,
deviceManager, input, orderColumnName);
deviceService, input, orderColumnName);
FilteredRecordsList<HashMap<String, Object>> record
= retrieveDevicesAndAssociatedCertificates(deviceList);

View File

@ -4,7 +4,7 @@ import hirs.attestationca.portal.page.Page;
import hirs.attestationca.portal.page.PageController;
import hirs.attestationca.portal.page.PageMessages;
import hirs.attestationca.portal.page.params.ReferenceManifestDetailsPageParams;
import hirs.attestationca.service.SupplyChainValidationServiceImpl;
import hirs.attestationca.validation.SupplyChainValidationServiceImpl;
import hirs.data.persist.BaseReferenceManifest;
import hirs.data.persist.EventLogMeasurements;
import hirs.data.persist.ReferenceDigestValue;

View File

@ -9,13 +9,13 @@ import hirs.attestationca.portal.page.Page;
import hirs.attestationca.portal.page.PageController;
import hirs.attestationca.portal.page.params.NoPageParams;
import hirs.attestationca.service.ReferenceDigestValueServiceImpl;
import hirs.attestationca.servicemanager.DBReferenceManifestManager;
import hirs.attestationca.service.ReferenceManifestServiceImpl;
import hirs.data.persist.ReferenceDigestValue;
import hirs.data.persist.SupportReferenceManifest;
import hirs.data.persist.certificate.Certificate;
import hirs.persist.CriteriaModifier;
import hirs.persist.DBManagerException;
import hirs.persist.ReferenceManifestManager;
import hirs.persist.service.ReferenceManifestService;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.hibernate.Criteria;
@ -45,7 +45,7 @@ public class RimDatabasePageController
private static final String BIOS_RELEASE_DATE_FORMAT = "yyyy-MM-dd";
private final BiosDateValidator biosValidator;
private final ReferenceManifestManager referenceManifestManager;
private final ReferenceManifestService referenceManifestService;
private final ReferenceDigestValueServiceImpl referenceDigestValueService;
private static final Logger LOGGER
= LogManager.getLogger(RimDatabasePageController.class);
@ -95,15 +95,15 @@ public class RimDatabasePageController
/**
* Constructor providing the Page's display and routing specification.
*
* @param referenceManifestManager the ReferenceManifestManager object
* @param referenceManifestService the referenceManifestService object
* @param referenceDigestValueService the referenceDigestValueService object
*/
@Autowired
public RimDatabasePageController(
final DBReferenceManifestManager referenceManifestManager,
final ReferenceManifestServiceImpl referenceManifestService,
final ReferenceDigestValueServiceImpl referenceDigestValueService) {
super(Page.RIM_DATABASE);
this.referenceManifestManager = referenceManifestManager;
this.referenceManifestService = referenceManifestService;
this.referenceDigestValueService = referenceDigestValueService;
this.biosValidator = new BiosDateValidator(BIOS_RELEASE_DATE_FORMAT);
}
@ -162,7 +162,7 @@ public class RimDatabasePageController
for (ReferenceDigestValue rdv : referenceDigestValues) {
// We are updating the base rim ID field if necessary and
if (rdv.getBaseRimId() == null) {
support = SupportReferenceManifest.select(referenceManifestManager)
support = SupportReferenceManifest.select(referenceManifestService)
.byEntityId(rdv.getSupportRimId()).getRIM();
if (support != null) {
rdv.setBaseRimId(support.getAssociatedRim());

View File

@ -219,7 +219,7 @@ public abstract class ReferenceManifestSelector<T extends ReferenceManifest> {
// construct and execute query
private Set<T> execute() {
Set<T> results = this.referenceManifestService.get;
Set<T> results = this.referenceManifestService.ge;
return results;
}

View File

@ -2,6 +2,7 @@ package hirs.persist.service;
import hirs.data.persist.certificate.Certificate;
import hirs.persist.CertificateSelector;
import hirs.persist.OrderedQuery;
import java.util.Set;
import java.util.UUID;
@ -11,7 +12,7 @@ import java.util.UUID;
* <code>CertificateService</code> is used to store and manage certificates. It has
* support for the basic create, read, update, and delete methods.
*/
public interface CertificateService {
public interface CertificateService extends OrderedQuery<Certificate> {
/**
* Saves the <code>Certificate</code> in the database. This creates a new

View File

@ -2,6 +2,7 @@ package hirs.persist.service;
import hirs.data.persist.Device;
import hirs.persist.DeviceManagerException;
import hirs.persist.OrderedQuery;
import java.util.UUID;
@ -10,7 +11,7 @@ import java.util.UUID;
* <code>DeviceService</code> is used to store and manage devices. It has
* support for the basic create, read, update, and delete methods.
*/
public interface DeviceService {
public interface DeviceService extends OrderedQuery<Device> {
/**
* Saves the <code>Device</code> in the database. This creates a new

View File

@ -2,6 +2,7 @@ package hirs.persist.service;
import hirs.appraiser.Appraiser;
import hirs.data.persist.policy.Policy;
import hirs.persist.OrderedQuery;
import java.util.UUID;
@ -10,7 +11,7 @@ import java.util.UUID;
* <code>PolicyService</code> is used to store and manage policies. It has
* support for the basic create, read, update, and delete methods.
*/
public interface PolicyService {
public interface PolicyService extends OrderedQuery<Policy> {
/**
* Saves the <code>Policy</code> in the database. This creates a new

View File

@ -1,6 +1,7 @@
package hirs.persist.service;
import hirs.data.persist.ReferenceDigestValue;
import hirs.persist.OrderedQuery;
import java.util.List;
import java.util.UUID;
@ -10,7 +11,7 @@ import java.util.UUID;
* <code>ReferenceDigestValue</code> is used to store and manage digest events. It has
* support for the basic create, read, update, and delete methods.
*/
public interface ReferenceDigestValueService {
public interface ReferenceDigestValueService extends OrderedQuery<ReferenceDigestValue> {
/**
* Saves the <code>ReferenceDigestValue</code> in the database. This creates a new

View File

@ -1,6 +1,7 @@
package hirs.persist.service;
import hirs.data.persist.ReferenceManifest;
import hirs.persist.OrderedQuery;
import java.util.UUID;
@ -9,7 +10,7 @@ import java.util.UUID;
* <code>ReferenceManifestService</code> is used to store and manage reference manifests. It has
* support for the basic create, read, update, and delete methods.
*/
public interface ReferenceManifestService {
public interface ReferenceManifestService extends OrderedQuery<ReferenceManifest> {
/**
* Saves the <code>ReferenceManifest</code> in the database. This creates a new
@ -29,4 +30,13 @@ public interface ReferenceManifestService {
* @return a ReferenceManifest object
*/
ReferenceManifest updateReferenceManifest(ReferenceManifest rim, UUID uuid);
/**
* Deletes the <code>ReferenceManifest</code> in the database. This creates a new
* database session and saves the device.
*
* @param rim ReferenceManifest to delete
* @return reference to deleted rim
*/
void deleteRIM(ReferenceManifest rim);
}