Exemplo n.º 1
0
	bool GetCountRequest::Create(XDocument* pxDoc)
	{
		XElement	*pxRoot = NULL;
		XAttribute	*pxAttr = NULL;

		m_pxDoc = pxDoc;

		pxRoot = pxDoc->GetRootNode();
		pxAttr = pxRoot->GetAttribute("version");
		if(pxAttr!=NULL)
		{
			SetVersion(pxAttr->GetValue());
		}

		pxAttr = pxRoot->GetAttribute("mapName");
		if(pxAttr!=NULL)
		{
			SetMapName(pxAttr->GetValue(),false);
		}

		pxAttr = pxRoot->GetAttribute("sourceName");
		if(pxAttr!=NULL)
		{
			SetSourceName(pxAttr->GetValue());
		}
		
		XElement* pxQuery = (XElement*)pxRoot->GetFirstChild("Query");
		if(pxQuery==NULL)
		{
			return NULL;
		}

		pxAttr = pxQuery->GetAttribute("typeName");
		if(pxAttr==NULL)
		{
			return false;
		}
		SetTypeName(pxAttr->GetValue(),false);
		if(m_type_name.empty())
		{
			return false;
		}

		return true;
	}
Exemplo n.º 2
0
	bool GetFeatureRequest::Create(XDocument* pxDoc)
	{
		XElement	*pxRoot = NULL;
		XAttribute	*pxAttr = NULL;

		m_pxDoc = pxDoc;

		pxRoot = pxDoc->GetRootNode();
		pxAttr = pxRoot->GetAttribute("version");
		if(pxAttr!=NULL)
		{
			SetVersion(pxAttr->GetValue());
		}

		pxAttr = pxRoot->GetAttribute("mapName");
		if(pxAttr!=NULL)
		{
			SetMapName(pxAttr->GetValue(),false);
		}

		pxAttr = pxRoot->GetAttribute("sourceName");
		if(pxAttr!=NULL)
		{
			SetSourceName(pxAttr->GetValue());
		}

		pxAttr = pxRoot->GetAttribute("outputFormat");
		if(pxAttr!=NULL)
		{
			GLogger* pLogger  = augeGetLoggerInstance();
			pLogger->Trace(pxAttr->GetValue(),__FILE__,__LINE__);
			SetOutputFormat(pxAttr->GetValue());
		}

		pxAttr = pxRoot->GetAttribute("maxFeatures");
		if(pxAttr!=NULL)
		{
			SetMaxFeatures(pxAttr->GetValue());
		}

		pxAttr = pxRoot->GetAttribute("offset");
		if(pxAttr!=NULL)
		{
			SetOffset(pxAttr->GetValue());
		}

		pxAttr = pxRoot->GetAttribute("encoding");
		if(pxAttr!=NULL)
		{
			SetEncoding(pxAttr->GetValue());
		}

		XElement* pxQuery = (XElement*)pxRoot->GetFirstChild("Query");
		if(pxQuery==NULL)
		{
			return NULL;
		}

		pxAttr = pxQuery->GetAttribute("typeName");
		if(pxAttr==NULL)
		{
			return false;
		}
		SetTypeName(pxAttr->GetValue(), false);
		if(m_type_name.empty())
		{
			return false;
		}

		//Layer* pLayer = NULL;
		//pLayer = pMap->GetLayer(m_type_name.c_str());
		//if(pLayer==NULL)
		//{
		//	return false;
		//}
		//if(pLayer->GetType()!=augeLayerFeature)
		//{
		//	return false;
		//}
		//FeatureLayer* pFLayer = NULL;
		//FeatureClass* pFeatureClass = NULL;
		//pFLayer = static_cast<FeatureLayer*>(pLayer);
		//pFeatureClass = pFLayer->GetFeatureClass();
		//if(pFeatureClass==NULL)
		//{
		//	return false;
		//}

		//FilterFactory* pFilterFactory = augeGetFilterFactoryInstance();
		//m_pQuery = pFilterFactory->CreateQuery();

		//XElement* pxFilter = (XElement*)pxQuery->GetFirstChild("Filter");
		//if(pxFilter!=NULL)
		//{
		//	GFilter* pFilter = NULL;
		//	FilterReader* reader = pFilterFactory->CreateFilerReader(pFeatureClass->GetFields());
		//	pFilter = reader->Read(pxFilter);
		//	m_pQuery->SetFilter(pFilter);

		//}

		////PropertyName
		//char field_name[AUGE_NAME_MAX];
		//const char* property_name;
		//XNode* pxNode = NULL;
		//XNodeSet* pxNodeSet = pxQuery->GetChildren("PropertyName");
		//pxNodeSet->Reset();
		//while((pxNode=pxNodeSet->Next())!=NULL)
		//{
		//	property_name = pxNode->GetContent();
		//	ParseFieldName(property_name, field_name, AUGE_NAME_MAX);
		//	m_pQuery->AddSubField(field_name);

		//}
		//pxNodeSet->Release();

		return true;
	}