package eu.dnetlib.efg.stress.test; import java.util.concurrent.Callable; import javax.xml.ws.wsaddressing.W3CEndpointReference; import eu.dnetlib.data.index.IIndexService; import eu.dnetlib.enabling.resultset.rmi.ResultSetService; import eu.dnetlib.enabling.tools.ServiceResolver; import eu.dnetlib.miscutils.datetime.DateUtils; public class PortalStresser implements Callable { private IIndexService indexService; private ServiceResolver serviceResolver; @Override public Double call() throws Exception { long start = DateUtils.now(); testLookup("__all all and itemtype=video"); testLookup("__all all and itemtype=image"); testLookup("__all all and itemtype=sound"); testLookup("__all all and itemtype=text"); testBrowse("__all all AND itemtype=*&groupby=provider,decade,language,itemtype"); long end = DateUtils.now(); return (end - start)/1000.0; } private void testLookup(String query) { try { W3CEndpointReference epr1 = indexService.indexLookup("all", query, "oai_efg", "index"); ResultSetService provider1 = serviceResolver.getService(ResultSetService.class, epr1); String rsId1 = serviceResolver.getResourceIdentifier(epr1); provider1.getResult(rsId1, 1, 4, "WAITING"); W3CEndpointReference epr2 = indexService.indexLookup("all", query, "oai_efg", "index"); ResultSetService provider2 = serviceResolver.getService(ResultSetService.class, epr2); String rsId2 = serviceResolver.getResourceIdentifier(epr2); provider2.getNumberOfElements(rsId2); //System.out.print("OK "); } catch (Exception e) { //System.out.print("ERR "); } } private void testBrowse(String query) throws Exception { try { W3CEndpointReference epr1 = indexService.getBrowsingStatistics(query, "all", "oai_efg", "index"); ResultSetService provider1 = serviceResolver.getService(ResultSetService.class, epr1); String rsId1 = serviceResolver.getResourceIdentifier(epr1); provider1.getResult(rsId1, 1, 4, "WAITING"); W3CEndpointReference epr2 = indexService.getBrowsingStatistics(query, "all", "oai_efg", "index"); ResultSetService provider2 = serviceResolver.getService(ResultSetService.class, epr2); String rsId2 = serviceResolver.getResourceIdentifier(epr2); provider2.getNumberOfElements(rsId2); //System.out.print("OK "); } catch (Exception e) { //System.out.print("ERR "); } } public void setIndexService(IIndexService indexService) { this.indexService = indexService; } public IIndexService getIndexService() { return indexService; } public void setServiceResolver(ServiceResolver serviceResolver) { this.serviceResolver = serviceResolver; } public ServiceResolver getServiceResolver() { return serviceResolver; } }