Package org.apache.deltaspike.core.api.config.view.metadata

Examples of org.apache.deltaspike.core.api.config.view.metadata.ConfigDescriptor


            return;
        }

        this.checkedViewIds.add(viewId);

        ConfigDescriptor configDescriptor = this.viewConfigResolver.getViewConfigDescriptor(viewId);

        //topmost nodes get checked first
        Stack<ConfigDescriptor> configDescriptorStack = new Stack<ConfigDescriptor>();

        if (configDescriptor != null)
        {
            configDescriptorStack.push(configDescriptor);
        }

        List<String> parentPathList = new ArrayList<String>();
        createPathList(viewId, parentPathList);

        ConfigDescriptor pathDescriptor;
        for (String path : parentPathList)
        {
            pathDescriptor = this.viewConfigResolver.getConfigDescriptor(path);

            if (pathDescriptor != null)
View Full Code Here


            //e.g. @View is optional for users, but required from other parts of DeltaSpike -> ensure that it's in place
            addOptionalMetaDataToConfig(currentNode);

            currentNode.getInheritedMetaData().addAll(inheritanceStrategy.resolveInheritedMetaData(currentNode));
            ConfigDescriptor currentConfigDescriptor = configNodeConverter.convert(currentNode);

            for (ConfigDescriptorValidator validator : configDescriptorValidators)
            {
                if (!validator.isValid(currentConfigDescriptor))
                {
                    throw new IllegalStateException(currentConfigDescriptor.getConfigClass().getName() + " is invalid");
                }
            }

            if (currentConfigDescriptor instanceof ViewConfigDescriptor)
            {
                ViewConfigDescriptor currentViewConfigDescriptor = (ViewConfigDescriptor) currentConfigDescriptor;

                if (foundViewIds.containsKey(currentViewConfigDescriptor.getViewId()))
                {
                    throw new IllegalStateException(currentViewConfigDescriptor.getViewId() + " is configured twice. " +
                        "That isn't allowed - see: " + currentConfigDescriptor.getConfigClass().getName() + " and " +
                        foundViewIds.get(currentViewConfigDescriptor.getViewId()).getName());
                }
                else
                {
                    foundViewIds.put(
                        currentViewConfigDescriptor.getViewId(), currentViewConfigDescriptor.getConfigClass());
                }

                if (this.defaultErrorView == null)
                {
                    if (DefaultErrorView.class.isAssignableFrom(currentViewConfigDescriptor.getConfigClass()))
                    {
                        this.defaultErrorView = currentViewConfigDescriptor;
                    }
                }
                else if (DefaultErrorView.class.isAssignableFrom(currentViewConfigDescriptor.getConfigClass()))
                {
                    throw new IllegalStateException("It isn't allowed to configure multiple default-error-views. " +
                        "Found default-error-views: " + this.defaultErrorView.getConfigClass() + " and " +
                        currentViewConfigDescriptor.getConfigClass().getName());
                }

                if (!viewConfigs.containsKey(currentViewConfigDescriptor.getConfigClass()))
                {
                    viewConfigs.put(currentViewConfigDescriptor.getConfigClass(), currentViewConfigDescriptor);
                }
            }
            else
            {
                if (!folderConfigs.containsKey(currentConfigDescriptor.getConfigClass()))
                {
                    folderConfigs.put(currentConfigDescriptor.getConfigClass(), currentConfigDescriptor);
                }
            }

            nodesToConvert.addAll(currentNode.getChildren());
        }
View Full Code Here

        if (path == null)
        {
            return null;
        }

        ConfigDescriptor result = this.folderPathToViewDefinitionEntryMapping.get(path);

        if (result == null)
        {
            result = getViewConfigDescriptor(path); //TODO re-visit it
        }
View Full Code Here

    }

    @Override
    public ConfigDescriptor<?> getConfigDescriptor(Class configClass)
    {
        ConfigDescriptor result = null;
        if (ViewConfig.class.isAssignableFrom(configClass))
        {
            result = getViewConfigDescriptor(configClass);
        }
View Full Code Here

        this.viewConfigExtension.addPageDefinition(Pages.Index.class);
        this.viewConfigExtension.addPageDefinition(Pages.Home.class);
        this.viewConfigExtension.addPageDefinition(Pages.Admin.Index.class);

        ViewConfigResolver viewConfigResolver = this.viewConfigResolverProducer.createViewConfigResolver();
        ConfigDescriptor configDescriptor = viewConfigResolver.getConfigDescriptor(Pages.class);

        Assert.assertNotNull(configDescriptor);
        Assert.assertNotNull(configDescriptor.getConfigClass());
        Assert.assertEquals(Pages.class, configDescriptor.getConfigClass());

        Assert.assertNotNull(configDescriptor.getMetaData());
        Assert.assertEquals(1, configDescriptor.getMetaData().size());
        Assert.assertEquals("/pages/", ((Folder)configDescriptor.getMetaData().iterator().next()).name());


        configDescriptor = viewConfigResolver.getConfigDescriptor(Pages.Admin.class);

        Assert.assertNotNull(configDescriptor);
        Assert.assertNotNull(configDescriptor.getConfigClass());
        Assert.assertEquals(Pages.Admin.class, configDescriptor.getConfigClass());

        Assert.assertNotNull(configDescriptor.getMetaData());
        Assert.assertEquals(1, configDescriptor.getMetaData().size());
        Assert.assertEquals("/pages/admin/", ((Folder)configDescriptor.getMetaData().iterator().next()).name());


        ViewConfigDescriptor viewConfigDescriptor = viewConfigResolver.getViewConfigDescriptor(Pages.Index.class);

        Assert.assertNotNull(viewConfigDescriptor);
        Assert.assertEquals("/pages/index.xhtml", viewConfigDescriptor.getViewId());
        Assert.assertEquals(Pages.Index.class, viewConfigDescriptor.getConfigClass());

        Assert.assertNotNull(viewConfigDescriptor.getMetaData());
        Assert.assertEquals(1, viewConfigDescriptor.getMetaData().size());
        Assert.assertEquals(View.NavigationMode.FORWARD, ((View) viewConfigDescriptor.getMetaData().iterator().next())
                .navigation());
        Assert.assertEquals(View.ViewParameterMode.EXCLUDE, (viewConfigDescriptor.getMetaData(View.class).iterator()
                .next()).viewParams());
        Assert.assertEquals("index", (viewConfigDescriptor.getMetaData(View.class).iterator().next()).name());
        Assert.assertEquals(View.Extension.XHTML, (viewConfigDescriptor.getMetaData(View.class).iterator().next()).extension());


        viewConfigDescriptor = viewConfigResolver.getViewConfigDescriptor(Pages.Home.class);

        Assert.assertNotNull(viewConfigDescriptor);
        Assert.assertEquals("/pages/home.xhtml", viewConfigDescriptor.getViewId());
        Assert.assertEquals(Pages.Home.class, viewConfigDescriptor.getConfigClass());

        Assert.assertNotNull(viewConfigDescriptor.getMetaData());
        Assert.assertEquals(1, viewConfigDescriptor.getMetaData().size());
        Assert.assertEquals(View.NavigationMode.FORWARD, ((View) viewConfigDescriptor.getMetaData().iterator().next())
                .navigation());
        Assert.assertEquals(View.ViewParameterMode.EXCLUDE, (viewConfigDescriptor.getMetaData(View.class).iterator().next()).viewParams());
        Assert.assertEquals("home", (viewConfigDescriptor.getMetaData(View.class).iterator().next()).name());
        Assert.assertEquals(View.Extension.XHTML, (viewConfigDescriptor.getMetaData(View.class).iterator().next()).extension());


        ConfigDescriptor folderDescriptor = viewConfigResolver.getConfigDescriptor(Pages.Admin.class);

        Assert.assertNotNull(folderDescriptor);
        Assert.assertEquals("/pages/admin/", folderDescriptor.getPath());
        Assert.assertEquals(Pages.Admin.class, folderDescriptor.getConfigClass());

        Assert.assertNotNull(folderDescriptor.getMetaData());
        Assert.assertEquals(1, folderDescriptor.getMetaData().size());
        Assert.assertEquals("/pages/admin/", ((Folder)folderDescriptor.getMetaData().iterator().next()).name());


        viewConfigDescriptor = viewConfigResolver.getViewConfigDescriptor(Pages.Admin.Index.class);

        Assert.assertNotNull(viewConfigDescriptor);
View Full Code Here

        this.viewConfigExtension.addPageDefinition(Pages.Index.class);
        this.viewConfigExtension.addPageDefinition(Pages.Home.class);
        this.viewConfigExtension.addPageDefinition(Pages.Admin.Index.class);

        ViewConfigResolver viewConfigResolver = this.viewConfigResolverProducer.createViewConfigResolver();
        ConfigDescriptor configDescriptor = viewConfigResolver.getConfigDescriptor(Pages.class);

        Assert.assertNotNull(configDescriptor);
        Assert.assertNotNull(configDescriptor.getConfigClass());
        Assert.assertEquals(Pages.class, configDescriptor.getConfigClass());

        Assert.assertNotNull(configDescriptor.getMetaData());
        Assert.assertEquals(1, configDescriptor.getMetaData().size());
        Assert.assertEquals("/pages/", ((Folder)configDescriptor.getMetaData().iterator().next()).name());


        configDescriptor = viewConfigResolver.getConfigDescriptor(Pages.Admin.class);

        Assert.assertNotNull(configDescriptor);
        Assert.assertNotNull(configDescriptor.getConfigClass());
        Assert.assertEquals(Pages.Admin.class, configDescriptor.getConfigClass());

        Assert.assertNotNull(configDescriptor.getMetaData());
        Assert.assertEquals(1, configDescriptor.getMetaData().size());
        Assert.assertEquals("/pages/admin/", ((Folder)configDescriptor.getMetaData().iterator().next()).name());


        ViewConfigDescriptor viewConfigDescriptor = viewConfigResolver.getViewConfigDescriptor(Pages.Index.class);

        Assert.assertNotNull(viewConfigDescriptor);
View Full Code Here

TOP

Related Classes of org.apache.deltaspike.core.api.config.view.metadata.ConfigDescriptor

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.