Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   *
   *  JBoss, Home of Professional Open Source.
   *  Copyright 2013, Red Hat, Inc., and individual contributors
   *  as indicated by the @author tags. See the copyright.txt file in the
   *  distribution for a full listing of individual contributors.
   *
   *  This is free software; you can redistribute it and/or modify it
   *  under the terms of the GNU Lesser General Public License as
  *  published by the Free Software Foundation; either version 2.1 of
  *  the License, or (at your option) any later version.
  *
  *  This software is distributed in the hope that it will be useful,
  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  *  Lesser General Public License for more details.
  *
  *  You should have received a copy of the GNU Lesser General Public
  *  License along with this software; if not, write to the Free
  *  Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  *  02110-1301 USA, or see the FSF site: http://www.fsf.org.
  * /
  */
 
 package org.jboss.as.security;
 
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ADD;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.ALLOWED;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.CODE;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.DESCRIPTION;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.MIN_LENGTH;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.NILLABLE;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.OP_ADDR;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.TYPE;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.VALUE;
 import static org.jboss.as.controller.descriptions.ModelDescriptionConstants.VALUE_TYPE;
 
 import java.util.List;
 
 
In this class there are all legacy attributes and code to enable backward compatibility with them

Author(s):
Tomaz Cerar (c) 2012 Red Hat Inc.
 
 class LegacySupport {
 
     private LegacySupport() {
 
     }

    

Author(s):
Jason T. Greene
 
     public static class JASPIAuthenticationModulesAttributeDefinition extends ListAttributeDefinition {
 
         private static final ParameterValidator validator;
 
 
         static {
             final ParametersValidator delegate = new ParametersValidator();
             delegate.registerValidator(new StringLengthValidator(1));
             delegate.registerValidator(.new EnumValidator<ModuleFlag>(ModuleFlag.classtruefalse));
             delegate.registerValidator(.new StringLengthValidator(1, true));
             delegate.registerValidator(.new ModelTypeValidator(.true));
             delegate.registerValidator(.new StringLengthValidator(1, true));
 
              = new ParametersOfValidator(delegate);
         }
 
            super(..truefalse, 1, .,
                   nullnullnullfalsenew DeprecationData(ModelVersion.create(1, 2)), null, (Booleannull,
                    ..);
        }
        @Override
        protected void addValueTypeDescription(ModelNode nodeResourceBundle bundle) {
            // This method being used indicates a misuse of this class
        }
        @Override
        protected void addAttributeValueTypeDescription(ModelNode nodeResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
        }
        @Override
        protected void addOperationParameterValueTypeDescription(ModelNode nodeString operationNameResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
        }
        @Override
        public void marshallAsElement(ModelNode resourceModelfinal boolean marshalDefaultXMLStreamWriter writerthrows XMLStreamException {
            throw ..unsupportedOperation();
        }
        private ModelNode getNoTextValueTypeDescription(final ModelNode parent) {
            final ModelNode valueType = parent.get();
            final ModelNode code = valueType.get();
            code.get(); // placeholder
            code.get().set(.);
            code.get().set(false);
            code.get().set(1);
            final ModelNode flag = valueType.get(.);
            flag.get();  // placeholder
            flag.get().set(.);
            flag.get().set(true);
            for (ModuleFlag value : ModuleFlag.values()) { flag.get().add(value.toString()); }
            final ModelNode module = valueType.get(.);
            module.get().set(.);
            module.get().set(true);
            final ModelNode moduleOptions = valueType.get(.);
            moduleOptions.get();  // placeholder
            moduleOptions.get().set(.);
            moduleOptions.get().set(.);
            moduleOptions.get().set(true);
            final ModelNode ref = valueType.get(.);
            ref.get(); // placeholder
            ref.get().set(.);
            ref.get().set(true);
            ref.get().set(1);
            return valueType;
        }
    }

    

Author(s):
Jason T. Greene
    public static class LoginModulesAttributeDefinition extends ListAttributeDefinition {
        public static final ParameterValidator validator;
        static {
            final ParametersValidator delegate = new ParametersValidator();
            delegate.registerValidator(new StringLengthValidator(1));
            delegate.registerValidator(.new EnumValidator<ModuleFlag>(ModuleFlag.classfalsefalse));
            delegate.registerValidator(.new StringLengthValidator(1, true));
            delegate.registerValidator(.new ModelTypeValidator(.true));
             = new ParametersOfValidator(delegate);
        }
        public LoginModulesAttributeDefinition(String nameString xmlName) {
            super(namexmlNametruefalse, 1, .nullnullnullfalse,
                    new DeprecationData(ModelVersion.create(1, 2)), null, (Booleannull..);
        }
        @Override
        protected void addValueTypeDescription(ModelNode nodeResourceBundle bundle) {
            // This method being used indicates a misuse of this class
        }
        @Override
        protected void addAttributeValueTypeDescription(ModelNode nodeResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
        }
        @Override
        protected void addOperationParameterValueTypeDescription(ModelNode nodeString operationNameResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
        }
        @Override
        public void marshallAsElement(ModelNode resourceModelfinal boolean marshalDefaultXMLStreamWriter writerthrows XMLStreamException {
            throw ..unsupportedOperation();
        }
        private ModelNode getNoTextValueTypeDescription(final ModelNode parent) {
            final ModelNode valueType = parent.get();
            final ModelNode code = valueType.get();
            code.get(); // placeholder
            code.get().set(.);
            code.get().set(false);
            code.get().set(1);
            final ModelNode flag = valueType.get(.);
            flag.get();  // placeholder
            flag.get().set(.);
            flag.get().set(false);
            for (ModuleFlag value : ModuleFlag.values()) { flag.get().add(value.toString()); }
            final ModelNode module = valueType.get(.);
            module.get().set(.);
            module.get().set(true);
            final ModelNode moduleOptions = valueType.get(.);
            moduleOptions.get();  // placeholder
            moduleOptions.get().set(.);
            moduleOptions.get().set(.);
            moduleOptions.get().set(true);
            return valueType;
        }
    }

    

Author(s):
Jason T. Greene
    public static class MappingModulesAttributeDefinition extends ListAttributeDefinition {
        private static final ParameterValidator validator;
        static {
            final ParametersValidator delegate = new ParametersValidator();
            delegate.registerValidator(new StringLengthValidator(1));
            delegate.registerValidator(.new StringLengthValidator(1));
            delegate.registerValidator(.new StringLengthValidator(1, true));
            delegate.registerValidator(.new ModelTypeValidator(.true));
             = new ParametersOfValidator(delegate);
        }
        public MappingModulesAttributeDefinition() {
            super(..truefalse, 1, .,
                    nullnullnullfalsenew DeprecationData(ModelVersion.create(1, 2)), null, (Booleannull,
                    ..);
        }
        @Override
        protected void addValueTypeDescription(ModelNode nodeResourceBundle bundle) {
            // This method being used indicates a misuse of this class
        }
        @Override
        protected void addAttributeValueTypeDescription(ModelNode nodeResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
        }
        @Override
        protected void addOperationParameterValueTypeDescription(ModelNode nodeString operationNameResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
        }
        @Override
        public void marshallAsElement(ModelNode resourceModelfinal boolean marshalDefaultXMLStreamWriter writerthrows XMLStreamException {
            throw ..unsupportedOperation();
        }
        private ModelNode getNoTextValueTypeDescription(final ModelNode parent) {
            final ModelNode valueType = parent.get();
            final ModelNode code = valueType.get();
            code.get(); // placeholder
            code.get().set(.);
            code.get().set(false);
            code.get().set(1);
            final ModelNode flag = valueType.get(.);
            flag.get();  // placeholder
            flag.get().set(.);
            flag.get().set(false);
            final ModelNode moduleOptions = valueType.get(.);
            moduleOptions.get();  // placeholder
            moduleOptions.get().set(.);
            moduleOptions.get().set(.);
            moduleOptions.get().set(true);
            return valueType;
        }
    }

    

Author(s):
Jason T. Greene
    public static class ProviderModulesAttributeDefinition extends ListAttributeDefinition {
        public static final ParameterValidator validator;
        static {
            final ParametersValidator delegate = new ParametersValidator();
            delegate.registerValidator(new StringLengthValidator(1));
            delegate.registerValidator(.new ModelTypeValidator(.true));
             = new ParametersOfValidator(delegate);
        }
        public ProviderModulesAttributeDefinition(String nameString xmlName) {
            super(namexmlNametruefalse, 1, .nullnullnullfalse,
                    new DeprecationData(ModelVersion.create(1, 2)), null, (Booleannull..);
        }
        @Override
        protected void addValueTypeDescription(ModelNode nodeResourceBundle bundle) {
            // This method being used indicates a misuse of this class
        }
        @Override
        protected void addAttributeValueTypeDescription(ModelNode nodeResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle));
            valueType.get(.).set(resolver.getResourceAttributeValueTypeDescription(getName(), localebundle.));
        }
        @Override
        protected void addOperationParameterValueTypeDescription(ModelNode nodeString operationNameResourceDescriptionResolver resolverLocale localeResourceBundle bundle) {
            final ModelNode valueType = getNoTextValueTypeDescription(node);
            valueType.get().set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle));
            valueType.get(.).set(resolver.getOperationParameterValueTypeDescription(operationNamegetName(), localebundle.));
        }
        @Override
        public void marshallAsElement(ModelNode resourceModelfinal boolean marshalDefaultXMLStreamWriter writerthrows XMLStreamException {
            throw ..unsupportedOperation();
        }
        private ModelNode getNoTextValueTypeDescription(final ModelNode parent) {
            final ModelNode valueType = parent.get();
            final ModelNode code = valueType.get();
            code.get(); // placeholder
            code.get().set(.);
            code.get().set(false);
            code.get().set(1);
            final ModelNode moduleOptions = valueType.get(.);
            moduleOptions.get();  // placeholder
            moduleOptions.get().set(.);
            moduleOptions.get().set(.);
            moduleOptions.get().set(true);
            return valueType;
        }
    }
    /*
     * handlers
     */
    static class LegacyModulesAttributeReader implements OperationStepHandler {
        private String newKeyName;
        LegacyModulesAttributeReader(String newKeyName) {
            this. = newKeyName;
        }
        @Override
        public void execute(OperationContext contextModelNode operationthrows OperationFailedException {
            Resource resource = context.readResource(.);
            ModelNode authModules = Resource.Tools.readModel(resource).get();
            ModelNode result = new ModelNode();
            if (authModules.isDefined()) {
                List<PropertyloginModules = authModules.asPropertyList();
                for (Property p : loginModules) {
                    result.add(p.getValue());
                }
            }
            context.getResult().set(result);
            context.stepCompleted();
        }
    }
    static class LegacyModulesAttributeWriter implements OperationStepHandler {
        private String newKeyName;
        LegacyModulesAttributeWriter(String newKeyName) {
            this. = newKeyName;
        }
        @Override
        public void execute(OperationContext contextModelNode operationthrows OperationFailedException {
            Resource existing = context.readResource(.);
            ModelNode value = operation.get();
            if (value.isDefined()) {
                List<ModelNodemodules = new ArrayList<ModelNode>(value.asList());
                Collections.reverse(modules); //need to reverse it to make sure they are added in proper order
                for (ModelNode module : modules) {
                    ModelNode addModuleOp = module.clone();
                    String code = addModuleOp.get(.).asString();
                    PathElement relativePath = PathElement.pathElement(code);
                    PathAddress address = PathAddress.pathAddress(operation.get()).append(relativePath);
                    addModuleOp.get().set(address.toModelNode());
                    addModuleOp.get().set();
                    context.addStep(new ModelNode(), addModuleOpaddHandler..true);
                }
            }
            //remove on the end to make sure it is executed first
            for (Resource.ResourceEntry entry : existing.getChildren()) {
                PathAddress address = PathAddress.pathAddress(operation.get()).append(entry.getPathElement());
                ModelNode removeModuleOp = Util.createRemoveOperation(address);
                context.addStep(new ModelNode(), removeModuleOpnew SecurityDomainReloadRemoveHandler(), ..true);
            }
            context.stepCompleted();
        }
    }
    static class LegacyModulesConverter implements OperationStepHandler {
        private String newKeyName;
        private ListAttributeDefinition oldAttribute;
        LegacyModulesConverter(String newKeyNameListAttributeDefinition oldAttribute) {
            this. = newKeyName;
            this. = oldAttribute;
        }
        /*public ModelNode convertOperationAddress(ModelNode op){
            PathAddress address = PathAddress.pathAddress(op.get(ModelDescriptionConstants.OP_ADDR));
            op.get(ModelDescriptionConstants.OP_ADDR).set()
        }*/
        @Override
        public void execute(OperationContext contextModelNode operationthrows OperationFailedException {
            Resource existing = context.readResource(.);
            .validateOperation(operation);
            List<ModelNodemodules = new ArrayList<ModelNode>(operation.get(.getName()).asList());
            Collections.reverse(modules); //need to reverse it to make sure they are added in proper order
            for (ModelNode module : modules) {
                ModelNode addModuleOp = module.clone();
                String code = addModuleOp.get(.).asString();
                PathElement relativePath = PathElement.pathElement(code);
                PathAddress address = PathAddress.pathAddress(operation.get()).append(relativePath);
                addModuleOp.get().set(address.toModelNode());
                addModuleOp.get().set();
                context.addStep(new ModelNode(), addModuleOpaddHandler..true);
            }
            //remove on the end to make sure it is executed first
            for (Resource.ResourceEntry entry : existing.getChildren()) {
                PathAddress address = PathAddress.pathAddress(operation.get()).append(entry.getPathElement());
                ModelNode removeModuleOp = Util.createRemoveOperation(address);
                context.addStep(new ModelNode(), removeModuleOpnew SecurityDomainReloadRemoveHandler(), ..true);
            }
            context.stepCompleted();
        }
    }
New to GrepCode? Check out our FAQ X