|
@@ -1314,28 +1314,29 @@ bool CWsDeployFileInfo::saveSetting(IEspContext &context, IEspSaveSettingRequest
|
|
|
StringBuffer ldapXPath;
|
|
|
StringBuffer espBindingXPath;
|
|
|
StringBuffer espProcessXPath;
|
|
|
+ StringBuffer strFilesBasedn;
|
|
|
+
|
|
|
+ if (pszNewValue != NULL && *pszNewValue != 0)
|
|
|
+ {
|
|
|
+ ldapXPath.appendf("./%s/%s[%s=\"%s\"]", XML_TAG_SOFTWARE, XML_TAG_LDAPSERVERPROCESS, XML_ATTR_NAME, pszNewValue);
|
|
|
+ strFilesBasedn.appendf("%s",pActiveEnvRoot->queryPropTree(ldapXPath.str())->queryProp(XML_ATTR_FILESBASEDN));
|
|
|
+ }
|
|
|
|
|
|
- ldapXPath.appendf("./%s/%s[%s=\"%s\"]", XML_TAG_SOFTWARE, XML_TAG_LDAPSERVERPROCESS, XML_ATTR_NAME, pszNewValue);
|
|
|
espBindingXPath.appendf("./%s/%s[%s=\"%s\"]/%s", XML_TAG_SOFTWARE, XML_TAG_ESPPROCESS, XML_ATTR_NAME, pszCompName, XML_TAG_ESPBINDING);
|
|
|
|
|
|
- StringBuffer strFilesBasedn(pActiveEnvRoot->queryPropTree(ldapXPath.str())->queryProp(XML_ATTR_FILESBASEDN));
|
|
|
+ Owned<IPropertyTreeIterator> iterItems = pActiveEnvRoot->getElements(espBindingXPath.str());
|
|
|
|
|
|
- if (strFilesBasedn.length() > 0)
|
|
|
+ ForEach(*iterItems)
|
|
|
{
|
|
|
- Owned<IPropertyTreeIterator> iterItems = pActiveEnvRoot->getElements(espBindingXPath.str());
|
|
|
-
|
|
|
- ForEach(*iterItems)
|
|
|
- {
|
|
|
- IPropertyTree *pItem = &iterItems->query();
|
|
|
- const char* service_name = pItem->queryProp(XML_ATTR_SERVICE);
|
|
|
+ IPropertyTree *pItem = &iterItems->query();
|
|
|
+ const char* service_name = pItem->queryProp(XML_ATTR_SERVICE);
|
|
|
|
|
|
- espProcessXPath.clear().appendf("./%s/%s[%s=\"%s\"]", XML_TAG_SOFTWARE, XML_TAG_ESPSERVICE, XML_ATTR_NAME, service_name);
|
|
|
+ espProcessXPath.clear().appendf("./%s/%s[%s=\"%s\"]", XML_TAG_SOFTWARE, XML_TAG_ESPSERVICE, XML_ATTR_NAME, service_name);
|
|
|
|
|
|
- const char* service_type = pActiveEnvRoot->queryPropTree(espProcessXPath.str())->queryProp(XML_ATTR_BUILDSET);
|
|
|
+ const char* service_type = pActiveEnvRoot->queryPropTree(espProcessXPath.str())->queryProp(XML_ATTR_BUILDSET);
|
|
|
|
|
|
- if (service_type && *service_type && !strcmp(service_type, "espsmc"))
|
|
|
- pActiveEnvRoot->queryPropTree(espProcessXPath.str())->setProp(XML_ATTR_FILESBASEDN, strFilesBasedn);
|
|
|
- }
|
|
|
+ if (service_type && *service_type && !strcmp(service_type, "espsmc"))
|
|
|
+ pActiveEnvRoot->queryPropTree(espProcessXPath.str())->setProp(XML_ATTR_FILESBASEDN, strFilesBasedn);
|
|
|
}
|
|
|
}
|
|
|
|