public void registerNodePlugin(SiteNodePlugin plugin) { if (plugin == null) { throw new IllegalArgumentException("Argument 'plugin' cannot be null"); } brix.getConfig().getRegistry().register(SiteNodePlugin.POINT, plugin); }
public void registerManageNodeTabFactory(ManageNodeTabFactory factory) { if (factory == null) { throw new IllegalArgumentException("Argument 'factory' cannot be null"); } brix.getConfig().getRegistry().register(ManageNodeTabFactory.POINT, factory); }
public static Collection<Tile> getTiles(Brix brix) { final ExtensionPointRegistry registry = brix.getConfig().getRegistry(); return registry.lookupCollection(Tile.POINT); }
public Collection<SiteNodePlugin> getNodePlugins() { return brix.getConfig().getRegistry().lookupCollection(SiteNodePlugin.POINT); }
private void setupEditor(String cn) { final Brix brix = getModelObject().getBrix(); Collection<MarkupEditorFactory> factories = brix.getConfig().getRegistry() .lookupCollection(MarkupEditorFactory.POINT); for (MarkupEditorFactory factory : factories) { if (factory.getClass().getName().equals(cn)) { contentEditorParent.addOrReplace(factory.newEditor("content", contentEditorModel)); currentEditorFactory = factory.getClass().getName(); return; } } throw new RuntimeException("Unknown markup editor factory class: " + cn); }
public MenuPlugin(Brix brix) { this.brix = brix; brix.getConfig().getRegistry().register(JcrNodeWrapperFactory.POINT, MenusNode.FACTORY); brix.getConfig().getRegistry().register(JcrNodeWrapperFactory.POINT, MenuNode.FACTORY); brix.getConfig().getRegistry().register(Tile.POINT, new SubTreeMenuTile()); brix.getConfig().getRegistry().register(Tile.POINT, new FullTreeMenuTile()); }
private List<IBrixTab> getTabs(IModel<BrixNode> nodeModel) { BrixNode node = nodeModel.getObject(); final Collection<ManageNodeTabFactory> factories; if (node != null) { factories = node.getBrix().getConfig().getRegistry().lookupCollection( ManageNodeTabFactory.POINT); } else { factories = Collections.emptyList(); } if (factories != null && !factories.isEmpty()) { List<IBrixTab> result = new ArrayList<IBrixTab>(); for (ManageNodeTabFactory f : factories) { List<IBrixTab> tabs = f.getManageNodeTabs(nodeModel); if (tabs != null) { result.addAll(tabs); } } return result; } else { return Collections.emptyList(); } }
@Override protected Component newNodeComponent(String id, IModel<Object> model) { JcrTreeNode node = (JcrTreeNode) model.getObject(); BrixNode n = node.getNodeModel().getObject(); Collection<NodeTreeRenderer> renderers = n.getBrix().getConfig().getRegistry().lookupCollection(NodeTreeRenderer.POINT); for (NodeTreeRenderer renderer : renderers) { Component component = renderer.newNodeComponent(id, Tree.this, model); if (component != null) { return component; } } return super.newNodeComponent(id, model); }
private static String getDefaultWorkspaceName() { Brix brix = Brix.get(); final Workspace workspace = brix.getConfig().getMapper().getWorkspaceForRequest(RequestCycle.get(), brix); return (workspace != null) ? workspace.getId() : null; }
private void registerManageNodeTabFactory(SitePlugin sitePlugin) { Collection<ManageNodeTabFactory> factories = sitePlugin.getBrix().getConfig().getRegistry() .lookupCollection(ManageNodeTabFactory.POINT); boolean found = false; for (ManageNodeTabFactory f : factories) { if (f instanceof ManageTileNodeTabFactory) { found = true; break; } } if (!found) { sitePlugin.registerManageNodeTabFactory(new ManageTileNodeTabFactory()); } }
/** * Creates a uri path for the specified <code>node</code> By default this * method uses {@link BrixConfig#getMapper()} to map node path to a uri * path. * * @param node * node to create uri path for * @return uri path that represents the node */ public Path getUriPathForNode(final BrixNode node) { // allow site plugin to translate jcr path into node path final String jcrPath = SitePlugin.get().fromRealWebNodePath(node.getPath()); final Path nodePath = new Path(jcrPath); // use urimapper to create the uri return brix.getConfig().getMapper().getUriPathForNode(nodePath, brix); }
/** * Creates a uri path for the specified <code>node</code> By default this * method uses {@link BrixConfig#getMapper()} to map node path to a uri * path. * * @param node * node to create uri path for * @return uri path that represents the node */ public Path getUriPathForNode(final BrixNode node) { // allow site plugin to translate jcr path into node path final String jcrPath = SitePlugin.get().fromRealWebNodePath(node.getPath()); final Path nodePath = new Path(jcrPath); // use urimapper to create the uri return brix.getConfig().getMapper().getUriPathForNode(nodePath, brix); }
public JcrNode wrap(Node node, JcrSession session) { if (node instanceof JcrNode) { return (JcrNode) node; } JcrNode n = new NodeWrapper(node, session); Collection<JcrNodeWrapperFactory> factories = brix.getConfig().getRegistry().lookupCollection( JcrNodeWrapperFactory.POINT); for (JcrNodeWrapperFactory factory : factories) { if (factory.canWrap(brix, n)) { return factory.wrap(brix, node, session); } } if (ResourceNode.FACTORY.canWrap(brix, n)) { return ResourceNode.FACTORY.wrap(brix, node, session); } return new BrixNode(node, session); }
contentEditorParent = form; Collection<MarkupEditorFactory> editorFactories = brix.getConfig().getRegistry() .lookupCollection(MarkupEditorFactory.POINT);
final Path nodePath = brix.getConfig().getMapper().getNodePathForUriPath(uriPath.toAbsolute(), brix);
public SitePlugin(Brix brix) { this.brix = brix; registerNodePlugin(new FolderNodePlugin(this)); registerNodePlugin(new ResourceNodePlugin(this)); registerNodePlugin(new TemplateSiteNodePlugin(this)); registerNodePlugin(new PageSiteNodePlugin(this)); registerManageNodeTabFactory(new ConvertNodeTabFactory()); // register default editor ExtensionPointRegistry registry = brix.getConfig().getRegistry(); registry.register(MarkupEditorFactory.POINT, new SimpleMarkupEditorFactory()); // register node types for tree renderer registry.register(NodeTreeRenderer.POINT, new PageNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new TemplateNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new CssNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new AudioNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new ImageNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new VideoNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new OfficeDocumentNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new OfficeSpreadsheetNodeTreeRenderer()); registry.register(NodeTreeRenderer.POINT, new OfficePresentationNodeTreeRenderer()); }