def load_module(self, fullname): if sys.modules.has_key(fullname): return sys.modules[fullname] combined = imp.new_module(fullname) fullpath = fullname.replace('.', sep) files = self.__getRegularFiles(fullpath) if files.isEmpty(): files = self.__getPackageFiles(fullpath) combined.__path__ = ['DerivParamImporter'] files = TreeMap(files) for file in files.values(): source = MasterDerivScriptFactory.readLocalizationFile(file) exec source in combined.__dict__ sys.modules[fullname] = combined return combined
def load_module(self, fullname): if fullname in sys.modules: return sys.modules[fullname] combined = imp.new_module(fullname) combined.__loader__ = self fullpath = fullname.replace('.', sep) files = self.__getRegularFiles(fullpath) if files.isEmpty(): files = self.__getPackageFiles(fullpath) combined.__path__ = ['DerivParamImporter'] files = TreeMap(files) for file in list(files.values()): loader = LocalizedModuleLoader(file) localname = str( file.getContext().getLocalizationLevel()) + '-' + fullname localmod = loader.load_module(localname) combined.__dict__.update(localmod.__dict__) sys.modules[fullname] = combined return combined
removeExistingCoreGroupServers() # # remove existing bridged coregroups # print "Removing existing bridged coregroups" removeExistingBridgedCoreGroups() # # remove existing policies in bridged coregroups # print "Removing existing policies in the bridged coregroups" removeExistingPolicies() if (debug == 1): for coregroup in coregroups.values().toArray(): print coregroup.printString() # # match settings for coregroups # defaultCoreGroup = coregroups.get("DefaultCoreGroup") cgpVersion = getCoregroupProtocolVersion(dmgrNodeName) hampVersion = getHAMProtocolVersion(dmgrNodeName) for coregroup in coregroups.values(): if (coregroup.name != defaultCoreGroup.name): print "Creating coregroup '", coregroup.name, "'" duplicateCoreGroup(defaultCoreGroup, coregroup) cprop = convertToList2( AdminConfig.showAttribute(coregroup.configid, "customProperties")) for prop in cprop:
# Scripts are defined in Python modules (helloworld.py, goodbye.py) # specified in grinder.properties: # # script.01=helloworld # script.02=goodbye from net.grinder.script.Grinder import grinder from java.util import TreeMap import Simple # TreeMap is the simplest way to sort a Java map. scripts = TreeMap(grinder.properties.getPropertySubset("script.")) # Ensure modules are initialised in the process thread. for module in scripts.values(): print("import %s" % module) for module in scripts.values(): exec("import %s" % module) def createTestRunner(module): exec("x = %s.TestRunner()" % module) return x class TestRunner: def __init__(self): self.testRunners = [createTestRunner(m) for m in scripts.values()] def __call__(self): for testRunner in self.testRunners: testRunner()
from net.grinder.script.Grinder import grinder from java.util import TreeMap scripts = TreeMap(grinder.properties.getPropertySubset("script")) # Ensure modules are initialised in the process thread. for script in scripts.values(): exec("import %s" % script) # Ensure modules are initialised in the process thread. for script in scripts.values(): exec("import %s" % script) def createTestRunner(script): exec("x = %s.TestRunner()" % script) return x class TestRunner: def __init__(self): tid = grinder.threadNumber if tid % 4 == 2: self.testRunner = createTestRunner(scripts[1]) elif tid % 4 == 3: self.testRunner = createTestRunner(scripts[2]) else: self.testRunner = createTestRunner(scripts[0]) # This method is called for every run. def __call__(self): self.testRunner()
class LookupData: def __activate__(self, context): self.log = context["log"] self.services = context["Services"] self.portalId = context["portalId"] self.formData = context["formData"] request = context["request"] request.setAttribute("Content-Type", "application/json") self.__solrData = self.__getSolrData() self.__results = self.__solrData.getResults() self.sortResultsByCode() baseUrl = context["systemConfig"].getString("", ["urlBase"]) if baseUrl.endswith("/"): baseUrl = baseUrl[:-1] self.__baseUrl = baseUrl def sortResultsByCode(self): tempMap = HashMap() for result in self.__results: uri = String(self.getValue(result, "dc_identifier")) lastIndex = uri.lastIndexOf('/') + 1 code = uri.substring(lastIndex) tempMap.put(code, result) self.resultsByCode = TreeMap(tempMap) def getResultsByCode(self): return self.resultsByCode.values() def getBaseUrl(self): return self.__baseUrl + "/" + self.portalId def getLink(self): return "" def getTotalResults(self): return self.__solrData.getNumFound() def getStartIndex(self): return self.getFormData("startIndex", "0") def getItemsPerPage(self): return self.getFormData("count", "25") def getRole(self): return "request" def getSearchTerms(self): return self.getFormData("searchTerms", "") def getStartPage(self): #index = int(self.getStartIndex()) #perPage = int(self.getItemsPerPage()) return 0 #(index / perPage) def getResults(self): return self.__solrData.getResults() def getValue(self, doc, field): value = doc.getFirst(field) if value: return value.replace('"',"'").replace('\n','').strip() return "" def getValueList(self, doc, field): valueList = doc.getList(field) if valueList.isEmpty(): return [] return ('["%s"]' % '", "'.join(valueList) + "").strip() def __getSolrData(self): level = self.getFormData("level", None) if level: if level=="top": query = 'rdf_type:"http://purl.org/asc/1297.0/2008/seo/SEO2"' else: query = 'skos_broader:"%s"' % level else: prefix = self.getSearchTerms() if prefix != "": terms = prefix.split(" ") if len(terms)>1: termsQuery = " OR %s" ' OR '.join(terms) else: termsQuery = "" queryValue = "%(prefix)s OR %(prefix)s*%(terms)s" % { "prefix": prefix, "terms": termsQuery } query = 'dc_title:(%(qv)s)^2 OR dc_identifier:(%(qv)s)^0.5' % { "qv": queryValue } else: query = "*:*" portal = self.services.portalManager.get(self.portalId) sq = portal.searchQuery if sq not in ["", "*:*"]: query = query + " AND " + portal.searchQuery req = SearchRequest(query) req.setParam("fq", 'item_type:"object"') if portal.query: req.addParam("fq", portal.query) req.setParam("fl", "score") req.setParam("sort", "score desc, f_dc_title asc") req.setParam("start", self.getStartIndex()) req.setParam("rows", self.getItemsPerPage()) try: out = ByteArrayOutputStream() indexer = self.services.getIndexer() indexer.search(req, out) return SolrResult(ByteArrayInputStream(out.toByteArray())) except Exception, e: self.log.error("Failed to lookup '{}': {}", prefix, e.getMessage()) return SolrResult('{}')
# Run test scripts in sequence # # Scripts are defined in Python modules (helloworld.py, goodbye.py) # specified in grinder.properties: # # script1=helloworld # script2=goodbye from net.grinder.script.Grinder import grinder from java.util import TreeMap # TreeMap is the simplest way to sort a Java map. scripts = TreeMap(grinder.properties.getPropertySubset("script")) # Ensure modules are initialised in the process thread. for module in scripts.values(): exec("import %s" % module) def createTestRunner(module): exec("x = %s.TestRunner()" % module) return x class TestRunner: def __init__(self): self.testRunners = [createTestRunner(m) for m in scripts.values()] # This method is called for every run. def __call__(self): for testRunner in self.testRunners: testRunner()
class LookupData: def __activate__(self, context): self.log = context["log"] self.services = context["Services"] self.portalId = context["portalId"] self.formData = context["formData"] request = context["request"] request.setAttribute("Content-Type", "application/json") self.__solrData = self.__getSolrData() self.__results = self.__solrData.getResults() self.sortResultsByCode() baseUrl = context["systemConfig"].getString("", ["urlBase"]) if baseUrl.endswith("/"): baseUrl = baseUrl[:-1] self.__baseUrl = baseUrl def sortResultsByCode(self): tempMap = HashMap() for result in self.__results: uri = String(self.getValue(result, "dc_identifier")) lastIndex = uri.lastIndexOf('/') + 1 code = uri.substring(lastIndex) tempMap.put(code, result) self.resultsByCode = TreeMap(tempMap) def getResultsByCode(self): return self.resultsByCode.values() def getBaseUrl(self): return self.__baseUrl + "/" + self.portalId def getLink(self): return "" def getTotalResults(self): return self.__solrData.getNumFound() def getStartIndex(self): return self.getFormData("startIndex", "0") def getItemsPerPage(self): return self.getFormData("count", "25") def getRole(self): return "request" def getSearchTerms(self): return self.getFormData("searchTerms", "") def getStartPage(self): #index = int(self.getStartIndex()) #perPage = int(self.getItemsPerPage()) return 0 #(index / perPage) def getResults(self): return self.__solrData.getResults() def getValue(self, doc, field): value = doc.getFirst(field) if value: return value.replace('"', "'").replace('\n', '').strip() return "" def getValueList(self, doc, field): valueList = doc.getList(field) if valueList.isEmpty(): return [] return ('["%s"]' % '", "'.join(valueList) + "").strip() def __getSolrData(self): level = self.getFormData("level", None) if level: if level == "top": query = 'rdf_type:"http://purl.org/asc/1297.0/2008/seo/SEO2"' else: query = 'skos_broader:"%s"' % level else: prefix = self.getSearchTerms() if prefix != "": terms = prefix.split(" ") if len(terms) > 1: termsQuery = " OR %s" ' OR '.join(terms) else: termsQuery = "" queryValue = "%(prefix)s OR %(prefix)s*%(terms)s" % { "prefix": prefix, "terms": termsQuery } query = 'dc_title:(%(qv)s)^2 OR dc_identifier:(%(qv)s)^0.5' % { "qv": queryValue } else: query = "*:*" portal = self.services.portalManager.get(self.portalId) sq = portal.searchQuery if sq not in ["", "*:*"]: query = query + " AND " + portal.searchQuery req = SearchRequest(query) req.setParam("fq", 'item_type:"object"') if portal.query: req.addParam("fq", portal.query) req.setParam("fl", "score") req.setParam("sort", "score desc, f_dc_title asc") req.setParam("start", self.getStartIndex()) req.setParam("rows", self.getItemsPerPage()) try: out = ByteArrayOutputStream() indexer = self.services.getIndexer() indexer.search(req, out) return SolrResult(ByteArrayInputStream(out.toByteArray())) except Exception, e: self.log.error("Failed to lookup '{}': {}", prefix, e.getMessage()) return SolrResult('{}')