2 #define GAUDISVC_PERSISTENCYSVC_OUTPUTSTREAM_CPP
35 m_doPreLoadOpt =
false;
39 m_outputType =
"UPDATE";
40 m_storeName =
"EventDataSvc";
41 m_persName =
"EventPersistencySvc";
48 m_fireIncidents =
true;
49 declareProperty(
"ItemList", m_itemNames);
50 declareProperty(
"OptItemList", m_optItemNames);
51 declareProperty(
"Preload", m_doPreLoad);
52 declareProperty(
"PreloadOptItems", m_doPreLoadOpt);
53 declareProperty(
"Output", m_output);
54 declareProperty(
"OutputFile", m_outputName);
55 declareProperty(
"EvtDataSvc", m_storeName);
56 declareProperty(
"EvtConversionSvc", m_persName);
57 declareProperty(
"AcceptAlgs", m_acceptNames);
58 declareProperty(
"RequireAlgs", m_requireNames);
59 declareProperty(
"VetoAlgs", m_vetoNames);
60 declareProperty(
"VerifyItems", m_verifyItems);
205 for ( j = sel->
begin(); j != sel->
end(); j++ ) {
214 for ( j = sel->
begin(); j != sel->
end(); j++ ) {
236 if ( level < m_currentItem->depth() ) {
237 if ( dir->
object() != 0 ) {
269 log <<
MSG::ERROR <<
"Cannot write mandatory object(s) (Not found) "
284 log <<
MSG::DEBUG <<
"Ignore request to write non-mandatory object(s) "
295 if (!unique.
count(*o)) {
324 if ( (*i)->path() ==
path )
return (*
i);
327 if ( (*j)->path() ==
path )
return (*j);
336 size_t sep = descriptor.rfind(
"#");
338 std::string slevel (descriptor,sep+1,descriptor.length());
339 if ( slevel ==
"*" ) {
343 level = atoi(slevel.c_str());
346 size_t idx = obj_path.
find(
"/",1);
347 while(idx != std::string::npos) {
352 idx = obj_path.find(
"/",idx+1);
358 <<
" with " << item->
depth()
359 <<
" level(s)." <<
endmsg;
383 case 'V': svc = val;
break;
384 case 'H': shr =
"YES";
break;
390 if ( ::strncasecmp(val.c_str(),
"RECREATE",3)==0 )
392 else if ( ::strncasecmp(val.c_str(),
"READ",3)==0 )
417 if ( dbType.length() > 0 || svc.length() > 0 ) {
425 status = ipers->getService(typ, cnvSvc);
427 log <<
MSG::FATAL <<
"Unable to locate IConversionSvc interface of database type " << typ <<
endmsg;
435 <<
"Unable to locate IConversionSvc interface (Unknown technology) " <<
endmsg
436 <<
"You either have to specify a technology name or a service name!" <<
endmsg
437 <<
"Please correct the job option \"" <<
name() <<
".Output\" !" <<
endmsg;
451 "OutputStream::acceptAlgsHandler",sc);
463 "OutputStream::requireAlgsHandler",sc);
475 "OutputStream::vetoAlgsHandler",sc);
495 for (it = nameList.
begin(); it != itend; ++it) {
513 for (ita = theAlgs->
begin(); ita != itaend; ++ita) {
515 if ( theAlgorithm == existAlgorithm ) {
521 theAlgorithm->addRef();
548 if ( (*i)->isExecuted() && (*i)->filterPassed() ) {
561 if ( !(*i)->isExecuted() || !(*i)->filterPassed() ) {
574 if ( (*i)->isExecuted() && (*i)->filterPassed() ) {