@Override public ConnectorService getConnector(String identifier) { Registration registration = connectorsById.get(identifier); if (registration != null) return registration.service; return Register.getComponent(ConnectorService.class, "id", identifier); }
@Override public Collection<RemoteCollaboration> getNeighbours() { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return Collections.emptyList(); XSPReply reply = securityService.checkAction(ACTION_GET_NEIGHBOURS); if (!reply.isSuccess()) return Collections.emptyList(); return Collections.emptyList(); }
@Override public RemoteCollaboration getNeighbour(String collaborationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return null; XSPReply reply = securityService.checkAction(ACTION_GET_NEIGHBOURS); if (!reply.isSuccess()) return null; return collaborations.get(collaborationId); }
@Override public void doRun() { CollaborationNetworkService networkService = Register.getComponent(CollaborationNetworkService.class); if (networkService == null) { result = XSPReplyServiceUnavailable.instance(); return; } result = networkService.spawn(specification); } }
@Override public RemoteCollaboration getNeighbour(String collaborationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return null; XSPReply reply = securityService.checkAction(ACTION_GET_NEIGHBOURS); if (!reply.isSuccess()) return null; return null; }
@Override public CollaborationStatus getNeighbourStatus(String collaborationId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return CollaborationStatus.Invalid; XSPReply reply = securityService.checkAction(ACTION_GET_NEIGHBOURS); if (!reply.isSuccess()) return CollaborationStatus.Invalid; return CollaborationStatus.Invalid; }
@Override public void onLifecycleStart() { ConfigurationService configurationService = Register.getComponent(ConfigurationService.class); if (configurationService == null) return; Configuration configuration = configurationService.getConfigFor(ConnectionService.class.getCanonicalName()); for (Section section : configuration.getSections()) { resolveConfigConnector(section); } }
@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; return XSPReplyNotFound.instance(); }
@Override public XSPReply deleteUser(String identifier) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return null; PlatformUser currentUser = securityService.getCurrentUser(); return getAccess(currentUser.getIdentifier()).deletePlatformUser(identifier); }
@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; return XSPReplyNotFound.instance(); }
@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; return XSPReplyNotFound.instance(); }
@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; return XSPReplyUnsupported.instance(); }
@Override public XSPReply pullArtifact() { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(actionPull); if (!reply.isSuccess()) return reply; return doPullArtifact(); }
@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; return XSPReplyUnsupported.instance(); }
@Override public XSPReply createUser(String identifier, String name, String key) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return null; PlatformUser currentUser = securityService.getCurrentUser(); return getAccess(currentUser.getIdentifier()).createPlatformUser(identifier, name, key); }
@Override public XSPReply changeUserKey(String identifier, String oldKey, String newKey) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return null; PlatformUser currentUser = securityService.getCurrentUser(); return getAccess(currentUser.getIdentifier()).changePlatformUserPassword(identifier, oldKey, newKey); }
@Override public XSPReply unregisterOutput(String specificationId, String artifactId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_UNREGISTER_OUTPUT); if (!reply.isSuccess()) return reply; manifest.removeOutputArtifact(specificationId, artifactId); return serializeManifest(); }
@Override public XSPReply registerInput(String specificationId, String artifactId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_REGISTER_INPUT); if (!reply.isSuccess()) return reply; manifest.addInputArtifact(specificationId, artifactId); return serializeManifest(); }
@Override public XSPReply getConfiguration() { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(SecurityService.ACTION_GET_POLICY); if (!reply.isSuccess()) return reply; KernelSecurityPolicyConfiguration configuration = resolveConfig(); return new XSPReplyResult<>(configuration.synchronize()); }
@Override public XSPReply removeRole(String roleId) { SecurityService securityService = Register.getComponent(SecurityService.class); if (securityService == null) return XSPReplyServiceUnavailable.instance(); XSPReply reply = securityService.checkAction(ACTION_REMOVE_ROLE); if (!reply.isSuccess()) return reply; if (!manifest.removeRole(roleId)) return XSPReplyNotFound.instance(); return serializeManifest(); }