PageRenderTime 54ms CodeModel.GetById 22ms RepoModel.GetById 0ms app.codeStats 0ms

/jboss-as-7.1.1.Final/web/src/main/java/org/jboss/as/web/WebConnectorDefinition.java

#
Java | 176 lines | 148 code | 20 blank | 8 comment | 2 complexity | cb9f7321a86c2e060fd5145ff33f7cc6 MD5 | raw file
Possible License(s): LGPL-2.1, Apache-2.0
  1. package org.jboss.as.web;
  2. import org.jboss.as.controller.ReloadRequiredWriteAttributeHandler;
  3. import org.jboss.as.controller.SimpleAttributeDefinition;
  4. import org.jboss.as.controller.SimpleAttributeDefinitionBuilder;
  5. import org.jboss.as.controller.SimpleResourceDefinition;
  6. import org.jboss.as.controller.operations.validation.IntRangeValidator;
  7. import org.jboss.as.controller.operations.validation.StringLengthValidator;
  8. import org.jboss.as.controller.registry.AttributeAccess;
  9. import org.jboss.as.controller.registry.ManagementResourceRegistration;
  10. import org.jboss.dmr.ModelNode;
  11. import org.jboss.dmr.ModelType;
  12. /**
  13. * @author Tomaz Cerar
  14. * @created 22.2.12 15:03
  15. */
  16. public class WebConnectorDefinition extends SimpleResourceDefinition {
  17. protected static final WebConnectorDefinition INSTANCE = new WebConnectorDefinition();
  18. protected static final SimpleAttributeDefinition NAME =
  19. new SimpleAttributeDefinitionBuilder(Constants.NAME, ModelType.STRING, true)
  20. .setXmlName(Constants.NAME)
  21. .setAllowNull(true) // todo should be false, but 'add' won't validate then
  22. .setValidator(new StringLengthValidator(1, false))
  23. .build();
  24. protected static final SimpleAttributeDefinition PROTOCOL =
  25. new SimpleAttributeDefinitionBuilder(Constants.PROTOCOL, ModelType.STRING, true)
  26. .setXmlName(Constants.PROTOCOL)
  27. .setAllowNull(false)
  28. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  29. .setValidator(new StringLengthValidator(1, true))
  30. .build();
  31. protected static final SimpleAttributeDefinition SOCKET_BINDING =
  32. new SimpleAttributeDefinitionBuilder(Constants.SOCKET_BINDING, ModelType.STRING, false)
  33. .setXmlName(Constants.SOCKET_BINDING)
  34. .setAllowNull(false)
  35. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  36. .setValidator(new StringLengthValidator(1, false))
  37. .build();
  38. protected static final SimpleAttributeDefinition SCHEME =
  39. new SimpleAttributeDefinitionBuilder(Constants.SCHEME, ModelType.STRING, false)
  40. .setXmlName(Constants.SCHEME)
  41. .setAllowNull(false)
  42. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  43. .setValidator(new StringLengthValidator(1, false))
  44. //.setDefaultValue(new ModelNode("http"))
  45. .build();
  46. protected static final SimpleAttributeDefinition EXECUTOR =
  47. new SimpleAttributeDefinitionBuilder(Constants.EXECUTOR, ModelType.STRING, true)
  48. .setXmlName(Constants.EXECUTOR)
  49. .setAllowNull(true)
  50. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  51. .setValidator(new StringLengthValidator(1, true))
  52. .build();
  53. protected static final SimpleAttributeDefinition ENABLED =
  54. new SimpleAttributeDefinitionBuilder(Constants.ENABLED, ModelType.BOOLEAN, true)
  55. .setXmlName(Constants.ENABLED)
  56. .setAllowNull(true)
  57. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  58. .setDefaultValue(new ModelNode(true))
  59. .build();
  60. protected static final SimpleAttributeDefinition ENABLE_LOOKUPS =
  61. new SimpleAttributeDefinitionBuilder(Constants.ENABLE_LOOKUPS, ModelType.BOOLEAN, true)
  62. .setXmlName(Constants.ENABLE_LOOKUPS)
  63. .setAllowNull(true)
  64. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  65. .setDefaultValue(new ModelNode(false))
  66. .build();
  67. protected static final SimpleAttributeDefinition PROXY_NAME =
  68. new SimpleAttributeDefinitionBuilder(Constants.PROXY_NAME, ModelType.STRING, true)
  69. .setXmlName(Constants.PROXY_NAME)
  70. .setAllowNull(true)
  71. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  72. .setValidator(new StringLengthValidator(1, true))
  73. .build();
  74. protected static final SimpleAttributeDefinition PROXY_PORT =
  75. new SimpleAttributeDefinitionBuilder(Constants.PROXY_PORT, ModelType.INT, true)
  76. .setXmlName(Constants.PROXY_PORT)
  77. .setAllowNull(true)
  78. .setValidator(new IntRangeValidator(1, true))
  79. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  80. .build();
  81. protected static final SimpleAttributeDefinition MAX_POST_SIZE =
  82. new SimpleAttributeDefinitionBuilder(Constants.MAX_POST_SIZE, ModelType.INT, true)
  83. .setXmlName(Constants.MAX_POST_SIZE)
  84. .setValidator(new IntRangeValidator(1024, true))
  85. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  86. .setDefaultValue(new ModelNode(2097152))
  87. .build();
  88. protected static final SimpleAttributeDefinition MAX_SAVE_POST_SIZE =
  89. new SimpleAttributeDefinitionBuilder(Constants.MAX_SAVE_POST_SIZE, ModelType.INT, true)
  90. .setXmlName(Constants.MAX_SAVE_POST_SIZE)
  91. .setValidator(new IntRangeValidator(0, true))
  92. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  93. .setDefaultValue(new ModelNode(4096))
  94. .build();
  95. protected static final SimpleAttributeDefinition SECURE =
  96. new SimpleAttributeDefinitionBuilder(Constants.SECURE, ModelType.BOOLEAN, true)
  97. .setXmlName(Constants.SECURE)
  98. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  99. .setDefaultValue(new ModelNode(false))
  100. .build();
  101. protected static final SimpleAttributeDefinition REDIRECT_PORT =
  102. new SimpleAttributeDefinitionBuilder(Constants.REDIRECT_PORT, ModelType.INT, true)
  103. .setXmlName(Constants.REDIRECT_PORT)
  104. .setValidator(new IntRangeValidator(1, true))
  105. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  106. .setDefaultValue(new ModelNode(8433))
  107. .build();
  108. protected static final SimpleAttributeDefinition MAX_CONNECTIONS =
  109. new SimpleAttributeDefinitionBuilder(Constants.MAX_CONNECTIONS, ModelType.INT, true) //todo why is this string somewhere??
  110. .setXmlName(Constants.MAX_CONNECTIONS)
  111. .setValidator(new IntRangeValidator(1, true))
  112. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  113. //.setDefaultValue(new ModelNode(8433))
  114. .build();
  115. protected static final SimpleAttributeDefinition VIRTUAL_SERVER =
  116. new SimpleAttributeDefinitionBuilder(Constants.VIRTUAL_SERVER, ModelType.STRING, true)
  117. .setXmlName(Constants.VIRTUAL_SERVER)
  118. .setAllowNull(true)
  119. .setFlags(AttributeAccess.Flag.RESTART_ALL_SERVICES)
  120. .setValidator(new StringLengthValidator(1, true))
  121. .build();
  122. protected static final SimpleAttributeDefinition[] CONNECTOR_ATTRIBUTES = {
  123. //NAME, // name is read-only
  124. // IMPORTANT -- keep these in xsd order as this order controls marshalling
  125. PROTOCOL,
  126. SCHEME,
  127. SOCKET_BINDING,
  128. ENABLE_LOOKUPS,
  129. PROXY_NAME,
  130. PROXY_PORT,
  131. REDIRECT_PORT,
  132. SECURE,
  133. MAX_POST_SIZE,
  134. MAX_SAVE_POST_SIZE,
  135. ENABLED,
  136. EXECUTOR,
  137. MAX_CONNECTIONS,
  138. VIRTUAL_SERVER
  139. };
  140. private WebConnectorDefinition() {
  141. super(WebExtension.CONNECTOR_PATH,
  142. WebExtension.getResourceDescriptionResolver(Constants.CONNECTOR),
  143. WebConnectorAdd.INSTANCE,
  144. WebConnectorRemove.INSTANCE);
  145. }
  146. @Override
  147. public void registerAttributes(ManagementResourceRegistration connectors) {
  148. connectors.registerReadOnlyAttribute(NAME, null);
  149. for (SimpleAttributeDefinition def : CONNECTOR_ATTRIBUTES) {
  150. connectors.registerReadWriteAttribute(def, null, new ReloadRequiredWriteAttributeHandler(def));
  151. }
  152. for (final SimpleAttributeDefinition def : WebConnectorMetrics.ATTRIBUTES) {
  153. connectors.registerMetric(def, WebConnectorMetrics.INSTANCE);
  154. }
  155. }
  156. }