SmartPtrCMultiPmeMgmtBatchCollectionDoc MultiPmeMgmtBatchCollectionXml::parse(
	const SmartPtrCXmlElement thisXml) {
	CAF_CM_STATIC_FUNC_VALIDATE("MultiPmeMgmtBatchCollectionXml", "parse");

	SmartPtrCMultiPmeMgmtBatchCollectionDoc multiPmeMgmtBatchCollectionDoc;

	CAF_CM_ENTER {
		CAF_CM_VALIDATE_SMARTPTR(thisXml);

		const CXmlElement::SmartPtrCElementCollection multiPmeBatchChildrenXml =
			thisXml->findRequiredChildren("multiPmeBatch");

		std::deque<SmartPtrCMultiPmeMgmtBatchDoc> multiPmeBatchVal;
		if (! multiPmeBatchChildrenXml.IsNull() && ! multiPmeBatchChildrenXml->empty()) {
			for (TConstIterator<CXmlElement::CElementCollection> multiPmeBatchXmlIter(*multiPmeBatchChildrenXml);
				multiPmeBatchXmlIter; multiPmeBatchXmlIter++) {
				const SmartPtrCXmlElement multiPmeBatchXml = multiPmeBatchXmlIter->second;
				const SmartPtrCMultiPmeMgmtBatchDoc multiPmeBatchDoc =
					MultiPmeMgmtBatchXml::parse(multiPmeBatchXml);
				multiPmeBatchVal.push_back(multiPmeBatchDoc);
			}
		}

		multiPmeMgmtBatchCollectionDoc.CreateInstance();
		multiPmeMgmtBatchCollectionDoc->initialize(
			multiPmeBatchVal);
	}
	CAF_CM_EXIT;

	return multiPmeMgmtBatchCollectionDoc;
}
SmartPtrCActionClassInstanceCollectionDoc ActionClassInstanceCollectionXml::parse(
    const SmartPtrCXmlElement thisXml) {
    CAF_CM_STATIC_FUNC_VALIDATE("ActionClassInstanceCollectionXml", "parse");

    SmartPtrCActionClassInstanceCollectionDoc actionClassInstanceCollectionDoc;

    CAF_CM_ENTER {
        CAF_CM_VALIDATE_SMARTPTR(thisXml);

        const CXmlElement::SmartPtrCElementCollection actionClassInstanceChildrenXml =
        thisXml->findRequiredChildren("actionClassInstance");

        std::deque<SmartPtrCActionClassInstanceDoc> actionClassInstanceVal;
        if (! actionClassInstanceChildrenXml.IsNull() && ! actionClassInstanceChildrenXml->empty()) {
            for (TConstIterator<CXmlElement::CElementCollection> actionClassInstanceXmlIter(*actionClassInstanceChildrenXml);
            actionClassInstanceXmlIter; actionClassInstanceXmlIter++) {
                const SmartPtrCXmlElement actionClassInstanceXml = actionClassInstanceXmlIter->second;
                const SmartPtrCActionClassInstanceDoc actionClassInstanceDoc =
                ActionClassInstanceXml::parse(actionClassInstanceXml);
                actionClassInstanceVal.push_back(actionClassInstanceDoc);
            }
        }

        actionClassInstanceCollectionDoc.CreateInstance();
        actionClassInstanceCollectionDoc->initialize(
            actionClassInstanceVal);
    }
    CAF_CM_EXIT;

    return actionClassInstanceCollectionDoc;
}
SmartPtrCInstanceOperationCollectionDoc InstanceOperationCollectionXml::parse(
	const SmartPtrCXmlElement thisXml) {
	CAF_CM_STATIC_FUNC_VALIDATE("InstanceOperationCollectionXml", "parse");

	SmartPtrCInstanceOperationCollectionDoc instanceOperationCollectionDoc;

	CAF_CM_ENTER {
		CAF_CM_VALIDATE_SMARTPTR(thisXml);

		const CXmlElement::SmartPtrCElementCollection instanceOperationChildrenXml =
			thisXml->findRequiredChildren("instanceOperation");

		std::deque<SmartPtrCInstanceOperationDoc> instanceOperationVal;
		if (! instanceOperationChildrenXml.IsNull() && ! instanceOperationChildrenXml->empty()) {
			for (TConstIterator<CXmlElement::CElementCollection> instanceOperationXmlIter(*instanceOperationChildrenXml);
				instanceOperationXmlIter; instanceOperationXmlIter++) {
				const SmartPtrCXmlElement instanceOperationXml = instanceOperationXmlIter->second;
				const SmartPtrCInstanceOperationDoc instanceOperationDoc =
					InstanceOperationXml::parse(instanceOperationXml);
				instanceOperationVal.push_back(instanceOperationDoc);
			}
		}

		instanceOperationCollectionDoc.CreateInstance();
		instanceOperationCollectionDoc->initialize(
			instanceOperationVal);
	}
	CAF_CM_EXIT;

	return instanceOperationCollectionDoc;
}
SmartPtrCAttachmentNameCollectionDoc AttachmentNameCollectionXml::parse(
	const SmartPtrCXmlElement thisXml) {
	CAF_CM_STATIC_FUNC_VALIDATE("AttachmentNameCollectionXml", "parse");

	SmartPtrCAttachmentNameCollectionDoc attachmentNameCollectionDoc;

	CAF_CM_ENTER {
		CAF_CM_VALIDATE_SMARTPTR(thisXml);

		const CXmlElement::SmartPtrCElementCollection nameChildrenXml =
			thisXml->findRequiredChildren("attachmentName");

		std::deque<std::string> nameVal;
		if (! nameChildrenXml.IsNull() && ! nameChildrenXml->empty()) {
			for (TConstIterator<CXmlElement::CElementCollection> nameXmlIter(*nameChildrenXml);
				nameXmlIter; nameXmlIter++) {
				const SmartPtrCXmlElement nameXml = nameXmlIter->second;
				const std::string name = nameXml->findRequiredAttribute("name");
				nameVal.push_back(name);
			}
		}

		attachmentNameCollectionDoc.CreateInstance();
		attachmentNameCollectionDoc->initialize(
			nameVal);
	}
	CAF_CM_EXIT;

	return attachmentNameCollectionDoc;
}
SmartPtrCMgmtCollectInstancesCollectionDoc MgmtCollectInstancesCollectionXml::parse(
	const SmartPtrCXmlElement thisXml) {
	CAF_CM_STATIC_FUNC_VALIDATE("MgmtCollectInstancesCollectionXml", "parse");

	SmartPtrCMgmtCollectInstancesCollectionDoc mgmtCollectInstancesCollectionDoc;

	CAF_CM_ENTER {
		CAF_CM_VALIDATE_SMARTPTR(thisXml);

		const CXmlElement::SmartPtrCElementCollection collectInstancesChildrenXml =
			thisXml->findRequiredChildren("collectInstances");

		std::deque<SmartPtrCMgmtCollectInstancesDoc> collectInstancesVal;
		if (! collectInstancesChildrenXml.IsNull() && ! collectInstancesChildrenXml->empty()) {
			for (TConstIterator<CXmlElement::CElementCollection> collectInstancesXmlIter(*collectInstancesChildrenXml);
				collectInstancesXmlIter; collectInstancesXmlIter++) {
				const SmartPtrCXmlElement collectInstancesXml = collectInstancesXmlIter->second;
				const SmartPtrCMgmtCollectInstancesDoc collectInstancesDoc =
					MgmtCollectInstancesXml::parse(collectInstancesXml);
				collectInstancesVal.push_back(collectInstancesDoc);
			}
		}

		mgmtCollectInstancesCollectionDoc.CreateInstance();
		mgmtCollectInstancesCollectionDoc->initialize(
			collectInstancesVal);
	}
	CAF_CM_EXIT;

	return mgmtCollectInstancesCollectionDoc;
}
SmartPtrCInstallProviderSpecDoc InstallProviderSpecXml::parse(
	const SmartPtrCXmlElement thisXml) {
	CAF_CM_STATIC_FUNC_VALIDATE("InstallProviderSpecXml", "parse");

	SmartPtrCInstallProviderSpecDoc installProviderSpecDoc;

	CAF_CM_ENTER {
		CAF_CM_VALIDATE_SMARTPTR(thisXml);

		const std::string clientIdStrVal =
			thisXml->findRequiredAttribute("clientId");
		UUID clientIdVal = CAFCOMMON_GUID_NULL;
		if (! clientIdStrVal.empty()) {
			BasePlatform::UuidFromString(clientIdStrVal.c_str(), clientIdVal);
		}

		const std::string providerNamespaceStrVal =
			thisXml->findRequiredAttribute("providerNamespace");
		const std::string providerNamespaceVal = providerNamespaceStrVal;

		const std::string providerNameStrVal =
			thisXml->findRequiredAttribute("providerName");
		const std::string providerNameVal = providerNameStrVal;

		const std::string providerVersionStrVal =
			thisXml->findRequiredAttribute("providerVersion");
		const std::string providerVersionVal = providerVersionStrVal;

		const CXmlElement::SmartPtrCElementCollection packageValChildrenXml =
			thisXml->findRequiredChildren("package");

		std::deque<SmartPtrCMinPackageElemDoc> packageValVal;
		if (! packageValChildrenXml.IsNull() && ! packageValChildrenXml->empty()) {
			for (TConstIterator<CXmlElement::CElementCollection> packageValXmlIter(*packageValChildrenXml);
				packageValXmlIter; packageValXmlIter++) {
				const SmartPtrCXmlElement packageValXml = packageValXmlIter->second;
				const SmartPtrCMinPackageElemDoc packageValDoc =
					MinPackageElemXml::parse(packageValXml);
				packageValVal.push_back(packageValDoc);
			}
		}

		installProviderSpecDoc.CreateInstance();
		installProviderSpecDoc->initialize(
			clientIdVal,
			providerNamespaceVal,
			providerNameVal,
			providerVersionVal,
			packageValVal);
	}
	CAF_CM_EXIT;

	return installProviderSpecDoc;
}
Ejemplo n.º 7
0
SmartPtrCPropertyDoc PropertyXml::parse(
	const SmartPtrCXmlElement thisXml) {
	CAF_CM_STATIC_FUNC_VALIDATE("PropertyXml", "parse");

	SmartPtrCPropertyDoc propertyDoc;

	CAF_CM_ENTER {
		CAF_CM_VALIDATE_SMARTPTR(thisXml);

		const std::string nameStrVal =
			thisXml->findRequiredAttribute("name");
		const std::string nameVal = nameStrVal;

		const std::string typeStrVal =
			thisXml->findRequiredAttribute("type");
		PROPERTY_TYPE typeVal = PROPERTY_NONE;
		if (! typeStrVal.empty()) {
			typeVal = EnumConvertersXml::convertStringToPropertyType(typeStrVal);
		}

		const CXmlElement::SmartPtrCElementCollection valueChildrenXml =
			thisXml->findRequiredChildren("value");

		std::deque<std::string> valueVal;
		if (! valueChildrenXml.IsNull() && ! valueChildrenXml->empty()) {
			for (TConstIterator<CXmlElement::CElementCollection> valueXmlIter(*valueChildrenXml);
				valueXmlIter; valueXmlIter++) {
				const SmartPtrCXmlElement valueXml = valueXmlIter->second;
				const std::string valueDoc = valueXml->getValue();
				valueVal.push_back(valueDoc);
			}
		}

		propertyDoc.CreateInstance();
		propertyDoc->initialize(
			nameVal,
			typeVal,
			valueVal);
	}
	CAF_CM_EXIT;

	return propertyDoc;
}
SmartPtrCLogicalRelationshipDoc LogicalRelationshipXml::parse(
	const SmartPtrCXmlElement thisXml) {
	CAF_CM_STATIC_FUNC_VALIDATE("LogicalRelationshipXml", "parse");

	SmartPtrCLogicalRelationshipDoc logicalRelationshipDoc;

	CAF_CM_ENTER {
		CAF_CM_VALIDATE_SMARTPTR(thisXml);

		const std::string namespaceValStrVal =
			thisXml->findRequiredAttribute("namespace");
		const std::string namespaceValVal = namespaceValStrVal;

		const std::string nameStrVal =
			thisXml->findRequiredAttribute("name");
		const std::string nameVal = nameStrVal;

		const std::string versionStrVal =
			thisXml->findRequiredAttribute("version");
		const std::string versionVal = versionStrVal;

		const std::string arityStrVal =
			thisXml->findRequiredAttribute("arity");
		ARITY_TYPE arityVal = ARITY_NONE;
		if (! arityStrVal.empty()) {
			arityVal = EnumConvertersXml::convertStringToArityType(arityStrVal);
		}

		const SmartPtrCXmlElement dataClassLeftXml =
			thisXml->findRequiredChild("dataClassLeft");

		SmartPtrCClassCardinalityDoc dataClassLeftVal;
		if (! dataClassLeftXml.IsNull()) {
			dataClassLeftVal = ClassCardinalityXml::parse(dataClassLeftXml);
		}

		const SmartPtrCXmlElement dataClassRightXml =
			thisXml->findRequiredChild("dataClassRight");

		SmartPtrCClassCardinalityDoc dataClassRightVal;
		if (! dataClassRightXml.IsNull()) {
			dataClassRightVal = ClassCardinalityXml::parse(dataClassRightXml);
		}

		const CXmlElement::SmartPtrCElementCollection joinChildrenXml =
			thisXml->findRequiredChildren("join");

		std::deque<SmartPtrCJoinTypeDoc> joinVal;
		if (! joinChildrenXml.IsNull() && ! joinChildrenXml->empty()) {
			for (TConstIterator<CXmlElement::CElementCollection> joinXmlIter(*joinChildrenXml);
				joinXmlIter; joinXmlIter++) {
				const SmartPtrCXmlElement joinXml = joinXmlIter->second;
				const SmartPtrCJoinTypeDoc joinDoc =
					JoinTypeXml::parse(joinXml);
				joinVal.push_back(joinDoc);
			}
		}

		const std::string descriptionStrVal =
			thisXml->findOptionalAttribute("description");
		const std::string descriptionVal = descriptionStrVal;

		logicalRelationshipDoc.CreateInstance();
		logicalRelationshipDoc->initialize(
			namespaceValVal,
			nameVal,
			versionVal,
			arityVal,
			dataClassLeftVal,
			dataClassRightVal,
			joinVal,
			descriptionVal);
	}
	CAF_CM_EXIT;

	return logicalRelationshipDoc;
}