Get all addresses from provider.
Called before begin event.
65 {
67 return StatusCode::SUCCESS;
68 }
69 ServiceHandle<StoreGateSvc> detectorStoreSvc(
"DetectorStore",
name());
70
72
73
74 std::unique_ptr<PoolCollectionConverter> poolCollectionConverter =
getCollectionCnv();
75 if (!poolCollectionConverter) {
76 return StatusCode::FAILURE;
77 }
78
79 pool::ICollectionCursor* headerIterator = &poolCollectionConverter->selectAll();
80
81 for (int verNumber = 0; verNumber < 100; verNumber++) {
82 if (!headerIterator->
next()) {
83 poolCollectionConverter->disconnectDb().ignore();
84 poolCollectionConverter.reset();
87
89 if (!poolCollectionConverter) {
90 return StatusCode::FAILURE;
91 }
92
93 headerIterator = &poolCollectionConverter->selectAll();
94 if (!headerIterator->
next()) {
95 return StatusCode::FAILURE;
96 }
97 } else {
98 break;
99 }
100 }
101 SG::VersionedKey myVersKey(
name(), verNumber);
102 auto token = std::make_unique<Token>();
104 CxxUtils::RefCountedPtr<TokenAddress> tokenAddr
106 if (!detectorStoreSvc->recordAddress(std::move(tokenAddr)).isSuccess()) {
108 return StatusCode::FAILURE;
109 }
110 }
111 std::list<SG::ObjectWithVersion<DataHeader> > allVersions;
112 if (!detectorStoreSvc->retrieveAllVersions(allVersions,
name()).isSuccess()) {
113 ATH_MSG_DEBUG(
"Cannot retrieve DataHeader from DetectorStore.");
114 return StatusCode::SUCCESS;
115 }
116 for (const auto& version : allVersions) {
117 SG::ReadHandle<DataHeader> dataHeader =
version.dataObject;
118 ATH_MSG_DEBUG(
"The current File contains: " << dataHeader->size() <<
" objects");
119 for (const auto& element : *dataHeader) {
122 delete tadd; tadd = 0;
123 } else {
124 ATH_MSG_DEBUG(
"preLoadAddresses: DataObject address, clid = " << tadd->
clID() <<
", name = " << tadd->
name());
125 tads.push_back(tadd);
126 }
128 }
129 }
130 return StatusCode::SUCCESS;
131}
std::unique_ptr< PoolCollectionConverter > getCollectionCnv()
Return pointer to new PoolCollectionConverter.
CLID clID() const
Retrieve string key:
const std::string & name() const
Get the primary (hashed) SG key.
virtual const std::string toString() const
Retrieve the string representation of the token.
virtual bool next()=0
Advances the cursor to the next row of the query result set.
virtual const Token & eventRef() const =0
Returns the event reference Token for the current row.
void registerKeys(const DataHeaderElement &dhe, StoreGateSvc *store)
Register all hash keys for one DH Element.
static const DbType POOL_StorageType