@Override public ImportRegistration importService(EndpointDescription endpoint) { Class<?> interfaceClass = (Class<?>) endpoint.getProperties().get("interface"); String baseUrl = endpoint.getId(); RESTImportProxyHandler proxyhandler = new RESTImportProxyHandler(interfaceClass, baseUrl); return proxyhandler.getImportRegistration(context, endpoint); }
@Override public Collection<ExportRegistration> exportService( ServiceReference reference, Map<String, ?> properties) { // Kortom: // - we hebben een implementatie (in reference) van een service // - de interface moeten we wel aangeraken (kan in properties) // - die moeten we toevoegen aan de Restlet server... Object serviceObject = context.getService(reference); Method[] methods = serviceObject.getClass().getMethods(); String id = "" + reference.getProperty("service.id"); servicesByID.put(id, serviceObject); for (int i = 0; i < methods.length; i++) { String URI = "/" + id + "/" + RESTImportProxyHandler.methodToID(methods[i]); methodsByString.put(URI, methods[i]); component.getDefaultHost().attach(URI, RemoteMethod.class); } return null; // Sorry, not supported -Jeroen }