Package org.togglz.core.manager

Examples of org.togglz.core.manager.FeatureManager


    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        FeatureManager featureManager = FeatureContext.getFeatureManager();

        StringBuilder builder = new StringBuilder();

        for (Feature f : featureManager.getFeatures()) {
            builder.append(f.name() + " = " + featureManager.isActive(f) + "\n");
        }

        resp.getOutputStream().write(builder.toString().getBytes());

    }
View Full Code Here


    private static final long serialVersionUID = 1L;

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

        FeatureManager featureManager = FeatureContext.getFeatureManager();
        FeatureUser user = featureManager.getCurrentFeatureUser();

        StringBuilder builder = new StringBuilder();
        builder.append("USER = " + (user != null ? user.getName() : "null"));
        builder.append("ADMIN = " + (user != null ? user.isFeatureAdmin() : "null"));
View Full Code Here

    private boolean feature2Active;

    @PostConstruct
    public void init() {
        FeatureManager featureManager = FeatureContext.getFeatureManager();
        feature1Active = featureManager.isActive(BasicFeatures.FEATURE1);
        feature2Active = featureManager.isActive(BasicFeatures.FEATURE1);
    }
View Full Code Here

         * Step 1: Try to find TogglzBootstrap implementation
         */
        TogglzBootstrap togglzBootstrap = lookupBean(TogglzBootstrap.class, context);

        if (togglzBootstrap != null) {
            FeatureManager manager = togglzBootstrap.createFeatureManager();
            Validate.notNull(manager, togglzBootstrap.getClass().getName() + " returned null");
            return manager;
        }

        /*
 
View Full Code Here

     *
     * @return The {@link FeatureManager} for the application, never <code>null</code>
     */
    public static synchronized FeatureManager getFeatureManager() {

        FeatureManager manager = getFeatureManagerOrNull();

        if (manager != null) {
            return manager;
        }

View Full Code Here

        // the classloader used for cache lookups
        ClassLoader classLoader = getContextClassLoader();

        // first try to lookup from the cache
        FeatureManager featureManager = cache.get(classLoader);
        if (featureManager != null) {
            return featureManager;
        }

        if (log.isDebugEnabled()) {
            log.debug("No cached FeatureManager for class loader: " + classLoader);
        }

        // build a sorted list of all SPI implementations
        Iterator<FeatureManagerProvider> providerIterator = ServiceLoader.load(FeatureManagerProvider.class).iterator();
        List<FeatureManagerProvider> providerList = new ArrayList<FeatureManagerProvider>();
        while (providerIterator.hasNext()) {
            providerList.add(providerIterator.next());
        }
        Collections.sort(providerList, new Weighted.WeightedComparator());

        if (log.isDebugEnabled()) {
            log.debug("Found " + providerList.size() + " FeatureManagerProvider implementations...");
        }

        // try providers one by one to find a FeatureManager
        for (FeatureManagerProvider provider : providerList) {

            // call the SPI
            featureManager = provider.getFeatureManager();

            if (log.isDebugEnabled()) {
                if (featureManager != null) {
                    log.debug("Provider " + provider.getClass().getName() + " returned FeatureManager: "
                        + featureManager.getName());
                } else {
                    log.debug("No FeatureManager provided by " + provider.getClass().getName());
                }
            }
View Full Code Here

    }

    @Test
    public void testGuiceIntegration() throws IOException {

        FeatureManager featureManager = FeatureContext.getFeatureManagerOrNull();

        assertThat(featureManager).isNotNull();
        assertThat(featureManager.getFeatures())
            .containsExactly(GuiceFeatures.FEATURE1, GuiceFeatures.FEATURE2);

    }
View Full Code Here

    }

    @Override
    public void process(RequestEvent event) throws IOException {

        FeatureManager featureManager = event.getFeatureManager();

        List<ActivationStrategy> strategies = featureManager.getActivationStrategies();

        IndexPageTabView tabView = new IndexPageTabView(strategies);

        for (Feature feature : featureManager.getFeatures()) {
            FeatureMetaData metadata = featureManager.getMetaData(feature);
            FeatureState featureState = featureManager.getFeatureState(feature);
            tabView.add(feature, metadata, featureState);
        }

        Map<String, Object> model = new HashMap<String, Object>();
        model.put("tabView", tabView);
View Full Code Here

    }

    @Test
    public void testGetFeatureStateFromJDBCRepository() throws IOException {

        FeatureManager featureManager = FeatureContext.getFeatureManager();

        assertNotNull(featureManager);
        assertNotNull(dataSource);

        FeatureState stateNoEntry = featureManager.getFeatureState(JDBCFeatures.F1);
        assertEquals(false, stateNoEntry.isEnabled());
        assertEquals(null, stateNoEntry.getStrategyId());
        assertEquals(0, stateNoEntry.getParameterNames().size());

        int inserted = executeUpdate("INSERT INTO MYTABLE " +
            "(FEATURE_NAME, FEATURE_ENABLED, STRATEGY_ID, STRATEGY_PARAMS) " +
            "VALUES ('F1', 1, 'SomeStrategy', 'param=foobar')");
        assertEquals(1, inserted);

        FeatureState stateEnabled = featureManager.getFeatureState(JDBCFeatures.F1);
        assertEquals(true, stateEnabled.isEnabled());
        assertEquals("SomeStrategy", stateEnabled.getStrategyId());
        assertEquals(1, stateEnabled.getParameterNames().size());
        assertEquals("foobar", stateEnabled.getParameter("param"));

        executeUpdate("UPDATE MYTABLE " +
            "SET FEATURE_ENABLED = 0, STRATEGY_ID = NULL, STRATEGY_PARAMS = NULL " +
            "WHERE FEATURE_NAME = 'F1'");

        FeatureState stateDisabled = featureManager.getFeatureState(JDBCFeatures.F1);
        assertEquals(false, stateDisabled.isEnabled());
        assertEquals(null, stateDisabled.getStrategyId());
        assertEquals(0, stateDisabled.getParameterNames().size());

    }
View Full Code Here

    }

    @Test
    public void testSetFeatureStateFromJDBCRepository() throws IOException {

        FeatureManager featureManager = FeatureContext.getFeatureManager();

        assertNotNull(featureManager);
        assertNotNull(dataSource);

        assertEquals(0l, executeQuery("SELECT COUNT(*) FROM MYTABLE WHERE FEATURE_NAME = 'F2'"));

        FeatureState firstState = new FeatureState(JDBCFeatures.F2, true);
        firstState.setStrategyId("someId");
        firstState.setParameter("param", "foo");
        featureManager.setFeatureState(firstState);

        assertEquals(1, executeQuery("SELECT FEATURE_ENABLED FROM MYTABLE WHERE FEATURE_NAME = 'F2'"));
        assertEquals("someId", executeQuery("SELECT STRATEGY_ID FROM MYTABLE WHERE FEATURE_NAME = 'F2'"));
        assertEquals("param=foo", executeQuery("SELECT STRATEGY_PARAMS FROM MYTABLE WHERE FEATURE_NAME = 'F2'"));

        FeatureState secondState = new FeatureState(JDBCFeatures.F2, false);
        secondState.setStrategyId(null);
        featureManager.setFeatureState(secondState);

        assertEquals(0, executeQuery("SELECT FEATURE_ENABLED FROM MYTABLE WHERE FEATURE_NAME = 'F2'"));
        assertEquals(null, executeQuery("SELECT STRATEGY_ID FROM MYTABLE WHERE FEATURE_NAME = 'F2'"));
        assertEquals(null, executeQuery("SELECT STRATEGY_PARAMS FROM MYTABLE WHERE FEATURE_NAME = 'F2'"));

View Full Code Here

TOP

Related Classes of org.togglz.core.manager.FeatureManager

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.