/** * * @param r * @param metadata * @param methodParams * @return */ public Resource installService(Resource r, final ExtensionMetadata metadata, final MethodParameters... methodParams) { if (!hasFileBeenModified(r) || ignoreResource(r)) { return null; } final ResourceExtensionsManager extMgr = client.newServerConfigManager().newResourceExtensionsManager(); final String resourceName = getExtensionNameFromFile(r); if (metadata.getTitle() == null) { metadata.setTitle(resourceName + " resource extension"); } logger.info(String.format("Loading %s resource extension from file %s", resourceName, r.getFilename())); StringHandle h = new StringHandle(readAndReplaceTokens(r)); executeTask(() -> extMgr.writeServices(resourceName, h, metadata, methodParams)); updateTimestamp(r); return r; }