PageRenderTime 41ms CodeModel.GetById 17ms RepoModel.GetById 0ms app.codeStats 0ms

/jboss-as-7.1.1.Final/domain-management/src/main/java/org/jboss/as/domain/management/security/JaasAuthenticationResourceDefinition.java

#
Java | 65 lines | 31 code | 7 blank | 27 comment | 0 complexity | 15068d4fe2a250e2266d17d8e60ae692 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  1. /*
  2. * JBoss, Home of Professional Open Source.
  3. * Copyright 2012, Red Hat, Inc., and individual contributors
  4. * as indicated by the @author tags. See the copyright.txt file in the
  5. * distribution for a full listing of individual contributors.
  6. *
  7. * This is free software; you can redistribute it and/or modify it
  8. * under the terms of the GNU Lesser General Public License as
  9. * published by the Free Software Foundation; either version 2.1 of
  10. * the License, or (at your option) any later version.
  11. *
  12. * This software is distributed in the hope that it will be useful,
  13. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  15. * Lesser General Public License for more details.
  16. *
  17. * You should have received a copy of the GNU Lesser General Public
  18. * License along with this software; if not, write to the Free
  19. * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
  20. * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
  21. */
  22. package org.jboss.as.domain.management.security;
  23. import org.jboss.as.controller.AttributeDefinition;
  24. import org.jboss.as.controller.PathElement;
  25. import org.jboss.as.controller.ResourceDefinition;
  26. import org.jboss.as.controller.SimpleAttributeDefinition;
  27. import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
  28. import org.jboss.as.controller.SimpleResourceDefinition;
  29. import org.jboss.as.controller.descriptions.ModelDescriptionConstants;
  30. import org.jboss.as.controller.descriptions.common.ManagementDescription;
  31. import org.jboss.as.controller.operations.validation.StringLengthValidator;
  32. import org.jboss.as.controller.registry.AttributeAccess;
  33. import org.jboss.as.controller.registry.ManagementResourceRegistration;
  34. import org.jboss.as.controller.registry.OperationEntry;
  35. import org.jboss.dmr.ModelType;
  36. /**
  37. * {@link ResourceDefinition} for a management security realm's jaas-based authentication resource.
  38. *
  39. * @author Brian Stansberry (c) 2012 Red Hat Inc.
  40. * @author <a href="mailto:darran.lofthouse@jboss.com">Darran Lofthouse</a>
  41. */
  42. public class JaasAuthenticationResourceDefinition extends SimpleResourceDefinition {
  43. public static final SimpleAttributeDefinition NAME = new SimpleAttributeDefinitionBuilder(ModelDescriptionConstants.NAME,
  44. ModelType.STRING, false).setValidator(new StringLengthValidator(1, Integer.MAX_VALUE, false, false))
  45. .setFlags(AttributeAccess.Flag.RESTART_RESOURCE_SERVICES).build();
  46. public static final AttributeDefinition[] ATTRIBUTE_DEFINITIONS = { NAME };
  47. public JaasAuthenticationResourceDefinition() {
  48. super(PathElement.pathElement(ModelDescriptionConstants.AUTHENTICATION, ModelDescriptionConstants.JAAS),
  49. ManagementDescription.getResourceDescriptionResolver("core.management.security-realm.authentication.jaas"),
  50. new SecurityRealmChildAddHandler(true, ATTRIBUTE_DEFINITIONS), new SecurityRealmChildRemoveHandler(true),
  51. OperationEntry.Flag.RESTART_RESOURCE_SERVICES, OperationEntry.Flag.RESTART_RESOURCE_SERVICES);
  52. }
  53. @Override
  54. public void registerAttributes(ManagementResourceRegistration resourceRegistration) {
  55. SecurityRealmChildWriteAttributeHandler handler = new SecurityRealmChildWriteAttributeHandler(ATTRIBUTE_DEFINITIONS);
  56. handler.registerAttributes(resourceRegistration);
  57. }
  58. }