All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.jboss.as.console.client.shared.general.validation.AddressValidation Maven / Gradle / Ivy

Go to download

Bundles the core AS7 console as a GWT module. Includes minor customizations to support extensions.

There is a newer version: 0.7.0.Final
Show newest version
package org.jboss.as.console.client.shared.general.validation;

import org.jboss.as.console.client.Console;
import org.jboss.as.console.client.shared.general.model.Interface;

import java.util.Map;
import java.util.Set;

/**
 * Validates the primary address part of an interface declaration.
 *
 * @author Heiko Braun
 * @date 11/15/11
 */
class AddressValidation extends AbstractValidationStep {

    private static final String INET_ADDRESS = "inetAddress";
    private static final String ADDRESS_WILDCARD = "addressWildcard";

    @Override
    public boolean doesApplyTo(Interface entity, Map changedValues) {

        Map clean = clearChangeset(changedValues);

        boolean hasSetValues = isSet(entity.getInetAddress()) || isSet(entity.getAddressWildcard());
        boolean relevantChanges = false;

        Set keys = clean.keySet();
        for(String key : keys)
        {
            if(key.equals(INET_ADDRESS) || key.equals(ADDRESS_WILDCARD))
            {
                relevantChanges = true;
                break;
            }
        }

        return hasSetValues || relevantChanges;
    }

    @Override
    protected DecisionTree buildDecisionTree(Interface entity, Map changedValues) {

        final Map changeset = clearChangeset(changedValues);

        final DecisionTree tree =  new DecisionTree(entity);

        // INET ADDRESS
        tree.createRoot(1,"Is Inet address set?", new Decision() {
            @Override
            public boolean evaluate(Interface entity) {
                return isSet(entity.getInetAddress());
            }
        });
        tree.yes(1, 2, "Anything conflicts with Inet Address?", new Decision() {
            @Override
            public boolean evaluate(Interface entity) {
                Map properties = asProperties(entity);
                properties.remove(INET_ADDRESS);
                return !isEmpty(properties);
            }
        });
        tree.no(1, 3, "Is address wildcard set?", new Decision() {
            @Override
            public boolean evaluate(Interface entity) {
                return isSet(entity.getAddressWildcard());
            }
        });

        tree.yes(2, 4, Console.CONSTANTS.interfaces_err_inetAddress_set(), FAILURE);
        tree.no(2, 5, "Valid Inet address", SUCCESS);


        // ADDRESS WILDCARD
        tree.yes(3, 6, "Anything conflicts with address wildcard?", new Decision() {
            @Override
            public boolean evaluate(Interface entity) {
                Map properties = asProperties(entity);
                properties.remove(ADDRESS_WILDCARD);
                return !isEmpty(properties);
            }
        });
        tree.no(3, 7, Console.CONSTANTS.interfaces_err_wildcard_nor_address_set(), FAILURE);


        tree.yes(6, 8, Console.CONSTANTS.interfaces_err_wildcard_set(), FAILURE);
        tree.no(6, 9, "Valid Address Wildcard", SUCCESS);

        return tree;
    }

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy