@Override public void extend(ApplicationExtensionContext context) throws Exception { File initialDir = new File(context.application().directory(), context.resourceId()); ServiceName privateResourceServiceName = Services.adminResource(context.application().id(), context.resourceId()); FileSystemAdminResourceService privateResourceService = new FileSystemAdminResourceService(context.resourceId(), initialDir); context.target().addService(privateResourceServiceName, privateResourceService) .addDependency(Services.VERTX, Vertx.class, privateResourceService.vertxInjector()) .install(); context.mountPrivate(privateResourceServiceName); FilesystemResourceService publicResource = new FilesystemResourceService(context.resourceId()); context.target().addService(Services.resource(context.application().id(), context.resourceId()), publicResource) .addDependency(Services.VERTX, Vertx.class, publicResource.vertxInjector()) .addDependency(privateResourceServiceName, FileSystemAdminResource.class, publicResource.adminResourceInjector()) .install(); context.mountPublic(Services.resource(context.application().id(), context.resourceId())); }