@Override public XSPReply getQuadExplanation(Quad quad) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.getQuadExplanation(quad); }
@Override public XSPReply sparql(String sparql, List<String> defaultIRIs, List<String> namedIRIs) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.sparql(sparql, defaultIRIs, namedIRIs); }
@Override public XSPReply getRules() { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.getRules(); }
@Override public XSPReply addRule(String content, boolean activate) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.addRule(content, activate); }
@Override public XSPReply getRuleStatus(XOWLRule rule) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.getRuleStatus(rule); }
@Override public XSPReply getEntailmentRegime() { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.getEntailmentRegime(); }
@Override public XSPReply setEntailmentRegime(EntailmentRegime regime) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.setEntailmentRegime(regime); }
@Override public XSPReply removeRule(XOWLRule rule) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.removeRule(rule); }
@Override public XSPReply activateRule(XOWLRule rule) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.activateRule(rule); }
@Override public XSPReply deactivateRule(XOWLRule rule) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.deactivateRule(rule); }
@Override public XSPReply getRule(String name) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.getRule(name); }
@Override public XSPReply upload(String syntax, String content) { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); return connection.upload(syntax, content); }
@Override public XSPReply getArtifacts() { XOWLDatabase connection = getRemote(); if (connection == null) return XSPReplyNetworkError.instance(); StringWriter writer = new StringWriter(); writer.write("DESCRIBE ?a WHERE { GRAPH <"); writer.write(IOUtils.escapeAbsoluteURIW3C(KernelSchema.GRAPH_ARTIFACTS)); writer.write("> { ?a a <"); writer.write(IOUtils.escapeAbsoluteURIW3C(KernelSchema.ARTIFACT)); writer.write("> } }"); XSPReply reply = connection.sparql(writer.toString(), null, null); if (!reply.isSuccess()) return reply; ResultQuads sparqlResult = ((XSPReplyResult<ResultQuads>) reply).getData(); return new XSPReplyResultCollection<>(buildArtifacts(sparqlResult.getQuads())); }
@Override public XSPReply getNeighbourInputsFor(String collaborationId, String specificationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_GET_NEIGHBOUR_INPUTS); if (!reply.isSuccess()) return reply; if (!(securityService.getRealm() instanceof RemotePlatformAccessProvider)) return XSPReplyNetworkError.instance(); RemotePlatformAccess remotePlatform = ((RemotePlatformAccessProvider) securityService.getRealm()).getAccess(securityService.getCurrentUser().getIdentifier()); if (remotePlatform == null) return XSPReplyNetworkError.instance(); return remotePlatform.getCollaborationNeighbourInputs(collaborationId, specificationId); }
@Override public XSPReply spawn(CollaborationSpecification specification) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_NETWORK_SPAWN); if (!reply.isSuccess()) return reply; if (!(securityService.getRealm() instanceof RemotePlatformAccessProvider)) return XSPReplyNetworkError.instance(); RemotePlatformAccess remotePlatform = ((RemotePlatformAccessProvider) securityService.getRealm()).getAccess(securityService.getCurrentUser().getIdentifier()); if (remotePlatform == null) return XSPReplyNetworkError.instance(); return remotePlatform.spawnCollaboration(specification); }
@Override public XSPReply restart(String collaborationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_NETWORK_RESTART); if (!reply.isSuccess()) return reply; if (!(securityService.getRealm() instanceof RemotePlatformAccessProvider)) return XSPReplyNetworkError.instance(); RemotePlatformAccess remotePlatform = ((RemotePlatformAccessProvider) securityService.getRealm()).getAccess(securityService.getCurrentUser().getIdentifier()); if (remotePlatform == null) return XSPReplyNetworkError.instance(); return remotePlatform.restartCollaborationNeighbour(collaborationId); }
@Override public XSPReply getNeighbourManifest(String collaborationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_GET_NEIGHBOUR_MANIFEST); if (!reply.isSuccess()) return reply; if (!(securityService.getRealm() instanceof RemotePlatformAccessProvider)) return XSPReplyNetworkError.instance(); RemotePlatformAccess remotePlatform = ((RemotePlatformAccessProvider) securityService.getRealm()).getAccess(securityService.getCurrentUser().getIdentifier()); if (remotePlatform == null) return XSPReplyNetworkError.instance(); return remotePlatform.getCollaborationNeighbourManifest(collaborationId); }
@Override public XSPReply getNeighbourOutputsFor(String collaborationId, String specificationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_GET_NEIGHBOUR_OUTPUTS); if (!reply.isSuccess()) return reply; if (!(securityService.getRealm() instanceof RemotePlatformAccessProvider)) return XSPReplyNetworkError.instance(); RemotePlatformAccess remotePlatform = ((RemotePlatformAccessProvider) securityService.getRealm()).getAccess(securityService.getCurrentUser().getIdentifier()); if (remotePlatform == null) return XSPReplyNetworkError.instance(); return remotePlatform.getCollaborationNeighbourOutputs(collaborationId, specificationId); }
@Override public XSPReply archive(String collaborationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_NETWORK_ARCHIVE); if (!reply.isSuccess()) return reply; if (!(securityService.getRealm() instanceof RemotePlatformAccessProvider)) return XSPReplyNetworkError.instance(); RemotePlatformAccess remotePlatform = ((RemotePlatformAccessProvider) securityService.getRealm()).getAccess(securityService.getCurrentUser().getIdentifier()); if (remotePlatform == null) return XSPReplyNetworkError.instance(); return remotePlatform.archiveCollaborationNeighbour(collaborationId); }
@Override public XSPReply delete(String collaborationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_NETWORK_DELETE); if (!reply.isSuccess()) return reply; if (!(securityService.getRealm() instanceof RemotePlatformAccessProvider)) return XSPReplyNetworkError.instance(); RemotePlatformAccess remotePlatform = ((RemotePlatformAccessProvider) securityService.getRealm()).getAccess(securityService.getCurrentUser().getIdentifier()); if (remotePlatform == null) return XSPReplyNetworkError.instance(); return remotePlatform.deleteCollaborationNeighbour(collaborationId); } }