Example #1
0
BOOST_FIXTURE_TEST_CASE(manyReferenceTimesAndValidTimes, TimeHandlerFixture)
{
	add("2011-05-29 00:00:00", "2011-05-29 00:00:00");
	add("2011-05-30 00:00:00", "2011-05-29 00:00:00");
	add("2011-05-30 00:00:00", "2011-05-30 00:00:00");
	add("2011-05-31 00:00:00", "2011-05-30 00:00:00");

	WdbIndex index(gridData());
	TimeHandler timeHandler(index);
	timeHandler.addToCdm(cdm);

	GridData::Time referenceTime1 = boost::posix_time::time_from_string("2011-05-29 00:00:00");

	const CDMVariable & refTimeVar = cdm.getVariable(TimeHandler::referenceTimeName);
	BOOST_CHECK_EQUAL(referenceTime1, timeFromData(timeHandler.getData(refTimeVar, 0)));

	const CDMVariable & timeVar = cdm.getVariable(TimeHandler::validTimeName);
	DataPtr times = timeHandler.getData(timeVar, 0);


	GridData::Time validTime1 = boost::posix_time::time_from_string("2011-05-29 00:00:00");
	GridData::Time validTime2 = boost::posix_time::time_from_string("2011-05-30 00:00:00");

	BOOST_REQUIRE_EQUAL(2, times->size());
	BOOST_CHECK_EQUAL(validTime1, timeFromData(times, 0));
	BOOST_CHECK_EQUAL(validTime2, timeFromData(times, 1));
}
Example #2
0
 SearchCacheMemDataPtr DistSearchCacheAdapter::getData(long id) {
   DataPtr dataPair = distCacheAdapterPtr->get(id);
   if(dataPair.get() != NULL)  {
     if(dataPair->size() <= 0) {
       MCE_WARN("DistSearchCacheAdapter::getDataWithCAS not in memcached userid = " << id);
       SearchCacheMemDataPtr tmp = new SearchCacheMemData;
       return tmp;
     }
     string dataStr(dataPair->begin(), dataPair->end());
     SearchCacheMemDataPtr data = new SearchCacheMemData;
     data->ParseFromString(dataStr);
     return data;
   }  else  {
     SearchCacheMemDataPtr tmp = new SearchCacheMemData;
     return tmp;
   }
 }
Example #3
0
bool CWorldMobPrototype::load(const String& resourceName)
{
	CLog::instance()->log(CLog::msgFlagResources,CLog::msgLvlInfo,"Loading mob prototype from '%s'.\n",resourceName.c_str());
	DataPtr dPtr = CResourceManager::instance()->load(resourceName);
	if( !dPtr )
	{
		CLog::instance()->log(CLog::msgLvlError,"Error loading mob prototype: resource not found.\n",resourceName.c_str());
		return false;
	}

	TiXmlDocument doc;
	std::stringstream buf;
	buf.write(dPtr->data(),dPtr->size());
	buf >> doc;

	if (doc.Error())
	{
		CLog::instance()->log(CLog::msgFlagResources, CLog::msgLvlError, _("Error loading mob prototype: XML parser returned an error: %s\n"), doc.ErrorDesc());
		return false;
	}

	TiXmlNode* root =  doc.FirstChild();
	while( root && root->Type() == TiXmlNode::DECLARATION )
		root = root->NextSibling();
	if( !root || root->Type() != TiXmlNode::ELEMENT || strcmp(root->ToElement()->Value(),"MobPrototype") )
	{
		CLog::instance()->log(CLog::msgFlagResources, CLog::msgLvlError, _("Error loading mob prototype: resource isn't mob prototype. %s\n"),root->Value());
		return false;
	};

	TiXmlNode* option;
	for( option = root->FirstChild(); option; option = option->NextSibling() )
		if( !processOption(option) )
		{
			CLog::instance()->log(CLog::msgFlagResources, CLog::msgLvlError, _("Error loading mob prototype: error in file near '%s'.\n"),option->Value());
			return false;
		};
	return true;
};
Example #4
0
		DataPtrStreamWrapper(DataPtr &vec) 
		{
			setg(vec->data(), vec->data(), vec->data() + vec->size());
		}