void CEclDirectEx::refreshValidClusters() { validClusters.kill(); Owned<IStringIterator> it = getTargetClusters(NULL, NULL); ForEach(*it) { SCMStringBuffer s; IStringVal &val = it->str(s); if (!validClusters.getValue(val.str())) validClusters.setValue(val.str(), true); } }
void updateUsers() { Owned<IStringIterator> clusters = getTargetClusters("RoxieCluster", NULL); ForEach(*clusters) { SCMStringBuffer target; clusters->str(target); Owned<IConstWUClusterInfo> info = getTargetClusterInfo(target.str()); Owned<IUserDescriptor> user = createUserDescriptor(); user->set(info->getLdapUser(), info->getLdapPassword()); roxieUserMap.setValue(target.str(), user); roxieUsers.append(*user.getClear()); } }
CEclDirectSoapBindingEx::CEclDirectSoapBindingEx(IPropertyTree* cfg, const char *binding, const char *process):CEclDirectSoapBinding(cfg, binding, process) { StringBuffer xpath; xpath.appendf("Software/EspProcess[@name='%s']", process); IPropertyTree *procTree = cfg->queryPropTree(xpath.str()); if (!procTree) throw MakeStringException(-1, "EclDirect Configuration Error: unable to find process"); xpath.set("EspBinding[@name='").append(binding).append("']/@port"); int port = procTree->getPropInt(xpath.str()); if (port) { xpath.set("EspBinding[@type='ws_workunitsSoapBinding'][@port='").append(port).append("']"); redirect = procTree->hasProp(xpath.str()); } SCMStringBuffer s; Owned<IStringIterator> it = getTargetClusters(NULL, NULL); ForEach(*it) clusters.append(it->str(s).str()); supportRepository = false; }