#include <ProductResolvers.h>
Public Types | |
enum | ProductStatus { ProductStatus::ProductSet, ProductStatus::NotPut, ProductStatus::ResolveFailed, ProductStatus::ResolveNotRun, ProductStatus::ProductDeleted } |
Public Member Functions | |
void | connectTo (ProductResolverBase const &, Principal const *) final |
DataManagingProductResolver (std::shared_ptr< BranchDescription const > bd, ProductStatus iDefaultStatus) | |
void | resetProductData_ (bool deleteEarly) override |
void | resetStatus () |
template<bool callResolver, typename FUNC > | |
ProductResolverBase::Resolution | resolveProductImpl (FUNC resolver) const |
Public Member Functions inherited from edm::ProductResolverBase | |
BranchDescription const & | branchDescription () const |
std::string const & | moduleLabel () const |
ProductResolverBase & | operator= (ProductResolverBase const &)=delete |
void | prefetchAsync (WaitingTask *waitTask, Principal const &principal, bool skipCurrentProcess, ServiceToken const &token, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const |
std::string const & | processName () const |
ProductID const & | productID () const |
std::string const & | productInstanceName () const |
ProductProvenance const * | productProvenancePtr () const |
bool | productResolved () const |
ProductResolverBase () | |
ProductResolverBase (ProductResolverBase const &)=delete | |
TypeID | productType () const |
bool | productUnavailable () const |
bool | productWasDeleted () const |
bool | productWasFetchedAndIsValid (bool iSkipCurrentProcess) const |
Provenance const * | provenance () const |
bool | provenanceAvailable () const |
void | putOrMergeProduct (std::unique_ptr< WrapperBase > edp, MergeableRunProductMetadata const *mergeableRunProductMetadata=nullptr) const |
void | putProduct (std::unique_ptr< WrapperBase > edp) const |
void | resetBranchDescription (std::shared_ptr< BranchDescription const > bd) |
void | resetProductData () |
std::string const & | resolvedModuleLabel () const |
Resolution | resolveProduct (Principal const &principal, bool skipCurrentProcess, SharedResourcesAcquirer *sra, ModuleCallingContext const *mcc) const |
void | retrieveAndMerge (Principal const &principal, MergeableRunProductMetadata const *mergeableRunProductMetadata) const |
void | setMergeableRunProductMetadata (MergeableRunProductMetadata const *mrpm) |
void | setProcessHistory (ProcessHistory const &ph) |
void | setProvenance (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) |
virtual void | setupUnscheduled (UnscheduledConfigurator const &) |
bool | singleProduct () const |
StableProvenance const * | stableProvenance () const |
void | unsafe_deleteProduct () const |
bool | unscheduledWasNotRun () const |
void | write (std::ostream &os) const |
virtual | ~ProductResolverBase () |
Protected Member Functions | |
ProductStatus | defaultStatus () const |
template<bool callResolver, typename FUNC > | |
Resolution | resolveProductImpl (FUNC resolver) const |
void | setFailedStatus () const |
void | setMergeableRunProductMetadataInProductData (MergeableRunProductMetadata const *) |
void | setProduct (std::unique_ptr< WrapperBase > edp) const |
ProductStatus | status () const |
Private Member Functions | |
BranchDescription const & | branchDescription_ () const final |
void | checkType (WrapperBase const &prod) const |
ProductData const & | getProductData () const |
virtual bool | isFromCurrentProcess () const =0 |
void | mergeProduct (std::unique_ptr< WrapperBase > edp, MergeableRunProductMetadata const *) const |
ProductProvenance const * | productProvenancePtr_ () const final |
bool | productResolved_ () const final |
bool | productUnavailable_ () const final |
bool | productWasDeleted_ () const final |
bool | productWasFetchedAndIsValid_ (bool iSkipCurrentProcess) const final |
Provenance const * | provenance_ () const final |
void | putOrMergeProduct_ (std::unique_ptr< WrapperBase > prod, MergeableRunProductMetadata const *mergeableRunProductMetadata) const final |
void | resetBranchDescription_ (std::shared_ptr< BranchDescription const > bd) final |
std::string const & | resolvedModuleLabel_ () const final |
void | setProcessHistory_ (ProcessHistory const &ph) final |
void | setProvenance_ (ProductProvenanceRetriever const *provRetriever, ProcessHistory const &ph, ProductID const &pid) final |
bool | singleProduct_ () const final |
void | throwProductDeletedException () const |
Private Attributes | |
ProductStatus const | defaultStatus_ |
ProductData | productData_ |
std::atomic< ProductStatus > | theStatus_ |
Definition at line 36 of file ProductResolvers.h.
|
strong |
Enumerator | |
---|---|
ProductSet | |
NotPut | |
ResolveFailed | |
ResolveNotRun | |
ProductDeleted |
Definition at line 38 of file ProductResolvers.h.
|
inline |
Definition at line 46 of file ProductResolvers.h.
References connectTo().
|
inlinefinalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 83 of file ProductResolvers.h.
References edm::ProductData::branchDescription(), and getProductData().
Referenced by mergeProduct(), and edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
private |
Definition at line 532 of file ProductResolvers.cc.
References edm::ProductResolverBase::branchDescription(), edm::BranchDescription::branchName(), edm::BranchDescription::className(), edm::WrapperBase::dynamicTypeInfo(), edm::errors::EventCorruption, Exception, edm::TypeWithDict::unvalidatedTypeInfo(), and edm::BranchDescription::unwrappedType().
Referenced by mergeProduct(), setFailedStatus(), and setProduct().
|
finalvirtual |
Implements edm::ProductResolverBase.
Definition at line 514 of file ProductResolvers.cc.
Referenced by DataManagingProductResolver(), and edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
inlineprotected |
Definition at line 61 of file ProductResolvers.h.
References defaultStatus_.
Referenced by productResolved_(), putOrMergeProduct_(), edm::ProducedProductResolver::putProduct_(), and edm::InputProductResolver::retrieveAndMerge_().
|
inlineprivate |
Definition at line 72 of file ProductResolvers.h.
References isFromCurrentProcess(), mergeProduct(), productData_, productResolved_(), productUnavailable_(), productWasDeleted_(), productWasFetchedAndIsValid_(), and putOrMergeProduct_().
Referenced by branchDescription_(), mergeProduct(), productUnavailable_(), productWasFetchedAndIsValid_(), and resolveProductImpl().
|
privatepure virtual |
|
private |
Definition at line 80 of file ProductResolvers.cc.
References edm::ProductResolverBase::branchDescription(), branchDescription_(), edm::BranchDescription::branchName(), edm::BranchDescription::branchType(), checkType(), Exception, edm::MergeableRunProductMetadata::getMergeDecision(), getProductData(), edm::InRun, edm::MergeableRunProductMetadata::MERGE, edm::errors::MismatchedInputFiles, eostools::move(), definitions::original, edm::BranchDescription::processName(), ProductSet, edm::MergeableRunProductMetadata::REPLACE, ResolveFailed, setProduct(), status(), and edm::ProductData::unsafe_wrapper().
Referenced by getProductData(), and putOrMergeProduct_().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 606 of file ProductResolvers.cc.
References edm::Provenance::productProvenance(), and edm::ProductResolverBase::provenance().
Referenced by resolvedModuleLabel_(), edm::AliasProductResolver::resolvedModuleLabel_(), edm::ParentProcessProductResolver::resolvedModuleLabel_(), edm::NoProcessProductResolver::resolvedModuleLabel_(), and edm::SingleChoiceNoProcessProductResolver::resolvedModuleLabel_().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 568 of file ProductResolvers.cc.
References defaultStatus(), or, ProductDeleted, alignCSCRings::s, and status().
Referenced by getProductData(), and edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 559 of file ProductResolvers.cc.
References getProductData(), edm::WrapperBase::isPresent(), ProductSet, ResolveNotRun, status(), and edm::ProductData::wrapper().
Referenced by getProductData(), and edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 576 of file ProductResolvers.cc.
References ProductDeleted, and status().
Referenced by getProductData(), and edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 581 of file ProductResolvers.cc.
References getProductData(), isFromCurrentProcess(), ProductSet, status(), and wrapper.
Referenced by getProductData(), and edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
inlinefinalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 85 of file ProductResolvers.h.
References productData_, and edm::ProductData::provenance().
Referenced by edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 519 of file ProductResolvers.cc.
References defaultStatus(), mergeProduct(), eostools::move(), edm::ProductResolverBase::putProduct(), and status().
Referenced by getProductData(), edm::AliasProductResolver::productWasFetchedAndIsValid_(), edm::ParentProcessProductResolver::productWasFetchedAndIsValid_(), and edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
inlinefinalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 84 of file ProductResolvers.h.
References productData_, and edm::ProductData::resetBranchDescription().
Referenced by edm::SingleChoiceNoProcessProductResolver::SingleChoiceNoProcessProductResolver().
|
overridevirtual |
Implements edm::ProductResolverBase.
Reimplemented in edm::UnscheduledProductResolver, edm::PuttableProductResolver, and edm::InputProductResolver.
Definition at line 610 of file ProductResolvers.cc.
References productData_, ProductDeleted, ProductSet, edm::ProductData::resetProductData(), resetStatus(), and theStatus_.
Referenced by edm::InputProductResolver::resetProductData_(), edm::PuttableProductResolver::resetProductData_(), edm::UnscheduledProductResolver::resetProductData_(), resetStatus(), edm::AliasProductResolver::resolvedModuleLabel_(), edm::ParentProcessProductResolver::resolvedModuleLabel_(), edm::NoProcessProductResolver::resolvedModuleLabel_(), edm::SingleChoiceNoProcessProductResolver::resolvedModuleLabel_(), edm::InputProductResolver::unscheduledWasNotRun_(), edm::PuttableProductResolver::unscheduledWasNotRun_(), and edm::UnscheduledProductResolver::unscheduledWasNotRun_().
|
inline |
Definition at line 53 of file ProductResolvers.h.
References defaultStatus_, resetProductData_(), setProduct(), and theStatus_.
Referenced by resetProductData_().
|
inlinefinalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 87 of file ProductResolvers.h.
References edm::ProductResolverBase::moduleLabel(), sysUtil::pid, productProvenancePtr_(), setProcessHistory_(), setProvenance_(), and singleProduct_().
ProductResolverBase::Resolution edm::DataManagingProductResolver::resolveProductImpl | ( | FUNC | resolver | ) | const |
Definition at line 46 of file ProductResolvers.cc.
References getProductData(), ProductSet, edm::ProductResolverBase::productWasDeleted(), Resolution, ResolveNotRun, setFailedStatus(), status(), and throwProductDeletedException().
|
protected |
Referenced by setFailedStatus().
|
inlineprotected |
Definition at line 62 of file ProductResolvers.h.
References checkType(), parseEventContent::prod, ResolveFailed, resolveProductImpl(), setMergeableRunProductMetadataInProductData(), theStatus_, and throwProductDeletedException().
Referenced by resolveProductImpl(), edm::InputProductResolver::retrieveAndMerge_(), and setProduct().
|
protected |
Definition at line 598 of file ProductResolvers.cc.
References productData_, and edm::ProductData::setMergeableRunProductMetadata().
Referenced by setFailedStatus(), and edm::InputProductResolver::setMergeableRunProductMetadata_().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 602 of file ProductResolvers.cc.
References productData_, and edm::ProductData::setProcessHistory().
Referenced by resolvedModuleLabel_(), edm::AliasProductResolver::resolvedModuleLabel_(), edm::ParentProcessProductResolver::resolvedModuleLabel_(), edm::NoProcessProductResolver::resolvedModuleLabel_(), and edm::SingleChoiceNoProcessProductResolver::resolvedModuleLabel_().
|
protected |
Definition at line 546 of file ProductResolvers.cc.
References checkType(), eostools::move(), productData_, ProductSet, setFailedStatus(), theStatus_, and edm::ProductData::unsafe_setWrapper().
Referenced by mergeProduct(), edm::InputProductResolver::putProduct_(), edm::ProducedProductResolver::putProduct_(), and resetStatus().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 594 of file ProductResolvers.cc.
References productData_, and edm::ProductData::setProvenance().
Referenced by resolvedModuleLabel_(), edm::AliasProductResolver::resolvedModuleLabel_(), edm::ParentProcessProductResolver::resolvedModuleLabel_(), edm::NoProcessProductResolver::resolvedModuleLabel_(), and edm::SingleChoiceNoProcessProductResolver::resolvedModuleLabel_().
|
finalprivatevirtual |
Implements edm::ProductResolverBase.
Definition at line 621 of file ProductResolvers.cc.
Referenced by resolvedModuleLabel_(), edm::AliasProductResolver::resolvedModuleLabel_(), edm::ParentProcessProductResolver::resolvedModuleLabel_(), edm::NoProcessProductResolver::resolvedModuleLabel_(), and edm::SingleChoiceNoProcessProductResolver::resolvedModuleLabel_().
|
inlineprotected |
Definition at line 60 of file ProductResolvers.h.
References theStatus_.
Referenced by mergeProduct(), productResolved_(), productUnavailable_(), productWasDeleted_(), productWasFetchedAndIsValid_(), putOrMergeProduct_(), edm::ProducedProductResolver::putProduct_(), resolveProductImpl(), edm::InputProductResolver::retrieveAndMerge_(), and edm::UnscheduledProductResolver::unscheduledWasNotRun_().
|
private |
Definition at line 30 of file ProductResolvers.cc.
References edm::ProductResolverBase::branchDescription(), cppFunctionSkipper::exception, edm::ProductResolverBase::moduleLabel(), edm::ProductResolverBase::processName(), edm::ProductResolverBase::productInstanceName(), and edm::BranchDescription::unwrappedTypeID().
Referenced by resolveProductImpl(), and setFailedStatus().
|
private |
Definition at line 95 of file ProductResolvers.h.
Referenced by defaultStatus(), and resetStatus().
|
private |
Definition at line 93 of file ProductResolvers.h.
Referenced by getProductData(), provenance_(), resetBranchDescription_(), resetProductData_(), setMergeableRunProductMetadataInProductData(), setProcessHistory_(), setProduct(), and setProvenance_().
|
mutableprivate |
Definition at line 94 of file ProductResolvers.h.
Referenced by resetProductData_(), resetStatus(), setFailedStatus(), setProduct(), and status().