protected Resource getRoot(FileObject actionsDirectory, ResourceResolvers resourceResolver) throws Exception { return Root.get(actionsDirectory, resourceResolver); }
protected Root(FileObject location, ResourceResolver resourceResolver) { setLocation(location); this.resourceResolver = resourceResolver; }
public static Resource get(FileObject location, ResourceResolver resourceResolver) throws Exception { if(!location.exists() || location.getType() != FileType.FOLDER) { throw new FileNotFolderException(location); } Resource root; Class rootClass = resourceResolver.resolve(location, Class.class); if(rootClass != null) { if (Resource.class.isAssignableFrom(rootClass)) { Constructor constructor = rootClass.getConstructor(FileObject.class, ResourceResolver.class); root = (Resource) constructor.newInstance(location, resourceResolver); } else { logger.warn(rootClass + " defined in " + location + " does not extend Root, ignoring"); root = new Root(location, resourceResolver); } } else { root = new Root(location, resourceResolver); } return root; }
public static PortofinoRoot get(FileObject location, ResourceResolver resourceResolver) throws Exception { Resource root = Root.get(location, resourceResolver); if (!(root instanceof PortofinoRoot)) { if(!root.getClass().equals(Root.class)) { logger.warn(root + " defined in " + location + " does not extend PortofinoRoot, ignoring"); } root = new PortofinoRoot(location, resourceResolver); } return (PortofinoRoot) root; }
logger.info("Codebase rootFactory: " + codeBaseRoot.getURL()); logger.info("Root path: " + root.getURL()); DocumentedApiRoot.setRootFactory(() -> Root.get(root, resourceResolver)); String host = System.getProperty("portofino.web.host", "0.0.0.0"); String port = System.getProperty("portofino.web.port", "8090");