/** * Returns a tree representations of the service output class. * * @return a tree representations of the service output class * @throws IOException * @throws SADIException */ public RestrictionNode getOutputRestrictionTree() throws SADIException, IOException { if (outputRestrictionTree == null) { outputRestrictionTree = SADIUtils.buildOutputRestrictionTree(getService() .getInputClass(), getService().getOutputClass()); } return outputRestrictionTree; }
/** * Returns the SADI service that this activity invokes. * * @return the SADI service that this activity invokes * @throws IOException * @throws SADIException */ public Service getService() throws IOException, SADIException { if (service == null) { service = getRegistry().getService(configurationBean.getServiceURI()); } return service; }
/** * Returns a tree representations of the service input class. * * @return a tree representations of the service input class * @throws IOException * @throws SADIException */ public RestrictionNode getInputRestrictionTree() throws SADIException, IOException { if (inputRestrictionTree == null) { inputRestrictionTree = SADIUtils .buildInputRestrictionTree(getService().getInputClass()); } return inputRestrictionTree; }
@Test public void testGetInputResources4() throws Exception { String serviceURI = "http://sadiframework.org/services/getKEGGIDFromUniProt"; String serviceId = serviceURI + UUID.randomUUID(); Service service = new ServiceImpl(serviceURI); List<String> uniprot = Arrays.asList("P68871", "Q7Z591"); RestrictionNode inputRestrictionTree = SADIUtils.buildInputRestrictionTree(service.getInputClass()); for (List<String> path : SADIUtils.getDefaultRestrictionPaths(inputRestrictionTree)) { RestrictionNode restriction = SADIUtils.getRestriction(inputRestrictionTree, path); restriction.setSelected(); } RestrictionNode firstLeaf = (RestrictionNode) inputRestrictionTree.getFirstLeaf(); firstLeaf.setValues(serviceId, uniprot); Collection<Resource> inputResources = SADIUtils.getInputResources(inputRestrictionTree, serviceId); System.out.println(inputResources); Collection<Triple> outputs = service.invokeService(inputResources); for (Triple triple : outputs) { System.out.println(triple); } }
String serviceURI = "http://sadiframework.org/examples/ermineJgo"; String serviceId = serviceURI + UUID.randomUUID(); Service service = new ServiceImpl(serviceURI); RestrictionNode node = SADIUtils.buildInputRestrictionTree(service.getInputClass()); for (List<String> path : SADIUtils.getDefaultRestrictionPaths(node)) { RestrictionNode restriction = SADIUtils.getRestriction(node, path); Collection<Triple> outputs = service.invokeService(inputResources); for (Triple triple : outputs) { System.out.println(triple); RestrictionNode outputNode = SADIUtils.buildOutputRestrictionTree(service.getInputClass(), service.getOutputClass()); SADIUtils.putOutputResources(outputNode, outputs, inputResources, serviceId); SADIUtils.printTreeValues(serviceId, outputNode);
/** * @param serviceURI * @return */ private VisitReport checkSADIRegistry(SADIActivity activity, String registryURI, String serviceURI) { VisitReport visitReport = null; try { // Registry.getServiceStatus is throwing an OperationNotSupportedException ServiceStatus serviceStatus = activity.getRegistry().getServiceStatus(serviceURI); if (serviceStatus.equals(ServiceStatus.OK)) { visitReport = new VisitReport(HealthCheck.getInstance(), activity, OK_MESSAGE, HealthCheck.NO_PROBLEM, Status.OK); } else if (serviceStatus.equals(ServiceStatus.SLOW)) { visitReport = new VisitReport(HealthCheck.getInstance(), activity, WARNING_MESSAGE, SADI_SERVICE_SLOW, Status.WARNING); visitReport.setProperty(SADI_REGISTRY_URI_PROPERTY, registryURI); visitReport.setProperty(SADI_SERVICE_URI_PROPERTY, serviceURI); } else { visitReport = new VisitReport(HealthCheck.getInstance(), activity, SEVERE_MESSAGE, SADI_SERVICE_DEAD, Status.SEVERE); visitReport.setProperty(SADI_REGISTRY_URI_PROPERTY, registryURI); visitReport.setProperty(SADI_SERVICE_URI_PROPERTY, serviceURI); } } catch (IOException e) { visitReport = new VisitReport(HealthCheck.getInstance(), activity, e.getMessage(), HealthCheck.CONNECTION_PROBLEM, Status.WARNING); visitReport.setProperty("exception", e); } catch (SADIException e) { visitReport = new VisitReport(HealthCheck.getInstance(), activity, e.getMessage(), HealthCheck.CONNECTION_PROBLEM, Status.WARNING); visitReport.setProperty("exception", e); } return visitReport; }
Collection<Triple> outputTriples = service.invokeService(inputResources);
/** * Returns the SADI Registry that has the specified sparql endpoint and * graph name. If the registry doesn't exist it will be created. * * @param sparqlEndpoint * the URL of the registry sparql endpoint * @param graphName * the URL of the registry graph name * @return the SADI Registry that has the specified sparql endpoint and graph name * @throws IOException * it the registry cannot be created */ public static Registry getRegistry(String sparqlEndpoint, String graphName) throws IOException { RegistryDetails rd = new RegistryDetails(sparqlEndpoint, graphName); synchronized (registries) { if (!registries.containsKey(rd)) { Registry registry = new RegistryImpl(QueryExecutorFactory .createVirtuosoSPARQLEndpointQueryExecutor(sparqlEndpoint, graphName)); registries.put(rd, registry); return registry; } return registries.get(rd); } }
@Test public void testGetInputResources2() throws Exception { String serviceURI = "http://sadiframework.org/examples/uniprotInfo"; String serviceId = serviceURI + UUID.randomUUID(); Service service = new ServiceImpl(serviceURI); List<String> uniprot = Arrays.asList("P68871", "Q7Z591"); RestrictionNode inputRestrictionTree = SADIUtils.buildInputRestrictionTree(service.getInputClass()); for (List<String> path : SADIUtils.getDefaultRestrictionPaths(inputRestrictionTree)) { RestrictionNode restriction = SADIUtils.getRestriction(inputRestrictionTree, path); restriction.setSelected(); } RestrictionNode firstLeaf = (RestrictionNode) inputRestrictionTree.getFirstLeaf(); firstLeaf.setValues(serviceId, uniprot); Collection<Resource> inputResources = SADIUtils.getInputResources(inputRestrictionTree, serviceId); Collection<Triple> outputs = service.invokeService(inputResources); for (Triple triple : outputs) { System.out.println(triple); } }
@Test @Ignore(value="service fails") public void testGetInputResources3() throws Exception { String serviceURI = "http://sadiframework.org/services/getMolecularInteractions"; String serviceId = serviceURI + UUID.randomUUID(); Service service = new ServiceImpl(serviceURI); List<String> uniprot = Arrays.asList("P68871", "Q7Z591"); RestrictionNode inputRestrictionTree = SADIUtils.buildInputRestrictionTree(service.getInputClass()); for (List<String> path : SADIUtils.getDefaultRestrictionPaths(inputRestrictionTree)) { RestrictionNode restriction = SADIUtils.getRestriction(inputRestrictionTree, path); restriction.setSelected(); } RestrictionNode firstLeaf = (RestrictionNode) inputRestrictionTree.getFirstLeaf(); firstLeaf.setValues(serviceId, uniprot); Collection<Resource> inputResources = SADIUtils.getInputResources(inputRestrictionTree, serviceId); System.out.println(inputResources); Collection<Triple> outputs = service.invokeService(inputResources); for (Triple triple : outputs) { System.out.println(triple); } }
String serviceURI = "http://sadiframework.org/examples/linear"; String serviceId = serviceURI + UUID.randomUUID(); Service service = new ServiceImpl(serviceURI); List<List<String>> value = listOfLists("3", "5"); RestrictionNode inputRestrictionTree = SADIUtils.buildInputRestrictionTree(service.getInputClass()); Map<String, RestrictionNode> map = new HashMap<String, RestrictionNode>(); RestrictionNode leaf = (RestrictionNode) inputRestrictionTree.getFirstLeaf(); Collection<Triple> outputs = service.invokeService(inputResources); for (Triple triple : outputs) { System.out.println(triple); outputs = service.invokeService(inputResources); for (Triple triple : outputs) { System.out.println(triple);